Ok, so ser worked for a few minutes in the following way:
 
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.
NAT user is able to call me with no problem.
Then things just died and now when I run ser I get the following:
 
ser@max:/home/icepick$ ser -Edddddd
 0(5134) read 244542925 from /dev/urandom
 0(5134) seeding PRNG with 1357656199
 0(5134) test random number 985922484
ERROR: bad config file (1 errors)
 
ser.cfg (as per onsip.org, exact copy of the rtpproxy.cfg with 2 additional fields for linking asterisk)
 
debug=3
fork=yes
log_stderror=no
dns=no
rev_dns=no
fifo="/home/ser/ser_fifo"
fifo_db_url="mysql://asterisk:4ster1skrawk5@localhost/ser"
 
loadmodule "/usr/local/lib/ser/modules/mysql.so"
loadmodule "/usr/local/lib/ser/modules/sl.so"
loadmodule "/usr/local/lib/ser/modules/tm.so"
loadmodule "/usr/local/lib/ser/modules/rr.so"
loadmodule "/usr/local/lib/ser/modules/maxfwd.so"
loadmodule "/usr/local/lib/ser/modules/usrloc.so"
loadmodule "/usr/local/lib/ser/modules/registrar.so"
loadmodule "/usr/local/lib/ser/modules/auth.so"
loadmodule "/usr/local/lib/ser/modules/auth_db.so"
loadmodule "/usr/local/lib/ser/modules/nathelper.so"
loadmodule "/usr/local/lib/ser/modules/textops.so"
loadmodule "/usr/local/lib/ser/modules/uri_db.so"
loadmodule "/usr/local/lib/ser/modules/uri.so"
loadmodule "/usr/local/lib/ser/modules/domain.so"
loadmodule "/usr/local/lib/ser/modules/acc.so"
 
modparam("acc|auth_db|usrloc|uri_db", "db_url", "mysql://ser:ser@localhost/ser")
 
modparam("auth_db", "calculate_ha1", 1)
modparam("auth_db", "password_column", "password")
 
modparam("acc", "log_level", 2)
modparam("acc", "log_flag", 1 )
modparam("acc", "log_missed_flag", 2)
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)
 
modparam("nathelper", "natping_interval", 30)
modparam("nathelper", "ping_nated_only", 1)  
modparam("nathelper", "rtpproxy_sock", "unix:/var/run/rtpproxy.sock")
 
modparam("usrloc", "db_mode", 2)
 
modparam("registrar", "nat_flag", 6)
 
modparam("rr", "enable_full_lr", 1)
 
alias="voip.fast.co.nz"
alias=""
 
route {
 
 # -----------------------------------------------------------------
 # Sanity Check Section
 # -----------------------------------------------------------------
 if (!mf_process_maxfwd_header("10")) {
  sl_send_reply("483", "Too Many Hops");
  break;
 };
 
 if (msg:len > max_len) {
  sl_send_reply("513", "Message Overflow");
  break;
 };
 
 # -----------------------------------------------------------------
 # Record Route Section
 # -----------------------------------------------------------------
 if (method!="REGISTER") {
  record_route();
 };
 
 if (method=="BYE" || method=="CANCEL") {
  unforce_rtp_proxy();
 }
 
 # -----------------------------------------------------------------
 # Loose Route Section
 # -----------------------------------------------------------------
 if (loose_route()) {
 
  if (has_totag() && method=="INVITE") {
   if (nat_uac_test("19")) {
    setflag(6);
    force_rport();
    fix_nated_contact();
   };
                    force_rtp_proxy("l");
  };
    route(1);
  break;
 };
        # -----------------------------------------------------------------
        # send out 0 prefix to asterisk for IVR options
        # -----------------------------------------------------------------
        if (uri=~"^sip:0[1-9]*@voip.fast.co.nz") {
                setflag(1);
                rewritehostport("202.150.105.150:5070");
                log("free call");
          if (!t_relay()) {
                       sl_reply_error();
               };
                break;
        }
 
        # -----------------------------------------------------------------
        # send out 00 prefix to wholesale voip.fast.co.nz termination
        # -----------------------------------------------------------------
 if (uri=~"^sip:00[0-9].*@voip.fast.co.nz") {
         if (!is_user_in("From", "ld")) {
                 sl_send_reply("403", "Payment required");
               break;
 
               };
               setflag(1);
               rewritehostport("voip.fast.co.nz:5070");
               if (!t_relay()) {
                       sl_reply_error();
               };
               break;
        };
 

 # -----------------------------------------------------------------
 # Call Type Processing Section
 # -----------------------------------------------------------------
 if (uri==myself) {
  if (method=="INVITE") {
   route(3);
   break;
  } else  if (method=="REGISTER") {
   route(2);
   break;
  };
 
  if (!lookup("location")) {
   sl_send_reply("404", "User Not Found");
   break;
  };
 
  route(1);
 };
}
 
route[1] {
 
 # -----------------------------------------------------------------
 # Default Message Handler
 # -----------------------------------------------------------------
 
 t_on_reply("1");
 
 if (!t_relay()) {
  if (method=="INVITE" && isflagset(6)) {
    unforce_rtp_proxy();
  };
  sl_reply_error();
 };
}
 
route[2] {
 
 # -----------------------------------------------------------------
 # REGISTER Message Handler
 # ----------------------------------------------------------------
 
 if (!search("^Contact: \*") && nat_uac_test("19")) {
  setflag(6);
  fix_nated_register();
  force_rport();
 };
 
 sl_send_reply("100", "Trying");
 
 if (!www_authorize("","subscriber")) {
  www_challenge("","0");
  break;
 };
 
 if (!check_to()) {
  sl_send_reply("401", "Unauthorized");
  break;
 };
 
     consume_credentials();
 
 if (!save("location")) {
  sl_reply_error();
 };
}
 
route[3] {
 
 # -----------------------------------------------------------------
 # INVITE Message Handler
 # -----------------------------------------------------------------
 
 if (nat_uac_test("19")) {
  setflag(6);
     }
 
 if (!lookup("location")) {
  sl_send_reply("404", "User Not Found");
  break;
 };
 
 if (!proxy_authorize("voip.fast.co.nz","subscriber")) {
  proxy_challenge("voip.fast.co.nz","0");
  break;
 } else if (!check_from()) {
  sl_send_reply("403", "Use From=ID");
  break;
 };
 
     consume_credentials();
 
 if (isflagset(6)) {
  force_rport();
  fix_nated_contact();
  force_rtp_proxy();
 };
 
 t_on_reply("1");
 
 if (!t_relay()) {
  if(isflagset(6)) {
   unforce_rtp_proxy();
  }
  sl_reply_error();
 };
}
 
onreply_route[1] {
 
 if (isflagset(6) && status=~"(180)|(183)|2[0-9][0-9]") {
   if (!search("^Content-Length:\ 0")) {
   force_rtp_proxy();
  };
 } else if (nat_uac_test("1")) {
  fix_nated_contact();
 };
}