Your ASN.1 root element has the wrong container type

The ASN1Parse operator requires that the pdu parameter references a SEQUENCE, SET, or CHOICE ASN.1 element. It does not allow you to select a defined ASN.1 element, as shown in the following example:


MY_ROOT ::= SEQUENCE OF ANOTHER_TYPE

In addition, the ASN1Parse operator must identify the specified ASN.1 element as a possible root PDU. In other words, the specified ASN.1 element must not be referenced by another ASN.1 element. For example, pdu: "MY_ROOT" is not allowed for the following ASN.1 grammar because MY_ROOT is referenced by MY_CHILD_TYPE.


MY_ROOT ::= SEQUENCE
{
	a_child_element OPTIONAL MY_CHILD_TYPE
}

MY_CHILD_TYPE ::= SEQUENCE
{
	a_parent MY_ROOT
}

On the other hand, the following ASN.1 grammar allows the pdu parameter to select the MY_ROOT because it is of SEQUENCE type and because no other ASN.1 element references it.


MY_ROOT ::= SEQUENCE
{
	a_element MY_PARENT_TYPE
}

MY_PARENT_TYPE ::= SEQUENCE
{
	a_child_element OPTIONAL MY_CHILD_TYPE
}

MY_CHILD_TYPE ::= SEQUENCE
{
	a_parent MY_ROOT
}

Resolving the problem

If you want to set the pdu parameter manually, assign the name of an ASN.1 element that is SEQUENCE, SET, or CHOICE type and that is not referenced by any other ASN.1 element.