Module: sip-router
Branch: master
Commit: 0c15125767f8a9001e9c892fee18df3dbad56d2f
URL:    
http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=0c15125767f8a9001e9c892fee18df3dbad56d2f

Author: Daniel-Constantin Mierla <[email protected]>
Committer: Daniel-Constantin Mierla <[email protected]>
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}


_______________________________________________
sr-dev mailing list
[email protected]
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev

Reply via email to