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@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) 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@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 > -- > Daniel-Constantin Mierla --www.asipto.com > www.twitter.com/miconda --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/
Kamailio - Users Mailing List - Non Commercial Discussions *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
-- Daniel-Constantin Mierla --www.asipto.com www.twitter.com/miconda --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/
-- Daniel-Constantin Mierla --www.asipto.com www.twitter.com/miconda --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/
-- Daniel-Constantin Mierla --www.asipto.com www.twitter.com/miconda --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/