Всем добрый день,
Досталось в наследство два сервера asterisk и атс ldk300. Много в конфигах астеров лишнего, хочется почистить, но пока задался вопросом правки голосового меню на трёх разных городских номерах которые есть у компании в потоке. Добавил конфиг в один и астерисков, записал сообщения, маршрутизация по меню работает. Есть в принципе на атс плата VMIB, но пока по незнанию не могу сделать на ней проигрываение разных сообщений в зависимости от того какой номер набран из внешнего мира. Поэтому делаю через астериск. Но столкнулся со следующей проблемой.
Небольшое отступление: два астериска сделано было для того что бы соединить два офиса, впоследствии компания утратила второй офис, но всё работает по старой схеме за исключением второй атс в головном офисе. Её за моральное устаревание решили убрать и сделать основной эту. Поток E1 входит в астериск №1 потом по SIP он отдаёт всё астериску №2, тот уже идёт на ldk300.
Проблема следующего плана:
Когда приходит вызов на любой из трёх номеров, астериск играет ему голосовое меню, и ждёт нажатия одной из клавиш. Далее если по нажатию идёт транк например на один из SIP’ов и на любой мобильный номер всё работает, если на внутренний номер заведённый в атс numbering plan то короткие гудки, но тут скорее всего для самого сипа нужно сделать план набора (не бейте сильно если говорю чушь, я новичок). Если сделать что бы вызов дальше шёл на транк атс то вызов в любом случае (даже по тайм-ауту) идёт на первый номер в группе 621 (PGN 190, Groupe Type, Terminal). То есть астериск кнопку выбора отрабатывает, но не может переадресовать вызов на конкретный внутренний номер АТС.
Может кто подскажет где копать, то ли в конфиге chain_dahdi.conf то ли в PGM 190 или другой программе АТС.
Кусок кода: extensions.conf
...
Fax=3311
TechSupp=3322
...
TRUNK_LG=DAHDI/g1
...
[macro-trunkdial]
exten => s,1,Dial(${ARG1})
exten => s,n,Goto(s-${DIALSTATUS},1)
exten => s-NOANSWER,1,Hangup
exten => s-BUSY,1,Hangup
exten => _s-., 1, NoOp
(переменные ARG1 и DIALSTATUS не определены в файле конфига, но может они системные)
...
exten = _785****!, 1, NoOp(${CALLERID(num)})
exten = _785****!, 1, Answer()
exten = _785****!, n, Background(/var/lib/ascerisk/sounds/rus/785****)
exten = _785****!, n, WaitExten
exten = 1, 1, Macro(trunkdial,${TRUNK_LG}/${TechSupp})
exten = 2, 1, Macro(trunkdial,${TRUNK_LG}/${Fax})
exten = _33XX!,1,Macro(trunkdial,${TRUNK_LG}/${EXTEN:0}>
exten = t,1,Macro(trunkdial,${TRUNK_LG}/3310)
exten = t,n,Hangup()
Были также варианты без макроса, типа:
exten = 1, 1, Dial(DAHDI/g1/3322)
exten = 2, 1, Dial(DAHDI/g1/3311)