From: Michael L. Young Date: Fri, 25 May 2012 02:29:26 +0000 (+0000) Subject: Fix pvt_sip for inbound call to use peer's allowtransfer setting X-Git-Tag: 10.6.0-rc1~24 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=47dcfeeafc3ca0f27535dc29f101715dc2cc5d77;p=thirdparty%2Fasterisk.git Fix pvt_sip for inbound call to use peer's allowtransfer setting The pvt_sip allowtransfer was not being set to that of the peer's setting. Therefore, the global allowtransfer setting was being used instead which would lead to calls not being transfered if the global setting was set to 'no' despite the setting on the peer being 'yes' and vice versa, calls would be allowed to transfer even if the peer's setting was 'no' but the global setting was 'yes'. (Closes issue ASTERISK-19856) Reported by: Jacek Tested by: Michael L. Young, Jacek Patches: issue-asterisk-19856-branch10-v3.diff uploaded by Michael L. Young (license 5026) Review: https://reviewboard.asterisk.org/r/1923/ ........ Merged revisions 367730 from http://svn.asterisk.org/svn/asterisk/branches/1.8 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@367731 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 2e7cf95983..16c7da0af2 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -16439,6 +16439,8 @@ static enum check_auth_result check_peer_ok(struct sip_pvt *p, char *of, else p->timer_b = 64 * p->timer_t1; + p->allowtransfer = peer->allowtransfer; + if (ast_test_flag(&peer->flags[0], SIP_INSECURE_INVITE)) { /* Pretend there is no required authentication */ ast_string_field_set(p, peersecret, NULL);