Open Source - Why Won't Asterisk Disconnect a Call Over Analog Lines?

Open Source - Why Won't Asterisk Disconnect a Call Over Analog Lines?

Asterisk in order to detect a call hang up, it requires a signal from the far end. In North America call hangup or  disconnection is signaled by a drop in voltage for about half a second, this is know in the telephony world as Loopstart with disconnection (or far end) supervision, in Asterisk is known as Kewlstart.

it's important to metnioned that disconnection supervision needs to be supported by both sides in order to work , some telcos only support basic loopstart as such they are unable to signal to Asterisk that the call ended. 

If the analog lines on your Digium Analog card remain occupied after an inbound caller has hung up (and you are using kewlstart), your telco may not support the disconnection supervisor, in order to workaround this issue you can need to enable dialtone detection   

  1. Log into your asterisk server using SSH

  2. Edit the file chan_dahdi.conf (usually located in /etc/asterisk)

  3. Set 'dialtone_detect=yes before your channels configuration

  4. Save and restart Asterisk

Related content