[kamailio/kamailio] Extend keepalive module documentation (#1082)
The new keepalive module states that it "performs destinations monitoring either for itself, or on the behalf of other modules". What does that mean? What are the use cases and which problems does it solve? Which mechanisms does it use (SIP, ICMP, others?) Some examples would greatly help in the README to get some context on how to actually use this module. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/kamailio/kamailio/issues/1082
More information in docs is always good. Hopefully @gbour will add more there. To answer quickly some of your questions based on my review: * it is SIP-based monitoring (keepalive pinging with OPTIONS, like dispatcher does) * PR #1066 enhanced drouting to use keepalive module for monitoring its gateways -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/kamailio/kamailio/issues/1082#issuecomment-296151955
Andreas Granig writes:
The new keepalive module states that it "performs destinations monitoring either for itself, or on the behalf of other modules".
Regarding "on behalf of other modules", I didn't find any API function documentation in README file. -- Juha
Hi @agranig, @kamailio-sync @ First, the module is still young, so the documentation may be incomplete. I will improve it asap Second, my primary idea when started this module was to implement the same "destinations probing" mechanism found in dispatcher module, both in drouting & carrierroute modules. So instead of directly patching those modules (and duplicating the same code), I regroup all probing features in *keepalive* module that also expose a set of APIs (to be documented) to register a destination and be notified of destination status change. Following @miconda suggestions, it can also be used standalone _What does that mean?_ So currently you can use it in 2 ways: - standalone: destinations to monitor are statically defined as module parameter then you can use is_alive() function or event route to react to destination state change - as "probing engine" for drouting module: by setting _enable_keepalive_ drouting parameter, drouting destinations will be monitored by keepalive, and a call to do_routing() will ignore inactive destinations in the resultset. I will add examples to the documentation to make things clear, but you can already see a kamailio.cfg example for both case in this ml post: https://lists.kamailio.org/pipermail/sr-users/2017-March/096521.html _What are the use cases and which problems does it solve?_ - monitor remote trunks (allowing to take actions or trigger an alert when a destination is down) - ignore down destinations when routing a call _Which mechanisms does it use (SIP, ICMP, others?)_ It is working the same way as dispatcher does, by regularly sending SIP OPTIONS to destinations Hope I answered all your questions -- You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub: https://github.com/kamailio/kamailio/issues/1082#issuecomment-296810631
@juha-h - the inter-module/devel api are not required to be in the readme, there were some attempts in the past, but none really maintained. For example tm exports couple of dozens of functions, auth has also several exports, ... Instead it would be good to have proper comments in the code for the functions exported for other modules. This is a recommendation, of course. -- You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub: https://github.com/kamailio/kamailio/issues/1082#issuecomment-296815235
I added some notes about the monitoring type in the readme, improvements are welcome. Closing this one. -- You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub: https://github.com/kamailio/kamailio/issues/1082#issuecomment-308110351
Closed #1082. -- You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub: https://github.com/kamailio/kamailio/issues/1082#event-1121331792
participants (4)
-
Andreas Granig -
Daniel-Constantin Mierla -
Guillaume Bour -
Juha Heinanen