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

Распределение голосового меню на 2 номера 8 800

Добавлено: 30 май 2019, 10:03
chernov85
Добрый день уважаемые знатоки!
у меня вопрос такой:
есть 2 подключения 8 800
Само подключение через прокси от провайдера

Задача стоит такая:
При вызове на 8 800 у каждого номера было свое голосовое меню.

На данный момент в sip.conf указан контекст default для обоих номеров.
в файле extention.conf прописано след:
[default]
exten => s,1,Answer()
exten => s,2,Wait(1)
exten => s,3,Set(PHONE=${CALLERID(num)}) //в данной строке я хочу присвоить номер 8 800 на который идет вызов
exten => s,4,NoOp(${CALLERID(rdnis)})
exten => s,5,NoOp(${CALLINGANI2})
exten => s,6,NoOp(${CALLINGPRES})
exten => s,7,NoOp(${CALLINGTNS})
exten => s,8,NoOp(${CALLINGTON})
exten => s,9,GotoIf($["${PHONE}" = "7XXXXXXXXXX"]?10:11) // а тут есть условие что если номер совпадает с переменной PHONE то включить одно голосовое меню если нет то условие ниже
exten => s,10,Background(/data/soundag/hello)
exten => s,11,GotoIf($["${PHONE}" = "7XXXXXXXXXX"]?12:13)
exten => s,12,Background(/data/sound/start)
exten => s,13,WaitExten(1)

exten => s,3,Set(PHONE=${CALLERID(num)}) - как мне тут получить свой 8 800?

Re: Распределение голосового меню на 2 номера 8 800

Добавлено: 30 май 2019, 11:46
zzuz
Используйте корректные строки register и направляйте вызовы в разные контексты. В этом случае просто используйте переменную ${EXTEN} .
Ну, либо в ваш контекст default впишите DumpChan и смотрите какие переменные есть на канале .

Re: Распределение голосового меню на 2 номера 8 800

Добавлено: 30 май 2019, 14:28
ded
процедура
exten => s,3,Set(PHONE=${CALLERID(num)})
лишняя. Можно сразу
exten => s,9,GotoIf($["${CALLERID(num)}" = "7XXXXXXXXXX"]?10:11)

Ну и для того, чтобы принимать на два разных номера 8800 не должно быть
exten => s,1
а должно быть
exten => 88001231234,1,
exten => 88001234321,1,

Re: Распределение голосового меню на 2 номера 8 800

Добавлено: 30 май 2019, 17:56
Zavr2008
Не проще ли загнать после всяких Answer и Wait в другой контекст и там преспокойно делать

exten=> s/7XXXXXXXXXX,1,Dial(...бла-юла-бла)
exten=> s/7YYYYYYYYYYY,1,Dial(..тополя)

Re: Распределение голосового меню на 2 номера 8 800

Добавлено: 31 май 2019, 09:25
virus_net
Использование контекста default - потенциальная дыра в безопасности. Одна ошибка и привет. А вы не похожи на эксперта.

Re: Распределение голосового меню на 2 номера 8 800

Добавлено: 03 июн 2019, 18:38
Zavr2008
Все начинали с контекста default)
Только лучше на тестовом серваке.

Re: Распределение голосового меню на 2 номера 8 800

Добавлено: 08 окт 2020, 08:10
Calculix
Здравствуйте.
Такая-же задача, не пойму как поймать номер
exten => s,9,GotoIf($["${CALLERID(num)}" = "7XXXXXXXXXX"]?10:11)
Смотрю dumpchan, там всего 3 переменных, как мне получить номер телефона?
SIPCALLID=SD22h5a01-0a6add656a88570543ddaxxxxxxx@127.0.0.1
SIPDOMAIN=213.80.xxx.xxx
SIPURI=sip:78452xxxxxx@80.75.xxx.xxx:5060
Спасибо.

Re: Распределение голосового меню на 2 номера 8 800

Добавлено: 09 окт 2020, 12:03
april22
в разные контексты . и творите добро

Re: Распределение голосового меню на 2 номера 8 800

Добавлено: 09 окт 2020, 15:18
ded
Оставьте букву s
exten => s,
для макросов.
Потом, глядишь, и субрутины освоите, и вообще s станет не нужна.