diff options
-rwxr-xr-x | channels/chan_iax2.c | 2 |
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)); |