IAX2 Callnumber Exhaustion

Dear Asterisk Support Community,

With a pretty normal stock install we have been having problems with the IAX2 callno hitting max and not allowing Zoiper phones to continue registration from about ten locations. To rule out call token validation issues, we disabled the IAX2 call number security as the server is behind a firewall and is only available to satellite offices. We are using Asterisk 13.1-cert2 and Zoiper Soft Phones, Biz 3.9. Our current settings are below:

Important IAX2 settings:
maxcallnumbers=16382
maxcallnumbers_nonvalidated=16382
requirecalltoken=no
calltokenoptional=0.0.0.0/0.0.0.0
qualifyfreqok=10000
qualifyfreqnotok=10000
qualify=2000

During routine use, the callno values appear to be recycling properly for each IP address. However, when we have a hung channel (one that cannot receive a channel request hangup, possibly another issue) the callno values stop recycling. Eventually we buzz through 16,382 values and the system can no longer receive IAX2 registrations.

Channel Context Extension Prio State Application Data CallerID Duration Accountcode PeerAccount BridgeID

IAX2/6053-15529 from-internal h 1 Ring Hangup (Empty) 8008XXXXXXX 67:07:49

pbx*CLI> channel request hangup IAX2/6053-15529
IAX2/6053-15529 is not a known channel

pbxCLI> iax2 show callnumber usage
Address Callno Usage Callno Limit
186.77.x.x:60175 1185 16382
186.77.x.x:41033 570 16382
208.104.x.x:4569 417 16382
186.77.x.x:29071 17 16382
180.191.x.x:23394 50 16382
112.208.x.x:25575 207 16382
67.197.x.x:4569 1695 16382
112.208.x.x:4569 476 16382
180.191.x.x:19570 116 16382
203.111.x.x:39134 2792 16382
Non-CallToken Validation Callno Limit: 16382
Non-CallToken Validated Callno Used: 0
Total Available Callno: 25241
Regular Callno Available: 8857
Trunk Callno Available: 16384
pbx
CLI>

Appreciate any input on this as we are a bit stymied on how to move forward. Our application requires URL pop-up’s, so switching to SIP is not an option.

Thanks!

Mark

If You have a dedicated timeslot, where IAX-functionality is not needed it may help to unload chan_iax2.so and load it again. This is the only workaround we have found until today to handle this exhaustion as the specific reason (and the proper solution) is not clear for us.