SER Users:
 
Thanks in advance for any help!
 
I am running ser 0.9.6 and have a relatively simple cfg file.  I have only four (4) digit extensions, no PSTN, no NAT and I do not care about authorization so my config file is basically the Hello World ser.cfg with my system parameters and a few statements in route that allowed me to create standing conference rooms and an echo application with sems.
 
Now I need to implement call forwarding and I have been able to setup the MySQL ser usr_preferences table per chapter 10 of the 'SER - Getting Started' and the 'mySQL newbie? Problems with mySQL and SER?' documents.  After adding the call forwarding functionality discussed in chapter 10 inside my config file any number dialed to a SIP device rings busy. All SIP devices register and can call the conference rooms or the echo application but they can not call each other.  I will spare you my WireShark logs but can provide if that is needed.
 
I'm looking for trouble shooting suggestions.  Is there a way to print to the std i/o from inside the cfg file?  This is the first time I needed to handle the INVITE message so I've included my INVITE Message Handler and the Call Forwarding Handler that I added for this effort:
 
 
 
if (method=="ACK") {
 route(1);
 break;
} if (method=="INVITE") {
 route(3);
 break;
} if (method=="REGISTER") {
 route(2);
 break;
};
 
...

route[3] {
# ----------------------------------------------------------------------
# INVITE Message Handler
# ----------------------------------------------------------------------
# Note: We are using this fuction only as a hook into the
#       blind call forwarding feature.  Simply want to change the
#       R-URI and relay the message.
 
if (avp_db_load("$ruri/username", "s:callfwd")) {
   setflag(22);
   avp_pushto("$ruri", "s:callfwd");
 
  # Would love to do a printf here to see if this code is being hit!!!
  # Wireshark show INVITE messages are being sent.
  # debug/printf("\n\n******  Inside route(3) ********\n\n");

   # At this point the a blind call forwarding record was found and the
   # new destination was written in the R-URI. 
 
   # DEBUG: try just calling route(1).
   # route(1);
 
   # Send to Call Forwarding Handler
   route(6);
   break;
   };
route(1);
}
 
route[6] {
# ----------------------------------------------------------------------
# Blind Call Forwarding Handler
#
# This must be done as a route block because sl_send_reply() cannot be
# called from the failure_route block
# ----------------------------------------------------------------------
  lookup("aliases");
  if (!is_uri_host_local()) {
     if (!isflagset(22)) {
        append_branch();
     };
     route(1);
     break;
  };
  if (!lookup("location")) {
     if (uri=~"^sip:[0-9]{4}@") {
        route(1);
        break;
      };
      sl_send_reply("404", "User Not Found");
      break;
  };
  
 # DEBUG: There are no alias' and we are not sending calls to other
 # networks.  We may just need to call route(1) and not this
 # function.

  route(1);
}