Страница 1 из 1
Авторизация с последующим набором в Asterisk вход. звонка
Добавлено: 03 сен 2015, 16:26
zil85
Ребята не судите строго !!!!
Какая мысль !
Сейчас я через телефон захожу по ssh в extensions.conf и просто в ivr открываю правило при нажатии кнопки 5 (например) он набирает номер который я прописал в плане (выгодно звонить за границу через фирму по сотовому)
Хочу это дело автоматизировать. Например при нажатии цифры 5, он ждал пароль, а после авторизации он ждал набора номера
Вроде как DISA может помочь авторизоваться с дальнейшем набором ...... Но инфы мало ..... Может кто то видел такую статейку
Всем заранее спасибо
Re: Авторизация с последующим набором в Asterisk вход. звон
Добавлено: 03 сен 2015, 16:49
Glukinho
core show application Authenticate
Re: Авторизация с последующим набором в Asterisk вход. звон
Добавлено: 03 сен 2015, 17:23
Zavr2008
не проще ли юзать механизм callback?
например как сделано у switch-а в своем
asteriskmobile?
Re: Авторизация с последующим набором в Asterisk вход. звон
Добавлено: 03 сен 2015, 17:48
ded
Нет, не проще.
Юзайте DISA: пропишите в общей входящей маршрутизации специализированные маршруты по CID - там же не много у вас человек, которые могут дозваниваться? Укажите им Destination - DISA, и они смогут набирать любой внешний зарубежный.
Re: Авторизация с последующим набором в Asterisk вход. звон
Добавлено: 04 сен 2015, 11:00
zil85
[in]
exten => _X.,1,Goto(menu,s,1)
[menu]
exten => s,1,Set(home="/var/spool/asterisk")
exten => s,n,Wait(1)
exten => s,n,Background(${home}/Hello)
exten => s,n,WaitExten(5)
exten => s,n,Dial(SIP/101)
exten => 1,1,Dial(SIP/108)
exten => 2,1,Dial(SIP/105)
exten => 3,1,Dial(SIP/104)
exten => 5,1,Authenticate(088011)
exten => 5,n,DISA(no-password|out)
exten => i,1,Dial(SIP/101)
[out]
exten => _X.,1,Dial(SIP/XXXXX/${EXTEN})
exten => _X.,1,Dial(SIP/zadarma2/${EXTEN})
exten => _X.,1,Dial(SIP/zadarma3/${EXTEN})
-- Executing [5@menu:2] DISA("SIP/XXXXX-00000212", "no-password|disatest") in new stack
[Sep 4 10:52:14] WARNING[27009]: pbx.c:1484 pbx_exec: The application delimiter is now the comma, not the pipe. Did you forget to convert your dialplan? (DISA(no-password|out))
[Sep 4 10:52:29] WARNING[27009]: app_disa.c:264 disa_exec: DISA password file no-password|disatest not found on chan SIP/XXXXX-00000212
Вот, что получаю. Подскажите где рыть ?
Re: Авторизация с последующим набором в Asterisk вход. звон
Добавлено: 04 сен 2015, 11:08
ded
Asterisk указывает Вам куда рыть, правда - не совсем ясно. Передача параметров через пайп устарела, заменена на запятые. А там, где в описании синтаксиса комманд и опций присутствует пайп - | он используется как логический элемент ИЛИ, что и описано тут -
no-password|out
Код: Выделить всё
*CLI> core show application DISA
-= Info about application 'DISA' =-
[Synopsis]
Direct Inward System Access.
[Description]
The DISA, Direct Inward System Access, application allows someone from outside
the telephone switch (PBX) to obtain an *internal* system dialtone and to
place calls from it as if they were placing a call from within the switch.
DISA plays a dialtone. The user enters their numeric passcode, followed by
the pound sign '#'. If the passcode is correct, the user is then given system
dialtone within <context> on which a call may be placed. If the user enters
an invalid extension and extension 'i' exists in the specified <context>,
it will be used.
Be aware that using this may compromise the security of your PBX.
The arguments to this application (in "extensions.conf") allow either
specification of a single global <passcode> (that everyone uses), or individual
passcodes contained in a file (<filename>).
The file that contains the passcodes (if used) allows a complete specification
of all of the same arguments available on the command line, with the sole
exception of the options. The file may contain blank lines, or comments
starting with '#' or ';'.
[Syntax]
DISA(passcode|filename[,context[,cid[,mailbox[@context][,options]]]])
[Arguments]
passcode|filename
If you need to present a DISA dialtone without entering a password,
simply set <passcode> to 'no-password'
You may specified a <filename> instead of a <passcode>, this filename
must contain individual passcodes
context
Re: Авторизация с последующим набором в Asterisk вход. звон
Добавлено: 04 сен 2015, 12:24
zil85
exten => 5,1,DISA(no-password|disa-test) поменял n на 1 и сделал отдельный контекст, поведение изменилось происходит сброс, хотя до этого был длинный гудок и после ввода цифр, гудок становился прирывистым и сброс
[in]
exten => _X.,1,Goto(menu,s,1)
[menu]
exten => s,1,Set(home="/var/spool/asterisk")
exten => s,n,Wait(1)
exten => s,n,Background(${home}/Hello)
exten => s,n,WaitExten(5)
exten => s,n,Dial(SIP/101)
exten => 1,1,Dial(SIP/108)
exten => 2,1,Dial(SIP/105)
exten => 3,1,Dial(SIP/104)
exten => 5,1,Authenticate(088011)
exten => 5,1,DISA(no-password|disa-test) поменял n на 1
exten => i,1,Dial(SIP/101)
[out]
exten => _X.,1,Dial(SIP/XXXXX/${EXTEN})
exten => _X.,1,Dial(SIP/zadarma2/${EXTEN})
exten => _X.,1,Dial(SIP/zadarma3/${EXTEN})
[disa-test]
include => in
include => out
После ввода Authenticate(088011) происходит сброс и вот лог
Using SIP RTP CoS mark 5
-- Executing [ХХХХХ@zadarma-in:1] Goto("SIP/ХХХХХ-0000021d", "menu,s,1") in new stack
-- Goto (menu,s,1)
-- Executing [s@menu:1] Set("SIP/ХХХХХ-0000021d", "home="/var/spool/asterisk"") in new stack
-- Executing [s@menu:2] Wait("SIP/ХХХХХ-0000021d", "1") in new stack
-- Executing [s@menu:3] BackGround("SIP/ХХХХХ-0000021d", ""/var/spool/asterisk"/Hello") in new stack
-- <SIP/ХХХХХ-0000021d> Playing '/var/spool/asterisk/Hello.slin' (language 'en')
-- Executing [5@menu:1] Authenticate("SIP/ХХХХХ-0000021d", "088011") in new stack
-- <SIP/ХХХХХ-0000021d> Playing 'agent-pass.ulaw' (language 'en')
-- <SIP/ХХХХХ-0000021d> Playing 'auth-thankyou.ulaw' (language 'en')
-- Auto fallthrough, channel 'SIP/ХХХХХ-0000021d' status is 'UNKNOWN'
Re: Авторизация с последующим набором в Asterisk вход. звон
Добавлено: 04 сен 2015, 12:32
ded
Уберите Вы
exten => 5,1,Authenticate(088011) !
DISA имеет свою аутентификацию, Вы что, не читаете описание синтаксиса?
Re: Авторизация с последующим набором в Asterisk вход. звон
Добавлено: 04 сен 2015, 12:51
zil85
Всем спасибо разобрался !!!!
[in]
exten => _X.,1,Goto(menu,s,1)
[menu]
exten => s,1,Set(home="/var/spool/asterisk")
exten => s,n,Wait(1)
exten => s,n,Background(${home}/Hello)
exten => s,n,WaitExten(5)
exten => s,n,Dial(SIP/101)
exten => 1,1,Dial(SIP/108)
exten => 2,1,Dial(SIP/105)
exten => 3,1,Dial(SIP/104)
exten => 5,1,Authenticate(088011) Мне так проще с авторизацией !!!! DISA не выеживается !
exten => 5,n,DISA(no-password,disa-test) ОБРАТНО n и самое главное - Заменить | на ,
exten => i,1,Dial(SIP/101)
[out]
exten => _X.,1,Dial(SIP/XXXXX/${EXTEN})
exten => _X.,1,Dial(SIP/zadarma2/${EXTEN})
exten => _X.,1,Dial(SIP/zadarma3/${EXTEN})
[disa-test]
;include => in - ЗАКОМЕНТИРОВАТЬ (иначе,в моем случае бъется обратно в IVR)
include => out