freeswitchforum.com

Форум поддержки FreeSWITCH

FreeSWITCH is a registered trademark of Anthony Minessale. Official FreeSWITCH site.

Текущее время: 29 мар 2024 19:18

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
СообщениеДобавлено: 15 май 2016 19:11 

Зарегистрирован: 24 дек 2014 10:40
Сообщения: 85
Здравствуйте.
Есть одна ситуация, которую я никак не могу понять, и поэтому прошу помощи.
Есть external профиль, практически ванильный. В нем настроены GSM-VoIP шлюзы и SIP операторы.
Но мой тупняк вызвало следующее поведение:

Звоню через шлюз
Код:
<action application="bridge" data="sofia/gateway/kts4m1/+79131234567"/>


Есть настроенный шлюз KTS, на который прекрасно идет исходящий звонок.
Но стоит мне запустить шлюз мультифона, так трафик предназначавшийся для KTS идет на адрес этого мультифона.

[+] Немного дебага
nta.c:2665 nta_tpn_by_url() nta: selecting scheme sip
tport.c:3257 tport_tsend() tport_tsend(0x7f134c004290) tpn = udp/193.201.229.35:5060
tport.c:4046 tport_resolve() tport_resolve addrinfo = 193.201.229.35:5060
tport.c:4680 tport_by_addrinfo() tport_by_addrinfo(0x7f134c004290): not found by name udp/193.201.229.35:5060
tport.c:3594 tport_vsend() tport_vsend(0x7f134c004290): 1206 bytes of 1206 to udp/193.201.229.35:5060
tport.c:3492 tport_send_msg() tport_vsend returned 1206

и потом
Код:
send 1206 bytes to udp/[193.201.229.35]:5060 at 19:55:33.223898:
   ------------------------------------------------------------------------
   INVITE sip:+79131234567@192.168.10.10 SIP/2.0
   Via: SIP/2.0/UDP 192.168.0.1:5080;rport;branch=z9hG4bKF8QjNNBjFc4pQ
   Route: <sip:gw+79282222222@193.201.229.35:5060;transport=udp;lr>;gw=79282222222
   Max-Forwards: 69
   From: "1033" <sip:kts4m1@192.168.10.10>;tag=DKpjKStgSe3gB
   To: <sip:+79131234567@192.168.10.10>
   Call-ID: 88a05ead-9547-1234-9586-902b341acc4d
   CSeq: 91324202 INVITE
   Contact: <sip:gw+kts4m1@192.168.0.1:5080;transport=udp;gw=kts4m1>
   User-Agent: FreeSWITCH-mod_sofia/1.6.8-15-99de0ad~64bit
   Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY
   Supported: timer, path, replaces
   Allow-Events: talk, hold, conference, refer
   Content-Type: application/sdp
   Content-Disposition: session
   Content-Length: 270
   X-FS-Support: update_display,send_info
   Remote-Party-ID: "1033" <sip:1033@192.168.10.10>;party=calling;screen=yes;privacy=off
   
   v=0
   o=FreeSWITCH 1463301289 1463301290 IN IP4 <stun: external_ip>
   s=FreeSWITCH
   c=IN IP4 <stun: external_ip>
   t=0 0
   m=audio 19244 RTP/AVP 0 8 101 13
   a=rtpmap:0 PCMU/8000
   a=rtpmap:8 PCMA/8000
   a=rtpmap:101 telephone-event/8000
   a=fmtp:101 0-16
   a=rtpmap:13 CN/8000
   a=ptime:20
   ------------------------------------------------------------------------


Инвайт уходит на 193.201.229.35, т.е. на мультифон, хотя должен уйти на 192.168.10.10

На всякий случай настройки шлюзов

[+] настройки мультифона 79282222222
<gateway name="79282222222">
<param name="username" value="79282222222"/>
<param name="password" value="ххххххххххххххх"/>
<param name="from-user" value="79282222222"/>
<param name="extension" value="79282222222"/>

<param name="from-domain" value="multifon.ru"/>

<param name="proxy" value="sbc.megafon.ru"/>

<param name="register" value="true"/>

<param name="expire-seconds" value="600"/>
<param name="retry-seconds" value="30"/>
<param name="realm" value="sbc.megafon.ru"/>
</gateway>


[+] настройки kts4m1
<gateway name="kts4m1">
<param name="username" value="kts4m1"/>
<param name="password" value="ххххххххх"/>
<param name="extension" value="1234567"/>

<param name="realm" value="192.168.10.10"/>

<param name="register" value="false"/>

<param name="expire-seconds" value="600"/>
<param name="retry-seconds" value="30"/>
</gateway>


Как только убиваю шлюз мультифона, то трафик опять идет на 192.168.10.10
И причем такое поведение появляется только при запуске шлюза мультифона. Все остальные интернет SIP шлюзы такого влияния не оказывают. На сервере с десяток сип провайдеров и 4 gsm-voip шлюза, kts привел просто для примера, а так ситуация аналогичная со всеми GSM-VoIP шлюзами. Все на мультифон начинают идти.
Но вот почему только на мультифоне стреляет, для меня пока что не понятно.

Я предполагаю, что если раскидать шлюзы по разным профилям, то такой ошибки не будет. Но тут другое, хочется понять причину.

_________________
Если бы я был админом одной организации, я бы сделал все по другому.....


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 май 2016 19:22 
FreeSWITCH_GuRu

Зарегистрирован: 22 авг 2012 09:52
Сообщения: 1710
варианта два:
1. разнести шлюзы в <param name="register" value="true"/> и <param name="register" value="false"/> по разным sofia-профилям
2. добавить во все шлюзы <param name="outbound-proxy" value="sbc.megafon.ru"/> с соответствующим значением

_________________
ЛС: @rostel
Сообщество: @ru_freeswitch


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 май 2016 19:37 

Зарегистрирован: 24 дек 2014 10:40
Сообщения: 85
Спасибо.
Как то так и думал.
Но больше интересует почему? Что такого делает мультифон?

По дебагу, я заметил только то, что мультифон единственный из всех интернет операторов voip имеет srv запись.
Но не может же это влиять на это.

_________________
Если бы я был админом одной организации, я бы сделал все по другому.....


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 16 май 2016 10:37 
FreeSWITCH_GuRu

Зарегистрирован: 22 авг 2012 09:52
Сообщения: 1710
"почему" вопрос к mod_sofia

давно взял за правило outbound-proxy прописывать и не заморачиваюсь

_________________
ЛС: @rostel
Сообщество: @ru_freeswitch


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 16 май 2016 12:37 

Зарегистрирован: 24 дек 2014 10:40
Сообщения: 85
outbound-proxy не помог.

Помогло прописывание порта.
Т.е. указать
Код:
<param name="realm" value="192.168.10.10:5061"/>


Видимо в таком виде софия его признала и отдала куда надо.
То что порт не был прописан - согласен, косяк.
Но то что мультифон подставился, это пипец.

Ладно. будет уроком который надо просто запомнить.

Владимир, еще раз спасибо за участие.

_________________
Если бы я был админом одной организации, я бы сделал все по другому.....


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 29 май 2017 12:22 

Зарегистрирован: 03 июл 2012 12:09
Сообщения: 41
Столкнулся с такой проблемой, но в моем случае использование Outbound-Proxy не помогло.
Пришлось искать дальше.
Проблема оказалась в заголовке Service-Route который присылает мультифон в ответ на регистрацию и в том как libsofia сопоставляет исходящий запрос со списком регистраций (используется заголовок From и если нет точного совпадения, то выбирается первый попавшийся зарегистрированный шлюз).
В результате чего FS может использовать этот маршрут для звонков через другие шлюзы. Использование Outbound-Proxy только частично решает проблему. FS по прежнему добавляет заголовок Route в INVITE запрос, но направляет запрос на корректный адрес. В моем случае оператор отбивал запрос с таким заголовком (Route с адресом мультифона).
В ветке 1.9 просто убрали использование этого заголовка (Service-Route). Поэтому если Мегафон вдруг начнет слать различные значения для прокси, то потребуется дополнительная модификация FS.
Для текущей версии возможно разнести шлюзы по профилям таким образом, что libsofia будет корректно работать.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 58


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB