Error in BER encoding of Megaco messages? What am I missing?
Jason Walton
jason.walton@REDACTED
Thu Mar 16 17:06:54 CET 2006
I'm new to the world of H.248, so this is probably just me missing
something, but it looks to me like the BER
I was looking at the example messages provided from the H.248 Erlang
encoding/decoding performance comparison
(http://www.erlang.org/project/megaco/encoding_comparison-v4/encoded_messages).
Specifically, I was looking at ber/msg08a.bin. The text version of the
message (pretty/msg08a.txt) contains an events descriptor, containing
events "al/on" and "dd/ce", and a signals descriptor, containing the
signal "cg/rt".
When I look at the BER encoded message (with a program using asn1c, an
open source C-based ASN.1 compiler), however, I'm seeing events with
pkgdName 0x0009/0x0004, 0x0004/0x0004, and a signal with pkgdName
0x0005/0x0031. In all cases, the second half of the pkgdName is what I
would expect it to be, but the (with the exception of al/on) the
pacakgeID (the first half) looks wrong to me.
Take the "dd/ce" to start with. The packageID for dd is 0x0006. The
packageID in the BER encoded message is 0x0004, which is tonedet (dd
extends tonedet). According to RFC 3525 6.2.3, I should be able to
refer to events in a base package using the extended package name (so I
should be able to reference dd/tl or tonedet/tl, for example), but it
makes no reference of doing the reverse; accessing an event defined in
one package using the name of the base package.
The Signal "cg/rt" is right out; 0x0005 is the package ID for dg, not
cg, and dg doesn't define an event 0x0031. The only common link I can
find between these two packages is that they both extend tonegen.
What's going on here? Is the Erlang Megaco stack horribly broken, or
(more likely) am I just completely missing something here?
More information about the erlang-questions
mailing list