[OpenSIPS-Users] Cann't receive subsequent RLS notifies.

York Wong szwangyubo at gmail.com
Tue Nov 15 14:42:12 CET 2011


Hi all,

First of all I would like to thank the whole opensips team. Opensips is fast
and Exellent.
I'm currently integrating OpenSIPS with OpenXCAP and RLS. And now when
client1 subscribes to its Buddy list which include client2, it can receive
the first notify with rlmi+xml,  then the second notify with rlmi+xml and
pidf+xml. But when the client2 gets offline, or get online again, client1
can't receive the subsequent RLS notifies.

In fact it seems rls_handle_notify works well, but timer_send_notify can't
found rl-subs record in hash table again, then there is no notify
aggregation sent again.

DBG:rls:rls_handle_notify: NOTIFY for [user]= sip:1002 at starfir.gnway.net
DBG:rls:rls_handle_notify: [body]= <?xml version="1.0"?> <presence
xmlns="urn:ietf:params:xml:ns:pidf"
xmlns:dm="urn:ietf:params:xml:ns:pidf:data-model"
xmlns:rpid="urn:ietf:params:xml:ns:pidf:rpid"
xmlns:c="urn:ietf:params:xml:ns:pidf:cipid"
entity="1002 at starfir.gnway.net"><tuple
id="0xbfffeaa8"><status><basic>open</basic></status></tuple><tuple
xmlns="urn:ietf:params:xml:ns:pidf"
id="0xbfffea38"><status><basic>open</basic></status></tuple></presence> 

......

DBG:rls:timer_send_notify: found 2 records with updated state
DBG:rls:timer_send_notify: *record not found in hash_table *[rlsubs_did]=
219675592545 at 192.168.1.101;z9hG4bK12493639;ce02eff88a4114a13897e283e37ca27a-3808
DBG:rls:timer_send_notify: callid= 219675592545 at 192.168.1.101^Ifrom_tag=
z9hG4bK12493639^Ito_tag= ce02eff88a4114a13897e283e37ca27a-3808
DBG:rls:timer_send_notify: *record not found in hash_table* [rlsubs_did]=
794956015684 at 192.168.1.101;z9hG4bK03798521;ce02eff88a4114a13897e283e37ca27a-11ee
DBG:rls:timer_send_notify: callid= 794956015684 at 192.168.1.101^Ifrom_tag=
z9hG4bK03798521^Ito_tag= ce02eff88a4114a13897e283e37ca27a-11ee

and this is my configuration about RLS:

#---- Sequential requests section ----#
        if (has_totag()) {
                # sequential request withing a dialog should
                # take the path determined by record-routing
                .....
                        if (is_method("PUBLISH|SUBSCRIBE|NOTIFY") && $rd ==
"PRESENCE_IP") {
                                # in-dialog subscribe requests
                                route(presence_handling);
                                exit;
                        }
                .....
        }

route[presence_handling]
{
        if (!t_newtran()){
                sl_reply_error();
                exit;
        };

        if(is_method("PUBLISH")) {
                handle_publish();
        }
        else
        if( is_method("SUBSCRIBE")) {
                $var(ret_code)= rls_handle_subscribe();
                if($var(ret_code)== 10)
                                handle_subscribe();
        }
        else
        if(is_method("NOTIFY")){
        $var(ret_code)=rls_handle_notify();
                if($var(ret_code)== 1)
                xlog("L_ERR",
                "the Notify was inside a dialog that was recognized by the
RLS server and was processed successfully.");
        }
        exit;
}

I don't think it's a bug of opensips, maybe just a problem of my
configuration. But I'm struggling with this issue for a few days. If anybody
can give some instructions, I would be really appreciative.
              

--
View this message in context: http://opensips-open-sip-server.1449251.n2.nabble.com/Cann-t-receive-subsequent-RLS-notifies-tp6996314p6996314.html
Sent from the OpenSIPS - Users mailing list archive at Nabble.com.



More information about the Users mailing list