# hnbap.cnf # hnbap conformation file # Copyright 2010 Neil Piercy, ip.access Limited # $Id$ #.OPT PER ALIGNED #.END #.PDU HNBAP-PDU ##.MAKE_DEFINES #ProcedureCode #.MAKE_ENUM ProtocolIE-ID ProcedureCode #.TYPE_RENAME ProtocolIE-Field/value ProtocolIE_Field_value PrivateIE-Field/value PrivateIE_Field_value InitiatingMessage/value InitiatingMessage_value SuccessfulOutcome/value SuccessfulOutcome_value UnsuccessfulOutcome/value UnsuccessfulOutcome_value #.FIELD_RENAME InitiatingMessage/value initiatingMessagevalue UnsuccessfulOutcome/value unsuccessfulOutcome_value SuccessfulOutcome/value successfulOutcome_value PrivateIE-Field/value private_value ProtocolIE-Field/value ie_field_value ProtocolIE-Field/id protocol_ie_field_id PrivateIE-Field/id private_ie_field_id GeographicalLocation/geographicalCoordinates geographical_location_geographical_coordinates HNB-Location-Information/geographicalCoordinates hnb_location_information_geographical_coordinates #.OMIT_ASSIGNMENT Presence ProtocolIE-ContainerList ProtocolIE-Single-Container #.END #.NO_EMIT AccessResult #.END #.FN_PARS ProtocolIE-ID VAL_PTR = &ProtocolIE_ID #.FN_FTR ProtocolIE-ID if (tree) { proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s", val_to_str(ProtocolIE_ID, VALS(hnbap_ProtocolIE_ID_vals), "unknown (%d)")); } #.END #.FN_PARS ProtocolIE-Field/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldValue #.FN_PARS ProtocolExtensionField/extensionValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolExtensionFieldExtensionValue #.FN_PARS ProcedureCode VAL_PTR = &ProcedureCode #.FN_FTR ProcedureCode if (strcmp(val_to_str(ProcedureCode, hnbap_ProcedureCode_vals, "Unknown"), "Unknown") == 0) { col_set_str(actx->pinfo->cinfo, COL_INFO, "Unknown Message"); } /* Known Procedures should be included below and broken out as ELEMENTARY names to avoid confusion */ #.FN_PARS InitiatingMessage/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_InitiatingMessageValue #.FN_PARS SuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_SuccessfulOutcomeValue #.FN_PARS UnsuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_UnsuccessfulOutcomeValue # There is no protocol inside HNBAP so fill col info with HNBAP elementary procedure name #.FN_BODY HNBRegisterRequest col_set_str(actx->pinfo->cinfo, COL_INFO, "HNB_REGISTER_REQUEST "); %(DEFAULT_BODY)s #.FN_BODY HNBRegisterAccept col_set_str(actx->pinfo->cinfo, COL_INFO, "HNB_REGISTER_ACCEPT "); %(DEFAULT_BODY)s #.FN_BODY HNBRegisterReject col_set_str(actx->pinfo->cinfo, COL_INFO, "HNB_REGISTER_REJECT "); %(DEFAULT_BODY)s #.FN_BODY UERegisterRequest col_set_str(actx->pinfo->cinfo, COL_INFO, "UE_REGISTER_REQUEST "); %(DEFAULT_BODY)s #.FN_BODY UERegisterAccept col_set_str(actx->pinfo->cinfo, COL_INFO, "UE_REGISTER_ACCEPT "); %(DEFAULT_BODY)s #.FN_BODY UERegisterReject col_set_str(actx->pinfo->cinfo, COL_INFO, "UE_REGISTER_REJECT "); %(DEFAULT_BODY)s #.FN_BODY UEDe-Register col_set_str(actx->pinfo->cinfo, COL_INFO, "UE_DE-REGISTER "); %(DEFAULT_BODY)s #.FN_BODY HNBDe-Register col_set_str(actx->pinfo->cinfo, COL_INFO, "HNB_DE-REGISTER "); %(DEFAULT_BODY)s #.FN_BODY ErrorIndication col_set_str(actx->pinfo->cinfo, COL_INFO, "ERROR_INDICATION "); col_set_fence(actx->pinfo->cinfo, COL_INFO); /* Protect info from CriticalityDiagnostics decodes */ %(DEFAULT_BODY)s #.FN_BODY CSGMembershipUpdate col_set_str(actx->pinfo->cinfo, COL_INFO, "CSG_MEMBERSHIP_UPDATE_MESSAGE "); %(DEFAULT_BODY)s #.FN_BODY PrivateMessage col_set_str(actx->pinfo->cinfo, COL_INFO, "PRIVATE_MESSAGE "); %(DEFAULT_BODY)s #.FN_BODY TNLUpdateRequest col_set_str(actx->pinfo->cinfo, COL_INFO, "TNL_UPDATE_REQUEST_MESSAGE "); %(DEFAULT_BODY)s #.FN_BODY TNLUpdateResponse col_set_str(actx->pinfo->cinfo, COL_INFO, "TNL_UPDATE_RESPONSE_MESSAGE "); %(DEFAULT_BODY)s #.FN_BODY TNLUpdateFailure col_set_str(actx->pinfo->cinfo, COL_INFO, "TNL_UPDATE_FAILURE_MESSAGE "); %(DEFAULT_BODY)s #.FN_BODY HNBConfigTransferRequest col_set_str(actx->pinfo->cinfo, COL_INFO, "HNB_CONFIG_TRANSFER_REQUEST_MESSAGE "); %(DEFAULT_BODY)s #.FN_BODY HNBConfigTransferResponse col_set_str(actx->pinfo->cinfo, COL_INFO, "HNB_CONFIG_TRANSFER_RESPONSE_MESSAGE "); %(DEFAULT_BODY)s #.FN_BODY RelocationComplete col_set_str(actx->pinfo->cinfo, COL_INFO, "RELOCATION_COMPLETE_MESSAGE "); %(DEFAULT_BODY)s #.END #.ASSIGN_VALUE_TO_TYPE # HNBAP ASN.1 does not have constants assigned to types # ProcedureCode id-HNBRegister ProcedureCode id-HNBDe-Register ProcedureCode id-UERegister ProcedureCode id-UEDe-Register ProcedureCode id-ErrorIndication ProcedureCode id-privateMessage ProcedureCode id-CSGMembershipUpdate ProcedureCode id-TNLUpdate ProcedureCode id-HNBConfigTransfer ProcedureCode id-RelocationComplete ProcedureCode # ProtocolIE-ID id-Cause ProtocolIE-ID id-CriticalityDiagnostics ProtocolIE-ID id-HNB-Identity ProtocolIE-ID id-Context-ID ProtocolIE-ID id-UE-Identity ProtocolIE-ID id-LAC ProtocolIE-ID id-RAC ProtocolIE-ID id-HNB-Location-Information ProtocolIE-ID id-PLMNidentity ProtocolIE-ID id-SAC ProtocolIE-ID id-CellIdentity ProtocolIE-ID id-Registration-Cause ProtocolIE-ID id-UE-Capabilities ProtocolIE-ID id-RNC-ID ProtocolIE-ID id-CSG-ID ProtocolIE-ID id-BackoffTimer ProtocolIE-ID id-HNB-Internet-Information ProtocolIE-ID id-HNB-Cell-Access-Mode ProtocolIE-ID id-MuxPortNumber ProtocolIE-ID id-Service-Area-For-Broadcast ProtocolIE-ID id-CSGMembershipStatus ProtocolIE-ID id-RABList ProtocolIE-ID id-HNBConfigInfo ProtocolIE-ID id-AccessResult ProtocolIE-ID id-Update-cause ProtocolIE-ID id-NeighbourInfoList ProtocolIE-ID id-NeighbourInfoRequestList ProtocolIE-ID id-Iurh-Signalling-TNL-Address ProtocolIE-ID id-PSC ProtocolIE-ID id-HNB-Cell-Identifier ProtocolIE-ID #.END #.REGISTER_NEW #HNBAP-PROTOCOL-IES Cause N hnbap.ies id-Cause CriticalityDiagnostics N hnbap.ies id-CriticalityDiagnostics HNB-Identity N hnbap.ies id-HNB-Identity Context-ID N hnbap.ies id-Context-ID UE-Identity N hnbap.ies id-UE-Identity LAC N hnbap.ies id-LAC RAC N hnbap.ies id-RAC HNB-Location-Information N hnbap.ies id-HNB-Location-Information PLMNidentity N hnbap.ies id-PLMNidentity SAC N hnbap.ies id-SAC CellIdentity N hnbap.ies id-CellIdentity Registration-Cause N hnbap.ies id-Registration-Cause UE-Capabilities N hnbap.ies id-UE-Capabilities RNC-ID N hnbap.ies id-RNC-ID CSG-ID N hnbap.ies id-CSG-ID BackoffTimer N hnbap.ies id-BackoffTimer CSGMembershipStatus N hnbap.ies id-CSGMembershipStatus RABList N hnbap.ies id-RABList # id-HNBConfigInfo # id-AccessResult Update-cause N hnbap.ies id-Update-cause NeighbourInfoList N hnbap.ies id-NeighbourInfoList NeighbourInfoRequestList N hnbap.ies id-NeighbourInfoRequestList # id-HNB-Cell-Identifier #HNBAP-PROTOCOL-EXTENSION IP-Address N hnbap.extension id-HNB-Internet-Information HNB-Cell-Access-Mode N hnbap.extension id-HNB-Cell-Access-Mode MuxPortNumber N hnbap.extension id-MuxPortNumber CSGMembershipStatus N hnbap.extension id-CSGMembershipStatus IP-Address N hnbap.extension id-Iurh-Signalling-TNL-Address PSC N hnbap.extension id-PSC #HNBAP-ELEMENTARY-PROCEDURE #CLASS 1 HNBRegisterRequest N hnbap.proc.imsg id-HNBRegister HNBRegisterAccept N hnbap.proc.sout id-HNBRegister HNBRegisterReject N hnbap.proc.uout id-HNBRegister UERegisterRequest N hnbap.proc.imsg id-UERegister UERegisterAccept N hnbap.proc.sout id-UERegister UERegisterReject N hnbap.proc.uout id-UERegister TNLUpdateRequest N hnbap.proc.imsg id-TNLUpdate TNLUpdateResponse N hnbap.proc.sout id-TNLUpdate TNLUpdateFailure N hnbap.proc.uout id-TNLUpdate HNBConfigTransferRequest N hnbap.proc.imsg id-HNBConfigTransfer HNBConfigTransferResponse N hnbap.proc.sout id-HNBConfigTransfer RelocationComplete N hnbap.proc.imsg id-RelocationComplete #CLASS 2 UEDe-Register N hnbap.proc.imsg id-UEDe-Register HNBDe-Register N hnbap.proc.imsg id-HNBDe-Register ErrorIndication N hnbap.proc.imsg id-ErrorIndication CSGMembershipUpdate N hnbap.proc.imsg id-CSGMembershipUpdate PrivateMessage N hnbap.proc.imsg id-privateMessage #.END