Hi all,
I'm sure I must be doing something very stupid! I'm using fix_nated_contact and then t_relay(). The INVITE is being sent with a rewriten contact field, but if the UA issues a CANCEL the private IP address is sent in the contact field and is not rewritten.
What basic mistake have I made?!
A cut down version of my ser.cfg is:
record_route(); # loose-route processing if (loose_route()) { t_relay(); break; };
fix_nated_contact();
force_rport();
if (method=="INVITE") { fix_nated_sdp("1"); force_rtp_proxy(); /* set up reply processing */ t_on_reply("1"); setflag(6);
};
rewritehostport("213.xxx.xxx.xxx:5060");
if (!t_relay()) { sl_reply_error(); };
# all incoming replies for t_onrepli-ed transactions enter here
onreply_route[1] {
fix_nated_contact();
if (status=~"[12][0-9][0-9]") force_rtp_proxy(); }