[Home]

Summary:ASTERISK-24667: IAX hits maxcallnumber limit of 2048 after many calls and don't recover after hangup
Reporter:Y Ateya (yateya)Labels:
Date Opened:2015-01-06 17:00:47.000-0600Date Closed:2015-01-12 10:22:31.000-0600
Priority:MajorRegression?
Status:Closed/CompleteComponents:Channels/chan_iax2
Versions:13.1.0 Frequency of
Occurrence
Frequent
Related
Issues:
is the original version of this clone:ASTERISK-24478 IAX hits maxcallnumber limit of 2048 with only one concurrent channel
Environment:Running Asterisk 13.1.0 compiled from sources and using PJPROJECT. Ubuntu 12.04 x86_64Attachments:( 0) extensions_1.conf
( 1) extensions_2.conf
( 2) iax_1.conf
( 3) iax_2.conf
( 4) maxcallnumber_count.log.bz2
( 5) maxcallnumber_full.log.bz2
( 6) pjsip_1.conf
Description:NOTE: This might be clone of ASTERISK-24478 .

I saw the same problem as ASTERISK-24478 and I was able to reproduce it. My setup is as follows:

{noformat}
SIP1 <> IAX Trunk <> SIP2 <> GSM gateway
{noformat}

Hint: Calls always flow from SIP1 (always the caller) to SIP2 (always the callee).

The problem occurs when there is a failure in GSM gateway; which leads to rejecting many of SIP calls (rejected from GSM Gateway). Here is what should happen for increment, schedule decrement and actual decrement of the call number counter:

# call comes
# increment counter
# call rejected
# schedule counter decrement after 60 seconds

and this pattern will be repeated until GSM return to normal operation. So after 60 seconds of GSM-back-to-life; all calls will continue as usual. But this DON'T always happen.

What happens is:

{noformat}
   increment, schedule decrement, after 60 seconds decrement event occurs.
   increment, schedule decrement, after 60 seconds decrement event occurs.
   .
   .
   increment, schedule decrement, after 60 seconds decrement event occurs.
   =======And after a while (~15 minutes in my case), decrement event stops!
   increment, schedule decrement
   increment, schedule decrement
   increment, schedule decrement
{noformat}

Decrement don't happen even after I stopped SIP1 calls.
And the result is that IAX peers have no active calls and max call number is 2048. Raising max call number doesn't solve the problem; Neither decreasing MIN_REUSE_TIME.

The only solution then is to restart asterisk; reload didn't affect call number count.

The attached log is from Jan 1 18:12:13 to Jan 1 18:32:46. You will that the latest decrement "ip callno count decremented" was at Jan 1 18:23:32. For TEN minutes, scheduled decrements didn't happen.

Attachments:
maxcallnumber_count.log.bz2: Extracted counter-related messages from debug log.
maxcallnumber_full.log.bz2: The full log


Comments:By: Y Ateya (yateya) 2015-01-06 17:23:10.545-0600

Reproduce setup:

extensions_1.conf: Extensions as SIP 1
extensions_2.conf: Extensions as SIP 2
iax_1.conf : IAX beside SIP 1
iax_2.conf : IAX beside SIP 2
pjsip_1.conf: PJSIP configurations of side1

Run the command `sipp -sn uac_pcap 127.0.0.1`, keep increasing and decreasing numbers of calls until the `iax2 show callnumber usage` reaches 2048.

Note that this don't happen within the same time span. For some trials it took 5 minutes, other trials took 15 minutes.

By: Matt Jordan (mjordan) 2015-01-12 10:22:24.607-0600

This does look the same to me. I'm going to close this out as a duplicate, but the log information here is very useful. I'll comment on the other issue to that effect.

Thanks for the reproduction steps!