[sr-dev] SIP ping, sockets and multi homed

Patrick Wakano pwakano at gmail.com
Thu Aug 24 01:18:12 CEST 2017


Hello Daniel,
I still couldn't make this SIP probing work.... So currently my setup
cannot actively check for GW availability...
Any idea about what may be causing it?

Thanks for your time,
Patrick Wakano

On 16 August 2017 at 13:01, Patrick Wakano <pwakano at gmail.com> wrote:

> Forgot to mention it is a centos7 box...
>
> On 16 Aug. 2017 11:02 am, "Patrick Wakano" <pwakano at gmail.com> wrote:
>
>> Hi Daniel!
>> Very grateful for your attention!
>>
>> Apologies for lacking important info, check below the version and sockets.
>> It may be worth mentioning these IPs are virtual ones and I am using net.ipv4.ip_nonlocal_bind
>> = 1(in this case the virtual IP is assigned to the box)
>> Interesting that it has a "mhomed: no" for all sockets but I do have
>> mhomed=1 in my cfg file.... could that be the issue?
>> Also there is no message before this one: /usr/sbin/kamailio[6164]:
>> ERROR: <core> [core/forward.c:181]: get_out_socket(): no socket found
>> This is the first one that pops when dispatcher tries to ping....
>>
>> Thanks,
>> Patrick
>>
>> kamailio -v
>> version: kamailio 5.0.2 (x86_64/linux)
>> flags: STATS: Off, USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, DISABLE_NAGLE,
>> USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC,
>> TLSF_MALLOC, DBG_SR_MEMORY, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT,
>> USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST,
>> HAVE_RESOLV_RES
>> ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16,
>> MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
>> poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
>> id: unknown
>> compiled on 12:03:49 Jun 26 2017 with gcc 4.8.5
>>
>> kamcmd> core.sockets_list
>> {
>>     socket: {
>>         proto: udp
>>         address: 172.28.128.100
>>         ipaddress: 172.28.128.100
>>         port: 5060
>>         mcast: no
>>         mhomed: no
>>     }
>>     socket: {
>>         proto: udp
>>         address: 192.168.33.100
>>         ipaddress: 192.168.33.100
>>         port: 5060
>>         mcast: no
>>         mhomed: no
>>     }
>>     socket: {
>>         proto: tcp
>>         address: 172.28.128.100
>>         ipaddress: 172.28.128.100
>>         port: 5060
>>         mcast: no
>>         mhomed: no
>>     }
>>     socket: {
>>         proto: tcp
>>         address: 192.168.33.100
>>         ipaddress: 192.168.33.100
>>         port: 5060
>>         mcast: no
>>         mhomed: no
>>     }
>>     socket: {
>>         proto: tcp
>>         address: 172.28.128.100
>>         ipaddress: 172.28.128.100
>>         port: 8080
>>         mcast: no
>>         mhomed: no
>>     }
>> }
>>
>>
>> On 15 August 2017 at 17:24, Daniel-Constantin Mierla <miconda at gmail.com>
>> wrote:
>>
>>> Hello,
>>>
>>> what are the sockets kamailio is listening on? See `kamcmd help` for the
>>> command that lists the sockets.
>>>
>>> Also, what is the log messages before the first one you pasted, there
>>> should be another one printed from get_out_socket().
>>> It is always important to provide kamailio version (kamailio -v) and the
>>> operating system you are using.
>>>
>>> Cheers,
>>> Daniel
>>>
>>>
>>> On 14.08.17 14:41, Patrick Wakano wrote:
>>>
>>> Hello Kamailio list,
>>>
>>> Hope you all doing well!
>>>
>>> I am stuck with one problem that should be incredibly easy to be done,
>>> but apparently it is not.... I want my dispatcher, LCR and nathelper
>>> modules to always SIP ping my SIP clients. I have a Kamailio based SBC that
>>> is separating two networks, and so I am using the 'mhomed' flag, but none
>>> of these SIP pings are working.... for now I will only ask about the
>>> dispatcher....
>>> My dispatcher module has to talk with SIP servers in both networks, the
>>> thing is when I enable SIP ping for it (modparam("dispatcher",
>>> "ds_probing_mode", 1)), it gives me this type of error:
>>> /usr/sbin/kamailio[6164]: ERROR: <core> [core/forward.c:181]:
>>> get_out_socket(): no socket found
>>> /usr/sbin/kamailio[6164]: ERROR: <core> [core/forward.c:183]:
>>> get_out_socket(): no corresponding socket found for(udp:
>>> 192.168.33.110:6060)
>>> /usr/sbin/kamailio[6164]: ERROR: tm [ut.h:317]: uri2dst2(): no
>>> corresponding socket found for "192.168.33.110" af 2 (udp:
>>> 192.168.33.110:6060)
>>> /usr/sbin/kamailio[6164]: ERROR: tm [uac.c:443]: t_uac_prepare(): no
>>> socket found
>>> /usr/sbin/kamailio[6164]: ERROR: dispatcher [dispatch.c:2652]:
>>> ds_ping_set(): unable to ping [sip:192.168.33.110:6060]
>>>
>>> After research it seems I need to manually set a "socket" attribute for
>>> each of my GWs in dispatcher list. After putting the socket parameter for
>>> the GW, I got another error:
>>> /usr/sbin/kamailio[14190]: ERROR: <core> [core/socket_info.c:2046]:
>>> parse_protohostport(): bad port number in udp:192.168.33.100:5060
>>> /usr/sbin/kamailio[14190]: ERROR: <core> [core/forward.c:181]:
>>> get_out_socket(): no socket found
>>> /usr/sbin/kamailio[14190]: ERROR: <core> [core/forward.c:183]:
>>> get_out_socket(): no corresponding socket found for(udp:
>>> 192.168.33.110:6060)
>>> /usr/sbin/kamailio[14190]: ERROR: tm [ut.h:317]: uri2dst2(): no
>>> corresponding socket found for "192.168.33.110" af 2 (udp:
>>> 192.168.33.110:6060)
>>> /usr/sbin/kamailio[14190]: ERROR: tm [uac.c:443]: t_uac_prepare(): no
>>> socket found
>>> /usr/sbin/kamailio[14190]: ERROR: dispatcher [dispatch.c:2652]:
>>> ds_ping_set(): unable to ping [sip:192.168.33.110:6060]
>>>
>>> What can be wrong in my port info in the socket config? (I tried the
>>> socket with and without quotes but had no luck...)
>>> select * from dispatcher where id=2;
>>>  id | setid |       destination       | flags | priority
>>> |                    attrs                    |     description
>>> ----+-------+-------------------------+-------+----------+--
>>> -------------------------------------------+---------------------
>>>   2 |     2 | sip:192.168.33.110:6060 |     0 |        0 | socket="udp:
>>> 192.168.33.100:5060";rweight=50 |
>>> (1 row)
>>>
>>> Anyhow, I was expecting the 'mhomed' parameter to do the socket
>>> selection for me. Regular call routing either by the dispatcher or by LCR,
>>> also seems to require me to explicitly set the socket otherwise Kamailio
>>> (or the OS) may end up using the wrong socket. So, another question is why
>>> 'mhomed' does not dictate the whole socket selection Kamailio has to do
>>> regardless the module it is using to send SIP requests?
>>>
>>> Sorry for the long e-mail....
>>> Best regards,
>>> Patrick Wakano
>>>
>>>
>>> _______________________________________________
>>> Kamailio (SER) - Development Mailing Listsr-dev at lists.kamailio.orghttps://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
>>>
>>>
>>> --
>>> Daniel-Constantin Mierlawww.twitter.com/miconda -- www.linkedin.com/in/miconda
>>> Kamailio Advanced Training - www.asipto.com
>>> Kamailio World Conference - www.kamailioworld.com
>>>
>>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-dev/attachments/20170824/42cbecfa/attachment-0001.html>


More information about the sr-dev mailing list