Hi sr-users,
Does pure RFC5626 outbound work without an edge proxy->internal proxy design? By "pure" I mean no nathelper to rewrite addresses.
I tried setting up the following:
Configuration: use standard kamailio configuration without WITH_NAT (Ignore RTP-rtpengine/rtpproxy for the moment as I am just testing the control plane)
1. UA1 UA2 each behind NAT, with bogus Contact: headers 2. kamailio loaded with rr/tm (no outbound/path because I am using single proxy/registrar — without edge proxies) 3. no nathelper: no Contact rewriting, set_contact_alias etc 4. Both UA1 and UA2 establish persistent TLS to kamailio 5. INVITE/200 OK/ACK does work. 6. Contact headers show the NAT bogus addresses (as expected). UA1/UA2 are configured to be "dumb"(i.e. don't self-rewrite Contact:/SDP based on rport/received).
Problem: 7. In-dialog requests don't work as kamailio tries to route to the bogus addresses per the Contact header. I.e. kamailio doesn't seem to resolve the UAs(bogus Contact addresses) to the persistent TLS connections.
Now in the Route header I don't see any flow-token so probably kamailio is doing "normal" routing instead of RFC5626 routing (i.e. because it has no flow-token to match with an existing flow).
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?
Regards Shih-Ping Chan
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