aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xchannels/chan_iax2.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c
index 178775a03..162edf06b 100755
--- a/channels/chan_iax2.c
+++ b/channels/chan_iax2.c
@@ -4025,7 +4025,9 @@ retryowner:
fr.callno = make_trunk(fr.callno, 1);
}
/* This might re-enter the IAX code and need the lock */
+ ast_mutex_unlock(&iaxs[fr.callno]);
exists = ast_exists_extension(NULL, iaxs[fr.callno]->context, iaxs[fr.callno]->exten, 1, iaxs[fr.callno]->callerid);
+ ast_mutex_lock(&iaxs[fr.callno]);
if (!strlen(iaxs[fr.callno]->secret) && !strlen(iaxs[fr.callno]->inkeys)) {
if (strcmp(iaxs[fr.callno]->exten, "TBD") && !exists) {
memset(&ied0, 0, sizeof(ied0));