[SR-Users] Wrong Record-Route and Via header fields when TCP is used

Daniel-Constantin Mierla miconda at gmail.com
Tue Jul 9 08:53:32 CEST 2019


Hello,

set debug = 3 in kamailio cfg and reproduce this case. Send here all the
log messages printed by kamailio from the moment it receives the request
till it sends it out.

Some further questions:

  - do you use any force send socket option?
  - do you route out via dispatcher? If yes, is the socket attribute set?

Cheers,
Daniel

On 08.07.19 21:23, Leonid Fainshtein wrote:
> Hello,
> The source address is correct: 192.168.0.31. I see it in tcpdump and
> also in sngrep.
>
> Thank you,
> Leonid
>
> On Mon, Jul 8, 2019 at 9:02 PM Daniel-Constantin Mierla
> <miconda at gmail.com> wrote:
>> Hello,
>>
>> when you look at the network traffic 9e.g., with ngrep, sngrep, ...)
>> what is shown as source address for outbound leg?
>>
>> Cheers,
>> Daniel
>>
>> On 08.07.19 19:21, Leonid Fainshtein wrote:
>>> I just found Daniel's response to a similar question (ref.:
>>> https://lists.kamailio.org/pipermail/sr-users/2019-February/104853.html):
>>>
>>> "check the routing rules/table of the operating systems, there should be
>>> some differences between the two servers.
>>> If you mhomed=1 and an unexpected interface is used for routing out the
>>> traffic, it means that the operating system has internal routing rules that
>>> allow going from that interface to the target address."
>>>
>>> Don't see anything suspicious in my server routing table:
>>>
>>> default via 192.168.0.1 dev eno1 proto static
>>> 10.159.65.0/24 dev lxdbr0 proto kernel scope link src 10.159.65.1
>>> 172.200.4.0/24 dev eno1 proto kernel scope link src 172.200.4.1
>>> 192.168.0.0/20 dev eno1 proto kernel scope link src 192.168.0.31
>>>
>>> The request is received on the lxdbr0 interface (10.159.65.1) and sent
>>> out from the eno1 interface (192.168.0.31).
>>> I even tried to delete the default route but nothing helped. The
>>> request is sent out with 10.159.65.1 in the via and Record-Route
>>> fields...
>>>
>>> Best regards,
>>> Leonid
>>>
>>> On Thu, Jul 4, 2019 at 6:20 PM Leonid Fainshtein
>>> <leonid.fainshtein at xorcom.com> wrote:
>>>> Hi,
>>>> Kamailio server has two legs that are connected to different networks.
>>>> I'm using Kamailio v.5.2.3 and the "enable_double_rr" is implicitly set to "1".
>>>> The leg "A" IP address is 10.159.65.1
>>>> The leg "B" IP address is 192.168.0.31
>>>> The call is initiated from 10.159.65.18
>>>>
>>>> According to the "rr" module documentation, function record_route()
>>>> should insert two "Record_Route" header fields when a request is
>>>> accepted on one leg is should go out via the second leg. This works as
>>>> expected in case of UDP protocol:
>>>>
>>>> INVITE sip:2000 at 192.168.6.106:5460;transport=UDP SIP/2.0
>>>> Record-Route: <sip:192.168.0.31;r2=on;lr;did=e2c.a191>
>>>> Record-Route: <sip:10.159.65.1;r2=on;lr;did=e2c.a191>
>>>> Via: SIP/2.0/UDP
>>>> 192.168.0.31;branch=z9hG4bKcfa5.d64ecbd87d5315b5993c4ccf16f86537.0
>>>> Via: SIP/2.0/UDP 10.159.65.18:5060;rport=5060;branch=z9hG4bK3a9e9a4d
>>>>
>>>> But when the TCP protocol is used then the outbound message looks like this:
>>>>
>>>> INVITE sip:2005 at 192.168.0.178:35058;transport=tcp SIP/2.0
>>>> Record-Route: <sip:10.159.65.1;transport=tcp;lr;did=bb6.7dc1>
>>>> Via: SIP/2.0/TCP
>>>> 10.159.65.1;branch=z9hG4bKc85a.14afc3867dd3220826f9b9940f78168f.0;i=3
>>>> Via: SIP/2.0/TCP 10.159.65.18:5060;rport=58616;branch=z9hG4bK1469331f
>>>>
>>>> There are two problems there:
>>>> a) only one Record-Route with leg is inserted
>>>> b) the added "Via" header field contains the leg "A" IP address
>>>> instead of expected leg "B" IP address (192.168.0.31). In the LAN
>>>> trace I see that in reality the message was sent from leg "B".
>>>>
>>>> Is it a bug?
>>>>
>>>> Best regards,
>>>> Leonid Fainshtein
>>> _______________________________________________
>>> Kamailio (SER) - Users Mailing List
>>> sr-users at lists.kamailio.org
>>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>> --
>> Daniel-Constantin Mierla -- www.asipto.com
>> www.twitter.com/miconda -- www.linkedin.com/in/miconda
>>
-- 
Daniel-Constantin Mierla -- www.asipto.com
www.twitter.com/miconda -- www.linkedin.com/in/miconda




More information about the sr-users mailing list