AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

Выбор транка для звонка при помощи AMI

Asterisk GUI 3 сообщений -
#1

Добрый день. Оговорюсь сразу, что я буду больше рад ответу в какую сторону думать и что гуглить чем пошаговому руководству.
Итак: есть установленная система FreePBX 12.0.50.1 установленная на Asterisk 11.16.0. Имеются несколько транков выбор которых при звонке осуществляется при помощи префикса в оутбаунд роутах. Так же имеется php скрипт для обработки http запросов через AMI
Код:

Please enter a number to dial.



Скрипт получает 4 параметра номер аббонента, экстеншн, cid и код транка, который по сути является префиксом в роуте. И все это работает без притензий.

Что же я в итоге хочу? Суть в том, что я считаю использование префикса в скрипте костылем и хочу сделать так что бы транк выбирался напрямую. Тем более что в базу данных и cdr номер аббонента ложится вместе с этим префиксом, что усложняет обработку истории звонков, а это жизненно необходимо в техническом задании.
Что я уже пробовал. Я искал, изменял и эксперементировал с каналами и контестами чем только ломал рабочий скрипт. Так же пробовал создавать ExtraChannel в связке с Action: Redirect - не работает.
В какую же сторону думать? Заранее спасибо
#2

1. Очевидный вариант: Допилить скрипт таким образом, чтобы перед Originate он выполнял некий набор действий, который приведен к нужному вам результату - выбор транка.
Опишите в скрипте эти критерии и он начнет выбирать транк сам. Скрипт может исполнять как консольные команды asterisk -rx 'COMMAND' или можно воспользоваться AJAM ифейсом.

2. Уйти от Originate вызова через AMI и перейти на генерацию call файла, направленного в контекст диалплана, где есть нужный вам механизм выбора транка.
#3

Спасибо. На выходных буду пробовать потом отпишусь о резльтате