Sorry for noize from my side
I just cant fully understand dependency:
I understand that actually route header shoud not be ingnored because it
is shows way for the in-dialog packet
That is fine.
Just regarding behaivor of the FreeSwitch and other UACs
For now I have a next picture
When my provider sends me 200 - it contains as Record-Route: 1.1.1.1:5060
which contains last interface i sent INVITE to
Also it contains Contact: 1.1.1.1:5061
So when UAC receives this call without my proxy between provider and UAC
it sends ACK to Contact URI (Ignoring Route header that actually also
exists in the Contact field) sent at the 200 according rfc3261 -12.1.2
(that I shared above)
But when it sends via my proxy:
UAC receives ACK with 2 Route headers (that is right) and sends it to the
topmost Route (myProxy) then my proxy as normal proxy resends it to the
provider using second Route (that topmost for now after myProxy removes
itself from Route set)
But here provider says me - you should use Contact field to reach target
even from myProxy.
So in this case - At the behaivor of UAC -> Provider it looks matched
12.1.2 but I still cant understand why in this case it ignores Route header
at the ACK that actually exists
2018-07-02 9:02 GMT+03:00 Alex Balashov <abalashov(a)evaristesys.com>om>:
On Mon, Jul 02, 2018 at 09:00:02AM +0300, Yuriy
Gorlichenko wrote:
yep I understand that.
I just see that in fact ACK soudl ignore Route header if it... Single?
What? No.
There are two kinds of ACKs: hop-by-hop ACKs, which acknowledge negative
final replies on every branch, and end-to-end ACKs, which are handled
according to the rules for in-dialog requests. An ACK for a 2xx reply to
an INVITE is going to be an in-dialog request, and under no
circumstances should any Route headers be ignored unless they refer to
the very proxy through which they are traversing. In that case, they
should be stripped off before continuing with the next-hop Route. This
is the standard loose-routing procedure labouriously articulated in the
RFC, and implemented by loose_route().
--
Alex Balashov | Principal | Evariste Systems LLC
Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free)
Web:
http://www.evaristesys.com/,
http://www.csrpswitch.com/
_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users(a)lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users