[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