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://github.com/kamailio/kamailio-docs/tree/master/kamailio-kemi-framewor...
The mkdocs build (to browse and read) is online at:
* http://kamailio.org/docs/tutorials/devel/kamailio-kemi-framework/
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://github.com/kamailio/kamailio-docs/
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
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.
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?
// Samuel
________________________________ From: sr-users sr-users-bounces@lists.kamailio.org on behalf of Daniel-Constantin Mierla miconda@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...
The mkdocs build (to browse and read) is online at:
* https://nam02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fkamailio.or...
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...
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%2Fmicond... -- https://nam02.safelinks.protection.outlook.com/?url=www.linkedin.com%2Fin%2F... Kamailio Advanced Training - https://nam02.safelinks.protection.outlook.com/?url=www.asipto.com&data=... Kamailio World Conference - May 14-16, 2018 - https://nam02.safelinks.protection.outlook.com/?url=www.kamailioworld.com&am...
_______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.kama...
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@lists.kamailio.org on behalf of Daniel-Constantin Mierla miconda@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...
The mkdocs build (to browse and read) is online at:
* https://nam02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fkamailio.or...
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...
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%2Fmicond... -- https://nam02.safelinks.protection.outlook.com/?url=www.linkedin.com%2Fin%2F... Kamailio Advanced Training - https://nam02.safelinks.protection.outlook.com/?url=www.asipto.com&data=... Kamailio World Conference - May 14-16, 2018 - https://nam02.safelinks.protection.outlook.com/?url=www.kamailioworld.com&am...
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.kama...
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:
- http://127.0.0.1:8000/kemi/#kemi-functions
Cheers, Daniel
On 21.11.17 15:20, Daniel-Constantin Mierla wrote:
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@lists.kamailio.org on behalf of Daniel-Constantin Mierla miconda@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...
The mkdocs build (to browse and read) is online at:
* https://nam02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fkamailio.or...
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...
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%2Fmicond... -- https://nam02.safelinks.protection.outlook.com/?url=www.linkedin.com%2Fin%2F... Kamailio Advanced Training - https://nam02.safelinks.protection.outlook.com/?url=www.asipto.com&data=... Kamailio World Conference - May 14-16, 2018 - https://nam02.safelinks.protection.outlook.com/?url=www.kamailioworld.com&am...
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.kama...
-- 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
Hi again,
Regarding RPC list: I do not think it is implemented for 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, 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.
// Samuel
________________________________ From: Daniel-Constantin Mierla miconda@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@lists.kamailio.orgmailto:sr-users-bounces@lists.kamailio.org on behalf of Daniel-Constantin Mierla miconda@gmail.commailto:miconda@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...
The mkdocs build (to browse and read) is online at:
* https://nam02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fkamailio.or...
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...
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%2Fmicond... -- https://nam02.safelinks.protection.outlook.com/?url=www.linkedin.com%2Fin%2F... Kamailio Advanced Training - https://nam02.safelinks.protection.outlook.com/?url=www.asipto.com&data=... Kamailio World Conference - May 14-16, 2018 - https://nam02.safelinks.protection.outlook.com/?url=www.kamailioworld.com&am...
_______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.orgmailto:sr-users@lists.kamailio.org https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.kama...
-- Daniel-Constantin Mierla www.twitter.com/micondahttps://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/micondahttps://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.comhttps://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.comhttps://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
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@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@lists.kamailio.org mailto:sr-users-bounces@lists.kamailio.org on behalf of Daniel-Constantin Mierla miconda@gmail.com mailto:miconda@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...
The mkdocs build (to browse and read) is online at:
* https://nam02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fkamailio.or...
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...
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%2Fmicond... -- https://nam02.safelinks.protection.outlook.com/?url=www.linkedin.com%2Fin%2F... Kamailio Advanced Training - https://nam02.safelinks.protection.outlook.com/?url=www.asipto.com&data=... Kamailio World Conference - May 14-16, 2018 - https://nam02.safelinks.protection.outlook.com/?url=www.kamailioworld.com&am...
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org mailto:sr-users@lists.kamailio.org https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.kama...
-- 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
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@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@lists.kamailio.org mailto:sr-users-bounces@lists.kamailio.org on behalf of Daniel-Constantin Mierla miconda@gmail.com mailto:miconda@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...
The mkdocs build (to browse and read) is online at:
* https://nam02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fkamailio.or...
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...
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%2Fmicond... -- https://nam02.safelinks.protection.outlook.com/?url=www.linkedin.com%2Fin%2F... Kamailio Advanced Training - https://nam02.safelinks.protection.outlook.com/?url=www.asipto.com&data=... Kamailio World Conference - May 14-16, 2018 - https://nam02.safelinks.protection.outlook.com/?url=www.kamailioworld.com&am...
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org mailto:sr-users@lists.kamailio.org https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.kama...
-- 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 -- www.linkedin.com/in/miconda Kamailio Advanced Training - www.asipto.com Kamailio World Conference - May 14-16, 2018 - www.kamailioworld.com
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.
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.
// Samuel
________________________________ From: Daniel-Constantin Mierla miconda@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@gmail.commailto:miconda@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@lists.kamailio.orgmailto:sr-users-bounces@lists.kamailio.org on behalf of Daniel-Constantin Mierla miconda@gmail.commailto:miconda@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...
The mkdocs build (to browse and read) is online at:
* https://nam02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fkamailio.or...
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...
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%2Fmicond... -- https://nam02.safelinks.protection.outlook.com/?url=www.linkedin.com%2Fin%2F... Kamailio Advanced Training - https://nam02.safelinks.protection.outlook.com/?url=www.asipto.com&data=... Kamailio World Conference - May 14-16, 2018 - https://nam02.safelinks.protection.outlook.com/?url=www.kamailioworld.com&am...
_______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.orgmailto:sr-users@lists.kamailio.org https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.kama...
-- Daniel-Constantin Mierla www.twitter.com/micondahttps://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/micondahttps://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.comhttps://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.comhttps://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/micondahttps://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/micondahttps://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.comhttps://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.comhttps://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/micondahttps://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/micondahttps://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.comhttps://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.comhttps://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
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@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@gmail.com mailto:miconda@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@lists.kamailio.org mailto:sr-users-bounces@lists.kamailio.org on behalf of Daniel-Constantin Mierla miconda@gmail.com mailto:miconda@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...
The mkdocs build (to browse and read) is online at:
* https://nam02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fkamailio.or...
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...
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%2Fmicond... -- https://nam02.safelinks.protection.outlook.com/?url=www.linkedin.com%2Fin%2F... Kamailio Advanced Training - https://nam02.safelinks.protection.outlook.com/?url=www.asipto.com&data=... Kamailio World Conference - May 14-16, 2018 - https://nam02.safelinks.protection.outlook.com/?url=www.kamailioworld.com&am...
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org mailto:sr-users@lists.kamailio.org https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.kama...
-- 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
Hey,
Almost done with a POC. Should I open up a PR and we can review / iterate on it or is there a better of way of sharing the code?
Cheers,
Samuel
________________________________ From: Daniel-Constantin Mierla miconda@gmail.com Sent: Friday, November 24, 2017 3:41:35 PM To: Samuel F.; Kamailio (SER) - Users Mailing List Subject: Re: [SR-Users] Kamailio KEMI Framework Tutorial
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@gmail.commailto:miconda@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@gmail.commailto:miconda@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@lists.kamailio.orgmailto:sr-users-bounces@lists.kamailio.org on behalf of Daniel-Constantin Mierla miconda@gmail.commailto:miconda@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...
The mkdocs build (to browse and read) is online at:
* https://nam02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fkamailio.or...
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...
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%2Fmicond... -- https://nam02.safelinks.protection.outlook.com/?url=www.linkedin.com%2Fin%2F... Kamailio Advanced Training - https://nam02.safelinks.protection.outlook.com/?url=www.asipto.com&data=... Kamailio World Conference - May 14-16, 2018 - https://nam02.safelinks.protection.outlook.com/?url=www.kamailioworld.com&am...
_______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.orgmailto:sr-users@lists.kamailio.org https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.kama...
-- Daniel-Constantin Mierla www.twitter.com/micondahttps://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/micondahttps://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.comhttps://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.comhttps://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/micondahttps://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/micondahttps://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.comhttps://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.comhttps://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/micondahttps://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/micondahttps://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.comhttps://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.comhttps://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/micondahttps://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.twitter.com%2Fmiconda&data=02%7C01%7Csamuel_is_kewl%40hotmail.com%7C8260a30bcbc24ff4c7d408d53349789e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636471312997727370&sdata=4YTMIHQTpcAfSVEQFBFjudl7p00b30VIE2pv3jbIQC8%3D&reserved=0 -- www.linkedin.com/in/micondahttps://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.linkedin.com%2Fin%2Fmiconda&data=02%7C01%7Csamuel_is_kewl%40hotmail.com%7C8260a30bcbc24ff4c7d408d53349789e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636471312997727370&sdata=rex0slUeglQ4IIHDsljFzFU5HfYrJMSFCMVcSHT7cJk%3D&reserved=0 Kamailio Advanced Training - www.asipto.comhttps://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.asipto.com&data=02%7C01%7Csamuel_is_kewl%40hotmail.com%7C8260a30bcbc24ff4c7d408d53349789e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636471312997727370&sdata=maMeM0xPsHLMW9c%2FVyR%2BLBO1Co2o0ern%2BPiTGYaig2s%3D&reserved=0 Kamailio World Conference - May 14-16, 2018 - www.kamailioworld.comhttps://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.kamailioworld.com&data=02%7C01%7Csamuel_is_kewl%40hotmail.com%7C8260a30bcbc24ff4c7d408d53349789e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636471312997727370&sdata=4%2Fgk32bg98YTnA2C7QFPWUYln0vDR4VPBQ%2B90i6xhIE%3D&reserved=0
Hello,
the most convenient way is to do a pull request via github project, just be sure you do the commit message as per guidelines at:
- https://github.com/kamailio/kamailio/blob/master/.github/CONTRIBUTING.md#com...
That will make the merging straightforward via web, if all is ok with the patch.
Cheers, Daniel
On 24.11.17 18:18, Samuel F. wrote:
Hey,
Almost done with a POC. Should I open up a PR and we can review / iterate on it or is there a better of way of sharing the code?
Cheers,
Samuel
*From:* Daniel-Constantin Mierla miconda@gmail.com *Sent:* Friday, November 24, 2017 3:41:35 PM *To:* Samuel F.; Kamailio (SER) - Users Mailing List *Subject:* Re: [SR-Users] Kamailio KEMI Framework Tutorial
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@gmail.com mailto:miconda@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@gmail.com mailto:miconda@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@lists.kamailio.org mailto:sr-users-bounces@lists.kamailio.org on behalf of Daniel-Constantin Mierla miconda@gmail.com mailto:miconda@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...
The mkdocs build (to browse and read) is online at:
* https://nam02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fkamailio.or...
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...
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%2Fmicond... -- https://nam02.safelinks.protection.outlook.com/?url=www.linkedin.com%2Fin%2F... Kamailio Advanced Training - https://nam02.safelinks.protection.outlook.com/?url=www.asipto.com&data=... Kamailio World Conference - May 14-16, 2018 - https://nam02.safelinks.protection.outlook.com/?url=www.kamailioworld.com&am...
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org mailto:sr-users@lists.kamailio.org https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.kama...
-- 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 https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.twitter.com%2Fmiconda&data=02%7C01%7Csamuel_is_kewl%40hotmail.com%7C8260a30bcbc24ff4c7d408d53349789e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636471312997727370&sdata=4YTMIHQTpcAfSVEQFBFjudl7p00b30VIE2pv3jbIQC8%3D&reserved=0 -- www.linkedin.com/in/miconda https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.linkedin.com%2Fin%2Fmiconda&data=02%7C01%7Csamuel_is_kewl%40hotmail.com%7C8260a30bcbc24ff4c7d408d53349789e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636471312997727370&sdata=rex0slUeglQ4IIHDsljFzFU5HfYrJMSFCMVcSHT7cJk%3D&reserved=0 Kamailio Advanced Training - www.asipto.com https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.asipto.com&data=02%7C01%7Csamuel_is_kewl%40hotmail.com%7C8260a30bcbc24ff4c7d408d53349789e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636471312997727370&sdata=maMeM0xPsHLMW9c%2FVyR%2BLBO1Co2o0ern%2BPiTGYaig2s%3D&reserved=0 Kamailio World Conference - May 14-16, 2018 - www.kamailioworld.com https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.kamailioworld.com&data=02%7C01%7Csamuel_is_kewl%40hotmail.com%7C8260a30bcbc24ff4c7d408d53349789e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636471312997727370&sdata=4%2Fgk32bg98YTnA2C7QFPWUYln0vDR4VPBQ%2B90i6xhIE%3D&reserved=0