<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2900.5848" name=GENERATOR></HEAD>
<BODY text=#000000 bgColor=#ffffff>
<DIV dir=ltr align=left><SPAN class=144324409-17092009><FONT face=Arial 
color=#0000ff size=2>You should check if it sends plain text. Some clients send 
HTML formatted messages, so the module does not interpret your command as 
command, but normal "text" to the channel (that does indeed not exist 
then).</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=144324409-17092009><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=144324409-17092009><FONT face=Arial 
color=#0000ff size=2>If that does not work, try to create the room "manually" 
into the imc_rooms table&nbsp;*BEFORE* starting kamailio.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=144324409-17092009><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=144324409-17092009><FONT face=Arial 
color=#0000ff size=2>Sebastian</FONT></SPAN></DIV><BR>
<BLOCKQUOTE dir=ltr 
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
  <DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
  <HR tabIndex=-1>
  <FONT face=Tahoma size=2><B>From:</B> users-bounces@lists.kamailio.org 
  [mailto:users-bounces@lists.kamailio.org] <B>On Behalf Of 
  </B>Rajesh<BR><B>Sent:</B> Thursday, 17. September 2009 07:00<BR><B>To:</B> 
  users kamailio<BR><B>Subject:</B> [Kamailio-Users] room does not exists in 
  IMC<BR></FONT><BR></DIV>
  <DIV></DIV>Dear 
  Experts,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  I have been trying to configure IMC for quite some time now..when ti try to 
  create the chatroom (using my xlite phone), using the command #create q, i get 
  the following&nbsp; error.<BR><B>ERROR:imc:imc_handle_message: room [q] does 
  not exist!<BR>Sep 17 10:25:36 [2562] ERROR:imc:imc_manager: failed to handle 
  'message'<BR></B><BR>Iam posting my cfg below.. Your sujjestion would be of 
  immense help to me..<BR><BR><BR>#<BR># $Id: kamailio.cfg 5881 2009-06-22 
  09:13:04Z henningw $<BR>#<BR># Kamailio (OpenSER) SIP Server - basic 
  configuration script<BR>#&nbsp;&nbsp;&nbsp;&nbsp; - web: <A 
  class=moz-txt-link-freetext 
  href="http://www.kamailio.org">http://www.kamailio.org</A><BR>#&nbsp;&nbsp;&nbsp;&nbsp; 
  - svn: <A class=moz-txt-link-freetext 
  href="http://openser.svn.sourceforge.net/viewvc/openser/">http://openser.svn.sourceforge.net/viewvc/openser/</A><BR>#<BR># 
  Direct your questions about this file to: <A class=moz-txt-link-rfc2396E 
  href="mailto:users@lists.kamailio.org">&lt;users@lists.kamailio.org&gt;</A><BR><BR><BR>debug=3<BR>log_stderror=yes<BR>log_facility=LOG_LOCAL0<BR><BR>fork=yes<BR>children=4<BR>&nbsp;<BR><BR><BR>port=5060<BR><BR>/* 
  uncomment and configure the following line if you want Kamailio to 
  <BR>&nbsp;&nbsp; bind on a specific interface/port/proto (default bind on all 
  available) */<BR>#listen=udp:192.168.1.2:5060<BR><BR><BR>####### Modules 
  Section ########<BR><BR>#set module 
  path<BR>mpath="/usr/local/lib/kamailio/modules/"<BR><BR>/* uncomment next line 
  for MySQL DB support */<BR>loadmodule "db_mysql.so"<BR>loadmodule 
  "mi_fifo.so"<BR>loadmodule "sl.so"<BR>loadmodule "tm.so"<BR>loadmodule 
  "rr.so"<BR>loadmodule "pv.so"<BR>loadmodule "maxfwd.so"<BR>loadmodule 
  "usrloc.so"<BR>loadmodule "registrar.so"<BR>loadmodule 
  "textops.so"<BR>loadmodule "uri_db.so"<BR>loadmodule 
  "siputils.so"<BR>loadmodule "xlog.so"<BR>loadmodule "acc.so"<BR>loadmodule 
  "imc.so"<BR><BR><BR>/* uncomment next lines for MySQL based authentication 
  support <BR>&nbsp;&nbsp; NOTE: a DB (like db_mysql) module must be also loaded 
  */<BR>loadmodule "auth.so"<BR>loadmodule "auth_db.so"<BR>/* uncomment next 
  line for aliases support<BR>&nbsp;&nbsp; NOTE: a DB (like db_mysql) module 
  must be also loaded */<BR>#loadmodule "alias_db.so"<BR>/* uncomment next line 
  for multi-domain support<BR>&nbsp;&nbsp; NOTE: a DB (like db_mysql) module 
  must be also loaded<BR>&nbsp;&nbsp; NOTE: be sure and enable multi-domain 
  support in all used 
  modules<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (see "multi-module 
  params" section ) */<BR>#loadmodule "domain.so"<BR>/* uncomment the next two 
  lines for presence server support<BR>&nbsp;&nbsp; NOTE: a DB (like db_mysql) 
  module must be also loaded */<BR>#p#loadmodule "presence.so"<BR>#p#loadmodule 
  "presence_xml.so"<BR><BR>#n#loadmodule "nathelper.so"<BR><BR># 
  ----------------- setting module-specific parameters 
  ---------------<BR><BR><BR># ----- mi_fifo params -----<BR>modparam("mi_fifo", 
  "fifo_name", "/tmp/kamailio_fifo")<BR><BR><BR># ----- rr params -----<BR># add 
  value to ;lr param to cope with most of the UAs<BR>modparam("rr", 
  "enable_full_lr", 1)<BR># do not append from tag to the RR (no need for this 
  script)<BR>modparam("rr", "append_fromtag", 0)<BR><BR><BR># ----- rr params 
  -----<BR>modparam("registrar", "method_filtering", 1)<BR>/* uncomment the next 
  line to disable parallel forking via location */<BR># modparam("registrar", 
  "append_branches", 0)<BR>/* uncomment the next line not to allow more than 10 
  contacts per AOR */<BR>#modparam("registrar", "max_contacts", 10)<BR><BR><BR># 
  ----- uri_db params -----<BR>/* by default we disable the DB support in the 
  module as we do not need it<BR>&nbsp;&nbsp; in this configuration 
  */<BR>modparam("uri_db", "use_uri_table", 0)<BR>modparam("uri_db", "db_url", 
  "")<BR><BR><BR># ----- acc params -----<BR>/* what sepcial events should be 
  accounted ? */<BR>modparam("acc", "early_media", 1)<BR>modparam("acc", 
  "report_ack", 1)<BR>modparam("acc", "report_cancels", 1)<BR>/* by default ww 
  do not adjust the direct of the sequential requests.<BR>&nbsp;&nbsp; if you 
  enable this parameter, be sure the enable "append_fromtag"<BR>&nbsp;&nbsp; in 
  "rr" module */<BR>modparam("acc", "detect_direction", 0)<BR>/* account 
  triggers (flags) */<BR>modparam("acc", "failed_transaction_flag", 
  3)<BR>modparam("acc", "log_flag", 1)<BR>modparam("acc", "log_missed_flag", 
  2)<BR>modparam("acc", "log_extra", <BR>&nbsp;&nbsp;&nbsp; 
  "src_user=$fU;src_domain=$fd;dst_ouser=$tU;dst_user=$rU;dst_domain=$rd") 
  <BR><BR>&nbsp;<BR><BR># ----- auth_db params -----<BR>/* uncomment the 
  following lines if you want to enable the DB based<BR>&nbsp;&nbsp; 
  authentication */<BR>modparam("auth_db", "calculate_ha1", 
  yes)<BR>modparam("auth_db", "password_column", 
  "password")<BR>modparam("auth_db", "db_url",<BR>&nbsp;&nbsp;&nbsp; 
  "mysql://openser:openserrw@localhost/openser")<BR>modparam("auth_db", 
  "load_credentials", "")<BR><BR>&nbsp;<BR><BR>#-------tm 
  params-----<BR>modparam("tm", "fr_timer", 10 )<BR>modparam("tm", 
  "fr_inv_timer", 15 )<BR>modparam("tm", "wt_timer", 10 )<BR><BR><BR>#-------imc 
  params-----<BR>modparam("imc", "db_url", 
  "mysql://openser:openserrw@localhost/openser")<BR>modparam("imc", "hash_size", 
  8)<BR>modparam("imc", "imc_cmd_start_char", 
  "#")<BR><BR><BR><BR><BR>#n#modparam("usrloc", "nat_bflag", 6)<BR><BR>####### 
  Routing Logic ########<BR><BR><BR># main request routing 
  logic<BR><BR>route{<BR><BR>&nbsp;&nbsp;&nbsp; if 
  (!mf_process_maxfwd_header("10")) {<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  sl_send_reply("483","Too Many Hops");<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  exit;<BR>&nbsp;&nbsp;&nbsp; }<BR><BR>&nbsp;&nbsp;&nbsp; # NAT 
  detection<BR>&nbsp;&nbsp;&nbsp; route(4);<BR><BR>&nbsp;&nbsp;&nbsp; if 
  (has_totag()) {<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; # sequential request 
  withing a dialog should<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; # take the 
  path determined by record-routing<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if 
  (loose_route()) {<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  if (is_method("BYE")) {<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; setflag(1); # do accounting 
  ...<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; setflag(3); # ... even if the transaction 
  fails<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  }<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  route(1);<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } else 
  {<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if 
  (is_method("SUBSCRIBE") &amp;&amp; uri == myself) {<BR>&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; # in-dialog subscribe 
  requests<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; route(2);<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; exit;<BR>&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if ( is_method("ACK") ) 
  {<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; if ( t_check_trans() ) {<BR>&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; # 
  non loose-route, but stateful ACK; must be an ACK after a 487 or e.g. 404 from 
  upstream server<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; t_relay();<BR>&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  exit;<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; } else {<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; # ACK without 
  matching transaction ... ignore and discard.\n");<BR>&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  exit;<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; sl_send_reply("404","Not here");<BR>&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  exit;<BR>&nbsp;&nbsp;&nbsp; }<BR><BR>&nbsp;&nbsp;&nbsp; #initial 
  requests<BR><BR>&nbsp;&nbsp;&nbsp; # CANCEL processing<BR>&nbsp;&nbsp;&nbsp; 
  if (is_method("CANCEL"))<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; if (t_check_trans())<BR>&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; t_relay();<BR>&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; exit;<BR>&nbsp;&nbsp;&nbsp; }<BR><BR>&nbsp;&nbsp;&nbsp; 
  t_check_trans();<BR><BR>&nbsp;&nbsp;&nbsp; # 
  authentication<BR>&nbsp;&nbsp;&nbsp; route(3);<BR><BR>&nbsp;&nbsp;&nbsp; # 
  record routing<BR>&nbsp;&nbsp;&nbsp; if 
  (!is_method("REGISTER|MESSAGE"))<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  record_route();<BR><BR>&nbsp;&nbsp;&nbsp; # account only 
  INVITEs<BR>&nbsp;&nbsp;&nbsp; if (is_method("INVITE")) {<BR>&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; setflag(1); # do accounting<BR>&nbsp;&nbsp;&nbsp; 
  }<BR>&nbsp;&nbsp;&nbsp; if (!uri==myself)<BR>&nbsp;&nbsp;&nbsp; /* replace 
  with following line if multi-domain support is used */<BR>&nbsp;&nbsp;&nbsp; 
  ##if (!is_uri_host_local())<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; append_hf("P-hint: outbound\r\n"); <BR>&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; # if you have some interdomain connections via 
  TLS<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ##if($rd=="tls_domain1.net") 
  {<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ##&nbsp;&nbsp;&nbsp; 
  t_relay("tls:domain1.net");<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  ##&nbsp;&nbsp;&nbsp; exit;<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ##} else 
  if($rd=="tls_domain2.net") {<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  ##&nbsp;&nbsp;&nbsp; t_relay("tls:domain2.net");<BR>&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; ##&nbsp;&nbsp;&nbsp; exit;<BR>&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; ##}<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  route(1);<BR>&nbsp;&nbsp;&nbsp; }<BR><BR>&nbsp;&nbsp;&nbsp; # requests for my 
  domain<BR><BR>&nbsp;&nbsp;&nbsp; if( 
  is_method("PUBLISH|SUBSCRIBE"))<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  route(2);<BR><BR>&nbsp;&nbsp;&nbsp; if 
  (is_method("REGISTER"))<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; if (!save("location"))<BR>&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  sl_reply_error();<BR><BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  exit;<BR>&nbsp;&nbsp;&nbsp; }<BR><BR><BR><BR>&nbsp;&nbsp;&nbsp; #if(uri=~<A 
  class=moz-txt-link-rfc2396E 
  href="sip:q.*@">"sip:q.*@"</A>)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  if(uri=~<A class=moz-txt-link-rfc2396E 
  href="sip:q@192.168.64.75">"sip:q@192.168.64.75"</A>)<BR>&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # IMC - 
  message<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  xdbg("script: message from [$fu] r-uri [$ru] msg 
  [$rb]\n");<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  if(is_method("MESSAGE"))<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; log("MESSAGE received -&gt; processing 
  with imc\n");<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; sl_send_reply("200", "ok");<BR>&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  <BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; imc_manager();&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; <BR><BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; exit;<BR>&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } else {<BR>&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_send_reply("404", 
  "not found");<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; exit;<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; };<BR>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } 
  else {<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  xdbg("script: message not for room, from [$fu] r-uri [$ru] msg 
  [$rb]\n");<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  if(!lookup("location"))<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_send_reply("404", "not 
  found");<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; exit;<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; t_relay();<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; #sl_send_reply("200", "ok");<BR>&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; exit();<BR>&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; };<BR><BR><BR><BR>&nbsp;&nbsp;&nbsp; if ($rU==NULL) 
  {<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; # request with no Username in 
  RURI<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_send_reply("484","Address 
  Incomplete");<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  exit;<BR>&nbsp;&nbsp;&nbsp; }<BR><BR>&nbsp;&nbsp;&nbsp; # apply DB based 
  aliases (uncomment to enable)<BR>&nbsp;&nbsp;&nbsp; 
  ##alias_db_lookup("dbaliases");<BR><BR>&nbsp;&nbsp;&nbsp; if 
  (!lookup("location")) {<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; switch 
  ($retcode) {<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; case 
  -1:<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; case 
  -3:<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; t_newtran();<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; t_reply("404", "Not 
  Found");<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; exit;<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; case -2:<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_send_reply("405", "Method Not 
  Allowed");<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; exit;<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  }<BR>&nbsp;&nbsp;&nbsp; }<BR><BR>&nbsp;&nbsp;&nbsp; # when routing via usrloc, 
  log the missed calls also<BR>&nbsp;&nbsp;&nbsp; 
  setflag(2);<BR><BR>&nbsp;&nbsp;&nbsp; route(1);<BR>}<BR><BR><BR>route[1] 
  {<BR>&nbsp;<BR><BR>&nbsp;&nbsp;&nbsp; /* example how to enable some additional 
  event routes */<BR>&nbsp;&nbsp;&nbsp; if (is_method("INVITE")) 
  {<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  #t_on_branch("1");<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  t_on_reply("1");<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  t_on_failure("1");<BR>&nbsp;&nbsp;&nbsp; }<BR><BR>&nbsp;&nbsp;&nbsp; if 
  (!t_relay()) {<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  sl_reply_error();<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; 
  exit;<BR>}<BR><BR><BR># Presence route<BR>/* uncomment the whole following 
  route for enabling presence server 
  */<BR>route[2]<BR>{<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; # 
  if presence enabled, this part will not be executed<BR>&nbsp;&nbsp;&nbsp; if 
  (is_method("PUBLISH") || $rU==null)<BR>&nbsp;&nbsp;&nbsp; 
  {<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_send_reply("404", "Not 
  here");<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; exit;<BR>&nbsp;&nbsp;&nbsp; 
  }<BR>&nbsp;&nbsp;&nbsp; return;<BR>}<BR><BR># Authentication route<BR>/* 
  uncomment the whole following route for enabling authentication */<BR>route[3] 
  {<BR>&nbsp;&nbsp;&nbsp; if (is_method("REGISTER"))<BR>&nbsp;&nbsp;&nbsp; 
  {<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; # authenticate the REGISTER 
  requests (uncomment to enable auth)<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  if (!www_authorize("", "subscriber"))<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  {<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  www_challenge("", "0");<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; exit;<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  }<BR><BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if ($au!=$tU) 
  <BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_send_reply("403","Forbidden auth 
  ID");<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  exit;<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; } else 
  {<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; # authenticate if from local 
  subscriber (uncomment to enable auth)<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  if (from_uri==myself)<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  {<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if 
  (!proxy_authorize("", "subscriber")) {<BR>&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; proxy_challenge("", 
  "0");<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; exit;<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; if (is_method("PUBLISH"))<BR>&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if ($au!=$tU) 
  {<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_send_reply("403","Forbidden auth 
  ID");<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; exit;<BR>&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  }<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } else 
  {<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; if ($au!=$fU) {<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  sl_send_reply("403","Forbidden auth ID");<BR>&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  exit;<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; }<BR><BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; consume_credentials();<BR>&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; # caller 
  authenticated<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; 
  }<BR>&nbsp;&nbsp;&nbsp; return;<BR>}<BR><BR># Caller NAT detection route<BR>/* 
  uncomment the whole following route for enabling Caller NAT Detection 
  */<BR>route[4]{<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp; return;<BR>}<BR><BR># RTPProxy 
  control<BR>/* uncomment the whole following route for enabling RTPProxy 
  Control */<BR>route[5] {<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp; 
  return;<BR>}<BR><BR>branch_route[1] {<BR>&nbsp;&nbsp;&nbsp; xdbg("new branch 
  at $ru\n");<BR>}<BR><BR><BR>onreply_route[1] {<BR>&nbsp;&nbsp;&nbsp; 
  xdbg("incoming reply\n");<BR><BR>&nbsp;<BR>}<BR><BR><BR>failure_route[1] 
  {<BR>&nbsp;<BR><BR>&nbsp;&nbsp;&nbsp; if (t_was_cancelled()) 
  {<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; exit;<BR>&nbsp;&nbsp;&nbsp; 
  }<BR><BR>&nbsp;<BR>}<BR><BR><BR>
  <DIV class=moz-signature>-<BR><FONT face="Trebuchet MS" color=blue 
  size=2>Regards,<BR>Rajesh &nbsp; </FONT></DIV></BLOCKQUOTE></BODY></HTML>