Subject: ASN.1 encoding of package elements

From: Troy Cauble <[email-masked]>
Date: Tue, 19 Dec 2000 14:49:37 -0500

Brian, Christian, Tom, et. al.,

Can we please nail down how to ASN.1 encode/decode
package elements?

Double-wrapping has been discussed in the group a
couple of times, but I haven't seen it in the
Implementor's Guide or otherwise "approved".

Double-wrapping refers to BER encoding an object,
taking the resulting octets, and encoding them
as OCTET STRING.

In the H.248 case, it would mean BER encoding a package
element based on it's type as defined in the package.
Then encoding the BER output as the OCTET STRING in
the H.248 protocol.

If we agree on that much, we still need to specify the
proper BER encoding type for each package element type.
I propose the following:

  Package Type
(12.1.2 or 12.2)                     ASN.1 BER
===================                  =========
String (UTF-8)                       IA5String
Integer (4 octet)                    INTEGER
Double (8 octet signed int)          INTEGER (***)
Character: (UTF-8, *)                IA5String
Enumeration:                         ENUM
Boolean:                             BOOLEAN
Unsigned Integer: (**)               INTEGER (***)

*    Can be more than one byte.
**   Unsigned integer is referenced in Annex C.
***  My understanding of ASN.1 is that INTEGER does not
     imply 4 bytes.  It'll use whatever's needed.

-troy