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

История изменений [назад]

нажмите, чтобы скрыть/показать версии 1
изначальная версия
редактировать

спросил 2019-01-21 17:02:26 +0400

Andrei9385 Gravatar Andrei9385

Не работает вызов по набору цифр

Здравствуйте.

sip

[7777] type=friend host=dynamic insecure=invite username=7777 secret=1213 context=outcoling disallow=all allow=alaw

[1001] type=friend regexten=1001 secret=1234 context=outcoling host=dynamic callerid="1001" <1001> disallow=all allow=alaw allow=ulaw language=ru callgroup=1 pickupgroup=1 qualify=yes canreinvite=yes call-limit=4 nat=no

[1002] type=friend regexten=1002 secret=1234 context=outcoling host=dynamic callerid="1002" <1002> disallow=all allow=alaw allow=ulaw language=ru callgroup=1 pickupgroup=1 qualify=yes canreinvite=yes call-limit=4 nat=no

extensions

[incoming] exten => _X.,1,Goto(menu,s,1) ;если нам кто-то звонит, то входящий звонок из файла sip.conf поступает на этот контекст. После чего звонок переадресовывается с помощью функции Goto на котекст menu

[outcoling] exten => _X.,1,Dial(SIP/zadarma/${EXTEN}) exten => _XXXX,1,Dial(SIP/${EXTEN},,m) exten => 7777,1,Goto(menu,s,1) ;если мы изнутри позвоним на этот номер, то мы сможем проверить работу нашего голосового меню. Благодаря этой строчки нет необходимости для проверки звонить постоянно с внешки

[menu] exten => s,1,Background(/var/lib/asterisk/moh/voicemail/voicemenu) ;здесь ловится звонок из контекста incoming и проигрывается записанное нами приветствие. Не надо указывать расширение файла, достаточно указать само имя файла с записанным голосом exten => 1,1,Dial(SIP/1001,,m) ;если человек нажал цифру 1, то звоним нашему внутреннему абонентку 1001 exten => 2,1,Dial(SIP/1002,,m) ;если человек нажал цифру 2, то звоним нашему внутреннему абонентку 1002 exten => s,n,Wait(5) ;если человек не нажал ничего, ждем 5 секунд и exten => s,n,Dial(SIP/1001&SIP/1002,,m) ; тогда звоним сразу двум абонентам


Не работает этот код:

exten => 1,1,Dial(SIP/1001,,m) ;если человек нажал цифру 1, то звоним нашему внутреннему абонентку 1001 exten => 2,1,Dial(SIP/1002,,m) ;если человек нажал цифру 2, то звоним нашему внутреннему абонентку 1002

Не работает вызов по набору цифр

Здравствуйте.

sip

[7777] 
type=friend 
host=dynamic 
insecure=invite 
username=7777 
secret=1213 
context=outcoling 
disallow=all 
allow=alaw

allow=alaw [1001] type=friend regexten=1001 secret=1234 context=outcoling host=dynamic callerid="1001" <1001> disallow=all allow=alaw allow=ulaw language=ru callgroup=1 pickupgroup=1 qualify=yes canreinvite=yes call-limit=4 nat=no

nat=no [1002] type=friend regexten=1002 secret=1234 context=outcoling host=dynamic callerid="1002" <1002> disallow=all allow=alaw allow=ulaw language=ru callgroup=1 pickupgroup=1 qualify=yes canreinvite=yes call-limit=4 nat=no

extensions

nat=no extensions [incoming] exten => _X.,1,Goto(menu,s,1) _X.,1,Goto(menu,s,1)

;если нам кто-то звонит, то входящий звонок из файла sip.conf поступает на этот контекст. После чего звонок переадресовывается с помощью функции Goto на котекст menu

[outcoling] 
exten => _X.,1,Dial(SIP/zadarma/${EXTEN}) 
exten => _XXXX,1,Dial(SIP/${EXTEN},,m) 
exten => 7777,1,Goto(menu,s,1) 7777,1,Goto(menu,s,1)

;если мы изнутри позвоним на этот номер, то мы сможем проверить работу нашего голосового меню. Благодаря этой строчки нет необходимости для проверки звонить постоянно с внешки

[menu] 
exten => s,1,Background(/var/lib/asterisk/moh/voicemail/voicemenu) s,1,Background(/var/lib/asterisk/moh/voicemail/voicemenu)

;здесь ловится звонок из контекста incoming и проигрывается записанное нами приветствие. Не надо указывать расширение файла, достаточно указать само имя файла с записанным голосом exten => 1,1,Dial(SIP/1001,,m)

exten => 1,1,Dial(SIP/1001,,m)

;если человек нажал цифру 1, то звоним нашему внутреннему абонентку 1001 exten => 2,1,Dial(SIP/1002,,m) 1001

exten => 2,1,Dial(SIP/1002,,m)

;если человек нажал цифру 2, то звоним нашему внутреннему абонентку 1002 exten => s,n,Wait(5) 1002

exten => s,n,Wait(5)

;если человек не нажал ничего, ждем 5 секунд и exten => s,n,Dial(SIP/1001&SIP/1002,,m)

exten => s,n,Dial(SIP/1001&SIP/1002,,m)

; тогда звоним сразу двум абонентам


Не работает этот код:

exten => 1,1,Dial(SIP/1001,,m)

exten => 1,1,Dial(SIP/1001,,m)

;если человек нажал цифру 1, то звоним нашему внутреннему абонентку 1001 exten => 2,1,Dial(SIP/1002,,m) 1001

exten => 2,1,Dial(SIP/1002,,m)

;если человек нажал цифру 2, то звоним нашему внутреннему абонентку 1002

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