Привет всем есть Номера
890332[3-4]xxxx 890501[5-6]xxxx 890536[5-7]xxxx 890615[6-9]xxxx 890639[5-9]xxxx 890931[5-9]XXXX
8909322XXXXX 896031[5-9]XXXX 8960329xxxx И есть 4 канала GSM (d0 d1 d2 d3)
Теперь как сделать проще если например 1 gsm занят то переходил на 2 GSM и так далее На ум приходит вот такая конструкция Для одного
890332[3-4]xxxxX.,1, DIAL(dongle/d0/${EXTEN},100,RrT)
890332[3-4]xxxxX.,1, DIAL(dongle/d1/${EXTEN},100,RrT)
890332[3-4]xxxxX.,1, DIAL(dongle/d2/${EXTEN},100,RrT)
890332[3-4]xxxxX.,1, DIAL(dongle/d3/${EXTEN},100,RrT)
Но для каждого делать этоже пипеец На ум приходит макрос но тут я вступор стал как
[macro-dial-mob] ;макрос “что делать при наборе на мобилу”
exten => s,1,Answer() ;поднимаем трубку
exten => s,2,Dial(${ARG2},20,tT) **что тут писать тоо**
exten => s,3,Goto(s-${DIALSTATUS},1) ;отрабатываем код полученный от приложения Dial.
exten => s-BUSY,1, **что тут писать тоо**
exten => _s-.,1,Hangup ;кладём трубку
exten => _890332[3-4]xxxx,1,Macro(dial-mob,100,RrT) что тут писать тоо
Может кто нить подскажет как быть.
там написать Noop. тоесть ничего не делать. выйдет из макроса и продолжит дальше. а в dial добавить ключ g
а вообще проще так
[macro-dial-mob] ;макрос “что делать при наборе на мобилу”
exten => s,1,Answer() ;поднимаем трубку
exten => s,2,Dial(${ARG2},20,tgT) **что тут писать тоо**
exten => s,3,GotoIF($[ "${DIALSTATUS}" != "BUSY" ]?Hangup,1) ;отрабатываем код полученный от приложения Dial.
exten => Hangup,1,Hangup ;кладём трубку
Не совсем так meral. Правильнее контролировать через DongleStatus.
exten => _890332[3-4]xxxx,1,DongleStatus(dongle0,Dongle0_Status)
same => n,DongleStatus(dongle1,Dongle1_Status)
same => n,GotoIf($[${Dongle0_Status} = 2]?dongle0dial:dongle1check)
same => n(dongle0dial),Dial(Dongle/dongle0/${EXTEN:1},60,tT)
same => n,Hangup
same => n(dongle1check),GotoIf($[${Dongle1_Status} = 2]?dongle1dial:utel)
same => n(dongle1dial),Dial(Dongle/dongle1/${EXTEN:1},60,tT)
same => n,Hangup
Как то так. Можно еще в группу объединить если вас это устроит.
Пока состряпал такой макрос
[macro-perebor];
;
; Standard extension macro:
; ${ARG1} - Extension
s,1, DIAL(dongle/d0/${ARG1},100,RrT)
s,1, DIAL(dongle/d1/${ARG1},100,RrT)
s,1, DIAL(dongle/d2/${ARG1},100,RrT)
s,1, DIAL(dongle/d3/${ARG1},100,RrT)
exten => 890332[3-4]xxxxX,1, Macro(perebor,${EXTEN})
Во пока вот нету возможности проверить так как жду симки ((( Поправьте если не правильно??
Еще это можно было через очереди сделать.
Задан: Jan 24 '12
Просмотрен: 1,648 раз
Обновлен: Dec 15 '14
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.