<p>A couple of new features have been added to the master branch:</p>

<ul>
<li>a new event_flatstore module, that writes events directly in flat files</li>
<li>in dispatcher module, each destination has a counter which specifies how many times it has been hit (Feature request <a href="https://github.com/OpenSIPS/opensips/issues/487" class="issue-link" title="add counters to dispatcher destinations">#487</a>)</li>
<li>in dialplan module, the url's password is no longer shown by mi_show_partition function (Feature request  <a href="https://github.com/OpenSIPS/opensips/issues/512" class="issue-link" title="dialplan: mask username:password for db_url in dp_show_partition">#512</a>)</li>
<li>a global parameter has been added to change default script logging level</li>
<li>tune max_db_queries and max_db_retries parameters for db_mysql and db_postgres</li>
</ul>

<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/569'>https://github.com/OpenSIPS/opensips/pull/569</a></p>

<h4>Commit Summary</h4>
<ul>
  <li>event_flatstore: infrastructure</li>
  <li>event_flatstore: defined used structures and mod_init</li>
  <li>event_flatstore: added flat_free and verify_delete functions</li>
  <li>Added print, match, rotate and partial raise functions</li>
  <li>Added print, match, rotate and partial raise functions</li>
  <li>event_flatstore: fixed errors</li>
  <li>event_flatstore: added parse function</li>
  <li>event_flatstore: solved conflicts</li>
  <li>event_flatstore: merged all functions</li>
  <li>event_flatstore: added destroy and param function</li>
  <li>event_flatstore: fixed mod_init</li>
  <li>event_flatstore:modified raise and parse functions</li>
  <li>event_flatstore: check if path is valid (parse)</li>
  <li>event_flatstore: added debug prints for flat_raise</li>
  <li>event_flatstore: added debuging prints</li>
  <li>Merge branch &#39;master&#39; of https://github.com/vladpaiu/opensips</li>
  <li>event_flatstore: added debug info for rotating and delete functions</li>
  <li>Merge branch &#39;master&#39; of https://github.com/vladpaiu/opensips</li>
  <li>event_flatstore: added debugging messages</li>
  <li>event_flatstore: added file permission parameter, fixed delimiter parameter</li>
  <li>event_flatstore: fixed rotation funcion</li>
  <li>Merge branch &#39;master&#39; of https://github.com/vladpaiu/opensips</li>
  <li>event_flatstore:fixed raise event</li>
  <li>event_flatstore: fixed delete and parse for expire</li>
  <li>event_flatstore: small fix iov buffer incrementing</li>
  <li>event_flatstore: fixed coding style</li>
  <li>event_flatstore: added documentation</li>
  <li>dialplan.c: Fixed mi_show_partition to not show the password</li>
  <li>dialplan.c: Fixed memory leak</li>
  <li>digiplan.c: Fixed memory leak</li>
  <li>added global parameter for config file: default logging level for xlog</li>
  <li>dispatcher: first_hit_counter</li>
  <li>db_mysql: Added module parameters max_db_queries and max_db_retries</li>
  <li>db_postgres: Added module parameter max_db_queries</li>
</ul>

<h4>File Changes</h4>
<ul>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/569/files#diff-0">cfg.lex</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/569/files#diff-1">cfg.y</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/569/files#diff-2">modules/db_mysql/README</a>
    (28)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/569/files#diff-3">modules/db_mysql/db_mysql.c</a>
    (15)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/569/files#diff-4">modules/db_mysql/db_mysql.h</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/569/files#diff-5">modules/db_mysql/dbase.c</a>
    (16)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/569/files#diff-6">modules/db_mysql/doc/db_mysql_admin.xml</a>
    (40)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/569/files#diff-7">modules/db_postgres/README</a>
    (14)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/569/files#diff-8">modules/db_postgres/db_postgres.c</a>
    (8)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/569/files#diff-9">modules/db_postgres/dbase.c</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/569/files#diff-10">modules/db_postgres/doc/db_postgres_admin.xml</a>
    (21)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/569/files#diff-11">modules/dialplan/dialplan.c</a>
    (87)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/569/files#diff-12">modules/dispatcher/dispatch.c</a>
    (18)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/569/files#diff-13">modules/dispatcher/dispatch.h</a>
    (1)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/569/files#diff-14">modules/dispatcher/dispatcher.c</a>
    (1)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/569/files#diff-15">modules/event_flatstore/Makefile</a>
    (8)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/569/files#diff-16">modules/event_flatstore/README</a>
    (140)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/569/files#diff-17">modules/event_flatstore/doc/event_flatstore.xml</a>
    (61)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/569/files#diff-18">modules/event_flatstore/doc/event_flatstore_admin.xml</a>
    (160)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/569/files#diff-19">modules/event_flatstore/event_flatstore.c</a>
    (661)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/569/files#diff-20">modules/event_flatstore/event_flatstore.h</a>
    (26)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/569/files#diff-21">xlog.c</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/OpenSIPS/opensips/pull/569/files#diff-22">xlog.h</a>
    (1)
  </li>
</ul>

<h4>Patch Links:</h4>
<ul>
  <li><a href='https://github.com/OpenSIPS/opensips/pull/569.patch'>https://github.com/OpenSIPS/opensips/pull/569.patch</a></li>
  <li><a href='https://github.com/OpenSIPS/opensips/pull/569.diff'>https://github.com/OpenSIPS/opensips/pull/569.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/569">view it on GitHub</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/AFOciej1Yd3NfySHWZQt-FfJlWfbHQ_Qks5oa-3VgaJpZM4FTrco.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/569"></link>
    <meta itemprop="name" content="View Pull Request"></meta>
  </div>
  <meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>