1 | изначальная версия редактировать | |
Здравствуйте.
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
2 | No.2 Revision редактировать |
Здравствуйте.
sip
[7777]
type=friend
host=dynamic
insecure=invite
username=7777
secret=1213
context=outcoling
disallow=all
extensions
[outcoling]
exten => _X.,1,Dial(SIP/zadarma/${EXTEN})
exten => _XXXX,1,Dial(SIP/${EXTEN},,m)
exten =>
[menu]
exten => exten => 1,1,Dial(SIP/1001,,m)
;если человек нажал цифру 1, то звоним нашему внутреннему абонентку exten => 2,1,Dial(SIP/1002,,m)
;если человек нажал цифру 2, то звоним нашему внутреннему абонентку exten => s,n,Wait(5)
;если человек не нажал ничего, ждем 5 секунд и exten => s,n,Dial(SIP/1001&SIP/1002,,m)
; тогда звоним сразу двум абонентам Не работает этот код:
exten => 1,1,Dial(SIP/1001,,m)
exten => 1,1,Dial(SIP/1001,,m)
;если человек нажал цифру 1, то звоним нашему внутреннему абонентку exten => 2,1,Dial(SIP/1002,,m)
;если человек нажал цифру 2, то звоним нашему внутреннему абонентку 1002 Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.