Module: sip-router Branch: master Commit: 0c15125767f8a9001e9c892fee18df3dbad56d2f URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=0c151257...
Author: Daniel-Constantin Mierla miconda@gmail.com Committer: Daniel-Constantin Mierla miconda@gmail.com Date: Tue Sep 3 23:15:55 2013 +0200
presence_xml: basic framework for handling xcap-diff event
= can be diabled via modparam disable_xcapdiff
---
modules/presence_xml/add_events.c | 20 ++++++++++++++++++++ modules/presence_xml/presence_xml.c | 2 ++ 2 files changed, 22 insertions(+), 0 deletions(-)
diff --git a/modules/presence_xml/add_events.c b/modules/presence_xml/add_events.c index f2c8547..dc3ab61 100644 --- a/modules/presence_xml/add_events.c +++ b/modules/presence_xml/add_events.c @@ -44,6 +44,7 @@ extern int disable_presence; extern int disable_winfo; extern int disable_bla; +extern int disable_xcapdiff;
static str pu_415_rpl = str_init("Unsupported media type");
@@ -119,6 +120,25 @@ int xml_add_events(void) LM_DBG("added 'dialog;sla' event to presence module\n"); } + if (!disable_xcapdiff) { + /* constructing xcap-diff event */ + memset(&event, 0, sizeof(pres_ev_t)); + event.name.s= "xcap-diff"; + event.name.len= 9; + + event.content_type.s= "application/xcap-diff+xml"; + event.content_type.len= 25; + + event.type= PUBL_TYPE; + event.default_expires= 3600; + if(pres_add_event(&event)< 0) + { + LM_ERR("while adding event xcap-diff\n"); + return -1; + } + LM_DBG("added 'xcap-diff' event to presence module\n"); + } + return 0; } /* diff --git a/modules/presence_xml/presence_xml.c b/modules/presence_xml/presence_xml.c index 45fcbd5..3ffff5c 100644 --- a/modules/presence_xml/presence_xml.c +++ b/modules/presence_xml/presence_xml.c @@ -94,6 +94,7 @@ int disable_presence = 0; int disable_winfo = 0; int disable_bla = 1; int passive_mode = 0; +int disable_xcapdiff = 0; str xcapauth_userdel_reason = str_init("probation");
/** SL API structure */ @@ -126,6 +127,7 @@ static param_export_t params[]={ { "disable_presence", INT_PARAM, &disable_presence }, { "disable_winfo", INT_PARAM, &disable_winfo }, { "disable_bla", INT_PARAM, &disable_bla }, + { "disable_xcapdiff", INT_PARAM, &disable_xcapdiff }, { "passive_mode", INT_PARAM, &passive_mode }, { "xcapauth_userdel_reason", STR_PARAM, &xcapauth_userdel_reason.s}, { 0, 0, 0}