Opened 6 years ago

Closed 4 years ago

Last modified 4 years ago

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

Включение "Громкого Боя" при вызове

Reported by: san Owned by: alx
Priority: полный атас Milestone: 1 очередь
Component: VE-02 Keywords:
Cc: Director

Description (last modified by san)

Плата VE-02 имеет реле ГБ.
Реле ГБ был задумано для того чтобы включаться при вызовах поступающих на окончания платы либо на Sip-телефон подключенный к Ethernet порту платы.
Т.к. плата VE-02(в отличии от PE-04) имеет некоторую информацию о поступающих вызовах, то предлагаю добавить возможность включать реле ГБ на основе этой информации, без использования внешней команды от сервера Диспетчерской. Это было бы полезно в некоторых схемах применения платы, когда Диспетчерская не требуется, а ГБ нужен.

  1. FS01:С окончаниями на плате кажется всё понятно, вроде бы ничего не мешает добавить там настройку "таймаута ГБ" и при вызове окончания включать реле по истечению таймаута.
  1. Sip: Логику громкого боя реализовать, отслеживая состояние сессии SIP-пользователя(оно уже отслеживается в целях генерации CDR). Соответственно, настройки ГБ добавить SIP-пользователям.

А вот с Sip-телефоном сложнее, т.к. вызов на него происходит без участия платы. И по этому поводу меня возникла мысль: создать особый тип окончания для ГБ, которое бы принимало вызов, активировало таймер ГБ и отправляло(роутило) вызов на адресата, что-то на подобии окончания "Рефлектор", которое ты, Алексей, хотел когда-то использовать для маршрутизации вызовов.

Change History (23)

comment:1 by alx, 6 years ago

По поводу FS01. Прямое предназначение блока VIP в том, чтобы подключать IP-телефон на рабочем месте оператора и аналоговый телефон в домике оператора. "Громкий бой" нужен при звонке именно на рабочее место оператора. Управление реле громкого боя при поступлении вызова на канальное окончание FS01 сделать, конечно, можно, но полезность такой функции сомнительна...

Теперь по поводу "чистого IP" вызова. Допустим, мы конфигурируем такой "Рефлектор" в списке канальных окончаний. Допустим, ему поступает вызов. Он, как ты и предлагаешь, запускает таймер и форвардит вызов на другой URI. А дальше-то что? Таймер истек - включаем реле? А если абонент ответил? Дальнейшую-то судьбу этого вызова мы не узнаем...

Развивая твою идею, вместо специального канального окончания можно было бы создать SIP-пользователя для телефона оператора, и всю логику громкого боя реализовать, отслеживая состояние его сессии (оно уже отслеживается в целях генерации CDR). Соответственно, настройки ГБ добавить SIP-пользователям.

comment:2 by san, 6 years ago

аналоговый телефон в домике оператора.

Не всегда. Аналоговый телефон может быть установлен и на ГРС. Вот для иллюстрации посмотри схемы на стр.36-37 нашего каталога.

И, обрати внимание, там же на стр. 37 в схеме нет сервера Диспетчерской, а устройства ГБ присутствуют. Т.е. "маркетинг" уже заявил что функционал изложенный в тикете работает :)

Дальнейшую-то судьбу этого вызова мы не узнаем...

Действительно, об этом я не подумал.

логику громкого боя реализовать, отслеживая состояние его сессии

Согласен, этот вариант лучше.

comment:3 by san, 6 years ago

Description: modified (diff)

in reply to:  2 comment:4 by alx, 6 years ago

Replying to san:

Не всегда. Аналоговый телефон может быть установлен и на ГРС.

Я не говорил, что аналоговый аппарат не может быть установлен на рабочем месте оператора. Я говорил, что предназначением блока MC04-DSL-VIP является подключение аналогового аппарата в домике оператора. Устанавливать аналоговый телефон на рабочем месте, безусловно, можно. Просто такое использование блока не будет соответствовать его предназначению.

Т.е. "маркетинг" уже заявил что функционал изложенный в тикете работает :)

Ну, раз уже все работает, то нам и делать тут нечего... :) Мы же не можем допустить мысли о том, что сотрудники отдела маркетинга врут директору компании! :)

comment:5 by alx, 6 years ago

Milestone: 1 очередь2 очередь

comment:6 by san, 6 years ago

его предназначению

Так предназначение блока определяет отдел маркетинга, разве не так? И он же выпускает каталог, в котором во всех схемах иллюстрирующих пользователям варианты применения платы к ней подключен аналоговый телефон.

Ну, раз уже все работает, то нам и делать тут нечего...

Просто они были в будущем и видели что ты эту функцию реализовал :-D

in reply to:  6 comment:7 by alx, 6 years ago

Replying to san:

Так предназначение блока определяет отдел маркетинга, разве не так?

Не знаю, лучше спроси об этом в отделе маркетинга, а еще лучше у директора. Мне о назначении блока сообщил директор.

comment:8 by san, 6 years ago

Тот же Директор и утверждает каталог, возможно назначение блока немного изменилось в процессе эволюции.

comment:9 by san, 5 years ago

Cc: Director added
Milestone: 2 очередь1 очередь
Priority: среднийполный атас

Алексей, директор поручил мне поставить тебе задачу срочно реализовать функционал п.1. этого тикет для платы VE-02 блока 3U.
На производстве собирают заказ, в котором данный функционал уже заявлен.

Last edited 5 years ago by san (previous) (diff)

in reply to:  9 comment:10 by alx, 5 years ago

Replying to san:

Алексей, директор поручил мне поставить тебе задачу срочно реализовать функционал п.1. этого тикета

Тут я ничего не могу поделать. Поручил - ставь! :)

comment:11 by san, 5 years ago

Поставил, забирай)
К счастью тикет уже есть, выкрутил ему приоритет до предела)

p.s.срочно нужно только п.1, а п.2 тикета, пока что, срочно не требуется исполнять.

Last edited 5 years ago by san (previous) (diff)

comment:12 by alx, 5 years ago

Поддержка "громкого боя" окончаниями FS01 выложена в репозиторий.

comment:13 by san, 5 years ago

Потестировал, всё работает, но возник небольшой вопрос.
Если два телефона FS01 звенят одновременно и у обоих настроен таймер ГБ и он сработал, то если один из телефонов перестать вызывать, то ГБ будет отключен. Это кажется не совсем логичным, думаю что пока звенит хоть один из телефонов ГБ не должен отключаться, но с другой стороны я не могу придумать случай, где у оператора ГРС два телефона...

in reply to:  13 comment:14 by alx, 5 years ago

Replying to san:

Потестировал, всё работает, но возник небольшой вопрос.

...

Это кажется не совсем логичным,

Мне тоже сначала это показалось не совсем правильным, но затем я вспомнил, что

  1. сервер диспетчерской связи у нас тоже не считает вызовы, и работает ровно так же;
  2. на ГРС, насколько я знаю оператор ровно один;
  3. на схемах на стр. 36-37 прошлогоднего Каталога на рабочих местах операторов нарисовано по одному телефону;
  4. наконец, в плате VE-02 не может быть больше 2 модулей FS01, причем один из них занят подключением телефона в домике оператора. Следовательно, на рабочем месте оператора опять-таки остается только один телефон.

думаю что пока звенит хоть один из телефонов ГБ не должен отключаться, но с другой стороны я не могу придумать случай, где у оператора ГРС два телефона...

Я решил, что когда и если такая проблема реально возникнет, нетрудно будет доработать функцию ГБ так, чтобы она подсчитывала вызовы.

Version 0, edited 5 years ago by alx (next)

comment:15 by san, 5 years ago

Согласен.

comment:16 by alx, 4 years ago

In 1796/sip_ua:

Реализована функция "громкого боя" для SIP-пользователей. See #310.

comment:17 by alx, 4 years ago

Resolution: готово
Status: newclosed

Функция "громкого боя" для SIP-пользователей реализована в немного упрощенном варианте. Так как код, формирующий CDR, не отслеживает все ветки вызова, а создает только одну запись на каждый вызов, то и реле громкого боя работает аналогично окончаниям FS01 (см. комментарии выше): на каждый вызов предусмотрен только один таймер громкого боя.

Если приходит вызов, адресованный локальному SIP-пользователю, которому установлен ненулевой таймаут "громкого боя", таймер запускается. Если впоследствии этот вызов попадает другому пользователю с ненулевым таймаутом (а таймер уже запущен или таймер уже закончился и включился "громкий бой"), ничего не произойдет.

Я думаю, что сценарии с ветвлением/перенаправлением вызова разным абонентам выходят далеко за рамки задачи обеспечения связью оператора ГРС, поэтому реализованный вариант должен всех устроить.

comment:18 by alx, 4 years ago

Релиз-кандидаты пакетов sw и ve-02 доступны в репозитории http://192.168.0.62/ipk.

comment:19 by san, 4 years ago

Ок, постараюсь протестировать в ближайшее время.

comment:20 by san, 4 years ago

Нашёл баг.

  • установил Sip-пользователю "таймаут ГБ"=20
  • сохранил конфигурацию в ПЗУ(дискеткой)
  • перезапустил swd
  • открыл настройки Sip-пользователя, а там Таймаут ГБ=0, зато "Группа перехвата вызовов" вдруг стала =20, хотя была 0.

in reply to:  20 comment:21 by alx, 4 years ago

Replying to san:

Нашёл баг.

Спасибо. Исправил в r2026.

comment:22 by san, 4 years ago

Я потестил ещё некоторое время и больше замечаний у меня не возникло.

in reply to:  22 comment:23 by alx, 4 years ago

Replying to san:

Я потестил ещё некоторое время и больше замечаний у меня не возникло.

Рад слышать. Тогда я выпущу обновления сегодня после обеда. Туда заодно попадут и регулировки пауз набора номера в АДАСЭ/FXO.

Note: See TracTickets for help on using tickets.