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

Авторизация с последующим набором в Asterisk вход. звонка

Проблемы Asterisk без вэб-оболочек и их решения

Модераторы: april22, Zavr2008

Ответить
zil85
Сообщения: 12
Зарегистрирован: 26 фев 2014, 17:31

Авторизация с последующим набором в Asterisk вход. звонка

Сообщение zil85 »

Ребята не судите строго !!!!
Какая мысль !
Сейчас я через телефон захожу по ssh в extensions.conf и просто в ivr открываю правило при нажатии кнопки 5 (например) он набирает номер который я прописал в плане (выгодно звонить за границу через фирму по сотовому)

Хочу это дело автоматизировать. Например при нажатии цифры 5, он ждал пароль, а после авторизации он ждал набора номера

Вроде как DISA может помочь авторизоваться с дальнейшем набором ...... Но инфы мало ..... Может кто то видел такую статейку

Всем заранее спасибо
Glukinho
Сообщения: 661
Зарегистрирован: 07 янв 2011, 20:05

Re: Авторизация с последующим набором в Asterisk вход. звон

Сообщение Glukinho »

core show application Authenticate
Аватара пользователя
Zavr2008
Сообщения: 2213
Зарегистрирован: 27 янв 2011, 00:35
Контактная информация:

Re: Авторизация с последующим набором в Asterisk вход. звон

Сообщение Zavr2008 »

не проще ли юзать механизм callback?
например как сделано у switch-а в своем asteriskmobile?
Российские E1 шлюзы Alvis. Модернизация УПАТС с E1,Подключение к ИС "Антифрод" E1 PRI/SS#7 УВР Телестор, Грифин и др..
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: Авторизация с последующим набором в Asterisk вход. звон

Сообщение ded »

Нет, не проще.
Юзайте DISA: пропишите в общей входящей маршрутизации специализированные маршруты по CID - там же не много у вас человек, которые могут дозваниваться? Укажите им Destination - DISA, и они смогут набирать любой внешний зарубежный.
zil85
Сообщения: 12
Зарегистрирован: 26 фев 2014, 17:31

Re: Авторизация с последующим набором в Asterisk вход. звон

Сообщение 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

Вот, что получаю. Подскажите где рыть ?
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: Авторизация с последующим набором в Asterisk вход. звон

Сообщение 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                                
zil85
Сообщения: 12
Зарегистрирован: 26 фев 2014, 17:31

Re: Авторизация с последующим набором в Asterisk вход. звон

Сообщение zil85 »

exten => 5,1,DISA(no-password|disa-test) поменял n на 1 и сделал отдельный контекст, поведение изменилось происходит сброс, хотя до этого был длинный гудок и после ввода цифр, гудок становился прирывистым и сброс
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
[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) происходит сброс и вот лог
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
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'
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: Авторизация с последующим набором в Asterisk вход. звон

Сообщение ded »

Уберите Вы
exten => 5,1,Authenticate(088011) !

DISA имеет свою аутентификацию, Вы что, не читаете описание синтаксиса?
zil85
Сообщения: 12
Зарегистрирован: 26 фев 2014, 17:31

Re: Авторизация с последующим набором в Asterisk вход. звон

Сообщение 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
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH