diff options
author | mogorman <mogorman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-01-20 01:00:46 +0000 |
---|---|---|
committer | mogorman <mogorman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-01-20 01:00:46 +0000 |
commit | 75c0ac587fd8bda904f74e49d637ca1de0774486 (patch) | |
tree | 4c8e0379e60a252d92d5495bf9ded20c4b5a0ab3 | |
parent | 9a2aa663699403c5483d56a8033cc8005101c39b (diff) |
solved problem with delayreject and iax trunking
bug 4291
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@8320 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r-- | channels/chan_iax2.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 8ef502db3..78d00759a 100644 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -4894,6 +4894,8 @@ static int raw_hangup(struct sockaddr_in *sin, unsigned short src, unsigned shor fh.iseqno = 0; fh.type = AST_FRAME_IAX; fh.csub = compress_subclass(IAX_COMMAND_INVAL); + if (iaxdebug) + iax_showframe(NULL, &fh, 0, sin, 0); #if 0 if (option_debug) #endif @@ -6766,6 +6768,10 @@ retryowner: break; if (ies.provverpres && ies.serviceident && sin.sin_addr.s_addr) check_provisioning(&sin, fd, ies.serviceident, ies.provver); + /* If we're in trunk mode, do it now, and update the trunk number in our frame before continuing */ + if (ast_test_flag(iaxs[fr.callno], IAX_TRUNK)) { + fr.callno = make_trunk(fr.callno, 1); + } /* For security, always ack immediately */ if (delayreject) send_command_immediate(iaxs[fr.callno], AST_FRAME_IAX, IAX_COMMAND_ACK, fr.ts, NULL, 0,fr.iseqno); @@ -6776,10 +6782,6 @@ retryowner: ast_log(LOG_NOTICE, "Rejected connect attempt from %s, who was trying to reach '%s@%s'\n", ast_inet_ntoa(iabuf, sizeof(iabuf), sin.sin_addr), iaxs[fr.callno]->exten, iaxs[fr.callno]->context); break; } - /* If we're in trunk mode, do it now, and update the trunk number in our frame before continuing */ - if (ast_test_flag(iaxs[fr.callno], IAX_TRUNK)) { - fr.callno = make_trunk(fr.callno, 1); - } /* This might re-enter the IAX code and need the lock */ if (strcasecmp(iaxs[fr.callno]->exten, "TBD")) { ast_mutex_unlock(&iaxsl[fr.callno]); |