VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Freeswitch: исходящие идут только на gateway с регистрацией

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

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

Raice
Сообщения: 11
Зарегистрирован: 16 апр 2011, 15:46

Freeswitch: исходящие идут только на gateway с регистрацией

Сообщение Raice »

Решил тут поизучать FS.
Дано - Centos 6.4, x64. FS 1.2.9 из официального репозитория.
Сделал 3 GW, каждый в своем файле

Код: Выделить всё

<include>
    <gateway name="mf923XXXXXXX">
    <param name="username" value="7923XXXXXXX"/>
    <param name="from-user" value="7923XXXXXXX"/>
    <param name="realm" value="multifon.ru"/>
    <param name="password" value="XXXXXX"/>
    <param name="from-domain" value="multifon.ru"/>
    <param name="proxy" value="sbc.megafon.ru"/>
    <param name="outbound-proxy" value="sbc.megafon.ru"/>
    <param name="expire-seconds" value="60"/>
    <param name="register" value="true"/>
    <param name="register-transport" value="tcp"/>
    <param name="contact-params" value="tport=tcp"/>
    <param name="ping" value="25"/>
    </gateway>
</include>
<include>
  <gateway name="aaaaaa-274XXXX">
    <param name="username" value="USEER"/>
    <param name="from-user" value="USEER"/>
  <param name="password" value="xxxxxxxxx"/>
  <param name="proxy" value="xx.xx.xx.xx"/>
  <param name="register-proxy" value="xx.xx.xx.xx"/>
  <param name="expire-seconds" value="60"/>
  <param name="register" value="true"/>
  <param name="register-transport" value="udp"/>
  <param name="retry-seconds" value="30"/>
  <param name="ping" value="25"/>
  </gateway>
  </include>
<include>
    <gateway name="zzzzzz">
        <param name="proxy" value="zz.zz.zz.zz"/>
        <param name="realm" value="zz.zz.zz.zz"/>
        <param name="register" value="false"/>
        <param name="username" value="not-used"/>
        <param name="password" value="not-used"/>
        <param name="auth-calls" value="false"/>
    </gateway>
</include>
Прописал маршруты

Код: Выделить всё

<include>

  <extension name="local.example.com">
    <condition field="${toll_allow}" expression="local"/>
    <condition field="destination_number" expression="(^2{0,1}\d{6}$)">
      <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/aaaaaa-274XXXX/$1"/>
    </condition>
  </extension>

  <extension name="domestic.example.com">
    <condition field="${toll_allow}" expression="domestic"/>
    <condition field="destination_number" expression="(^861{0,1}\d{10}$)">
      <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/zzzzzz/$1"/>
    </condition>
  </extension>

<extension name="out_multifon">
  <condition field="destination_number" expression="^(([7,8])(92\d{8}))$">
      <action application="set" data="effective_caller_id_number=7923XXXXXXX"/>
      <action application="set" data="hangup_after_bridge=true"/>
      <action application="set" data="bride_early_media=true"/>
      <action application="set" data="ringback=${ru-ring}"/>
      <action application="set" data="instant_ringback=true"/>
      <action application="bridge" data="sofia/gateway/mf923XXXXXXX/7$3@multifon.ru"/>
      <action application="answer"/>
  </condition>
  </extension>
</include>
Так вот при наборе номера 86186ХХХХХХХХ звонок должен уходить на транк zzzzzz, но он почему то упорно валится на мультфон

Код: Выделить всё

2013-06-05 21:50:44.201489 [NOTICE] switch_channel.c:978 New Channel sofia/internal/1001@172.17.0.1 [eaee467e-cde6-11e2-b545-6f5b1b737f35]
2013-06-05 21:50:44.841471 [INFO] mod_dialplan_xml.c:557 Processing 1001 <1001>->86186XXXXXXXX in context default
2013-06-05 21:50:44.841471 [NOTICE] switch_channel.c:978 New Channel sofia/external/86186XXXXXXXX [eb4e8318-cde6-11e2-b552-6f5b1b737f35]
send 1135 bytes to tcp/[193.201.229.35]:5060 at 13:50:44.851501:
   ------------------------------------------------------------------------
   INVITE sip:86186XXXXXXXX@zz.zz.zz.zz SIP/2.0
   Via: SIP/2.0/TCP CCC.CCC.CCC.CCC:5080;rport;branch=z9hG4bKvKgXy3U5UgtUH
   Route: <sip:gw+mf923XXXXXXX@193.201.229.35:5060;transport=tcp;lr>;tport=tcp;gw=mf923XXXXXXX
   Max-Forwards: 69
   From: "FreeSWITCH" <sip:not-used@zz.zz.zz.zz>;tag=FXS0aSBgr1H8r
   To: <sip:86186XXXXXXXX@zz.zz.zz.zz>
   Call-ID: c2acf9c2-4889-1231-09a6-000c29c88038
   CSeq: 44884058 INVITE
   Contact: <sip:gw+zzzzzz@CCC.CCC.CCC.CCC:5080;transport=udp;gw=zzzzzz>
   User-Agent: FreeSWITCH-mod_sofia/1.2.9
   Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY
   Supported: timer, precondition, path, replaces
   Allow-Events: talk, hold, conference, refer
   Content-Type: application/sdp
   Content-Disposition: session
   Content-Length: 212
   X-FS-Support: update_display,send_info
   Remote-Party-ID: "FreeSWITCH" <sip:0000000000@zz.zz.zz.zz>;party=calling;screen=yes;privacy=off

   v=0
   o=FreeSWITCH 1370410656 1370410657 IN IP4 CCC.CCC.CCC.CCC
   s=FreeSWITCH
   c=IN IP4 CCC.CCC.CCC.CCC
   t=0 0
   m=audio 29588 RTP/AVP 18 8 9 0 101 13
   a=rtpmap:101 telephone-event/8000
   a=fmtp:101 0-16
   a=ptime:20
   ------------------------------------------------------------------------
recv 315 bytes from tcp/[193.201.229.35]:5060 at 13:50:44.970989:
   ------------------------------------------------------------------------
   SIP/2.0 100 Trying
   Via: SIP/2.0/TCP CCC.CCC.CCC.CCC:5080;received=CCC.CCC.CCC.CCC;branch=z9hG4bKvKgXy3U5UgtUH;rport=49419
   From: "FreeSWITCH" <sip:not-used@multifon.ru>;tag=FXS0aSBgr1H8r
   To: <sip:86186XXXXXXX@multifon.ru>
   Call-ID: c2acf9c2-4889-1231-09a6-000c29c88038
   CSeq: 44884058 INVITE
   Content-Length: 0

   ------------------------------------------------------------------------
recv 346 bytes from tcp/[193.201.229.35]:5060 at 13:50:45.089942:
   ------------------------------------------------------------------------
   SIP/2.0 403 Forbidden
   Via: SIP/2.0/TCP CCC.CCC.CCC.CCC:5080;received=CCC.CCC.CCC.CCC;branch=z9hG4bKvKgXy3U5UgtUH;rport=49419
   From: "FreeSWITCH" <sip:not-used@multifon.ru>;tag=FXS0aSBgr1H8r
   To: <sip:86186XXXXXXX@multifon.ru>;tag=aprqngfrt-97inh2b0c5ol5
   Call-ID: c2acf9c2-4889-1231-09a6-000c29c88038
   CSeq: 44884058 INVITE
   Content-Length: 0
CCC.CCC.CCC.CCC - это внешний адрес FS.

Причем, если я убираю все гейты с регистрацией - звонок идет правильно. Оставляю хоть один с регистрацией - все валится на него.
Что делать как быть?
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Freeswitch: исходящие идут только на gateway с регистрац

Сообщение Vlad1983 »

<include>
<gateway name="zzzzzz">
<param name="proxy" value="zz.zz.zz.zz"/>
<param name="realm" value="zz.zz.zz.zz"/>
<param name="outbound-proxy" value="zz.zz.zz.zz"/>
<param name="register" value="false"/>
<param name="username" value="not-used"/>
<param name="password" value="not-used"/>
<param name="auth-calls" value="false"/>
</gateway>
</include>
ЛС: @rostel
Raice
Сообщения: 11
Зарегистрирован: 16 апр 2011, 15:46

Re: Freeswitch: исходящие идут только на gateway с регистрац

Сообщение Raice »

Не помогло
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Freeswitch: исходящие идут только на gateway с регистрац

Сообщение Vlad1983 »

расскажите как применяете изменения?
ЛС: @rostel
Raice
Сообщения: 11
Зарегистрирован: 16 апр 2011, 15:46

Re: Freeswitch: исходящие идут только на gateway с регистрац

Сообщение Raice »

Для верности рестартанул
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Freeswitch: исходящие идут только на gateway с регистрац

Сообщение Vlad1983 »

пропишите "outbound-proxy" во всех шлюзах

варварский метод применить:
fs_cli -x "reloadxml"
следите чтоб выкинуло +OK [Success]
останавливаете FS
удаляете содержимое директории с файлами БД (/usr/local/freeswitch/db/ по дефолту)
стартуете FS

более гуманно (но не всегда срабатывает):
fs_cli -x "reloadxml"
следите чтоб выкинуло +OK [Success]
fs_cli -x "sofia profile профиль killgw шлюз"
fs_cli -x "sofia profile профиль rescan"
ЛС: @rostel
Raice
Сообщения: 11
Зарегистрирован: 16 апр 2011, 15:46

Re: Freeswitch: исходящие идут только на gateway с регистрац

Сообщение Raice »

Эквифаллентно. Все тоже самое. outbounbd-proxy везде прописал, остановил, базы удалил, запустил - все тоже самое.

Код: Выделить всё

Enabled sip debugging on external
2013-06-06 10:52:24.761455 [NOTICE] switch_channel.c:978 New Channel sofia/internal/1001@172.17.0.1 [1dd637be-ce54-11e2-9419-1d9fdbc439e4]
2013-06-06 10:52:25.401476 [INFO] mod_dialplan_xml.c:557 Processing 1001 <1001>->8618620274552 in context default
2013-06-06 10:52:25.401476 [NOTICE] switch_channel.c:978 New Channel sofia/external/86186XXXXXXXX [1e39af6a-ce54-11e2-9427-1d9fdbc439e4]
send 1135 bytes to tcp/[193.201.229.35]:5060 at 02:52:25.423084:
   ------------------------------------------------------------------------
   INVITE sip:86186XXXXXXXX@cc.cc.cc.cc/SIP/2.0
   Via: SIP/2.0/TCP aa.aa.aa.aa:5080;rport;branch=z9hG4bKKt8XDS5cK51vg
   Route: <sip:gw+mf923XXXXXXX@193.201.229.35:5060;transport=tcp;lr>;tport=tcp;gw=mf923XXXXXX
   Max-Forwards: 69
   From: "FreeSWITCH" <sip:not-used@cc.cc.cc.cc>;tag=H8c6F3UFZ9XZS
   To: <sip:86186XXXXXXXX@cc.cc.cc.cc>
   Call-ID: f5984323-48f6-1231-48bb-000c29c88038
   CSeq: 44907508 INVITE
   Contact: <sip:gw+zzzzzz@aa.aa.aa.aa:5080;transport=udp;gw=zzzzzz>
   User-Agent: FreeSWITCH-mod_sofia/1.2.9
   Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY
   Supported: timer, precondition, path, replaces
   Allow-Events: talk, hold, conference, refer
   Content-Type: application/sdp
   Content-Disposition: session
   Content-Length: 212
   X-FS-Support: update_display,send_info
   Remote-Party-ID: "FreeSWITCH" <sip:0000000000@cc.cc.cc.cc>;party=calling;screen=yes;privacy=off
86186XXXXXXXX = набираемый номер
cc.cc.cc.cc = адрес НУЖНОГО гейта
aa.aa.aa.aa = внешний адрес FS
mf923XXXXXX = название гейта для мультифона
193.201.229.35 = мультифоновский прокси
zzzzz = название гейта, через который должен уходить звонок

Самое главное, что мне непонятно, это то, почему он ломится на мультифон, при этом говоря From: "FreeSWITCH" <sip:not-used@cc.cc.cc.cc>;
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Freeswitch: исходящие идут только на gateway с регистрац

Сообщение Vlad1983 »

не было такого ни разу при выставленном "outbound-proxy" (без него иногда проскакивало)

соберите с git

Код: Выделить всё

git clone -b v1.2.stable git://git.freeswitch.org/freeswitch freeswitch.v1.2.stable
ЛС: @rostel
Raice
Сообщения: 11
Зарегистрирован: 16 апр 2011, 15:46

Re: Freeswitch: исходящие идут только на gateway с регистрац

Сообщение Raice »

Vlad1983 писал(а):не было такого ни разу при выставленном "outbound-proxy" (без него иногда проскакивало)
ну блин, неужели я единственный такой :) а не могли бы пример настроек гейта с регистрацией и без выложить? с рабочих конфигов

Еще раз все проверил - все прокси прописаны. Я его с утра сегодня переключил с внутренней БД на Percona Cluster, перестартовал - безрезультатно
Vlad1983 писал(а):соберите с git
да вот очень не хотелось бы
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Freeswitch: исходящие идут только на gateway с регистрац

Сообщение Vlad1983 »

вот как раз на одном серваке

Код: Выделить всё

<include>
  <gateway name="MegaFon_MultiFon_79211234567">
        <!--/// account username *required* ///-->
        <param name="username" value="79211234567"/>
        <!--/// auth realm: *optional* same as gateway name, if blank ///-->
        <param name="realm" value="multifon.ru"/>
        <!--/// username to use in from: *optional* same as  username, if blank ///-->
        <param name="from-user" value="79211234567"/>
        <!--/// domain to use in from: *optional* same as  realm, if blank ///-->
        <param name="from-domain" value="multifon.ru"/>
        <!--/// account password *required* ///-->
        <param name="password" value="passpass"/>
        <!--/// extension for inbound calls: *optional* same as username, if blank ///-->
        <param name="extension" value="79211234567"/>
        <param name="extension-in-contact" value="true"/>
  <!--/// proxy host: *optional* same as realm, if blank ///-->
  <!--<param name="proxy" value="asterlink.com"/>-->
        <!--/// send register to this proxy: *optional* same as proxy, if blank ///-->
        <param name="register-proxy" value="sbc.megafon.ru"/>
        <param name="outbound-proxy" value="sbc.megafon.ru"/>
        <!--/// expire in seconds: *optional* 3600, if blank ///-->
        <param name="expire-seconds" value="60"/>
        <!--/// do not register ///-->
        <param name="register" value="true"/>
        <!-- which transport to use for register -->
        <param name="register-transport" value="udp"/>-->
        <!--How many seconds before a retry when a failure or timeout occurs -->
        <param name="retry-seconds" value="60"/>
        <!--Use the callerid of an inbound call in the from field on outbound calls via this gateway -->
        <!--<param name="caller-id-in-from" value="true"/>-->
  <!--extra sip params to send in the contact-->
  <!--<param name="contact-params" value="tport=tcp"/>-->
  <!--send an options ping every x seconds, failure will unregister and/or mark it down-->
  <!--<param name="ping" value="25"/>-->
        <param name="caller-id-type" value="none"/>
  </gateway>
  <!--rfc5626 : Abilitazione rfc5626 ///-->
  <!--<param name="rfc-5626" value="true"/>-->
  <!--rfc5626 : extra sip params to send in the contact-->
  <!--<param name="reg-id" value="1"/>-->
</include>

<include>
  <gateway name="Smart">
        <!--/// account username *required* ///-->
        <param name="username" value="POH"/>
        <!--/// auth realm: *optional* same as gateway name, if blank ///-->
        <param name="realm" value="1.2.3.4"/>
  <!--/// username to use in from: *optional* same as  username, if blank ///-->
  <!--<param name="from-user" value="cluecon"/>-->
  <!--/// domain to use in from: *optional* same as  realm, if blank ///-->
  <!--<param name="from-domain" value="asterlink.com"/>-->
        <!--/// account password *required* ///-->
        <param name="password" value="POH"/>-->
  <!--/// extension for inbound calls: *optional* same as username, if blank ///-->
  <!--<param name="extension" value="cluecon"/>-->
  <!--/// proxy host: *optional* same as realm, if blank ///-->
        <param name="proxy" value="1.2.3.4"/>
        <param name="outbound-proxy" value="1.2.3.4"/>
  <!--/// send register to this proxy: *optional* same as proxy, if blank ///-->
  <!--<param name="register-proxy" value="mysbc.com"/>-->
  <!--/// expire in seconds: *optional* 3600, if blank ///-->
  <!--<param name="expire-seconds" value="60"/>-->
        <!--/// do not register ///-->
        <param name="register" value="false"/>
        <!-- which transport to use for register -->
        <param name="register-transport" value="udp"/>
  <!--How many seconds before a retry when a failure or timeout occurs -->
  <!--<param name="retry-seconds" value="30"/>-->
        <!--Use the callerid of an inbound call in the from field on outbound calls via this gateway -->
        <param name="caller-id-in-from" value="true"/>
  <!--extra sip params to send in the contact-->
  <!--<param name="contact-params" value="tport=tcp"/>-->
  <!--send an options ping every x seconds, failure will unregister and/or mark it down-->
  <!--<param name="ping" value="25"/>-->
  </gateway>
  <!--rfc5626 : Abilitazione rfc5626 ///-->
  <!--<param name="rfc-5626" value="true"/>-->
  <!--rfc5626 : extra sip params to send in the contact-->
  <!--<param name="reg-id" value="1"/>-->
</include>
ЛС: @rostel
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH