<p>this module adds a new function <code>json_pua_publish()</code> which allows json data objects to be parsed and inserted into the presentity table.<br>
the function is borrowed from the nsq and kazoo modules. it allows presence to be controlled without loading the nsq or kazoo modules.<br>
this can be quite powerful as it will allow users to control presence by sending http json data objects to kamailio, for example:</p>
<pre><code>event_route[xhttp:request] {
    $var(call-id) = $(rb{json.parse,Call-ID});
    if ($(rb{json.parse,Event-Package}) == "dialog") {
            json_pua_publish($rb);
            pres_refresh_watchers("$(rb{json.parse,From})", "$(rb{json.parse,Event-Package})", 1);
    }
    xhttp_reply("200", "OK", "text/html", "$rb");
}
</code></pre>
<p>example curl request to send presence update:</p>
<pre><code>curl -d '{"Call-ID":"user01@my.domain.io","Event-Category":"presence","Event-Name":"update","Event-Package":"dialog","Expires":"3600","From":"sip:user01@my.domain.io","From-User":"user01","From-Realm":"my.domain.io","To":"sip:park+6003@my.domain.io","To-User":"park+6003","To-Realm":"my.domain.io","State":"confirmed"}' http://localhost:8080/presence/
</code></pre>

<hr>

<h4>You can view, comment on, or merge this pull request online at:</h4>
<p>  <a href='https://github.com/kamailio/kamailio/pull/1408'>https://github.com/kamailio/kamailio/pull/1408</a></p>

<h4>Commit Summary</h4>
<ul>
  <li>json_pua: new module</li>
</ul>

<h4>File Changes</h4>
<ul>
  <li>
    <strong>M</strong>
    <a href="https://github.com/kamailio/kamailio/pull/1408/files#diff-0">src/modules/json/json_funcs.c</a>
    (33)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/kamailio/kamailio/pull/1408/files#diff-1">src/modules/json/json_funcs.h</a>
    (35)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/kamailio/kamailio/pull/1408/files#diff-2">src/modules/json_pua/Makefile</a>
    (20)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/kamailio/kamailio/pull/1408/files#diff-3">src/modules/json_pua/README</a>
    (0)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/kamailio/kamailio/pull/1408/files#diff-4">src/modules/json_pua/defs.h</a>
    (130)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/kamailio/kamailio/pull/1408/files#diff-5">src/modules/json_pua/doc/Makefile</a>
    (4)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/kamailio/kamailio/pull/1408/files#diff-6">src/modules/json_pua/doc/json_pua.xml</a>
    (37)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/kamailio/kamailio/pull/1408/files#diff-7">src/modules/json_pua/doc/json_pua_admin.xml</a>
    (170)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/kamailio/kamailio/pull/1408/files#diff-8">src/modules/json_pua/json_pua_mod.c</a>
    (125)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/kamailio/kamailio/pull/1408/files#diff-9">src/modules/json_pua/json_pua_mod.h</a>
    (50)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/kamailio/kamailio/pull/1408/files#diff-10">src/modules/json_pua/json_pua_publish.c</a>
    (538)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/kamailio/kamailio/pull/1408/files#diff-11">src/modules/json_pua/json_pua_publish.h</a>
    (32)
  </li>
</ul>

<h4>Patch Links:</h4>
<ul>
  <li><a href='https://github.com/kamailio/kamailio/pull/1408.patch'>https://github.com/kamailio/kamailio/pull/1408.patch</a></li>
  <li><a href='https://github.com/kamailio/kamailio/pull/1408.diff'>https://github.com/kamailio/kamailio/pull/1408.diff</a></li>
</ul>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/kamailio/kamailio/pull/1408">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AF36ZQkpI-PcUbkb6UZrVyI-Quslbn1Xks5tNybrgaJpZM4RrNKQ">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/AF36ZQbCeYwN48-3Ab30LPAynoNHm78Uks5tNybrgaJpZM4RrNKQ.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/kamailio/kamailio/pull/1408"></link>
  <meta itemprop="name" content="View Pull Request"></meta>
</div>
<meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>

<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/kamailio/kamailio","title":"kamailio/kamailio","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/kamailio/kamailio"}},"updates":{"snippets":[{"icon":"DESCRIPTION","message":"json_pua: new module (#1408)"}],"action":{"name":"View Pull Request","url":"https://github.com/kamailio/kamailio/pull/1408"}}}</script>