Richard Chan writes:
This leads me to ask: for pure RFC5626 to work (no nathelper stuff at all) is it a must that there is a "edge-proxy--[1]-->internal-proxy" layout? ...and...the flow-tokens in [1] are what make it possible to skip bogus Contact: header and route to an existing flow?
If UA is behind NAT and initial INVITE has contact header, BUT contact URI does not have ;gr, I call add_contact_alias(), which "Adds an “;alias=ip~port~transport” parameter to the contact URI containing either received ip, port, and transport protocol".
-- Juha