<div dir="auto">Hi List,<div dir="auto">Hi Daniel, </div><div dir="auto"><br></div><div dir="auto">any one here that can imagine why force sendsocket generates an udp packet if the target accept only tcp? And without fs it generates an tcp packet. For uac registrations outbound? </div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto">In my lab it's working without force send socket, cos the Paket is generated with the first private ip that the linux server had configured (and where the default route is reachable).</div><div dir="auto"><br></div><div dir="auto">Network setup is like that :</div><div dir="auto"><br></div><div dir="auto">Firewall (routes public ip to Kamailio via an privat IP of Kamailio box) - - > Kamailio server (in DMZ).</div><div dir="auto"><br></div><div dir="auto">And back of course. </div><div dir="auto"><br></div><div dir="auto">All other szencarios (sip traffic proxy acting) works like a charm. </div><div dir="auto"><br></div><div dir="auto">Thanks </div><div dir="auto"><br></div><div dir="auto">Kind regards </div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Karsten Horsmann <<a href="mailto:khorsmann@gmail.com">khorsmann@gmail.com</a>> schrieb am Mi., 26. Juni 2019, 14:50:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="ltr">Hello Daniel<div><br></div><div><br></div><div>i verifed that can send tcp with that public ip (used nc for that).</div><div>Hopefully the linux-networking is not the problem.</div><div><br></div><div>I tried method $fs="212.xx.xx.xx"; and force_send_socket("212.xx.xx.xx");</div><div>Both versions (with and without transport=tcp param) but kamailio sends out via UDP.</div><div><br></div><div>Any ideas? </div><div><br>event_route[tm:local-request] {<br>  if(!is_method("OPTIONS")) {<br>        xlog("L_INFO", "[tm:local-request] request rm:[$rm] from fu:[$fu] to ru:[$ru] rP:[$rP] sut:[$sut] du:[$du] dP:[$dP] sas:[$sas]\n");<br>  }<br>  if(is_method("REGISTER")) {<br>        xlog("its [$rm] [$ru] sas:[$sas]\n");<br><br>        #$fs="$sas";<br>        add_uri_param("transport=tcp");<br>        # First try </div><div>        # $fs="212.xx.xx.xx";<br>        # Second try </div><div>        # force_send_socket("212.xx.xx.xx");<br>  }<br>}<br><br></div><div>tcpdump to see TCP or UDP outgoing:</div><div><br>    212.xx.xx.xx.sip > 217.0.15.67.sip: [bad udp cksum 0xe921 -> 0x39df!] SIP, length: 459<br>        REGISTER sip:<a href="http://sip-trunk.telekom.de" target="_blank" rel="noreferrer">sip-trunk.telekom.de</a>;transport=tcp SIP/2.0<br>        Via: SIP/2.0/UDP 212.xx.xx.xx;branch=z9hG4bKa4e7.2adf59a7000000000000000000000000.0;i=0<br>        To: <<a href="mailto:sip%3A%2B49xxxxxx0@sip-trunk.telekom.de" target="_blank" rel="noreferrer">sip:+49xxxxxx0@sip-trunk.telekom.de</a>><br>        From: <<a href="mailto:sip%3A%2B49xxxxxx@sip-trunk.telekom.de" target="_blank" rel="noreferrer">sip:+49xxxxxx@sip-trunk.telekom.de</a>>;tag=4f1676d5afd8e4fcf22b77a7b449c44f-8d04<br>        CSeq: 10 REGISTER<br>        Call-ID: 17110ff874fd4810-19875@212.xx.xx.xx<br>        Max-Forwards: 70<br>        Content-Length: 0<br>        User-Agent: SBC-OS<br>        Contact: <sip:49xxxxxx@xx.xx.xx.xx><br>        Expires: 360<br></div><div><br></div><div><script>: [tm:local-request] request rm:[REGISTER] from fu:[<a href="mailto:sip%3A%2B49xxxxxx@sip-trunk.telekom.de" target="_blank" rel="noreferrer">sip:+49xxxxxx@sip-trunk.telekom.de</a>] to ru:[sip:<a href="http://sip-trunk.telekom.de" target="_blank" rel="noreferrer">sip-trunk.telekom.de</a>] rP:[UDP] sut:[sip:212.xx.xx.xx:5060;transport=tcp] du:[sip:<a href="http://reg.sip-trunk.telekom.de" target="_blank" rel="noreferrer">reg.sip-trunk.telekom.de</a>] dP:[UDP] sas:[tcp:212.xx.xx.xx:5060]<br><script>: its [REGISTER] [sip:<a href="http://sip-trunk.telekom.de" target="_blank" rel="noreferrer">sip-trunk.telekom.de</a>] sas:[tcp:212.xx.xx.xx:5060]<br></div></div><div><br></div><div><br></div>Cheers<div>Karsten</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Am Mi., 26. Juni 2019 um 10:15 Uhr schrieb Daniel-Constantin Mierla <<a href="mailto:miconda@gmail.com" target="_blank" rel="noreferrer">miconda@gmail.com</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Hello,</div><div><br></div><div>does it happen for both UDP and TCP? Or only for TCP is the private interface used? Normally should work no matter the transport, try to force only ip with force_send_sock("x.y.z.w").<br></div><div><br></div><div>I assume that the IP routing rules allow traffic from private IP to public addresses.<br></div><div><br></div><div>Cheers,<br></div><div>Daniel<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jun 21, 2019 at 5:49 PM Karsten Horsmann <<a href="mailto:khorsmann@gmail.com" target="_blank" rel="noreferrer">khorsmann@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">Hi List,<div dir="auto"><br></div><div dir="auto">after reading the corebook in the wiki and some issue reports (1), I think it's not possible to force the outgoing ip for uac.so registration.</div><div dir="auto"><br></div><div dir="auto">I saw traffic with </div><div dir="auto"><a href="http://172.20.120.53:45689" target="_blank" rel="noreferrer">172.20.120.53:45689</a> - - - > <a href="http://reg.sip-trunk.telekom.de" target="_blank" rel="noreferrer">reg.sip-trunk.telekom.de</a></div><div dir="auto"><br></div><div dir="auto">So that's random highport generated traffic tcp traffic on the first interface ip. </div><div dir="auto"><br></div><div dir="auto">AFAIK this behavior could not change, right?</div><div dir="auto"><br></div><div dir="auto">(1)</div><div dir="auto"><a href="https://github.com/kamailio/kamailio/issues/1532" target="_blank" rel="noreferrer">https://github.com/kamailio/kamailio/issues/1532</a><br></div><div dir="auto"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Karsten Horsmann <<a href="mailto:khorsmann@gmail.com" target="_blank" rel="noreferrer">khorsmann@gmail.com</a>> schrieb am Fr., 21. Juni 2019, 11:44:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi List,<div><br></div><div><br>I try to register to Deutsche Telekom and there product Deutschland Lan siptrunk.<br><br></div><div>Thats works find but i see an intressting behaviour on selecting the right outgoing interface.<br>Kamailio is sending out with tcp the REQUEST via first private ip configured on that server (172.20.120.53).<br>There is no listen directive for that.<br><br>I forced NAPTR to use tcp or udp and i assume that kamailio got the right dns answers.<br><br>On the list i read also that i can use force_send_socket to force the outgoing request.<br><br>Now my idea - hey i use the $rP for the outgoing to select the right outgoing listen directive.<br>$rP - reference to transport protocol of R-URI<br>But to my surprise the logfile told me thats "UDP" - it sends out via TCP (thats okay). <br><br>Whats an good transport selector variable from kamailio that works?<br><br><br>event_route[tm:local-request] {<br>  if(!is_method("OPTIONS")) {<br>        xlog("L_INFO", "[tm:local-request] request [$rm] from [$fu] to [$ru] [$rP]\n");<br>  }<br>}<br><br>INFO: <script>: [tm:local-request] request [REGISTER] from [<a href="mailto:sip%3A%2B49XXXXXXXX@sip-trunk.telekom.de" rel="noreferrer noreferrer" target="_blank">sip:+49XXXXXXXX@sip-trunk.telekom.de</a>] to [sip:<a href="http://sip-trunk.telekom.de" rel="noreferrer noreferrer" target="_blank">sip-trunk.telekom.de</a>] [UDP]<br><br><br>listen=tcp:2xx.xx.xx.xx:5060<br>listen=udp:2xx.xx.xx.xx:5060<br>listen=tls:2xx.xx.xx.xx:5061 advertise CFG_EXT_NAME:5061<br><br><br>listen=udp:<a href="http://172.20.120.55:5060" rel="noreferrer noreferrer" target="_blank">172.20.120.55:5060</a><br>listen=udp:<a href="http://172.20.120.56:5060" rel="noreferrer noreferrer" target="_blank">172.20.120.56:5060</a><br>listen=udp:<a href="http://172.20.120.57:5060" rel="noreferrer noreferrer" target="_blank">172.20.120.57:5060</a><br>listen=udp:<a href="http://172.20.120.58:5060" rel="noreferrer noreferrer" target="_blank">172.20.120.58:5060</a><br>listen=tcp:<a href="http://172.20.120.58:5060" rel="noreferrer noreferrer" target="_blank">172.20.120.58:5060</a><br><br><br>use_dns_cache=on # use internal DNS cache<br>use_dns_failover=on # depends on internal DNS cache<br>dns_srv_loadbalancing=on<br>dns_try_naptr=on<br>dns_retr_time=1 # seconds before retrying a DNS request<br>dns_retr_no=3 # number of DNS retransmissions<br>dns_naptr_ignore_rfc=yes # ignore target NAPTR priority<br>dns_tcp_pref=30 # TCP has second-highest priority<br>dns_udp_pref=10 # use UDP with least priority<br>tcp_connection_lifetime=3605 # set higher than registration expires<br><br>#dont' restore<br>modparam("uac","restore_mode","none")<br>modparam("uac","restore_dlg",0)<br><br>## UAC REGISTER<br>#!ifdef WITH_UAC_REGISTER<br>modparam("uac", "reg_contact_addr", "CFG_PROD_IP")<br>modparam("uac", "reg_timer_interval", 10)<br>modparam("uac", "reg_retry_interval", 10)<br>modparam("uac", "reg_db_url", DBURL)<br>modparam("uac", "restore_mode", "none")<br>modparam("uac", "auth_username_avp", "$avp(AVP_AUTH_USERNAME)")<br>modparam("uac", "auth_password_avp", "$avp(AVP_AUTH_PASSWORD)")<br>modparam("uac", "auth_realm_avp", "$avp(AVP_AUTH_REALM)")<br>#!endif<br><br><br><br>ip a l<br>1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000<br>    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00<br>    inet <a href="http://127.0.0.1/8" rel="noreferrer noreferrer" target="_blank">127.0.0.1/8</a> scope host lo<br>       valid_lft forever preferred_lft forever<br>    inet6 ::1/128 scope host<br>       valid_lft forever preferred_lft forever<br>2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000<br>    link/ether 00:50:56:b5:c1:48 brd ff:ff:ff:ff:ff:ff<br>    inet <a href="http://172.20.120.53/24" rel="noreferrer noreferrer" target="_blank">172.20.120.53/24</a> brd 172.20.120.255 scope global ens192<br>       valid_lft forever preferred_lft forever<br>    inet 2xx.xx.xx.xx/29 scope global ens192<br>       valid_lft forever preferred_lft forever<br>    inet <a href="http://172.20.120.56/24" rel="noreferrer noreferrer" target="_blank">172.20.120.56/24</a> scope global secondary ens192<br>       valid_lft forever preferred_lft forever<br>    inet <a href="http://172.20.120.57/24" rel="noreferrer noreferrer" target="_blank">172.20.120.57/24</a> scope global secondary ens192<br>       valid_lft forever preferred_lft forever<br>    inet <a href="http://172.20.120.58/24" rel="noreferrer noreferrer" target="_blank">172.20.120.58/24</a> scope global secondary ens192<br>       valid_lft forever preferred_lft forever<br>    inet <a href="http://172.20.120.55/24" rel="noreferrer noreferrer" target="_blank">172.20.120.55/24</a> brd 172.20.120.255 scope global secondary ens192<br>       valid_lft forever preferred_lft forever<br>    inet6 fe80::250:56ff:feb5:c148/64 scope link<br>       valid_lft forever preferred_lft forever<br><br>default via 172.20.120.253 dev ens192<br><a href="http://172.20.120.0/24" rel="noreferrer noreferrer" target="_blank">172.20.120.0/24</a> dev ens192 proto kernel scope link src 172.20.120.53<br>2xx.xx.xx.xx/29 dev ens192 proto kernel scope link src 2xx.xx.xx.xx<br><br><div><br></div>-- </div><div>Kind Regards<br><div dir="ltr" class="m_-5671626424565995443m_-281720885066190399gmail-m_-3900694639330372690gmail-m_-4530205162367645030m_-3280220521498383171gmail_signature">Mit freundlichen Grüßen<br>*Karsten Horsmann*<br></div></div></div>
</blockquote></div>
_______________________________________________<br>
Kamailio (SER) - Users Mailing List<br>
<a href="mailto:sr-users@lists.kamailio.org" target="_blank" rel="noreferrer">sr-users@lists.kamailio.org</a><br>
<a href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users" rel="noreferrer noreferrer" target="_blank">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a><br>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr" class="m_-5671626424565995443m_-281720885066190399gmail-m_-3900694639330372690gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>Daniel-Constantin Mierla - <a href="http://www.asipto.com" target="_blank" rel="noreferrer">http://www.asipto.com</a></div><div><a href="http://twitter.com/#!/miconda" target="_blank" rel="noreferrer">http://twitter.com/#!/miconda</a> - <a href="http://www.linkedin.com/in/miconda" target="_blank" rel="noreferrer">http://www.linkedin.com/in/miconda</a></div></div></div></div></div>
_______________________________________________<br>
Kamailio (SER) - Users Mailing List<br>
<a href="mailto:sr-users@lists.kamailio.org" target="_blank" rel="noreferrer">sr-users@lists.kamailio.org</a><br>
<a href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users" rel="noreferrer noreferrer" target="_blank">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br></div></div><div dir="ltr" class="m_-5671626424565995443gmail-m_-281720885066190399gmail_signature">Mit freundlichen Grüßen<br>*Karsten Horsmann*<br></div>
</blockquote></div>