Summary:ASTERISK-16755: Call hangs on causecode 100
Reporter:Gijs Middelkamp (gkwmiddelkamp)Labels:
Date Opened:2010-09-30 08:55:39Date Closed:2011-06-07 14:04:58
Versions:Frequency of
Environment:Attachments:( 0) misdn.conf
( 1) misdn-debugoutput.txt
Description:When dialing a mISDN or Dahdi trunk, and there is an incomplete number given. The dial hangs on causecode 100. (Incomplete information).

Is there a way asterisk will give a Busy on this call when this causecode happens?
Comments:By: Richard Mudgett (rmudgett) 2010-09-30 18:16:42

What is the chan_misdn debug output when this happens?

Chan_misdn may be allowing an audio message to be played and letting the caller to hangup the call after listening to it.


Cause No. 100 – Invalid information element contents
This cause code implies that there is something wrong with the ie coding itself (as in protocol error) not the called number.

Would expect one of the following for an invalid called number:
Cause No. 1 – Unallocated (unassigned) number;
Cause No. 3 – No route to destination;
Cause No. 22 – Number changed;
Cause No. 28 – Invalid number format (address incomplete).

By: Gijs Middelkamp (gkwmiddelkamp) 2010-10-01 01:45:55

The output is attached.

What I expect, is that the telco thinks the number is incomplete, and waits for more input until the number is complete and recognized. If this happens, I want to generate a busy tone, because there isn't coming any more input to complete the number.
Maybe I'm looking at it the wrong way and there is another solution to this?

By: Richard Mudgett (rmudgett) 2010-10-01 10:57:41

The cause value is coming from the STATUS message sent in response to the SETUP message.  The switch is unhappy about something in the SETUP message.  (I don't think the switch should be sending a STATUS message for an incomplete called number, but that may be exactly what it is doing.)  The switch then goes on to request more digits with the SETUP_ACKNOWLEDGE message.

A STATUS message does not disconnect a call unless the indicated call state is a non-existent call.  It should not cause a busy tone.

How are you collecting the called number digits?  You should be able to write a dialplan that can collect enough digits to match a pattern.

By: Gijs Middelkamp (gkwmiddelkamp) 2010-10-05 09:02:46

I now send the digits in a "block" to the switch.

Attached is my misdn.conf for the settings, and with this line from de debug output file:

Executing [s@macro-dialout-trunk:21] Dial("SIP/gijs-0000008b", "mISDN/g:poort1/05418808,300,") in new stack

I send the digits. So my Asterisk waits until more digits are sent, and my dial command doesn't send any more. (Chicken or the egg situation?)

By: Richard Mudgett (rmudgett) 2010-10-05 10:34:16

Is "05418808" a complete number?  Before doing the Dial(mISDN/...) you should collect enough digits to be a complete number.  A complete number should be able to match a pattern like NXX-XXXX or NXX-NXX-XXXX.

By: Leif Madsen (lmadsen) 2011-01-06 14:38:33.000-0600

Closed due to lack of feedback.