Вы здесь

Таблица кодов Q.931

Внутри Asterisk используется набор кодов завершения звонка, сделанный на основе Q.931, он сильно отличается от кодов в SIP, и поэтому согласно RFC 3398 есть правила трансляции. К сожалению эти правила неоднозначны — то есть после цепочки преобразований SIP↔Q.931↔SIP мы не обязательно получим тот же код, ибо набор кодов в Q.931 во-первых больше чем в SIP, а во-вторых не все коды из SIP могут быть однозначно отражены в события Q.931.
Использование hangup cause codes в Asterisk
В Asterisk для завершения звонка с указанием конкретного cause code используется параметр команды Hangup. Это выглядит, например, так:
exten = > someextension,n,Hangup (17)
Несмотря на то, что это нигде не документировано — указываться код может не только в виде числа, но и в виде строки:
exten = > someextension,n,Hangup (USER_BUSY)
Команда Dial в переменной HANGUPCAUSE тоже возвращает код завершения звонка, который, кстати, рекомендуется добавлять в CDR (сам Asterisk этого не делает).
При этом в chan_sip реализовано преобразование кода завершения звонка согласно RFC 3398. Для этого есть две таблицы — по одной из SIP кода мы получаем Q.931, по другой — наоборот. При этом, полноценное преобразование в обе стороны возможно только для ограниченного количества вариантов. Для частичного решения этой проблемы, астериск также добавляет в сообщение BYE заголовк X-Asterisk-HangupCauseCode.

 

HEX DEC Значение Причина
0x1 1 UNALLOCATED Не назначенный (не присвоенный) номер. Необходимое назначение достоверно, но не может быть достигнуто.
0x2 2 NO_ROUTE_TRANSIT_NET Нет маршрута к заданной транзитной сети.
От посылающего оборудования требуется проведение сигнала через незнакомую транзитную сеть.
0x3 3 NO_ROUTE_DESTINATION Нет маршрута к адресату.
Вызываемый пользователь не может быть достигнут, т.к. сеть не обслуживает место
назначения.
0х6 6 CHANNEL_UNACCEPTABLE Канал неприемлем.
Последний выбранный канал недоступен для посылаемого объекта.
0х7 7 CALL_AWARDED_DELIVERED Вызов назначен и доставлен в установленный канал.
Входящий сигнал соединен с каналом, который уже настроен на принятие идентичных
по типу сигналов (например, виртуальные вызовы в пакетном режиме Х.25).
0х10 16 NORMAL_CLEARING Нормальное завершение вызова.
Вызов корректно завершен одним из вовлеченных пользователей.
0х11 17 USER_BUSY Пользователь занят.
Вызываемый пользователь не может принять еще один вызов, хотя совместимость достигнута.
0х12 18 NO_USER_RESPONSE Пользователь не отвечает.
Применяется, когда пользователь не отвечает на вызов, содержащий сообщения,
предупреждающие о готовности к работе или о соединении в течение отведенного времени.
0х13 19 NO_ANSWER От пользователя нет ответа (пользователь предупрежден).
Пользователь обеспечил индикацию готовности к работе, но не обеспечил индикацию соединения в течение отведенного времени.
0х15 21 SUBSCRIBER_ABSENT Пользователь отсутствует.
Вызываемая сторона недоступна, установление связи невозможно или вызываемый абонент временно недоступен в сети.
0х16 22 CALL_REJECTED Вызов отклонен.
Оборудование, посылающее значение, не принимает данный вызов, хотя оно свободно и совместимо.
0х1B 27 DESTINATION_OUT_OF_ORDER Адресат не в порядке.
Интерфейс пункта назначения не функционирует нормально.
0x1C 28 INVALID_NUMBER_FORMAT Неправильный формат номера.
Номер вызываемой партии недействителен или не полон.
0x1D 29 FACILITY_REJECTED Функциональная возможность отклонена.
Сеть не может обеспечить требуемый канал связи.
0x1E 30 RESPONSE_TO_STATUS_ENQUIRY Ответ на ЗАПРОС СОСТОЯНИЯ (STATUS ENQUIRY).
Причиной сообщения STATUS было предшествующее ему принятие сообщения ЗАПРОС СОСТОЯНИЯ.
0x1F 31 NORMAL_UNSPECIFIED Нормальный, не специфицированный.
Используется для сообщения о нормальных событиях только тогда, когда в нормальном классе не возникает никакого другого значения.
0x22 34 NORMAL_CIRCUIT_CONGESTION Нет доступного маршрута/канала.
Подходящий маршрут/канал для принятия вызова в данный момент недоступен.
0x26 38 NETWORK_OUT_OF_ORDER Сеть неисправна.
Сеть не функционирует. Немедленный повторный набор номера не будет удачным.
0x29 41 NORMAL_TEMPORARY_FAILURE Временная неисправность.
Сеть не функционирует. Вероятно, немедленный повторный набор номера не будет удачным.
0x2A 42 SWITCH_CONGESTION Перегрузка коммутационного оборудования.
Коммутационное оборудование, отдающее это значение, в данный момент перегружено.
0x2B 43 ACCESS_INFO_DISCARDED Информация доступа отвергается.
Сеть не может передать выбранную информацию удаленному пользователю так, как это необходимо. Этому могут препятствовать: информация, поступающая от пользователя к пользователю, низкий уровень совместимости, высокий уровень совместимости или под адрес, как указано в диагностике. Конкретный тип отторгаемой выбранной информации дополнительно указывается в диагностике.
0x2C 44 REQUESTED_CHAN_UNAVAIL Требуемый маршрут/канал недоступен.
Данное значение передается, когда маршрут (или канал), указанный необходимым объектом, не может быть обеспечен другой стороной.
0x2D 45 PRE_EMPTED упреждение
0x32 50 FACILITY_NOT_SUBSCRIBED Требуемый канал связи не подключается.
Требуемые дополнительные услуги не могут быть обеспечены сетью, т.к. пользователь не выполнил необходимые административные формальности по отношению к поддерживаемым сетям.
0x34 52 OUTGOING_CALL_BARRED исходящие вызовы закрыты
0x36 54 INCOMING_CALL_BARRED входящие вызовы закрыты
0x39 57 BEARERCAPABILITY_NOTAUTH Возможности переноса не санкционированы.
0x3A 58 BEARERCAPABILITY_NOTAVAIL Возможности переноса в настоящее время недоступны.
0x41 65 BEARERCAPABILITY_NOTIMPL BCAP не определена. Оборудование, посылающее данное значение, не имеет требуемой ВСАР.
0x42 66 CHAN_NOT_IMPLEMENTED Тип канала не обеспечивается.
Оборудование, посылающее данное значение, не обеспечивает необходимые дополнительные услуги.
0x45 69 FACILITY_NOT_IMPLEMENTED Требуемый канал связи не обеспечивается.
Оборудование, возвращающее данное значение, не обеспечивает необходимые дополнительные услуги.
0x51 81 INVALID_CALL_REFERENCE Недействительное значение опорного сигнала.
Сообщение, содержащее опорный сигнал, который в данный момент не используется на интерфейсе пользователь-сеть было получено оборудованием, отсылающим данное значение.
0x58 88 INCOMPATIBLE_DESTINATION Несовместимость с пунктом назначения.
Оборудование, создающее это значение, получило запрос о принятии вызова, имеющего более низкий уровень совместимости, более высокий уровень совместимости или другие характеристики совместимости (например, частоту поступления информации), которые делают принятие вызова невозможным.
0x5F 95 INVALID_MSG_UNSPECIFIED Неправильное или непредусмотренное сообщение.
Появляется только тогда, когда в классе недействительных сообщений не возникает других значений.
0x60 96 MANDATORY_IE_MISSING Отсутствует обязательный информационный элемент.
Оборудование, создающее это значение, получило сообщение, не содержащее информационного элемента, который должен присутствовать в сообщении до того, как оно может быть подвергнуто обработке.
0x61 97 MESSAGE_TYPE_NONEXIST Тип сообщения не существует или не реализован.
Оборудование, создающее это значение, получило сообщение, тип которого ему не знаком, потому что это сообщение либо не расшифровано, либо расшифровано, но не введено в эксплуатацию на данном оборудовании.
0x62 98 WRONG_MESSAGE Сообщение несовместимо с состоянием вызова или его тип не существует или не введен в эксплуатацию.
Оборудование, создающее это значение, получило сообщение, которое оно рассматривает как не допустимое в состоянии вызова; или же было получено сообщение STATUS, указывающее на несовместимое состояние вызова.
0x63 99 IE_NONEXIST Информационный элемент не существует или не реализован.
Оборудование, создающее это значение, получило сообщение, включающее неопознанные информационные элементы, так как идентификатор информационного элемента не определен, а если определен, то не введен в эксплуатацию на инструменте, создающем новое значение. Однако информационный элемент не обязательно должен присутствовать в сообщении для того, чтобы дать возможность оборудованию, создающему данное значение, провести его обработку.
0x64 100 INVALID_IE_CONTENTS Сообщение содержит некорректный информационный элемент.
Оборудование, создающее данное значение, получило информационный элемент, который оно ввело в эксплуатацию. Однако оборудование было не в состоянии ввести в эксплуатацию код, так как одно или несколько полей были неправильно закодированы.
0x65 101 WRONG_CALL_STATE Сообщение несовместимо с состоянием вызова.
Полученное сообщение несовместимо с состоянием вызова.
0x66 102 RECOVERY_ON_TIMER_EXPIRE Восстановление по истечении тайм-аута.
Время истекло и начата связанная с исправлением ошибок процедура Q.931.
0x67 103 MANDATORY_IE_LENGTH_ERROR Несуществующий или неописанный параметр.
Оборудование, вернувшее этот код, получило сообщение, в котором содержались нераспознанные параметры. Нераспознанные потому что, они не определены или определены, но не используются на этом оборудовании.
0x6F 111 PROTOCOL_ERROR Не специфицированная ошибка в протоколе.
Сообщение о наличии ошибки появляется, только если в классе протокольных ошибок нет других значений.
0x7F 127 INTERWORKING Не специфицированная ошибка межсетевого взаимодействия.
Имела место организация межсетевого взаимодействия с сетью, которая не обеспечивает причинные коды операций. Поэтому точное значение отсылаемого сообщения неизвестно.