Hi. I took place in your ASN.1 course in the beginning of December and I have a question about the PER that we studied. As we studied the choice in PER will be encoded as the index of the wanted choice when the indexes run from 1 to n. We are having a protocol analyser, and we recieved from one of our clients a trace of the H.245 protocol which show that the first choice of the spec is sometimes transmitted as '0' when I would think it can take only values from 1 to 4. If you can explain again the way PER's Choice is handled, I will be gratefull. Thanks, Ran Ravid, Radcom Ltd <<trace.txt>>
@ Start time = 04-DEC-2000 14:32:30.000000 @ Stop time = 04-DEC-2000 14:33:01.000000 @ Line type = Fast Ethernet/802.3 @ Time mode = Relative @ Protocol stack = Ethernet @ Offset = 0 Frame: 1 Captured at: +00:00.000 Length: 134 From: Port 1 Status: Ok Ethernet: Destination Address 0080C8EBB1B3 <0080C8EBB1B3> Ethernet: Individual Address Ethernet: Universally Address Ethernet: Source Address 0080A2003928 <0080A2003928> Ethernet: Universally Address Ethernet: Ethernet V.2, Type DOD IP <0800> IP: Version = 4 <45> IP: IHL = 20 [Bytes] IP: Type of Service: 0x00 <00> IP: Routine IP: Normal Delay IP: Normal Throughput IP: Normal Reliability IP: Total Length = 116 <0074> IP: Identification = 21424 <53B0> IP: Flags & Fragment Offset: 0x0000 <0000> IP: 0............... Reserved IP: .0.............. May Fragment IP: ..0............. Last Fragment IP: Fragment Offset = 0 [Bytes] IP: Time to Live = 64 [Seconds/Hops] <40> IP: Protocol: 6 TCP <06> IP: Header Checksum = 0xA1D5 <A1D5> IP: Source Address = 192.168.2.11 <C0A8020B> IP: Destination Address = 192.168.1.163 <C0A801A3> TCP: Source Port = 1025 <0401> TCP: Destination Port = 1934 <078E> TCP: Sequence Number = 2084194422 <7C3A4876> TCP: Acknowledgement Number = 961554761 <39502949> TCP: 0101............ HLEN = 20 [Bytes] <5018> TCP: ....000000...... Reserved TCP: ..........0..... Urgent Pointer Field Significant TCP: ...........1.... Acknowledgment Field Significant TCP: ............1... Push Function TCP: .............0.. Reset The Connection TCP: ..............0. Synchronize Sequence Number TCP: ...............0 No More Data From The Sender TCP: Window = 8192 <2000> TCP: CheckSum = 0x44E1 H.245: MultimediaSystemControlMessage CHOICE [index = 4] H.245: Total PDV length = 2.0 H.245: MultimediaSystemControlMessage CHOICE [index = 0] H.245: request RequestMessage CHOICE [index = 0] H.245: nonStandard NonStandardMessage SEQUENCE [fieldcount (not encoded) = 1] H.245: nonStandardData NonStandardParameter SEQUENCE [fieldcount (not encoded) = 2] H.245: nonStandardIdentifier NonStandardIdentifier CHOICE [index = 1] H.245: h221NonStandard SEQUENCE [fieldcount (not encoded) = 3] H.245: t35CountryCode INTEGER [length (not encoded) = 1.0] H.245: 1 H.245: t35Extension INTEGER [length (not encoded) = 1.0] H.245: 255 H.245: manufacturerCode INTEGER [length (not encoded) = 2.0] H.245: 39260 H.245: data OCTET STRING [length = 0.0] H.245: 0x H.245: Total PDV length = 7.0 MultimediaSystemControlMessage CHOICE [index = 0] request RequestMessage CHOICE [index = 0] nonStandard NonStandardMessage SEQUENCE [fieldcount (not encoded) = 1] nonStandardData NonStandardParameter SEQUENCE [fieldcount (not encoded) = 2] nonStandardIdentifier NonStandardIdentifier CHOICE [index = 0] object OBJECT IDENTIFIER [length = 0.0] 0x D0037E: Value misencoded or length wrong for value; check field 'object' (type: OBJECT IDENTIFIER) of field 'nonStandardIdentifier' (type: NonStandardIdentifier) of field 'nonStandardData' (type: NonStandardParameter) of field 'nonStandard' (type: NonStandardMessage) of field 'request' (type: RequestMessage) of PDU #1 (type: MultimediaSystemControlMessage). The encoded data is structurally invalid User Data OFFSET DATA ASCII 003F: 00 00 00 00 00 00 02 22 00 00 01 00 00 00 01 00 ......."........ 004F: 00 00 64 00 00 00 01 00 00 00 14 00 00 27 10 00 ..d..........'.. 005F: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 006F: 00 00 00 00 00 00 00 00 46 2D 50 00 00 00 00 00 ........F-P..... 007F: 00 00 00 ... Frame Tail OFFSET DATA ASCII 0082: 7F E6 6E E0 ..n.