简体   繁体   中英

How to decode TS32297 headers in ASN.1 schema for BER

I am trying to write asn.1 schema for IMS cdrs having file header and repeating cdr headers(TS 32297 headers) but not able to decode these headers
In a specification shared by the client these headers are defined like this:

FileHeader ::= SEQUENCE
{   fileLength                          [0] INTEGER     (SIZE(4) CODE("DEC")) OPTIONAL,
    headerlength                        [1] INTEGER (SIZE (3) CODE ("DEC")) OPTIONAL,
    highreleaseIdentifier               [2] OCTET STRING (SIZE (1)CODE ("LEFT")) OPTIONAL,
    lowreleaseIdentifier                    [3] OCTET STRING (SIZE (1)CODE ("LEFT")) OPTIONAL,
    fileTimestamp                   [4] OCTET STRING (SIZE (4)CODE ("LEFT")) OPTIONAL,
    lastcdrTimestamp                    [5] OCTET STRING (SIZE (4)CODE ("LEFT")) OPTIONAL,
    dataRecordIdentifier                [6] OCTET STRING (SIZE (8)CODE ("LEFT")) OPTIONAL,  
    totalCdr                    [10] OCTET STRING (SIZE (4)CODE ("LEFT")) OPTIONAL,
    filesequencenumber                  [11] OCTET STRING (SIZE (4)CODE ("LEFT")) OPTIONAL,
    filecloserReason                [12] IMPLICIT   FilecloserReason (SIZE (4)CODE("DEC")) OPTIONAL,
    ipnodeaddress                       [13] OCTET STRING (SIZE (20)CODE ("LEFT")) OPTIONAL,
    lostCdrindicator                [14] OCTET STRING (SIZE (1)CODE ("LEFT")) OPTIONAL,
    lengthCdrFilter                     [15] INTEGER (SIZE (2)CODE ("LEFT")) OPTIONAL,
    cdrroutingFilter                [16] OCTET STRING (SIZE (5)CODE ("LEFT")) OPTIONAL  
}
CDRHeader ::= SEQUENCE
{       
    cDRLength                       [0] INTEGER     (SIZE(2) CODE("DEC")) OPTIONAL,
    releaseIdentifier           [1] IMPLICIT  OCTET STRING (SIZE (1)CODE ("LEFT")) OPTIONAL, -- This comprises of Release Id and Version Id 
    dataRecordIdentifier        [2] IMPLICIT  OCTET STRING (SIZE (1)CODE ("LEFT")) OPTIONAL, -- It comprises of Data Record Number and TS Number 
    releaseIdentifierextension  [3] IMPLICIT  ReleaseIdentifierextension (SIZE (1)CODE("DEC")) OPTIONAL 
}

But these CODE("DEC")/CODE ("LEFT") is not understandable by ASNVE1 so not able to compile this asn specs.

Please suggest how to modify the ASN schema for the headers

Your specification is not valid

  1. CODE is not a valid constraint
  2. If it were a valid constraint, then you would need a logical operator to combine it with the SIZE constraint

You can remove all the CODE("DEC") and CODE ("LEFT")

You can't do what you are trying to do. TS 32.297 headers are not specified in ASN.1 and do not conform to ASN.1 encoding. If you are using Objective System's ASN1VE tool to view this data, it has the ability to parse the headers and then display the ASN.1 data, but you have to tell it that your data has 32.297 headers. And then use the unmodified ASN.1 schema that describes the ASN.1-encoded data.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM