При настройке asterisk, часто требуется ограничивать количество одновременных, входящих звонков (это особенно актуально когда у вас абоненты подключены через VOIP шлюзы типа SPA 8000, а не через полноценные IP телефоны). Кусок моего диалплана в файле extensions.conf, ограничивающий входящие звонки asterisk, привожу ниже — выставлено ограничение на 2 звонка, в случае неподнятия трубки происходит переадресация на мобильный, звонок ограничен получасом.
exten => 259,1,SET(GROUP()=${EXTEN}) ; если больше 2х звонков, выдаём "занято" exten => 259,n,GotoIf($["${GROUP_COUNT()}" > "2" ]?ZANYAT) exten => 259,n,Dial(SIP/259,10) exten => 259,n,Goto(${DIALSTATUS}) exten => 259,n(NOANSWER),Playback(call-forwarding) exten => 259,n,Playback(transfer) ; переадресация на мобильник с ограничением длительности до получаса exten => 259,n,Dial(SIP/nurbinsk_zavod_gw/89161234567,60,TtL(1800000:3600000)) exten => 259,n,Playtones(busy) exten => 259,n,Busy(10) exten => 259,n,Hangup() exten => 259,n(CHANUNAVAIL),Playback(call-forwarding) exten => 259,n,Playback(transfer) exten => 259,n,Dial(SIP/nurbinsk_zavod_gw/89161234567,60,TtL(1800000:3600000)); exten => 259,n,Playtones(busy) exten => 259,n,Busy(10) exten => 259,n,Hangup() exten => 259,n(CONGESTION),GoTo(ZANYAT) exten => 259,n(BUSY),Playback(abonent) ; абонент занят exten => 259,n,Playback(zanjat) ; абонент занят exten => 259,n,Playtones(busy) exten => 259,n,busy(10) exten => 259,n,Hangup() exten => 259,n(ZANYAT),Playback(abonent) ; абонент занят exten => 259,n,Playback(zanjat) ; абонент занят exten => 259,n,Playtones(busy) exten => 259,n,Busy(10) exten => 259,n,Hangup()