[OpenSIPS-Devel] Proposal for adding OMA extensions support for pres-rules

Saúl Ibarra Corretgé saul at ag-projects.com
Wed Aug 11 14:23:07 CEST 2010


Hi Anca and all,

I'd like to propose some enhancements to the presence_xml module so that 
it handles OMA extensions to pres-rules.

We are in the process of adding support for this in the whole chain: 
being SIPSIMPLE SDK the client, OpenXCAP the XCAP server and OpenSIPS 
the presence server. OpenXCAP (next release) will implements behavior 
according to OMA for pres-rules and resource-lists and next step support 
for this would also be needed in OpenSIPS.

As OpenSIPS needs to support both IETF and OMA implementations my 
suggestions is that we distinguish between the two by detecting the OMA 
namespace in the document.

In a nutshell this is what OMA adds to pres-rules conditions [1]:

   - external-list: It will point to a list in resource-lists
   - anonymous-request: It will match a request if it is anonymous
   - other-request: Used to specify a default policy, it will match if 
any other rule doesn't.

The permissions combinations is also slightly changed. More details can 
be found at [1].

I've been looking over the code in OpenSIPS modules and this is what I'd 
like to do to add this support:

   - (presence_xml) Modify xcap_auth.c so that it implements new 
conditions from OMA. This will also need to resolve the links 
(references) between the pres-rules document and resource-lists.

   - (presence_xml) When running in integrated mode OpenSIPS doesn't 
know the xcap-root, so it's not able to determine if a reference is 
external or not. Thus, I propose xcap_server parameter to be used also 
in combination with integrated mode, this way OpenSIPS can know if a 
reference to a resource-list is internal or external. OpenSIPS will 
ignore external references in integrated mode.

   - (presence_xcapdiff) With the OMA specs the pres-rules document will 
not change very often, resource-lists will, so in order to refresh the 
watchers the following will be done: OpenXCAP will send a PUBLISH with 
xcapdiff payload on behalf of the user that modified the document and 
presence_xcapdiff will be modified so that it refreshes the watchers if 
applicable.

I might have forgotten or overlooked something, so any input on this 
will be kindly appreciated.


Best regards,


[1]: OMA-TS-XDM_Core-V1_1. Sections 6.6.2.X

-- 
Saúl Ibarra Corretgé
AG Projects



More information about the Devel mailing list