I agree with Alejandro, this is specific for your needs, and may fit other people's needs too, but it's not generic enough.
For example, binfo may be used with some carriers, but not with others. In my own experience I have never connected to a carrier where I could use binfo for this purposes. As Alejandro says, a plugin approach would be better, so that you can use whatever you want without adding specific cases logic into kannel. You could even implement it on your application side, with no need of doing it directly on Kannel (of course may have it's benefits to do it on Kannel side on certain cases though). On Sun, Aug 1, 2010 at 3:28 PM, Alejandro Guerrieri <[email protected]> wrote: > This patch will definitely have its place for many people's requirement, but > it's not generic enough for general usage imho. > > Personally speaking, I don't like the idea of clogging any boxes' code with > non-generic stuff. The billing approach would work for some people, but > surely won't be flexible enough for others. > > I like Stipe's "plugin approach" on his (commercial) smppbox: messages can be > routed thru plugins, where you can implement all kind of stuff and add/remove > them from your message pipeline. Using that approach, all kind of billing > mechanisms could be implemented (along with many other stuff of course). > > Regards, > -- > Alejandro Guerrieri > [email protected] > > > > On 01/08/2010, at 03:08, Rene Kluwen wrote: > >> Suppose I add 2 tables to sqlbox: >> >> mysql> describe sms_users; >> +---------+--------------+------+-----+---------+-------+ >> | Field | Type | Null | Key | Default | Extra | >> +---------+--------------+------+-----+---------+-------+ >> | binfo | varchar(100) | NO | PRI | NULL | | >> | balance | float(10,0) | NO | | 0 | | >> +---------+--------------+------+-----+---------+-------+ >> 2 rows in set (0.00 sec) >> >> And: >> >> mysql> describe sms_rates; >> +---------+--------------+------+-----+---------+-------+ >> | Field | Type | Null | Key | Default | Extra | >> +---------+--------------+------+-----+---------+-------+ >> | prefix | varchar(100) | NO | PRI | | | >> | smsc | varchar(100) | NO | PRI | | | >> | rate | float(10,4) | NO | | 0.0000 | | >> | country | varchar(255) | YES | | | | >> +---------+--------------+------+-----+---------+-------+ >> 4 rows in set (0.00 sec) >> >> And suppose I match prefix/smsc against sms_rates and draw the variable >> "rate" from it. >> >> Next, I check the sms_users table with the binfo field (not sure if this is >> a good idea or not) and I withdraw "rate" from "balance" if "balance" is big >> enough. Once balance reaches 0, sqlbox will refuse to relay further messages >> to bearerbox. >> >> Attached is a patch that does the trick (for now, only mysql engines). Note: >> This code hasn't been tested yet and probably contains a bug or two. >> >> But I am posting it anyway to see what the almighty Kannel Developers have >> to say about it. >> >> This patch is especially useful if you want your clients to have access to >> an open smppbox with a limited amount of credits. But also it works for >> smsboxes and sqlboxes, as you please. >> >> I made a small patch to open smppbox that allows passing of binfo. >> >> == Rene >> >> <prepaid_1.patch> > > > -- Juan Nin 3Cinteractive / Mobilizing Great Brands http://www.3cinteractive.com
