[Home]

Summary:ASTERISK-19856: Transfer is being denied when global allowtransfer=no, ignoring peer setting
Reporter:Jacek (jacek)Labels:
Date Opened:2012-05-09 12:02:42Date Closed:2012-05-24 21:37:52
Priority:MajorRegression?No
Status:Closed/CompleteComponents:Channels/chan_sip/Transfers
Versions:1.8.12.0 10.1.3 Frequency of
Occurrence
Constant
Related
Issues:
is a clone ofASTERISK-17723 Transfer is being declined when global allowtransfer=no regardless of peer settings
Environment:Attachments:( 0) issue-asterisk-19856-branch10-v3.diff
Description:h3. Setup

There are two phones:

phone (192.168.1.1) at extension 500
computer (192.168.1.2) at extension 501
192.168.1.3 is the Asterisk server

At extension 664 there is simple answering machine doing Answer() and MusicOnHold()

h3. Configuration

{code:title=sip.conf}
[general]
context=default
allowtransfer=no
/.../

[phone]
type=friend
defaultuser=phone
/.../
allowtransfer=yes

[computer]
type=friend
defaultuser=computer
/.../
allowtransfer=yes
{code}

{code:title=extensions.conf}
[default]
exten => 500,1,Dial(SIP/phone,,kt)
exten => 500,2,Hangup()
exten => 501,1,Dial(SIP/computer,,kt)
exten => 501,2,Hangup()
exten => 664,1,Answer()
exten => 664,2,MusicOnHold()

/.../
{code}

h3. Description

I establish a connection from phone to computer, then press the "Transfer" key on the phone followed by 664, and as a result, I receive message "Transfer failed" on phone's display. However because each sip account have allowtransfer=yes, the transfer should be possible. Changing allowtransfer=no to allowtransfer=yes in [general] section makes everything work correctly.

h3. Debug messages

{code}
 == Using SIP RTP CoS mark 5
   -- Executing [501@default:1] Dial("SIP/phone-00000009", "SIP/computer,,kt") in new stack
 == Using UDPTL CoS mark 5
 == Using SIP RTP CoS mark 5
   -- Called SIP/computer
   -- SIP/computer-0000000a is ringing
   -- SIP/computer-0000000a answered SIP/phone-00000009
   -- Started music on hold, class 'default', on channel 'SIP/computer-0000000a'
   -- Stopped music on hold on SIP/computer-0000000a
 == Spawn extension (default, 501, 1) exited non-zero on 'SIP/phone-00000009'
{code}

SIP traffic:

{code}
21:29:41.041924 IP 192.168.1.1.sip > 192.168.1.3.sip: SIP, length: 818
E..N4...@.,.
...
........:.`INVITE sip:501@192.168.1.3 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.1:5060;branch=z9hG4bK16665230392008528036;rport
From: "500" <sip:phone@192.168.1.3>;tag=2890829727
To: "501" <sip:501@192.168.1.3>
Call-ID: 17949271169260-143271598918349@192.168.1.1
CSeq: 1 INVITE
Contact: <sip:phone@192.168.1.1:5060>
Max-Forwards: 70
Supported: replaces, join, path
User-Agent:
Allow: INVITE, ACK, OPTIONS, BYE, CANCEL, REFER, NOTIFY, INFO, PRACK, UPDATE, MESSAGE
Content-Type: application/sdp
Content-Length: 286

v=0
o=192.168.1.1 19442218 13860619 IN IP4 192.168.1.1
s=A conversation
c=IN IP4 192.168.1.1
t=0 0
m=audio 10054 RTP/AVP 8 4 18 0 101
a=rtpmap:8 PCMA/8000
a=rtpmap:4 G723/8000
a=rtpmap:18 G729/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendrecv

21:29:41.044012 IP 192.168.1.3.sip > 192.168.1.1.sip: SIP, length: 476
E.......@...
...
...........SIP/2.0 100 Trying
Via: SIP/2.0/UDP 192.168.1.1:5060;branch=z9hG4bK16665230392008528036;received=192.168.1.1;rport=5060
From: "500" <sip:phone@192.168.1.3>;tag=2890829727
To: "501" <sip:501@192.168.1.3>
Call-ID: 17949271169260-143271598918349@192.168.1.1
CSeq: 1 INVITE
Server: MySIPclient
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
Contact: <sip:501@192.168.1.3:5060>
Content-Length: 0


21:29:41.048269 IP 192.168.1.3.sip > 192.168.1.2.32767: UDP, length 877
E...7...@.*W
...
........u..INVITE sip:computer@192.168.1.2:32767 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.3:5060;branch=z9hG4bK4beb7ab1
Max-Forwards: 20
From: "500" <sip:500@192.168.1.3>;tag=as180835de
To: <sip:computer@192.168.1.2:32767>
Contact: <sip:500@192.168.1.3:5060>
Call-ID: 7319def4776a937c33d66f9d40614c07@192.168.1.3
CSeq: 102 INVITE
User-Agent: MySIPclient
Date: Sat, 24 Mar 2012 20:29:41 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
Content-Type: application/sdp
Content-Length: 320

v=0
o=root 1989465496 1989465496 IN IP4 192.168.1.3
s=MySIPclient
c=IN IP4 192.168.1.3
t=0 0
m=audio 5016 RTP/AVP 8 0 111 9 3 101
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:111 G726-32/8000
a=rtpmap:9 G722/8000
a=rtpmap:3 GSM/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=sendrecv

21:29:41.058167 IP 192.168.1.2.32767 > 192.168.1.3.sip: UDP, length 478
E.....@.@.".
...
...........SIP/2.0 180 Ringing
Via: SIP/2.0/UDP 192.168.1.3:5060;received=192.168.1.3;branch=z9hG4bK4beb7ab1
Call-ID: 7319def4776a937c33d66f9d40614c07@192.168.1.3
From: "500" <sip:500@192.168.1.3>;tag=as180835de
To: <sip:computer@192.168.1.2>;tag=5c13c82b-83d4-45f7-8b3d-c9043af3500b
CSeq: 102 INVITE
Contact: <sip:computer@192.168.1.2:32767>
Allow: PRACK, SUBSCRIBE, NOTIFY, REFER, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, REGISTER, OPTIONS, MESSAGE
Content-Length:  0


21:29:41.058920 IP 192.168.1.3.sip > 192.168.1.1.sip: SIP, length: 492
E.......@...
...
...........SIP/2.0 180 Ringing
Via: SIP/2.0/UDP 192.168.1.1:5060;branch=z9hG4bK16665230392008528036;received=192.168.1.1;rport=5060
From: "500" <sip:phone@192.168.1.3>;tag=2890829727
To: "501" <sip:501@192.168.1.3>;tag=as182fc9c2
Call-ID: 17949271169260-143271598918349@192.168.1.1
CSeq: 1 INVITE
Server: MySIPclient
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
Contact: <sip:501@192.168.1.3:5060>
Content-Length: 0


21:29:47.633733 IP 192.168.1.2.32767 > 192.168.1.3.sip: UDP, length 739
E.....@.@.!.
...
.........Q%SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.1.3:5060;received=192.168.1.3;branch=z9hG4bK4beb7ab1
Call-ID: 7319def4776a937c33d66f9d40614c07@192.168.1.3
From: "500" <sip:500@192.168.1.3>;tag=as180835de
To: <sip:computer@192.168.1.2>;tag=5c13c82b-83d4-45f7-8b3d-c9043af3500b
CSeq: 102 INVITE
Allow: PRACK, SUBSCRIBE, NOTIFY, REFER, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, REGISTER, OPTIONS, MESSAGE
Contact: <sip:computer@192.168.1.2:32767>
Supported: replaces, 100rel
Content-Type: application/sdp
Content-Length:   203

v=0
o=192.168.1.2 3541609753 1 IN IP4 192.168.1.2
s=sflphone
c=IN IP4 192.168.1.2
t=0 0
m=audio 61152 RTP/AVP 8
a=rtpmap:8 PCMA/8000
a=sendrecv
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15

21:29:47.634924 IP 192.168.1.3.sip > 192.168.1.2.32767: UDP, length 411
E...7   ..@.,'
...
...........ACK sip:computer@192.168.1.2:32767 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.3:5060;branch=z9hG4bK36ee112f
Max-Forwards: 20
From: "500" <sip:500@192.168.1.3>;tag=as180835de
To: <sip:computer@192.168.1.2:32767>;tag=5c13c82b-83d4-45f7-8b3d-c9043af3500b
Contact: <sip:500@192.168.1.3:5060>
Call-ID: 7319def4776a937c33d66f9d40614c07@192.168.1.3
CSeq: 102 ACK
User-Agent: MySIPclient
Content-Length: 0


21:29:47.636061 IP 192.168.1.3.sip > 192.168.1.1.sip: SIP, length: 762
E.......@...
...
...........SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.1.1:5060;branch=z9hG4bK16665230392008528036;received=192.168.1.1;rport=5060
From: "500" <sip:phone@192.168.1.3>;tag=2890829727
To: "501" <sip:501@192.168.1.3>;tag=as182fc9c2
Call-ID: 17949271169260-143271598918349@192.168.1.1
CSeq: 1 INVITE
Server: MySIPclient
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
Contact: <sip:501@192.168.1.3:5060>
Content-Type: application/sdp
Content-Length: 242

v=0
o=root 1681981238 1681981238 IN IP4 192.168.1.3
s=MySIPclient
c=IN IP4 192.168.1.3
t=0 0
m=audio 5022 RTP/AVP 8 0 101
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=sendrecv

21:29:47.882479 IP 192.168.1.1.sip > 192.168.1.3.sip: SIP, length: 339
E..o4...@...
...
........[..ACK sip:501@192.168.1.3:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.1:5060;branch=z9hG4bK1284093201880717849
From: "500" <sip:phone@192.168.1.3>;tag=2890829727
To: "501" <sip:501@192.168.1.3>;tag=as182fc9c2
Call-ID: 17949271169260-143271598918349@192.168.1.1
CSeq: 1 ACK
Max-Forwards: 70
User-Agent:
Content-Length: 0


21:29:50.404510 IP 192.168.1.1.sip > 192.168.1.3.sip: SIP, length: 829
E..Y5G..@.,C
...
........E.@INVITE sip:501@192.168.1.3:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.1:5060;branch=z9hG4bK2968510016301816748;rport
From: "500" <sip:phone@192.168.1.3>;tag=2890829727
To: "501" <sip:501@192.168.1.3>;tag=as182fc9c2
Call-ID: 17949271169260-143271598918349@192.168.1.1
CSeq: 2 INVITE
Contact: <sip:phone@192.168.1.1:5060>
Max-Forwards: 70
Supported: replaces, join, path
User-Agent:
Allow: INVITE, ACK, OPTIONS, BYE, CANCEL, REFER, NOTIFY, INFO, PRACK, UPDATE, MESSAGE
Content-Type: application/sdp
Content-Length: 284

v=0
o=phone 19442218 1386620 IN IP4 192.168.1.1
s=A conversation
c=IN IP4 0.0.0.0
t=0 0
m=audio 10054 RTP/AVP 8 4 18 0 101
a=rtpmap:8 PCMA/8000
a=rtpmap:4 G723/8000
a=rtpmap:18 G729/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendonly

21:29:50.405327 IP 192.168.1.3.sip > 192.168.1.1.sip: SIP, length: 490
E.......@...
...
...........SIP/2.0 100 Trying
Via: SIP/2.0/UDP 192.168.1.1:5060;branch=z9hG4bK2968510016301816748;received=192.168.1.1;rport=5060
From: "500" <sip:phone@192.168.1.3>;tag=2890829727
To: "501" <sip:501@192.168.1.3>;tag=as182fc9c2
Call-ID: 17949271169260-143271598918349@192.168.1.1
CSeq: 2 INVITE
Server: MySIPclient
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
Contact: <sip:501@192.168.1.3:5060>
Content-Length: 0


21:29:50.405639 IP 192.168.1.3.sip > 192.168.1.1.sip: SIP, length: 761
E.......@...
...
...........SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.1.1:5060;branch=z9hG4bK2968510016301816748;received=192.168.1.1;rport=5060
From: "500" <sip:phone@192.168.1.3>;tag=2890829727
To: "501" <sip:501@192.168.1.3>;tag=as182fc9c2
Call-ID: 17949271169260-143271598918349@192.168.1.1
CSeq: 2 INVITE
Server: MySIPclient
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
Contact: <sip:501@192.168.1.3:5060>
Content-Type: application/sdp
Content-Length: 242

v=0
o=root 1681981238 1681981238 IN IP4 192.168.1.3
s=MySIPclient
c=IN IP4 192.168.1.3
t=0 0
m=audio 5022 RTP/AVP 8 0 101
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=sendrecv

21:29:50.429749 IP 192.168.1.1.sip > 192.168.1.3.sip: SIP, length: 337
E..m5H..@...
...
........Y.[ACK sip:501@192.168.1.3:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.1:5060;branch=z9hG4bK28192257236110061
From: "500" <sip:phone@192.168.1.3>;tag=2890829727
To: "501" <sip:501@192.168.1.3>;tag=as182fc9c2
Call-ID: 17949271169260-143271598918349@192.168.1.1
CSeq: 2 ACK
Max-Forwards: 70
User-Agent:
Content-Length: 0


21:29:52.577121 IP 192.168.1.1.sip > 192.168.1.3.sip: SIP, length: 507
E...5I..@.-.
...
...........REFER sip:501@192.168.1.3:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.1:5060;branch=z9hG4bK24765245871605614501;rport
From: "500" <sip:phone@192.168.1.3>;tag=2890829727
To: "501" <sip:501@192.168.1.3>;tag=as182fc9c2
Call-ID: 17949271169260-143271598918349@192.168.1.1
CSeq: 3 REFER
Contact: <sip:phone@192.168.1.1:5060>
Refer-to: <sip:664@192.168.1.3>
Referred-By: "500" <sip:phone@192.168.1.3>
Max-Forwards: 70
User-Agent:
Event: refer
Content-Length: 0


21:29:52.577526 IP 192.168.1.3.sip > 192.168.1.1.sip: SIP, length: 501
E.......@...
...
...........SIP/2.0 603 Declined (policy)
Via: SIP/2.0/UDP 192.168.1.1:5060;branch=z9hG4bK24765245871605614501;received=192.168.1.1;rport=5060
From: "500" <sip:phone@192.168.1.3>;tag=2890829727
To: "501" <sip:501@192.168.1.3>;tag=as182fc9c2
Call-ID: 17949271169260-143271598918349@192.168.1.1
CSeq: 3 REFER
Server: MySIPclient
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
Contact: <sip:501@192.168.1.3:5060>
Content-Length: 0


21:29:52.597586 IP 192.168.1.1.sip > 192.168.1.3.sip: SIP, length: 830
E..Z5J..@.,?
...
INVITE sip:501@192.168.1.3:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.1:5060;branch=z9hG4bK2621859432824610555;rport
From: "500" <sip:phone@192.168.1.3>;tag=2890829727
To: "501" <sip:501@192.168.1.3>;tag=as182fc9c2
Call-ID: 17949271169260-143271598918349@192.168.1.1
CSeq: 4 INVITE
Contact: <sip:phone@192.168.1.1:5060>
Max-Forwards: 70
Supported: replaces, join, path
User-Agent:
Allow: INVITE, ACK, OPTIONS, BYE, CANCEL, REFER, NOTIFY, INFO, PRACK, UPDATE, MESSAGE
Content-Type: application/sdp
Content-Length: 285

v=0
o=phone 19442218 1386621 IN IP4 192.168.1.1
s=A conversation
c=IN IP4 192.168.1.1
t=0 0
m=audio 10054 RTP/AVP 8 4 18 0 101
a=rtpmap:8 PCMA/8000
a=rtpmap:4 G723/8000
a=rtpmap:18 G729/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendrecv

21:29:52.598141 IP 192.168.1.3.sip > 192.168.1.1.sip: SIP, length: 490
E.......@...
...
...........SIP/2.0 100 Trying
Via: SIP/2.0/UDP 192.168.1.1:5060;branch=z9hG4bK2621859432824610555;received=192.168.1.1;rport=5060
From: "500" <sip:phone@192.168.1.3>;tag=2890829727
To: "501" <sip:501@192.168.1.3>;tag=as182fc9c2
Call-ID: 17949271169260-143271598918349@192.168.1.1
CSeq: 4 INVITE
Server: MySIPclient
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
Contact: <sip:501@192.168.1.3:5060>
Content-Length: 0


21:29:52.598451 IP 192.168.1.3.sip > 192.168.1.1.sip: SIP, length: 761
E.......@...
...
...........SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.1.1:5060;branch=z9hG4bK2621859432824610555;received=192.168.1.1;rport=5060
From: "500" <sip:phone@192.168.1.3>;tag=2890829727
To: "501" <sip:501@192.168.1.3>;tag=as182fc9c2
Call-ID: 17949271169260-143271598918349@192.168.1.1
CSeq: 4 INVITE
Server: MySIPclient
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
Contact: <sip:501@192.168.1.3:5060>
Content-Type: application/sdp
Content-Length: 242

v=0
o=root 1681981238 1681981238 IN IP4 192.168.1.3
s=MySIPclient
c=IN IP4 192.168.1.3
t=0 0
m=audio 5022 RTP/AVP 8 0 101
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=sendrecv

21:29:52.827679 IP 192.168.1.1.sip > 192.168.1.3.sip: SIP, length: 340
E..p5U..@...
...
........\nKACK sip:501@192.168.1.3:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.1:5060;branch=z9hG4bK14937260511268519094
From: "500" <sip:phone@192.168.1.3>;tag=2890829727
To: "501" <sip:501@192.168.1.3>;tag=as182fc9c2
Call-ID: 17949271169260-143271598918349@192.168.1.1
CSeq: 4 ACK
Max-Forwards: 70
User-Agent:
Content-Length: 0


21:29:54.039458 IP 192.168.1.1.sip > 192.168.1.3.sip: SIP, length: 424
E...5...@.-.
...
.........._REGISTER sip:192.168.1.3 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.1:5060;branch=z9hG4bK103002477418921070;rport
From: "500" <sip:phone@192.168.1.3>;tag=1484128807
To: "500" <sip:phone@192.168.1.3>
Call-ID: 23319494530146-161958814395@192.168.1.1
CSeq: 525 REGISTER
Contact: <sip:phone@192.168.1.1:5060>
Max-Forwards: 70
Expires: 60
Supported: path
User-Agent:
Content-Length: 0


21:29:54.040642 IP 192.168.1.3.sip > 192.168.1.1.sip: SIP, length: 572
E..X....@...
...
........D.`SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.1.1:5060;branch=z9hG4bK103002477418921070;received=192.168.1.1;rport=5060
From: "500" <sip:phone@192.168.1.3>;tag=1484128807
To: "500" <sip:phone@192.168.1.3>;tag=as4896ebec
Call-ID: 23319494530146-161958814395@192.168.1.1
CSeq: 525 REGISTER
Server: MySIPclient
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
Expires: 60
Contact: <sip:phone@192.168.1.1:5060>;expires=60
Date: Sat, 24 Mar 2012 20:29:54 GMT
Content-Length: 0


21:29:55.472266 IP 192.168.1.1.sip > 192.168.1.3.sip: SIP, length: 344
E..t5...@.-.
...
........`..BYE sip:501@192.168.1.3:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.1:5060;branch=z9hG4bK181181377157962800;rport
From: "500" <sip:phone@192.168.1.3>;tag=2890829727
To: "501" <sip:501@192.168.1.3>;tag=as182fc9c2
Call-ID: 17949271169260-143271598918349@192.168.1.1
CSeq: 5 BYE
Max-Forwards: 70
User-Agent:
Content-Length: 0


21:29:55.472934 IP 192.168.1.3.sip > 192.168.1.1.sip: SIP, length: 448
E.......@..)
...
...........SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.1.1:5060;branch=z9hG4bK181181377157962800;received=192.168.1.1;rport=5060
From: "500" <sip:phone@192.168.1.3>;tag=2890829727
To: "501" <sip:501@192.168.1.3>;tag=as182fc9c2
Call-ID: 17949271169260-143271598918349@192.168.1.1
CSeq: 5 BYE
Server: MySIPclient
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
Content-Length: 0


21:29:55.473528 IP 192.168.1.3.sip > 192.168.1.2.32767: UDP, length 450
E...7
..@.+.
...
...........BYE sip:computer@192.168.1.2:32767 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.3:5060;branch=z9hG4bK171bc638
Max-Forwards: 20
From: "500" <sip:500@192.168.1.3>;tag=as180835de
To: <sip:computer@192.168.1.2:32767>;tag=5c13c82b-83d4-45f7-8b3d-c9043af3500b
Call-ID: 7319def4776a937c33d66f9d40614c07@192.168.1.3
CSeq: 103 BYE
User-Agent: MySIPclient
X-Asterisk-HangupCause: Normal Clearing
X-Asterisk-HangupCauseCode: 16
Content-Length: 0


21:29:55.474409 IP 192.168.1.2.32767 > 192.168.1.3.sip: UDP, length 322
E..^..@.@.#.
...
........JB.SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.1.3:5060;received=192.168.1.3;branch=z9hG4bK171bc638
Call-ID: 7319def4776a937c33d66f9d40614c07@192.168.1.3
From: "500" <sip:500@192.168.1.3>;tag=as180835de
To: <sip:computer@192.168.1.2>;tag=5c13c82b-83d4-45f7-8b3d-c9043af3500b
CSeq: 103 BYE
Content-Length:  0
{code}
Comments:By: Michael L. Young (elguero) 2012-05-10 16:05:35.526-0500

Give the attached patch a try and let me know if this resolves the issue for you.

Thanks,
Michael

By: Jacek (jacek) 2012-05-11 14:08:25.477-0500

I will test that patch tomorrow. I also have a question regarding it: will the transfer be denied (will altered condition be met) when global allowtransfer is set to yes and local (peer's) to no?

By: Michael L. Young (elguero) 2012-05-11 14:53:13.754-0500

Ah... good question.  Was thinking mainly about the situation being fixed that I failed to think of that scenario.

This patch (issue-asterisk-19856-branch10.diff) should hopefully cover the different scenarios properly.

By: Jacek (jacek) 2012-05-12 06:01:08.802-0500

Patch solves the problem.

Isn't only one condition (p->relatedpeer->allowtransfer == TRANSFER_CLOSED) required? I say from my experience that peer's allowtransfer, if not set, inherits the global value.

By: Michael L. Young (elguero) 2012-05-15 19:12:48.641-0500

Thanks for your patience.  Your comments are valid ones which led me to investigate further into why the allowtransfer setting from the peer was not be used properly before the prior patch.

This patch I am attaching now (issue-asterisk-19856-branch10-v2.diff) should hopefully be the correct fix.  This sets the allowtransfer for the duration of the call based on the peer's allowtransfer setting.

I will post this patch on reviewboard for the other devs to take a look at.