sip_poke_noanswer: Peer 'XXX' is now UNREACHABLE!

Asterisk 11.21.2
Freepbx 13.0.79

I have three chan_sip extension. It was working until I reboot (VPS) server

When I tried to reboot the phone, It will register and stay online for approx 30 seconds
Then it will switch to unreachable. The error message I get is sip_poke_noanswer: Peer ‘XXX’ is now UNREACHABLE!

Under Advance Setting (sip.conf) I tried the following setting in the parenthesis but same result
qualify=yes (no | 3000)
qualifyfreq=60 (15 | 20 | 90| 120)

While status is Unreachable, I can still make outgoing calls.

Debug report
<— SIP read from UDP:81.36.xxx. xxx:5086 —>
REGISTER sip:pbx3.domain. net SIP/2.0
Via: SIP/2.0/UDP 10.1.11.198:5086;branch=z9hG4bK-a0872809;rport
From: “313” <sip:313@pbx3.domain. net>;tag=9d03ac11eada9b73o0
To: “313” <sip:313@pbx3.domain. net>
Call-ID: 4342459a-4e591f82@10.1.11.198
CSeq: 5363 REGISTER
Max-Forwards: 70
Authorization: Digest username=“313”,realm=“asterisk”,nonce=“16d536d0”,uri=“sip:pbx3.domain. net”,algorithm=MD5,response="780a4583616103d1dde12dc1b6d06886"
Contact: “313” <sip:313@10.1.11. 198:5086>;expires=3600
User-Agent: Cisco/SPA303-7.5.5
Content-Length: 0
Allow: ACK, BYE, CANCEL, INFO, INVITE, NOTIFY, OPTIONS, REFER, UPDATE
Supported: replaces

<------------->
— (13 headers 0 lines) —
Sending to 81.36.xxx. xxx:5086 (NAT)
– Registered SIP ‘313’ at 81.36.xxx. xxx:5086
Reliably Transmitting (NAT) to 81.36.xxx. xxx:5086:
OPTIONS sip:313@10.1.11.198:5086 SIP/2.0
Via: SIP/2.0/UDP 162.221.xxx.xxx:5060;branch=z9hG4bK5dbf820a;rport
Max-Forwards: 70
From: “Unknown” <sip:Unknown@162.221.xxx. xxx>;tag=as14f39802
To: <sip:313@10.1.11. 198:5086>
Contact: <sip:Unknown@162.221.xx. xxx:5060>
Call-ID: 08279265593f718b502d80e327a6fb62@162.221.xxx. xxx:5060
CSeq: 102 OPTIONS
User-Agent: FPBX-13.0.79(11.21.2)
Date: Mon, 14 Mar 2016 10:34:23 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces, timer
Content-Length: 0

Appreciate any help

qualify=no should disable the check.

Your trace contains no calls.

With a qualify failure that was was due to mishandling of OPTIONs, rather than a faulty connection, one would expect outbound calls to fail but inbound ones to work (in and out relative to the line in question).

Current setting qualify=6000

I change it to qualify=no and get the same result.

by the looks of the sip debug the asterisk server is outside the LAN so a couple of things:

  1. externip should be set and NAT = yes

  2. Make sure the registration interval on the phone is set to 60 seconds so it registers more frequently.

  3. disable any sip alg / helpers on your firewall/router

externip is for when Asterisk is inside the LAN but the peer is outside.

nat is mainly for Asterisk outside and the peer inside, but, in any case nat=yes is deprecated. You should use the specific options that you need.

Frequent registration is a workaround for a sub-optimal NAT router. It is better to have permanent rules rather than relying on frequent traffic to refresh temporary ones.

OPTIONS should not be sent if quaify=no, so I wonder if it is in the wrong place, or you failed to reload the configuration after changing the file.

My setup is Asterisk with public IP (with Cyberlynk) and peer is outside

I don’t understand why NAT=YES if I already have a public IP but I’m willing to try anything
What would be the setting for externip?

The nat and externip setting are commented out in sip.conf I checked sip_general_custom.conf which is empty. And in sip_general_additon.conf, the nat is set to force_rport,comedia.

I can modify the sip.conf but it was recommend to do the modification on the GUI. I appreciate if someone can\ tell me where to find the setting on the GUI

I’m using “Not Reachable” and would like to avoid setting Qualify to NO. If possible

Thank You

With the mention of a GUI and ‘sip_general_addition.conf’ It sounds like you are using FreePBX.

You may want to ask for help with the GUI on their forum where people are more familiar with that product.

nat=yes is deprecated. nat=* should not be needed for cases where you inside NAT and the peer is outside, AND you have identity mappings of your RTP port numbers. It is generally recommended for the wrong reasons, but some options may be needed, even for asterisk inside cases, if you have a less than ideal NAT environment.

As already noted, as you are using a GUI, you should ask for support from the maintainers of that GUI. In particular logs from GUIs can be very difficult to interpret and people here may not be familiar with the limitations imposed by the GUI, and the GUI specific terminology.