hello 
        Again, encode in MAP:
        CancelLocationArg ::= [3] SEQUENCE {
        identity                        Indentity,
        cancellationType        CancellationType        OPTIONAL,
        extensionContainer      ExtensionContainer      OPTIONAL,
        ...}

Indentity ::= CHOICE {
        imsi                    IMSI,
        imsi-WithLMSI   IMSI-WithLMSI}

IMSI-WithLMSI ::= SEQUENCE {
        imsi                    IMSI,
        lmsi                    LMSI,
        -- a special value 00000000 indicates that the LMSI is not in use
        ...}

CancellationType ::= ENUMERATED {
        updateProcedure (0),
        subscriptionWithdraw    (1),
        ...}

        CancelLocation is a operation of MAP,and in invoke component,operation name is 
the value of operation TLV,and after it,is parameter TLV,        my question is how to 
encode/decode parameters?
        If cancellationType and extensionContainer are not present, whether the first 
octet of parameter is the tag of  identity(certainly identity is choice,it's tag 
equals to the tag of imsi or imsi-WithLMSI) ?
        And if so, how to  judge  the two conditions as follows:
        1  identity only contain imsi,and  cancellationType is present,so the 0x30 of 
CancelLocationArg SEQUENCE will present.
                from parameter's first octet: 
0x30(CancelLocationArg SEQUENCE) 0xXX {0x04(IMSI OCTET) 0xXX 
����}{0x0A(CancellationType Enumerated type) 0xXX 0x00(or 0x01)}
        2  identity contain  imsi-WithLMSI,and the tag of imsi-WithLMSI is 0x30
                from parameter's first octet: 
0X30(imsi-WithLMSI SEQUENCE) 0xXX {0x04(IMSI OCTET) 0xXX ����}{0x04(LMSI OCTET) 0xXX 
����}

so how to judge 1 or 2 ? 
        


Reply via email to