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