Написал голосовое меню как "приложение" (Меню -> План набора -> Приложения). Все работает отлично за исключением того что не работает перевод вызова.
Тоесть когда звонок с приложения соединяется с внутренним номером, то человек ответивший на звонок при нажатии на трубке "*" или "#" не слышит привычного "перевод". Ничего не происходит вообще.
Вот листинг моего приложения "голосовое меню":
1,Answer()
2,Set(menu="/storage/usbdisk1/askoziapbx/menu/")
n,Verbose(Прочитать тона)
n,Read(DESTINATION,${menu}welcome,5)
n,Verbose(Введено:[${DESTINATION}] статус: ${READSTATUS})
n,Verbose(Если переменная не пуста)
n,GotoIf($[${EXISTS(${DESTINATION})}]?sucess:timeaut)
n(timeaut),Verbose(Таймаут: перевод на секретаря)
n,Dial(SIP/50391&SIP/5034&SIP/101)
n,Hangup()
n(sucess),Verbose(Когда переменная содержит номер)
n,GotoIf($["${DESTINATION}" = "1"]?advanced)
n,Dial(SIP/${DESTINATION})
n,Verbose(Набран номер:SIP/${DESTINATION} статус ответа:${DIALSTATUS})
n,Verbose(Если статус звонка)
n,GotoIf($[${DIALSTATUS} != ANSWER]?invalid)
n(invalid),Verbose(Ошибка: возврат в начало)
n,Playback(${menu}invalid)
n,Goto(2)
n(advanced),Verbose(Переход в доп. меню)
n,Read(MENU,${menu}menu,1)
n,Verbose(Введено:[${MENU}] статус: ${READSTATUS})
n,Verbose(Если переменная не пуста)
n,GotoIf($[${EXISTS(${MENU})}]?menuOk:timeaut)
n(menuOk),Verbose(Когда переменная меню содержит номер)
n,GotoIf($["${MENU}" = "1"]?comShip)
n,GotoIf($["${MENU}" = "2"]?comCons)
n,GotoIf($["${MENU}" = "3"]?gosShip)
n,GotoIf($["${MENU}" = "4"]?gosCon)
n,Goto(invalid)
n(comShip),Verbose(Коммерческие предприятия отдел продаж)
n,Dial(SIP/50391&SIP/5034)
n,Hangup()
n(comCons),Verbose(Коммерческие предприятия Линия консультаций)
n,Dial(SIP/50191)
n,Hangup()
n(gosShip),Verbose(Государственные учреждения отдел продаж)
n,Dial(SIP/40491&SIP/4043&SIP/4041)
n,Hangup()
n(gosCon),Verbose(Государственные учреждения Линия консультаций)
n,Dial(SIP/41391&SIP/4132)
n,Hangup()
Сейчас буду пробовать писать непосредственно сами экстеншены в extensions.conf.