DAHDI Doesn't hangup


My DAHDI analog channels use this context :


exten => s,1,Answer
exten => s,n,Wait(1)
exten => s,n,Background(sunrise)
exten => s,n,WaitExten
exten => s,n,Dial(IAX2/113),30
exten => 0,1,Dial(IAX2/113),30
exten => _XXX,1,Dial(IAX2/${EXTEN}),30
exten => _XXX,n,Dial(SIP/${EXTEN}),30
exten => _XXX,n,VoiceMail(${EXTEN}@default)
exten => 8500,1,VoiceMailMain()
exten => 8001,1,Dial(SIP/smartvoip/0096512345678)
exten => i,1,PlayBack(invalid)
exten => i,n,PlayBack(goodbye)

The problem is, if somebody calls in to the DAHDI and receives the menu prompt, and he enters an invalid extension (Such as 555 which is not used in our system) he receives a busy tone, and Asterisk doen’t hangup the analog line and it remains busy until I restart Asterisk.

I know that there is something missed in my config. Any help is highly appreciated.



Can you confirm that the card is not removing the loop from the line? (Low level traces from the driver, or a volt meter across the pair.)

In many places, e.g. the UK, the callee cannot clear a call on a simple analogue line (might not be the case for lines intended for PABXes). This is done to allow the callee to put one extension down and pick up another extension, on a simple parallel wired system.

Typically, in such cases the call will clear after about 5 minutes.

A verbose console trace would also be useful.

Hello David,

Can you explain the low level traces, how to do so? how to know if the card is removing the loop?

I have used “dahdi_monitor 1 -v”, and I saw that the RX remains giving a signal toot toot toot … after the analog caller hangs up.

I’ve not used dahdi hands on, I just know how UK analogue exchange lines work and that people often get caught out by the lack of called party disconnect.

There are options on both the Asterisk dahdi drivers and dahdi-linux to produce traces of what they are doing. If you look at this thread: http://forums.digium.com/viewtopic.php?p=137727&sid=fb4fba2a3235fdee01186042e5d87805 you will see examples of traces at both levels.

With a volt meter, you simply connect it across the line. If the voltage is in single figures, the line is looped. If it around 48 volts, Asterisk has hung up and any failure to honour that is with the network provider. Line voltages can exceed 110V when ringing, so treat the line with some respect. It is probaby best to use a digital meter.