Hi Daniel, thank you for quick response, kamailio doesn't start when I add the event_route for xcap_server, this are the errors:
0(5319) DEBUG: <core> [route.c:928]: fixing uac_req_send()
0(5319) DEBUG: <core> [route.c:928]: fixing xdbg()
0(5319) DEBUG: <core> [rvalue.c:2777]: RV fixing type 4
0(5319) DEBUG: <core> [route.c:928]: fixing isbflagset()
0(5319) DEBUG: <core> [route.c:928]: fixing fix_nated_contact()
0(5319) DEBUG: <core> [rvalue.c:2777]: RV fixing type 4
0(5319) DEBUG: <core> [route.c:928]: fixing fix_nated_sdp()
0(5319) DEBUG: <core> [route.c:928]: fixing append_hf()
0(5319) DEBUG: <core> [rvalue.c:2777]: RV fixing type 4
0(5319) DEBUG: <core> [route.c:928]: fixing t_is_canceled()
0(5319) DEBUG: <core> [route.c:928]: fixing xdbg()
0(5319) DEBUG: <core> [route.c:928]: fixing append_hf()
0(5319) DEBUG: <core> [rvalue.c:2777]: RV fixing type 4
0(5319) DEBUG: <core> [route.c:928]: fixing isbflagset()
0(5319) DEBUG: <core> [rvalue.c:2777]: RV fixing type 7
0(5319) DEBUG: <core> [rvalue.c:2777]: RV fixing type 4
0(5319) DEBUG: <core> [route.c:928]: fixing fix_nated_sdp()
0(5319) DEBUG: <core> [route.c:928]: fixing append_hf()
0(5319) DEBUG: <core> [route.c:928]: fixing xdbg()
0(5319) DEBUG: <core> [rvalue.c:2777]: RV fixing type 4
0(5319) DEBUG: <core> [route.c:928]: fixing www_authorize()
0(5319) DEBUG: <core> [db.c:285]: connection 0xa6d830 not found in pool
0(5319) DEBUG: db_mysql [km_my_con.c:94]: opening connection: mysql://xxxx:xxxx@localhost/asterisk
0(5319) DEBUG: db_mysql [km_my_con.c:121]: connection type is Localhost via UNIX socket
0(5319) DEBUG: db_mysql [km_my_con.c:122]: protocol version is 10
0(5319) DEBUG: db_mysql [km_my_con.c:123]: server version is 5.1.41-3ubuntu12.10-log
0(5319) DEBUG: <core> [db_res.c:118]: allocate 48 bytes for result set at 0xa6da40
0(5319) DEBUG: db_mysql [km_res.c:68]: 1 columns returned from the query
0(5319) DEBUG: <core> [db_res.c:155]: allocate 8 bytes for result names at 0xa04c28
0(5319) DEBUG: <core> [db_res.c:165]: allocate 4 bytes for result types at 0xa017a8
0(5319) DEBUG: db_mysql [km_res.c:85]: allocate 16 bytes for RES_NAMES[0] at 0xa6dad0
0(5319) DEBUG: db_mysql [km_res.c:92]: RES_NAMES(0xa6dad0)[0]=[table_version]
0(5319) DEBUG: db_mysql [km_res.c:100]: use DB1_INT result type
0(5319) DEBUG: db_mysql [km_res.c:169]: no rows returned from the query
0(5319) DEBUG: <core> [db.c:372]: no row for table subscriber found
0(5319) ERROR: <core> [db.c:408]: invalid version 0 for table subscriber found, expected 6 (check table structure and table "version")
0(5319) ERROR: auth_db [authdb_mod.c:252]: error during table version check.
0(5319) DEBUG: <core> [db_pool.c:102]: removing connection from the pool
0(5319) ERROR: <core> [route.c:1161]: fixing failed (code=-1) at cfg:/usr/local/etc/kamailio/kamailio.cfg:1286
0(5319) ERROR: <core> [route.c:1161]: fixing failed (code=-1) at cfg:/usr/local/etc/kamailio/kamailio.cfg:1292
ERROR: error -1 while trying to fix configuration
0(5319) DEBUG: presence_xml [presence_xml.c:329]: start
0(5319) DEBUG: tm [t_funcs.c:122]: DEBUG: tm_shutdown : start
0(5319) DEBUG: tm [t_funcs.c:125]: DEBUG: tm_shutdown : emptying hash table
0(5319) DEBUG: tm [t_funcs.c:127]: DEBUG: tm_shutdown : removing semaphores
0(5319) DEBUG: tm [t_funcs.c:129]: DEBUG: tm_shutdown : destroying tmcb lists
0(5319) DEBUG: tm [t_funcs.c:132]: DEBUG: tm_shutdown : done
0(5319) DEBUG: tls [tls_init.c:657]: tls module final tls destroy
0(5319) DEBUG: <core> [mem/shm_mem.c:236]: shm_mem_destroy
0(5319) DEBUG: <core> [mem/shm_mem.c:239]: destroying the shared memory lock
And this is the event_route cfg I have copied from the guide, I will mark lines 1286 and 1292
#!ifdef WITH_XCAPSRV
#!define WITH_XHTTPAUTH
event_route[xhttp:request] {
xdbg("===== xhttp: request [$rv] $rm => $hu\n");
#!ifdef WITH_XHTTPAUTH
if (!www_authorize("xcap", "subscriber")) 1286
{
www_challenge("xcap", "0");
exit;
}
#!endif
if($hu=~"^/xcap-root/") 1292
{
set_reply_close();
set_reply_no_connect();
# xcap ops
$xcapuri(u=>data) = $hu;
if($xcapuri(u=>xuid)=~"^sip:.+@.+")
$var(uri) = $xcapuri(u=>xuid);
else if($xcapuri(u=>xuid)=~".+@.+")
$var(uri) = "sip:" + $xcapuri(u=>xuid);
else
$var(uri) = "sip:"+ $xcapuri(u=>xuid) + "@" + $Ri;
xlog("===== xhttp: $xcapuri(u=>auid) : $xcapuri(u=>xuid)\n");
if($xcapuri(u=>auid)=="xcap-caps")
{
$var(xbody) =
"<?xml version='1.0' encoding='UTF-8'?>
<xcap-caps xmlns='urn:ietf:params:xml:ns:xcap-caps'>
<auids>
<auid>rls-services</auid>
<auid>pidf-manipulation</auid>
<auid>xcap-caps</auid>
<auid>resource-lists</auid>
<auid>pres-rules</auid>
<auid>org.openmobilealliance.pres-rules</auid>
</auids>
<extensions>
</extensions>
<namespaces>
<namespace>urn:ietf:params:xml:ns:rls-services</namespace>
<namespace>urn:ietf:params:xml:ns:pidf</namespace>
<namespace>urn:ietf:params:xml:ns:xcap-caps</namespace>
<namespace>urn:ietf:params:xml:ns:resource-lists</namespace>
<namespace>urn:ietf:params:xml:ns:pres-rules</namespace>
</namespaces>
</xcap-caps>";
xhttp_reply("200", "ok", "application/xcap-caps+xml",
"$var(xbody)");
exit;
}
#!ifdef WITH_XHTTPAUTH
# be sure auth user access only its documents
if ($au!=$(var(uri){uri.user})) {
xhttp_reply("403", "Forbidden", "text/html",
"<html><body>$si:$sp</body></html>");
exit;
}
#!endif
switch($rm) {
case "PUT":
xcaps_put("$var(uri)", "$hu", "$rb");
if($xcapuri(u=>auid)=~"pres-rules")
{
xlog("===== xhttp put: refreshing watchers for $var(uri)\n");
pres_update_watchers("$var(uri)", "presence");
pres_refresh_watchers("$var(uri)", "presence", 1);
}
exit;
break;
case "GET":
xlog("===== xhttp: get $var(uri) => $hu\n");
xcaps_get("$var(uri)", "$hu");
exit;
break;
case "DELETE":
xcaps_del("$var(uri)", "$hu");
if($xcapuri(u=>auid)=~"pres-rules")
{
xlog("===== xhttp del: refreshing watchers for $var(uri)\n");
pres_update_watchers("$var(uri)", "presence");
pres_refresh_watchers("$var(uri)", "presence", 1);
}
exit;
break;
}
}
# http ops
xhttp_reply("200", "ok", "text/html",
"<html><body>OK: $si:$sp</body></html>");
exit;
}
#!endif
Thanks in advance,