+std::string otherSucc = " <E2AP-PDU>"
+ "<successfulOutcome>"
+ "<procedureCode>1</procedureCode>"
+ "<criticality><reject/></criticality>"
+ "<value>"
+ "<E2setupResponse>"
+ "<protocolIEs>"
+ "<E2setupResponseIEs>"
+ "<id>4</id>"
+ "<criticality><reject/></criticality>"
+ "<value>"
+ "<GlobalRIC-ID>"
+ "<pLMN-Identity>131014</pLMN-Identity>"
+ "<ric-ID>10101010110011001110</ric-ID>"
+ "</GlobalRIC-ID>"
+ "</value>"
+ "</E2setupResponseIEs><E2setupResponseIEs><id>9</id><criticality><reject/></criticality><value><RANfunctionsID-List><ProtocolIE-SingleContainer><id>6</id><criticality><ignore/></criticality><value><RANfunctionID-Item><ranFunctionID>1</ranFunctionID><ranFunctionRevision>1</ranFunctionRevision></RANfunctionID-Item></value></ProtocolIE-SingleContainer><ProtocolIE-SingleContainer><id>6</id><criticality><ignore/></criticality><value><RANfunctionID-Item><ranFunctionID>2</ranFunctionID><ranFunctionRevision>1</ranFunctionRevision></RANfunctionID-Item></value></ProtocolIE-SingleContainer><ProtocolIE-SingleContainer><id>6</id><criticality><ignore/></criticality><value><RANfunctionID-Item><ranFunctionID>3</ranFunctionID><ranFunctionRevision>1</ranFunctionRevision></RANfunctionID-Item></value></ProtocolIE-SingleContainer></RANfunctionsID-List></value></E2setupResponseIEs></protocolIEs></E2setupResponse></value></successfulOutcome></E2AP-PDU>";
+
auto main(const int argc, char **argv) -> int {
E2AP_PDU_t pdu;
char *printBuffer;
unsigned char buffer[8192] = {};
E2AP_PDU_t *XERpdu = nullptr;
+ cout << "message size = " << otherSucc.length() << endl;
auto rval = asn_decode(nullptr, ATS_BASIC_XER, &asn_DEF_E2AP_PDU, (void **) &XERpdu,
- setupFailure.c_str(), setupFailure.length());
+ otherSucc.c_str(), otherSucc.length());
if (rval.code != RC_OK) {
cout << "Error " << rval.code << " (unpack) setup response " << endl;
//return -1;