i thought i had started out with the RTP config in the nathelper directory of the release tarball, but maybe i had made one too many modifications to make it recognizeable :-)
in any case, i put what you posted in my config file and re-discovered that the "Cisco ATA" function breaks the server in the release. so i removed that, but kept everything else the same [ see below ]. the however, i'm still getting the same behavior - a busy signal and 408 request timeouts.
again, thanks for the help.
# ------------------------- request routing logic -------------------
# main routing logic
route{
# initial sanity checks -- messages with # max_forwards==0, or excessively long requests if (!mf_process_maxfwd_header("10")) { sl_send_reply("483","Too Many Hops"); break; }; if ( msg:len > max_len ) { sl_send_reply("513", "Message too big"); break; };
# compulsory processing of Route header fields and adding RR loose_route();
/* registration (uses rewritten contacts) */ if (method=="REGISTER") { save("location"); break; };
if (method=="INVITE") { record_route(); if (isflagset(1)) { # ATA ? force_rtp_proxy(); }; /* set up reply processing */ t_on_reply("1"); };
if (method == "INVITE" || method == "CANCEL") { if (!lookup("location")) { sl_send_reply("404", "Not Found"); break; }; };
/* set up reply processing and forward statefuly */ t_relay(); }
# all incoming replies for t_onrepli-ed transactions enter here onreply_route[1] { if (status=~"2[0-9][0-9]") fix_nated_contact(); force_rtp_proxy(); }
Andres wrote:
Eric,
I think you should just try out the example RTP config in the nathelper directory. It is this one:
# main routing logic
route{
# compulsory processing of Route header fields and adding RR loose_route(); # ATA's are symmetric but don't advertise it -- force use of rport if (search("User-Agent: Cisco ATA.*")) { setflag(1); # remember this is ATA force_rport(); fix_nated_contact(); }; /* registration (uses rewritten contacts) */ if (method=="REGISTER") { save("location"); break; }; if (method=="INVITE") { record_route(); if (isflagset(1)) { # ATA ? force_rtp_proxy(); }; /* set up reply processing */ t_on_reply("1"); }; if (method == "INVITE" || method == "CANCEL") { if (!lookup("location")) { sl_send_reply("404", "Not Found"); break; }; }; /* set up reply processing and forward statefuly */ t_relay();
}
# all incoming replies for t_onrepli-ed transactions enter here onreply_route[1] { if (status=~"2[0-9][0-9]" && search("Server: Cisco ATA.*")) fix_nated_contact(); force_rtp_proxy(); }