Hangupcause в Asterisk и их значения

Hangupcause в Asterisk и их значения

В процессе выявления неисправности или ошибок администраторы VoIP системы прибегают к анализу журналов сообщений их системы, в частности Asterisk. В данной статье мы разберем как искать код разъединения вызова в Asterisk и их расшифровка.
Протокол Q.931 это сигнальный протокол встроенный в Integrated Services Digital Network (ISDN), так же используется в VoIP. Протокол Q.931 участвует в установке и разрыве телефонных соединений.
Протокол Q.931 используется для передачи и получения сигнальных сообщений в цифровых системах передачи данных. Сообщения протокола Q.931 включают в себя сообщения об установке вызова, о ходе вызова, сообщения о разрыве вызова. В этой статье мы рассмотри причины и коды ошибок при разъединении вызовов.
Работая с Asterisk AMI, при получении/отправки события HangUp мы получаем/отправляем Cause Code, т.е. причины по которым вызов завершается. В таблице ниже приведены все Cause Code используемые в ISDN телефонии, которые соответствуют протоколу Q.931 (спасибо WiKi), и в сопоставлении к ним приведены Cause Code, которые используются в AMI (столбец AMI Cause). В столбце “SIP ответ” приведены ответы SIP протокола, с подобными причинами завершения вызова.
Данные описания Cause Code мы использовали при написании программ, для того чтобы понимать по какой причине не проходит тот или иной вызов.

Содержание

Поиск hangupcause в Asterisk

Подключимся к нашему серверу IP-АТС по SSH и введем следующую команду:
[root@asterisk ~]# grep -e '[CALLID].*HANGUPCAUSE' /var/log/asterisk/full
CALLID -это идентификатор вызова. В логфайле введите номер звонящего/вызываемого абонента и найдете следующую запись:
[2018-01-29 14:40:03] VERBOSE[18823][C-00000009] pbx.c: Executing [recordcheck@sub-record-check:11] Goto("Local/84955555555@from-internal-00000007;2", "startrec") in new stack

[C-00000009] – и есть идентификатор вызова

Hangupcause в Asterisk и их значения

Причины отбой вызова в Asterisk и Q.931 коды ошибок

Hex Dec Описание AMI Cause SIP ответ
0x0 0 Неопределенная ошибка (Cause not defined) NOT DEFINED
0x1 1 Номер не найден (Номера не существует) (Unallocated or unassigned number) UNALLOCATED 404, 485, 604
0x2 2 Нет маршрута к указанной транзитной сети (No route to specified transmit network) NO ROUTE TRANSIT NET
0x3 3 Нет маршрута до указанного номера (No route to destination) NO ROUTE DESTINATION 420
0x4 4 Отправка определенной тоновой информации (Send special information tone)
0x5 5 В дозвоне ошибочный префикс транка (Misdialled trunk prefix) MISDIALLED TRUNK PREFIX
0x6 6 Канал не поддерживается (Channel unacceptable) CHANNEL UNACCEPTABLE
0x7 7 Вызов направлен в указанный канал (Call awarded and being delivered in an established channel) CALL AWARDED DELIVERED
0x8 8 Префикс 0 вызван, но не разрешён (Prefix 0 dialed but not allowed)
0x9 9 Префикс 1 вызван, но не разрешён (Prefix 1 dialed but not allowed)
0xA 10 Префикс 1 не вызван, но требуется (Prefix 1 not dialed but required)
0xB 11 Получено больше цифр, чем разрешено, вызов обрабатывается (More digits received than allowed, call is proceeding)
0x10 16 Нормальное завершение вызова (Normal call clearing) NORMAL CLEARING
0x11 17 Вызываемый номер занят (User busy) USER BUSY 486, 600
0x12 18 Нет ответа (No user responding) NO USER RESPONSE 408
0x13 19 Нет сигнализации от пользователя, нет ответа (User Alerted, No answer from user) NO ANSWER 480, 483
0x15 21 Вызов отклонен (Call rejected) CALL REJECTED 401, 403, 407, 603
0x16 22 Номер изменился (Number changed to number in diagnostic field) NUMBER CHANGED 410
0x17 23 Оплата за счёт вызываемого абонента отклонена (Reverse charging rejected)
0x18 24 Звонок приостановлен (Call suspended)
0x19 25 Звонок возобновлён (Call resumed)
0x1A 26 Невыбранная абонентом очистка (Non-selected user clearing)
0x1B 27 Направление не обслуживается (Destination out of order) DESTINATION OUT OF ORDER 502
0x1C 28 Неверный формат номера или неполный адрес (Invalid number format or incomplete address) INVALID NUMBER FORMAT 484
0x1D 29 Функциональная возможность отклонена сетью (EKTS facility rejected by network) FACILITY REJECTED 501
0x1E 30 Ответ на сообщение “ЗАПРОС СОСТОЯНИЯ” (Response to STATUS ENQUIRY) RESPONSE TO STATUS ENQUIRY
0x1F 31 Нормальное состояние, не уточнено (Normal, unspecified) NORMAL UNSPECIFIED
0x21 33 Схема вышла из строя (Circuit out of order)
0x22 34 Нет схемы доступа/канала (No circuit/channel available) NORMAL CIRCUIT CONGESTION
0x23 35 Направление недостижимо (Destination unattainable)
0x24 36 Вышло из строя (Out of order)
0x25 37 Вырождающийся сервис (Degraded service)
0x26 38 Сеть вышла из строя (Network out of order) NETWORK OUT OF ORDER 500
0x27 39 Уровень транзитных задержек не может быть достигнут (Transit delay range cannot be achieved)
0x28 40 Уровень пропускной способности не может быть достигнут (Throughput range cannot be achieved)
0x29 41 Временная неработоспособность (Temporary failure) NORMAL TEMPORARY FAILURE 409
0x2A 42 Сетевое оборудование перегружено (Switching equipment congestion) SWITCH CONGESTION 5xx
0x2B 43 Доступ к информации отклонен (Access information discarded) ACCESS INFO DISCARDED
0x2C 44 Запрашиваемая схема/канал не доступны (Requested circuit channel not available) REQUESTED CHAN UNAVAIL
0x2D 45 Упреждение (Preempted) PRE EMPTED
0x2E 46 Приоритетный вызов блокирован (Precedence call blocked)
0x2F 47 Ресурс недоступен (Resource unavailable, unspecified)
0x31 49 Запрашиваемая услуга недоступна (Quality of service unavailable)
0x32 50 Нет подписки на запрошенную услугу (Requested facility not subscribed) FACILITY NOT SUBSCRIBED
0x33 51 Оплата за счёт вызываемого абонента не разрешена (Reverse charging not allowed)
0x34 52 Исходящие вызовы закрыты (Outgoing calls barred) OUTGOING CALL BARRED
0x35 53 Исходящие вызовы закрыты в пределах закрытой абонентской группы (Outgoing calls barred within CUG)
0x36 54 Входящие вызовы закрыты (Incoming calls barred) INCOMING CALL BARRED
0x37 55 Входящие вызовы ограничены в пределах закрытой абонентской группы (Incoming calls barred within CUG)
0x38 56 Нет подписки на услугу ожидания вызова (Call waiting not subscribed)
0x39 57 Возможности переноса информации не санкционированы (Bearer capability not authorized) BEARERCAPABILITY NOTAUTH
0x3A 58 Возможности переноса информации в данный момент недоступны (Bearer capability not presently available) BEARERCAPABILITY NOTAVAIL 488, 606
0x3F 63 Сервис или опция недоступны (Service or option not available, unspecified)
0x41 65 Возможности переноса информации не реализованы (Bearer service not implemented) BEARERCAPABILITY NOTIMPL
0x42 66 Тип канала не поддерживается (Channel type not implemented) CHAN NOT IMPLEMENTED
0x43 67 Выбор транзитной сети не проддерживается (Transit network selection not implemented)
0x44 68 Сообщение не поддерживается (Message not implemented)
0x45 69 Затребованная услуга не реализована (Requested facility not implemented) FACILITY NOT IMPLEMENTED
0x46 70 Доступны только ограниченные возможности переноса цифровой информации (Only restricted digital information bearer capability is available)
0x4F 79 Сервис или опция неприменимы, не определено (Service or option not implemented, unspecified)
0x51 81 Неверное значение идентификатора вызова (Invalid call reference value) INVALID CALL REFERENCE
0x52 82 Указанный канал не существует (Identified channel does not exist)
0x53 83 Присутствует приостановленный звонок, но этот вызов не идентифицирован (A suspended call exists, but this call identity does not)
0x54 84 Идентификатор вызова уже используется (Call identity in use)
0x55 85 Нет приостановленных вызовов (No call suspended)
0x56 86 Вызов, имеющий затребованный идентификатор звонка, был очищен (Call having the requested call identity has been cleared)
0x57 87 Вызываемый абонент не является членом закрытой абонентской группы (Called user not member of CUG)
0x58 88 Несовместимый адресат (Incompatible destination) INCOMPATIBLE DESTINATION
0x59 89 Адрес назначения отсутствует и услуга прямого вызова не подписана (Non-existent abbreviated address entry)
0x5A 90 Запись несуществующего сокращённого адреса (Destination address missing, and direct call not subscribed)
0x5B 91 Выбрана неверная транзитная сеть (использование в пределах страны) (Invalid transit network selection (national use))
0x5C 92 Неверная возможность параметра 93 — отсутствует обязательный информационный элемент (Invalid facility parameter 93 Mandatory information element is missing)
0x5D 93 Несуществующий тип сообщения или не применим (Message type non-existent or not implemented)
0x5F 95 Неверное сообщение (Invalid message, unspecified) INVALID MSG UNSPECIFIED
0x60 96 Отсутствует обязательный информационный элемент (Mandatory information element is missing) MANDATORY IE MISSING
0x61 97 Тип сообщения не существует (Message type non-existent or not implemented) MESSAGE TYPE NONEXIST
0x62 98 Неправильное сообщение (Message not compatible with call state or message type non-existent or not implemented) WRONG MESSAGE
0x63 99 Информационный элемен не существует или не указан (Information element nonexistent or not implemented) IE NONEXIST
0x64 100 Неверное содержимое информационного элемента (Invalid information element contents) INVALID IE CONTENTS
0x65 101 Сообщение не совместимо со статусом вызова (Message not compatible with call state) WRONG CALL STATE
0x66 102 Восстановлено по истечении таймера (Recover on timer expiry) RECOVERY ON TIMER EXPIRE 504
0x67 103 Несуществующий или не применимый параметр — передаётся (Parameter non-existent or not implemented – passed on) MANDATORY IE LENGTH ERROR
0x6F 111 Ошибка протокола (Protocol error, unspecified) PROTOCOL ERROR
0x7F 127 Пользователи не договорились о параметрах передачи данных (Internetworking, unspecified) INTERWORKING 4xx, 505, 6xx
0x80 128 Собственные диагностические коды. Обычно используются для передачи команд управления или обслуживания между мультиплексорами. (Proprietary diagnostic code. Typically used to pass proprietary control or maintenance messages between multiplexers)