...we used to decode our ASN.1 PER by hand. In the rain. With no pencils.
I doubt many will get the joke. I had a conversation today about 3GPP CDRs and how icky they are. I said that they are TLV based and I really don't have a problem with them, they're infinitely preferable to XML, but I think my colleague has been sucked in by the "human-readable means it is simple" XML/SIP propaganda. Apparently his hand-crafted ASN.1 BER decoder crashes if it encounters unknown tags, or somesuch, which is precisely what ASN.1 BER was designed to avoid -- it is easily extensible without breaking backward compatibility.
For the record I've decoded a reasonable amount of unaligned ASN.1 PER by hand as H.323 uses it, and I actually appreciate the feelings of the people that said that SIP was easier because it was text. XML and ASN.1 PER are at the opposite ends of the spectrum of verboseness, and they both go too far.
I actually like ASN.1 BER though, it is mature and extensible and both cheap to parse and reasonably compact. So I think I will build a little decoder for my poor colleagues and demonstrate the power of Erlang, ASN.1, and a bit of gumption. It'll make a good webpage that I'm sure will be of interest to others in the industry, and it'll fit nicely alongside the MEID one. The only problem will be cleaning up all the 3GPP specifications, the typo's are atrocious.
Thursday, September 13, 2007
In my day...
at
10:06 PM
Labels: 3gpp, erlang, programming, voip
Subscribe to:
Post Comments (Atom)
3 comments:
"... the typo's are atrocious."
Hello, Mr Irony!
PER? ptoo, ptoo, ptoo.
XML CDRs? ptoo, ptoo, ptoo.
I need a drink, these things are leaving a dirty taste in my mouth.
Damian: I would claim it was intentional, but you would always know better :-)
Jason: You should see the asn1.org website. The bile against text is amazing...but the pusing of PER is really odd. It is complete shite to parse and the "savings" in size are nonsensical once you move into extensions which are all byte-aligned anyway.
You'll be happy to know that ASN.1 has been enhanced to allow XML<->ASN.1 conversion though. I don't know what that means, and I don't really care to be informed.
Post a Comment