Пример маршрутизации по номеру вызывающего абонента.
[default]
exten => 100/1234567,1,Congestion
exten => 100,1,Dial(DAHDI/1,20)
exten => 100,2,Voicemail(u100)
exten => 100,102,Voicemail(b100)
Если вызывается екстеншен 100 вызов направляется на интерфейс DAHDI/1, кроме случая если вызов осуществляет абонент 1234567. В этом случае вызов отклоняется. На примере видно, что идентификатор вызывающего абонента задается формой '/1234567'.
Ещё один пример маршрутизации, теперь по отсутствию CallerID.
[default]
exten => 100/,1,Zapateller
exten => 100,1,Wait(0)
exten => 100,2,Dial(DAHDI/1)
В данном примере если поступает звонок без CallerID, вызов блокируется с помощью приложения Zapateller()
Вызов телефонов в определенной последовательности
Часто требуется чтобы вызов по неответу перешел на другой телефон. Рассмотрим как жто сделать на примере «оператор».
[operator]
exten => 0,1,Dial(DAHDI/1,15)
exten => 0,2,Dial(DAHDI/1&DAHDI/2&DAHDI/3,15)
exten => 0,3,Playback(companymailbox)
exten => 0,4,Voicemail(100)
exten => 0,5,Hangup
Вызов поступает на DAHDI/1, в случае если телефон занят или не отвечает в течении 15 секунд, звонок переходит на группу телефонов, включая и DAHDI/1. Если и на этот раз никто не поднимает трубку, вызов переходит на голосовую почту.
Интерактивное Голосовое меню
http://asterisk-pbx.ru/wiki/doku.php/asterisk_dialplan