Как привязать sip пользователя freeswitch с определенным транком?

Доброго времени суток. Зашел в тупик, помогите разобраться куда копать.

Есть установленный freeswitch к которому через sip подключаются определенные пользователи (стандартно id 1000, 1001 ... ). И есть несколько настроенных транков (sipnet.ru, multifon.ru). Каждый пользователь должен звонить во внешний мир (на мобильные и стационарные телефоны) через определенный транк. Например, пользователь 1000 через sipnet.ru, пользователь 1001 через multifon.ru. Входящие вызовы не нужны.

Как это сделать?

Сейчас в vars.xml прописал в default_provider="sipnet.ru". Создал в direcory/default/sipnet.ru.xml. Сделал тест исходящего вызова от стандартного пользователя с id 1000 - все работает хорошо. Но как привязать транк к пользователю не пойму.

Опишите пожалуйста словами краткую схему дальнейшей работы. Я понимаю что надо копать куда-то в сторону диалплана, но куда - не понимаю.

P.S. с телефонией и freeswitch знаком неделю
  • Вопрос задан
  • 1270 просмотров
Решения вопроса 1
в профиле пользователя 1000
<variables>
...
    <variable name="provider" value="sipnet"/>
...
</variables>


у 1001
<variables>
...
    <variable name="provider" value="multifon"/>
...
</variables>


создаёте шлюзы на каждого оператора с соответствующими названиями sipnet и multifon

в диалплане
<extension name="OUT" continue="true">
    <condition field="destination_number" expression="^\d{9,15}$">
        <action application="bridge" data="sofia/gateway/${provider}/${destination_number}"/>
    </condition>
</extension>
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@awsswa59
по документации отдельного поле придумывать не нужно, есть специальное ${toll_allow}

<variable name="toll_allow" value="domestic,international,local"/>


Вот как делается проверка наличия у extension поля ${toll_allow} и содержания в нем слова locacl
и при совпадении условия пойдет звонок дальше

<include>
  <extension name="local.samsung">
    <condition field="${toll_allow}" expression="local"/>
    <condition field="destination_number" expression="^(2\d{3})$">
      <action application="set" data="effective_caller_id_number=${outbound_caller_id_number}"/>
      <action application="set" data="effective_caller_id_name=${outbound_caller_id_name}"/>
      <action application="bridge" data="sofia/gateway/samsung/$1"/>
    </condition>
  </extension>
</include>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы