[OpenSIPS-Users] Presence: no record in Presentity table

JR . jrnd at live.com
Thu Oct 15 05:28:06 CEST 2009


Hi Anca,

Thanks for your reply.
I found the mistake - I didn't set presence mode to Presence Agent in my xlite.

Thanks


Regards,
JR



> Date: Wed, 14 Oct 2009 14:51:57 -0700
> From: anca at opensips.org
> To: users at lists.opensips.org
> Subject: Re: [OpenSIPS-Users] Presence: no record in Presentity table
> 
> Hi,
> 
> Are you sure the server is receiving any PUBLISH messages? What clients 
> do you use? Do they support presence with a central agent?
> 
> Regards,
> Anca
> 
> JR RND wrote:
> > Hi,
> >
> > I have installed opensips-1.5.3-tls with db_mysql, presence, 
> > presence_xml and presence_mwi modules.
> >
> > I tried to test presence with xlite and I can see that there are 
> > records found in watchers and active_watchers table but not presentity 
> > table.
> >
> > I think there should be something inserted into presentity table. 
> > Isn't it?
> >
> > Any hint or help is appreciated. Thanks
> >
> >
> >
> > Here is my opensips.cfg
> >
> >
> >
> > #
> > # $Id: opensips.cfg 5503 2009-03-22 16:22:32Z bogdan_iancu $
> > #
> > # OpenSIPS basic configuration script
> > #     by Anca Vamanu <anca at voice-system.ro>
> > #
> > # Please refer to the Core CookBook at:
> > #      http://www.opensips.org/index.php?n=Resources.DocsCookbooks
> > # for a explanation of possible statements, functions and parameters.
> > #
> >
> >
> > ####### Global Parameters #########
> >
> >
> > log_facility=LOG_LOCAL0
> >
> >
> > /* uncomment the following lines to enable debugging */
> > debug=3
> > fork=yes
> > log_stderror=yes
> >
> > /* uncomment the next line to disable TCP (default on) */
> > #disable_tcp=yes
> >
> > /* uncomment the next line to enable the auto temporary blacklisting of
> >    not available destinations (default disabled) */
> > #disable_dns_blacklist=no
> >
> > /* uncomment the next line to enable IPv6 lookup after IPv4 dns
> >    lookup failures (default disabled) */
> > #dns_try_ipv6=yes
> >
> > /* uncomment the next line to disable the auto discovery of local aliases
> >    based on revers DNS on IPs (default on) */
> > #auto_aliases=no
> >
> > /* uncomment the following lines to enable TLS support  (default off) */
> > #disable_tls = no
> > #listen = tls:your_IP:5061
> > #tls_verify_server = 1
> > #tls_verify_client = 1
> > #tls_require_client_certificate = 0
> > #tls_method = TLSv1
> > #tls_certificate = "/usr/local/etc/opensips/tls/user/user-cert.pem"
> > #tls_private_key = "/usr/local/etc/opensips/tls/user/user-privkey.pem"
> > #tls_ca_list = "/usr/local/etc/opensips/tls/user/user-calist.pem"
> >
> >
> > port=5060
> >
> > /* uncomment and configure the following line if you want opensips to
> >    bind on a specific interface/port/proto (default bind on all 
> > available) */
> > #listen=udp:192.168.1.2:5060
> >
> >
> > ####### Modules Section ########
> >
> > #set module path
> > mpath="/usr/local/lib/opensips/modules/"
> >
> > /* uncomment next line for MySQL DB support */
> > loadmodule "db_mysql.so"
> > loadmodule "signaling.so"
> > loadmodule "sl.so"
> > loadmodule "tm.so"
> > loadmodule "rr.so"
> > loadmodule "maxfwd.so"
> > loadmodule "usrloc.so"
> > loadmodule "registrar.so"
> > loadmodule "textops.so"
> > loadmodule "mi_fifo.so"
> > loadmodule "uri_db.so"
> > loadmodule "uri.so"
> > loadmodule "xlog.so"
> > loadmodule "acc.so"
> > /* uncomment next lines for MySQL based authentication support
> >    NOTE: a DB (like db_mysql) module must be also loaded */
> > loadmodule "auth.so"
> > loadmodule "auth_db.so"
> > /* uncomment next line for aliases support
> >    NOTE: a DB (like db_mysql) module must be also loaded */
> > loadmodule "alias_db.so"
> > /* uncomment next line for multi-domain support
> >    NOTE: a DB (like db_mysql) module must be also loaded
> >    NOTE: be sure and enable multi-domain support in all used modules
> >          (see "multi-module params" section ) */
> > loadmodule "domain.so"
> > /* uncomment the next two lines for presence server support
> >    NOTE: a DB (like db_mysql) module must be also loaded */
> > loadmodule "presence.so"
> > loadmodule "presence_xml.so"
> > loadmodule "presence_mwi.so"
> >
> >
> > # ----------------- setting module-specific parameters ---------------
> >
> >
> > # ----- mi_fifo params -----
> > modparam("mi_fifo", "fifo_name", "/tmp/opensips_fifo")
> >
> >
> > # ----- rr params -----
> > # add value to ;lr param to cope with most of the UAs
> > modparam("rr", "enable_full_lr", 1)
> > # do not append from tag to the RR (no need for this script)
> > modparam("rr", "append_fromtag", 0)
> >
> >
> > # ----- registrar params -----
> > modparam("registrar", "method_filtering", 1)
> > /* uncomment the next line to disable parallel forking via location */
> > modparam("registrar", "append_branches", 0)
> > /* uncomment the next line not to allow more than 10 contacts per AOR */
> > #modparam("registrar", "max_contacts", 10)
> >
> >
> > # ----- usrloc params -----
> > #modparam("usrloc", "db_mode",   0)
> > /* uncomment the following lines if you want to enable DB persistency
> >    for location entries */
> > modparam("usrloc", "db_mode",   2)
> > modparam("usrloc", 
> > "db_url","mysql://opensips:opensipsrw@localhost/opensips")
> >
> >
> > # ----- uri_db params -----
> > /* by default we disable the DB support in the module as we do not need it
> >    in this configuration */
> > modparam("uri_db", "use_uri_table", 0)
> > modparam("uri_db", "db_url", "")
> >
> >
> > # ----- acc params -----
> > /* what sepcial events should be accounted ? */
> > modparam("acc", "early_media", 1)
> > modparam("acc", "report_ack", 1)
> > modparam("acc", "report_cancels", 1)
> > /* by default ww do not adjust the direct of the sequential requests.
> >    if you enable this parameter, be sure the enable "append_fromtag"
> >    in "rr" module */
> > modparam("acc", "detect_direction", 0)
> > /* account triggers (flags) */
> > modparam("acc", "failed_transaction_flag", 3)
> > modparam("acc", "log_flag", 1)
> > modparam("acc", "log_missed_flag", 2)
> > /* uncomment the following lines to enable DB accounting also */
> > modparam("acc", "db_flag", 1)
> > modparam("acc", "db_missed_flag", 2)
> >
> >
> > # ----- auth_db params -----
> > /* uncomment the following lines if you want to enable the DB based
> >    authentication */
> > modparam("auth_db", "calculate_ha1", yes)
> > modparam("auth_db", "password_column", "password")
> > modparam("auth_db", 
> > "db_url","mysql://opensips:opensipsrw@localhost/opensips")
> > #modparam("auth_db", "load_credentials", "")
> >
> >
> > # ----- alias_db params -----
> > /* uncomment the following lines if you want to enable the DB based
> >    aliases */
> > #modparam("alias_db", "db_url",
> > #    "mysql://opensips:opensipsrw@localhost/opensips")
> >
> >
> > # ----- domain params -----
> > /* uncomment the following lines to enable multi-domain detection
> >    support */
> > #modparam("domain", "db_url",
> > #    "mysql://opensips:opensipsrw@localhost/opensips")
> > #modparam("domain", "db_mode", 1)   # Use caching
> >
> >
> > # ----- multi-module params -----
> > /* uncomment the following line if you want to enable multi-domain support
> >    in the modules (dafault off) */
> > #modparam("alias_db|auth_db|usrloc|uri_db", "use_domain", 1)
> >
> >
> > # ----- presence params -----
> > /* uncomment the following lines if you want to enable presence */
> > modparam("presence|presence_xml", 
> > "db_url","mysql://opensips:opensipsrw@localhost/opensips")
> > modparam("presence_xml", "force_active", 1)
> > modparam("presence", "server_address", "sip:localhost:5060")
> > modparam("presence", "max_expires", 60)
> > modparam("presence", "subs_htable_size", 11)
> > modparam("presence", "pres_htable_size", 11)
> > modparam("presence", "presentity_table", "presentity")
> > #modparam("presence", "fallback2db", 1)
> >
> >
> > ####### Routing Logic ########
> >
> >
> > # main request routing logic
> >
> > route{
> >     log(1,"--------Start-----------\n");
> >    
> >     if (!mf_process_maxfwd_header("10")) {
> >         sl_send_reply("483","Too Many Hops");
> >         exit;
> >     }
> >
> >     if (has_totag()) {
> >         # sequential request withing a dialog should
> >         # take the path determined by record-routing
> >         if (loose_route()) {
> >             if (is_method("BYE")) {
> >                 setflag(1); # do accounting ...
> >                 setflag(3); # ... even if the transaction fails
> >             } else if (is_method("INVITE")) {
> >                 # even if in most of the cases is useless, do RR for
> >                 # re-INVITEs alos, as some buggy clients do change 
> > route set
> >                 # during the dialog.
> >                 record_route();
> >             }
> >             # route it out to whatever destination was set by 
> > loose_route()
> >             # in $du (destination URI).
> >             route(1);
> >         } else {
> >             /* uncomment the following lines if you want to enable 
> > presence */
> >             if (is_method("SUBSCRIBE") && $rd == "192.168.1.241") {
> >                 # in-dialog subscribe requests
> >                 log(1,"SUBSCRIBE\n");
> >                 route(2);
> >                 exit;
> >             }
> >             if ( is_method("ACK") ) {
> >                 if ( t_check_trans() ) {
> >                     # non loose-route, but stateful ACK; must be an 
> > ACK after
> >                     # a 487 or e.g. 404 from upstream server
> >                     t_relay();
> >                     exit;
> >                 } else {
> >                     # ACK without matching transaction ->
> >                     # ignore and discard
> >                     exit;
> >                 }
> >             }
> >             sl_send_reply("404","Not here");
> >         }
> >         exit;
> >     }
> >
> >     #initial requests
> >
> >     # CANCEL processing
> >     if (is_method("CANCEL"))
> >     {
> >         if (t_check_trans())
> >             t_relay();
> >         exit;
> >     }
> >
> >     t_check_trans();
> >
> >     # authenticate if from local subscriber (uncomment to enable auth)
> >     # authenticate all initial non-REGISTER request that pretend to be
> >     # generated by local subscriber (domain from FROM URI is local)
> >     ##if (!(method=="REGISTER") && from_uri==myself) /*no multidomain 
> > version*/
> >     if (!(method=="REGISTER") && is_from_local())  /*multidomain version*/
> >     {
> >         #xlog("from_uri");
> >         if (!proxy_authorize("", "subscriber")) {
> >             proxy_challenge("", "0");
> >             exit;
> >         }
> >         if (!check_from()) {
> >             sl_send_reply("403","Forbidden auth ID");
> >             exit;
> >         }
> >    
> >         consume_credentials();
> >         # caller authenticated
> >     }
> >
> >     # preloaded route checking
> >     if (loose_route()) {
> >         xlog("L_ERR","Attempt to route with preloaded Route's 
> > [$fu/$tu/$ru/$ci]");
> >         if (!is_method("ACK"))
> >             sl_send_reply("403","Preload Route denied");
> >         exit;
> >     }
> >
> >     # record routing
> >     if (!is_method("REGISTER|MESSAGE"))
> >         record_route();
> >
> >     # account only INVITEs
> >     if (is_method("INVITE")) {
> >         setflag(1); # do accounting
> >     }
> >     if (!uri==myself)
> >     ## replace with following line if multi-domain support is used
> >     ##if (!is_uri_host_local())
> >     {
> >         append_hf("P-hint: outbound\r\n");
> >         # if you have some interdomain connections via TLS
> >         ##if($rd=="tls_domain1.net") {
> >         ##    t_relay("tls:domain1.net");
> >         ##    exit;
> >         ##} else if($rd=="tls_domain2.net") {
> >         ##    t_relay("tls:domain2.net");
> >         ##    exit;
> >         ##}
> >         route(1);
> >     }
> >
> >     # requests for my domain
> >
> >     ## uncomment this if you want to enable presence server
> >     ##   and comment the next 'if' block
> >     ##   NOTE: uncomment also the definition of route[2] from  below
> >     if( is_method("PUBLISH|SUBSCRIBE")){
> >             log(1,"\nPUBLISH|SUBSCRIBE\n");
> >             route(2);
> >     }
> >
> >     #if (is_method("PUBLISH"))
> >     #{
> >     #    sl_send_reply("503", "Service Unavailable");
> >     #    exit;
> >     #}
> >    
> >
> >
> >     if (is_method("REGISTER"))
> >     {
> >         # authenticate the REGISTER requests (uncomment to enable auth)
> >         if (!www_authorize("", "subscriber"))
> >         {
> >             log(1,"not in subscriber table\n");
> >             www_challenge("", "0");
> >             exit;
> >         }
> >        
> >         if (!check_to())
> >         {
> >             log(1,"403 Forbidden auth ID\n");
> >             sl_send_reply("403","Forbidden auth ID");
> >             exit;
> >         }
> >
> >         if (!save("location"))
> >             sl_reply_error();
> >
> >         exit;
> >     }
> >
> >     if ($rU==NULL) {
> >         # request with no Username in RURI
> >         sl_send_reply("484","Address Incomplete");
> >         exit;
> >     }
> >
> >     # apply DB based aliases (uncomment to enable)
> >     ##alias_db_lookup("dbaliases");
> >
> >     if (!lookup("location")) {
> >         switch ($retcode) {
> >             case -1:
> >             case -3:
> >                 t_newtran();
> >                 t_reply("404", "Not Found");
> >                 exit;
> >             case -2:
> >                 sl_send_reply("405", "Method Not Allowed");
> >                 exit;
> >         }
> >     }
> >
> >     # when routing via usrloc, log the missed calls also
> >     setflag(2);
> >
> >     route(1);
> > }
> >
> >
> > route[1] {
> >     # for INVITEs enable some additional helper routes
> >     if (is_method("INVITE")) {
> >         t_on_branch("2");
> >         t_on_reply("2");
> >         t_on_failure("1");
> >     }
> >
> >     if (!t_relay()) {
> >         sl_reply_error();
> >     };
> >     exit;
> > }
> >
> >
> > # Presence route
> > /* uncomment the whole following route for enabling presence
> >    NOTE: do not forget to enable the call of this route from the main
> >      route */
> > route[2]
> > {
> >     if (!t_newtran())
> >     {
> >         sl_reply_error();
> >         exit;
> >     };
> >
> >
> >     if(is_method("PUBLISH"))
> >     {
> >         log(1,"\n------route2 PUBLISH-----\n");
> >         handle_publish();
> >         #t_release(); ## obsoleted in 1.5 - no need for it. So, just 
> > remove it.
> >     }
> >     else
> >     if( is_method("SUBSCRIBE"))
> >     {
> >         log(1,"\n------route2 SUBSCRIBE----\n");
> >         handle_subscribe();
> >         #t_release(); ## obsoleted in 1.5 - no need for it. So, just 
> > remove it.
> >
> >     }
> >
> >     exit;
> > }
> >
> >
> > branch_route[2] {
> >     xlog("new branch at $ru\n");
> > }
> >
> >
> > onreply_route[2] {
> >     xlog("incoming reply\n");
> > }
> >
> >
> > failure_route[1] {
> >     if (t_was_cancelled()) {
> >         exit;
> >     }
> >
> >     # uncomment the following lines if you want to block client
> >     # redirect based on 3xx replies.
> >     ##if (t_check_status("3[0-9][0-9]")) {
> >     ##t_reply("404","Not found");
> >     ##    exit;
> >     ##}
> >
> >     # uncomment the following lines if you want to redirect the failed
> >     # calls to a different new destination
> >     ##if (t_check_status("486|408")) {
> >     ##    sethostport("192.168.2.100:5060");
> >     ##    # do not set the missed call flag again
> >     ##    t_relay();
> >     ##}
> > }
> >
> > ------------------------------------------------------------------------
> > Windows Live: Keep your friends up to date with what you do online. 
> > <http://www.microsoft.com/windows/windowslive/see-it-in-action/social-network-basics.aspx?ocid=PID23461::T:WLMTAGL:ON:WL:ms-my:SI_SB_1:092010> 
> >
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > Users mailing list
> > Users at lists.opensips.org
> > http://lists.opensips.org/cgi-bin/mailman/listinfo/users
> >   
> 
> 
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
 		 	   		  
_________________________________________________________________
Join the Fantasy Football club and win cash prizes here!
http://fantasyfootball.malaysia.msn.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.opensips.org/pipermail/users/attachments/20091015/92a0c6ee/attachment-0001.htm 


More information about the Users mailing list