Parcourir la source

xcap_server: added example of handling xcap-caps request

Daniel-Constantin Mierla il y a 15 ans
Parent
commit
f6c6d6e94e
2 fichiers modifiés avec 58 ajouts et 0 suppressions
  1. 29 0
      modules_k/xcap_server/README
  2. 29 0
      modules_k/xcap_server/doc/xcap_server_admin.xml

+ 29 - 0
modules_k/xcap_server/README

@@ -309,6 +309,35 @@ event_route[xhttp:request] {
             $var(uri) = $xcapuri(u=>xuid);
         else
             $var(uri) = "sip:"+ $xcapuri(u=>xuid) + "@" + $Ri;
+
+        # handle XCAP capability request
+        if($rm=="GET" && $xcapuri(u=>auid)=="xcap-caps")
+        {
+            $var(xbody) =
+"<?xml version='1.0' encoding='UTF-8'?>
+<xcap-caps xmlns='urn:ietf:params:xml:ns:xcap-caps'>
+  <auids>
+    <auid>rls-services</auid>
+    <auid>pidf-manipulation</auid>
+    <auid>xcap-caps</auid>
+    <auid>resource-lists</auid>
+    <auid>pres-rules</auid>
+  </auids>
+  <extensions>
+  </extensions>
+  <namespaces>
+    <namespace>urn:ietf:params:xml:ns:rls-services</namespace>
+    <namespace>urn:ietf:params:xml:ns:pidf</namespace>
+    <namespace>urn:ietf:params:xml:ns:xcap-caps</namespace>
+    <namespace>urn:ietf:params:xml:ns:resource-lists</namespace>
+    <namespace>urn:ietf:params:xml:ns:pres-rules</namespace>
+  </namespaces>
+</xcap-caps>";
+            xhttp_reply("200", "ok", "application/xcap-caps+xml",
+                    "$var(xbody)");
+            exit;
+        }
+
         xdbg("SCRIPT: xcap service $xcapuri(u=>auid) for $xcapuri(u=>xuid)\n");
         switch($rm) {
             case "PUT":

+ 29 - 0
modules_k/xcap_server/doc/xcap_server_admin.xml

@@ -361,6 +361,35 @@ event_route[xhttp:request] {
             $var(uri) = $xcapuri(u=>xuid);
         else
             $var(uri) = "sip:"+ $xcapuri(u=>xuid) + "@" + $Ri;
+
+        # handle XCAP capability request
+        if($rm=="GET" &amp;&amp; $xcapuri(u=>auid)=="xcap-caps")
+        {
+            $var(xbody) =
+"&lt;?xml version='1.0' encoding='UTF-8'?&gt;
+&lt;xcap-caps xmlns='urn:ietf:params:xml:ns:xcap-caps'&gt;
+  &lt;auids&gt;
+    &lt;auid>rls-services&lt;/auid&gt;
+    &lt;auid>pidf-manipulation&lt;/auid&gt;
+    &lt;auid>xcap-caps&lt;/auid&gt;
+    &lt;auid>resource-lists&lt;/auid&gt;
+    &lt;auid>pres-rules&lt;/auid&gt;
+  &lt;/auids&gt;
+  &lt;extensions&gt;
+  &lt;/extensions&gt;
+  &lt;namespaces&gt;
+    &lt;namespace>urn:ietf:params:xml:ns:rls-services&lt;/namespace&gt;
+    &lt;namespace>urn:ietf:params:xml:ns:pidf&lt;/namespace&gt;
+    &lt;namespace>urn:ietf:params:xml:ns:xcap-caps&lt;/namespace&gt;
+    &lt;namespace>urn:ietf:params:xml:ns:resource-lists&lt;/namespace&gt;
+    &lt;namespace>urn:ietf:params:xml:ns:pres-rules&lt;/namespace&gt;
+  &lt;/namespaces&gt;
+&lt;/xcap-caps&gt;";
+            xhttp_reply("200", "ok", "application/xcap-caps+xml",
+                    "$var(xbody)");
+            exit;
+        }
+
         xdbg("SCRIPT: xcap service $xcapuri(u=>auid) for $xcapuri(u=>xuid)\n");
         switch($rm) {
             case "PUT":