Note: an update to this post is available at https://obj-sys.com/blog/viewing-huawei-ims-cdrs-in-asn1ve-updated.html
We have received a number of inquiries lately on how to view Huawei IMS CDR's in ASN1VE. These files use ASN.1 BER-formatting, but they contain additional non-ASN.1 headers that make working around the non-ASN.1 data a bit tricky.
Normally, if a non-ASN.1 header is present, it is either a single header at the beginning of the file, or a header that appears before each record. What makes the Huawei format different is that it contains both. As of version 2.2, ASN1VE can now take this into account by allowing both a fixed and repeating header to be specified. In the case of the specific Huawei format we looked at, the fixed header was 50 bytes and repeating header was 4 bytes. This is specified using the Edit -> Configure command in ASN1VE and setting the offsets as shown in the following screenshot:
In this case, the "Skip Message Bytes" item about 2/3 of the way down must be set.
Once this is done, the CDR's should be viewable and an ASN.1 file may be assigned. The ASN.1 file may be found as an embedded object in the Huawei documents.
In some cases, the files may not quite fit this pattern. If the output looks garbled in the viewer, it may be because the offsets are not right. There has been at least one case we have observed where the fixed header was not present but the repeating header was. One way to try and determine where the ASN.1 encoded data starts is to examine the hex view and looks for 0xBF hex codes. These normally signal the start of the initial tagged field in the document. The offsets can then be adjusted to skip everything up to this code and you then may be able to examine the data.