Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

Распределение звонков при нескольких 3G модемов

0

В файле extensions-vicidial.conf я использую следующие строки для того чтобы использовать модемы в качестве 2-х линий для CRM Vicidial (с таким же успехом они работают в обычном extensions.conf)

Объясню - у нас было 2 модема 3G которые выступали голосовыми шлюзами для Asterisk - и когда наши агенты (люди использующие астериск под разными учетками) звонили с астериск-сервера, нагрузка распределялась на эти 2 модема (т.е. одновременно могли звонить только двое, т.к. наши 3G модемы не имеют многоканальных режимов).

Специалист по Астериск прописал нижеприведенный диал-план для того чтобы использовать наши существующие 2 модема прописанных в dongle.conf как GSM-001 и GSM-002. Но сегодня я добавил в систему модем GSM-003 и не могу понять как правильно его вписать в этот диалплан, так чтобы с этого момента система начала использовать 3 модема.

exten => _X.,1,DongleStatus(GSM-001,Dongle0_Status)
same => n,DongleStatus(GSM-002,Dongle1_Status)
same => n,GotoIf($[${Dongle0_Status} = 2]?dongle0dial:dongle1check)
same => n(dongle0dial),Dial(Dongle/GSM-001/${EXTEN:2},60,tT)
same => n,Hangup
same => n(dongle1check),GotoIf($[${Dongle1_Status} = 2]?dongle1dial:utel)
same => n(dongle1dial),Dial(Dongle/GSM-002/${EXTEN:2},60,tT)
same => n,Hangup

Но вот незадача - мы купили 3-й модем и хотели бы добавить его в эти строчки кода, но я не понимаю синтаксис и не знаю как добавить модуль GSM-003 в данный алгоритм. Пытался в гугле найти документацию но похоже проще будет спросить, чтобы потом следовать примеру и также добавлять 4-й, 5-й, 6-й свисток.

Будьте добры, подскажите пожалуйста, как можно прописать 3-й модем а также все остальные модемы которые мы будем добавлять в систему в будущем.

удалить закрыть спам изменить тег редактировать

спросил 2013-12-29 21:54:45 +0400

Earl Fox Gravatar Earl Fox
1 1 2

обновил 2013-12-29 21:58:47 +0400

Comments

комрад, спасибо вам большое, вы мой друг. поправьте если неправ - при добавлении четвертого модема, я буду должен вставить в конец эту тележку из трех последних строчек (n(dongle2check), n(dongle2dial) и n,Hangup), плюс должен еще добавить наверху дубль строчки третьей same => n,DongleStatus(GSM-003,Dongle2_Status), верно да?

Earl Fox ( 2013-12-30 02:40:50 +0400 )редактировать

расшифровываем и делаем выводы:

DongleStatus - проверка статуса модема

GotoIF если статус 0-модема = 2, тогда выполнить dongle0dial (позвонить через этот канал, а потом "повесить" трубку - Hangup), иначе выполнить dongle1check в котором опять проверяем статус модема и т.п.

соответственно в твоём примере при добавлении 4-го модема, нужно подправить строку:

same => n(dongle2check),GotoIf($[${Dongle2_Status} = 2]?dongle2dial:utel)

и привести её в вид same => n(dongle2check),GotoIf($[${Dongle2_Status} = 2]?dongle2dial:dongle3check)

в начале по аналогии добавить: same => n,DongleStatus(GSM-004,Dongle3_Status)

а еще в конце по аналогии прописать уже:

same => n(dongle3check),GotoIf($[${Dongle3_Status} = 2]?dongle3dial:utel) same => n(dongle3dial),Dial(Dongle/GSM-004/${EXTEN:2},60,tT)

mention ( 2014-01-04 08:58:35 +0400 )редактировать

2 Ответа

1
exten => _X.,1,DongleStatus(GSM-001,Dongle0_Status)
same => n,DongleStatus(GSM-002,Dongle1_Status)
same => n,DongleStatus(GSM-003,Dongle2_Status)
same => n,GotoIf($[${Dongle0_Status} = 2]?dongle0dial:dongle1check)
same => n(dongle0dial),Dial(Dongle/GSM-001/${EXTEN:2},60,tT)
same => n,Hangup
same => n(dongle1check),GotoIf($[${Dongle1_Status} = 2]?dongle1dial:dongle2check)
same => n(dongle1dial),Dial(Dongle/GSM-002/${EXTEN:2},60,tT)
same => n,Hangup
same => n(dongle2check),GotoIf($[${Dongle2_Status} = 2]?dongle2dial:utel)
same => n(dongle2dial),Dial(Dongle/GSM-003/${EXTEN:2},60,tT)
same => n,Hangup
ссылка удалить спам редактировать

ответил 2013-12-29 22:22:46 +0400

komrad123 Gravatar komrad123
3810 5 3 44

обновил 2013-12-29 22:24:52 +0400

0

Думаю проще в настройках dongle.conf повесить в разделе [defaults] все свистки на группу, например group=1 а при вызове использовать строку вида exten => _+7XXXXXXXXXX,n,Dial(dongle/g1/${EXTEN}) Система сама определит какие донглы в режиме ожидания а какие заняты и перенаправит звонок через нужный канал Очередность использования свистков идет по алфавиту - так как их обозвали в dongle.conf (проверено опытным путем) А чтобы входящий звонок не пропустить во время разговора - советую настроить условную поочередную переадресацию с одной сим-карты на другую а потом на третью, эдакая "многоканальность" получается.

ссылка удалить спам редактировать

ответил 2018-01-28 03:10:07 +0400

LPTsmstools Gravatar LPTsmstools
61 1

Comments

Пять лет , чувак. Это реально уже неактуально.

zzuz ( 2018-01-28 05:36:46 +0400 )редактировать

многоканальность - шикарный совет. Легко и просто палишь все свои карты и их блочат всем блоком сразу.

meral ( 2018-01-28 19:53:39 +0400 )редактировать

блочат? чего ради?

LPTsmstools ( 2018-01-28 21:07:59 +0400 )редактировать

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: 2013-12-29 21:54:45 +0400

Просмотрен: 1,678 раз

Обновлен: Jan 28 '18

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.