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:5061So 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