LINUX.ORG.RU
ФорумAdmin

Asterisk, «автосекретарь», dialplan.

 


1

1

Всем привет!

Хочу реализовать функцию автосеретаря, для входящих из внешнего транка, типа: «наберите номер, или дождитесь ответа оператора», потом пауза, потом dial на оператора.

Вот блок диалплана:

[incoming]
exten => _X., 1,Answer
exten => _X., n,Playback(/dir/file)
exten => _X., n,Wait(10)
exten => _X., n, Dial(SIP/111,20)
exten => _X., n,Hangup
Файл приветствия играет, потом пауза, ввожу цифры, не переводит куда ввожу, а диалит на 111. Вот на всякий случай внутренние экстенты:
[home]
exten => _XXX, 1, Dial(SIP/${EXTEN},30)
exten => _XXX, n, Playback(vm-nobodyavail)
exten => _XXX, n, Hangup()
Подскажите плиз как правильно оформить такую затею? IVR под такую задачу не хочется городить.

Вместо wait должен стоять waitexten

[incoming]
exten => s, 1,Answer
exten => s, n,Playback(/dir/file)
exten => s, n,WaitExten(10)
exten => s, n, Dial(SIP/111,20)
exten => s, n,Hangup
include => home

[home]
exten => _XXX, 1, Dial(SIP/${EXTEN},30)
exten => _XXX, n, Playback(vm-nobodyavail)
exten => _XXX, n, Hangup()

menzoberronzan
()
Последнее исправление: menzoberronzan (всего исправлений: 2)
Ответ на: комментарий от menzoberronzan

я использую Background вместо Playback. можно делать набор во время проигрывания звука. а в playback нужно дождаться окончания проигрывания.

Nurmukh ★★★
()
Ответ на: комментарий от Nurmukh

Поддерживаю, background для таких целей больше подходит.

f1xmAn ★★★★★
()
[menu_internal_number] 
;; Меню внутренний номер абонента
exten=> s,1,Background(Введите-номер-сотрудника)
exten=> s,n,Read(NUMBER,,3,,10)
exten=> s,n,GotoIf($["${SIPPEER(${NUMBER},status)}" = ""]?number_not_exists)
exten=> s,n,Dial(SIP/${NUMBER},45,gtT)
exten=> s,n,Hangup
exten=> s,n(number_not_exists),Playback(beep)
exten=> s,n,Background(Абонента-с-данным-номером-не-существует)
exten=> s,n,Hangup
petav ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.