<p>Added clusterer module</p>

<hr>

<h4>You can view, comment on, or merge this pull request online at:</h4>
<p>&nbsp;&nbsp;<a href='https://github.com/OpenSIPS/opensips/pull/607'>https://github.com/OpenSIPS/opensips/pull/607</a></p>

<h4>Commit Summary</h4>
<ul>
  <li>Fixed crash when failing to find a send socket</li>
  <li>Set async to be disabled by default</li>
  <li>Removed async forcing code</li>
  <li>bin_interface: changed bin_register_cb function</li>
  <li>clusterer: Added initial infrastructure</li>
  <li>clusterer: improved load_info function</li>
  <li>clusterer: added persistent mode</li>
  <li>clusterer:Added clusterer api</li>
  <li>clusterer: added register and send_to API functions</li>
  <li>dialog:added clusterer api usage for replication</li>
  <li>ratelimit: clusterer api usage for replication</li>
  <li>usrloc: clusterer_api is used for replication</li>
  <li>dialog: improved clusterer api usage for replication</li>
  <li>ratelimit: improved clusterer api usagefor replication</li>
  <li>usrloc: improved clusterer api usage for replication</li>
  <li>ratelimit: added auth_check and timeout parameters</li>
  <li>dialog: added auth_check and timeout parameters</li>
  <li>ratelimit: fixed segmentation fault when server_timeout is received</li>
  <li>clusterer: readme</li>
  <li>clusterer: changed data structure</li>
  <li>dialog: readme - added necessary parameters to use clusterer api</li>
</ul>

<h4>File Changes</h4>
<ul>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/607/files#diff-0">bin_interface.c</a>
    (5)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/607/files#diff-1">bin_interface.h</a>
    (5)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/607/files#diff-2">forward.h</a>
    (9)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/607/files#diff-3">modules/clusterer/Makefile</a>
    (8)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/607/files#diff-4">modules/clusterer/README</a>
    (495)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/607/files#diff-5">modules/clusterer/api.h</a>
    (70)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/607/files#diff-6">modules/clusterer/clusterer.c</a>
    (1651)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/607/files#diff-7">modules/clusterer/clusterer.h</a>
    (105)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/607/files#diff-8">modules/clusterer/doc/clusterer.xml</a>
    (41)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/607/files#diff-9">modules/clusterer/doc/clusterer_admin.xml</a>
    (469)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/607/files#diff-10">modules/clusterer/doc/clusterer_devel.xml</a>
    (255)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/607/files#diff-11">modules/dialog/README</a>
    (148)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/607/files#diff-12">modules/dialog/dialog.c</a>
    (103)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/607/files#diff-13">modules/dialog/dlg_handlers.c</a>
    (8)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/607/files#diff-14">modules/dialog/dlg_hash.c</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/607/files#diff-15">modules/dialog/dlg_profile.c</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/607/files#diff-16">modules/dialog/dlg_repl_profile.h</a>
    (34)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/607/files#diff-17">modules/dialog/dlg_replication.c</a>
    (404)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/607/files#diff-18">modules/dialog/dlg_replication.c.rej</a>
    (340)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/607/files#diff-19">modules/dialog/dlg_replication.h</a>
    (13)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/607/files#diff-20">modules/dialog/dlg_replication.h.rej</a>
    (17)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/607/files#diff-21">modules/dialog/doc/dialog_admin.xml</a>
    (65)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/607/files#diff-22">modules/proto_bin/proto_bin.c</a>
    (6)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/607/files#diff-23">modules/ratelimit/ratelimit.c</a>
    (50)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/607/files#diff-24">modules/ratelimit/ratelimit.h</a>
    (10)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/607/files#diff-25">modules/ratelimit/ratelimit_helper.c</a>
    (391)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/607/files#diff-26">modules/usrloc/dlist.c</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/607/files#diff-27">modules/usrloc/ucontact.c</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/607/files#diff-28">modules/usrloc/udomain.c</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/607/files#diff-29">modules/usrloc/ul_mod.c</a>
    (32)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/607/files#diff-30">modules/usrloc/urecord.c</a>
    (6)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/607/files#diff-31">modules/usrloc/ureplication.c</a>
    (127)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/607/files#diff-32">modules/usrloc/ureplication.h</a>
    (11)
  </li>
</ul>

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

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">&mdash;<br>Reply to this email directly or <a href="https://github.com/OpenSIPS/opensips/pull/607">view it on GitHub</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/AFOciYr8244lvfA4BQe2HuQ3gXUGLJPjks5oqt0RgaJpZM4Fw3jG.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/OpenSIPS/opensips/pull/607"></link>
  <meta itemprop="name" content="View Pull Request"></meta>
</div>
<meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>