<!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> </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 *BEFORE* starting kamailio.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=144324409-17092009><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </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>
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 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># - web: <A
class=moz-txt-link-freetext
href="http://www.kamailio.org">http://www.kamailio.org</A><BR>#
- 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"><users@lists.kamailio.org></A><BR><BR><BR>debug=3<BR>log_stderror=yes<BR>log_facility=LOG_LOCAL0<BR><BR>fork=yes<BR>children=4<BR> <BR><BR><BR>port=5060<BR><BR>/*
uncomment and configure the following line if you want Kamailio to
<BR> 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> 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> 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> NOTE: a DB (like db_mysql) module
must be also loaded<BR> NOTE: be sure and enable multi-domain
support in all used
modules<BR> (see "multi-module
params" section ) */<BR>#loadmodule "domain.so"<BR>/* uncomment the next two
lines for presence server support<BR> 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> 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> if you
enable this parameter, be sure the enable "append_fromtag"<BR> 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>
"src_user=$fU;src_domain=$fd;dst_ouser=$tU;dst_user=$rU;dst_domain=$rd")
<BR><BR> <BR><BR># ----- auth_db params -----<BR>/* uncomment the
following lines if you want to enable the DB based<BR>
authentication */<BR>modparam("auth_db", "calculate_ha1",
yes)<BR>modparam("auth_db", "password_column",
"password")<BR>modparam("auth_db", "db_url",<BR>
"mysql://openser:openserrw@localhost/openser")<BR>modparam("auth_db",
"load_credentials", "")<BR><BR> <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> if
(!mf_process_maxfwd_header("10")) {<BR>
sl_send_reply("483","Too Many Hops");<BR>
exit;<BR> }<BR><BR> # NAT
detection<BR> route(4);<BR><BR> if
(has_totag()) {<BR> # sequential request
withing a dialog should<BR> # take the
path determined by record-routing<BR> if
(loose_route()) {<BR>
if (is_method("BYE")) {<BR>
setflag(1); # do accounting
...<BR>
setflag(3); # ... even if the transaction
fails<BR>
}<BR>
route(1);<BR> } else
{<BR> if
(is_method("SUBSCRIBE") && uri == myself) {<BR>
# in-dialog subscribe
requests<BR>
route(2);<BR>
exit;<BR>
}<BR>
if ( is_method("ACK") )
{<BR>
if ( t_check_trans() ) {<BR>
#
non loose-route, but stateful ACK; must be an ACK after a 487 or e.g. 404 from
upstream server<BR>
t_relay();<BR>
exit;<BR>
} else {<BR>
# ACK without
matching transaction ... ignore and discard.\n");<BR>
exit;<BR>
}<BR>
}<BR>
sl_send_reply("404","Not here");<BR>
}<BR>
exit;<BR> }<BR><BR> #initial
requests<BR><BR> # CANCEL processing<BR>
if (is_method("CANCEL"))<BR> {<BR>
if (t_check_trans())<BR>
t_relay();<BR>
exit;<BR> }<BR><BR>
t_check_trans();<BR><BR> #
authentication<BR> route(3);<BR><BR> #
record routing<BR> if
(!is_method("REGISTER|MESSAGE"))<BR>
record_route();<BR><BR> # account only
INVITEs<BR> if (is_method("INVITE")) {<BR>
setflag(1); # do accounting<BR>
}<BR> if (!uri==myself)<BR> /* replace
with following line if multi-domain support is used */<BR>
##if (!is_uri_host_local())<BR> {<BR>
append_hf("P-hint: outbound\r\n"); <BR>
# if you have some interdomain connections via
TLS<BR> ##if($rd=="tls_domain1.net")
{<BR> ##
t_relay("tls:domain1.net");<BR>
## exit;<BR> ##} else
if($rd=="tls_domain2.net") {<BR>
## t_relay("tls:domain2.net");<BR>
## exit;<BR>
##}<BR>
route(1);<BR> }<BR><BR> # requests for my
domain<BR><BR> if(
is_method("PUBLISH|SUBSCRIBE"))<BR>
route(2);<BR><BR> if
(is_method("REGISTER"))<BR> {<BR>
if (!save("location"))<BR>
sl_reply_error();<BR><BR>
exit;<BR> }<BR><BR><BR><BR> #if(uri=~<A
class=moz-txt-link-rfc2396E
href="sip:q.*@">"sip:q.*@"</A>)<BR>
if(uri=~<A class=moz-txt-link-rfc2396E
href="sip:q@192.168.64.75">"sip:q@192.168.64.75"</A>)<BR>
{<BR>
# IMC -
message<BR>
xdbg("script: message from [$fu] r-uri [$ru] msg
[$rb]\n");<BR>
if(is_method("MESSAGE"))<BR>
{<BR>
log("MESSAGE received -> processing
with imc\n");<BR>
sl_send_reply("200", "ok");<BR>
<BR>
imc_manager();
<BR><BR>
exit;<BR>
} else {<BR>
sl_send_reply("404",
"not found");<BR>
exit;<BR>
};<BR> }
else {<BR>
xdbg("script: message not for room, from [$fu] r-uri [$ru] msg
[$rb]\n");<BR>
if(!lookup("location"))<BR>
{<BR>
sl_send_reply("404", "not
found");<BR>
exit;<BR>
}<BR>
t_relay();<BR>
#sl_send_reply("200", "ok");<BR>
exit();<BR>
};<BR><BR><BR><BR> if ($rU==NULL)
{<BR> # request with no Username in
RURI<BR> sl_send_reply("484","Address
Incomplete");<BR>
exit;<BR> }<BR><BR> # apply DB based
aliases (uncomment to enable)<BR>
##alias_db_lookup("dbaliases");<BR><BR> if
(!lookup("location")) {<BR> switch
($retcode) {<BR> case
-1:<BR> case
-3:<BR>
t_newtran();<BR>
t_reply("404", "Not
Found");<BR>
exit;<BR>
case -2:<BR>
sl_send_reply("405", "Method Not
Allowed");<BR>
exit;<BR>
}<BR> }<BR><BR> # when routing via usrloc,
log the missed calls also<BR>
setflag(2);<BR><BR> route(1);<BR>}<BR><BR><BR>route[1]
{<BR> <BR><BR> /* example how to enable some additional
event routes */<BR> if (is_method("INVITE"))
{<BR>
#t_on_branch("1");<BR>
t_on_reply("1");<BR>
t_on_failure("1");<BR> }<BR><BR> if
(!t_relay()) {<BR>
sl_reply_error();<BR> }<BR>
exit;<BR>}<BR><BR><BR># Presence route<BR>/* uncomment the whole following
route for enabling presence server
*/<BR>route[2]<BR>{<BR> <BR> <BR> #
if presence enabled, this part will not be executed<BR> if
(is_method("PUBLISH") || $rU==null)<BR>
{<BR> sl_send_reply("404", "Not
here");<BR> exit;<BR>
}<BR> return;<BR>}<BR><BR># Authentication route<BR>/*
uncomment the whole following route for enabling authentication */<BR>route[3]
{<BR> if (is_method("REGISTER"))<BR>
{<BR> # authenticate the REGISTER
requests (uncomment to enable auth)<BR>
if (!www_authorize("", "subscriber"))<BR>
{<BR>
www_challenge("", "0");<BR>
exit;<BR>
}<BR><BR> if ($au!=$tU)
<BR> {<BR>
sl_send_reply("403","Forbidden auth
ID");<BR>
exit;<BR> }<BR> } else
{<BR> # authenticate if from local
subscriber (uncomment to enable auth)<BR>
if (from_uri==myself)<BR>
{<BR> if
(!proxy_authorize("", "subscriber")) {<BR>
proxy_challenge("",
"0");<BR>
exit;<BR>
}<BR>
if (is_method("PUBLISH"))<BR>
{<BR>
if ($au!=$tU)
{<BR>
sl_send_reply("403","Forbidden auth
ID");<BR>
exit;<BR>
}<BR> } else
{<BR>
if ($au!=$fU) {<BR>
sl_send_reply("403","Forbidden auth ID");<BR>
exit;<BR>
}<BR>
}<BR><BR>
consume_credentials();<BR>
# caller
authenticated<BR> }<BR>
}<BR> return;<BR>}<BR><BR># Caller NAT detection route<BR>/*
uncomment the whole following route for enabling Caller NAT Detection
*/<BR>route[4]{<BR> <BR> return;<BR>}<BR><BR># RTPProxy
control<BR>/* uncomment the whole following route for enabling RTPProxy
Control */<BR>route[5] {<BR> <BR>
return;<BR>}<BR><BR>branch_route[1] {<BR> xdbg("new branch
at $ru\n");<BR>}<BR><BR><BR>onreply_route[1] {<BR>
xdbg("incoming reply\n");<BR><BR> <BR>}<BR><BR><BR>failure_route[1]
{<BR> <BR><BR> if (t_was_cancelled())
{<BR> exit;<BR>
}<BR><BR> <BR>}<BR><BR><BR>
<DIV class=moz-signature>-<BR><FONT face="Trebuchet MS" color=blue
size=2>Regards,<BR>Rajesh </FONT></DIV></BLOCKQUOTE></BODY></HTML>