.call файлы и их использование в Asterisk с поставленным FreePBX
а) номер абонента (который мой бэкенд будет цапать с веб-страницы)
б) номер ринг-группы манагеров
Не знаю, какой писать context, что значит channel и только догадываюсь, что account и callerid есть одно и то же. В общем, под конец короткого дня у меня дикая каша в голове и чтоб хоть немного оправдать свое будущее безделье в течение следующих 3-4 часов я пишу сюда. Форумчане, огромное спасибо тому кто этот пост осилит и попытается помочь.
Хотя бы - ссылками на маны. eng/rus не имеет значения, читаю однаково хорошо. Лишь бы описано было внятно.
_________________
--------------------
... - города берет!
Последний раз редактировалось: FloeHetling (Ср Май 14, 2014 14:50)
https://wiki.asterisk.org/wiki/display/AST/Asterisk+Call+Files?src=search
| Цитата: |
| Я узнал о .call файлах и о том, что для них нужен pbx_spool.so. Но в modules.conf у себя я его не нашел |
проверить собран ли модуль - /usr/lib(lib64)/asterisk/modules
проверить загружен ли модуль - cli> module show like pbx_spool.so
а modules.conf - для определения способа загрузки модулей, очередности и загрузка самих модулей
Решение:
1. Если платить:
- коммерческий модуль webcallback от FreePBX Distro.
2. Разбираться далее самому.
Если реализуете webcallback, как по мне лучше делать Originate из AMI интерфейса Asterisk.
Сылки для изучения:
https://wiki.asterisk.org/wiki/display/AST/Asterisk+Call+Files
http://voip.rus.net/tiki-index.php?page= ... o-dial+out
| Link @ Пт Май 09, 2014 01:29 писал(а): | ||
| Цитата: |
| Я узнал о .call файлах и о том, что для них нужен pbx_spool.so. Но в modules.conf у себя я его не нашел |
проверить собран ли модуль - /usr/lib(lib64)/asterisk/modules
проверить загружен ли модуль - cli> module show like pbx_spool.so
а modules.conf - для определения способа загрузки модулей, очередности и загрузка самих модулей
Решение:
1. Если платить:
- коммерческий модуль webcallback от FreePBX Distro.
2. Разбираться далее самому.
Если реализуете webcallback, как по мне лучше делать Originate из AMI интерфейса Asterisk.
Сылки для изучения:
https://wiki.asterisk.org/wiki/display/AST/Asterisk+Call+Files
http://voip.rus.net/tiki-index.php?page= ... o-dial+out
И хоть я забив на форум нашел это практически сразу же - все равно огромное спасибо.
По крайней мере я не знал о том, что есть модуль webcallback. Деньги мне на него, возможно, дадут. Однако - хочу разобраться во всем самостоятельно, понять систему.
Originate прост, когда у тебя есть под рукой оболочка. Удобен для скриптов и cron. Но мне хочется все таки понять, как работают call файлы. На данный момент я разобрался практически во всем, кроме одного - что есть Channel (точнее - что он есть для системы, когда она читает этот файл), как его обозначают в подобных файлах (синтаксис-то), каким он будет если нужно соединить Ring Group 200 в FreePBX с нашим абонентом.
На данный момент предположительная структура файла такова:
Channel:
CallerID: 204 ;заменить имя и номер переменными - номер абонента. согласно системе воспримет даже 85551112233 если настроить паттерн
MaxRetries: 0 ;не нужно циклить звонок при неудаче. Пока.
WaitTime: 60 ;подождем минуту пока абонент не возьмет трубку
Context: from-internal ;контекст, включающий в себя субконтексты на миллион и один случай в FreePBX - собственно, обработчик вызова
Extension: 203 ;наш оператор. При успехе подставить ринг-группу
AlwaysDelete: No ;это для возможности реализации планировщика звонков
Archive: Yes ;для дебага будем складировать файлы в подпапку. Пока.
Все понятно. Кроме одного. Если не найду сам - очень надеюсь на указующий перст любого местного сиповода
_________________
--------------------
... - города берет!
Например, на вебформе вы просите ввести человека номер для обратного звонка, потом введеный номер пишите в Channel:SIP/вашпров/Введеныйномер
Тогда астер, сначала создать это канал, то есть позвонит через вашего SIP прова этому человеку, и когда тот поднимет трубку перекинет его в Context: from-internal, на Extension: 203.
Или, если для вашего примера написать такой кол-файл:
| Код: |
| Channel: SIP/204 CallerID: 204 ;заменить имя и номер переменными - номер абонента. согласно системе воспримет даже 85551112233 если настроить паттерн MaxRetries: 0 ;не нужно циклить звонок при неудаче. Пока. WaitTime: 60 ;подождем минуту пока абонент не возьмет трубку Context: from-internal ;контекст, включающий в себя субконтексты на миллион и один случай в FreePBX - собственно, обработчик вызова Extension: 203 ;наш оператор. При успехе подставить ринг-группу AlwaysDelete: No ;это для возможности реализации планировщика звонков Archive: Yes ;для дебага будем складировать файлы в подпапку. Пока. |
То сначала зазвонит ваш аппарат зарегистрированый на вашем астере под номер 204, после поднятия трубки на котором зазвонит ваш аппарат зарегистрированный под 203 номером, и когда тот поднимет трубку -- их соединят.
Вообще я думал, что это довольно очевидно описано по ссылкам данным выше.
На самом деле все очевидно, это да. Но о том, что делает эта запись - не написано, о том, какой формат соблюдать - тоже. Примеры - есть, но опять же формат написания разный.
_________________
--------------------
... - города берет!
Channel: - The channel to use for the new call, in the form technology/resource as in the Dial application. This value is required.
| Цитата: |
| каким он будет если нужно соединить Ring Group 200 в FreePBX с нашим абонентом. |
в вашем случаи это будет
Channel: Local/200@from-internal