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.4@113784 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.4
Joshua Colp 17 years ago
parent 784d1b7b3e
commit 800565fff8

@ -7787,9 +7787,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 : "<unknown>", 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]);

Loading…
Cancel
Save