]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Fix pvt_sip for inbound call to use peer's allowtransfer setting
authorMichael L. Young <elgueromexicano@gmail.com>
Fri, 25 May 2012 02:27:11 +0000 (02:27 +0000)
committerMichael L. Young <elgueromexicano@gmail.com>
Fri, 25 May 2012 02:27:11 +0000 (02:27 +0000)
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

channels/chan_sip.c

index 4fd83fef5dfa19676e029526ab45069f290b11c3..d2da90c73c3f33e179b8b2aa9dad0e0b37f65361 100644 (file)
@@ -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);