From: Michael L. Young Date: Fri, 25 May 2012 02:27:11 +0000 (+0000) Subject: Fix pvt_sip for inbound call to use peer's allowtransfer setting X-Git-Tag: 1.8.14.0-rc1~3^2~19 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=20b362fa4b12c93bb029d65ae0fc686700276fa2;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/ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@367730 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 4fd83fef5d..d2da90c73c 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -16035,6 +16035,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);