In a case, if someone will find this topic via search
is_first_hop() according to documentation is working only with IP
addresses in a case of replies. So, it's fully correct behavior.
My bad.
Regards,
Igor
On 10.05.2021 08:55, Igor Olhovskiy wrote:
Sergiu,
Actually, yes
Problem is in order of checking in this function
https://github.com/kamailio/kamailio/blob/02240711239149e2f5c4890a70ab158d1…
if (((ip = str2ip(&(puri.host))) == NULL)
&& ((ip = str2ip6(&(puri.host))) == NULL)) {
LM_DBG("uri host is not an ip address\n");
return -1;
}
So, it's checking if Record-Route is an IP address before actually
calling *check_self()* function. I'll add an issue.
Regards,
Igor
On 08.05.2021 02:42, Sergiu Pojoga wrote:
> May be related to a previous topic about is_first_hop() and 'myself'
>
>
https://lists.kamailio.org/pipermail/sr-users/2018-October/103261.html
> <https://lists.kamailio.org/pipermail/sr-users/2018-October/103261.html>
>
> On Fri, May 7, 2021 at 7:22 PM David Villasmil
> <david.villasmil.work(a)gmail.com
> <mailto:david.villasmil.work@gmail.com>> wrote:
>
>
> Can you share a trace?
>
> On Fri, 7 May 2021 at 21:12, Igor Olhovskiy
> <igorolhovskiy(a)gmail.com <mailto:igorolhovskiy@gmail.com>> wrote:
>
> 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(a)gmail.com
>> <mailto:david.villasmil.work@gmail.com>
>> phone: +34669448337
>>
>>
>> On Fri, May 7, 2021 at 4:18 PM Igor Olhovskiy
>> <igorolhovskiy(a)gmail.com <mailto:igorolhovskiy@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(a)gmail.com
>>> <mailto:igorolhovskiy@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@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>
>>>>
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>
>>>
>>> --
>>> Regards,
>>>
>>> David Villasmil
>>> email: david.villasmil.work(a)gmail.com
>>> <mailto:david.villasmil.work@gmail.com>
>>> phone: +34669448337
>>>
>>> __________________________________________________________
>>> 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>
>> __________________________________________________________
>> 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>
>>
>>
>> __________________________________________________________
>> 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>
> __________________________________________________________
> 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>
>
> --
> Regards,
>
> David Villasmil
> email: david.villasmil.work(a)gmail.com
> <mailto:david.villasmil.work@gmail.com>
> phone: +34669448337
> __________________________________________________________
> 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>
>
>
> __________________________________________________________
> Kamailio - Users Mailing List - Non Commercial Discussions
> *sr-users(a)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