hi all
 In GSM-MAP(ASN.1&BER IMPLICIT),I have a doubt about CHOICE:

example 1:

Ext-SS-InfoList ::= SEQUENCE SIZE (1..maxNumOfSS) OF
                                Ext-SS-Info

Ext-SS-Info ::= CHOICE {
        forwardingInfo  [0] Ext-ForwInfo,
        callBarringInfo [1] Ext-CallBarInfo,
        cug-Info                [2] CUG-Info,
        ss-Data                 [3] Ext-SS-Data,
        emlpp-Info              [4] EMLPP-Info}

Ext-ForwInfo ::= SEQUENCE{
        ss-Code         SS-Code,
        forwardingFeatureList   Ext-ForwFeatureList,
        extensionContainer      [0] ExtensionContainer  OPTIONAL,
        ...}


      then begin from Ext-SS-InfoList :0x30 0xXX 0xA0(10100000) (0xXX mean length)
Now the 0xA0 mean the tag of "forwardingInfo",and next octet after 0xA0 mean the 
length of "forwardingInfo",is this right?

example2:

SubscriberInfo ::= SEQUENCE {
        locationInformation     [0] LocationInformation OPTIONAL,
                subscriberState [1] SubscriberState     OPTIONAL,
        extensionContainer      [2] ExtensionContainer  OPTIONAL,
        ...}

SubscriberState ::= CHOICE {
        assumedIdle     [0] NULL,
        camelBusy       [1] NULL,
        netDetNotReachable      NotReachableReason,
        notProvidedFromVLR      [2] NULL}
begin from SubscriberInfo: how can we encode the "assumedIdle"?
        0x30 0xXX 0xA1(10100001 subscriberState) 0xXX 0x80(10000000 assumedIdle) 
0x00(length of NULL)

Is the encoding of example 1 and 2 correct? and so example2 is longer than 
example1,have an extra tag of choice.


Reply via email to