From a427a2a89a03f8d32272504d14cea9da10a8095d Mon Sep 17 00:00:00 2001 From: Olle Johansson Date: Thu, 16 Nov 2006 15:12:30 +0000 Subject: [PATCH] - CANCEL never uses authentication - Add docs on canreinvite git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47734 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_sip.c | 6 +++--- configs/sip.conf.sample | 6 ++++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 933b62cac0..2d380e9f17 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -3422,7 +3422,7 @@ static int sip_hangup(struct ast_channel *ast) /* Do we need a timer here if we don't hear from them at all? */ } else { /* Send a new request: CANCEL */ - transmit_request_with_auth(p, SIP_CANCEL, p->ocseq, XMIT_RELIABLE, FALSE); + transmit_request(p, SIP_CANCEL, p->ocseq, XMIT_RELIABLE, FALSE); /* Actually don't destroy us yet, wait for the 487 on our original INVITE, but do set an autodestruct just in case we never get it. */ needdestroy = 0; @@ -11647,11 +11647,11 @@ static void check_pendings(struct sip_pvt *p) if (ast_test_flag(&p->flags[0], SIP_PENDINGBYE)) { /* if we can't BYE, then this is really a pending CANCEL */ if (!ast_test_flag(&p->flags[0], SIP_CAN_BYE)) - transmit_request_with_auth(p, SIP_CANCEL, p->ocseq, 1, 0); + transmit_request(p, SIP_CANCEL, p->ocseq, XMIT_RELIABLE, FALSE); /* Actually don't destroy us yet, wait for the 487 on our original INVITE, but do set an autodestruct just in case we never get it. */ else - transmit_request_with_auth(p, SIP_BYE, 0, 1, 1); + transmit_request_with_auth(p, SIP_BYE, 0, XMIT_RELIABLE, TRUE); ast_clear_flag(&p->flags[0], SIP_PENDINGBYE); sip_scheddestroy(p, DEFAULT_TRANS_TIMEOUT); } else if (ast_test_flag(&p->flags[0], SIP_NEEDREINVITE)) { diff --git a/configs/sip.conf.sample b/configs/sip.conf.sample index 169941e082..eeb29a18e9 100644 --- a/configs/sip.conf.sample +++ b/configs/sip.conf.sample @@ -266,6 +266,12 @@ srvlookup=yes ; Enable DNS SRV lookups on outbound calls ; route = Assume NAT, don't send rport ; (work around more UNIDEN bugs) +;----------------------------------- MEDIA HANDLING -------------------------------- +; By default, Asterisk tries to re-invite the audio to an optimal path. If there's +; no reason for Asterisk to stay in the media path, the media will be redirected. +; This does not really work with in the case where Asterisk is outside and have +; clients on the inside of a NAT. In that case, you want to set canreinvite=nonat +; ;canreinvite=yes ; Asterisk by default tries to redirect the ; RTP media stream (audio) to go directly from ; the caller to the callee. Some devices do not