From 950e46f3579a902fbe13d5d602611d650f43dcb1 Mon Sep 17 00:00:00 2001 From: Joshua Colp Date: Wed, 9 Apr 2008 16:53:52 +0000 Subject: [PATCH] Merged revisions 113785 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ................ r113785 | file | 2008-04-09 13:52:04 -0300 (Wed, 09 Apr 2008) | 12 lines Merged revisions 113784 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r113784 | file | 2008-04-09 13:50:45 -0300 (Wed, 09 Apr 2008) | 4 lines If we receive an AUTHREQ from the remote server and we are unable to reply (for example they have a secret configured, but we do not) then queue a hangup frame on the Asterisk channel. This will cause the channel to hangup and a HANGUP to be sent via IAX2 to the remote side which is the proper thing to do in this scenario. (closes issue #12385) Reported by: viraptor ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@113786 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_iax2.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 791a8479e7..4d1e60bf9d 100644 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -8633,9 +8633,13 @@ retryowner2: break; } if (authenticate_reply(iaxs[fr->callno], &iaxs[fr->callno]->addr, &ies, iaxs[fr->callno]->secret, iaxs[fr->callno]->outkey)) { + struct ast_frame hangup_fr = { .frametype = AST_FRAME_CONTROL, + .subclass = AST_CONTROL_HANGUP, + }; ast_log(LOG_WARNING, "I don't know how to authenticate %s to %s\n", ies.username ? ies.username : "", ast_inet_ntoa(iaxs[fr->callno]->addr.sin_addr)); + iax2_queue_frame(fr->callno, &hangup_fr); } if (!iaxs[fr->callno]) { ast_mutex_unlock(&iaxsl[fr->callno]);