Лечим зависшие разговоры в asterisk

В 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'

Оставить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *