Страница 1 из 1

Изменение контекста транка по набору номера

СообщениеДобавлено: 10 июл 2019, 07:11
royun
Здравствуйте.
Сделал следующее:
1. В /var/lib/asterisk/agi-bin/ создал два файла:
em-mode.sh - для аварийного режима работы (изменяется дефолтный контекст транка "37002" с from-trunk-sip-37002 на incoming-em-mode)

Код: выделить все
#!/bin/bash
sed -i 's/context=from-trunk-sip-37002/context=incoming-em-mode/g' /etc/asterisk/sip_additional.conf
/usr/sbin/asterisk -rx "core reload"


nor-mode.sh - для нормального режима работы (изменяется контекст транка "37002" с incoming-em-mode на from-trunk-sip-37002)

Код: выделить все
#!/bin/bash
sed -i 's/context=incoming-em-mode/context=from-trunk-sip-37002/g' /etc/asterisk/sip_additional.conf
/usr/sbin/asterisk -rx "core reload"


2. Сделать файлы исполняемыми, командой

chmod +x filename

3. Создать контексты в extension_custom.conf:
Код: выделить все
[incoming-em-mode] ;вх на транк 37002 при аварийном режиме
exten => 37002,1,Goto(ivr-main,s,1)

[ivr-main]
exten => s,1,Answer()
exten => s,n,Background(hello-world)
exten => s,n,Queue(q-em-mode,t)
;exten => s,n,Hangup()

[employees] ;контекст для вн номеров
include => em-nor-mode
include => internal
include => outbound-gorod

[em-nor-mode]
exten => #100,1,AGI(em-mode.sh)
exten => #100,n,Background(digits/1) ;Тут будет голосовое сообщение "Аварийный режим активирован"
exten => #100,n,Hangup()

exten => #100*,1,AGI(nor-mode.sh)
exten => #100*,n,Background(digits/2);Тут будет голосовое сообщение "Аварийный режим деактивирован"
exten => #100*,n,Hangup()

[internal] ;вн вызовы
exten => _1XX,1,Dial(SIP/${EXTEN})

[outbound-gorod] ;исх на город
exten => _9XXXXX,1,Dial(SIP/37002/${EXTEN:1})
exten => _9XXXXX,n,Congestion()
exten => _9XXXXX,n,Hangup()


При наборе #100 изменяется стандартный контекст транка "37002" from-trunk-sip-37002 на incoming-em-mode, а при наборе #100* - контекст incoming-em-mode на from-trunk-sip-37002.

В принципе все работает как я хотел.

Но все таки хотел спросить:
Правильно ли я сделал, может где-то можно было по другому сделать?

Спасибо.

Re: Изменение контекста транка по набору номера

СообщениеДобавлено: 10 июл 2019, 11:36
zzuz
Если работает - то все правильно. Сделать по-другому всегда можно. Дело вкусовых качеств тех самых фломастеров.

Re: Изменение контекста транка по набору номера

СообщениеДобавлено: 12 июл 2019, 10:36
royun
А можно сделать следующее?

При наборе #100 включился таймер обратного отсчета. И при звонке на определенный номер можно было бы услышать сколько минут осталось. Затем когда счетчик таймера станет равным нулю изменился бы IVR.