Чат  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Dial (m) или замена гудков на moh

Проблемы и их решения Asterisk как такового

Модератор: april22

Dial (m) или замена гудков на moh

Сообщение Leo » 12 дек 2018, 01:52

Доброго Вам здоровья, форумчане!
Обращаюсь к Вам за помощью.
Проблема стоит следующего характера.
В общем у меня сейчас в проде крутиться сервер с астериском и некоторыми дополнительными прикрученными к нему системами. В частности одна из них это приложение написанное на с++ задача которого, в принципе, та же что и у астера - во-первых правильно делить агентов на команды, во-вторых распределять агентов по определённому критерию, ну и более гибкая реализация диалпланов в коде с помощью CAGI.
Собственно по сабжу. Сейчас я пытаюсь запилить функционал как у коллцентров банков, к примеру (не всех). Во время дозвона клиента к агентам, он слышит музыку на удержании, либо же какое то сообщение до того момента, пока кто то из агентов не возьмёт трубку. Моя проблема заключается в том , что так как функция Dial у меня гоняется по циклу , и вызывает не одного агента и не один раз, то Dial(m) в моём случае перезапускает трек MoH каждый раз когда исполнение кода доходит до Dial . То есть:
1) Приходит звонок, приложение вытягивает агентов относящихся к команде. В этот момент начинает проигрываться MoH;
2) Если агенты есть , начинается дозвон (Dial(m)), музыка всё так же продолжает играть , гудков нету , но;
3) Если Nobody Pickup , то музыка останавливается , и трек запускается с самого начала.

Я пробовал использовать много DialplanApplication-ов , но пришёл к выводу, что это всё не подойдёт в любом случае, т.к. гудки в моём случае устраняет только опция m , и только во время Dial.
Я залез в астеровские исходники (модуль dial.c) и нашёл там то , что действительно подтверждает вывод CLI. При использовании m музыка играет только на период noanswertimeout, и потом отключается.

Так вот собственно вопрос: в теории я могу залезть в этот модуль и либо дописать в него какую-то дополнительную опцию для этого функционала, либо замодить существующую, но может быть всё таки есть какой-то другой способ реализовать желаемый мной функционал нативными средствами астера (не найденные мною DialplanFunctions, DialplanApplications, возможно какие то доп.модули, фичи, etc ) , возможно я что то пропустил? (книгу телефония будущего я читал)

Буду признателен за любую подсказку в этом направлении.
Большое спасибо!
Всем добра.
Leo
 
Сообщений: 2
Зарегистрирован: 12 дек 2018, 01:26

Re: Dial (m) или замена гудков на moh

Сообщение ded » 12 дек 2018, 11:35

Сделайте ещё один класс музыки в удержании - streaming, и подключите радио вместо MoH.
ded
 
Сообщений: 13484
Зарегистрирован: 26 авг 2010, 19:00

Re: Dial (m) или замена гудков на moh

Сообщение Leo » 13 дек 2018, 13:50

Потрясающее решение!
Немного изменил код, добавил класс музыки, и всё работает как часики. Теперь ещё допилю какой-нибудь скриптик, чтобы оно перезапускало трек при каждом вызове (если конфликтов с астером у плеера не возникнет) и вообще будет огонь.
Спасибо большое!
Leo
 
Сообщений: 2
Зарегистрирован: 12 дек 2018, 01:26

Re: Dial (m) или замена гудков на moh

Сообщение whoim » 13 дек 2018, 15:52

Leo писал(а):Потрясающее решение!

присоединяюсь полностью, надо запомнить
облачные и локальные сервера asterisk/freepbx/a2billing/crm с полной техподдержкой. skype: whoim2, sipuri: whoim@asterisk.ru
Аватар пользователя
whoim
 
Сообщений: 758
Зарегистрирован: 26 ноя 2013, 23:25
Откуда: Краснодар


Вернуться в Конфигурация и настройка Asterisk

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8

© 2008 — 2019 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH