И снова здравствуйте.
Возникла необходимость реализовать с помощью FreePBX следующую логику:
1. Поступает звонок, который должен уйти на мобильный;
2. FreePBX смотрит, какая линия использовалась в последний раз, и прибавляет к номеру 1, а если номер вышел за пределы возможных, то сбрасывает его в единицу.
3. FreePBX набирает в транк номер вида 0L, где 0 - признак звонка через GSM, L=номер линии. Далее посылает набранный номер;
4. Если произошёл отказ линии, то FreePBX переходит к пункту 2.
Дополнительные заморочки:
1. Шлюз не один. Нумерация линий у всех шлюзов сквозная;
2. Звонок приходит из исходящего маршрута
Эта логика была реализована в чистом астере, и для меня не было бы сложностью перенести её в другую установку. Проблема именно в том, как реализовать всё вышеописанное посредством GUI. На данный момент всё сделано через приоритеты Custom Contexts, кучку маршрутов с именами типа "FromSamsungToMobileOverGSM0-1" и шаблонами номеров в каждом вида "0L" (приставка)+"89XXXXXXXXX". Главная гадость в этом решении = что набор всегда начинается с одной и той же линии, независимо от истории. И если для звонков в FXO это некритично (какая разница, через какую линию звонить, они всё равно не определяются - занимается первая свободная линия), то для звонков на мобильные распределение играет роль, поскольку затраты должны выравниваться по всем SIM-картам (хотя бы приблизительно).
Можно ли реализовать подобную логику, не слишком правя диалплан ручками? Что можно для этого использовать?