I’m seeing an interesting issue when connecting via phone to my ASL node. The setup is a virtualized ASL hub node with an IAX Trunk to my Asterisk PBX. I’m able to dial-in to my ASL node no problem from any of my Polycom IP450 or IP331 phones or via an Analog ATA attached to the separate PBX. However, when ever I issue a DTMF command - regardless of phone (or command via allmon2) after ~32 seconds all Polycom phones disconnect. Even more interesting, the ATA device does not suffer from this problem, nor does the PSTN reverse-autopatch which also connects through the PBX to ASL. Additionally, if I don’t issue any commands, I can leave the phone connected seemingly indefinitely without issue - last test it stayed connected for ~6hours before I issued a command…
I’ve found several threads on the topic already experiencing what I am, however, all of them are with Polycom phones (in general) directly attached to an ASL node. So I don’t think it’s something in the PBX, but rather ASL or the Polycom phones themselves. I’ll also note, I have no issues using the PBX feature codes and there’s no overlap (disabled all of them in testing).
Here’s some links to other threads for reference, all of them either died with no solution, or had ‘fixes’ that don’t work (at least not in my implementation).
- SIP phone - Drop after DTMF cmd.
-
Polycom Disconnects after 35-40 Seconds
(more links in replies)
Below is the configuration currently:
Asterisk PBX Trunk to ASL:
[ASLtoPBX]
username=PBXtoASL
host=asl-hub.domain.us
secret=NHzRWxTNmACdVgrYBC9nNXUOfdZOLG9M
type=friend
dtmfmode=rfc2833
qualify=yes
ASL Node Trunk to PBX:
[PBXtoASL]
type = friend
username = ASLtoPBX
context = radio-control
host = pbx.domain.us
disallow = all
allow = ulaw
transfer = no
qualify = yes
ASL Node - extensions.conf
[radio-control]
exten => ${NODE},1,Answer
exten => ${NODE},n,Wait(2)
exten => ${NODE},n,Playback(rpt/node)
exten => ${NODE},n,Playback(digits/5)
exten => ${NODE},n,Playback(digits/7)
exten => ${NODE},n,Playback(digits/2)
exten => ${NODE},n,Playback(digits/7)
exten => ${NODE},n,Playback(digits/0)
exten => ${NODE},n,Wait(1)
exten => ${NODE],n,Playback(rpt/connected)
exten => ${NODE},n,rpt(${NODE}|P)
I get the following packets immeately after issuing a *70 (status), and only heading to the Polycom phones - the ATA is not sent these packets:
Sending text T 57270 STATUS,57270,0 on SIP/200-000000c0
Reliably Transmitting to 10.14.65.50:5060:
MESSAGE sip:200@10.14.65.50;transport=udp SIP/2.0
Via: SIP/2.0/UDP 10.14.65.2:5160;branch=z9hG4bK00d507e9;rport
Max-Forwards: 70
From: <sip:57270@10.14.65.2;user=phone>;tag=as1d725256
To: "200" <sip:200@10.14.65.2:5160>;tag=F2679BF5-97CE6A04
Call-ID: 5b27e2e9-f7ecb368-b550f31b@10.128.128.50
CSeq: 102 MESSAGE
User-Agent: FPBX-15.0.23.11(16.2.1)
Content-Type: text/plain;charset=UTF-8
Content-Length: 22
T 57270 STATUS,57270,0
---
<--- SIP read from UDP:10.14.65.50:5060 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP 10.14.65.2:5160;branch=z9hG4bK00d507e9;rport
From: <sip:57270@10.14.65.2;user=phone>;tag=as1d725256
To: "200" <sip:200@10.14.65.2:5160>;tag=F2679BF5-97CE6A04
CSeq: 102 MESSAGE
Call-ID: 5b27e2e9-f7ecb368-b550f31b@10.128.128.50
Contact: <sip:200@10.14.65.50>
User-Agent: PolycomSoundPointIP-SPIP_450-UA/4.0.15.1009
Accept-Language: en
Content-Length: 0
After ~32 seconds I then see all connected Polycom’s send a SIP BYE to the PBX, terminating the call.
<--- SIP read from UDP:10.14.65.50:5060 --->
BYE sip:57270@10.14.65.2:5160 SIP/2.0
Via: SIP/2.0/UDP 10.14.65.50;branch=z9hG4bKfc400763715CC71A
From: "200" <sip:200@10.14.65.2:5160>;tag=1D03F192-A47758E9
To: <sip:57270@10.14.65.2;user=phone>;tag=as0818d96c
CSeq: 3 BYE
Call-ID: af79e6ae-52405085-2d61d0fc@10.14.65.50
Contact: <sip:200@10.14.65.50>
User-Agent: PolycomSoundPointIP-SPIP_450-UA/4.0.15.1009
Accept-Language: en
Authorization: Digest username="200", realm="asterisk", nonce="75841764", uri="sip:57270@10.14.65.2:5160;user=phone;transport=udp", response="6ee97035ebed6b6ce819097835e9f480", algorithm=MD5
Max-Forwards: 70
Content-Length: 0
<------------->
--- (12 headers 0 lines) ---
Sending to 10.14.65.50:5060
Scheduling destruction of SIP dialog 'af79e6ae-52405085-2d61d0fc@10.14.65.50' in 6400 ms (Method: BYE)
<--- Transmitting (NAT) to 10.14.65.50:5060 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP 10.14.65.50;branch=z9hG4bKfc400763715CC71A;received=10.14.65.50;rport=5060
From: "200" <sip:200@10.14.65.2:5160>;tag=1D03F192-A47758E9
To: <sip:57270@10.14.65.2;user=phone>;tag=as0818d96c
Call-ID: af79e6ae-52405085-2d61d0fc@10.14.65.50
CSeq: 3 BYE
Server: FPBX-15.0.23.11(16.2.1)
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces, timer
Content-Length: 0
<------------>
At least one of the threads I linked suspects the “-- Hungup ‘DAHDI/pseudo-13XXXXXXXX’” after command may be causing this, but I disagree. You see those same hungup messages after a “Force ID”, both local only and global. Personally, I think it’s likely related to the packets only the Polycom phones are getting as they contain STATUS information for my node “57270”.
If you made it this far, sorry for the novel… But figured dataoverload is better than not enough data