<div>SER Users:</div>
<div> </div>
<div>Thanks in advance for any help!</div>
<div> </div>
<div>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.</div>

<div> </div>
<div>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 &#39;SER - Getting Started&#39; and the &#39;mySQL newbie? Problems with mySQL and SER?&#39; 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.</div>

<div> </div>
<div>I&#39;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&#39;ve included my INVITE Message Handler and the Call Forwarding Handler that I added for this effort:</div>

<div> </div>
<div> </div>
<div> </div>
<div>if (method==&quot;ACK&quot;) {<br> route(1);<br> break;<br>} if (method==&quot;INVITE&quot;) {<br> route(3);<br> break;<br>} if (method==&quot;REGISTER&quot;) {<br> route(2);<br> break;</div>
<div>};</div>
<div> </div>
<div>...</div>
<div><br>route[3] {<br># ----------------------------------------------------------------------<br># INVITE Message Handler<br># ----------------------------------------------------------------------</div>
<div># Note: We are using this fuction only as a hook into the <br>#       blind call forwarding feature.  Simply want to change the<br>#       R-URI and relay the message.</div>
<div> </div>
<div>if (avp_db_load(&quot;$ruri/username&quot;, &quot;s:callfwd&quot;)) {<br>   setflag(22);<br>   avp_pushto(&quot;$ruri&quot;, &quot;s:callfwd&quot;);</div>
<div> </div>
<div>  # Would love to do a printf here to see if this code is being hit!!!</div>
<div>  # Wireshark show INVITE messages are being sent.</div>
<div>  # debug/printf(&quot;\n\n******  Inside route(3) ********\n\n&quot;);</div>
<div><br>   # At this point the a blind call forwarding record was found and the<br>   # new destination was written in the R-URI.  </div>
<div> </div>
<div>   # DEBUG: try just calling route(1).<br>   # route(1);</div>
<div> </div>
<div>   # Send to Call Forwarding Handler</div>
<div>   route(6);<br>   break;<br>   };</div>
<div>route(1);</div>
<div>}</div>
<div> </div>
<div>route[6] {<br># ----------------------------------------------------------------------<br># Blind Call Forwarding Handler<br>#<br># This must be done as a route block because sl_send_reply() cannot be<br># called from the failure_route block<br>
# ----------------------------------------------------------------------</div>
<div>  lookup(&quot;aliases&quot;);<br>  if (!is_uri_host_local()) {<br>     if (!isflagset(22)) {<br>        append_branch();<br>     };</div>
<div>     route(1);<br>     break;<br>  };</div>
<div>  if (!lookup(&quot;location&quot;)) { <br>     if (uri=~&quot;^sip:[0-9]{4}@&quot;) {<br>        route(1);<br>        break;<br>      };<br>      sl_send_reply(&quot;404&quot;, &quot;User Not Found&quot;);<br>      break;<br>
  };<br>  </div>
<div> # DEBUG: There are no alias&#39; and we are not sending calls to other</div>
<div> # networks.  We may just need to call route(1) and not this</div>
<div> # function.</div>
<div><br>  route(1);<br>}<br></div>