URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 91656
[ Назад ]

Исходное сообщение
"FreeSWITCH: проблема с простой конфигурацией "

Отправлено haw0k , 26-Май-11 18:24 
Стоит задача перевести SIP-вызовы без login'а/пароля, приходящие с заданного IP(X-Lite), на другой IP(Asotel), добавив SIP-авторизацию (т.е. login/пароль test/test) к вызову.
Пробую задачу решить с помощью FreeSWITCH.
Создал следующие файлы:
1) conf/sip-profiles/external/Asotel.xml:
<include>
  <gateway name="Asotel">
    <param name="username" value="test"/>
    <param name="password" value="test"/>
    <param name="realm" value="192.168.123.123"/>
    <param name="register" value="true"/>
  </gateway>
</include>

2) conf/sip-profiles/internal/X-Lite.xml:
<include>
  <gateway name="X-Lite">
    <param name="realm" value="192.168.123.181"/>
    <param name="username" value="test"/>
    <param name="password" value="test"/>
    <param name="register" value="true"/>
  </gateway>
</include>

3) conf/dialplan/extensions/test.xml:
<include>
  <extension name="test-Asotel">
      <condition field="destination_number" expression="^7777$">
      <action application="bridge" data="sofia/gateway/Asotel/7777"/>
      <action application="hangup"/>
      </condition>
    </extension>
</include>

Попытка зарегистрироваться софтфоном X-Lite на сервере FreeSWITCH приводит к ошибке:
2011-05-26 17:20:00 [WARNING] sofia_reg.c:1061 sofia_reg_parse_auth() can't find user [test@192.168.123.1]
2011-05-26 17:20:12 [NOTICE] sofia_reg.c:121 sofia_reg_check_gateway() registering X-Lite
2011-05-26 17:20:12 [WARNING] sofia_reg.c:863 sofia_reg_handle_sip_r_register() Registration Failed with status 503

Просьба помочь разобраться с ошибкой.
Заранее спасибо!



Содержание

Сообщения в этом обсуждении
"FreeSWITCH: проблема с простой конфигурацией "
Отправлено Deepwalker , 27-Май-11 02:06 
Это конфигурация шлюза же, а не клиента.
> 2) conf/sip-profiles/internal/X-Lite.xml:
> <include>
>   <gateway name="X-Lite">
>     <param name="realm" value="192.168.123.181"/>
>     <param name="username" value="test"/>
>     <param name="password" value="test"/>
>     <param name="register" value="true"/>
>   </gateway>
> </include>

Зарегайтесь юзером 1000 с паролем 1234. Если что, все юзеры в conf/directory/*


"FreeSWITCH: проблема с простой конфигурацией "
Отправлено haw0k , 01-Июн-11 20:06 
> Это конфигурация шлюза же, а не клиента.

Начал разбираться - все равно ничего не клеится!

FreeSWITCH server (IP 88.198.XXX.XXX) должен принимать SIP-вызовы от одного IP -адреса (софтфон X-Lite  с динамическим IP из подсети 92.112.0.0/16) и пересылать вызовы на аппаратный SIP-телефон (Asotel, IP 195.225.XXX.XXX). На аппаратном телефоне настроен SIP режим peer-to-peer.

Напрямую X-Lite на Asotel проходят - я всегда слышу входящий вызов когда набираю на X-Lite номер 7777. А через FreeSWITCH вызовы не "ходят". Хотя X-Lite успешно регистрируется на FS.

Мною создано четыре xml-файла - все остальные конфиги я не трогал:
1) conf/sip-profiles/internal/X-Lite.xml:
<include>
  <gateway name="X-Lite">
    <param name="username" value="inboundtest"/>
    <param name="password" value="test"/>
    <param name="register" value="true"/>
  </gateway>
</include>

2) conf/sip-profiles/external/Asotel.xml:
<include>
  <gateway name="Asotel">
    <param name="realm" value="195.225.XXX.XXX"/>
    <param name="username" value="outboundtest"/>
    <param name="password" value="test"/>
    <param name="register" value="true"/>
  </gateway>
</include>

3) conf/dialplan/public/test.xml:
<include>
  <extension name="test">
      <condition field="destination_number" expression="^7777$">
        <action application="bridge" data="sofia/gateway/Asotel/$1"/>
      </condition>
    </extension>
</include>

4) conf/directory/default/inboundtest.xml:
<include>
  <user id="inboundtest" cidr="92.112.0.0/16">
    <params>
      <param name="from-domain" value="88.198.XXX.XXX"/>
      <param name="password" value="test"/>
    </params>
  </user>
</include>


Вот отладка с аппаратного ip-телефона Asotel:
---begin---
Incoming CallLeg at callleg created 0x57d334 Incoming CallLeg at MsgReceived 0x57d334  *** $1 was being Invited ***
>>> All call occupied. <<<

No slot availabe for this call...
FindIPCall...All Slot is Busy
RvSipCallLegReject(486), hCallLeg: 57d334
--> Message Sent (Message type: 1) (call-leg 57d334)
SIP/2.0 486 Busy Here
From: "inboundtest"<sip:outboundtest@195.225.XXX.XXX;transport=udp>;tag=vgpp5vSBgcX6p
To: <sip:$1@195.225.XXX.XXX>;tag=c3e19fb6-13c4-4ddecb5a-1f577-5f2a
Call-ID: 232b19fe-0285-122f-b5b5-1b5bdf4f9807
CSeq: 12887277 INVITE
Via: SIP/2.0/UDP 88.198.XXX.XXX:5080;rport=5080;branch=z9hG4bKv0XUcNtvK3c2K
Supported: replaces
User-Agent: FXS_GW (1asipfxs.109)
Content-Length: 0
---end---

Вот что вижу в логах FreeSWITCH:
---begin---
[NOTICE] switch_channel.c:816 New Channel sofia/internal inboundtest@88.198.XXX.XXX [bf8e8081-eaf1-453e-a643-ee03df36ba0f]
[INFO] mod_dialplan_xml.c:336 Processing inboundtest <inboundtest>->7777 in context public
[NOTICE] switch_channel.c:816 New Channel sofia/external/$1 [4beaba1f-c9c6-4ed7-94c5-efec453e895a]
[NOTICE] sofia.c:5416 Hangup sofia/external/$1 [CS_CONSUME_MEDIA] [USER_BUSY]
[INFO] mod_dptools.c:2685 Originate Failed.  Cause: USER_BUSY
[NOTICE] mod_dptools.c:2799 Hangup sofia/internal/inboundtest@88.198.XXX.XXX [CS_EXECUTE] [USER_BUSY]
[NOTICE] switch_core_session.c:1304 Session 1 (sofia/internal/inboundtest@88.198.XXX.XXX) Ended
[NOTICE] switch_core_session.c:1306 Close Channel sofia/internal/inboundtest@88.198.XXX.XXX [CS_DESTROY]
[NOTICE] switch_core_session.c:1304 Session 2 (sofia/external/$1) Ended
[NOTICE] switch_core_session.c:1306 Close Channel sofia/external/$1 [CS_DESTROY]
---end---


Попробовал переконфигурировать FreeSWITCH: удалил conf/sip-profiles/internal/X-Lite.xml и добавил inboundtest.xml в /opt/freeswitch/conf/directory/default со следующим содердимым:
<include>
  <user id="inboundtest" cidr="92.112.0.0/16">
    <params>
      <param name="from-domain" value="88.198.XXX.XXX"/>
      <param name="password" value="test"/>
    </params>
  </user>
</include>

Все равно звонок "отбивается" с USER_BUSY:
---begin---
[NOTICE] switch_channel.c:816 New Channel sofia/internal/inboundtest@88.198.XXX.XXX [c3db7d90-a239-4b80-b5dd-4fc3a6ca2907]
[INFO] mod_dialplan_xml.c:336 Processing inboundtest <inboundtest>->7777 in context public
[NOTICE] switch_channel.c:816 New Channel sofia/external/$1 [41595b8d-62b9-4457-ab73-acc3dc7b1ac4]
[NOTICE] sofia.c:5416 Hangup sofia/external/$1 [CS_CONSUME_MEDIA] [USER_BUSY]
[INFO] mod_dptools.c:2685 Originate Failed.  Cause: USER_BUSY
[NOTICE] mod_dptools.c:2799 Hangup sofia/internal/inboundtest@88.198.XXX.XXX [CS_EXECUTE] [USER_BUSY]
[NOTICE] switch_core_session.c:1304 Session 1 (sofia/internal/inboundtest@88.198.XXX.XXX) Ended
[NOTICE] switch_core_session.c:1306 Close Channel sofia/internal/inboundtest@88.198.XXX.XXX [CS_DESTROY]
[NOTICE] switch_core_session.c:1304 Session 2 (sofia/external/$1) Ended
[NOTICE] switch_core_session.c:1306 Close Channel sofia/external/$1 [CS_DESTROY]
---end---

Подскажите, пожалуйста - что же я делаю не так?