Opened 6 years ago

Closed 5 years ago

#279 closed улучшение (готово)

Окончание 1IND: передавать снятие ответа после приема АОН

Reported by: alx Owned by: alx
Priority: средний Milestone: 1 очередь
Component: any Keywords:
Cc: san

Description

Сейчас при входящем вызове после окончания приема номера канальное окончание 1IND передает в канал запрос АОН, представляющий собой линейный сигнал "Ответ" и частотную посылку 500 Гц, после чего ожидает посылки АОН.

После того как посылка АОН получена, никаких сигналов более не передается, предполагая, что удаленная станция, передав ответ на запрос АОН, сама перейдет в предответное состояние:

Некоторые станции, передав посылку АОН в ответ на запрос АОН, самостоятельно не переходят в предответное состояние. Для таких случаев предлагается добавить опцию (конфигурационный флаг), при установке которой после приема АОН (или по таймауту в случае неприема) окончание 1IND будет передавать линейный сигнал "Снятие ответа", принудительно апереводя удаленную станцию в предответное состояние:

Change History (3)

comment:1 by alx, 6 years ago

Cc: san added

Саша, присоединяйся к обсуждению.

Я обнаружил, что в канальных окончаниях 1IND у нас был вообще отключен (закомментирован) прием тонального сигнала 500 Гц. То есть запросом АОН всегда считался первый и только первый линейный сигнал "Ответ".

При реализации тикета #280 обнаружилось, что при установке флага "Не считать первый Ответ запросом АОН" АОН вообще перестал работать, так как посылки 500 Гц не детектируются.

Тогда я включил детектирование тональных сигналов 500 Гц. В результате я обнаружил, что телефон с "Русским АОН" у абонента ломает работу канального окончания:

Как результат, после ответа абонента с "русским АОН" канальное окончание оказывается в неправильном состоянии (предответном), что приводит к последующему отбою по таймауту.

Испльзование сигнала "Снятие ответа" (когда канальное окончание само не возвращается в предответное состояние, пока не получит соответствующий сигнал) решает эту проблему.

Получается, что мы не можем включать прием запроса 500 Гц, если не включено использование сигнала "Снятие ответа".

Также получается, что если использование сигнала "Снятие ответа" не включено, и принудительный ответ АОН также выключен, АОН не будет работать вообще. Вот 4 возможные комбинации настроек:

  1. "Снятие ответа" не используется, первый и только первый "Ответ" - запрос АОН. Эту комбинацию настроек мы вынуждены сохранить, ибо именно так работают существующие станции. Неправильно работает, если станция не посылает запрос АОН.
  2. "Снятие ответа" не используется, АОН не используется. Любой "Ответ" воспринимается как реальный ответ вызываемого абонента. Скорее всего в таком режиме не будут работать МГ вызовы, так как АМТС не получит ответа на свои запросы АОН.
  3. "Снятие ответа" используется, АОН передается только при детектировании 500 Гц. Это самый нормальный вариант - будут работать повторные запросы АОН, в том числе от абонентских телефонов.
  4. "Снятие ответа" используется, первый "Ответ" - запрос АОН. По сравнению с предыдущим вариантом будет отдавать ответ АОН даже если другая станция дает "кривой" запрос 500 Гц. Должно корректно работать даже если АОН никто не запрашивает. Существенных недостатков не вижу - разве что если никто не запрашивает АОН, абонент при снятии трубки будет слышать его ответ...

Саша, что ты думаешь по этому поводу? Все ли из четырех перечисленных вариантов настроек имеет смысл давать пользователю? Может возможны еще какие-то "хитрые" варианты? Имеет ли смысл, например, второй вариант?

comment:2 by alx, 6 years ago

In 1459/sip_ua:

Канальным окончаниям 1IND добавлен конфигурационный флаг
"Разрешить использование сигнала "Снятие ответа"". При его установке
после запроса АОН и приема ответа в канал передается линейный
сигнал "Снятие ответа", при получении запроса АОН и передачи ответа
в течение 500 мс ожидается сигнал "Снятие ответа", и если он не
поступает, вызывающему передается ответ "200 OK".
Кроме этого, если флаг не установлен, тональный сигнал 500 Гц не детектируется.
See #279, #280.

comment:3 by alx, 5 years ago

Resolution: готово
Status: newclosed

Проверено, работает, как минимум, с двумя разными станциями.

Note: See TracTickets for help on using tickets.