Страница 1 из 1

Разный IVR на 2 внешних номера

Добавлено: 27 ноя 2014, 10:58
mastakilla
Подскажите, у меня есть 2 номера в коде 495, при звонке на первый, обрабатывается первое голосовое меню, код ниже:

[incoming]

Код: Выделить всё

exten => 5798,1,Answer(2) ;Podnimaem trubku
exten => 5798,n(start),Background(/var/lib/asterisk/moh/ru/welcome) ;start privetsvie
exten => 5798,n,WaitExten(1) ;zhdem vvoda ot polzovatelya
exten => 5798,n,GotoIf($["${CALLERID(num):0:2}" = "5[87]"]?reject:allow)
exten => _5[78]XX,1(allow), Dial(SIP/${EXTEN})
exten => _5[78]XX,n,Hangup()
exten => _5[12345]XX,1(reject),Dial(DAHDI/g1/${EXTEN})
exten => _5[12345]XX,n,Hangup()
exten => 1,1,Dial(SIP/5716&SIP/5717); Managers
exten => 1,n,Hangup()
exten => 2,1,Dial(SIP/5734); FAX
exten => 2,n,Hangup()
exten => i,1, Dial(SIP/5701,60,m)
exten => i,n, Background(/var/lib/asterisk/moh/ru/the-number-u-dialed) ;privetstvie
exten => i,n, Background(/var/lib/asterisk/moh/ru/T-is-not-available) ;privetstvie
exten => i,n, Background(/var/lib/asterisk/moh/ru/pls-try-call-later) ;privetstvie
exten => i,n, Hangup()
exten => t,1, Dial(SIP/5701,60,m)
exten => t,n, Background(/var/lib/asterisk/moh/ru/the-number-u-dialed) ;privetstvie
exten => t,n, Background(/var/lib/asterisk/moh/ru/T-is-not-available) ;privetstvie
exten => t,n, Background(/var/lib/asterisk/moh/ru/pls-try-call-later) ;privetstvie
exten => t,n, Hangup()
он работает, все отлично, но не работает код ниже, так как вместо exten => i Dial(SIP/5701,60,m) , и exten => t Dial(SIP/5701,60,m) , мне нужно что бы стоял другой номер 5789, так как маршрут разный секретарей.
Как сделать это, ведь не могут же быть 2 экстеншена i,t разные в одном конфиге, а надо :)

Код: Выделить всё

exten => 5898,1,Answer(2) ;Podnimaem trubku
exten => 5898,n(start),Background(/var/lib/asterisk/moh/ru/welcome) ;start privetsvie
exten => 5898,n,WaitExten(1) ;zhdem vvoda ot polzovatelya
exten => 5898,n,GotoIf($["${CALLERID(num):0:2}" = "5[87]"]?reject:allow)
exten => _5[78]XX,1(allow), Dial(SIP/${EXTEN})
exten => _5[78]XX,n,Hangup()
exten => _5[12345]XX,1(reject),Dial(DAHDI/g1/${EXTEN})
exten => _5[12345]XX,n,Hangup()
exten => 1,1,Dial(SIP/5716&SIP/5717); Managers
exten => 1,n,Hangup()
exten => 2,1,Dial(SIP/5734); FAX
exten => 2,n,Hangup()
exten => i,1, Dial(SIP/5789,60,m)
exten => i,n, Background(/var/lib/asterisk/moh/ru/the-number-u-dialed) ;privetstvie
exten => i,n, Background(/var/lib/asterisk/moh/ru/T-is-not-available) ;privetstvie
exten => i,n, Background(/var/lib/asterisk/moh/ru/pls-try-call-later) ;privetstvie
exten => i,n, Hangup()
exten => t,1, Dial(SIP/5789,60,m)
exten => t,n, Background(/var/lib/asterisk/moh/ru/the-number-u-dialed) ;privetstvie
exten => t,n, Background(/var/lib/asterisk/moh/ru/T-is-not-available) ;privetstvie
exten => t,n, Background(/var/lib/asterisk/moh/ru/pls-try-call-later) ;privetstvie
exten => t,n, Hangup()

Re: Разный IVR на 2 внешних номера

Добавлено: 27 ноя 2014, 11:10
Wapo
А слабо по i и t кидать в ДРУГИЕ контексты типа Goto... и не лепить все в одном

Re: Разный IVR на 2 внешних номера

Добавлено: 27 ноя 2014, 11:13
mastakilla
Если бы не слабо было, я бы тут не спрашивал!
Так что если наведете на мысль, буду благодарен.

Re: Разный IVR на 2 внешних номера

Добавлено: 27 ноя 2014, 11:23
Wapo
[input]

exten => 5777,1,Goto(ivr1,s,1)
exten => 5888,1,Goto(ivr2,s,1)

[ivr1]
exten => s,1,.....

[ivr2]
exten => s,1,.....

И кто Вам подсказал такую конструкцию:

Код: Выделить всё

exten => t,n, Background(/var/lib/asterisk/moh/ru/the-number-u-dialed) ;privetstvie
exten => t,n, Background(/var/lib/asterisk/moh/ru/T-is-not-available) ;privetstvie
exten => t,n, Background(/var/lib/asterisk/moh/ru/pls-try-call-later) ;privetstvie
Приложение Background совсем для другого. Читайте книги.

Re: Разный IVR на 2 внешних номера

Добавлено: 27 ноя 2014, 11:37
mastakilla
так я из книги и взял Asterisk будущее телефонии

Re: Разный IVR на 2 внешних номера

Добавлено: 27 ноя 2014, 11:57
mastakilla
Что то теперь при том когда ничего не вводишь сбрасывается линия, в консоли ошибка:

-- Executing [s@secretarmoscow:4] GotoIf("DAHDI/6-1", "0?reject:allow") in new stack
[Nov 27 11:55:26] NOTICE[2882]: pbx.c:3759 pbx_extension_helper: No such label 'allow' in extension 's' in context 'secretarmoscow'
[Nov 27 11:55:26] WARNING[2882]: pbx.c:9681 pbx_parseable_goto: Priority 'allow' must be a number > 0, or valid label

Код: Выделить всё

[incoming]

exten => 5798,1,Goto(secretarcfo,s,1)
exten => 5898,1,Goto(secretarmoscow,s,1)

[secretarmoscow]
exten => s,1,Answer(2) ;Podnimaem trubku
exten => s,n(start),Background(/var/lib/asterisk/moh/ru/welcome) ;start privetsvie
exten => s,n,WaitExten(1) ;zhdem vvoda ot polzovatelya
exten => s,n,GotoIf($["${CALLERID(num):0:2}" = "5[87]"]?reject:allow)
exten => _5[78]XX,1(allow), Dial(SIP/${EXTEN})
exten => _5[78]XX,n,Hangup()
exten => _5[12345]XX,1(reject),Dial(DAHDI/g1/${EXTEN})
exten => _5[12345]XX,n,Hangup()
exten => 1,1,Dial(SIP/5716&SIP/5717); Managers
exten => 1,n,Hangup()
exten => 2,1,Dial(SIP/5734); FAX
exten => 2,n,Hangup()
exten => i,1, Dial(SIP/5780,60,m)
exten => i,n, Background(/var/lib/asterisk/moh/ru/the-number-u-dialed) ;privetstvie
exten => i,n, Background(/var/lib/asterisk/moh/ru/T-is-not-available) ;privetstvie
exten => i,n, Background(/var/lib/asterisk/moh/ru/pls-try-call-later) ;privetstvie
exten => i,n, Hangup()
exten => t,1, Dial(SIP/5780,60,m)
exten => t,n, Background(/var/lib/asterisk/moh/ru/the-number-u-dialed) ;privetstvie
exten => t,n, Background(/var/lib/asterisk/moh/ru/T-is-not-available) ;privetstvie
exten => t,n, Background(/var/lib/asterisk/moh/ru/pls-try-call-later) ;privetstvie
exten => t,n, Hangup()

[secretarcfo]
exten => s,1,Answer(2) ;Podnimaem trubku
exten => s,n(start),Background(/var/lib/asterisk/moh/ru/welcome) ;start privetsvie
exten => s,n,WaitExten(1) ;zhdem vvoda ot polzovatelya
exten => s,n,GotoIf($["${CALLERID(num):0:2}" = "5[87]"]?reject:allow)
exten => _5[78]XX,1(allow), Dial(SIP/${EXTEN})
exten => _5[78]XX,n,Hangup()
exten => _5[12345]XX,1(reject),Dial(DAHDI/g1/${EXTEN})
exten => _5[12345]XX,n,Hangup()
exten => 1,1,Dial(SIP/5716&SIP/5717); Managers
exten => 1,n,Hangup()
exten => 2,1,Dial(SIP/5734); FAX
exten => 2,n,Hangup()
exten => i,1, Dial(SIP/5701,60,m)
exten => i,n, Background(/var/lib/asterisk/moh/ru/the-number-u-dialed) ;privetstvie
exten => i,n, Background(/var/lib/asterisk/moh/ru/T-is-not-available) ;privetstvie
exten => i,n, Background(/var/lib/asterisk/moh/ru/pls-try-call-later) ;privetstvie
exten => i,n, Hangup()
exten => t,1, Dial(SIP/5701,60,m)
exten => t,n, Background(/var/lib/asterisk/moh/ru/the-number-u-dialed) ;privetstvie
exten => t,n, Background(/var/lib/asterisk/moh/ru/T-is-not-available) ;privetstvie
exten => t,n, Background(/var/lib/asterisk/moh/ru/pls-try-call-later) ;privetstvie
exten => t,n, Hangup()

Re: Разный IVR на 2 внешних номера

Добавлено: 27 ноя 2014, 12:05
ded
Вам Астериск пишет на чистом английском языке - что у вас неправильно.

Вам бы книгу почитать про Будущее телефонии, ибо ваш код править - неблагодарное дело.
No such label 'allow' in extension 's' in context 'secretarmoscow'
Priority 'allow' must be a number > 0, or valid label

Код: Выделить всё

[secretarmoscow]
exten => s,1,Answer(2) ;Podnimaem trubku
exten => s,n(start),Background(/var/lib/asterisk/moh/ru/welcome) ;start privetsvie
exten => s,n,WaitExten(1) ;zhdem vvoda ot polzovatelya
exten => s,n,GotoIf($["${CALLERID(num):0:2}" = "5[87]"]?reject:allow)
exten => s,n(allow), Dial(SIP/${EXTEN})
exten => s,n,Hangup()