Asterisk terminating outbound call when picked up, sends 'BYE' message
- by vo
I'm running Asterisk 1.6.1.10 / FreePBX 2.5.2.2 and I've got an outbound trunk setup. Everything use to work fine until recently (perhaps due to upgrade to FC12 or other things I'm not sure).
Anyway the setup does not appear to have issues registering and setting up the call, RTP packets go both ways and you can hear the ringing from the other side. However it appears that when the call is picked up or thereabouts, the incoming RTP packets cease. Upon closer inspection with Wireshark, there are these particular packets that seem to be the cause:
trunk->asterisk SIP/SD Status: 200 OK, with session description
asterisk->trunk SIP Request: ACK sip:<phone>@trunk:6889
asterisk->trunk SIP Request: BYE sip:<phone>@trunk:6889
[..about a dozzen RTP packets in/outbound..]
trunk->asterisk SIP Status: 200 OK, CSeq: 104 Bye
[..outbound RTP continues, phone is silent..]
Then the inbound RTP packets cease, however the asterisk logs dont show any activity at this point. The last entry reads 'SIP/ is answered SIP/'.
Then when you hangup the extension, you get
asterisk->trunk SIP Request: BYE sip:<phone>@trunk:6889
trunk->asterisk SIP Status: 481 Call Leg/Transaction does not exist
My trunk peer settings in FreePBX are:
username=<user>
fromuser=<user>
canreinvite=no
type=friend
secret=<pass>
qualify=no [qualify yes produces 401/forbidden messages]
nat=yes
insecure=very
host=<sip trunk gateway>
fromdomain=<sip trunk gateway>
disallow=all
context=from-pstn
allow=ulaw
dtmfmode=inband
Under sip_general_custom.conf i have
stunaddr=stun.xten.com
externrefresh=120
localnet=192.168.1.1/255.255.255.0
nat=yes
Whats causing Asterisk to prematurely end the call and still think the call is in progress? I have no idea where to look next.