Диалпланы Asterisk
Версия от 14:13, 10 сентября 2019; Root (обсуждение | вклад)
Исходящие звонки в ёмкости 74951690XXX в коротком формате
exten => _1690XXX,1,NoOp(Outgoing call inside network in short format) exten => _1690XXX,n,Set(CALLERID(ALL)=${CALLERID(num)}) exten => _1690XXX,n,Dial(SIP/peer/7495${EXTEN}) exten => _1690XXX,n,Hangup()
Исходящие звонки в ёмкости 7495XXXXXXX/7499XXXXXXX в коротком формате внутри префикса
exten => _XXXXXXX,1,NoOp(Outgoing call of short number by ${CALLERID(num)}) exten => _XXXXXXX,n,Set(first_three=${CALLERID(num):1:3}) exten => _XXXXXXX,n,NoOp(---first_three digits are ${first_three}) exten => _XXXXXXX,n,Set(CALLERID(ALL)=${CALLERID(num)}) exten => _XXXXXXX,n,Dial(SIP/peer/7${first_three}${EXTEN}) exten => _XXXXXXX,n,Hangup()
Исходящие звонки в ёмкости 74951690XXX в длинном формате со сменой 8 на 7
exten => _84951690XXX,1,NoOp(Outgoing call inside network in long format) exten => _84951690XXX,n,Set(CALLERID(ALL)=${CALLERID(num)}) exten => _84951690XXX,n,Dial(SIP/peer/7${EXTEN:1}) exten => _84951690XXX,n,Hangup()
Исходящие на межгород
exten => _8XXXXXXXXXX,1,NoOp(Outgoing call) exten => _8XXXXXXXXXX,n,Set(CALLERID(ALL)=${CALLERID(num)}) exten => _8XXXXXXXXXX,n,Dial(SIP/peer/7${EXTEN:1}) exten => _8XXXXXXXXXX,n,Hangup()
exten => _7XXXXXXXXXX,1,NoOp(Outgoing call) exten => _7XXXXXXXXXX,n,Set(CALLERID(ALL)=${CALLERID(num)}) exten => _7XXXXXXXXXX,n,Dial(SIP/peer/${EXTEN}) exten => _7XXXXXXXXXX,n,Hangup()
exten => _+7XXXXXXXXXX,1,NoOp(Outgoing call) exten => _+7XXXXXXXXXX,n,Set(CALLERID(ALL)=${CALLERID(num)}) exten => _+7XXXXXXXXXX,n,Dial(SIP/peer/${EXTEN:1}) exten => _+7XXXXXXXXXX,n,Hangup()
Исходящие на международку
exten => _810X.,1,NoOp(Outgoing call ABROAD from ${CALLERID(num)}) exten => _810X.,n,Set(abroad_allowed=${SHELL(php /srv/abroad_allowed.php ${CALLERID(num)})}) exten => _810X.,n,GotoIf($[${abroad_allowed}!=1]?hangup) exten => _810X.,n,Set(CALLERID(ALL)=${CALLERID(num)) exten => _810X.,n,Dial(SIP/peer/${EXTEN:3}) exten => _810X.,n(hangup),Hangup
Входящие
exten => _74951690001,1,NoOp(Incoming call, SIP device SIP/7${EXTEN} state is ${DEVICE_STATE(SIP/7${EXTEN})) exten => _74951690001,n,ExecIf($[ ${DEVICE_STATE(SIP/7${EXTEN})} = INUSE ]:Busy) ;нужно для корректного ответа Busy, чтобы не было звонка "по второй линии" при входящем (еще вариант - в место Busy юзать Set(DIALSTATUS=BUSY)) exten => _74951690001,n,Set(CALLERID(ALL)=7${CALLERID(num)}) exten => _74951690001,n,Dial(SIP/7${EXTEN},90,rR) exten => _74951690001,n,Hangup() этот фрагмент нужен, чтобы говорить при звонке на непрописанный номер в сторону оператора "Unassigned Number" exten => _74951690XXX,1,NoOp(Incoming call to UNASSIGNED number) exten => _74951690XXX,n,Hangup(1)
Входящий звонок и ivr
[incoming] exten => _X.,1,NoOp(Incoming call) exten => _X.,n,Goto(ivr,s,1) [ivr] exten => s,1,Answer() exten => s,n,Background(ivr) exten => s,n,WaitExten(3) exten => s,n,Dial(SIP/1200,10) exten => s,n,Hangup() exten => 1,1,Dial(SIP/1201) exten => 1,n,Hangup() exten => 2,1,Playback(filename) exten => 2,n,Hangup() exten => i,1,Playback(pbx-invalid) exten => i,n,Goto(ivr,s,1)