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