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