Добрый день.
Подскажите кто-как решил или решает задачу привязки внутреннего абонента к внешнему номеру при выполнении исходящего вызова?
Опыта у меня немного и возможно я чего-то еще не знаю. Потому и обращаюсь за советом.
Конфигурация такая: астериск, голосовые шлюзы FXS, SIP транк от провайдера с выделенным пулом номеров. В sip.conf на каждый номер предполагается свой транк со своим fromuser (иль есть вариант динамически подставлять fromuser при вызове? )
Пока у меня есть два варианта, но как мне кажется оба не очень изящны:
Вариант 1:
- прописывать каждому внутреннему абоненту context соотвествующий внешнему номеру или группе номеров
- в этом контексте с помощью переменной задавать исходящий транк и обходные пути в случае занятости и сбоев
- далее направлять в контекст или макрос с общими правилами фильтрации/маршрутизации
- совершать вызов
Недостаток много контекстов.
Вариант 2:
- направлять всех в один контекст и с общими правилами фильтрации/маршрутизации
- далее направлять в макрос и извратными условиями проверять соответствие внутренний номер - внешний номер и задавать переменной исходящий транк, обходные пути
- совершать вызов
Недостаток каша из условий соответствия внутренний номер - внешний номер.
Для себя выбрал первый вариант но решил посоветоваться, вдруг есть еще проще?