[SR-Users] Kamailio KEMI Framework Tutorial

Daniel-Constantin Mierla miconda at gmail.com
Fri Nov 24 15:41:35 CET 2017


Hello,


On 24.11.17 13:43, Samuel F. wrote:
>
> Hey,
>
>
> Just tested and it seems to work well! I compared the output to the
> output from app_lua to run some type of sanity check and it seems to
> show the same information.
>
I think that KSR.x package doesn't have exit() and drop() functions in
app_python ... but not sure if KSR.x is dumped via rpc.
>
>
> However, there is one issue with the rpc app_lua.api_list, when
> running the RPC command it returns the result set twice so you get a
> msize of twice the msize of app_python and duplicated data.
>
I will check.

Cheers,
Daniel

>
> // Samuel
>
> ------------------------------------------------------------------------
> *From:* Daniel-Constantin Mierla <miconda at gmail.com>
> *Sent:* Thursday, November 23, 2017 12:52:24 PM
> *To:* Samuel F.; Kamailio (SER) - Users Mailing List
> *Subject:* Re: [SR-Users] Kamailio KEMI Framework Tutorial
>  
>
> Hello,
>
>
> I just pushed the rpc command app_python.api_list to master branch.
> Can you test and see if works? If all ok, then I will push it to
> branch 5.1 as well.
>
>
> Cheers,
> Daniel
>
>
> On 23.11.17 08:31, Daniel-Constantin Mierla wrote:
>>
>> Hello,
>>
>>
>> On 22.11.17 19:47, Samuel F. wrote:
>>>
>>> Hi again,
>>>
>>>
>>> Regarding RPC list: I do not think it is implemented for python?
>>>
>> it is not, indeed, I just looked at the code. I am not much into
>> python myself, so it was overlooked -- I just added kemi support for
>> it on top of the previous app_python.
>>
>>> I checked the source and couldn't find anything that would handle
>>> the RPC call:
>>>
>>> kamctl rpc app_python.api_list
>>>
>>>
>>> Regarding the documentation:
>>> I didn't mean to document in the source code, sorry for not
>>> expressing myself clearly,
>>
>> That was a proposal on the IRC devel meeting to add doxygen docs for
>> kemi function, which is good to have anyhow, but for something with
>> more details and examples, doxygen can become a mess.
>>
>>>  I ment to generate the Kemi function list documentation from the
>>> source code automatically via a script instead of updating it
>>> manually (so the documentation doesn't become stale). One example
>>> could be to run the RPC api_list and take that list to generate a
>>> documentation file that shows all available functions. I tried to
>>> check that out now but couldn't get it working for python because I
>>> think the command is missing (v5.0.4).
>>>
>>> So to condense my proposal on how we could structure the KEMI docs I
>>> would suggest:
>>> - General documentation about how KEMI works: As it is now, great
>>> - Document special functions that are only implemented in KEMI /or
>>> differs from the original module implementation: As it is now, great
>>> - Not have sections for each and every module, just one section with
>>> a long list of exported KEMI functions with a link to the original
>>> documentation
>>>
>>> I'm happy to take a shot at generating a script for this but would
>>> need help to understand how I can export the python API list.
>>
>> I am going to add the rpc command to app_python, then you can try to
>> build your tool for it.
>>
>> Cheers,
>> Daniel
>>
>>>
>>> // Samuel
>>>
>>> ------------------------------------------------------------------------
>>> *From:* Daniel-Constantin Mierla <miconda at gmail.com>
>>> <mailto:miconda at gmail.com>
>>> *Sent:* Tuesday, November 21, 2017 3:20:21 PM
>>> *To:* Samuel F.; Kamailio (SER) - Users Mailing List
>>> *Subject:* Re: [SR-Users] Kamailio KEMI Framework Tutorial
>>>  
>>>
>>> Hello,
>>>
>>>
>>> On 21.11.17 10:20, Samuel F. wrote:
>>>>
>>>> Hi Daniel,
>>>>
>>>>
>>>> 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.
>>>>
>>>
>>> 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.
>>>
>>>>
>>>> I reviewed the documentation and think it's great that the KEMI
>>>> framework gets an extensive documentation.
>>>>
>>>>
>>>> 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.
>>>>
>>>>
>>>> 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?
>>>>
>>>
>>> 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.
>>>
>>> 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.
>>>
>>> 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).
>>>
>>> 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.
>>>
>>> Cheers,
>>> Daniel
>>>
>>>
>>>>
>>>> // Samuel
>>>>
>>>> ------------------------------------------------------------------------
>>>> *From:* sr-users <sr-users-bounces at lists.kamailio.org>
>>>> <mailto:sr-users-bounces at lists.kamailio.org> on behalf of
>>>> Daniel-Constantin Mierla <miconda at gmail.com> <mailto:miconda at gmail.com>
>>>> *Sent:* Monday, November 20, 2017 4:11:54 PM
>>>> *To:* Kamailio (SER) - Users Mailing List; Kamailio (SER) - Devel
>>>> Mailing List
>>>> *Subject:* [SR-Users] Kamailio KEMI Framework Tutorial
>>>>  
>>>> Hello,
>>>>
>>>> I started a tutorial for Kamailio KEMI Framework written in markdown
>>>> format targeting use of mkdocs. It is published on github as part of
>>>> kamailio-docs repository:
>>>>
>>>>   *
>>>> 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
>>>>
>>>> The mkdocs build (to browse and read) is online at:
>>>>
>>>>   *
>>>> 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
>>>>
>>>> It is work in progress and contributions from the community are more
>>>> than welcome -- doing push requests on github project is the
>>>> recommended
>>>> way for contributions:
>>>>
>>>>   *
>>>> 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
>>>>
>>>> The main goal is document the role of KEMI, its benefits and how it can
>>>> be used. It addition it should cover the list of functions exported to
>>>> KEMI by core as well as special KEMI functions.
>>>>
>>>> Regarding the functions exported by kamailio modules to KEMI I added as
>>>> an skeleton the ones exported by acc module. However, I am not sure if
>>>> we should do it there or add them to the existing docs of the modules.
>>>> Opinions on this?!?
>>>>
>>>> Cheers,
>>>> Daniel
>>>>
>>>> -- 
>>>> Daniel-Constantin Mierla
>>>> 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
>>>> --
>>>> 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
>>>> Kamailio Advanced Training -
>>>> 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
>>>> Kamailio World Conference - May 14-16, 2018 -
>>>> 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
>>>>
>>>>
>>>> _______________________________________________
>>>> Kamailio (SER) - Users Mailing List
>>>> sr-users at lists.kamailio.org <mailto:sr-users at lists.kamailio.org>
>>>> 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
>>>
>>> -- 
>>> Daniel-Constantin Mierla
>>> www.twitter.com/miconda
>>> <https://eur02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.twitter.com%2Fmiconda&data=02%7C01%7Csamuel_is_kewl%40hotmail.com%7Cb0ef8c659a014ebc3bbc08d530eb0520%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636468708318318423&sdata=%2B6XNLL0f7NWcJWExn7P%2FBQSdjfry6ku79GWr1C9HFyA%3D&reserved=0> -- www.linkedin.com/in/miconda
>>> <https://eur02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.linkedin.com%2Fin%2Fmiconda&data=02%7C01%7Csamuel_is_kewl%40hotmail.com%7Cb0ef8c659a014ebc3bbc08d530eb0520%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636468708318318423&sdata=gctVv3a%2Fyt6K%2F5u8cdxDPOVCXpjAFtWYWdi0edqlQaE%3D&reserved=0>
>>> Kamailio Advanced Training - www.asipto.com
>>> <https://eur02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.asipto.com&data=02%7C01%7Csamuel_is_kewl%40hotmail.com%7Cb0ef8c659a014ebc3bbc08d530eb0520%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636468708318318423&sdata=PUjvVlxZ6%2B6i%2BVX1uyHDP7EHF4dbYgozNjlFRJMJICg%3D&reserved=0>
>>> Kamailio World Conference - May 14-16, 2018 - www.kamailioworld.com
>>> <https://eur02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.kamailioworld.com&data=02%7C01%7Csamuel_is_kewl%40hotmail.com%7Cb0ef8c659a014ebc3bbc08d530eb0520%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636468708318318423&sdata=n7wEMwvt38VIugGTLcT9mBZMNLCCaeWgYKDWtapcnVc%3D&reserved=0>
>>
>> -- 
>> Daniel-Constantin Mierla
>> www.twitter.com/miconda
>> <https://eur02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.twitter.com%2Fmiconda&data=02%7C01%7Csamuel_is_kewl%40hotmail.com%7C9e8a66cf561e4162c59208d53268af1f%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636470347544577197&sdata=dL%2BqbOqXFuC44L4BHfrqmWJ%2FvRdGNnpfve8sL028YnY%3D&reserved=0> -- www.linkedin.com/in/miconda
>> <https://eur02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.linkedin.com%2Fin%2Fmiconda&data=02%7C01%7Csamuel_is_kewl%40hotmail.com%7C9e8a66cf561e4162c59208d53268af1f%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636470347544577197&sdata=zLtZY%2Bndy2srMgk5MIKT8h4XVXQSO6bCm6IKs2xGyT4%3D&reserved=0>
>> Kamailio Advanced Training - www.asipto.com
>> <https://eur02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.asipto.com&data=02%7C01%7Csamuel_is_kewl%40hotmail.com%7C9e8a66cf561e4162c59208d53268af1f%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636470347544577197&sdata=ymhWfoNJN%2BHe5Yvy2V2tn94GOVyQVnp08li7ZKNU4HE%3D&reserved=0>
>> Kamailio World Conference - May 14-16, 2018 - www.kamailioworld.com
>> <https://eur02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.kamailioworld.com&data=02%7C01%7Csamuel_is_kewl%40hotmail.com%7C9e8a66cf561e4162c59208d53268af1f%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636470347544577197&sdata=iG67lgp06qqLZvpC7NxESlK8kd4evjl9Gpwg2ZVBNC0%3D&reserved=0>
>
> -- 
> Daniel-Constantin Mierla
> www.twitter.com/miconda
> <https://eur02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.twitter.com%2Fmiconda&data=02%7C01%7Csamuel_is_kewl%40hotmail.com%7C9e8a66cf561e4162c59208d53268af1f%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636470347544577197&sdata=dL%2BqbOqXFuC44L4BHfrqmWJ%2FvRdGNnpfve8sL028YnY%3D&reserved=0> -- www.linkedin.com/in/miconda
> <https://eur02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.linkedin.com%2Fin%2Fmiconda&data=02%7C01%7Csamuel_is_kewl%40hotmail.com%7C9e8a66cf561e4162c59208d53268af1f%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636470347544577197&sdata=zLtZY%2Bndy2srMgk5MIKT8h4XVXQSO6bCm6IKs2xGyT4%3D&reserved=0>
> Kamailio Advanced Training - www.asipto.com
> <https://eur02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.asipto.com&data=02%7C01%7Csamuel_is_kewl%40hotmail.com%7C9e8a66cf561e4162c59208d53268af1f%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636470347544577197&sdata=ymhWfoNJN%2BHe5Yvy2V2tn94GOVyQVnp08li7ZKNU4HE%3D&reserved=0>
> Kamailio World Conference - May 14-16, 2018 - www.kamailioworld.com
> <https://eur02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.kamailioworld.com&data=02%7C01%7Csamuel_is_kewl%40hotmail.com%7C9e8a66cf561e4162c59208d53268af1f%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636470347544577197&sdata=iG67lgp06qqLZvpC7NxESlK8kd4evjl9Gpwg2ZVBNC0%3D&reserved=0>

-- 
Daniel-Constantin Mierla
www.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio Advanced Training - www.asipto.com
Kamailio World Conference - May 14-16, 2018 - www.kamailioworld.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20171124/d48d6a1e/attachment.html>


More information about the sr-users mailing list