hello Prasad Vasa
����ok,now I know your mean,but when IMSI="1234",I think the encode is not 0x31 0x32
0x33 0x34,but 0x21 0x43.
(TBCD-STRING ::= OCTET STRING
-- This type (Telephony Binary Coded Decimal String) is used to
-- represent several digits from 0 through 9, *, #, a, b, c, two
-- digits per octet, each digit encoded 0000 to 1001 (0 to 9),
-- 1010 (*), 1011 (#), 1100 (a), 1101 (b) or 1110 (c); 1111 used
-- as filler when there is an odd number of digits.
-- bits 8765 of octet n encoding digit 2n
-- bits 4321 of octet n encoding digit 2(n-1) +1
)
And my doubt about tag still not solved, just as in my first letter ,my question
about tag is in TCAP component,after Operation Code of Operation TLV (Operation Code
Tag Operation Code Length Operation Code),then next is the Parameter
TLV(Parameter Tag Parameter Length Parameters),so operation name has
appeared, so if only one parameter of this operation will encode ,such as:
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),
...}
when cancellationType and extensionContainer both absent, WILL the tag of SEQUENCE
encoded in ? Can it omit?
I have a true data of this, it was only have identity(IMSI-WithLMSI)(in HEX):
30 10 {04 08 54 04 24 01 10 32 09 F3 IMSI} {04 04 00 00 7E 35 LMSI}
only omit tag of CancelLocationArg's SEQUENCE,this can decoded ok.
My question is when will omit the tag of the operation?
And if can omit, how to judge the two conditions as follows:
1 identity and cancellationType are present , 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 only identity present, 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 ?
Element form Invoke component Mandatory Indication
Constructor Component Type TagComponent Length M
Primitive Invoke ID TagInvoke ID LengthInvoke ID M
Primitive Linked ID TagLinked ID LengthLinked ID O
Primitive Operation Code TagOperation Code LengthOperation Code M
Primitive/constructor Parameter TagParameter LengthParameters O
======= 2002-07-24 15:23:00 in your letter=======
>Hello Tong,
>Please find the below encoding of the v3 CANLOC by having IMSI with LMSI (
>and without any cancellation type and Extension container having a value of
>IMSI ="1234" and LMSI ="9999")
>As per BER
>
>0xA3 0x0E -- CANLOC Tag/Val
> 0x30 0x0C -- IMSI with LMSI SEQUENCE Tag /Val
> 0x04 0x04 -- IMSI Tag /Val
> 0x31 0x32 0x33 0x34
> 0x04 0x04 -- LMSI Tag /Val
> 0x39 0x39 0x39 0x39
>
>Warm regards,
>Vasa
>
>-----Original Message-----
>From: tong [mailto:[EMAIL PROTECTED]]
>Sent: Tuesday, July 23, 2002 10:31 PM
>To: [EMAIL PROTECTED]
>Subject: RE: [ASN.1] a doubt about tag
>
>
>hello Prasad Vasa
>======= 2002-07-23 11:48:00 in your letter=======
>
>>hello
>> 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) ?
>>
>>>>>>>No, if both cancellationType & extensionContainer are absent I
>>observed the encoding as below ( supposing imsi value is "1234")
>>0xA3 0x06 0x04 0x04 0x31 0x32 0x33 0x34
>then,if have IMSI and LMSI,how to encode it?
>>
>>
>>Warm regards,
>>Vasa
>>
>> 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 ?
>>
>
>= = = = = = = = = = = = = = = = = = = =
>
>
>
>
> tong
> [EMAIL PROTECTED]
> 2002-07-24
= = = = = = = = = = = = = = = = = = = =
tong
[EMAIL PROTECTED]
2002-07-25