Eric C. Snowdeal III wrote:
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();
There is no way this config can pass thru here since the flag is never
set. If you are not interested in discriminating then remove the
isflagset check and just do force_rtp_proxy for every INVITE:
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();
}
_______________________________________________
Serusers mailing list
serusers(a)lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers
--
Andres
Network Admin
http://www.telesip.net