Hello Chad, The floating IPs that you have, are they both private IPs or one private IP and the other one a public IP?
If you have to two floating private IPs, then you need a config like this: listen=FLOATING_UDP_PRIVATE1 advertise PUBLIC_UDP_IP listen=FLOATING_UDP_PRIVATE2 In the config, before relaying the initial INVITE you need to detect the direction of the call and set $fs accordingly: if (CAL_FROM_PRIVATE_TO_PUBLIC) { $fs = udp:FLOATING_UDP_PRIVATE1 } else { $fs = udp:FLOATING_UDP_PRIVATE2 } If you have a floating private IPs and a floating public IP, then you need a config like this: listen=FLOATING_UDP_PRIVATE listen=FLOATING_UDP_PUBLIC There should be no need to force the socket, but if you do, there's no harm (actually it's better and faster). Hope this clarifies things and helps, -ovidiu On Sat, Jan 15, 2022 at 9:48 AM Chad <ccolu...@hotmail.com> wrote: > > Ovidiu, > Thank you for your response. > > I have done that, in addition to the linux ip_nonlocal_bind I have also set > the Kamailio ip_free_bind=1 and it does not > work. > Here are my relevant config lines: > listen=LISTEN_UDP_PRIVATE advertise MY_PUBLIC_IP:5060 > listen=LISTEN_UDP_PUBLIC > > mhomed=1 > ip_free_bind=1 > > > In my /etc/sysctl.conf I have (yes I applied it with sysctl -p, and I have > been using it for a long time and have > rebooted as well): > net.ipv4.ip_nonlocal_bind=1 > -- > ^C > > > On 1/15/22 4:55 AM, Ovidiu Sas wrote: > > Hello Chad, > > > > You can add a listen directive to your config for the virtual IPs > > (both public and private) and then you don't need to manually modify > > any headers or use force_send_socket(). > > You need to enable non local IP binding so kamailio can start on the > > server that doesn't have the virtual IP: > > echo 1 > /proc/sys/net/ipv4/ip_nonlocal_bind > > To make the change permanent, edit your sysctl.conf file and enable it > > there: > > net/ipv4/ip_nonlocal_bind = 1 > > > > Regards > > Ovidiu Sas > > > > > > On Sat, Jan 15, 2022 at 4:16 AM Chad <ccolu...@hotmail.com> wrote: > >> > >> We are looking for some help (possibly a paid consultant) to help us with > >> our Kamailio setup. > >> To keep this as short as possible: we use Kamailio as a NAT proxy to > >> bridge our external IP and our private IP asterisk > >> servers (via dispatcher). > >> However both the external IP and the internal IP that the Kamailio server > >> uses are virtual IPs created by keepalived. > >> Because of that neither mhomed nor fix_nated_contact work, and we use > >> force_send_socket to direct the traffic. > >> We run linux Debian 10 for the OS. > >> Also we do not use a DB at all, everything is done with local config files. > >> > >> The problem is that when traffic goes out the Contact header has a private > >> IP in it, like: > >> Contact: <sip:##########@10.10.10.###]:5060> > >> > >> There are 2 possible solutions to this: > >> 1. Make changes to linux, keepalived and/or Kamailio so that Kamailio > >> recognize the virtual IPs so that mhomed and > >> fix_nated_contact work as usual. > >> > >> 2. Create a manual header rewrite system. > >> > >> If solution #2: > >> What we need to do is create a way to rewrite the contact header to the > >> external IP on the way out, and on the way back > >> rewrite it back to the internal server that the call is already connected > >> to. > >> > >> Not sure if we will need to store those paths on the server or if we can > >> do some kind of cheat with another persistant > >> header like P-Preferred-Identity or P-Asserted-Identity (i.e. store the > >> internal IP in the name field or something). > >> > >> If anyone out there know of a way to do this or wants to give it a try > >> please reach out to me. > >> > >> Thank you all for your time. > >> > >> -- > >> ^C > >> Chad > >> > >> __________________________________________________________ > >> Kamailio - Users Mailing List - Non Commercial Discussions > >> * sr-users@lists.kamailio.org > >> Important: keep the mailing list in the recipients, do not reply only to > >> the sender! > >> Edit mailing list options or unsubscribe: > >> * https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users > > > > > > > > -- > > VoIP Embedded, Inc. > > http://www.voipembedded.com > > > > __________________________________________________________ > > Kamailio - Users Mailing List - Non Commercial Discussions > > * sr-users@lists.kamailio.org > > Important: keep the mailing list in the recipients, do not reply only to > > the sender! > > Edit mailing list options or unsubscribe: > > * https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users -- VoIP Embedded, Inc. http://www.voipembedded.com __________________________________________________________ Kamailio - Users Mailing List - Non Commercial Discussions * sr-users@lists.kamailio.org Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe: * https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users