В asterisk`e бывают ситуации, когда консоль показывает, что два абонента разговаривают, хотя мы уверены, что никакого соединения нет и трубки лежат на аппаратах (и даже включен режим dnd).
Допустим, зависла сессия разговора у абонента 101. Открываем консоль и смотрим привязанные к этому номеру разговоры:
$ asterisk -rx "sip show channels" Peer User/ANR Call ID Format Hold Last Message Expiry Peer ... 192.168.1.76 101 7187063c5abbe4b (g729) No Tx: ACK 101 ...
Далее берем CALL ID (в этом примере — 7187063c5abbe4b) и выясняем Channel ID:
$ asterisk -rx "sip show channel 7187063c5abbe4b" | grep channel Owner channel ID: SIP/101-00071685
Теперь у нас есть Channel ID и мы можем принудительно закрыть его:
$ asterisk -rx "channel request hangup SIP/101-00071685" Requested Hangup on channel 'SIP/101-00071685'