Всем доброго дня помогите настроить диал план
есть директор с номером 500
фин.директор с номером 510
Ком. директор с номером 520
Секретарша с номером 100
стоит asterisk 13 консольная версия
Помогите настроить диал план чтобы директору на номер 500 могли звонить только с номеров 510,520,100 а сам директор мог звонить на все внутренние номера .
Как можно так сделать инфо в интернете мало
Привет. Скинь свой теперешний диалплан, я завтра постараюсь подсказать, что надо изменить.
[call-out]
exten => 999,1,Answer()
exten => 999,n,ConfBridge(1,confer)
exten => _X.,1,Set(fname=${STRFTIME(${EPOCH},,%Y%m%d%H%M)}-${CALLERID(number)}-${EXTEN})
exten => _X.,2,MixMonitor(/records/callrecords/${fname}.wav)
exten => _XXX,1,Dial(SIP/${EXTEN},200,m,tT)
exten => _XXX,n,Set(dstNUM=${EXTEN})
exten => _7810X.,1,Hangup()
exten => _8810X.,1,Hangup()
exten => _777,1,Goto(menu,s,1)
exten => _500,1,VoiceMailMain()
exten => _89X.,1,Hangup()
exten => _79X.,1,Hangup()
exten => *8,1,PickUP()
[menu]
exten => s,1,Set(fname=${STRFTIME(${EPOCH},,%Y%m%d%H%M)}-${CALLERID(number)}-${EXTEN})
exten => s,2,MixMonitor(/records/callrecords/${fname}.wav)
exten => s,3,Background(/records/voicemenu/sis)
exten => s,4,Waitexten(5)
exten => _XXX,1,Dial(SIP/${EXTEN})
exten => _XXX,2,Playback(privacy-incorrect)
exten => _XXX,3,Goto(menu,s,1)
exten => s,5,Background(/records/voicemenu/line)
exten => s,6,Dial(SIP/100,50,m,tT)
exten => s,n(goodbye),Playback(vm-goodbye)
exten => s,n(end),Hangup()
[incoming]
exten => _X.,1,GotoIfTime(00:00-23:59|sat-sun|*|*?workinghours,s,1)
exten => _X.,2,GotoIfTime(19:00-09:00|mon-fri|*|*?workinghours,s,1)
exten => _X.,3,Goto(menu,s,1)
Вот такой у меня сейчас диал план
;exten => 555,1,Noop(New call received from ${CALLERID(all)} to ${EXTEN}-)
;same => n,GotoIf($["${CALLERID(num)}" = "100"]?da)
;same => n,Dial(SIP/100,30,m,Tt)
;same => n,Hangup()
;same => n(da),Dial(SIP/100,30,m,Tt)
;same => n,Hangup()
в интернете пишут что надо добавить это но не пойму почему так
Я особо сильно не заморачивался по каким-то особым ситуациям в диалплане, но первое, что приходит в голову, это сделать вот так:
[call-out]
exten => 999,1,Answer()
exten => 999,n,ConfBridge(1,confer)
exten => _X.,1,Set(fname=${STRFTIME(${EPOCH},,%Y%m%d%H%M)}-${CALLERID(number)}-${EXTEN})
exten => _X.,2,MixMonitor(/records/callrecords/${fname}.wav)
exten => 500/510,1,Dial(SIP/500,200,m,tT)
exten => 500/520,1,Dial(SIP/500,200,m,tT)
exten => 500/100,1,Dial(SIP/500,200,m,tT)
exten => 500,1,Hangup()
exten => _XXX,1,Dial(SIP/${EXTEN},200,m,tT)
exten => _XXX,n,Set(dstNUM=${EXTEN})
exten => _7810X.,1,Hangup()
exten => _8810X.,1,Hangup()
exten => _777,1,Goto(menu,s,1)
exten => _500,1,VoiceMailMain()
exten => _89X.,1,Hangup()
exten => _79X.,1,Hangup()
exten => *8,1,PickUP()
Идея такая. Диалплан читается последовательно сверху вниз. С такими настройками получается, что номера 510, 520 и 100 могут звонить на 500. Все остальные, набравшие 500, попадут на Hangup и будут сброшены. Все остальные звонки будут работать так же как и работало.
Если нужно, чтобы из menu тоже нельзя было позвонить директору, скопировать эти же 4 строки перед _ХХХ.
Спасибо вам огромное за помощь