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.