[sr-dev] [tracker] Comment added: kamailio 3.1.3 Presence + XCAP problem, is it a bug?

sip-router admin at sip-router.org
Wed Jun 15 17:02:31 CEST 2011


The following task has a new comment added:

FS#133 - kamailio 3.1.3 Presence + XCAP problem, is it a bug?
User who did this - laura testi (lau.testi)

I would update the ticket with the last result of the discussion on sr-dev.  
The step 5):

5) the script kamailio.cfg calls pres_refresh_watchers
a) PS sends NOTIFY to B(from A to B) with event type: presence and content type:application:pdif+xml (open, online, pdif entity:A,...)
b) the PC client of B shows a popup by saying 5has authorized the B adds A as contact request

seems to be a bug.

But I think the step 4a) may be a bug:

the subscription STATUS of  B (watcher of A) to A should remain ACTIVE (1)
instead of PENDING(2). this state is very strange and that causes the
strange step 4b) after A having removed B. Because B does still subscribe
A's presentity! And probably do this causes the incorrect behavior of step

Should the presence server also remove the record of the subscription from
A(watcher) to B(presentity)  from both active_watchers and watchers tables
instead of only from active_wtachers table? Because if A remove B
(unsubscribe B), that mean A don't want to see the presentity of B. Or maybe
it's correct put A's subscription status of B in TERMINATED(3) instead of
removing the record (actually remains in ACTIVE(1)).

About step in 5):
When the presence server is doing pres_refresh_watchers in step 5), I think
it checks the xcap table and see A is watcher of B  (A is in B's
presence_allow rule) and is in B's resource-list, and B is also
active_watcher of A in the active_watchers table, A's subscription status of
B is ACTIVE(1) in watchers table, B's subscription status of A is in
Pending(2), it send a NOTIFY to B. That's really strange! Probably the step
4) also causes this strange behavior.

I think that the right behaviour is:

In step 1, in addition to remove the record of A's subscription of B
from active_watchers table, the PS should also remove the record of A's
subscription of B from the watchers table or put the STATUS=TERMINATED.
That's because A is not interested the B's presentity anymore.

In step 4, the PS should not change watchers table, because B's subscription
of A is still active (should not becomes pending), and should not send the
Pending notify too.
Same for step 5. 

Could you please help us?
Thanks in advance

More information can be found at the following URL:

You are receiving this message because you have requested it from the Flyspray bugtracking system.  If you did not expect this message or don't want to receive mails in future, you can change your notification settings at the URL shown above.

More information about the sr-dev mailing list