Hi Kyriacos,

Thanks for your comments, in response:

1) The purpose of the 'initial' plugin is not to provide any specific
feature, but to demonstrate how to implement a plugin and how to modify all
fields of a message packet. If you (or another person) wished to build an
XML router this would be perfectly possible.

2) As per 1), caching and all other implementation specifics could be done
inside the plugin. Eg if someone wanted to cache URL responses they could
do so, or cache routing for a specific service or number they could do so,
the possibilities are not limited :)

Thanks,
Donald

On 6 October 2016 at 09:44, Kyriacos Sakkas <kyria...@netsmart.com.cy>
wrote:

> Hi,
>
> First thought, yep would be really useful as for me it would allow
> removing the (or at least some) sms routing logic from the backend
> application and keep it within kannel, where it logically fits better.
>
> Additional  thoughts:
> 1) Although HTTP as the initial plugin provides something straight forward
> for all to use, I would find very useful if in addition there was some
> (XML?) rules plugin. I can elaborate on it if you wish. Unfortunately my
> skills would only let me build it as something that can be called via HTTP
> right now, which is at least ironic :) .
>
> 2) Have the ability (via a config parameter to activate) to cache
> responses from the various plugins. A pluggin might need to read for
> example only keyword and destination address. An in memory hash table of
> the X most recent (or time limited) queries will have a huge speed boost to
> many traffic patterns, especially if the plugin is something that makes an
> external call or must be launched per request.
>
> Thanks,
> Kyriacos
>
>
> On 06/10/2016 10:25, Donald Jackson wrote:
>
> Hi everyone,
>
> I have started laying the foundations for a new 'box' for Kannel which
> intends to allow users more flexibility in terms of the platform.
>
> At the moment there are many ways to get messages into the bearerbox,
> namely: smsbox, wapbox, opensmppbox, smppbox, ksmppd, sqlbox. Some rely on
> routing in their own process and others allow bearerbox to do the routing.
> What they all have in common is they don't allow external or third party
> applications help make decisions at processing time (with the exception of
> ksmppd/smppbox).
>
> My new planned box is called pluginbox which will basically be like SQLBox
> - but instead of using database callbacks, it will allow linking of dynamic
> libraries (.so|.dylib) which will allow custom 
> interception/filtering/modification
> of message packages to and from various boxes.
>
> So a hypothetical scenario for this box could be something like
>
> SMSBox, SMPPBox/KSMPPD, WapBox <--> PluginBox <--> Bearerbox
>
> Or even
>
> SMSBox, SMPPBox/KSMPPD, WapBox <--> SQLBox <--> PluginBox <--> Bearerbox
>
> For those who want to still make use of SQLBox.
>
> My initial design is to use an asynchronous callback chain to allow slow
> plugins to not hold up the processing of faster messages. This would be
> especially useful in the context of people using HTTP and other external
> services to process routing decisions. The plugin would also be able to
> return a status to 'reject' a message packet which would in turn not submit
> to the target receiver.
>
> My plan is also to implement at least one example plugin (probably an HTTP
> plugin?) which can show the submission and manipulation of a message packet
> in both directions.
>
> So here I am looking for comments.
>
> 1) Is this something worthwhile doing, does anyone else have a need for
> this?
> 2) Are there any considerations you wish to add at this time?
> 3) Are there any features you would like to see added?
> 4) Would there be any problem including this in the Kannel repository?
>
> Here is the initial version : https://github.com/donald-
> jackson/kannel-pluginbox
>
> Thanks Alejandro for SQLBox, its largely based on your code.
>
> Regards,
> --
> Donald Jackson
> http://www.ddj.co.za
>
>
> --
> Kyriacos Sakkas
> Development Team
> Netsmart
> Tel: + 357 22 452565
> Fax: + 357 22 452566
> Email: kyria...@netsmart.com.cyhttp://www.netsmart.com.cy
>
> Taking Business to a New Level!
>
> ** Confidentiality Notice: The information contained in this email
> message may be privileged, confidential and protected from disclosure.
> If you are not the intended recipient, any dissemination, distribution,
> or copying of this  email message is strictly prohibited.
> If you think that you have received this email message in error, please
> email the sender at kyria...@netsmart.com.cy **
>
>


-- 
Donald Jackson
http://www.ddj.co.za

Reply via email to