Страница 1 из 1
Выбор линии для исходящего вызова
Добавлено: 03 окт 2016, 17:59
alexgavr_89
Добрый день.
Сейчас реализовано, что "оператор 1" звонит с [trunk_1], а "оператор 2" звонит с [trunk_2].
Появилась необходимость реализовать возможность выбора операторам линии для исходящего звонка. Например, по типу IVR, при нажатие 1 исходящий вызов уходит на [trunk_1], при нажатие 2 на [trunk_2].
Подскажите, пожалуйста, возможно это сделать?
Re: Выбор линии для исходящего вызова
Добавлено: 03 окт 2016, 19:07
ded
Поставить ИП-телефоны с двумя кнопками Линия, по крайней мере.
Re: Выбор линии для исходящего вызова
Добавлено: 03 окт 2016, 19:32
alexgavr_89
Спасибо!
Re: Выбор линии для исходящего вызова
Добавлено: 04 окт 2016, 02:24
whoim
префиксы при наборе номера
1НОМЕР - первый транк
2НОМЕР - второй транк
либо
НОМЕР - первый транк
#НОМЕР - второй транк
Re: Выбор линии для исходящего вызова
Добавлено: 10 окт 2016, 15:22
alexgavr_89
Может кому-то будет полезно.
Сделал так, для исходящих:
exten => _99XXXXXXXXXXX,n,Dial(SIP/trunk_2/${EXTEN:2})
А для входящих сделал добавление префикса 99 к номеру. Мне это нужно для CRM, для автоматического перевода на ответственного, т.к. в базе номер с пруфиксом.
exten => _X.,n,Set(CALLERID(num)=99${CALLERID(num):1})
Re: Выбор линии для исходящего вызова
Добавлено: 10 окт 2016, 16:00
ded
Это не будет полезно. Добавлять-отрезать префиксы = искажать информацию о телефонах в CDR & CRM, это неправильно.
Re: Выбор линии для исходящего вызова
Добавлено: 05 фев 2021, 09:51
arch
Понадобилось реализовать то же самое, приведу пример как это сделать, назначаем юзеру контекст `udpc_username`:
Код: Выделить всё
[udpc_username]
exten => _+X., 1, Answer()
same => n, Set(RESENDEXT=${EXTEN})
same => n, WaitExten(10)
exten => _X., 1, Answer()
same => n, Set(RESENDEXT=${EXTEN})
same => n, WaitExten(10)
exten => t, 1, Goto(out_gsm9xxxxxxxx1,${RESENDEXT},1)
exten => i, 1, Hangup()
exten => 1, 1, Goto(out_gsm9xxxxxxxx1,${RESENDEXT},1)
exten => 2, 1, Goto(out_gsm9xxxxxxxx2,${RESENDEXT},1)
exten => 3, 1, Goto(out_comtube,${RESENDEXT},1)
exten => 4, 1, Goto(out_zadarma,${RESENDEXT},1)
exten => h, 1, Hangup()
надеюсь кому-то пригодится.
Внимание! На Asterisk версии 16.6.2 это работает, но на версии 16.14.1 уже не работает, как и на 18.1.1, при нажатии на кнопку астер падает с ошибкой segfault при попытке обратиться к памяти ему не принадлежащей, хотя направление t (timeout) и i (ошибка) обрабатываются корректно. ХЗ в чем дело, переехал на 16.6.2