So I have made progress since my last post about this. I have a working 3GPP CDR decoder for Circuit Switched, Packet Switched and other miscellaneous CDRs.
In the process I broke my machine in the USA. Oops.
I left it compiling the ASN.1 one day and for some reason my definitions caused the Erlang ASN.1 compiler to loop. I left it like that for several days, and then my windows stopped responding.
It wouldn't remote reboot, respond to ping, or even prayers to
The story, dear reader, has a happy ending. One support ticket and a day or so later it was back as good as new and no more was said on the matter. I shall not complain that 100% CPU utilisation killed my box, and they did not complain about me breaking my budget server. Still, I should be upset, but for US$29 a month I can't really complain.
Back to 3GPP CDRs. I also have a version of the TAP (Transferred Accounts Procedure) specification. TAP is the CDR format used for international roaming CDR exchange, and is also in ASN.1 from version 3 onwards. There are amusing comments through the documentation about limiting sizes of files to avoid systems blowing up. Natch.
To their credit the GSMA have a specification that compiles cleanly first time, 3GPP could learn from that. The dependency hierarchy of the 3GPP CDR spec is horrifying and extends all the way back (and loops around) the earliest, ugliest, definitions from the ITU-T.
Anyway, I only need to decide what to do now, I'm thinking that this could expand to be a free 3GPP -> TAP service, possibly even including the RAP (Returned Accounts Procedure). At least it would provide an alternative to all the people charging for even a CDR editing tool. Sheesh.
First things first, I'm off to whip up the first page which should allow the upload of a CDR file and the specification of it's type (Circuit/Packet/etc) so it can be decoded. Not exciting but a prerequisite for the next AJAXy page that allows scrolling and drilldown into individual lineitems.
Wish me luck.
Wednesday, October 3, 2007
3GPP CDR processing in Erlang
Subscribe to:
Post Comments (Atom)
1 comments:
Do you use esnacc ASN.1 compiler?
Post a Comment