diff --git a/channels/chan_zap.c b/channels/chan_zap.c index 84d4b96a3f675c95a9725ed1251b1c6d39abef68..54659903f99231b1b45224326cbad0af2e0eebbc 100644 --- a/channels/chan_zap.c +++ b/channels/chan_zap.c @@ -9140,6 +9140,7 @@ static void ss7_start_call(struct zt_pvt *p, struct zt_ss7 *linkset) ast_mutex_unlock(&linkset->lock); c = zt_new(p, AST_STATE_RING, 1, SUB_REAL, law, 0); + ast_mutex_lock(&linkset->lock); if (!c) { ast_log(LOG_WARNING, "Unable to start PBX on CIC %d\n", p->cic); @@ -9147,8 +9148,6 @@ static void ss7_start_call(struct zt_pvt *p, struct zt_ss7 *linkset) } else ast_verb(3, "Accepting call to '%s' on CIC %d\n", p->exten, p->cic); - ast_mutex_lock(&linkset->lock); - zt_enable_ec(p); if (!ast_strlen_zero(p->charge_number)) {