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();
}