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

Переадрессация на внутренние номера

Добавлено: 23 июн 2019, 13:57
asterfive
Доброго времени.
Сейчас при звонке в офис проигрывается приветствие, после которого вызов проходит секретарю, который перенаправляет вызов в нужный отдел.
Захотелось переложить выбора на звонящего, чтобы немного автоматизировать работу и разгрузить секретаря.
Опыта по asterisk пока совсем мало, сумел навоять кое что (с коментами само собой), но есть сомнения. Прошу у более опытных участников подсобить.
P.s. мануалы читал, и благодаря им выдал этот код, если есть похожая тема, прошу ссылочку, т.к. сам не нашёл.
P.p.s не понял про "XX" при выборе не существующего номера. Вместо "ХХ" по сути надо ставить номера или как оно работать будет?

Код: Выделить всё

exten => 7495*******,1,Answer() ; Входящий вызов
	same => n,1,wait(1)
	;Проигрываем приветствие
	same => n,2,Background(/etc/asterisk/sound/Hello.m4a)
	;Ждем 50 секунд ввода добавочного номера
	exten => n,3,WaitExten(50)
	;Звоним по введенному добавочному
	same => 1,1,Dial(SIP/102) ; Отдел 1
	same => 2,1,Dial(SIP/103) ; Отдел 2
	same => 3,1,Dial(SIP/105) ; Отдел 3
	same => 4,1,Dial(SIP/104) ; Отдел 4
	same => 5,1,Dial(SIP/201) ; Удалённое филиал 
	same => 0,1,Goto(ivr-main,n,1)
	;Если введен не существующий номер, то говорим об этом и отправляем в начало приветствия
	same => XX,2,Playback(/etc/asterisk/sound/wrongnumber.m4a)
	same => XX,3,Goto(ivr-main,n,1)
	same => t,1,Dial(SIP/100) ;Если звонящий ничего не вводит, то звоним секретарю

Re: Переадрессация на внутренние номера

Добавлено: 24 июн 2019, 07:56
virus_net
Вам надо ещё почитать, в том числе книгу "Asterisk - будущее телефонии".

Х это шаблон, но не верно у вас написан.
Прочтите: http://asterisk.ru/knowledgebase/Asteri ... n+Patterns

P. S. То что вы делаете это IVR и к переадресацию не имеет никакого отношения.

Re: Переадрессация на внутренние номера

Добавлено: 24 июн 2019, 09:22
asterfive
virus_net, спасибо за ответ.
пока не разберусь с этим вопросом, уберу этот фрагмент. А что по поводу остального кода?
я уже использовал "exten=>101,n,Dial(SIP/100,10)" для того, чтобы вызов гулял внутри отдела (там всё понятно, выполняется последовательность действий заданная параметром n).
Тут, данная команда работать будет? По моей логики, этот параметр просто везде должен быть одинаковый.

Re: Переадрессация на внутренние номера

Добавлено: 24 июн 2019, 09:26
Wapo
Просто навскидку:

Код: Выделить всё

exten => 7495*******,1,Answer() ; Входящий вызов
   same => n,1,wait(1)
У вас какая-то каша: 2 первых приоритета (перевод слова same нагуглите)

Re: Переадрессация на внутренние номера

Добавлено: 24 июн 2019, 11:07
asterfive
Wapo, а что по поводу изначального варианта?

Код: Выделить всё

exten => 7495*******,1,Answer() ; Входящий вызов
exten => n,2,wait(1)
exten => n,2,Background(/etc/asterisk/sound/Hello.m4a) ;Проигрываем приветствие
exten => n,3,WaitExten(50) ;Ждем 50 секунд ввода добавочного номера
;Звоним по введенному добавочному
exten => 1,4,Dial(SIP/102) ;Отдел 1
exten => 2,4,Dial(SIP/103) ;Отдел 2
exten => 3,4,Dial(SIP/105) ;Отдел 3
exten => 4,4,Dial(SIP/104) ;Отдел 4
exten => 5,4,Dial(SIP/201) ;Удалённое филиал 
exten => 0,4,Goto(ivr-main,n,1) ;Повтор сообщения
exten => t,4,Dial(SIP/100,50) ;Если звонящий ничего не вводит, то звоним секретарю

Re: Переадрессация на внутренние номера

Добавлено: 24 июн 2019, 15:42
ded
Wapo писал(а):У вас какая-то каша
(c)
Вы хотите разобраться? прочитайте Главу 6 - Основы диалплана
http://asterisk.ru/store/files/Asterisk ... pter_6.odt

Re: Переадрессация на внутренние номера

Добавлено: 24 июн 2019, 15:43
Wapo
И таки ГУГЛ великая весчь: https://habr.com/ru/post/122751/

Re: Переадрессация на внутренние номера

Добавлено: 25 июн 2019, 16:21
asterfive
Спасибо за ответы, почитал 6 главу + статью на Хабре.
Получилось это
Оно частично работает, но вот выбрать отдел не получается ибо при нажатии на цифру нет никакой реакции
Само собой в экстеншин положил инклуд и вызов [Test_tree]

Код: Выделить всё

[Test_tree]
exten => s,1,Answer() 
;Отвечаем на входящий звонок
exten => s,2,Background(/etc/asterisk/sound/Hello) 
;Проигрываем запись текста нашего голосового дерева
exten => s,3,WaitExten(6) 
;Даём звонящему после завершения приветствия 6 секунд на выбор отдела
exten => 1,1,Dial(SIP/102)
exten => 2,1,Dial(SIP/103)
exten => 3,1,Dial(SIP/105)
exten => 4,1,Dial(SIP/104)
exten => 5,1,Dial(SIP/201)
;Выбор отдела 
exten => 0,1,Goto(Test_tree,s,1)
;Повторный запуск приветствия при нажатии на 0
exten => t,1,Dial(SIP/100) 
;Этот звонок пойдет по таймауту на секретаря, если за 6 секунд в голосовом дереве не был выбран отдел
exten => i,1,Dial(SIP/100) 
;Этот звонок пойдет на секретаря, если абонент выбрал несуществующий номер

Re: Переадрессация на внутренние номера

Добавлено: 25 июн 2019, 16:30
Wapo
Теперь осталось включить дебаг dtmf и смотреть "слышит" ли астер ваши нажатия

Re: Переадрессация на внутренние номера

Добавлено: 25 июн 2019, 16:40
ded
... или просто добавить параметр на пире провайдера
dtmfmode=auto

Но если хочется поиграться - тестируйте
dtmfmode=rfc2833
dtmfmode=inband
dtmfmode=info
asterfive писал(а):А как включить дебаг dtmf?