ВидеоКонф(ВКС)  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Freeswitch xml_odbc.conf.xml

Использование и настройка других открытых VoIP PBX

Модераторы: april22, Zavr2008

Freeswitch xml_odbc.conf.xml

Сообщение Makc64RUS » 20 авг 2014, 11:21

Добрый день коллеги. Встала задача хранить пользователей freeswitch не в xml файлах а в базе данных. Изначально я пробовал использовать для этого mod_xml_odbc_simple но ни в какую не захотел собираться. По этому я взял модуль с более расширенным функционалом mod_xml_odbc. Скомпилировал, скормил его freeswitch, присосался как родной. Дальше затык с пониманием работы модуля. Как я думаю что он работает? В xml_odbc.conf.xml я составляю шаблон по которому модуль подключается к базе, и найдя там определённого пользователя, дёргает его параметры из бд и создаёт xml файл в /usr/local/freeswitch/conf/directory с параметрами пользователя. Дальше мне остаётся сделать reloadxml и юзер может регистрироваться. Как это работает сейчас:
Содержимое xml_odbc.conf.xml
Код: выделить все
<configuration name="xml_odbc.conf" description="XML ODBC Configuration">

  <settings>
    <param name="binding" value="directory"/>
    <param name="odbc-dsn" value="freeswitch:fusionpbx:freepswd3"/>
    <param name="debug" value="true"/>
    <param name="keep_files_around" value="true"/>
  </settings>

  <templates>


        <template name="default">
          <xml-odbc-do name="query" on-empty-result-break-to="not-found"
                value="SELECT sip_password FROM freeusers WHERE sip_user = 'usertest';"/>
                 <document type="freeswitch/xml">
                  <section name="directory">
                   <domain name="${domain}">
                    <user id="usertest">
                     <params>
                      <param name="password", value="${sip_password}"/>
                     </params>
                    </user>
                   </domain>
                   </section>
                 </document>
        </template>

        <template name="not-found">
         <document type="freeswitch/xml">
          <section name="result">
                <result status="not found"/>
          </section>
         </document>
        </template>

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

  </templates>

</configuration>


Стартую freeswitch /usr/local/freeswitch/bin/freeswitch -nonat, вижу
Код: выделить все
2014-08-20 10:11:17.620337 [INFO] switch_core_sqldb.c:1662 sofia:external-ipv6 Starting SQL thread.
2014-08-20 10:11:17.620489 [INFO] mod_xml_odbc.c:435 DEBUG in xml_odbc_search, header [section]=[directory]
2014-08-20 10:11:17.620495 [INFO] mod_xml_odbc.c:435 DEBUG in xml_odbc_search, header [Event-Name]=[REQUEST_PARAMS]
2014-08-20 10:11:17.620498 [INFO] mod_xml_odbc.c:435 DEBUG in xml_odbc_search, header [Core-UUID]=[2dc32a0c-2839-11e4-ac09-23caad7c50c0]
2014-08-20 10:11:17.620500 [INFO] mod_xml_odbc.c:435 DEBUG in xml_odbc_search, header [FreeSWITCH-Hostname]=[localhost]
2014-08-20 10:11:17.620503 [INFO] mod_xml_odbc.c:435 DEBUG in xml_odbc_search, header [FreeSWITCH-Switchname]=[localhost]
2014-08-20 10:11:17.620505 [INFO] mod_xml_odbc.c:435 DEBUG in xml_odbc_search, header [FreeSWITCH-IPv4]=[192.168.0.139]
2014-08-20 10:11:17.620507 [INFO] mod_xml_odbc.c:435 DEBUG in xml_odbc_search, header [FreeSWITCH-IPv6]=[::1]
2014-08-20 10:11:17.620510 [INFO] mod_xml_odbc.c:435 DEBUG in xml_odbc_search, header [Event-Date-Local]=[2014-08-20 10:11:17]
2014-08-20 10:11:17.620513 [INFO] mod_xml_odbc.c:435 DEBUG in xml_odbc_search, header [Event-Date-GMT]=[Wed, 20 Aug 2014 07:11:17 GMT]
2014-08-20 10:11:17.620515 [INFO] mod_xml_odbc.c:435 DEBUG in xml_odbc_search, header [Event-Date-Timestamp]=[1408518677620453]
2014-08-20 10:11:17.620518 [INFO] mod_xml_odbc.c:435 DEBUG in xml_odbc_search, header [Event-Calling-File]=[sofia.c]
2014-08-20 10:11:17.620521 [INFO] mod_xml_odbc.c:435 DEBUG in xml_odbc_search, header [Event-Calling-Function]=[launch_sofia_worker_threa          d]
2014-08-20 10:11:17.620523 [INFO] mod_xml_odbc.c:435 DEBUG in xml_odbc_search, header [Event-Calling-Line-Number]=[2634]
2014-08-20 10:11:17.620525 [INFO] mod_xml_odbc.c:435 DEBUG in xml_odbc_search, header [Event-Sequence]=[33]
2014-08-20 10:11:17.620528 [INFO] mod_xml_odbc.c:435 DEBUG in xml_odbc_search, header [purpose]=[gateways]
2014-08-20 10:11:17.620530 [INFO] mod_xml_odbc.c:435 DEBUG in xml_odbc_search, header [profile]=[external-ipv6]
2014-08-20 10:11:17.620532 [INFO] mod_xml_odbc.c:341 DEBUG GOING TO RENDER TEMPLATE [default]
2014-08-20 10:11:17.620538 [INFO] mod_xml_odbc.c:234 DEBUG Performing Query:
SELECT sip_password FROM freeusers WHERE sip_user = 'usertest';
2014-08-20 10:11:17.745689 [INFO] mod_xml_odbc.c:451 Debug dump of generated XML:
<document type="freeswitch/xml">
  <section name="directory">
    <domain name="192.168.0.139">
      <user id="usertest">
        <params>
          <param name="password" ,="" value="1213"></param>
        </params>
      </user>
    </domain>
  </section>
</document>

Проблема 1) смотрю в /usr/local/freeswitch/conf/directory а xml файлик с параметрами пользователя там не создался.
Проблема 2) после /usr/local/freeswitch/bin/freeswitch -nonat сам freeswitch уже не остановить, так и висит в процессах
/usr/local/freeswitch/bin/freeswitch -stop не помогает
kill idprocessa - не помогает
в /var/run/ и /var/lock/subsys/ его тоже не видать
Товарищи, направьте на путь истинный :(
Makc64RUS
 
Сообщений: 110
Зарегистрирован: 12 янв 2013, 22:00

Re: Freeswitch xml_odbc.conf.xml

Сообщение Vlad1983 » 20 авг 2014, 11:51

Код: выделить все
<param name="password", value="${sip_password}"/>
"," там не надо
ЛС: @rostel
Vlad1983
 
Сообщений: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Freeswitch xml_odbc.conf.xml

Сообщение Makc64RUS » 20 авг 2014, 15:47

Забил на этот модуль, делаю через mod_lua и lua скрипты.
Makc64RUS
 
Сообщений: 110
Зарегистрирован: 12 янв 2013, 22:00

Re: Freeswitch xml_odbc.conf.xml

Сообщение Makc64RUS » 21 авг 2014, 09:04

Коллеги, а существует ли способ хранить пользователей в MySQL, при этом не храня их в файлах конфигурации freeswitch? Что бы freeswitch сразу тянул их из БД
Makc64RUS
 
Сообщений: 110
Зарегистрирован: 12 янв 2013, 22:00

Re: Freeswitch xml_odbc.conf.xml

Сообщение Vlad1983 » 21 авг 2014, 10:51

нет
ЛС: @rostel
Vlad1983
 
Сообщений: 4251
Зарегистрирован: 09 авг 2011, 11:51


Вернуться в FreeSwitch, SER, Yate и другие

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5

© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH