[sr-dev] [kamailio/kamailio] Wrong Record-Route and Via header fields when TCP is used (#2033)

leonid-xorcom notifications at github.com
Fri Nov 15 11:29:21 CET 2019


The situation with the latest master is worse than it is with 5.2.
My setup is:
```
listen=udp:10.28.80.1:5060
listen=udp:192.168.9.103:5060
listen=tcp:10.28.80.1:5060
listen=tcp:192.168.9.103:5060
```
192.168.0.185 (2600) sends UDP call to Kamalio (192.168.9.103:5060). Ref. packet 94 in the tcp2.cap. Kamalio forwards the call via its udp:10.28.80.1:5060 to Asterisk (10.28.80.47).
Asterisk initiates a new, this time TCP, call and sends INVITE to Kamailio (tcp:10.28.80.1:5060). ref. packet 100 in tcp2.cap. This INVITE is not sent out from Kamailio. I guess that the following Kamailio debug log excerpt is relevant:
```
Nov 15 11:25:23 cpbxmt3 kamailio[16720]: 25(16762) DEBUG: {1 102 INVITE 65d0b7876b68ef072f152fc210456690 at cust1.cpbxmt3.in.xorcom.com} <core> [core/msg_translator.c:161]: check_via_address(): (10.28.80.47, 10.28.80.47, 0)
Nov 15 11:25:23 cpbxmt3 kamailio[16720]: 25(16762) DEBUG: {1 102 INVITE 65d0b7876b68ef072f152fc210456690 at cust1.cpbxmt3.in.xorcom.com} <core> [core/tcp_main.c:2060]: tcp_send(): no open tcp connection found, opening new one
Nov 15 11:25:23 cpbxmt3 kamailio[16720]: 25(16762) DEBUG: {1 102 INVITE 65d0b7876b68ef072f152fc210456690 at cust1.cpbxmt3.in.xorcom.com} <core> [core/ip_addr.c:229]: print_ip(): tcpconn_new: new tcp connection: 192.168.0.178
Nov 15 11:25:23 cpbxmt3 kamailio[16720]: 25(16762) DEBUG: {1 102 INVITE 65d0b7876b68ef072f152fc210456690 at cust1.cpbxmt3.in.xorcom.com} <core> [core/tcp_main.c:1242]: tcpconn_new(): on port 35762, type 2
Nov 15 11:25:23 cpbxmt3 kamailio[16720]: 25(16762) DEBUG: {1 102 INVITE 65d0b7876b68ef072f152fc210456690 at cust1.cpbxmt3.in.xorcom.com} <core> [core/tcp_main.c:1561]: tcpconn_add(): hashes: 2694:1565:0, 5
Nov 15 11:25:23 cpbxmt3 kamailio[16720]: 25(16762) DEBUG: {1 102 INVITE 65d0b7876b68ef072f152fc210456690 at cust1.cpbxmt3.in.xorcom.com} <core> [core/tcp_main.c:2954]: tcpconn_1st_send(): pending write on new connection 0x7fa0dd7c9170 (-1/1093 bytes written) (err: 11 - Resource temporarily unavailable)
Nov 15 11:25:23 cpbxmt3 kamailio[16720]: 30(16769) DEBUG: <core> [core/tcp_main.c:3858]: handle_ser_child(): read response= 7fa0dd7c9170, 5, fd 51 from 25 (16762)
Nov 15 11:25:23 cpbxmt3 kamailio[16720]: 30(16769) DEBUG: <core> [core/io_wait.h:377]: io_watch_add(): DBG: io_watch_add(0x55b9805f5360, 51, 2, 0x7fa0dd7c9170), fd_no=41
Nov 15 11:25:23 cpbxmt3 kamailio[16720]: 25(16762) DEBUG: {1 102 INVITE 65d0b7876b68ef072f152fc210456690 at cust1.cpbxmt3.in.xorcom.com} tm [t_funcs.c:374]: t_relay_to(): new transaction forwarded
Nov 15 11:25:23 cpbxmt3 kamailio[16720]: 25(16762) DEBUG: {1 102 INVITE 65d0b7876b68ef072f152fc210456690 at cust1.cpbxmt3.in.xorcom.com} <core> [core/receive.c:438]: receive_msg(): request-route executed in: 2156 usec
Nov 15 11:25:23 cpbxmt3 kamailio[16720]: 25(16762) DEBUG: {1 102 INVITE 65d0b7876b68ef072f152fc210456690 at cust1.cpbxmt3.in.xorcom.com} dialog [dlg_hash.c:784]: dlg_lookup(): ref dlg 0x7fa0dd7c5558 with 1 -> 2
Nov 15 11:25:23 cpbxmt3 kamailio[16720]: 25(16762) DEBUG: {1 102 INVITE 65d0b7876b68ef072f152fc210456690 at cust1.cpbxmt3.in.xorcom.com} dialog [dlg_hash.c:786]: dlg_lookup(): dialog id=8359 found on entry 2880
Nov 15 11:25:23 cpbxmt3 kamailio[16720]: 25(16762) DEBUG: {1 102 INVITE 65d0b7876b68ef072f152fc210456690 at cust1.cpbxmt3.in.xorcom.com} dialog [dlg_hash.c:1029]: dlg_unref_helper(): unref op on 0x7fa0dd7c5558 with 1 from dlg_hash.c:1047
Nov 15 11:25:23 cpbxmt3 kamailio[16720]: 25(16762) DEBUG: {1 102 INVITE 65d0b7876b68ef072f152fc210456690 at cust1.cpbxmt3.in.xorcom.com} dialog [dlg_hash.c:1033]: dlg_unref_helper(): unref dlg 0x7fa0dd7c5558 with 1 -> 1
Nov 15 11:25:23 cpbxmt3 kamailio[16720]: 25(16762) DEBUG: {1 102 INVITE 65d0b7876b68ef072f152fc210456690 at cust1.cpbxmt3.in.xorcom.com} <core> [core/usr_avp.c:636]: destroy_avp_list(): destroying list (nil)
Nov 15 11:25:23 cpbxmt3 kamailio[16720]: message repeated 5 times: [ 25(16762) DEBUG: {1 102 INVITE 65d0b7876b68ef072f152fc210456690 at cust1.cpbxmt3.in.xorcom.com} <core> [core/usr_avp.c:636]: destroy_avp_list(): destroying list (nil)]
Nov 15 11:25:23 cpbxmt3 kamailio[16720]: 25(16762) DEBUG: {1 102 INVITE 65d0b7876b68ef072f152fc210456690 at cust1.cpbxmt3.in.xorcom.com} <core> [core/xavp.c:517]: xavp_destroy_list(): destroying xavp list (nil)
Nov 15 11:25:23 cpbxmt3 kamailio[16720]: 25(16762) DEBUG: {1 102 INVITE 65d0b7876b68ef072f152fc210456690 at cust1.cpbxmt3.in.xorcom.com} <core> [core/receive.c:529]: receive_msg(): cleaning up
Nov 15 11:25:23 cpbxmt3 kamailio[16720]: 30(16769) DEBUG: <core> [core/io_wait.h:599]: io_watch_del(): DBG: io_watch_del (0x55b9805f5360, 51, -1, 0x10) fd_no=42 called
Nov 15 11:25:23 cpbxmt3 kamailio[16720]: 30(16769) ERROR: <core> [core/tcp_main.c:4462]: handle_tcpconn_ev(): connect 192.168.0.178:35762 failed
```
The destination IP:port (192.168.0.178:35762) is actually source IP addres:port of 2601. This is a softphone that was registered from this addr/port. The TCP connection was existing when Kamailio tried to send there the INVITE.
I am attaching all of the configuration and log files.
When I run Kamailio 5.2.2 on the same server and with the same configuration then the call is created but with the Record-Route problem.
[15-nov-2019.zip](https://github.com/kamailio/kamailio/files/3851031/15-nov-2019.zip)

  

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/2033#issuecomment-554305345
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-dev/attachments/20191115/f288bf1c/attachment.html>


More information about the sr-dev mailing list