diff --git a/channels/chan_zap.c b/channels/chan_zap.c index c98957e3490c579fafdba160eaf3e70576fd9ba4..0303be13134807674dcd5a169ca122f2d097d955 100755 --- a/channels/chan_zap.c +++ b/channels/chan_zap.c @@ -6965,6 +6965,7 @@ static void *pri_dchannel(void *vpri) } else { chanpos = pri_fixup_principle(pri, chanpos, e->ring.call); if (chanpos > -1) { + ast_mutex_lock(&pri->pvts[x]->lock); /* queue DTMF frame if the PBX for this call was already started (we're forwarding INFORMATION further on */ if (pri->overlapdial && pri->pvts[chanpos]->call==e->ring.call && pri->pvts[chanpos]->owner) { /* how to do that */ @@ -6979,6 +6980,7 @@ static void *pri_dchannel(void *vpri) } } } + ast_mutex_unlock(&pri->pvts[x]->lock); } } break;