[SR-Users] loose_route() and FQDN

Igor Olhovskiy igorolhovskiy at gmail.com
Fri May 7 17:14:46 CEST 2021


David,

Yes, I did added it, means it was there, but is_first_hop() was blocking 
adding it. I think it's some leftovers from default config.

So, my conclusion, that is_first_hop() is ok with IP addresses, but not 
ok with FQDN in route. Although FQDN is added as alias

Regards,
Igor

On 07.05.2021 16:07, David Villasmil wrote:
> Did you add the handle_ruri_alias() as suggested by Daniel? I had 
> something like this where I would get “unable to resolve blah blah 
> blah" and it’s because the RURI is the actual wss “address” which is 
> unresolvable, so executing the function forces kamailio to take the 
> alias instead.
>
>
> On Fri, 7 May 2021 at 13:48, Igor Olhovskiy <igorolhovskiy at gmail.com 
> <mailto:igorolhovskiy at gmail.com>> wrote:
>
>     Daniel,
>
>     Seems to be it's really the case, but with other function
>
>     With FQDN in RR
>
>
>           |is_first_hop()|
>
>     is not acting correctly for reply.
>
>>     For incoming SIP replies, it means that top Record-Route URI is
>>     'myself' and source address is not matching it
>     But in Record-Route we have "myself", but *is_first_hop()*
>     returning 0.
>
>     Thanks!
>
>     Regards,
>     Igor
>
>     On 07.05.2021 14:22, Daniel-Constantin Mierla wrote:
>>
>>     OK, because looping was something that should not have happened
>>     in this case.
>>
>>     Then the problem is that you do not do nat-traversal-like
>>     processing for websocket/webrtc traffic. You have to use
>>     set_contact_alias() + handle_ruri_alias() because the webrtc
>>     endpoints do not set "valid" contact addresses.
>>
>>     Cheers,
>>     Daniel
>>
>>     On 07.05.21 14:13, Igor Olhovskiy wrote:
>>>
>>>     Ah, no, sorry, I was wrong at this one,
>>>
>>>     This just is not sent with "unable to resolve address
>>>     toleivu2gdbh.invalid".
>>>
>>>     Sorry. Looping were something else during my tests, this just
>>>     with *advertise* added
>>>
>>>     Regards,
>>>     Igor
>>>     On 07.05.2021 14:02, Daniel-Constantin Mierla wrote:
>>>>
>>>>     This looks like incoming ACK, because there is only one Via
>>>>     header, so it is not what proxy forwards -- that one is
>>>>     relevant to see what headers were consumed and added.
>>>>
>>>>     Cheers,
>>>>     Daniel
>>>>
>>>>     On 07.05.21 13:51, Igor Olhovskiy wrote:
>>>>>     Sure.
>>>>>
>>>>>     ACK sip:88290 at toleivu2gdbh.invalid;transport=wss SIP/2.0
>>>>>     Via: SIP/2.0/UDP
>>>>>     A_IP_ADDRESS:5060;rport;branch=z9hG4bKPj8d05548a-91ef-4332-8617-32f8eeebf8f2
>>>>>     From:
>>>>>     <sip:88881 at A_IP_ADDRESS>;tag=0a3e31a6-96ad-42d0-9310-81b35cedbd3d
>>>>>     To: <sip:88290 at KAMAILIO_FQDN>;tag=hvra7mj3q0
>>>>>     Call-ID: 46f44741-d155-4dd5-8fd8-78e540fc1acb
>>>>>     CSeq: 18326 ACK
>>>>>     Route:
>>>>>     <sip:KAMAILIO_FQDN;lr;r2=on;ftag=0a3e31a6-96ad-42d0-9310-81b35cedbd3d;nat=wss>
>>>>>     Route:
>>>>>     <sip:KAMAILIO_FQDN:8089;transport=ws;lr;r2=on;ftag=0a3e31a6-96ad-42d0-9310-81b35cedbd3d;nat=wss>
>>>>>     Max-Forwards: 70
>>>>>     User-Agent: Asterisk PBX 13.33.0
>>>>>     Content-Length:  0
>>>>>
>>>>>
>>>>>     By loop I meant, Kamailio just relaying it back to self and
>>>>>     discard.
>>>>>
>>>>>     Regards,
>>>>>     Igor
>>>>>     On 07.05.2021 13:48, Daniel-Constantin Mierla wrote:
>>>>>>
>>>>>>     Can you paste the ACK that loops, after being handled once by
>>>>>>     Kamailio?
>>>>>>
>>>>>>     Cheers,
>>>>>>     Daniel
>>>>>>
>>>>>>     On 07.05.21 13:25, Igor Olhovskiy wrote:
>>>>>>>
>>>>>>>     Daniel,
>>>>>>>
>>>>>>>     Yes, it is.
>>>>>>>
>>>>>>>     alias=...
>>>>>>>
>>>>>>>     Also tried with
>>>>>>>
>>>>>>>     listen = IP advertise FQDN
>>>>>>>
>>>>>>>     same behavior, loose_route() stops acting correctly.
>>>>>>>
>>>>>>>     PS: Forgot to add, Kamailio 5.4.3 / 5.4.4
>>>>>>>
>>>>>>>     Regards,
>>>>>>>     Igor
>>>>>>>     On 07.05.2021 13:21, Daniel-Constantin Mierla wrote:
>>>>>>>>
>>>>>>>>     Hello,
>>>>>>>>
>>>>>>>>     is the KAMAILIO_FQDN set as local domain for Kamailio (via
>>>>>>>>     alias parameter or domain module+register myself)?
>>>>>>>>
>>>>>>>>     Cheers,
>>>>>>>>     Daniel
>>>>>>>>
>>>>>>>>     On 07.05.21 11:17, Igor Olhovskiy wrote:
>>>>>>>>>
>>>>>>>>>     Hello,
>>>>>>>>>
>>>>>>>>>     I saw there are some topics on this already and carefully
>>>>>>>>>     walked through all of them, but can't solve following issue.
>>>>>>>>>
>>>>>>>>>     For a reason I do need that in Record-Route header sent to
>>>>>>>>>     endpoint would present FQDN. If it matters, it's UDP/WSS
>>>>>>>>>     conversion done on Kamailio.
>>>>>>>>>
>>>>>>>>>     So, scheme is quite simple
>>>>>>>>>
>>>>>>>>>     Enpoint A  ->UDP-> Kamailio ->WSS-> Endpoint B (NAT)
>>>>>>>>>
>>>>>>>>>     Main issue here, that if in Record-Route headers it's
>>>>>>>>>     FQDN, but not IP addresses, on a new transactions with a
>>>>>>>>>     dialog (ACK on 200, PRACK, BYE), Kamailio*loose_route()*
>>>>>>>>>     function resolves address of destination not current
>>>>>>>>>     dialog, but actual R-URI (or itself, if R-URI is something
>>>>>>>>>     from WebRTC world) that is not correct due to NAT.
>>>>>>>>>
>>>>>>>>>     If in RR headers IP addresses are present - all is working
>>>>>>>>>     as expected.
>>>>>>>>>
>>>>>>>>>     As an example (RR with FQDN)
>>>>>>>>>
>>>>>>>>>     B answers 200
>>>>>>>>>
>>>>>>>>>     SIP/2.0 200 OK
>>>>>>>>>     Record-Route:
>>>>>>>>>     <sip:KAMAILIO_FQDN:8089;transport=ws;r2=on;lr=on;ftag=0a3e31a6-96ad-42d0-9310-81b35cedbd3d;nat=wss>
>>>>>>>>>     Record-Route:
>>>>>>>>>     <sip:KAMAILIO_FQDN;r2=on;lr=on;ftag=0a3e31a6-96ad-42d0-9310-81b35cedbd3d;nat=wss>
>>>>>>>>>     Via: SIP/2.0/UDP <A_IP_ADDRESS>:5060;received=A IP
>>>>>>>>>     ADDRESS;rport=5060;branch=z9hG4bKPj67fb6d86-97d7-4231-995b-e54b0f62881e
>>>>>>>>>     To: <sip:88290@<KAMAILIO_FQDN>>;tag=hvra7mj3q0
>>>>>>>>>     From:
>>>>>>>>>     <sip:+XXXX7688881@<KAMAILIO_FQDN>>;tag=0a3e31a6-96ad-42d0-9310-81b35cedbd3d
>>>>>>>>>     Call-ID: 46f44741-d155-4dd5-8fd8-78e540fc1acb
>>>>>>>>>     CSeq: 18326 INVITE
>>>>>>>>>     Contact: <sip:88290 at toleivu2gdbh.invalid;transport=wss>
>>>>>>>>>     Allow: ACK,CANCEL,INVITE,MESSAGE,BYE,OPTIONS,INFO,NOTIFY,REFER
>>>>>>>>>     Supported: outbound
>>>>>>>>>     Content-Type: application/sdp
>>>>>>>>>     Content-Length: 817
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>     ACK looks like
>>>>>>>>>
>>>>>>>>>     ACK sip:88290 at toleivu2gdbh.invalid;transport=wss SIP/2.0
>>>>>>>>>     Via: SIP/2.0/UDP
>>>>>>>>>     A_IP_ADDRESS:5060;rport;branch=z9hG4bKPj8d05548a-91ef-4332-8617-32f8eeebf8f2
>>>>>>>>>     From:
>>>>>>>>>     <sip:88881 at A_IP_ADDRESS>;tag=0a3e31a6-96ad-42d0-9310-81b35cedbd3d
>>>>>>>>>     To: <sip:88290 at KAMAILIO_FQDN>;tag=hvra7mj3q0
>>>>>>>>>     Call-ID: 46f44741-d155-4dd5-8fd8-78e540fc1acb
>>>>>>>>>     CSeq: 18326 ACK
>>>>>>>>>     Route:
>>>>>>>>>     <sip:FQDN;lr;r2=on;ftag=0a3e31a6-96ad-42d0-9310-81b35cedbd3d;nat=wss>
>>>>>>>>>     Route:
>>>>>>>>>     <sip:FQDN:8089;transport=ws;lr;r2=on;ftag=0a3e31a6-96ad-42d0-9310-81b35cedbd3d;nat=wss>
>>>>>>>>>     Max-Forwards: 70
>>>>>>>>>     User-Agent: Asterisk PBX 13.33.0
>>>>>>>>>     Content-Length:  0
>>>>>>>>>
>>>>>>>>>     And Kamailio on *loose_route()* loops ACK to itself. (with
>>>>>>>>>     result of function == 1)
>>>>>>>>>
>>>>>>>>>     In a case if in Record-Route/Route headers just IP address
>>>>>>>>>     of Kamailio present, all works as expected, but it's not
>>>>>>>>>     really behavior I want to achieve.
>>>>>>>>>
>>>>>>>>>     I've tried to play with *record_route_preset("...")*
>>>>>>>>>     specifying only WSS part (as suggested in
>>>>>>>>>     https://skalatan.de/de/blog/kamailio-sbc-teams
>>>>>>>>>     <https://skalatan.de/de/blog/kamailio-sbc-teams>) with
>>>>>>>>>     FQDN, but no luck.
>>>>>>>>>
>>>>>>>>>     Also wanted to try approach using record_route_preset()
>>>>>>>>>     function in branch route, but it was working only with
>>>>>>>>>     first branch, not affecting others (but I assume having
>>>>>>>>>     different RR headers across branches is not a good idea)
>>>>>>>>>
>>>>>>>>>     -- 
>>>>>>>>>     Regards,
>>>>>>>>>     Igor
>>>>>>>>>
>>>>>>>>>     __________________________________________________________
>>>>>>>>>     Kamailio - Users Mailing List - Non Commercial Discussions
>>>>>>>>>        *sr-users at lists.kamailio.org  <mailto:sr-users at 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  <https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users>
>>>>>>>>     -- 
>>>>>>>>     Daniel-Constantin Mierla --www.asipto.com  <http://www.asipto.com>
>>>>>>>>     www.twitter.com/miconda  <http://www.twitter.com/miconda>  --www.linkedin.com/in/miconda  <http://www.linkedin.com/in/miconda>
>>>>>>>>     Kamailio Advanced Training - Online
>>>>>>>>     May 17-20, 2021 (Europe Timezone) - June 7-10, 2021 (America Timezone)
>>>>>>>>        *https://www.asipto.com/sw/kamailio-advanced-training-online/  <https://www.asipto.com/sw/kamailio-advanced-training-online/>
>>>>>>>
>>>>>>>     __________________________________________________________
>>>>>>>     Kamailio - Users Mailing List - Non Commercial Discussions
>>>>>>>        *sr-users at lists.kamailio.org  <mailto:sr-users at 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  <https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users>
>>>>>>     -- 
>>>>>>     Daniel-Constantin Mierla --www.asipto.com  <http://www.asipto.com>
>>>>>>     www.twitter.com/miconda  <http://www.twitter.com/miconda>  --www.linkedin.com/in/miconda  <http://www.linkedin.com/in/miconda>
>>>>>>     Kamailio Advanced Training - Online
>>>>>>     May 17-20, 2021 (Europe Timezone) - June 7-10, 2021 (America Timezone)
>>>>>>        *https://www.asipto.com/sw/kamailio-advanced-training-online/  <https://www.asipto.com/sw/kamailio-advanced-training-online/>
>>>>     -- 
>>>>     Daniel-Constantin Mierla --www.asipto.com  <http://www.asipto.com>
>>>>     www.twitter.com/miconda  <http://www.twitter.com/miconda>  --www.linkedin.com/in/miconda  <http://www.linkedin.com/in/miconda>
>>>>     Kamailio Advanced Training - Online
>>>>     May 17-20, 2021 (Europe Timezone) - June 7-10, 2021 (America Timezone)
>>>>        *https://www.asipto.com/sw/kamailio-advanced-training-online/  <https://www.asipto.com/sw/kamailio-advanced-training-online/>
>>     -- 
>>     Daniel-Constantin Mierla --www.asipto.com  <http://www.asipto.com>
>>     www.twitter.com/miconda  <http://www.twitter.com/miconda>  --www.linkedin.com/in/miconda  <http://www.linkedin.com/in/miconda>
>>     Kamailio Advanced Training - Online
>>     May 17-20, 2021 (Europe Timezone) - June 7-10, 2021 (America Timezone)
>>        *https://www.asipto.com/sw/kamailio-advanced-training-online/  <https://www.asipto.com/sw/kamailio-advanced-training-online/>
>     __________________________________________________________
>     Kamailio - Users Mailing List - Non Commercial Discussions
>       * sr-users at lists.kamailio.org <mailto:sr-users at 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
>     <https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users>
>
> -- 
> Regards,
>
> David Villasmil
> email: david.villasmil.work at gmail.com 
> <mailto:david.villasmil.work at gmail.com>
> phone: +34669448337
>
> __________________________________________________________
> Kamailio - Users Mailing List - Non Commercial Discussions
>    * sr-users at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20210507/dd051fa5/attachment.htm>


More information about the sr-users mailing list