Artem Pylypchuk schrieb:
Hello users Kannel mailing list!
I would like to inform you, that I've written some code for Kannel that can be used for MSISDN provisioning over LDAP queries, with a flexible failover/fallback mechanism (as required by our carrier partner). Please consider adding it to your addons page.

The page with the addon is http://juice.org.ua (merged with my personal page), the patch is at http://juice.org.ua/patch Please note, that it's still just a sketch (i.e. [pre-]alpha), so it's not integrated into configure script, and also, the question remains what to do with the existing RADIUS accounting module (disable by config?). Everything else works just fine (lookups, failover, failover fallback dummy checking & configuration reading).

Hi Artem,

thanks a lot for sharing your work with us. We appreciate your contribution highly. And I'd like to advocate and support you in getting the code into our main CVS HEAD branch so we see it available in upcoming releases.

First of all, please switch to the 'devel' mailing list instead for this, since it's more related to development itself then usage questions. That's why I have cross-posted to devel@ too in this response.

I see 4 points here we need to do to get the code into the mainline CVS branch:

- apply our doc/CodingStyle guide lines to your source code files. To be honest, they are way to "sloppy" and don't match our "style" ;)

- apply your changes to CVS HEAD instead of 1.4.1 stable and create a 'diff -u' patch, so we can post a clean patch to the mailing list for letting other developers review it and vote on it's commitment.

- I guess OpenLDAP is the point of choice for the LDAP directory backend? I can do the configure[.in] et al preparation for this, so we have a clean build process w/o LDAP support.

- Concerning RADIUS acct vs. LDAP I would suggest the following way: make the backend storage type configurable via config directive 'msisdn-storage' in the wapbox group. This config directive will be interpreted and we simply use a neutral function pointer that is pointed to the implementation function call name, ergo we don't need runtime checks, it's just one check while startup and while runtime our module calls the function it has been configured for. The function calls are defined as public functions in it's modules, as is.

Looking forward to your updates patch to devel mailing list ;)

Thanks for your attention.

You're welcome. Good work so far. I hope you understand that we need to fit our guide lines before applying changes to the CVS branch.

Stipe

-------------------------------------------------------------------
Kölner Landstrasse 419
40589 Düsseldorf, NRW, Germany

tolj.org system architecture      Kannel Software Foundation (KSF)
http://www.tolj.org/              http://www.kannel.org/

mailto:st_{at}_tolj.org           mailto:stolj_{at}_kannel.org
-------------------------------------------------------------------

Reply via email to