Команда Hangup()
Назначение:
Безусловный и безоговорочный разрыв связиОписание:
Hangup()Безусловно и безоговорочно разрывает связь на данном канале. Всегда возвращает -1.
Для PRI соединений: Установка PRI_CAUSE
- Доступно в CVS версии с Марта, 2004
1 = Не назначенный номер
16 = Нормальное завершение вызова
17 = пользователь занят
18 = Пользователь не отвечает (телефон не подключен)
21 = Вызов отвергнут
22 = Номер изменился
27 = Окончание соединения на в порядке
38 = Сеть не в порядке (ошибка сети)
41 = Временные неполадки
В Канаде , через контору Group Telecom (Может и у других работает) Разрыв связи с сообщением PRI_CAUSE будет передано удаленным абонентам.
PRI_CAUSE = 0,22,28,65-66 Нам жутко стыдно, но Ваш вызов не может быть обработан, пожалуйста, позвоните в сервисную поддержку "group telecom" по номеру 1-877-484-5101, если Вам нужна помощь по данному вопросу.
PRI_CAUSE = 2-16,19-20,23-27,29-40,43-53,55-64,67-100 Быстрый сигнал "занято" / Перегрузка канала
PRI_CAUSE = 17,41 Медленный сигнал "занято" (Обычный сигнал занято, который Вы слышите каждый день)
PRI_CAUSE = 18,21 Сигнал Вызова КПВ (Обычный сигнал КПВ, который Вы слышите каждый день при вызове абонентов)
PRI_CAUSE = 42,54 Очень жаль, все каналы заняты, пожалуйста перезвоните позже.
Пример:
exten => i,1,SetVar(PRI_CAUSE=1)
; вызов на неправильный номер - PRI_CAUSE=Не назначенный номер
exten => i,2,Hangup
; отправка сообщения DISCONNECT
; Во многих случаях, как результат, будет сгенерировано голосовое сообщение типа:
"Набранный Вами номер не обслуживается ..."
Ссылки по теме:
- Asterisk cmd softhangup
- Asterisk variable Hangupcause
- Asterisk variable DIALSTATUS
- Asterisk variable PRI_CAUSE
- Asterisk variables