torsdag 12. februar 2004, 12:37, skrev Stipe Tolj:
> Hi list,
>
> since the discussion of the binfo field brings this up again. We
> here at Wapme have been thinking of providing some internal layer
> in bearerbox to make MT billing possible.
>
> Now, I know that the group has actually refused to handle billing
> aspects within Kannel itself. Most of use had the intention to let
> Kannel be the "message transporter" and nothing else.
>
> As demands come up here in Germany too, it may be usefull _at
> least_ to provide an abstraction layer with hooks that _can_ be
> implemented on an individual basis for the billing data purposes.
>
> This may imply actually something like the authentication step
> within an HTTP server. Hence when an MO is tranmitted by the SMSC,
> we may assume that the SMSC is not aware of the prepaid balance of
> the user, and our abstraction layer is in "charge" of checking if
> the MO SMS is about to be processed/transported. Same for MT (and
> for premium services).
>
> Any comments on this please!

Some operators handle billing outside of the transport with stuff like 
SOAP. These cases should probably not concern Kannel.

These are my experiences with Kannel and MT billing;

We connect to two operator that use CIMD2, and that protocol 
specification has a field (64 - Tariff Class) for billing info. I 
have a patch that adds support for that.

CIMD2 also have a field (62 - Status Error Code) that can be used to 
provide detailed information on why a message failed. One operator 
(NetCom in Norway) use this field to send stuff like no balance, 
wrong operator, barred etc. This is of course very useful to us. The 
other operator (Vodafone Sweden) does not use it at all.

I do have a patch that retrieve this info (62), but it need some more 
work to be integrated into Kannel.

For both operators we set the tariff class only on the first part of a 
multipart message. I have found nothing in the specifications that 
mandate this, but it is what both operators want. I have a patch to 
shared.c that take care of this. It work very well with my CIMD2 
patch, but I don't know how it will work for other protocols.

This is the essence of what it does;

+               /* Likewise, only use the billing info for the first 
part of a concatenated message */
+               if ((msgno > 1) && part->sms.binfo) {
+            octstr_destroy(part->sms.binfo);
+            part->sms.binfo = NULL;
+        }

Perhaps it can be enable with some config parameter like 
binfofirst=true

If there is interest for these pathces I will tidy them up a bit and 
submit them.
-- 
Med vennlig hilsen,
Eurobate ASA

Arne K. Haaje
Senior Network Engineer
--------------------------------------------------------------------
    Eurobate ASA - Postboks 4589 Nydalen - 0404 Oslo - Norway
Phone: +47 23 22 73 73 - Fax: +47 23 22 73 74 - Mob: +47 92 88 44 66
                    http://www.eurobate.no/

Reply via email to