freeswitchforum.com
https://freeswitchforum.com/

Набор номера через зарегистрированного "пользователя"
https://freeswitchforum.com/viewtopic.php?f=6&t=312
Страница 1 из 1

Автор:  joohny [ 17 июн 2014 15:40 ]
Заголовок сообщения:  Набор номера через зарегистрированного "пользователя"

Подготовил шаблон для звонка из FreeSWITCH на его зарегистрированного пользователя.

Подобная задача часто может возникнуть, если FXO шлюз (в моем случае linksys spa3102) регистрируется на FreeSWITCH, а вам необходимо через него набрать номер. Конфигурация самого FXO шлюза тривиальна и статей в сети на эту тему много. Для меня нетривиальным был подход в реализации вызова, решил унифицировать найденные решения в сети.

Вам потребуется установить переменные:
dialed_domain - домен, в котором зарегистрирован пользователь от spa3102
regedext - имя пользователя, под которым зарегистрирован пользователь от spa3102
numtodial - номер, который будет набираться в канал

Строка <action application="log" data="info +++++++++++++ {absolute_codec_string='PCMA,PCMU'}${regex(${sofia_contact(${regedext}@${dialed_domain})}|(^\w+/\w+)/|%1)}/sip:${numtodial}@${regex(${sofia_contact(${regedext}@${dialed_domain})}|(\d+.\d+.\d+.\d+:\d+.*)|%1)} +++++++++++"/> удобна для самоконтроля и отладки, в целом она не должна понадобиться.

Теоритически в строке <action application="bridge" data="{absolute_codec_string='PCMA,PCMU'}${regex(${sofia_contact(${regedext}@${dialed_domain})}|(^\w+/\w+)/|%1)}/sip:${numtodial}@${regex(${sofia_contact(${regedext}@${dialed_domain})}|(\d+.\d+.\d+.\d+:\d+.*)|%1)}"/> ничего менять не нужно, но, возможно, кому-то нужно будет что-то добавить или поменять кодеки, например.

Код:
    <extension name="public_ext_thru_spa3102">
      <condition field="destination_number" expression="^8(\d{10})$">
          <action application="log" data="INFO ====TO(spa3102)==== $1"/>

          <action application="set" data="dialed_domain=somedomain.ru"/>
          <action application="set" data="regedext=usernameofspa3102"/>
          <action application="set" data="numtodial=8$1"/>

          <action application="log" data="info +++++++++++++ {absolute_codec_string='PCMA,PCMU'}${regex(${sofia_contact(${regedext}@${dialed_domain})}|(^\w+/\w+)/|%1)}/sip:${numtodial}@${regex(${sofia_contact(${regedext}@${dialed_domain})}|(\d+.\d+.\d+.\d+:\d+.*)|%1)} +++++++++++"/>
          <action application="bridge" data="{absolute_codec_string='PCMA,PCMU'}${regex(${sofia_contact(${regedext}@${dialed_domain})}|(^\w+/\w+)/|%1)}/sip:${numtodial}@${regex(${sofia_contact(${regedext}@${dialed_domain})}|(\d+.\d+.\d+.\d+:\d+.*)|%1)}"/>
      </condition>
    </extension>


Замечания, добавления, комментарии приветствуются :)

Автор:  Matas [ 26 июн 2015 02:42 ]
Заголовок сообщения:  Re: Набор номера через зарегистрированного "пользователя"

Вах! слушай, хороший ты человек. Всю жизнь тебе счастья и удачи в проектах!
Неделю бился над этой задачей. Думал, уже на астериск повесить эту приблуду. Но нет - есть еще умницы от фрисвича!
Спасибо тебе большое!

P.S. А если подскажешь, как по твоим стопам пойти, то с меня пиво!

Автор:  oper [ 26 июн 2015 12:30 ]
Заголовок сообщения:  Re: Набор номера через зарегистрированного "пользователя"

кстати, такая же проблема с шлюзами D-Link серии 6ххх

Автор:  joohny [ 29 июн 2015 12:41 ]
Заголовок сообщения:  Re: Набор номера через зарегистрированного "пользователя"

Matas, пользуйтесь и другим рассказывайте! Тут как раз место - опытом делиться! Я пиво то люблю, правда недавно "нуждики" переслушивал "По статистике, люди, которые мешают пиво с водкой после 8-го класса, уже после 10-го мешают песок с цементом." Задумался :)) Не сильно развиваю, но, может, тоже что интересное найдете: http://blog.buchnev.ru

Автор:  mobiprog [ 22 янв 2019 14:08 ]
Заголовок сообщения:  Re: Набор номера через зарегистрированного "пользователя"

Большое тебе спасибо! Сильно помогло. До этого неделю долбался со шлюзом.

Страница 1 из 1 Часовой пояс: UTC + 4 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/