Конфигурация гейтов в профиле sofia через mod_xml_curl

494 views
Skip to first unread message

Алексей Волков

unread,
May 23, 2016, 12:01:49 PM5/23/16
to freeswitch-ru
Добрый день.

Пытаюсь понять каким образом можно заменить в sofia профиле статический блок конфигурации вида

<gateways>
      <X-PRE-PROCESS cmd="include" data="gateways/*.xml"/>
</gateways>


Документация на https://wiki.freeswitch.org/wiki/Mod_xml_curl#Example:_purpose.3Dgateways не добавила понимания так как в примере про гейты почему то самих гейтов нет.

Сам xml_curl.conf.xml я настроил, при запуске и перезагрузке провиля командами sofia profile [name] restart или sofia profile [name] rescan запрос успешно обрабатывается внешним сервером и на запрос вида  

[23/May/2016:21:55:58 +0300] "GET /fs/gateways.xml?section=directory&Event-Name=REQUEST_PARAMS&purpose=gateways&profile=operators HTTP/1.1" 200 627 "-" "freeswitch-xml/1.0"

успешно отдается xml контент 

<document type="freeswitch/xml">
<section name="directory">
<gateways>
<gateway name="gate1">
        <param name="username" value="xxxx"/>
        <param name="password" value="xxxx"/>
        <param name="realm" value="*"/>
        <param name="from-domain" value="xxxxx"/>
        <param name="proxy" value="xxxxx"/>
        <param name="expire-seconds" value="600"/>
        <param name="register" value="true"/>
        <param name="register-transport" value="udp"/>
</gateway>
</gateways>
</section>
</document>

В результате, если не допустить в структуре xml ошибок с тегами никаких прочих сообщений о неприятностях в логах нет, но так же в профиле и не появляется новых гейтов. 

Как я понимаю проблема именно в том как правильно должны выглядеть ответная xml, именно этой информации я нигде найти не могу. Подскажите где искать ответ, или если у кого был успешный опыт поделитесь примером правильного xml.

Спасибо.

slonik

unread,
May 23, 2016, 12:21:59 PM5/23/16
to freeswitch-ru
А вы уверены, что section name должно быть directory, а не configuration?


понедельник, 23 мая 2016 г., 21:01:49 UTC+5 пользователь Алексей Волков написал:

slonik

unread,
May 23, 2016, 12:29:29 PM5/23/16
to freeswitch-ru
Там же в документации:

Configuration

The module is split into 4 different bindings (otherwise referred to as 'sections'), which are;



понедельник, 23 мая 2016 г., 21:01:49 UTC+5 пользователь Алексей Волков написал:
Добрый день.

Алексей Волков

unread,
May 24, 2016, 1:54:29 AM5/24/16
to freeswitch-ru
Довести вопрос до конца помог раздел https://freeswitch.org/confluence/display/FREESWITCH/Gateways+Configuration а именно честь

Clarification

So, why is it presented 3 different ways?

In a nutshell, the sip_profile declaration puts the gateway in the context of that sip_profile, insofar as when you stop/start/restart that sofia profile the gateway will stop/start/restart with it. In the second case, the default_provider example, the gateway comes up with the default directory (always). And in the final example, the gateway can be made to come up and down only when the user brian is registered.


Таким образом, гейты объявляются как справочники внутри пустого пользователя домена, в этом случая они сразу становятся активными. Правильная xml структура ответа для биндингов через directory выглядит следующим образом:

<document type="freeswitch/xml">
 <section name="directory">
  <domain name="$${domain}">
   <user id="">
    <gateways>
     <gateway name="gate0">
        <param name="username" value="xxxx"/>
        <param name="password" value="xxxx"/>
        <param name="realm" value="*"/>
        <param name="proxy" value="xxxx"/>
        <param name="expire-seconds" value="600"/>
        <param name="register" value="true"/>
        <param name="register-transport" value="udp"/>
     </gateway>
    </gateways>
   </user>
  </domain>
 </section>
</document>

Посмотреть значение подобных справочников можно через консоль командой

xml_locate directory domain name [domain_name]

либо просто 

xml_locate directory




slonik

unread,
May 24, 2016, 6:23:45 AM5/24/16
to freeswitch-ru
Так он с параметром configuration не работает что ли?


вторник, 24 мая 2016 г., 10:54:29 UTC+5 пользователь Алексей Волков написал:

Алексей Волков

unread,
May 25, 2016, 1:28:55 AM5/25/16
to freeswitch-ru

Во всех примерах по гейтам что я видел, да и в самой справке тоже, это делается не через configuration.


вт, 24 мая 2016 г., 13:23 slonik <valery....@gmail.com>:
--
Вы получили это сообщение, поскольку подписаны на группу "freeswitch-ru".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес freeswitch-r...@googlegroups.com.
Чтобы отправлять сообщения в эту группу, отправьте письмо на электронный адрес freesw...@googlegroups.com.
Чтобы зайти в группу, перейдите по ссылке https://groups.google.com/group/freeswitch-ru.
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.
--

С уважением,
Алексей Волков

Reply all
Reply to author
Forward
0 new messages