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@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@A_IP_ADDRESS>;tag=0a3e31a6-96ad-42d0-9310-81b35cedbd3d
>> To: <sip:88290@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@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@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@A_IP_ADDRESS>;tag=0a3e31a6-96ad-42d0-9310-81b35cedbd3d
>>>>>> To: <sip:88290@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(a)lists.kamailio.org
<mailto:sr-users@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(a)lists.kamailio.org
<mailto:sr-users@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>
<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/>