public StackPacket DecodeDisconnectProviderUltimatumPDU(byte[] data)
{
// initialize
int currentIndex = 0;
MCS_Disconnect_Provider_Ultimatum_Pdu pdu = new MCS_Disconnect_Provider_Ultimatum_Pdu();
// MCS_Disconnect_Provider_Ultimatum_Pdu: tpktHeader
pdu.tpktHeader = ParseTpktHeader(data, ref currentIndex);
// MCS_Disconnect_Provider_Ultimatum_Pdu: x224Data
pdu.x224Data = ParseX224Data(data, ref currentIndex);
// MCS_Disconnect_Provider_Ultimatum_Pdu: disconnectProviderUltimatum
pdu.disconnectProvider =
(DisconnectProviderUltimatum)ParseMcsDomainPdu(data, ref currentIndex).GetData();
// Check if data length exceeded expectation
VerifyDataLength(data.Length, currentIndex, ConstValue.ERROR_MESSAGE_DATA_LENGTH_EXCEEDED);
return pdu;
}