<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;
      charset=windows-1252">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>Hello,<br>
    </p>
    <br>
    <div class="moz-cite-prefix">On 21.11.17 10:20, Samuel F. wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:MWHPR17MB09918D007C2791668F822C0EC3230@MWHPR17MB0991.namprd17.prod.outlook.com">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
      <div id="divtagdefaultwrapper"
style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;"
        dir="ltr">
        <p>Hi Daniel,</p>
        <p><br>
        </p>
        <p>First, I'd just like to say thanks and let you know we are
          very grateful for the KEMI framework. We have developed three
          small applications running on python KEMI in production
          serving calls every day successfully without any issues at
          all. The development process was very smooth and quick.</p>
      </div>
    </blockquote>
    <br>
    thanks for the feedback, really appreciated! It is good to know that
    KEMI is being used in production and also it shows its potential for
    various needs.<br>
    <br>
    <blockquote type="cite"
cite="mid:MWHPR17MB09918D007C2791668F822C0EC3230@MWHPR17MB0991.namprd17.prod.outlook.com">
      <div id="divtagdefaultwrapper"
style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;"
        dir="ltr">
        <p><br>
        </p>
        <p>I reviewed the documentation and think it's great that the
          KEMI framework gets an extensive documentation.</p>
        <p><br>
        </p>
        <p>One thought I had regarding documenting the exported
          functions is that I think it's good if they are exported to
          the docs automatically from the source code. My opinion is
          that it is better to have documentation that reflects the
          current state of the source code rather than having
          stale/out-of-date documentation.</p>
        <p><br>
        </p>
        <p>Perhaps having a parser that locates all the exported
          functions, lists them in appropriate modules with the return
          value and then a link to the actual modules documentation?</p>
      </div>
    </blockquote>
    <br>
    There is an RPC command that lists the exported KEMI functions for a
    running Kamailio. It reflects exactly what functions are available
    from the kemi framework internal structure. This is like an auto
    discovery, it is done automatically.<br>
    <br>
    Addition docs can be added in the code using doxygen, however, while
    that is good for short descriptions, I don't find it good to add
    extensive docs and especially usage examples in the code. Also, from
    past experiences, non-developer users tend not to look at the code,
    therefore the improvements to docs in code from general users are
    very low.<br>
    <br>
    Anyhow, this tutorial was started with the initial goal of covering
    the KEMI framework in general, and the special functions. For the
    functions exported by modules I added only the acc as an example
    (which is also a skeleton at this moment).<br>
    <br>
    As I said, I am open for suggestions on how to do the docs for kemi
    functions from modules. Your proposal with using somehow the code is
    not like being dismissed, I just expressed my opinions based.
    Contributions to parse the code and extract prototypes are of course
    welcome.<br>
    <br>
    Cheers,<br>
    Daniel<br>
    <br>
    <br>
    <blockquote type="cite"
cite="mid:MWHPR17MB09918D007C2791668F822C0EC3230@MWHPR17MB0991.namprd17.prod.outlook.com">
      <div id="divtagdefaultwrapper"
style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;"
        dir="ltr">
        <p><br>
        </p>
        <p>// Samuel</p>
      </div>
      <hr style="display:inline-block;width:98%" tabindex="-1">
      <div id="divRplyFwdMsg" dir="ltr"><font style="font-size:11pt"
          face="Calibri, sans-serif" color="#000000"><b>From:</b>
          sr-users <a class="moz-txt-link-rfc2396E" href="mailto:sr-users-bounces@lists.kamailio.org"><sr-users-bounces@lists.kamailio.org></a> on behalf
          of Daniel-Constantin Mierla <a class="moz-txt-link-rfc2396E" href="mailto:miconda@gmail.com"><miconda@gmail.com></a><br>
          <b>Sent:</b> Monday, November 20, 2017 4:11:54 PM<br>
          <b>To:</b> Kamailio (SER) - Users Mailing List; Kamailio (SER)
          - Devel Mailing List<br>
          <b>Subject:</b> [SR-Users] Kamailio KEMI Framework Tutorial</font>
        <div> </div>
      </div>
      <div class="BodyFragment"><font size="2"><span
            style="font-size:10pt;">
            <div class="PlainText">Hello,<br>
              <br>
              I started a tutorial for Kamailio KEMI Framework written
              in markdown<br>
              format targeting use of mkdocs. It is published on github
              as part of<br>
              kamailio-docs repository:<br>
              <br>
                *<br>
              <a
href="https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fkamailio%2Fkamailio-docs%2Ftree%2Fmaster%2Fkamailio-kemi-framework&data=02%7C01%7Csamuel_is_kewl%40hotmail.com%7C226fe2242ed4436c13fa08d53029444d%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636467876150276887&sdata=MuTy1ZgjcDEbQdHTGA2LpO1sKUDAxxo%2BupwGr%2BBspCE%3D&reserved=0"
                moz-do-not-send="true">https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fkamailio%2Fkamailio-docs%2Ftree%2Fmaster%2Fkamailio-kemi-framework&data=02%7C01%7Csamuel_is_kewl%40hotmail.com%7C226fe2242ed4436c13fa08d53029444d%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636467876150276887&sdata=MuTy1ZgjcDEbQdHTGA2LpO1sKUDAxxo%2BupwGr%2BBspCE%3D&reserved=0</a><br>
              <br>
              The mkdocs build (to browse and read) is online at:<br>
              <br>
                * <a
href="https://nam02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fkamailio.org%2Fdocs%2Ftutorials%2Fdevel%2Fkamailio-kemi-framework%2F&data=02%7C01%7Csamuel_is_kewl%40hotmail.com%7C226fe2242ed4436c13fa08d53029444d%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636467876150276887&sdata=FHJ1zANtLQI6o2%2F1wFPFYfu1B94JlQ%2FHTLDbaVp7dUg%3D&reserved=0"
                moz-do-not-send="true">
https://nam02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fkamailio.org%2Fdocs%2Ftutorials%2Fdevel%2Fkamailio-kemi-framework%2F&data=02%7C01%7Csamuel_is_kewl%40hotmail.com%7C226fe2242ed4436c13fa08d53029444d%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636467876150276887&sdata=FHJ1zANtLQI6o2%2F1wFPFYfu1B94JlQ%2FHTLDbaVp7dUg%3D&reserved=0</a><br>
              <br>
              It is work in progress and contributions from the
              community are more<br>
              than welcome -- doing push requests on github project is
              the recommended<br>
              way for contributions:<br>
              <br>
                * <a
href="https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fkamailio%2Fkamailio-docs%2F&data=02%7C01%7Csamuel_is_kewl%40hotmail.com%7C226fe2242ed4436c13fa08d53029444d%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636467876150276887&sdata=utRI9tOvpEuyBWFU70KaBaod6URNk0ju4rTSQl%2FhO3I%3D&reserved=0"
                moz-do-not-send="true">
https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fkamailio%2Fkamailio-docs%2F&data=02%7C01%7Csamuel_is_kewl%40hotmail.com%7C226fe2242ed4436c13fa08d53029444d%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636467876150276887&sdata=utRI9tOvpEuyBWFU70KaBaod6URNk0ju4rTSQl%2FhO3I%3D&reserved=0</a><br>
              <br>
              The main goal is document the role of KEMI, its benefits
              and how it can<br>
              be used. It addition it should cover the list of functions
              exported to<br>
              KEMI by core as well as special KEMI functions.<br>
              <br>
              Regarding the functions exported by kamailio modules to
              KEMI I added as<br>
              an skeleton the ones exported by acc module. However, I am
              not sure if<br>
              we should do it there or add them to the existing docs of
              the modules.<br>
              Opinions on this?!?<br>
              <br>
              Cheers,<br>
              Daniel<br>
              <br>
              -- <br>
              Daniel-Constantin Mierla<br>
              <a
href="https://nam02.safelinks.protection.outlook.com/?url=www.twitter.com%2Fmiconda&data=02%7C01%7Csamuel_is_kewl%40hotmail.com%7C226fe2242ed4436c13fa08d53029444d%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636467876150276887&sdata=%2F1Fg1476daehbTE4jVNmQ1%2BQro52j%2Fy6maGN8HZmHjU%3D&reserved=0"
                moz-do-not-send="true">https://nam02.safelinks.protection.outlook.com/?url=www.twitter.com%2Fmiconda&data=02%7C01%7Csamuel_is_kewl%40hotmail.com%7C226fe2242ed4436c13fa08d53029444d%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636467876150276887&sdata=%2F1Fg1476daehbTE4jVNmQ1%2BQro52j%2Fy6maGN8HZmHjU%3D&reserved=0</a>
              -- <a
href="https://nam02.safelinks.protection.outlook.com/?url=www.linkedin.com%2Fin%2Fmiconda&data=02%7C01%7Csamuel_is_kewl%40hotmail.com%7C226fe2242ed4436c13fa08d53029444d%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636467876150276887&sdata=WytUIkS%2FT0cdu%2BEMhSLz8TFhkn2PADOVGEjnHF5d2lE%3D&reserved=0"
                moz-do-not-send="true">
https://nam02.safelinks.protection.outlook.com/?url=www.linkedin.com%2Fin%2Fmiconda&data=02%7C01%7Csamuel_is_kewl%40hotmail.com%7C226fe2242ed4436c13fa08d53029444d%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636467876150276887&sdata=WytUIkS%2FT0cdu%2BEMhSLz8TFhkn2PADOVGEjnHF5d2lE%3D&reserved=0</a><br>
              Kamailio Advanced Training - <a
href="https://nam02.safelinks.protection.outlook.com/?url=www.asipto.com&data=02%7C01%7Csamuel_is_kewl%40hotmail.com%7C226fe2242ed4436c13fa08d53029444d%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636467876150276887&sdata=b8D9EWNFf5eocdwbjZDu8nKmFF777nNE5yknicVgDKs%3D&reserved=0"
                moz-do-not-send="true">
https://nam02.safelinks.protection.outlook.com/?url=www.asipto.com&data=02%7C01%7Csamuel_is_kewl%40hotmail.com%7C226fe2242ed4436c13fa08d53029444d%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636467876150276887&sdata=b8D9EWNFf5eocdwbjZDu8nKmFF777nNE5yknicVgDKs%3D&reserved=0</a><br>
              Kamailio World Conference - May 14-16, 2018 - <a
href="https://nam02.safelinks.protection.outlook.com/?url=www.kamailioworld.com&data=02%7C01%7Csamuel_is_kewl%40hotmail.com%7C226fe2242ed4436c13fa08d53029444d%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636467876150276887&sdata=X7KEbj5w3kLSiCPrpgnrdoCITpeBiWPfAeYFyY2yMhk%3D&reserved=0"
                moz-do-not-send="true">
https://nam02.safelinks.protection.outlook.com/?url=www.kamailioworld.com&data=02%7C01%7Csamuel_is_kewl%40hotmail.com%7C226fe2242ed4436c13fa08d53029444d%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636467876150276887&sdata=X7KEbj5w3kLSiCPrpgnrdoCITpeBiWPfAeYFyY2yMhk%3D&reserved=0</a><br>
              <br>
              <br>
              _______________________________________________<br>
              Kamailio (SER) - Users Mailing List<br>
              <a class="moz-txt-link-abbreviated" href="mailto:sr-users@lists.kamailio.org">sr-users@lists.kamailio.org</a><br>
              <a
href="https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.kamailio.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fsr-users&data=02%7C01%7Csamuel_is_kewl%40hotmail.com%7C226fe2242ed4436c13fa08d53029444d%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636467876150276887&sdata=HLJ5knbTzvZ2EFRpdNEPawUUy5ArJVL6HVqitepIM2Q%3D&reserved=0"
                moz-do-not-send="true">https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.kamailio.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fsr-users&data=02%7C01%7Csamuel_is_kewl%40hotmail.com%7C226fe2242ed4436c13fa08d53029444d%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636467876150276887&sdata=HLJ5knbTzvZ2EFRpdNEPawUUy5ArJVL6HVqitepIM2Q%3D&reserved=0</a><br>
            </div>
          </span></font></div>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
Daniel-Constantin Mierla
<a class="moz-txt-link-abbreviated" href="http://www.twitter.com/miconda">www.twitter.com/miconda</a> -- <a class="moz-txt-link-abbreviated" href="http://www.linkedin.com/in/miconda">www.linkedin.com/in/miconda</a>
Kamailio Advanced Training - <a class="moz-txt-link-abbreviated" href="http://www.asipto.com">www.asipto.com</a>
Kamailio World Conference - May 14-16, 2018 - <a class="moz-txt-link-abbreviated" href="http://www.kamailioworld.com">www.kamailioworld.com</a></pre>
  </body>
</html>