[SR-Users] loose_route() and FQDN
Igor Olhovskiy
igorolhovskiy at gmail.com
Fri May 7 22:08:54 CEST 2021
Yes. It passesuri == myself condition on auth.
Regards,
Igor
On 07.05.2021 17:32, David Villasmil wrote:
> Have you tried verifying Kamailio actually believes the FQDN is itself?
>
> Regards,
>
> David Villasmil
> email: david.villasmil.work at gmail.com
> <mailto:david.villasmil.work at gmail.com>
> phone: +34669448337
>
>
> On Fri, May 7, 2021 at 4:18 PM Igor Olhovskiy <igorolhovskiy at gmail.com
> <mailto:igorolhovskiy at gmail.com>> wrote:
>
> 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 <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>
> __________________________________________________________
> 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>
>
>
> __________________________________________________________
> 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/3b504827/attachment.htm>
More information about the sr-users
mailing list