<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2900.2604" name=GENERATOR></HEAD>
<BODY>
<DIV><FONT face=Arial color=#0000ff size=2>Ok, so ser worked for a few minutes
in the following way:</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2>Me on live IP calling a nat user,
their phone would ring, however me the A party got no ring, after 20 seconds I
received NU tone.<BR>NAT user is able to call me with no problem.<BR>Then things
just died and now when I run ser I get the following:</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2><A
href="mailto:ser@max:/home/icepick$">ser@max:/home/icepick$</A> ser
-Edddddd<BR> 0(5134) read 244542925 from /dev/urandom<BR> 0(5134)
seeding PRNG with 1357656199<BR> 0(5134) test random number
985922484<BR>ERROR: bad config file (1 errors)</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2>ser.cfg (as per onsip.org, exact copy
of the rtpproxy.cfg with 2 additional fields for linking asterisk)</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial color=#0000ff
size=2>debug=3<BR>fork=yes<BR>log_stderror=no<BR>dns=no<BR>rev_dns=no<BR>fifo="/home/ser/ser_fifo"<BR>fifo_db_url="mysql://asterisk:4ster1skrawk5@localhost/ser"</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2>loadmodule
"/usr/local/lib/ser/modules/mysql.so"<BR>loadmodule
"/usr/local/lib/ser/modules/sl.so"<BR>loadmodule
"/usr/local/lib/ser/modules/tm.so"<BR>loadmodule
"/usr/local/lib/ser/modules/rr.so"<BR>loadmodule
"/usr/local/lib/ser/modules/maxfwd.so"<BR>loadmodule
"/usr/local/lib/ser/modules/usrloc.so"<BR>loadmodule
"/usr/local/lib/ser/modules/registrar.so"<BR>loadmodule
"/usr/local/lib/ser/modules/auth.so"<BR>loadmodule
"/usr/local/lib/ser/modules/auth_db.so"<BR>loadmodule
"/usr/local/lib/ser/modules/nathelper.so"<BR>loadmodule
"/usr/local/lib/ser/modules/textops.so"<BR>loadmodule
"/usr/local/lib/ser/modules/uri_db.so"<BR>loadmodule
"/usr/local/lib/ser/modules/uri.so"<BR>loadmodule
"/usr/local/lib/ser/modules/domain.so"<BR>loadmodule
"/usr/local/lib/ser/modules/acc.so"</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2>modparam("acc|auth_db|usrloc|uri_db",
"db_url", "mysql://ser:ser@localhost/ser")</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2>modparam("auth_db", "calculate_ha1",
1)<BR>modparam("auth_db", "password_column", "password")</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2>modparam("acc", "log_level",
2)<BR>modparam("acc", "log_flag", 1 )<BR>modparam("acc", "log_missed_flag",
2)<BR>modparam("acc", "log_fmt", "cdfimorstup") modparam("acc",
"failed_transactions", 1) modparam("acc", "report_cancels", 1) modparam("acc",
"db_flag", 1) modparam("acc", "db_missed_flag", 2)</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2>modparam("nathelper",
"natping_interval", 30) <BR>modparam("nathelper", "ping_nated_only",
1) <BR>modparam("nathelper", "rtpproxy_sock",
"unix:/var/run/rtpproxy.sock")</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2>modparam("usrloc", "db_mode",
2)</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2>modparam("registrar", "nat_flag",
6)</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2>modparam("rr", "enable_full_lr",
1)</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial color=#0000ff
size=2>alias="voip.fast.co.nz"<BR>alias=""</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2>route {</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2> #
-----------------------------------------------------------------<BR> #
Sanity Check Section<BR> #
-----------------------------------------------------------------<BR> if
(!mf_process_maxfwd_header("10")) {<BR> sl_send_reply("483", "Too
Many Hops");<BR> break;<BR> };</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2> if (msg:len > max_len)
{<BR> sl_send_reply("513", "Message
Overflow");<BR> break;<BR> };</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2> #
-----------------------------------------------------------------<BR> #
Record Route Section<BR> #
-----------------------------------------------------------------<BR> if
(method!="REGISTER") {<BR> record_route();<BR> };</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2> if (method=="BYE" ||
method=="CANCEL") {<BR> unforce_rtp_proxy();<BR> } </FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2> #
-----------------------------------------------------------------<BR> #
Loose Route Section<BR> #
-----------------------------------------------------------------<BR> if
(loose_route()) {</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2> if (has_totag()
&& method=="INVITE") {<BR> if (nat_uac_test("19"))
{<BR> setflag(6);<BR> force_rport();<BR> fix_nated_contact();<BR> };<BR>
force_rtp_proxy("l");<BR> };<BR>
route(1);<BR> break;<BR> };<BR>
#
-----------------------------------------------------------------<BR>
# send out 0 prefix to asterisk for IVR
options<BR> #
-----------------------------------------------------------------<BR>
if (uri=~"^sip:0[1-9]*@voip.fast.co.nz")
{<BR>
setflag(1);<BR>
rewritehostport("202.150.105.150:5070");<BR>
log("free call");<BR> if
(!t_relay())
{<BR>
sl_reply_error();<BR>
};<BR>
break;<BR> }</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial color=#0000ff
size=2> #
-----------------------------------------------------------------<BR>
# send out 00 prefix to wholesale voip.fast.co.nz
termination<BR> #
-----------------------------------------------------------------<BR> if
(uri=~"^sip:00[0-9].*@voip.fast.co.nz")
{<BR> if (!is_user_in("From",
"ld"))
{<BR>
sl_send_reply("403", "Payment
required");<BR>
break;</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial color=#0000ff
size=2>
};<BR>
setflag(1);<BR>
rewritehostport("voip.fast.co.nz:5070");<BR>
if (!t_relay())
{<BR>
sl_reply_error();<BR>
};<BR>
break;<BR> };</FONT></DIV>
<DIV> </DIV><FONT face=Arial color=#0000ff size=2>
<DIV><BR> #
-----------------------------------------------------------------<BR> #
Call Type Processing Section<BR> #
-----------------------------------------------------------------<BR> if
(uri==myself) {<BR> if (method=="INVITE")
{<BR> route(3);<BR> break;<BR> }
else if (method=="REGISTER")
{<BR> route(2);<BR> break;<BR> };</DIV>
<DIV> </DIV>
<DIV> if (!lookup("location"))
{<BR> sl_send_reply("404", "User Not
Found");<BR> break;<BR> };</DIV>
<DIV> </DIV>
<DIV> route(1);<BR> };<BR>}</DIV>
<DIV> </DIV>
<DIV>route[1] {</DIV>
<DIV> </DIV>
<DIV> #
-----------------------------------------------------------------<BR> #
Default Message Handler<BR> #
-----------------------------------------------------------------</DIV>
<DIV> </DIV>
<DIV> t_on_reply("1");</DIV>
<DIV> </DIV>
<DIV> if (!t_relay()) {<BR> if (method=="INVITE" &&
isflagset(6)) {<BR>
unforce_rtp_proxy();<BR> };<BR> sl_reply_error();<BR> };<BR>}</DIV>
<DIV> </DIV>
<DIV>route[2] {</DIV>
<DIV> </DIV>
<DIV> #
-----------------------------------------------------------------<BR> #
REGISTER Message Handler<BR> #
----------------------------------------------------------------</DIV>
<DIV> </DIV>
<DIV> if (!search("^Contact: \*") && nat_uac_test("19"))
{<BR> setflag(6);<BR> fix_nated_register();<BR> force_rport();<BR> };</DIV>
<DIV> </DIV>
<DIV> sl_send_reply("100", "Trying");</DIV>
<DIV> </DIV>
<DIV> if (!www_authorize("","subscriber"))
{<BR> www_challenge("","0");<BR> break;<BR> };</DIV>
<DIV> </DIV>
<DIV> if (!check_to()) {<BR> sl_send_reply("401",
"Unauthorized");<BR> break;<BR> };</DIV>
<DIV> </DIV>
<DIV> consume_credentials();</DIV>
<DIV> </DIV>
<DIV> if (!save("location"))
{<BR> sl_reply_error();<BR> };<BR>}</DIV>
<DIV> </DIV>
<DIV>route[3] {</DIV>
<DIV> </DIV>
<DIV> #
-----------------------------------------------------------------<BR> #
INVITE Message Handler<BR> #
-----------------------------------------------------------------</DIV>
<DIV> </DIV>
<DIV> if (nat_uac_test("19"))
{<BR> setflag(6);<BR> }</DIV>
<DIV> </DIV>
<DIV> if (!lookup("location")) {<BR> sl_send_reply("404", "User
Not Found");<BR> break;<BR> };</DIV>
<DIV> </DIV>
<DIV> if (!proxy_authorize("voip.fast.co.nz","subscriber"))
{<BR> proxy_challenge("voip.fast.co.nz","0");<BR> break;<BR> }
else if (!check_from()) {<BR> sl_send_reply("403", "Use
From=ID");<BR> break;<BR> };</DIV>
<DIV> </DIV>
<DIV> consume_credentials();</DIV>
<DIV> </DIV>
<DIV> if (isflagset(6))
{<BR> force_rport();<BR> fix_nated_contact();<BR> force_rtp_proxy();<BR> };</DIV>
<DIV> </DIV>
<DIV> t_on_reply("1");</DIV>
<DIV> </DIV>
<DIV> if (!t_relay()) {<BR> if(isflagset(6))
{<BR> unforce_rtp_proxy();<BR> }<BR> sl_reply_error();<BR> };<BR>}</DIV>
<DIV> </DIV>
<DIV>onreply_route[1] {</DIV>
<DIV> </DIV>
<DIV> if (isflagset(6) && status=~"(180)|(183)|2[0-9][0-9]")
{<BR> if (!search("^Content-Length:\ 0"))
{<BR> force_rtp_proxy();<BR> };<BR> } else if
(nat_uac_test("1")) {<BR> fix_nated_contact();<BR> };<BR>}</DIV>
<DIV> </DIV>
<DIV></FONT> </DIV></BODY></HTML>