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

Klaus Darilion klaus.mailinglists at pernau.at
Mon May 23 09:47:23 CEST 2011



Am 20.05.2011 17:00, schrieb laura testi:
> Hello,
> 
>  
> 
> I’m wring you again about the Presence = xcap Problem on Kamailio
> related with the deleting of a contact.
> 
> Here a detailed description we have observed:
> User Case:
> ------------------
>   - user A is a contact of B and viceversa.
>   - then user A removes B from PC client
> 
> 
> 1) A sends SUBSCRIBE B to Kamail Presence Server (PS) with even type:
> presence and Expire:0 without body
>     a) PS removes A as wacther of B from the active_watchers table
>     b) PS sends NOTIFY to B (from B to B) with event type:
> presence.winfo and Subscription State:active,expire=570
>     c) PS sends NOTIFY to A (from B to A) with event type: Presence and
> Subscription State: terminated,reason=timeout
> 
> 2) A sends XCAP PUT to PS with updated pres-rules without B in
> presence_allow rule
>     a) PS update xcap table the pres-rules record of A (without B)
>   
> 
> 3) A sends XCAP PUT to PS with updated resource-lists without B
>     a) PS update xcap table the resource-lists record of A(without B)
>  
> 4)  the script kamailio.cfg calls pres_update_watchers
>     a) PS updates watcher table by setting the status = 2(pending) for
> the record of B is watcher of A (presentity), while the status remains  
> active (1) for the record of A is watcher of B
>     b) PS sends NOTIFY to B(from A to B) with event type: presence and
> subscription state: pending
> 
> 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
> 
> 
> Test environments:
> --------------------------
> - server: kamailio 3.1.3 with presence, xcap and mysql in Redhat5.6_x64
> - transport: tcp
> - db: mysql
> - client: jitsi (ex SIP communicator)
> - kamailio.cfg: please see the attached file kamailio.zip
> 
> Questions:
> -----------------
> 1) is it correct the first SUBSCRIBE from the PC client of A?

Strictly said: subscribing someones presence and allowing someone to
subscribe its own presence are 2 different things. But, usually they
come together.

Thus, by removing someone from the buddy list Jitsi does:
- unsubscribe the presentity
- remove the presentity from the allowed watchers

IMO this is fine.

> 2) are the over all call flows correct (see the attached wireshark trace)
> 3) are the steps 2 and 3 correct?

IMO yes.

> 4) the steps 4 and 5 are very strange, is it the bug of xcap module
> or/and presence module?

I think 4 is OK. But step 5 seems buggy as.

What do you think would be the correct behavior?

regards
klaus




More information about the sr-dev mailing list