In this guide, we list several reasons that cause SIP trunk unreachable or extension unreachable on S-Series VoIP PBX and provide the corresponding solutions.
Why SIP Trunk is unreachable?
SIP trunk can't be registered and it shows unreachable on the web
This problem is usually caused by network problems. So check the problem on network side first. Below are possible problems of the network.
- SIP trunk registration domain can't be parsed. Check the DNS settings in the LAN settings of PBX as well as the router settings.
- Firewall might block the traffic for the IP address of SIP trunk registration server. Check the firewall relevant settings both on PBX and firewall device within the network.
SIP trunk unreachable but registered
This type of problem is caused by no response of OPTIONS packet sent by PBX from the SIP trunk server.
Extensions will also encounter a similar problem, but it'll shows unavailable/unreachable on extension status.
There is a temporary solution to this problem, but it will not solve the problem completely.
The way is to disable the "Qualify" option on the SIP Trunk advanced settings or extension advanced settings, which will stop ending OPTIONS packet. If the issue persists, we'll have to check the relevant settings which could affect the OPTIONS packet traffic in the router and firewall.
- Disable Extension Qualify:
- Disable SIP Trunk Qualify:
alt="Edit SIP trunk on PBX"
SIP Qualify Mechanism
If we enable "Qualify" option for SIP trunk or extension, Asterisk will send a SIP OPTIONS packet periodically to check whether the device is still online or not. If the device does not answer within the configured (or default) period, Asterisk will consider the device off-line.
By default, Asterisk sends a SIP OPTIONS packet every 60 seconds. You can change this value with Qualify Frequency settings on S-Series VoIP PBX (Settings>PBX>General>SIP>Qualify Frequency). The value of Qualify represents the timeout after a packet is sent before we consider the peer to be unreachable. If the packet is not responded within 1 second, Asterisk will keep trying until 7 packets have failed. At this point, asterisk won't try again until the next 60-second cycle period completes. If a packet is lost, which can easily happen with UDP, there are 7 more packets which are transmitted. Additionally, Asterisk will keep trying every 60 seconds. So even if all 7 packets are lost, asterisk tries again at the next 60-second cycle.