<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>Likely you spotted it, but for sake of completion and
highlighting to everyone, the rpc commands to list the kemi
functions are listed with kamctl usage example at the end of the
section on the web at:</p>
<p><br>
</p>
<p> - <a class="moz-txt-link-freetext" href="http://127.0.0.1:8000/kemi/#kemi-functions">http://127.0.0.1:8000/kemi/#kemi-functions</a></p>
<p><br>
</p>
<p>Cheers,<br>
Daniel<br>
</p>
<br>
<div class="moz-cite-prefix">On 21.11.17 15:20, Daniel-Constantin
Mierla wrote:<br>
</div>
<blockquote type="cite"
cite="mid:211abe33-97c0-0c83-f1ab-490c146691d4@gmail.com">
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
<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"
moz-do-not-send="true"><sr-users-bounces@lists.kamailio.org></a>
on behalf of Daniel-Constantin Mierla <a
class="moz-txt-link-rfc2396E"
href="mailto:miconda@gmail.com" moz-do-not-send="true"><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"
moz-do-not-send="true">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" moz-do-not-send="true">www.twitter.com/miconda</a> -- <a class="moz-txt-link-abbreviated" href="http://www.linkedin.com/in/miconda" moz-do-not-send="true">www.linkedin.com/in/miconda</a>
Kamailio Advanced Training - <a class="moz-txt-link-abbreviated" href="http://www.asipto.com" moz-do-not-send="true">www.asipto.com</a>
Kamailio World Conference - May 14-16, 2018 - <a class="moz-txt-link-abbreviated" href="http://www.kamailioworld.com" moz-do-not-send="true">www.kamailioworld.com</a></pre>
</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>