From 5550bad85735872be74ba3deae220a600ff8dd22 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Tue, 27 Oct 2015 13:56:04 +0100 Subject: Remove autogenerated files --- acse.erl | 3345 ------------------ acse.hrl | 58 - kme.erl | 11764 ------------------------------------------------------------- kme.hrl | 212 -- rose.erl | 1098 ------ rose.hrl | 27 - 6 files changed, 16504 deletions(-) delete mode 100644 acse.erl delete mode 100644 acse.hrl delete mode 100644 kme.erl delete mode 100644 kme.hrl delete mode 100644 rose.erl delete mode 100644 rose.hrl diff --git a/acse.erl b/acse.erl deleted file mode 100644 index 4f852c7..0000000 --- a/acse.erl +++ /dev/null @@ -1,3345 +0,0 @@ -%% Generated by the Erlang ASN.1 BER_V2-compiler version, utilizing bit-syntax:4.0 -%% Purpose: encoder and decoder to the types in mod acse - --module('acse'). --compile(nowarn_unused_vars). --include("acse.hrl"). --asn1_info([{vsn,'4.0'}, - {module,'acse'}, - {options,[{i,"/Users/quax/erl"}, - warnings,ber,errors, - {cwd,"/Users/quax/erl"}, - {outdir,"/Users/quax/erl"}, - {i,"."}, - {i,"/Users/quax/erl/lib"}]}]). - --export([encoding_rule/0,bit_string_format/0, - legacy_erlang_types/0]). --export(['dialyzer-suppressions'/1]). --export([ -'enc_VendorSpecEvents'/2, -'enc_VoiceUnitEvents'/2, -'enc_DeviceMaintenanceEvents'/2, -'enc_LogicalDeviceFeatureEvents'/2, -'enc_PhysicalDeviceFeatureEvents'/2, -'enc_MediaAttachmentEvents'/2, -'enc_CallAssociatedEvents'/2, -'enc_CallControlEvents'/2, -'enc_LocationServices'/2, -'enc_VoiceUnitServices'/2, -'enc_RouteingServices'/2, -'enc_MediaAttachmentServices'/2, -'enc_CallAssociatedServices'/2, -'enc_CallControlServices'/2, -'enc_CSTAVersion'/2, -'enc_CSTAPrivateDataVersionList'/2, -'enc_NewACSEUserInformationForCSTA'/2, -'enc_OldACSEUserInformationForCSTA'/2, -'enc_ACSEUserInformationForCSTA'/2, -'enc_VoiceUnitServicesC2'/2, -'enc_InputOutputServicesC2'/2, -'enc_StatusReportingServicesC2'/2, -'enc_BidirectionalServicesC2'/2, -'enc_ComputingFunctionServicesC2'/2, -'enc_EventReportServicesC2'/2, -'enc_SwitchingFunctionServicesC2'/2, -'enc_CSTAFunctionality'/2, -'enc_Release-response-reason'/2, -'enc_Release-request-reason'/2, -'enc_Mechanism-name'/2, -'enc_Implementation-data'/2, -'enc_Authentication-value'/2, -'enc_Association-information'/2, -'enc_Associate-source-diagnostic'/2, -'enc_Associate-result'/2, -'enc_AP-invocation-identifier'/2, -'enc_AE-invocation-identifier'/2, -'enc_AE-title-form2'/2, -'enc_AE-title-form1'/2, -'enc_AE-title'/2, -'enc_AE-qualifier-form2'/2, -'enc_AP-title-form2'/2, -'enc_AE-qualifier-form1'/2, -'enc_AP-title-form1'/2, -'enc_AE-qualifier'/2, -'enc_AP-title'/2, -'enc_Application-context-name'/2, -'enc_Application-context-name-list'/2, -'enc_ACSE-requirements'/2, -'enc_ABRT-source'/2, -'enc_ABRT-diagnostic'/2, -'enc_ABRT-apdu'/2, -'enc_RLRE-apdu'/2, -'enc_RLRQ-apdu'/2, -'enc_AARE-apdu'/2, -'enc_AARQ-apdu'/2, -'enc_ACSE-apdu'/2, -'enc_EXTERNAL'/2 -]). - --export([ -'dec_VendorSpecEvents'/2, -'dec_VoiceUnitEvents'/2, -'dec_DeviceMaintenanceEvents'/2, -'dec_LogicalDeviceFeatureEvents'/2, -'dec_PhysicalDeviceFeatureEvents'/2, -'dec_MediaAttachmentEvents'/2, -'dec_CallAssociatedEvents'/2, -'dec_CallControlEvents'/2, -'dec_LocationServices'/2, -'dec_VoiceUnitServices'/2, -'dec_RouteingServices'/2, -'dec_MediaAttachmentServices'/2, -'dec_CallAssociatedServices'/2, -'dec_CallControlServices'/2, -'dec_CSTAVersion'/2, -'dec_CSTAPrivateDataVersionList'/2, -'dec_NewACSEUserInformationForCSTA'/2, -'dec_OldACSEUserInformationForCSTA'/2, -'dec_ACSEUserInformationForCSTA'/2, -'dec_VoiceUnitServicesC2'/2, -'dec_InputOutputServicesC2'/2, -'dec_StatusReportingServicesC2'/2, -'dec_BidirectionalServicesC2'/2, -'dec_ComputingFunctionServicesC2'/2, -'dec_EventReportServicesC2'/2, -'dec_SwitchingFunctionServicesC2'/2, -'dec_CSTAFunctionality'/2, -'dec_Release-response-reason'/2, -'dec_Release-request-reason'/2, -'dec_Mechanism-name'/2, -'dec_Implementation-data'/2, -'dec_Authentication-value'/2, -'dec_Association-information'/2, -'dec_Associate-source-diagnostic'/2, -'dec_Associate-result'/2, -'dec_AP-invocation-identifier'/2, -'dec_AE-invocation-identifier'/2, -'dec_AE-title-form2'/2, -'dec_AE-title-form1'/2, -'dec_AE-title'/2, -'dec_AE-qualifier-form2'/2, -'dec_AP-title-form2'/2, -'dec_AE-qualifier-form1'/2, -'dec_AP-title-form1'/2, -'dec_AE-qualifier'/2, -'dec_AP-title'/2, -'dec_Application-context-name'/2, -'dec_Application-context-name-list'/2, -'dec_ACSE-requirements'/2, -'dec_ABRT-source'/2, -'dec_ABRT-diagnostic'/2, -'dec_ABRT-apdu'/2, -'dec_RLRE-apdu'/2, -'dec_RLRQ-apdu'/2, -'dec_AARE-apdu'/2, -'dec_AARQ-apdu'/2, -'dec_ACSE-apdu'/2, -'dec_EXTERNAL'/2 -]). - --export([ -'aCSE-id'/0, -'acse-as-id'/0 -]). - --export([ -'getenc_ObjectSet'/1 -]). - --export([ -'getdec_ObjectSet'/1 -]). - --export([info/0]). - - --export([encode/2,decode/2]). - -encoding_rule() -> ber. - -bit_string_format() -> bitstring. - -legacy_erlang_types() -> false. - -encode(Type, Data) -> -try iolist_to_binary(element(1, encode_disp(Type, Data))) of - Bytes -> - {ok,Bytes} - catch - Class:Exception when Class =:= error; Class =:= exit -> - case Exception of - {error,Reason}=Error -> - Error; - Reason -> - {error,{asn1,Reason}} - end -end. - -decode(Type,Data) -> -try decode_disp(Type, element(1, ber_decode_nif(Data))) of - Result -> - {ok,Result} - catch - Class:Exception when Class =:= error; Class =:= exit -> - case Exception of - {error,Reason}=Error -> - Error; - Reason -> - {error,{asn1,Reason}} - end -end. - -encode_disp('VendorSpecEvents',Data) -> 'enc_VendorSpecEvents'(Data); -encode_disp('VoiceUnitEvents',Data) -> 'enc_VoiceUnitEvents'(Data); -encode_disp('DeviceMaintenanceEvents',Data) -> 'enc_DeviceMaintenanceEvents'(Data); -encode_disp('LogicalDeviceFeatureEvents',Data) -> 'enc_LogicalDeviceFeatureEvents'(Data); -encode_disp('PhysicalDeviceFeatureEvents',Data) -> 'enc_PhysicalDeviceFeatureEvents'(Data); -encode_disp('MediaAttachmentEvents',Data) -> 'enc_MediaAttachmentEvents'(Data); -encode_disp('CallAssociatedEvents',Data) -> 'enc_CallAssociatedEvents'(Data); -encode_disp('CallControlEvents',Data) -> 'enc_CallControlEvents'(Data); -encode_disp('LocationServices',Data) -> 'enc_LocationServices'(Data); -encode_disp('VoiceUnitServices',Data) -> 'enc_VoiceUnitServices'(Data); -encode_disp('RouteingServices',Data) -> 'enc_RouteingServices'(Data); -encode_disp('MediaAttachmentServices',Data) -> 'enc_MediaAttachmentServices'(Data); -encode_disp('CallAssociatedServices',Data) -> 'enc_CallAssociatedServices'(Data); -encode_disp('CallControlServices',Data) -> 'enc_CallControlServices'(Data); -encode_disp('CSTAVersion',Data) -> 'enc_CSTAVersion'(Data); -encode_disp('CSTAPrivateDataVersionList',Data) -> 'enc_CSTAPrivateDataVersionList'(Data); -encode_disp('NewACSEUserInformationForCSTA',Data) -> 'enc_NewACSEUserInformationForCSTA'(Data); -encode_disp('OldACSEUserInformationForCSTA',Data) -> 'enc_OldACSEUserInformationForCSTA'(Data); -encode_disp('ACSEUserInformationForCSTA',Data) -> 'enc_ACSEUserInformationForCSTA'(Data); -encode_disp('VoiceUnitServicesC2',Data) -> 'enc_VoiceUnitServicesC2'(Data); -encode_disp('InputOutputServicesC2',Data) -> 'enc_InputOutputServicesC2'(Data); -encode_disp('StatusReportingServicesC2',Data) -> 'enc_StatusReportingServicesC2'(Data); -encode_disp('BidirectionalServicesC2',Data) -> 'enc_BidirectionalServicesC2'(Data); -encode_disp('ComputingFunctionServicesC2',Data) -> 'enc_ComputingFunctionServicesC2'(Data); -encode_disp('EventReportServicesC2',Data) -> 'enc_EventReportServicesC2'(Data); -encode_disp('SwitchingFunctionServicesC2',Data) -> 'enc_SwitchingFunctionServicesC2'(Data); -encode_disp('CSTAFunctionality',Data) -> 'enc_CSTAFunctionality'(Data); -encode_disp('Release-response-reason',Data) -> 'enc_Release-response-reason'(Data); -encode_disp('Release-request-reason',Data) -> 'enc_Release-request-reason'(Data); -encode_disp('Mechanism-name',Data) -> 'enc_Mechanism-name'(Data); -encode_disp('Implementation-data',Data) -> 'enc_Implementation-data'(Data); -encode_disp('Authentication-value',Data) -> 'enc_Authentication-value'(Data); -encode_disp('Association-information',Data) -> 'enc_Association-information'(Data); -encode_disp('Associate-source-diagnostic',Data) -> 'enc_Associate-source-diagnostic'(Data); -encode_disp('Associate-result',Data) -> 'enc_Associate-result'(Data); -encode_disp('AP-invocation-identifier',Data) -> 'enc_AP-invocation-identifier'(Data); -encode_disp('AE-invocation-identifier',Data) -> 'enc_AE-invocation-identifier'(Data); -encode_disp('AE-title-form2',Data) -> 'enc_AE-title-form2'(Data); -encode_disp('AE-title-form1',Data) -> 'enc_AE-title-form1'(Data); -encode_disp('AE-title',Data) -> 'enc_AE-title'(Data); -encode_disp('AE-qualifier-form2',Data) -> 'enc_AE-qualifier-form2'(Data); -encode_disp('AP-title-form2',Data) -> 'enc_AP-title-form2'(Data); -encode_disp('AE-qualifier-form1',Data) -> 'enc_AE-qualifier-form1'(Data); -encode_disp('AP-title-form1',Data) -> 'enc_AP-title-form1'(Data); -encode_disp('AE-qualifier',Data) -> 'enc_AE-qualifier'(Data); -encode_disp('AP-title',Data) -> 'enc_AP-title'(Data); -encode_disp('Application-context-name',Data) -> 'enc_Application-context-name'(Data); -encode_disp('Application-context-name-list',Data) -> 'enc_Application-context-name-list'(Data); -encode_disp('ACSE-requirements',Data) -> 'enc_ACSE-requirements'(Data); -encode_disp('ABRT-source',Data) -> 'enc_ABRT-source'(Data); -encode_disp('ABRT-diagnostic',Data) -> 'enc_ABRT-diagnostic'(Data); -encode_disp('ABRT-apdu',Data) -> 'enc_ABRT-apdu'(Data); -encode_disp('RLRE-apdu',Data) -> 'enc_RLRE-apdu'(Data); -encode_disp('RLRQ-apdu',Data) -> 'enc_RLRQ-apdu'(Data); -encode_disp('AARE-apdu',Data) -> 'enc_AARE-apdu'(Data); -encode_disp('AARQ-apdu',Data) -> 'enc_AARQ-apdu'(Data); -encode_disp('ACSE-apdu',Data) -> 'enc_ACSE-apdu'(Data); -encode_disp('EXTERNAL',Data) -> 'enc_EXTERNAL'(Data); -encode_disp(Type,_Data) -> exit({error,{asn1,{undefined_type,Type}}}). - - -decode_disp('VendorSpecEvents',Data) -> 'dec_VendorSpecEvents'(Data); -decode_disp('VoiceUnitEvents',Data) -> 'dec_VoiceUnitEvents'(Data); -decode_disp('DeviceMaintenanceEvents',Data) -> 'dec_DeviceMaintenanceEvents'(Data); -decode_disp('LogicalDeviceFeatureEvents',Data) -> 'dec_LogicalDeviceFeatureEvents'(Data); -decode_disp('PhysicalDeviceFeatureEvents',Data) -> 'dec_PhysicalDeviceFeatureEvents'(Data); -decode_disp('MediaAttachmentEvents',Data) -> 'dec_MediaAttachmentEvents'(Data); -decode_disp('CallAssociatedEvents',Data) -> 'dec_CallAssociatedEvents'(Data); -decode_disp('CallControlEvents',Data) -> 'dec_CallControlEvents'(Data); -decode_disp('LocationServices',Data) -> 'dec_LocationServices'(Data); -decode_disp('VoiceUnitServices',Data) -> 'dec_VoiceUnitServices'(Data); -decode_disp('RouteingServices',Data) -> 'dec_RouteingServices'(Data); -decode_disp('MediaAttachmentServices',Data) -> 'dec_MediaAttachmentServices'(Data); -decode_disp('CallAssociatedServices',Data) -> 'dec_CallAssociatedServices'(Data); -decode_disp('CallControlServices',Data) -> 'dec_CallControlServices'(Data); -decode_disp('CSTAVersion',Data) -> 'dec_CSTAVersion'(Data); -decode_disp('CSTAPrivateDataVersionList',Data) -> 'dec_CSTAPrivateDataVersionList'(Data); -decode_disp('NewACSEUserInformationForCSTA',Data) -> 'dec_NewACSEUserInformationForCSTA'(Data); -decode_disp('OldACSEUserInformationForCSTA',Data) -> 'dec_OldACSEUserInformationForCSTA'(Data); -decode_disp('ACSEUserInformationForCSTA',Data) -> 'dec_ACSEUserInformationForCSTA'(Data); -decode_disp('VoiceUnitServicesC2',Data) -> 'dec_VoiceUnitServicesC2'(Data); -decode_disp('InputOutputServicesC2',Data) -> 'dec_InputOutputServicesC2'(Data); -decode_disp('StatusReportingServicesC2',Data) -> 'dec_StatusReportingServicesC2'(Data); -decode_disp('BidirectionalServicesC2',Data) -> 'dec_BidirectionalServicesC2'(Data); -decode_disp('ComputingFunctionServicesC2',Data) -> 'dec_ComputingFunctionServicesC2'(Data); -decode_disp('EventReportServicesC2',Data) -> 'dec_EventReportServicesC2'(Data); -decode_disp('SwitchingFunctionServicesC2',Data) -> 'dec_SwitchingFunctionServicesC2'(Data); -decode_disp('CSTAFunctionality',Data) -> 'dec_CSTAFunctionality'(Data); -decode_disp('Release-response-reason',Data) -> 'dec_Release-response-reason'(Data); -decode_disp('Release-request-reason',Data) -> 'dec_Release-request-reason'(Data); -decode_disp('Mechanism-name',Data) -> 'dec_Mechanism-name'(Data); -decode_disp('Implementation-data',Data) -> 'dec_Implementation-data'(Data); -decode_disp('Authentication-value',Data) -> 'dec_Authentication-value'(Data); -decode_disp('Association-information',Data) -> 'dec_Association-information'(Data); -decode_disp('Associate-source-diagnostic',Data) -> 'dec_Associate-source-diagnostic'(Data); -decode_disp('Associate-result',Data) -> 'dec_Associate-result'(Data); -decode_disp('AP-invocation-identifier',Data) -> 'dec_AP-invocation-identifier'(Data); -decode_disp('AE-invocation-identifier',Data) -> 'dec_AE-invocation-identifier'(Data); -decode_disp('AE-title-form2',Data) -> 'dec_AE-title-form2'(Data); -decode_disp('AE-title-form1',Data) -> 'dec_AE-title-form1'(Data); -decode_disp('AE-title',Data) -> 'dec_AE-title'(Data); -decode_disp('AE-qualifier-form2',Data) -> 'dec_AE-qualifier-form2'(Data); -decode_disp('AP-title-form2',Data) -> 'dec_AP-title-form2'(Data); -decode_disp('AE-qualifier-form1',Data) -> 'dec_AE-qualifier-form1'(Data); -decode_disp('AP-title-form1',Data) -> 'dec_AP-title-form1'(Data); -decode_disp('AE-qualifier',Data) -> 'dec_AE-qualifier'(Data); -decode_disp('AP-title',Data) -> 'dec_AP-title'(Data); -decode_disp('Application-context-name',Data) -> 'dec_Application-context-name'(Data); -decode_disp('Application-context-name-list',Data) -> 'dec_Application-context-name-list'(Data); -decode_disp('ACSE-requirements',Data) -> 'dec_ACSE-requirements'(Data); -decode_disp('ABRT-source',Data) -> 'dec_ABRT-source'(Data); -decode_disp('ABRT-diagnostic',Data) -> 'dec_ABRT-diagnostic'(Data); -decode_disp('ABRT-apdu',Data) -> 'dec_ABRT-apdu'(Data); -decode_disp('RLRE-apdu',Data) -> 'dec_RLRE-apdu'(Data); -decode_disp('RLRQ-apdu',Data) -> 'dec_RLRQ-apdu'(Data); -decode_disp('AARE-apdu',Data) -> 'dec_AARE-apdu'(Data); -decode_disp('AARQ-apdu',Data) -> 'dec_AARQ-apdu'(Data); -decode_disp('ACSE-apdu',Data) -> 'dec_ACSE-apdu'(Data); -decode_disp('EXTERNAL',Data) -> 'dec_EXTERNAL'(Data); -decode_disp(Type,_Data) -> exit({error,{asn1,{undefined_type,Type}}}). - - - - -info() -> - case ?MODULE:module_info(attributes) of - Attributes when is_list(Attributes) -> - case lists:keyfind(asn1_info, 1, Attributes) of - {_,Info} when is_list(Info) -> - Info; - _ -> - [] - end; - _ -> - [] - end. - - -%%================================ -%% VendorSpecEvents -%%================================ -'enc_VendorSpecEvents'(Val) -> - 'enc_VendorSpecEvents'(Val, [<<3>>]). - -'enc_VendorSpecEvents'(Val, TagIn) -> -encode_named_bit_string(Val, [{privateEvent,0}], TagIn). - - -'dec_VendorSpecEvents'(Tlv) -> - 'dec_VendorSpecEvents'(Tlv, [3]). - -'dec_VendorSpecEvents'(Tlv, TagIn) -> -decode_named_bit_string(Tlv, [{privateEvent,0}], TagIn). - - - -%%================================ -%% VoiceUnitEvents -%%================================ -'enc_VoiceUnitEvents'(Val) -> - 'enc_VoiceUnitEvents'(Val, [<<3>>]). - -'enc_VoiceUnitEvents'(Val, TagIn) -> -encode_named_bit_string(Val, [{stop,0},{play,1},{suspendPlay,2},{record,3},{suspendRecord,4},{review,5},{voiceAttributesChange,6},{bookmarkReached,7},{completed,8},{dtmfDetected,9},{emptied,10},{interruptionDetected,11},{notRecognized,12},{recognized,13},{started,14},{silenceTimeoutExpired,15},{speechDetected,16},{voiceErrorOccured,17}], TagIn). - - -'dec_VoiceUnitEvents'(Tlv) -> - 'dec_VoiceUnitEvents'(Tlv, [3]). - -'dec_VoiceUnitEvents'(Tlv, TagIn) -> -decode_named_bit_string(Tlv, [{stop,0},{play,1},{suspendPlay,2},{record,3},{suspendRecord,4},{review,5},{voiceAttributesChange,6},{bookmarkReached,7},{completed,8},{dtmfDetected,9},{emptied,10},{interruptionDetected,11},{notRecognized,12},{recognized,13},{started,14},{silenceTimeoutExpired,15},{speechDetected,16},{voiceErrorOccured,17}], TagIn). - - - -%%================================ -%% DeviceMaintenanceEvents -%%================================ -'enc_DeviceMaintenanceEvents'(Val) -> - 'enc_DeviceMaintenanceEvents'(Val, [<<3>>]). - -'enc_DeviceMaintenanceEvents'(Val, TagIn) -> -encode_named_bit_string(Val, [{backInService,0},{outOfService,1},{deviceCapabilityChanged,2},{partiallyInService,3}], TagIn). - - -'dec_DeviceMaintenanceEvents'(Tlv) -> - 'dec_DeviceMaintenanceEvents'(Tlv, [3]). - -'dec_DeviceMaintenanceEvents'(Tlv, TagIn) -> -decode_named_bit_string(Tlv, [{backInService,0},{outOfService,1},{deviceCapabilityChanged,2},{partiallyInService,3}], TagIn). - - - -%%================================ -%% LogicalDeviceFeatureEvents -%%================================ -'enc_LogicalDeviceFeatureEvents'(Val) -> - 'enc_LogicalDeviceFeatureEvents'(Val, [<<3>>]). - -'enc_LogicalDeviceFeatureEvents'(Val, TagIn) -> -encode_named_bit_string(Val, [{agentBusy,0},{agentLoggedOn,1},{agentLoggedOff,2},{agentNotReady,3},{agentReady,4},{agentWorkingAfterCall,5},{autoAnswer,6},{autoWorkMode,7},{callBack,8},{callBackMessage,9},{callerIDStatus,10},{doNotDisturb,11},{forwarding,12},{routeingMode,13},{presenceState,14}], TagIn). - - -'dec_LogicalDeviceFeatureEvents'(Tlv) -> - 'dec_LogicalDeviceFeatureEvents'(Tlv, [3]). - -'dec_LogicalDeviceFeatureEvents'(Tlv, TagIn) -> -decode_named_bit_string(Tlv, [{agentBusy,0},{agentLoggedOn,1},{agentLoggedOff,2},{agentNotReady,3},{agentReady,4},{agentWorkingAfterCall,5},{autoAnswer,6},{autoWorkMode,7},{callBack,8},{callBackMessage,9},{callerIDStatus,10},{doNotDisturb,11},{forwarding,12},{routeingMode,13},{presenceState,14}], TagIn). - - - -%%================================ -%% PhysicalDeviceFeatureEvents -%%================================ -'enc_PhysicalDeviceFeatureEvents'(Val) -> - 'enc_PhysicalDeviceFeatureEvents'(Val, [<<3>>]). - -'enc_PhysicalDeviceFeatureEvents'(Val, TagIn) -> -encode_named_bit_string(Val, [{buttonInformation,0},{buttonPress,1},{displayUpdated,2},{hookswitch,3},{lampMode,4},{messageWaiting,5},{microphoneGain,6},{microphoneMute,7},{ringerStatus,8},{speakerMute,9},{speakerVolume,10}], TagIn). - - -'dec_PhysicalDeviceFeatureEvents'(Tlv) -> - 'dec_PhysicalDeviceFeatureEvents'(Tlv, [3]). - -'dec_PhysicalDeviceFeatureEvents'(Tlv, TagIn) -> -decode_named_bit_string(Tlv, [{buttonInformation,0},{buttonPress,1},{displayUpdated,2},{hookswitch,3},{lampMode,4},{messageWaiting,5},{microphoneGain,6},{microphoneMute,7},{ringerStatus,8},{speakerMute,9},{speakerVolume,10}], TagIn). - - - -%%================================ -%% MediaAttachmentEvents -%%================================ -'enc_MediaAttachmentEvents'(Val) -> - 'enc_MediaAttachmentEvents'(Val, [<<3>>]). - -'enc_MediaAttachmentEvents'(Val, TagIn) -> -encode_named_bit_string(Val, [{mediaAttached,0},{mediaDetached,1}], TagIn). - - -'dec_MediaAttachmentEvents'(Tlv) -> - 'dec_MediaAttachmentEvents'(Tlv, [3]). - -'dec_MediaAttachmentEvents'(Tlv, TagIn) -> -decode_named_bit_string(Tlv, [{mediaAttached,0},{mediaDetached,1}], TagIn). - - - -%%================================ -%% CallAssociatedEvents -%%================================ -'enc_CallAssociatedEvents'(Val) -> - 'enc_CallAssociatedEvents'(Val, [<<3>>]). - -'enc_CallAssociatedEvents'(Val, TagIn) -> -encode_named_bit_string(Val, [{callInformation,0},{charging,1},{dTMFDigitsDetected,2},{telephonyTonesDetected,3},{serviceCompletionFailure,4}], TagIn). - - -'dec_CallAssociatedEvents'(Tlv) -> - 'dec_CallAssociatedEvents'(Tlv, [3]). - -'dec_CallAssociatedEvents'(Tlv, TagIn) -> -decode_named_bit_string(Tlv, [{callInformation,0},{charging,1},{dTMFDigitsDetected,2},{telephonyTonesDetected,3},{serviceCompletionFailure,4}], TagIn). - - - -%%================================ -%% CallControlEvents -%%================================ -'enc_CallControlEvents'(Val) -> - 'enc_CallControlEvents'(Val, [<<3>>]). - -'enc_CallControlEvents'(Val, TagIn) -> -encode_named_bit_string(Val, [{callCleared,0},{conferenced,1},{connectionCleared,2},{delivered,3},{diverted,4},{established,5},{failed,6},{held,7},{networkReached,8},{originated,9},{queued,10},{retrieved,11},{serviceInitiated,12},{transferred,13},{digitsDialed,14},{bridged,15},{networkCapabilitiesChanged,16},{offered,17}], TagIn). - - -'dec_CallControlEvents'(Tlv) -> - 'dec_CallControlEvents'(Tlv, [3]). - -'dec_CallControlEvents'(Tlv, TagIn) -> -decode_named_bit_string(Tlv, [{callCleared,0},{conferenced,1},{connectionCleared,2},{delivered,3},{diverted,4},{established,5},{failed,6},{held,7},{networkReached,8},{originated,9},{queued,10},{retrieved,11},{serviceInitiated,12},{transferred,13},{digitsDialed,14},{bridged,15},{networkCapabilitiesChanged,16},{offered,17}], TagIn). - - - -%%================================ -%% LocationServices -%%================================ -'enc_LocationServices'(Val) -> - 'enc_LocationServices'(Val, [<<3>>]). - -'enc_LocationServices'(Val, TagIn) -> -encode_named_bit_string(Val, [{getLocationInformation,0},{setLocationInformation,1},{locationTrackkingSessionResumed,2},{locationTrackkingSessionSuspended,3},{resumeLocationTrackingSession,4},{locationInformationReport,5},{startLocationTrackingSession,6},{stopLocationTrackingSession,7},{suspendLocationTrackingCapabilities,8},{locationSessionInfo,9}], TagIn). - - -'dec_LocationServices'(Tlv) -> - 'dec_LocationServices'(Tlv, [3]). - -'dec_LocationServices'(Tlv, TagIn) -> -decode_named_bit_string(Tlv, [{getLocationInformation,0},{setLocationInformation,1},{locationTrackkingSessionResumed,2},{locationTrackkingSessionSuspended,3},{resumeLocationTrackingSession,4},{locationInformationReport,5},{startLocationTrackingSession,6},{stopLocationTrackingSession,7},{suspendLocationTrackingCapabilities,8},{locationSessionInfo,9}], TagIn). - - - -%%================================ -%% VoiceUnitServices -%%================================ -'enc_VoiceUnitServices'(Val) -> - 'enc_VoiceUnitServices'(Val, [<<3>>]). - -'enc_VoiceUnitServices'(Val, TagIn) -> -encode_named_bit_string(Val, [{concatenateMessage,0},{deleteMessage,1},{playMessage,2},{queryVoiceAttribute,3},{recordMessage,4},{reposition,5},{resume,6},{review,7},{setVoiceAttribute,8},{stop,9},{suspend,10},{synthesizeMessage,11},{activate,12},{clear,13},{deactivate,14}], TagIn). - - -'dec_VoiceUnitServices'(Tlv) -> - 'dec_VoiceUnitServices'(Tlv, [3]). - -'dec_VoiceUnitServices'(Tlv, TagIn) -> -decode_named_bit_string(Tlv, [{concatenateMessage,0},{deleteMessage,1},{playMessage,2},{queryVoiceAttribute,3},{recordMessage,4},{reposition,5},{resume,6},{review,7},{setVoiceAttribute,8},{stop,9},{suspend,10},{synthesizeMessage,11},{activate,12},{clear,13},{deactivate,14}], TagIn). - - - -%%================================ -%% RouteingServices -%%================================ -'enc_RouteingServices'(Val) -> - 'enc_RouteingServices'(Val, [<<3>>]). - -'enc_RouteingServices'(Val, TagIn) -> -encode_named_bit_string(Val, [{routeRegister,0},{routeRegisterCancel,1},{routeRegisterAbort,2},{reroute,3},{routeEnd,4},{routeReject,5},{routeRequest,6},{routeSelect,7},{routeUsed,8}], TagIn). - - -'dec_RouteingServices'(Tlv) -> - 'dec_RouteingServices'(Tlv, [3]). - -'dec_RouteingServices'(Tlv, TagIn) -> -decode_named_bit_string(Tlv, [{routeRegister,0},{routeRegisterCancel,1},{routeRegisterAbort,2},{reroute,3},{routeEnd,4},{routeReject,5},{routeRequest,6},{routeSelect,7},{routeUsed,8}], TagIn). - - - -%%================================ -%% MediaAttachmentServices -%%================================ -'enc_MediaAttachmentServices'(Val) -> - 'enc_MediaAttachmentServices'(Val, [<<3>>]). - -'enc_MediaAttachmentServices'(Val, TagIn) -> -encode_named_bit_string(Val, [{attachMediaService,0},{detachMediaService,1}], TagIn). - - -'dec_MediaAttachmentServices'(Tlv) -> - 'dec_MediaAttachmentServices'(Tlv, [3]). - -'dec_MediaAttachmentServices'(Tlv, TagIn) -> -decode_named_bit_string(Tlv, [{attachMediaService,0},{detachMediaService,1}], TagIn). - - - -%%================================ -%% CallAssociatedServices -%%================================ -'enc_CallAssociatedServices'(Val) -> - 'enc_CallAssociatedServices'(Val, [<<3>>]). - -'enc_CallAssociatedServices'(Val, TagIn) -> -encode_named_bit_string(Val, [{associateData,0},{cancelTelephonyTones,1},{generateDigits,2},{generateTelephonyTones,3},{sendUserInformation,4},{changeConnectionInformation,5}], TagIn). - - -'dec_CallAssociatedServices'(Tlv) -> - 'dec_CallAssociatedServices'(Tlv, [3]). - -'dec_CallAssociatedServices'(Tlv, TagIn) -> -decode_named_bit_string(Tlv, [{associateData,0},{cancelTelephonyTones,1},{generateDigits,2},{generateTelephonyTones,3},{sendUserInformation,4},{changeConnectionInformation,5}], TagIn). - - - -%%================================ -%% CallControlServices -%%================================ -'enc_CallControlServices'(Val) -> - 'enc_CallControlServices'(Val, [<<3>>]). - -'enc_CallControlServices'(Val, TagIn) -> -encode_named_bit_string(Val, [{acceptCall,0},{alternateCall,1},{answerCall,2},{callBack,3},{callBackMessage,4},{campOnCall,5},{clearCall,6},{clearConnection,7},{conferenceCall,8},{consultationCall,9},{deflectCall,10},{dialDigits,11},{directedPickupCall,12},{groupPickupCall,13},{holdCall,14},{intrudeCall,15},{joinCall,16},{makeCall,17},{makePredictiveCall,18},{parkCall,19},{reconnectCall,20},{retrieveCall,21},{singleStepConference,22},{singleStepTransfer,23},{transferCall,24},{makeConnection,25},{sendMessage,26}], TagIn). - - -'dec_CallControlServices'(Tlv) -> - 'dec_CallControlServices'(Tlv, [3]). - -'dec_CallControlServices'(Tlv, TagIn) -> -decode_named_bit_string(Tlv, [{acceptCall,0},{alternateCall,1},{answerCall,2},{callBack,3},{callBackMessage,4},{campOnCall,5},{clearCall,6},{clearConnection,7},{conferenceCall,8},{consultationCall,9},{deflectCall,10},{dialDigits,11},{directedPickupCall,12},{groupPickupCall,13},{holdCall,14},{intrudeCall,15},{joinCall,16},{makeCall,17},{makePredictiveCall,18},{parkCall,19},{reconnectCall,20},{retrieveCall,21},{singleStepConference,22},{singleStepTransfer,23},{transferCall,24},{makeConnection,25},{sendMessage,26}], TagIn). - - - -%%================================ -%% CSTAVersion -%%================================ -'enc_CSTAVersion'(Val) -> - 'enc_CSTAVersion'(Val, [<<3>>]). - -'enc_CSTAVersion'(Val, TagIn) -> -encode_named_bit_string(Val, [{versionOne,0},{versionTwo,1},{versionThree,2},{versionFour,3},{versionFive,4},{versionSix,5},{versionSeven,6},{versionEight,7},{versionNine,8},{versionTen,9},{versionEleven,10},{versionTwelve,11},{versionThirteen,12},{versionFourteen,13},{versionFifteen,14},{versionSixteen,15},{versionSeventeen,16},{versionEighteen,17},{versionNineteen,18},{versionTwenty,19},{versionTwentyone,20},{versionTwentytwo,21},{versionTwentythree,22},{versionTwentyfour,23}], TagIn). - - -'dec_CSTAVersion'(Tlv) -> - 'dec_CSTAVersion'(Tlv, [3]). - -'dec_CSTAVersion'(Tlv, TagIn) -> -decode_named_bit_string(Tlv, [{versionOne,0},{versionTwo,1},{versionThree,2},{versionFour,3},{versionFive,4},{versionSix,5},{versionSeven,6},{versionEight,7},{versionNine,8},{versionTen,9},{versionEleven,10},{versionTwelve,11},{versionThirteen,12},{versionFourteen,13},{versionFifteen,14},{versionSixteen,15},{versionSeventeen,16},{versionEighteen,17},{versionNineteen,18},{versionTwenty,19},{versionTwentyone,20},{versionTwentytwo,21},{versionTwentythree,22},{versionTwentyfour,23}], TagIn). - - - -%%================================ -%% CSTAPrivateDataVersionList -%%================================ -'enc_CSTAPrivateDataVersionList'(Val) -> - 'enc_CSTAPrivateDataVersionList'(Val, [<<48>>]). - -'enc_CSTAPrivateDataVersionList'(Val, TagIn) -> - {EncBytes,EncLen} = 'enc_CSTAPrivateDataVersionList_components'(Val,[],0), - encode_tags(TagIn, EncBytes, EncLen). - -'enc_CSTAPrivateDataVersionList_components'([], AccBytes, AccLen) -> - {lists:reverse(AccBytes),AccLen}; - -'enc_CSTAPrivateDataVersionList_components'([H|T],AccBytes, AccLen) -> - {EncBytes,EncLen} = encode_integer(H, [<<2>>]), - 'enc_CSTAPrivateDataVersionList_components'(T,[EncBytes|AccBytes], AccLen + EncLen). - - - -'dec_CSTAPrivateDataVersionList'(Tlv) -> - 'dec_CSTAPrivateDataVersionList'(Tlv, [16]). - -'dec_CSTAPrivateDataVersionList'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), -[decode_integer(V1, [2]) || V1 <- Tlv1]. - - - - -%%================================ -%% NewACSEUserInformationForCSTA -%%================================ -'enc_NewACSEUserInformationForCSTA'(Val) -> - 'enc_NewACSEUserInformationForCSTA'(Val, [<<48>>]). - -'enc_NewACSEUserInformationForCSTA'(Val, TagIn) -> -{_,Cindex1, Cindex2, Cindex3, Cindex4} = Val, - -%%------------------------------------------------- -%% attribute cSTAVersion(1) with type BIT STRING -%%------------------------------------------------- - {EncBytes1,EncLen1} = encode_named_bit_string(Cindex1, [{versionOne,0},{versionTwo,1},{versionThree,2},{versionFour,3},{versionFive,4},{versionSix,5},{versionSeven,6},{versionEight,7},{versionNine,8},{versionTen,9},{versionEleven,10},{versionTwelve,11},{versionThirteen,12},{versionFourteen,13},{versionFifteen,14},{versionSixteen,15},{versionSeventeen,16},{versionEighteen,17},{versionNineteen,18},{versionTwenty,19},{versionTwentyone,20},{versionTwentytwo,21},{versionTwentythree,22},{versionTwentyfour,23}], [<<3>>]), - -%%------------------------------------------------- -%% attribute cSTAFunctionsRequiredByApplication(2) External acse:CSTAFunctionality OPTIONAL -%%------------------------------------------------- - {EncBytes2,EncLen2} = case Cindex2 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_CSTAFunctionality'(Cindex2, [<<160>>]) - end, - -%%------------------------------------------------- -%% attribute cSTAFunctionsThatCanBeSupplied(3) External acse:CSTAFunctionality OPTIONAL -%%------------------------------------------------- - {EncBytes3,EncLen3} = case Cindex3 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_CSTAFunctionality'(Cindex3, [<<161>>]) - end, - -%%------------------------------------------------- -%% attribute cSTAPrivateDataVersionList(4) External acse:CSTAPrivateDataVersionList OPTIONAL -%%------------------------------------------------- - {EncBytes4,EncLen4} = case Cindex4 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_CSTAPrivateDataVersionList'(Cindex4, [<<162>>]) - end, - - BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4], -LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_NewACSEUserInformationForCSTA'(Tlv) -> - 'dec_NewACSEUserInformationForCSTA'(Tlv, [16]). - -'dec_NewACSEUserInformationForCSTA'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute cSTAVersion(1) with type BIT STRING -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = decode_named_bit_string(V1, [{versionOne,0},{versionTwo,1},{versionThree,2},{versionFour,3},{versionFive,4},{versionSix,5},{versionSeven,6},{versionEight,7},{versionNine,8},{versionTen,9},{versionEleven,10},{versionTwelve,11},{versionThirteen,12},{versionFourteen,13},{versionFifteen,14},{versionSixteen,15},{versionSeventeen,16},{versionEighteen,17},{versionNineteen,18},{versionTwenty,19},{versionTwentyone,20},{versionTwentytwo,21},{versionTwentythree,22},{versionTwentyfour,23}], [3]), - -%%------------------------------------------------- -%% attribute cSTAFunctionsRequiredByApplication(2) External acse:CSTAFunctionality OPTIONAL -%%------------------------------------------------- -{Term2,Tlv3} = case Tlv2 of -[{131072,V2}|TempTlv3] -> - {'dec_CSTAFunctionality'(V2, []), TempTlv3}; - _ -> - { asn1_NOVALUE, Tlv2} -end, - -%%------------------------------------------------- -%% attribute cSTAFunctionsThatCanBeSupplied(3) External acse:CSTAFunctionality OPTIONAL -%%------------------------------------------------- -{Term3,Tlv4} = case Tlv3 of -[{131073,V3}|TempTlv4] -> - {'dec_CSTAFunctionality'(V3, []), TempTlv4}; - _ -> - { asn1_NOVALUE, Tlv3} -end, - -%%------------------------------------------------- -%% attribute cSTAPrivateDataVersionList(4) External acse:CSTAPrivateDataVersionList OPTIONAL -%%------------------------------------------------- -{Term4,Tlv5} = case Tlv4 of -[{131074,V4}|TempTlv5] -> - {'dec_CSTAPrivateDataVersionList'(V4, []), TempTlv5}; - _ -> - { asn1_NOVALUE, Tlv4} -end, - -case Tlv5 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv5}}}) % extra fields not allowed -end, - {'NewACSEUserInformationForCSTA', Term1, Term2, Term3, Term4}. - - - -%%================================ -%% OldACSEUserInformationForCSTA -%%================================ -'enc_OldACSEUserInformationForCSTA'(Val) -> - 'enc_OldACSEUserInformationForCSTA'(Val, [<<48>>]). - -'enc_OldACSEUserInformationForCSTA'(Val, TagIn) -> -{_,Cindex1, Cindex2, Cindex3} = Val, - -%%------------------------------------------------- -%% attribute cSTAVersion(1) with type BIT STRING -%%------------------------------------------------- - {EncBytes1,EncLen1} = encode_named_bit_string(Cindex1, [{versionOne,0},{versionTwo,1},{versionThree,2},{versionFour,3},{versionFive,4},{versionSix,5},{versionSeven,6},{versionEight,7},{versionNine,8},{versionTen,9},{versionEleven,10},{versionTwelve,11},{versionThirteen,12},{versionFourteen,13},{versionFifteen,14},{versionSixteen,15},{versionSeventeen,16},{versionEighteen,17},{versionNineteen,18},{versionTwenty,19},{versionTwentyone,20},{versionTwentytwo,21},{versionTwentythree,22},{versionTwentyfour,23}], [<<3>>]), - -%%------------------------------------------------- -%% attribute cSTAFunctionsRequiredByApplication(2) External acse:CSTAFunctionality -%%------------------------------------------------- - {EncBytes2,EncLen2} = 'enc_CSTAFunctionality'(Cindex2, [<<48>>]), - -%%------------------------------------------------- -%% attribute cSTAFunctionsThatCanBeSupplied(3) External acse:CSTAFunctionality -%%------------------------------------------------- - {EncBytes3,EncLen3} = 'enc_CSTAFunctionality'(Cindex3, [<<48>>]), - - BytesSoFar = [EncBytes1, EncBytes2, EncBytes3], -LenSoFar = EncLen1 + EncLen2 + EncLen3, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_OldACSEUserInformationForCSTA'(Tlv) -> - 'dec_OldACSEUserInformationForCSTA'(Tlv, [16]). - -'dec_OldACSEUserInformationForCSTA'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute cSTAVersion(1) with type BIT STRING -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = decode_named_bit_string(V1, [{versionOne,0},{versionTwo,1},{versionThree,2},{versionFour,3},{versionFive,4},{versionSix,5},{versionSeven,6},{versionEight,7},{versionNine,8},{versionTen,9},{versionEleven,10},{versionTwelve,11},{versionThirteen,12},{versionFourteen,13},{versionFifteen,14},{versionSixteen,15},{versionSeventeen,16},{versionEighteen,17},{versionNineteen,18},{versionTwenty,19},{versionTwentyone,20},{versionTwentytwo,21},{versionTwentythree,22},{versionTwentyfour,23}], [3]), - -%%------------------------------------------------- -%% attribute cSTAFunctionsRequiredByApplication(2) External acse:CSTAFunctionality -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = 'dec_CSTAFunctionality'(V2, [16]), - -%%------------------------------------------------- -%% attribute cSTAFunctionsThatCanBeSupplied(3) External acse:CSTAFunctionality -%%------------------------------------------------- -[V3|Tlv4] = Tlv3, -Term3 = 'dec_CSTAFunctionality'(V3, [16]), - -case Tlv4 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv4}}}) % extra fields not allowed -end, - {'OldACSEUserInformationForCSTA', Term1, Term2, Term3}. - - - -%%================================ -%% ACSEUserInformationForCSTA -%%================================ -'enc_ACSEUserInformationForCSTA'(Val) -> - 'enc_ACSEUserInformationForCSTA'(Val, []). - -'enc_ACSEUserInformationForCSTA'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - oldDefinition -> - 'enc_OldACSEUserInformationForCSTA'(element(2,Val), [<<48>>]); - newDefinition -> - 'enc_NewACSEUserInformationForCSTA'(element(2,Val), [<<160>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_ACSEUserInformationForCSTA'(Tlv) -> - 'dec_ACSEUserInformationForCSTA'(Tlv, []). - -'dec_ACSEUserInformationForCSTA'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'oldDefinition' - {16, V1} -> - {oldDefinition, 'dec_OldACSEUserInformationForCSTA'(V1, [])}; - - -%% 'newDefinition' - {131072, V1} -> - {newDefinition, 'dec_NewACSEUserInformationForCSTA'(V1, [])}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% VoiceUnitServicesC2 -%%================================ -'enc_VoiceUnitServicesC2'(Val) -> - 'enc_VoiceUnitServicesC2'(Val, [<<3>>]). - -'enc_VoiceUnitServicesC2'(Val, TagIn) -> -encode_named_bit_string(Val, [{concatenateMessage,0},{deleteMessage,1},{playMessage,2},{queryVoiceAttribute,3},{recordMessage,4},{reposition,5},{resume,6},{review,7},{setVoiceAttribute,8},{stop,9},{suspend,10},{synthesizeMessage,11}], TagIn). - - -'dec_VoiceUnitServicesC2'(Tlv) -> - 'dec_VoiceUnitServicesC2'(Tlv, [3]). - -'dec_VoiceUnitServicesC2'(Tlv, TagIn) -> -decode_named_bit_string(Tlv, [{concatenateMessage,0},{deleteMessage,1},{playMessage,2},{queryVoiceAttribute,3},{recordMessage,4},{reposition,5},{resume,6},{review,7},{setVoiceAttribute,8},{stop,9},{suspend,10},{synthesizeMessage,11}], TagIn). - - - -%%================================ -%% InputOutputServicesC2 -%%================================ -'enc_InputOutputServicesC2'(Val) -> - 'enc_InputOutputServicesC2'(Val, [<<3>>]). - -'enc_InputOutputServicesC2'(Val, TagIn) -> -encode_named_bit_string(Val, [{startDataPathService,0},{stopDataPathService,1},{sendDataService,2},{sendMulticastDataService,3},{sendBroadcastDataService,4},{suspendDataPathService,5},{dataPathSuspendedService,6},{resumeDataPath,7},{dataPathResumedService,8},{fastData,9}], TagIn). - - -'dec_InputOutputServicesC2'(Tlv) -> - 'dec_InputOutputServicesC2'(Tlv, [3]). - -'dec_InputOutputServicesC2'(Tlv, TagIn) -> -decode_named_bit_string(Tlv, [{startDataPathService,0},{stopDataPathService,1},{sendDataService,2},{sendMulticastDataService,3},{sendBroadcastDataService,4},{suspendDataPathService,5},{dataPathSuspendedService,6},{resumeDataPath,7},{dataPathResumedService,8},{fastData,9}], TagIn). - - - -%%================================ -%% StatusReportingServicesC2 -%%================================ -'enc_StatusReportingServicesC2'(Val) -> - 'enc_StatusReportingServicesC2'(Val, [<<3>>]). - -'enc_StatusReportingServicesC2'(Val, TagIn) -> -encode_named_bit_string(Val, [{monitorStart,0},{changeMonitorFilter,1},{monitorStop,2},{snapshotDevice,3},{snapshotCall,4}], TagIn). - - -'dec_StatusReportingServicesC2'(Tlv) -> - 'dec_StatusReportingServicesC2'(Tlv, [3]). - -'dec_StatusReportingServicesC2'(Tlv, TagIn) -> -decode_named_bit_string(Tlv, [{monitorStart,0},{changeMonitorFilter,1},{monitorStop,2},{snapshotDevice,3},{snapshotCall,4}], TagIn). - - - -%%================================ -%% BidirectionalServicesC2 -%%================================ -'enc_BidirectionalServicesC2'(Val) -> - 'enc_BidirectionalServicesC2'(Val, [<<3>>]). - -'enc_BidirectionalServicesC2'(Val, TagIn) -> -encode_named_bit_string(Val, [{escapeService,0},{systemStatus,1}], TagIn). - - -'dec_BidirectionalServicesC2'(Tlv) -> - 'dec_BidirectionalServicesC2'(Tlv, [3]). - -'dec_BidirectionalServicesC2'(Tlv, TagIn) -> -decode_named_bit_string(Tlv, [{escapeService,0},{systemStatus,1}], TagIn). - - - -%%================================ -%% ComputingFunctionServicesC2 -%%================================ -'enc_ComputingFunctionServicesC2'(Val) -> - 'enc_ComputingFunctionServicesC2'(Val, [<<3>>]). - -'enc_ComputingFunctionServicesC2'(Val, TagIn) -> -encode_named_bit_string(Val, [{routeRequest,0},{reRouteRequest,1},{routeSelectRequest,2},{routeUsedRequest,3},{routeEndRequest,4}], TagIn). - - -'dec_ComputingFunctionServicesC2'(Tlv) -> - 'dec_ComputingFunctionServicesC2'(Tlv, [3]). - -'dec_ComputingFunctionServicesC2'(Tlv, TagIn) -> -decode_named_bit_string(Tlv, [{routeRequest,0},{reRouteRequest,1},{routeSelectRequest,2},{routeUsedRequest,3},{routeEndRequest,4}], TagIn). - - - -%%================================ -%% EventReportServicesC2 -%%================================ -'enc_EventReportServicesC2'(Val) -> - 'enc_EventReportServicesC2'(Val, [<<3>>]). - -'enc_EventReportServicesC2'(Val, TagIn) -> -encode_named_bit_string(Val, [{callCleared,0},{conferenced,1},{connectionCleared,2},{delivered,3},{diverted,4},{established,5},{failed,6},{held,7},{networkReached,8},{originated,9},{queued,10},{retrieved,11},{serviceInitiated,12},{transferred,13},{autoAnswer,14},{callInformation,15},{doNotDisturb,16},{forwarding,17},{messageWaiting,18},{microphoneMute,19},{speakerMute,20},{speakerVolume,21},{agentBusy,22},{loggedOn,23},{loggedOff,24},{notReady,25},{ready,26},{workingAfterCall,27},{backInService,28},{outOfServiceEvent,29},{privateEvent,30},{playEvent,31},{recordEvent,32},{reviewEvent,33},{stopEvent,34},{suspendPlayEvent,35},{suspendRecordEvent,36},{voiceAttributesChangeEvent,37}], TagIn). - - -'dec_EventReportServicesC2'(Tlv) -> - 'dec_EventReportServicesC2'(Tlv, [3]). - -'dec_EventReportServicesC2'(Tlv, TagIn) -> -decode_named_bit_string(Tlv, [{callCleared,0},{conferenced,1},{connectionCleared,2},{delivered,3},{diverted,4},{established,5},{failed,6},{held,7},{networkReached,8},{originated,9},{queued,10},{retrieved,11},{serviceInitiated,12},{transferred,13},{autoAnswer,14},{callInformation,15},{doNotDisturb,16},{forwarding,17},{messageWaiting,18},{microphoneMute,19},{speakerMute,20},{speakerVolume,21},{agentBusy,22},{loggedOn,23},{loggedOff,24},{notReady,25},{ready,26},{workingAfterCall,27},{backInService,28},{outOfServiceEvent,29},{privateEvent,30},{playEvent,31},{recordEvent,32},{reviewEvent,33},{stopEvent,34},{suspendPlayEvent,35},{suspendRecordEvent,36},{voiceAttributesChangeEvent,37}], TagIn). - - - -%%================================ -%% SwitchingFunctionServicesC2 -%%================================ -'enc_SwitchingFunctionServicesC2'(Val) -> - 'enc_SwitchingFunctionServicesC2'(Val, [<<3>>]). - -'enc_SwitchingFunctionServicesC2'(Val, TagIn) -> -encode_named_bit_string(Val, [{alternateCall,0},{answerCall,1},{associateData,2},{callCompletion,3},{clearCall,4},{clearConnection,5},{conferenceCall,6},{consultationCall,7},{divertCall,8},{holdCall,9},{makeCall,10},{makePredictiveCall,11},{parkCall,12},{queryDevice,13},{reconnectCall,14},{retrieveCall,15},{sendDTMFTones,16},{setFeature,17},{singleStepConference,18},{singleStepTransfer,19},{transferCall,20}], TagIn). - - -'dec_SwitchingFunctionServicesC2'(Tlv) -> - 'dec_SwitchingFunctionServicesC2'(Tlv, [3]). - -'dec_SwitchingFunctionServicesC2'(Tlv, TagIn) -> -decode_named_bit_string(Tlv, [{alternateCall,0},{answerCall,1},{associateData,2},{callCompletion,3},{clearCall,4},{clearConnection,5},{conferenceCall,6},{consultationCall,7},{divertCall,8},{holdCall,9},{makeCall,10},{makePredictiveCall,11},{parkCall,12},{queryDevice,13},{reconnectCall,14},{retrieveCall,15},{sendDTMFTones,16},{setFeature,17},{singleStepConference,18},{singleStepTransfer,19},{transferCall,20}], TagIn). - - - -%%================================ -%% CSTAFunctionality -%%================================ -'enc_CSTAFunctionality'(Val) -> - 'enc_CSTAFunctionality'(Val, [<<48>>]). - -'enc_CSTAFunctionality'(Val, TagIn) -> -{_,Cindex1, Cindex2, Cindex3, Cindex4, Cindex5, Cindex6, Cindex7} = Val, - -%%------------------------------------------------- -%% attribute switchingFunctionServices(1) with type BIT STRING DEFAULT = [] -%%------------------------------------------------- - {EncBytes1,EncLen1} = case Cindex1 of - asn1_DEFAULT -> {<<>>,0}; - [] -> {<<>>,0}; - _ -> - encode_named_bit_string(Cindex1, [{alternateCall,0},{answerCall,1},{associateData,2},{callCompletion,3},{clearCall,4},{clearConnection,5},{conferenceCall,6},{consultationCall,7},{divertCall,8},{holdCall,9},{makeCall,10},{makePredictiveCall,11},{parkCall,12},{queryDevice,13},{reconnectCall,14},{retrieveCall,15},{sendDTMFTones,16},{setFeature,17},{singleStepConference,18},{singleStepTransfer,19},{transferCall,20}], [<<128>>]) - end, - -%%------------------------------------------------- -%% attribute eventReportServices(2) with type BIT STRING DEFAULT = [] -%%------------------------------------------------- - {EncBytes2,EncLen2} = case Cindex2 of - asn1_DEFAULT -> {<<>>,0}; - [] -> {<<>>,0}; - _ -> - encode_named_bit_string(Cindex2, [{callCleared,0},{conferenced,1},{connectionCleared,2},{delivered,3},{diverted,4},{established,5},{failed,6},{held,7},{networkReached,8},{originated,9},{queued,10},{retrieved,11},{serviceInitiated,12},{transferred,13},{autoAnswer,14},{callInformation,15},{doNotDisturb,16},{forwarding,17},{messageWaiting,18},{microphoneMute,19},{speakerMute,20},{speakerVolume,21},{agentBusy,22},{loggedOn,23},{loggedOff,24},{notReady,25},{ready,26},{workingAfterCall,27},{backInService,28},{outOfServiceEvent,29},{privateEvent,30},{playEvent,31},{recordEvent,32},{reviewEvent,33},{stopEvent,34},{suspendPlayEvent,35},{suspendRecordEvent,36},{voiceAttributesChangeEvent,37}], [<<129>>]) - end, - -%%------------------------------------------------- -%% attribute computingFunctionServices(3) with type BIT STRING DEFAULT = [] -%%------------------------------------------------- - {EncBytes3,EncLen3} = case Cindex3 of - asn1_DEFAULT -> {<<>>,0}; - [] -> {<<>>,0}; - _ -> - encode_named_bit_string(Cindex3, [{routeRequest,0},{reRouteRequest,1},{routeSelectRequest,2},{routeUsedRequest,3},{routeEndRequest,4}], [<<130>>]) - end, - -%%------------------------------------------------- -%% attribute bidirectionalServices(4) with type BIT STRING DEFAULT = [] -%%------------------------------------------------- - {EncBytes4,EncLen4} = case Cindex4 of - asn1_DEFAULT -> {<<>>,0}; - [] -> {<<>>,0}; - _ -> - encode_named_bit_string(Cindex4, [{escapeService,0},{systemStatus,1}], [<<131>>]) - end, - -%%------------------------------------------------- -%% attribute statusReportingServices(5) with type BIT STRING DEFAULT = [] -%%------------------------------------------------- - {EncBytes5,EncLen5} = case Cindex5 of - asn1_DEFAULT -> {<<>>,0}; - [] -> {<<>>,0}; - _ -> - encode_named_bit_string(Cindex5, [{monitorStart,0},{changeMonitorFilter,1},{monitorStop,2},{snapshotDevice,3},{snapshotCall,4}], [<<132>>]) - end, - -%%------------------------------------------------- -%% attribute inputOutputServices(6) with type BIT STRING DEFAULT = [] -%%------------------------------------------------- - {EncBytes6,EncLen6} = case Cindex6 of - asn1_DEFAULT -> {<<>>,0}; - [] -> {<<>>,0}; - _ -> - encode_named_bit_string(Cindex6, [{startDataPathService,0},{stopDataPathService,1},{sendDataService,2},{sendMulticastDataService,3},{sendBroadcastDataService,4},{suspendDataPathService,5},{dataPathSuspendedService,6},{resumeDataPath,7},{dataPathResumedService,8},{fastData,9}], [<<133>>]) - end, - -%%------------------------------------------------- -%% attribute voiceUnitServices(7) with type BIT STRING DEFAULT = [] -%%------------------------------------------------- - {EncBytes7,EncLen7} = case Cindex7 of - asn1_DEFAULT -> {<<>>,0}; - [] -> {<<>>,0}; - _ -> - encode_named_bit_string(Cindex7, [{concatenateMessage,0},{deleteMessage,1},{playMessage,2},{queryVoiceAttribute,3},{recordMessage,4},{reposition,5},{resume,6},{review,7},{setVoiceAttribute,8},{stop,9},{suspend,10},{synthesizeMessage,11}], [<<134>>]) - end, - - BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4, EncBytes5, EncBytes6, EncBytes7], -LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4 + EncLen5 + EncLen6 + EncLen7, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_CSTAFunctionality'(Tlv) -> - 'dec_CSTAFunctionality'(Tlv, [16]). - -'dec_CSTAFunctionality'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute switchingFunctionServices(1) with type BIT STRING DEFAULT = [] -%%------------------------------------------------- -{Term1,Tlv2} = case Tlv1 of -[{131072,V1}|TempTlv2] -> - {decode_named_bit_string(V1, [{alternateCall,0},{answerCall,1},{associateData,2},{callCompletion,3},{clearCall,4},{clearConnection,5},{conferenceCall,6},{consultationCall,7},{divertCall,8},{holdCall,9},{makeCall,10},{makePredictiveCall,11},{parkCall,12},{queryDevice,13},{reconnectCall,14},{retrieveCall,15},{sendDTMFTones,16},{setFeature,17},{singleStepConference,18},{singleStepTransfer,19},{transferCall,20}], []), TempTlv2}; - _ -> - {[],Tlv1} -end, - -%%------------------------------------------------- -%% attribute eventReportServices(2) with type BIT STRING DEFAULT = [] -%%------------------------------------------------- -{Term2,Tlv3} = case Tlv2 of -[{131073,V2}|TempTlv3] -> - {decode_named_bit_string(V2, [{callCleared,0},{conferenced,1},{connectionCleared,2},{delivered,3},{diverted,4},{established,5},{failed,6},{held,7},{networkReached,8},{originated,9},{queued,10},{retrieved,11},{serviceInitiated,12},{transferred,13},{autoAnswer,14},{callInformation,15},{doNotDisturb,16},{forwarding,17},{messageWaiting,18},{microphoneMute,19},{speakerMute,20},{speakerVolume,21},{agentBusy,22},{loggedOn,23},{loggedOff,24},{notReady,25},{ready,26},{workingAfterCall,27},{backInService,28},{outOfServiceEvent,29},{privateEvent,30},{playEvent,31},{recordEvent,32},{reviewEvent,33},{stopEvent,34},{suspendPlayEvent,35},{suspendRecordEvent,36},{voiceAttributesChangeEvent,37}], []), TempTlv3}; - _ -> - {[],Tlv2} -end, - -%%------------------------------------------------- -%% attribute computingFunctionServices(3) with type BIT STRING DEFAULT = [] -%%------------------------------------------------- -{Term3,Tlv4} = case Tlv3 of -[{131074,V3}|TempTlv4] -> - {decode_named_bit_string(V3, [{routeRequest,0},{reRouteRequest,1},{routeSelectRequest,2},{routeUsedRequest,3},{routeEndRequest,4}], []), TempTlv4}; - _ -> - {[],Tlv3} -end, - -%%------------------------------------------------- -%% attribute bidirectionalServices(4) with type BIT STRING DEFAULT = [] -%%------------------------------------------------- -{Term4,Tlv5} = case Tlv4 of -[{131075,V4}|TempTlv5] -> - {decode_named_bit_string(V4, [{escapeService,0},{systemStatus,1}], []), TempTlv5}; - _ -> - {[],Tlv4} -end, - -%%------------------------------------------------- -%% attribute statusReportingServices(5) with type BIT STRING DEFAULT = [] -%%------------------------------------------------- -{Term5,Tlv6} = case Tlv5 of -[{131076,V5}|TempTlv6] -> - {decode_named_bit_string(V5, [{monitorStart,0},{changeMonitorFilter,1},{monitorStop,2},{snapshotDevice,3},{snapshotCall,4}], []), TempTlv6}; - _ -> - {[],Tlv5} -end, - -%%------------------------------------------------- -%% attribute inputOutputServices(6) with type BIT STRING DEFAULT = [] -%%------------------------------------------------- -{Term6,Tlv7} = case Tlv6 of -[{131077,V6}|TempTlv7] -> - {decode_named_bit_string(V6, [{startDataPathService,0},{stopDataPathService,1},{sendDataService,2},{sendMulticastDataService,3},{sendBroadcastDataService,4},{suspendDataPathService,5},{dataPathSuspendedService,6},{resumeDataPath,7},{dataPathResumedService,8},{fastData,9}], []), TempTlv7}; - _ -> - {[],Tlv6} -end, - -%%------------------------------------------------- -%% attribute voiceUnitServices(7) with type BIT STRING DEFAULT = [] -%%------------------------------------------------- -{Term7,Tlv8} = case Tlv7 of -[{131078,V7}|TempTlv8] -> - {decode_named_bit_string(V7, [{concatenateMessage,0},{deleteMessage,1},{playMessage,2},{queryVoiceAttribute,3},{recordMessage,4},{reposition,5},{resume,6},{review,7},{setVoiceAttribute,8},{stop,9},{suspend,10},{synthesizeMessage,11}], []), TempTlv8}; - _ -> - {[],Tlv7} -end, - -case Tlv8 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv8}}}) % extra fields not allowed -end, - {'CSTAFunctionality', Term1, Term2, Term3, Term4, Term5, Term6, Term7}. - - - -%%================================ -%% Release-response-reason -%%================================ -'enc_Release-response-reason'(Val) -> - 'enc_Release-response-reason'(Val, [<<2>>]). - -'enc_Release-response-reason'(Val, TagIn) -> -encode_integer(Val, [{normal,0},{'not-finished',1},{'user-defined',30}], TagIn). - - -'dec_Release-response-reason'(Tlv) -> - 'dec_Release-response-reason'(Tlv, [2]). - -'dec_Release-response-reason'(Tlv, TagIn) -> -begin -Val1 = decode_integer(Tlv, TagIn), -number2name(Val1, [{normal,0},{'not-finished',1},{'user-defined',30}]) -end -. - - - -%%================================ -%% Release-request-reason -%%================================ -'enc_Release-request-reason'(Val) -> - 'enc_Release-request-reason'(Val, [<<2>>]). - -'enc_Release-request-reason'(Val, TagIn) -> -encode_integer(Val, [{normal,0},{urgent,1},{'user-defined',30}], TagIn). - - -'dec_Release-request-reason'(Tlv) -> - 'dec_Release-request-reason'(Tlv, [2]). - -'dec_Release-request-reason'(Tlv, TagIn) -> -begin -Val1 = decode_integer(Tlv, TagIn), -number2name(Val1, [{normal,0},{urgent,1},{'user-defined',30}]) -end -. - - - -%%================================ -%% Mechanism-name -%%================================ -'enc_Mechanism-name'(Val) -> - 'enc_Mechanism-name'(Val, [<<6>>]). - -'enc_Mechanism-name'(Val, TagIn) -> -encode_object_identifier(Val, TagIn). - - -'dec_Mechanism-name'(Tlv) -> - 'dec_Mechanism-name'(Tlv, [6]). - -'dec_Mechanism-name'(Tlv, TagIn) -> -decode_object_identifier(Tlv, TagIn). - - - -%%================================ -%% Implementation-data -%%================================ -'enc_Implementation-data'(Val) -> - 'enc_Implementation-data'(Val, [<<25>>]). - -'enc_Implementation-data'(Val, TagIn) -> -encode_restricted_string(Val, TagIn). - - -'dec_Implementation-data'(Tlv) -> - 'dec_Implementation-data'(Tlv, [25]). - -'dec_Implementation-data'(Tlv, TagIn) -> -begin -binary_to_list(decode_restricted_string(Tlv, TagIn)) -end -. - - - -%%================================ -%% Authentication-value -%%================================ -'enc_Authentication-value'(Val) -> - 'enc_Authentication-value'(Val, []). - -'enc_Authentication-value'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - charstring -> - encode_restricted_string(element(2,Val), [<<128>>]); - bitstring -> - encode_unnamed_bit_string(element(2,Val), [<<129>>]); - external -> - 'enc_EXTERNAL'(element(2,Val), [<<162>>]); - other -> - 'enc_Authentication-value_other'(element(2,Val), [<<163>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - - -%%================================ -%% Authentication-value_other -%%================================ -'enc_Authentication-value_other'(Val, TagIn) -> - {_,Cindex1, Cindex2} = Val, -Objother_mechanism_name = - acse:'getenc_ObjectSet'( Cindex1), - -%%------------------------------------------------- -%% attribute other-mechanism-name(1) with type OBJECT IDENTIFIER -%%------------------------------------------------- - {EncBytes1,EncLen1} = encode_object_identifier(Cindex1, [<<6>>]), - -%%------------------------------------------------- -%% attribute other-mechanism-value(2) with type typefieldType -%%------------------------------------------------- - {TmpBytes2,_} = Objother_mechanism_name('Type', Cindex2, []), - {EncBytes2,EncLen2} = encode_open_type(TmpBytes2, []) -, - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_Authentication-value'(Tlv) -> - 'dec_Authentication-value'(Tlv, []). - -'dec_Authentication-value'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'charstring' - {131072, V1} -> - {charstring, begin -binary_to_list(decode_restricted_string(V1, [])) -end -}; - - -%% 'bitstring' - {131073, V1} -> - {bitstring, decode_native_bit_string(V1, [])}; - - -%% 'external' - {131074, V1} -> - {external, 'dec_EXTERNAL'(V1, [])}; - - -%% 'other' - {131075, V1} -> - {other, 'dec_Authentication-value_other'(V1, [])}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. -'dec_Authentication-value_other'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute other-mechanism-name(1) with type OBJECT IDENTIFIER -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = decode_object_identifier(V1, [6]), - -%%------------------------------------------------- -%% attribute other-mechanism-value(2) with type typefieldType -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, - - Tmpterm1 = decode_open_type(V2, []), - -DecObjother_mechanism_nameTerm1 = - acse:'getdec_ObjectSet'(Term1), -Term2 = - case (catch DecObjother_mechanism_nameTerm1('Type', Tmpterm1, [])) of - {'EXIT', Reason1} -> - exit({'Type not compatible with table constraint',Reason1}); - Tmpterm2 -> - Tmpterm2 - end, - -case Tlv3 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowed -end, - {'Authentication-value_other', Term1, Term2}. - - - -%%================================ -%% Association-information -%%================================ -'enc_Association-information'(Val) -> - 'enc_Association-information'(Val, [<<48>>]). - -'enc_Association-information'(Val, TagIn) -> - {EncBytes,EncLen} = 'enc_Association-information_components'(Val,[],0), - encode_tags(TagIn, EncBytes, EncLen). - -'enc_Association-information_components'([], AccBytes, AccLen) -> - {lists:reverse(AccBytes),AccLen}; - -'enc_Association-information_components'([H|T],AccBytes, AccLen) -> - {EncBytes,EncLen} = 'enc_EXTERNAL'(H, [<<40>>]), - 'enc_Association-information_components'(T,[EncBytes|AccBytes], AccLen + EncLen). - - - -'dec_Association-information'(Tlv) -> - 'dec_Association-information'(Tlv, [16]). - -'dec_Association-information'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), -['dec_EXTERNAL'(V1, [8]) || V1 <- Tlv1]. - - - - -%%================================ -%% Associate-source-diagnostic -%%================================ -'enc_Associate-source-diagnostic'(Val) -> - 'enc_Associate-source-diagnostic'(Val, []). - -'enc_Associate-source-diagnostic'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - 'acse-service-user' -> - encode_integer(element(2,Val), [{null,0},{'no-reason-given',1},{'application-context-name-not-supported',2},{'calling-AP-title-not-recognized',3},{'calling-AP-invocation-identifier-not-recognized',4},{'calling-AE-qualifier-not-recognized',5},{'calling-AE-invocation-identifier-not-recognized',6},{'called-AP-title-not-recognized',7},{'called-AP-invocation-identifier-not-recognized',8},{'called-AE-qualifier-not-recognized',9},{'called-AE-invocation-identifier-not-recognized',10},{'authentication-mechanism-name-not-recognized',11},{'authentication-mechanism-name-required',12},{'authentication-failure',13},{'authentication-required',14}], [<<2>>,<<161>>]); - 'acse-service-provider' -> - encode_integer(element(2,Val), [{null,0},{'no-reason-given',1},{'no-common-acse-version',2}], [<<2>>,<<162>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_Associate-source-diagnostic'(Tlv) -> - 'dec_Associate-source-diagnostic'(Tlv, []). - -'dec_Associate-source-diagnostic'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'acse-service-user' - {131073, V1} -> - {'acse-service-user', begin -Val1 = decode_integer(V1, [2]), -number2name(Val1, [{null,0},{'no-reason-given',1},{'application-context-name-not-supported',2},{'calling-AP-title-not-recognized',3},{'calling-AP-invocation-identifier-not-recognized',4},{'calling-AE-qualifier-not-recognized',5},{'calling-AE-invocation-identifier-not-recognized',6},{'called-AP-title-not-recognized',7},{'called-AP-invocation-identifier-not-recognized',8},{'called-AE-qualifier-not-recognized',9},{'called-AE-invocation-identifier-not-recognized',10},{'authentication-mechanism-name-not-recognized',11},{'authentication-mechanism-name-required',12},{'authentication-failure',13},{'authentication-required',14}]) -end -}; - - -%% 'acse-service-provider' - {131074, V1} -> - {'acse-service-provider', begin -Val2 = decode_integer(V1, [2]), -number2name(Val2, [{null,0},{'no-reason-given',1},{'no-common-acse-version',2}]) -end -}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% Associate-result -%%================================ -'enc_Associate-result'(Val) -> - 'enc_Associate-result'(Val, [<<2>>]). - -'enc_Associate-result'(Val, TagIn) -> -encode_integer(Val, [{accepted,0},{'rejected-permanent',1},{'rejected-transient',2}], TagIn). - - -'dec_Associate-result'(Tlv) -> - 'dec_Associate-result'(Tlv, [2]). - -'dec_Associate-result'(Tlv, TagIn) -> -begin -Val1 = decode_integer(Tlv, TagIn), -number2name(Val1, [{accepted,0},{'rejected-permanent',1},{'rejected-transient',2}]) -end -. - - - -%%================================ -%% AP-invocation-identifier -%%================================ -'enc_AP-invocation-identifier'(Val) -> - 'enc_AP-invocation-identifier'(Val, [<<2>>]). - -'enc_AP-invocation-identifier'(Val, TagIn) -> -encode_integer(Val, TagIn). - - -'dec_AP-invocation-identifier'(Tlv) -> - 'dec_AP-invocation-identifier'(Tlv, [2]). - -'dec_AP-invocation-identifier'(Tlv, TagIn) -> -decode_integer(Tlv, TagIn). - - - -%%================================ -%% AE-invocation-identifier -%%================================ -'enc_AE-invocation-identifier'(Val) -> - 'enc_AE-invocation-identifier'(Val, [<<2>>]). - -'enc_AE-invocation-identifier'(Val, TagIn) -> -encode_integer(Val, TagIn). - - -'dec_AE-invocation-identifier'(Tlv) -> - 'dec_AE-invocation-identifier'(Tlv, [2]). - -'dec_AE-invocation-identifier'(Tlv, TagIn) -> -decode_integer(Tlv, TagIn). - - - -%%================================ -%% AE-title-form2 -%%================================ -'enc_AE-title-form2'(Val) -> - 'enc_AE-title-form2'(Val, [<<6>>]). - -'enc_AE-title-form2'(Val, TagIn) -> -encode_object_identifier(Val, TagIn). - - -'dec_AE-title-form2'(Tlv) -> - 'dec_AE-title-form2'(Tlv, [6]). - -'dec_AE-title-form2'(Tlv, TagIn) -> -decode_object_identifier(Tlv, TagIn). - - - -%%================================ -%% AE-title-form1 -%%================================ -'enc_AE-title-form1'(Val) -> - 'enc_AE-title-form1'(Val, []). - -'enc_AE-title-form1'(Val, TagIn) -> - 'InformationFramework':'enc_Name'(Val, TagIn). - - -'dec_AE-title-form1'(Tlv) -> - 'dec_AE-title-form1'(Tlv, []). - -'dec_AE-title-form1'(Tlv, TagIn) -> -'InformationFramework':'dec_Name'(Tlv, TagIn). - - - -%%================================ -%% AE-title -%%================================ -'enc_AE-title'(Val) -> - 'enc_AE-title'(Val, []). - -'enc_AE-title'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - 'ae-title-form1' -> - 'enc_AE-title-form1'(element(2,Val), []); - 'ae-title-form2' -> - encode_object_identifier(element(2,Val), [<<6>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_AE-title'(Tlv) -> - 'dec_AE-title'(Tlv, []). - -'dec_AE-title'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'ae-title-form1' - V1 = {16,_} -> - {'ae-title-form1', 'dec_AE-title-form1'(V1, [])}; - - -%% 'ae-title-form2' - {6, V1} -> - {'ae-title-form2', decode_object_identifier(V1, [])}; - - Else -> - {asn1_ExtAlt,ber_encode(Else)} - end -. - - -%%================================ -%% AE-qualifier-form2 -%%================================ -'enc_AE-qualifier-form2'(Val) -> - 'enc_AE-qualifier-form2'(Val, [<<2>>]). - -'enc_AE-qualifier-form2'(Val, TagIn) -> -encode_integer(Val, TagIn). - - -'dec_AE-qualifier-form2'(Tlv) -> - 'dec_AE-qualifier-form2'(Tlv, [2]). - -'dec_AE-qualifier-form2'(Tlv, TagIn) -> -decode_integer(Tlv, TagIn). - - - -%%================================ -%% AP-title-form2 -%%================================ -'enc_AP-title-form2'(Val) -> - 'enc_AP-title-form2'(Val, [<<6>>]). - -'enc_AP-title-form2'(Val, TagIn) -> -encode_object_identifier(Val, TagIn). - - -'dec_AP-title-form2'(Tlv) -> - 'dec_AP-title-form2'(Tlv, [6]). - -'dec_AP-title-form2'(Tlv, TagIn) -> -decode_object_identifier(Tlv, TagIn). - - - -%%================================ -%% AE-qualifier-form1 -%%================================ -'enc_AE-qualifier-form1'(Val) -> - 'enc_AE-qualifier-form1'(Val, [<<49>>]). - -'enc_AE-qualifier-form1'(Val, TagIn) -> - 'InformationFramework':'enc_RelativeDistinguishedName'(Val, TagIn). - - -'dec_AE-qualifier-form1'(Tlv) -> - 'dec_AE-qualifier-form1'(Tlv, [17]). - -'dec_AE-qualifier-form1'(Tlv, TagIn) -> -'InformationFramework':'dec_RelativeDistinguishedName'(Tlv, TagIn). - - - -%%================================ -%% AP-title-form1 -%%================================ -'enc_AP-title-form1'(Val) -> - 'enc_AP-title-form1'(Val, []). - -'enc_AP-title-form1'(Val, TagIn) -> - 'InformationFramework':'enc_Name'(Val, TagIn). - - -'dec_AP-title-form1'(Tlv) -> - 'dec_AP-title-form1'(Tlv, []). - -'dec_AP-title-form1'(Tlv, TagIn) -> -'InformationFramework':'dec_Name'(Tlv, TagIn). - - - -%%================================ -%% AE-qualifier -%%================================ -'enc_AE-qualifier'(Val) -> - 'enc_AE-qualifier'(Val, []). - -'enc_AE-qualifier'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - 'ae-qualifier-form1' -> - 'enc_AE-qualifier-form1'(element(2,Val), [<<49>>]); - 'ae-qualifier-form2' -> - encode_integer(element(2,Val), [<<2>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_AE-qualifier'(Tlv) -> - 'dec_AE-qualifier'(Tlv, []). - -'dec_AE-qualifier'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'ae-qualifier-form1' - {17, V1} -> - {'ae-qualifier-form1', 'dec_AE-qualifier-form1'(V1, [])}; - - -%% 'ae-qualifier-form2' - {2, V1} -> - {'ae-qualifier-form2', decode_integer(V1, [])}; - - Else -> - {asn1_ExtAlt,ber_encode(Else)} - end -. - - -%%================================ -%% AP-title -%%================================ -'enc_AP-title'(Val) -> - 'enc_AP-title'(Val, []). - -'enc_AP-title'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - 'ap-title-form1' -> - 'enc_AP-title-form1'(element(2,Val), []); - 'ap-title-form2' -> - encode_object_identifier(element(2,Val), [<<6>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_AP-title'(Tlv) -> - 'dec_AP-title'(Tlv, []). - -'dec_AP-title'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'ap-title-form1' - V1 = {16,_} -> - {'ap-title-form1', 'dec_AP-title-form1'(V1, [])}; - - -%% 'ap-title-form2' - {6, V1} -> - {'ap-title-form2', decode_object_identifier(V1, [])}; - - Else -> - {asn1_ExtAlt,ber_encode(Else)} - end -. - - -%%================================ -%% Application-context-name -%%================================ -'enc_Application-context-name'(Val) -> - 'enc_Application-context-name'(Val, [<<6>>]). - -'enc_Application-context-name'(Val, TagIn) -> -encode_object_identifier(Val, TagIn). - - -'dec_Application-context-name'(Tlv) -> - 'dec_Application-context-name'(Tlv, [6]). - -'dec_Application-context-name'(Tlv, TagIn) -> -decode_object_identifier(Tlv, TagIn). - - - -%%================================ -%% Application-context-name-list -%%================================ -'enc_Application-context-name-list'(Val) -> - 'enc_Application-context-name-list'(Val, [<<48>>]). - -'enc_Application-context-name-list'(Val, TagIn) -> - {EncBytes,EncLen} = 'enc_Application-context-name-list_components'(Val,[],0), - encode_tags(TagIn, EncBytes, EncLen). - -'enc_Application-context-name-list_components'([], AccBytes, AccLen) -> - {lists:reverse(AccBytes),AccLen}; - -'enc_Application-context-name-list_components'([H|T],AccBytes, AccLen) -> - {EncBytes,EncLen} = encode_object_identifier(H, [<<6>>]), - 'enc_Application-context-name-list_components'(T,[EncBytes|AccBytes], AccLen + EncLen). - - - -'dec_Application-context-name-list'(Tlv) -> - 'dec_Application-context-name-list'(Tlv, [16]). - -'dec_Application-context-name-list'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), -[decode_object_identifier(V1, [6]) || V1 <- Tlv1]. - - - - -%%================================ -%% ACSE-requirements -%%================================ -'enc_ACSE-requirements'(Val) -> - 'enc_ACSE-requirements'(Val, [<<3>>]). - -'enc_ACSE-requirements'(Val, TagIn) -> -encode_named_bit_string(Val, [{authentication,0},{'application-context-negotiation',1}], TagIn). - - -'dec_ACSE-requirements'(Tlv) -> - 'dec_ACSE-requirements'(Tlv, [3]). - -'dec_ACSE-requirements'(Tlv, TagIn) -> -decode_named_bit_string(Tlv, [{authentication,0},{'application-context-negotiation',1}], TagIn). - - - -%%================================ -%% ABRT-source -%%================================ -'enc_ABRT-source'(Val) -> - 'enc_ABRT-source'(Val, [<<2>>]). - -'enc_ABRT-source'(Val, TagIn) -> -encode_integer(Val, [{'acse-service-user',0},{'acse-service-provider',1}], TagIn). - - -'dec_ABRT-source'(Tlv) -> - 'dec_ABRT-source'(Tlv, [2]). - -'dec_ABRT-source'(Tlv, TagIn) -> -begin -Val1 = decode_integer(Tlv, TagIn), -number2name(Val1, [{'acse-service-user',0},{'acse-service-provider',1}]) -end -. - - - -%%================================ -%% ABRT-diagnostic -%%================================ -'enc_ABRT-diagnostic'(Val) -> - 'enc_ABRT-diagnostic'(Val, [<<10>>]). - -'enc_ABRT-diagnostic'(Val, TagIn) -> -case Val of -'no-reason-given' -> encode_tags(TagIn, [1], 1); -'protocol-error' -> encode_tags(TagIn, [2], 1); -'authentication-mechanism-name-not-recognized' -> encode_tags(TagIn, [3], 1); -'authentication-mechanism-name-required' -> encode_tags(TagIn, [4], 1); -'authentication-failure' -> encode_tags(TagIn, [5], 1); -'authentication-required' -> encode_tags(TagIn, [6], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end. - - -'dec_ABRT-diagnostic'(Tlv) -> - 'dec_ABRT-diagnostic'(Tlv, [10]). - -'dec_ABRT-diagnostic'(Tlv, TagIn) -> -case decode_integer(Tlv, TagIn) of -1 -> 'no-reason-given'; -2 -> 'protocol-error'; -3 -> 'authentication-mechanism-name-not-recognized'; -4 -> 'authentication-mechanism-name-required'; -5 -> 'authentication-failure'; -6 -> 'authentication-required'; -Default1 -> {asn1_enum,Default1} -end. - - - -%%================================ -%% ABRT-apdu -%%================================ -'enc_ABRT-apdu'(Val) -> - 'enc_ABRT-apdu'(Val, [<<100>>]). - -'enc_ABRT-apdu'(Val, TagIn) -> -{_,Cindex1, Cindex2, Cindex3} = Val, - -%%------------------------------------------------- -%% attribute abort-source(1) with type INTEGER -%%------------------------------------------------- - {EncBytes1,EncLen1} = encode_integer(Cindex1, [{'acse-service-user',0},{'acse-service-provider',1}], [<<128>>]), - -%%------------------------------------------------- -%% attribute abort-diagnostic(2) with type ENUMERATED OPTIONAL -%%------------------------------------------------- - {EncBytes2,EncLen2} = case Cindex2 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - case Cindex2 of -'no-reason-given' -> encode_tags([<<129>>], [1], 1); -'protocol-error' -> encode_tags([<<129>>], [2], 1); -'authentication-mechanism-name-not-recognized' -> encode_tags([<<129>>], [3], 1); -'authentication-mechanism-name-required' -> encode_tags([<<129>>], [4], 1); -'authentication-failure' -> encode_tags([<<129>>], [5], 1); -'authentication-required' -> encode_tags([<<129>>], [6], 1); -Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) -end - end, - -%%------------------------------------------------- -%% attribute user-information(3) External acse:Association-information OPTIONAL -%%------------------------------------------------- - {EncBytes3,EncLen3} = case Cindex3 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_Association-information'(Cindex3, [<<190>>]) - end, - - BytesSoFar = [EncBytes1, EncBytes2, EncBytes3], -LenSoFar = EncLen1 + EncLen2 + EncLen3, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_ABRT-apdu'(Tlv) -> - 'dec_ABRT-apdu'(Tlv, [65540]). - -'dec_ABRT-apdu'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute abort-source(1) with type INTEGER -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = begin -Val1 = decode_integer(V1, [131072]), -number2name(Val1, [{'acse-service-user',0},{'acse-service-provider',1}]) -end -, - -%%------------------------------------------------- -%% attribute abort-diagnostic(2) with type ENUMERATED OPTIONAL -%%------------------------------------------------- -{Term2,Tlv3} = case Tlv2 of -[{131073,V2}|TempTlv3] -> - {case decode_integer(V2, []) of -1 -> 'no-reason-given'; -2 -> 'protocol-error'; -3 -> 'authentication-mechanism-name-not-recognized'; -4 -> 'authentication-mechanism-name-required'; -5 -> 'authentication-failure'; -6 -> 'authentication-required'; -Default1 -> {asn1_enum,Default1} -end, TempTlv3}; - _ -> - { asn1_NOVALUE, Tlv2} -end, -Tlv4 = skip_ExtensionAdditions(Tlv3, [131102]), - -%%------------------------------------------------- -%% attribute user-information(2) External acse:Association-information OPTIONAL -%%------------------------------------------------- -{Term3,Tlv5} = case Tlv4 of -[{131102,V3}|TempTlv5] -> - {'dec_Association-information'(V3, []), TempTlv5}; - _ -> - { asn1_NOVALUE, Tlv4} -end, - -case Tlv5 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv5}}}) % extra fields not allowed -end, - {'ABRT-apdu', Term1, Term2, Term3}. - - - -%%================================ -%% RLRE-apdu -%%================================ -'enc_RLRE-apdu'(Val) -> - 'enc_RLRE-apdu'(Val, [<<99>>]). - -'enc_RLRE-apdu'(Val, TagIn) -> -{_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute reason(1) with type INTEGER OPTIONAL -%%------------------------------------------------- - {EncBytes1,EncLen1} = case Cindex1 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_integer(Cindex1, [{normal,0},{'not-finished',1},{'user-defined',30}], [<<128>>]) - end, - -%%------------------------------------------------- -%% attribute user-information(2) External acse:Association-information OPTIONAL -%%------------------------------------------------- - {EncBytes2,EncLen2} = case Cindex2 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_Association-information'(Cindex2, [<<190>>]) - end, - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_RLRE-apdu'(Tlv) -> - 'dec_RLRE-apdu'(Tlv, [65539]). - -'dec_RLRE-apdu'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute reason(1) with type INTEGER OPTIONAL -%%------------------------------------------------- -{Term1,Tlv2} = case Tlv1 of -[{131072,V1}|TempTlv2] -> - {begin -Val1 = decode_integer(V1, []), -number2name(Val1, [{normal,0},{'not-finished',1},{'user-defined',30}]) -end -, TempTlv2}; - _ -> - { asn1_NOVALUE, Tlv1} -end, -Tlv3 = skip_ExtensionAdditions(Tlv2, [131102]), - -%%------------------------------------------------- -%% attribute user-information(1) External acse:Association-information OPTIONAL -%%------------------------------------------------- -{Term2,Tlv4} = case Tlv3 of -[{131102,V2}|TempTlv4] -> - {'dec_Association-information'(V2, []), TempTlv4}; - _ -> - { asn1_NOVALUE, Tlv3} -end, - -case Tlv4 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv4}}}) % extra fields not allowed -end, - {'RLRE-apdu', Term1, Term2}. - - - -%%================================ -%% RLRQ-apdu -%%================================ -'enc_RLRQ-apdu'(Val) -> - 'enc_RLRQ-apdu'(Val, [<<98>>]). - -'enc_RLRQ-apdu'(Val, TagIn) -> -{_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute reason(1) with type INTEGER OPTIONAL -%%------------------------------------------------- - {EncBytes1,EncLen1} = case Cindex1 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_integer(Cindex1, [{normal,0},{urgent,1},{'user-defined',30}], [<<128>>]) - end, - -%%------------------------------------------------- -%% attribute user-information(2) External acse:Association-information OPTIONAL -%%------------------------------------------------- - {EncBytes2,EncLen2} = case Cindex2 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_Association-information'(Cindex2, [<<190>>]) - end, - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_RLRQ-apdu'(Tlv) -> - 'dec_RLRQ-apdu'(Tlv, [65538]). - -'dec_RLRQ-apdu'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute reason(1) with type INTEGER OPTIONAL -%%------------------------------------------------- -{Term1,Tlv2} = case Tlv1 of -[{131072,V1}|TempTlv2] -> - {begin -Val1 = decode_integer(V1, []), -number2name(Val1, [{normal,0},{urgent,1},{'user-defined',30}]) -end -, TempTlv2}; - _ -> - { asn1_NOVALUE, Tlv1} -end, -Tlv3 = skip_ExtensionAdditions(Tlv2, [131102]), - -%%------------------------------------------------- -%% attribute user-information(1) External acse:Association-information OPTIONAL -%%------------------------------------------------- -{Term2,Tlv4} = case Tlv3 of -[{131102,V2}|TempTlv4] -> - {'dec_Association-information'(V2, []), TempTlv4}; - _ -> - { asn1_NOVALUE, Tlv3} -end, - -case Tlv4 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv4}}}) % extra fields not allowed -end, - {'RLRQ-apdu', Term1, Term2}. - - - -%%================================ -%% AARE-apdu -%%================================ -'enc_AARE-apdu'(Val) -> - 'enc_AARE-apdu'(Val, [<<97>>]). - -'enc_AARE-apdu'(Val, TagIn) -> -{_,Cindex1, Cindex2, Cindex3, Cindex4, Cindex5, Cindex6, Cindex7, Cindex8, Cindex9, Cindex10, Cindex11, Cindex12, Cindex13, Cindex14} = Val, - -%%------------------------------------------------- -%% attribute protocol-version(1) with type BIT STRING -%%------------------------------------------------- - {EncBytes1,EncLen1} = encode_named_bit_string(Cindex1, [{version1,0}], [<<128>>]), - -%%------------------------------------------------- -%% attribute application-context-name(2) with type OBJECT IDENTIFIER -%%------------------------------------------------- - {EncBytes2,EncLen2} = encode_object_identifier(Cindex2, [<<6>>,<<161>>]), - -%%------------------------------------------------- -%% attribute result(3) with type INTEGER -%%------------------------------------------------- - {EncBytes3,EncLen3} = encode_integer(Cindex3, [{accepted,0},{'rejected-permanent',1},{'rejected-transient',2}], [<<2>>,<<162>>]), - -%%------------------------------------------------- -%% attribute result-source-diagnostic(4) External acse:Associate-source-diagnostic -%%------------------------------------------------- - {EncBytes4,EncLen4} = 'enc_Associate-source-diagnostic'(Cindex4, [<<163>>]), - -%%------------------------------------------------- -%% attribute responding-AP-title(5) External acse:AP-title OPTIONAL -%%------------------------------------------------- - {EncBytes5,EncLen5} = case Cindex5 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_AP-title'(Cindex5, [<<164>>]) - end, - -%%------------------------------------------------- -%% attribute responding-AE-qualifier(6) External acse:AE-qualifier OPTIONAL -%%------------------------------------------------- - {EncBytes6,EncLen6} = case Cindex6 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_AE-qualifier'(Cindex6, [<<165>>]) - end, - -%%------------------------------------------------- -%% attribute responding-AP-invocation-identifier(7) with type INTEGER OPTIONAL -%%------------------------------------------------- - {EncBytes7,EncLen7} = case Cindex7 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_integer(Cindex7, [<<2>>,<<166>>]) - end, - -%%------------------------------------------------- -%% attribute responding-AE-invocation-identifier(8) with type INTEGER OPTIONAL -%%------------------------------------------------- - {EncBytes8,EncLen8} = case Cindex8 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_integer(Cindex8, [<<2>>,<<167>>]) - end, - -%%------------------------------------------------- -%% attribute responder-acse-requirements(9) with type BIT STRING OPTIONAL -%%------------------------------------------------- - {EncBytes9,EncLen9} = case Cindex9 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_named_bit_string(Cindex9, [{authentication,0},{'application-context-negotiation',1}], [<<136>>]) - end, - -%%------------------------------------------------- -%% attribute mechanism-name(10) with type OBJECT IDENTIFIER OPTIONAL -%%------------------------------------------------- - {EncBytes10,EncLen10} = case Cindex10 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_object_identifier(Cindex10, [<<137>>]) - end, - -%%------------------------------------------------- -%% attribute responding-authentication-value(11) External acse:Authentication-value OPTIONAL -%%------------------------------------------------- - {EncBytes11,EncLen11} = case Cindex11 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_Authentication-value'(Cindex11, [<<170>>]) - end, - -%%------------------------------------------------- -%% attribute application-context-name-list(12) External acse:Application-context-name-list OPTIONAL -%%------------------------------------------------- - {EncBytes12,EncLen12} = case Cindex12 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_Application-context-name-list'(Cindex12, [<<171>>]) - end, - -%%------------------------------------------------- -%% attribute implementation-information(13) with type GraphicString OPTIONAL -%%------------------------------------------------- - {EncBytes13,EncLen13} = case Cindex13 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_restricted_string(Cindex13, [<<157>>]) - end, - -%%------------------------------------------------- -%% attribute user-information(14) External acse:Association-information OPTIONAL -%%------------------------------------------------- - {EncBytes14,EncLen14} = case Cindex14 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_Association-information'(Cindex14, [<<190>>]) - end, - - BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4, EncBytes5, EncBytes6, EncBytes7, EncBytes8, EncBytes9, EncBytes10, EncBytes11, EncBytes12, EncBytes13, EncBytes14], -LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4 + EncLen5 + EncLen6 + EncLen7 + EncLen8 + EncLen9 + EncLen10 + EncLen11 + EncLen12 + EncLen13 + EncLen14, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_AARE-apdu'(Tlv) -> - 'dec_AARE-apdu'(Tlv, [65537]). - -'dec_AARE-apdu'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute protocol-version(1) with type BIT STRING -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = decode_named_bit_string(V1, [{version1,0}], [131072]), - -%%------------------------------------------------- -%% attribute application-context-name(2) with type OBJECT IDENTIFIER -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = decode_object_identifier(V2, [131073,6]), - -%%------------------------------------------------- -%% attribute result(3) with type INTEGER -%%------------------------------------------------- -[V3|Tlv4] = Tlv3, -Term3 = begin -Val1 = decode_integer(V3, [131074,2]), -number2name(Val1, [{accepted,0},{'rejected-permanent',1},{'rejected-transient',2}]) -end -, - -%%------------------------------------------------- -%% attribute result-source-diagnostic(4) External acse:Associate-source-diagnostic -%%------------------------------------------------- -[V4|Tlv5] = Tlv4, -Term4 = 'dec_Associate-source-diagnostic'(V4, [131075]), - -%%------------------------------------------------- -%% attribute responding-AP-title(5) External acse:AP-title OPTIONAL -%%------------------------------------------------- -{Term5,Tlv6} = case Tlv5 of -[{131076,V5}|TempTlv6] -> - {'dec_AP-title'(V5, []), TempTlv6}; - _ -> - { asn1_NOVALUE, Tlv5} -end, - -%%------------------------------------------------- -%% attribute responding-AE-qualifier(6) External acse:AE-qualifier OPTIONAL -%%------------------------------------------------- -{Term6,Tlv7} = case Tlv6 of -[{131077,V6}|TempTlv7] -> - {'dec_AE-qualifier'(V6, []), TempTlv7}; - _ -> - { asn1_NOVALUE, Tlv6} -end, - -%%------------------------------------------------- -%% attribute responding-AP-invocation-identifier(7) with type INTEGER OPTIONAL -%%------------------------------------------------- -{Term7,Tlv8} = case Tlv7 of -[{131078,V7}|TempTlv8] -> - {decode_integer(V7, [2]), TempTlv8}; - _ -> - { asn1_NOVALUE, Tlv7} -end, - -%%------------------------------------------------- -%% attribute responding-AE-invocation-identifier(8) with type INTEGER OPTIONAL -%%------------------------------------------------- -{Term8,Tlv9} = case Tlv8 of -[{131079,V8}|TempTlv9] -> - {decode_integer(V8, [2]), TempTlv9}; - _ -> - { asn1_NOVALUE, Tlv8} -end, - -%%------------------------------------------------- -%% attribute responder-acse-requirements(9) with type BIT STRING OPTIONAL -%%------------------------------------------------- -{Term9,Tlv10} = case Tlv9 of -[{131080,V9}|TempTlv10] -> - {decode_named_bit_string(V9, [{authentication,0},{'application-context-negotiation',1}], []), TempTlv10}; - _ -> - { asn1_NOVALUE, Tlv9} -end, - -%%------------------------------------------------- -%% attribute mechanism-name(10) with type OBJECT IDENTIFIER OPTIONAL -%%------------------------------------------------- -{Term10,Tlv11} = case Tlv10 of -[{131081,V10}|TempTlv11] -> - {decode_object_identifier(V10, []), TempTlv11}; - _ -> - { asn1_NOVALUE, Tlv10} -end, - -%%------------------------------------------------- -%% attribute responding-authentication-value(11) External acse:Authentication-value OPTIONAL -%%------------------------------------------------- -{Term11,Tlv12} = case Tlv11 of -[{131082,V11}|TempTlv12] -> - {'dec_Authentication-value'(V11, []), TempTlv12}; - _ -> - { asn1_NOVALUE, Tlv11} -end, - -%%------------------------------------------------- -%% attribute application-context-name-list(12) External acse:Application-context-name-list OPTIONAL -%%------------------------------------------------- -{Term12,Tlv13} = case Tlv12 of -[{131083,V12}|TempTlv13] -> - {'dec_Application-context-name-list'(V12, []), TempTlv13}; - _ -> - { asn1_NOVALUE, Tlv12} -end, - -%%------------------------------------------------- -%% attribute implementation-information(13) with type GraphicString OPTIONAL -%%------------------------------------------------- -{Term13,Tlv14} = case Tlv13 of -[{131101,V13}|TempTlv14] -> - {begin -binary_to_list(decode_restricted_string(V13, [])) -end -, TempTlv14}; - _ -> - { asn1_NOVALUE, Tlv13} -end, -Tlv15 = skip_ExtensionAdditions(Tlv14, [131102]), - -%%------------------------------------------------- -%% attribute user-information(13) External acse:Association-information OPTIONAL -%%------------------------------------------------- -{Term14,Tlv16} = case Tlv15 of -[{131102,V14}|TempTlv16] -> - {'dec_Association-information'(V14, []), TempTlv16}; - _ -> - { asn1_NOVALUE, Tlv15} -end, - -case Tlv16 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv16}}}) % extra fields not allowed -end, - {'AARE-apdu', Term1, Term2, Term3, Term4, Term5, Term6, Term7, Term8, Term9, Term10, Term11, Term12, Term13, Term14}. - - - -%%================================ -%% AARQ-apdu -%%================================ -'enc_AARQ-apdu'(Val) -> - 'enc_AARQ-apdu'(Val, [<<96>>]). - -'enc_AARQ-apdu'(Val, TagIn) -> -{_,Cindex1, Cindex2, Cindex3, Cindex4, Cindex5, Cindex6, Cindex7, Cindex8, Cindex9, Cindex10, Cindex11, Cindex12, Cindex13, Cindex14, Cindex15, Cindex16} = Val, - -%%------------------------------------------------- -%% attribute protocol-version(1) with type BIT STRING -%%------------------------------------------------- - {EncBytes1,EncLen1} = encode_named_bit_string(Cindex1, [{version1,0}], [<<128>>]), - -%%------------------------------------------------- -%% attribute application-context-name(2) with type OBJECT IDENTIFIER -%%------------------------------------------------- - {EncBytes2,EncLen2} = encode_object_identifier(Cindex2, [<<6>>,<<161>>]), - -%%------------------------------------------------- -%% attribute called-AP-title(3) External acse:AP-title OPTIONAL -%%------------------------------------------------- - {EncBytes3,EncLen3} = case Cindex3 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_AP-title'(Cindex3, [<<162>>]) - end, - -%%------------------------------------------------- -%% attribute called-AE-qualifier(4) External acse:AE-qualifier OPTIONAL -%%------------------------------------------------- - {EncBytes4,EncLen4} = case Cindex4 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_AE-qualifier'(Cindex4, [<<163>>]) - end, - -%%------------------------------------------------- -%% attribute called-AP-invocation-identifier(5) with type INTEGER OPTIONAL -%%------------------------------------------------- - {EncBytes5,EncLen5} = case Cindex5 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_integer(Cindex5, [<<2>>,<<164>>]) - end, - -%%------------------------------------------------- -%% attribute called-AE-invocation-identifier(6) with type INTEGER OPTIONAL -%%------------------------------------------------- - {EncBytes6,EncLen6} = case Cindex6 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_integer(Cindex6, [<<2>>,<<165>>]) - end, - -%%------------------------------------------------- -%% attribute calling-AP-title(7) External acse:AP-title OPTIONAL -%%------------------------------------------------- - {EncBytes7,EncLen7} = case Cindex7 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_AP-title'(Cindex7, [<<166>>]) - end, - -%%------------------------------------------------- -%% attribute calling-AE-qualifier(8) External acse:AE-qualifier OPTIONAL -%%------------------------------------------------- - {EncBytes8,EncLen8} = case Cindex8 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_AE-qualifier'(Cindex8, [<<167>>]) - end, - -%%------------------------------------------------- -%% attribute calling-AP-invocation-identifier(9) with type INTEGER OPTIONAL -%%------------------------------------------------- - {EncBytes9,EncLen9} = case Cindex9 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_integer(Cindex9, [<<2>>,<<168>>]) - end, - -%%------------------------------------------------- -%% attribute calling-AE-invocation-identifier(10) with type INTEGER OPTIONAL -%%------------------------------------------------- - {EncBytes10,EncLen10} = case Cindex10 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_integer(Cindex10, [<<2>>,<<169>>]) - end, - -%%------------------------------------------------- -%% attribute sender-acse-requirements(11) with type BIT STRING OPTIONAL -%%------------------------------------------------- - {EncBytes11,EncLen11} = case Cindex11 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_named_bit_string(Cindex11, [{authentication,0},{'application-context-negotiation',1}], [<<138>>]) - end, - -%%------------------------------------------------- -%% attribute mechanism-name(12) with type OBJECT IDENTIFIER OPTIONAL -%%------------------------------------------------- - {EncBytes12,EncLen12} = case Cindex12 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_object_identifier(Cindex12, [<<139>>]) - end, - -%%------------------------------------------------- -%% attribute calling-authentication-value(13) External acse:Authentication-value OPTIONAL -%%------------------------------------------------- - {EncBytes13,EncLen13} = case Cindex13 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_Authentication-value'(Cindex13, [<<172>>]) - end, - -%%------------------------------------------------- -%% attribute application-context-name-list(14) External acse:Application-context-name-list OPTIONAL -%%------------------------------------------------- - {EncBytes14,EncLen14} = case Cindex14 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_Application-context-name-list'(Cindex14, [<<173>>]) - end, - -%%------------------------------------------------- -%% attribute implementation-information(15) with type GraphicString OPTIONAL -%%------------------------------------------------- - {EncBytes15,EncLen15} = case Cindex15 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_restricted_string(Cindex15, [<<157>>]) - end, - -%%------------------------------------------------- -%% attribute user-information(16) External acse:Association-information OPTIONAL -%%------------------------------------------------- - {EncBytes16,EncLen16} = case Cindex16 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_Association-information'(Cindex16, [<<190>>]) - end, - - BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4, EncBytes5, EncBytes6, EncBytes7, EncBytes8, EncBytes9, EncBytes10, EncBytes11, EncBytes12, EncBytes13, EncBytes14, EncBytes15, EncBytes16], -LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4 + EncLen5 + EncLen6 + EncLen7 + EncLen8 + EncLen9 + EncLen10 + EncLen11 + EncLen12 + EncLen13 + EncLen14 + EncLen15 + EncLen16, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_AARQ-apdu'(Tlv) -> - 'dec_AARQ-apdu'(Tlv, [65536]). - -'dec_AARQ-apdu'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute protocol-version(1) with type BIT STRING -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = decode_named_bit_string(V1, [{version1,0}], [131072]), - -%%------------------------------------------------- -%% attribute application-context-name(2) with type OBJECT IDENTIFIER -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = decode_object_identifier(V2, [131073,6]), - -%%------------------------------------------------- -%% attribute called-AP-title(3) External acse:AP-title OPTIONAL -%%------------------------------------------------- -{Term3,Tlv4} = case Tlv3 of -[{131074,V3}|TempTlv4] -> - {'dec_AP-title'(V3, []), TempTlv4}; - _ -> - { asn1_NOVALUE, Tlv3} -end, - -%%------------------------------------------------- -%% attribute called-AE-qualifier(4) External acse:AE-qualifier OPTIONAL -%%------------------------------------------------- -{Term4,Tlv5} = case Tlv4 of -[{131075,V4}|TempTlv5] -> - {'dec_AE-qualifier'(V4, []), TempTlv5}; - _ -> - { asn1_NOVALUE, Tlv4} -end, - -%%------------------------------------------------- -%% attribute called-AP-invocation-identifier(5) with type INTEGER OPTIONAL -%%------------------------------------------------- -{Term5,Tlv6} = case Tlv5 of -[{131076,V5}|TempTlv6] -> - {decode_integer(V5, [2]), TempTlv6}; - _ -> - { asn1_NOVALUE, Tlv5} -end, - -%%------------------------------------------------- -%% attribute called-AE-invocation-identifier(6) with type INTEGER OPTIONAL -%%------------------------------------------------- -{Term6,Tlv7} = case Tlv6 of -[{131077,V6}|TempTlv7] -> - {decode_integer(V6, [2]), TempTlv7}; - _ -> - { asn1_NOVALUE, Tlv6} -end, - -%%------------------------------------------------- -%% attribute calling-AP-title(7) External acse:AP-title OPTIONAL -%%------------------------------------------------- -{Term7,Tlv8} = case Tlv7 of -[{131078,V7}|TempTlv8] -> - {'dec_AP-title'(V7, []), TempTlv8}; - _ -> - { asn1_NOVALUE, Tlv7} -end, - -%%------------------------------------------------- -%% attribute calling-AE-qualifier(8) External acse:AE-qualifier OPTIONAL -%%------------------------------------------------- -{Term8,Tlv9} = case Tlv8 of -[{131079,V8}|TempTlv9] -> - {'dec_AE-qualifier'(V8, []), TempTlv9}; - _ -> - { asn1_NOVALUE, Tlv8} -end, - -%%------------------------------------------------- -%% attribute calling-AP-invocation-identifier(9) with type INTEGER OPTIONAL -%%------------------------------------------------- -{Term9,Tlv10} = case Tlv9 of -[{131080,V9}|TempTlv10] -> - {decode_integer(V9, [2]), TempTlv10}; - _ -> - { asn1_NOVALUE, Tlv9} -end, - -%%------------------------------------------------- -%% attribute calling-AE-invocation-identifier(10) with type INTEGER OPTIONAL -%%------------------------------------------------- -{Term10,Tlv11} = case Tlv10 of -[{131081,V10}|TempTlv11] -> - {decode_integer(V10, [2]), TempTlv11}; - _ -> - { asn1_NOVALUE, Tlv10} -end, - -%%------------------------------------------------- -%% attribute sender-acse-requirements(11) with type BIT STRING OPTIONAL -%%------------------------------------------------- -{Term11,Tlv12} = case Tlv11 of -[{131082,V11}|TempTlv12] -> - {decode_named_bit_string(V11, [{authentication,0},{'application-context-negotiation',1}], []), TempTlv12}; - _ -> - { asn1_NOVALUE, Tlv11} -end, - -%%------------------------------------------------- -%% attribute mechanism-name(12) with type OBJECT IDENTIFIER OPTIONAL -%%------------------------------------------------- -{Term12,Tlv13} = case Tlv12 of -[{131083,V12}|TempTlv13] -> - {decode_object_identifier(V12, []), TempTlv13}; - _ -> - { asn1_NOVALUE, Tlv12} -end, - -%%------------------------------------------------- -%% attribute calling-authentication-value(13) External acse:Authentication-value OPTIONAL -%%------------------------------------------------- -{Term13,Tlv14} = case Tlv13 of -[{131084,V13}|TempTlv14] -> - {'dec_Authentication-value'(V13, []), TempTlv14}; - _ -> - { asn1_NOVALUE, Tlv13} -end, - -%%------------------------------------------------- -%% attribute application-context-name-list(14) External acse:Application-context-name-list OPTIONAL -%%------------------------------------------------- -{Term14,Tlv15} = case Tlv14 of -[{131085,V14}|TempTlv15] -> - {'dec_Application-context-name-list'(V14, []), TempTlv15}; - _ -> - { asn1_NOVALUE, Tlv14} -end, - -%%------------------------------------------------- -%% attribute implementation-information(15) with type GraphicString OPTIONAL -%%------------------------------------------------- -{Term15,Tlv16} = case Tlv15 of -[{131101,V15}|TempTlv16] -> - {begin -binary_to_list(decode_restricted_string(V15, [])) -end -, TempTlv16}; - _ -> - { asn1_NOVALUE, Tlv15} -end, -Tlv17 = skip_ExtensionAdditions(Tlv16, [131102]), - -%%------------------------------------------------- -%% attribute user-information(15) External acse:Association-information OPTIONAL -%%------------------------------------------------- -{Term16,Tlv18} = case Tlv17 of -[{131102,V16}|TempTlv18] -> - {'dec_Association-information'(V16, []), TempTlv18}; - _ -> - { asn1_NOVALUE, Tlv17} -end, - -case Tlv18 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv18}}}) % extra fields not allowed -end, - {'AARQ-apdu', Term1, Term2, Term3, Term4, Term5, Term6, Term7, Term8, Term9, Term10, Term11, Term12, Term13, Term14, Term15, Term16}. - - - -%%================================ -%% ACSE-apdu -%%================================ -'enc_ACSE-apdu'(Val) -> - 'enc_ACSE-apdu'(Val, []). - -'enc_ACSE-apdu'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - aarq -> - 'enc_AARQ-apdu'(element(2,Val), [<<96>>]); - aare -> - 'enc_AARE-apdu'(element(2,Val), [<<97>>]); - rlrq -> - 'enc_RLRQ-apdu'(element(2,Val), [<<98>>]); - rlre -> - 'enc_RLRE-apdu'(element(2,Val), [<<99>>]); - abrt -> - 'enc_ABRT-apdu'(element(2,Val), [<<100>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_ACSE-apdu'(Tlv) -> - 'dec_ACSE-apdu'(Tlv, []). - -'dec_ACSE-apdu'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'aarq' - {65536, V1} -> - {aarq, 'dec_AARQ-apdu'(V1, [])}; - - -%% 'aare' - {65537, V1} -> - {aare, 'dec_AARE-apdu'(V1, [])}; - - -%% 'rlrq' - {65538, V1} -> - {rlrq, 'dec_RLRQ-apdu'(V1, [])}; - - -%% 'rlre' - {65539, V1} -> - {rlre, 'dec_RLRE-apdu'(V1, [])}; - - -%% 'abrt' - {65540, V1} -> - {abrt, 'dec_ABRT-apdu'(V1, [])}; - - Else -> - {asn1_ExtAlt,ber_encode(Else)} - end -. - - -%%================================ -%% EXTERNAL -%%================================ -'enc_EXTERNAL'(Val) -> - 'enc_EXTERNAL'(Val, [<<40>>]). - -'enc_EXTERNAL'(Val, TagIn) -> - NewVal = transform_to_EXTERNAL1990(Val), -{_,Cindex1, Cindex2, Cindex3, Cindex4} = NewVal, - -%%------------------------------------------------- -%% attribute direct-reference(1) with type OBJECT IDENTIFIER OPTIONAL -%%------------------------------------------------- - {EncBytes1,EncLen1} = case Cindex1 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_object_identifier(Cindex1, [<<6>>]) - end, - -%%------------------------------------------------- -%% attribute indirect-reference(2) with type INTEGER OPTIONAL -%%------------------------------------------------- - {EncBytes2,EncLen2} = case Cindex2 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_integer(Cindex2, [<<2>>]) - end, - -%%------------------------------------------------- -%% attribute data-value-descriptor(3) with type ObjectDescriptor OPTIONAL -%%------------------------------------------------- - {EncBytes3,EncLen3} = case Cindex3 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_restricted_string(Cindex3, [<<7>>]) - end, - -%%------------------------------------------------- -%% attribute encoding(4) with type CHOICE -%%------------------------------------------------- - {EncBytes4,EncLen4} = 'enc_EXTERNAL_encoding'(Cindex4, []), - - BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4], -LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - - -%%================================ -%% EXTERNAL_encoding -%%================================ -'enc_EXTERNAL_encoding'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - 'single-ASN1-type' -> - encode_open_type(element(2,Val), [<<160>>]); - 'octet-aligned' -> - encode_restricted_string(element(2,Val), [<<129>>]); - arbitrary -> - encode_unnamed_bit_string(element(2,Val), [<<130>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_EXTERNAL'(Tlv) -> - 'dec_EXTERNAL'(Tlv, [8]). - -'dec_EXTERNAL'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute direct-reference(1) with type OBJECT IDENTIFIER OPTIONAL -%%------------------------------------------------- -{Term1,Tlv2} = case Tlv1 of -[{6,V1}|TempTlv2] -> - {decode_object_identifier(V1, []), TempTlv2}; - _ -> - { asn1_NOVALUE, Tlv1} -end, - -%%------------------------------------------------- -%% attribute indirect-reference(2) with type INTEGER OPTIONAL -%%------------------------------------------------- -{Term2,Tlv3} = case Tlv2 of -[{2,V2}|TempTlv3] -> - {decode_integer(V2, []), TempTlv3}; - _ -> - { asn1_NOVALUE, Tlv2} -end, - -%%------------------------------------------------- -%% attribute data-value-descriptor(3) with type ObjectDescriptor OPTIONAL -%%------------------------------------------------- -{Term3,Tlv4} = case Tlv3 of -[{7,V3}|TempTlv4] -> - {begin -binary_to_list(decode_restricted_string(V3, [])) -end -, TempTlv4}; - _ -> - { asn1_NOVALUE, Tlv3} -end, - -%%------------------------------------------------- -%% attribute encoding(4) with type CHOICE -%%------------------------------------------------- -[V4|Tlv5] = Tlv4, -Term4 = 'dec_EXTERNAL_encoding'(V4, []), - -case Tlv5 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv5}}}) % extra fields not allowed -end, - OldFormat={'EXTERNAL', Term1, Term2, Term3, Term4}, - transform_to_EXTERNAL1994(OldFormat). -'dec_EXTERNAL_encoding'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'single-ASN1-type' - {131072, V1} -> - {'single-ASN1-type', decode_open_type_as_binary(V1, [])}; - - -%% 'octet-aligned' - {131073, V1} -> - {'octet-aligned', decode_octet_string(V1, [])}; - - -%% 'arbitrary' - {131074, V1} -> - {arbitrary, decode_native_bit_string(V1, [])}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. -'aCSE-id'() -> -{2,2,3,1,1}. - -'acse-as-id'() -> -{2,2,1,0,1}. - - - - -%%================================ -%% ObjectSet -%%================================ -'getenc_ObjectSet'(_) -> - fun(_, Val, _RestPrimFieldName) -> - case Val of - {asn1_OPENTYPE,Bin} when is_binary(Bin) -> - {Bin,byte_size(Bin)} - end - end. - -'getdec_ObjectSet'(_) -> - fun(_,Bytes, _RestPrimFieldName) -> - case Bytes of - Bin when is_binary(Bin) -> - {asn1_OPENTYPE,Bin}; - _ -> - {asn1_OPENTYPE,ber_encode(Bytes)} - end - end. - - - -%%% -%%% Run-time functions. -%%% - -'dialyzer-suppressions'(Arg) -> - ok. - -ber_decode_nif(B) -> - asn1rt_nif:decode_ber_tlv(B). - -ber_encode([Tlv]) -> - ber_encode(Tlv); -ber_encode(Tlv) when is_binary(Tlv) -> - Tlv; -ber_encode(Tlv) -> - asn1rt_nif:encode_ber_tlv(Tlv). - -collect_parts(TlvList) -> - collect_parts(TlvList, []). - -collect_parts([{_,L}|Rest], Acc) when is_list(L) -> - collect_parts(Rest, [collect_parts(L)|Acc]); -collect_parts([{3,<>}|Rest], _Acc) -> - collect_parts_bit(Rest, [Bits], Unused); -collect_parts([{_T,V}|Rest], Acc) -> - collect_parts(Rest, [V|Acc]); -collect_parts([], Acc) -> - list_to_binary(lists:reverse(Acc)). - -collect_parts_bit([{3,<>}|Rest], Acc, Uacc) -> - collect_parts_bit(Rest, [Bits|Acc], Unused + Uacc); -collect_parts_bit([], Acc, Uacc) -> - list_to_binary([Uacc|lists:reverse(Acc)]). - -dec_subidentifiers(<<>>, _Av, Al) -> - lists:reverse(Al); -dec_subidentifiers(<<1:1,H:7,T/binary>>, Av, Al) -> - dec_subidentifiers(T, Av bsl 7 + H, Al); -dec_subidentifiers(<>, Av, Al) -> - dec_subidentifiers(T, 0, [Av bsl 7 + H|Al]). - -decode_bitstring2(1, - Unused, - <>) -> - lists:sublist([B7,B6,B5,B4,B3,B2,B1,B0], 8 - Unused); -decode_bitstring2(Len, - Unused, - <>) -> - [B7,B6,B5,B4,B3,B2,B1,B0|decode_bitstring2(Len - 1, Unused, Buffer)]. - -decode_bitstring_NNL(BitList, NamedNumberList) -> - decode_bitstring_NNL(BitList, NamedNumberList, 0, []). - -decode_bitstring_NNL([], _, _No, Result) -> - lists:reverse(Result); -decode_bitstring_NNL([B|BitList], - [{Name,No}|NamedNumberList], - No, - Result) -> - if - B =:= 0 -> - decode_bitstring_NNL(BitList, - NamedNumberList, - No + 1, - Result); - true -> - decode_bitstring_NNL(BitList, - NamedNumberList, - No + 1, - [Name|Result]) - end; -decode_bitstring_NNL([1|BitList], NamedNumberList, No, Result) -> - decode_bitstring_NNL(BitList, - NamedNumberList, - No + 1, - [{bit,No}|Result]); -decode_bitstring_NNL([0|BitList], NamedNumberList, No, Result) -> - decode_bitstring_NNL(BitList, NamedNumberList, No + 1, Result). - -decode_integer(Tlv, TagIn) -> - Bin = match_tags(Tlv, TagIn), - Len = byte_size(Bin), - <> = Bin, - Int. - -decode_named_bit_string(Buffer, NamedNumberList, Tags) -> - case match_and_collect(Buffer, Tags) of - <<0>> -> - []; - <> -> - BitString = decode_bitstring2(byte_size(Bits), Unused, Bits), - decode_bitstring_NNL(BitString, NamedNumberList) - end. - -decode_native_bit_string(Buffer, Tags) -> - case match_and_collect(Buffer, Tags) of - <<0>> -> - <<>>; - <> -> - Size = bit_size(Bits) - Unused, - <> = Bits, - Val - end. - -decode_object_identifier(Tlv, Tags) -> - Val = match_tags(Tlv, Tags), - [AddedObjVal|ObjVals] = dec_subidentifiers(Val, 0, []), - {Val1,Val2} = - if - AddedObjVal < 40 -> - {0,AddedObjVal}; - AddedObjVal < 80 -> - {1,AddedObjVal - 40}; - true -> - {2,AddedObjVal - 80} - end, - list_to_tuple([Val1,Val2|ObjVals]). - -decode_octet_string(Tlv, TagsIn) -> - Bin = match_and_collect(Tlv, TagsIn), - binary:copy(Bin). - -decode_open_type(Tlv, TagIn) -> - case match_tags(Tlv, TagIn) of - Bin when is_binary(Bin) -> - {InnerTlv,_} = ber_decode_nif(Bin), - InnerTlv; - TlvBytes -> - TlvBytes - end. - -decode_open_type_as_binary(Tlv, TagIn) -> - ber_encode(match_tags(Tlv, TagIn)). - -decode_restricted_string(Tlv, TagsIn) -> - match_and_collect(Tlv, TagsIn). - -do_encode_named_bit_string([FirstVal|RestVal], NamedBitList, TagIn) -> - ToSetPos = get_all_bitposes([FirstVal|RestVal], NamedBitList, []), - Size = lists:max(ToSetPos) + 1, - BitList = make_and_set_list(Size, ToSetPos, 0), - {Len,Unused,OctetList} = encode_bitstring(BitList), - encode_tags(TagIn, [Unused|OctetList], Len + 1). - -e_object_identifier({'OBJECT IDENTIFIER',V}) -> - e_object_identifier(V); -e_object_identifier(V) when is_tuple(V) -> - e_object_identifier(tuple_to_list(V)); -e_object_identifier([E1,E2|Tail]) -> - Head = 40 * E1 + E2, - {H,Lh} = mk_object_val(Head), - {R,Lr} = lists:mapfoldl(fun enc_obj_id_tail/2, 0, Tail), - {[H|R],Lh + Lr}. - -enc_obj_id_tail(H, Len) -> - {B,L} = mk_object_val(H), - {B,Len + L}. - -encode_bitstring([B8,B7,B6,B5,B4,B3,B2,B1|Rest]) -> - Val = - B8 bsl 7 bor (B7 bsl 6) bor (B6 bsl 5) bor (B5 bsl 4) - bor - (B4 bsl 3) - bor - (B3 bsl 2) - bor - (B2 bsl 1) - bor - B1, - encode_bitstring(Rest, [Val], 1); -encode_bitstring(Val) -> - {Unused,Octet} = unused_bitlist(Val, 7, 0), - {1,Unused,[Octet]}. - -encode_bitstring([B8,B7,B6,B5,B4,B3,B2,B1|Rest], Ack, Len) -> - Val = - B8 bsl 7 bor (B7 bsl 6) bor (B6 bsl 5) bor (B5 bsl 4) - bor - (B4 bsl 3) - bor - (B3 bsl 2) - bor - (B2 bsl 1) - bor - B1, - encode_bitstring(Rest, [Ack,Val], Len + 1); -encode_bitstring([], Ack, Len) -> - {Len,0,Ack}; -encode_bitstring(Rest, Ack, Len) -> - {Unused,Val} = unused_bitlist(Rest, 7, 0), - {Len + 1,Unused,[Ack,Val]}. - -encode_integer(Val) -> - Bytes = - if - Val >= 0 -> - encode_integer_pos(Val, []); - true -> - encode_integer_neg(Val, []) - end, - {Bytes,length(Bytes)}. - -encode_integer(Val, NamedNumberList, Tag) when is_atom(Val) -> - case lists:keyfind(Val, 1, NamedNumberList) of - {_,NewVal} -> - encode_tags(Tag, encode_integer(NewVal)); - _ -> - exit({error,{asn1,{encode_integer_namednumber,Val}}}) - end; -encode_integer(Val, _NamedNumberList, Tag) -> - encode_tags(Tag, encode_integer(Val)). - -encode_integer(Val, Tag) when is_integer(Val) -> - encode_tags(Tag, encode_integer(Val)); -encode_integer(Val, _Tag) -> - exit({error,{asn1,{encode_integer,Val}}}). - -encode_integer_neg(- 1, [B1|_T] = L) when B1 > 127 -> - L; -encode_integer_neg(N, Acc) -> - encode_integer_neg(N bsr 8, [N band 255|Acc]). - -encode_integer_pos(0, [B|_Acc] = L) when B < 128 -> - L; -encode_integer_pos(N, Acc) -> - encode_integer_pos(N bsr 8, [N band 255|Acc]). - -encode_length(L) when L =< 127 -> - {[L],1}; -encode_length(L) -> - Oct = minimum_octets(L), - Len = length(Oct), - if - Len =< 126 -> - {[128 bor Len|Oct],Len + 1}; - true -> - exit({error,{asn1,too_long_length_oct,Len}}) - end. - -encode_named_bit_string([H|_] = Bits, NamedBitList, TagIn) - when is_atom(H) -> - do_encode_named_bit_string(Bits, NamedBitList, TagIn); -encode_named_bit_string([{bit,_}|_] = Bits, NamedBitList, TagIn) -> - do_encode_named_bit_string(Bits, NamedBitList, TagIn); -encode_named_bit_string(Bits, _NamedBitList, TagIn) - when is_bitstring(Bits) -> - encode_unnamed_bit_string(Bits, TagIn). - -encode_object_identifier(Val, TagIn) -> - encode_tags(TagIn, e_object_identifier(Val)). - -encode_open_type(Val, T) when is_list(Val) -> - encode_open_type(list_to_binary(Val), T); -encode_open_type(Val, Tag) -> - encode_tags(Tag, Val, byte_size(Val)). - -encode_restricted_string(OctetList, TagIn) when is_binary(OctetList) -> - encode_tags(TagIn, OctetList, byte_size(OctetList)); -encode_restricted_string(OctetList, TagIn) when is_list(OctetList) -> - encode_tags(TagIn, OctetList, length(OctetList)). - -encode_tags(TagIn, {BytesSoFar,LenSoFar}) -> - encode_tags(TagIn, BytesSoFar, LenSoFar). - -encode_tags([Tag|Trest], BytesSoFar, LenSoFar) -> - {Bytes2,L2} = encode_length(LenSoFar), - encode_tags(Trest, - [Tag,Bytes2|BytesSoFar], - LenSoFar + byte_size(Tag) + L2); -encode_tags([], BytesSoFar, LenSoFar) -> - {BytesSoFar,LenSoFar}. - -encode_unnamed_bit_string(Bits, TagIn) -> - Unused = (8 - bit_size(Bits) band 7) band 7, - Bin = <>, - encode_tags(TagIn, Bin, byte_size(Bin)). - -get_all_bitposes([{bit,ValPos}|Rest], NamedBitList, Ack) -> - get_all_bitposes(Rest, NamedBitList, [ValPos|Ack]); -get_all_bitposes([Val|Rest], NamedBitList, Ack) when is_atom(Val) -> - case lists:keyfind(Val, 1, NamedBitList) of - {_ValName,ValPos} -> - get_all_bitposes(Rest, NamedBitList, [ValPos|Ack]); - _ -> - exit({error,{asn1,{bitstring_namedbit,Val}}}) - end; -get_all_bitposes([], _NamedBitList, Ack) -> - lists:sort(Ack). - -make_and_set_list(0, [], _) -> - []; -make_and_set_list(0, _, _) -> - exit({error,{asn1,bitstring_sizeconstraint}}); -make_and_set_list(Len, [XPos|SetPos], XPos) -> - [1|make_and_set_list(Len - 1, SetPos, XPos + 1)]; -make_and_set_list(Len, [Pos|SetPos], XPos) -> - [0|make_and_set_list(Len - 1, [Pos|SetPos], XPos + 1)]; -make_and_set_list(Len, [], XPos) -> - [0|make_and_set_list(Len - 1, [], XPos + 1)]. - -match_and_collect(Tlv, TagsIn) -> - Val = match_tags(Tlv, TagsIn), - case Val of - [_|_] = PartList -> - collect_parts(PartList); - Bin when is_binary(Bin) -> - Bin - end. - -match_tags({T,V}, [T]) -> - V; -match_tags({T,V}, [T|Tt]) -> - match_tags(V, Tt); -match_tags([{T,V}], [T|Tt]) -> - match_tags(V, Tt); -match_tags([{T,_V}|_] = Vlist, [T]) -> - Vlist; -match_tags(Tlv, []) -> - Tlv; -match_tags({Tag,_V} = Tlv, [T|_Tt]) -> - exit({error,{asn1,{wrong_tag,{{expected,T},{got,Tag,Tlv}}}}}). - -minimum_octets(0, Acc) -> - Acc; -minimum_octets(Val, Acc) -> - minimum_octets(Val bsr 8, [Val band 255|Acc]). - -minimum_octets(Val) -> - minimum_octets(Val, []). - -mk_object_val(0, Ack, Len) -> - {Ack,Len}; -mk_object_val(Val, Ack, Len) -> - mk_object_val(Val bsr 7, [Val band 127 bor 128|Ack], Len + 1). - -mk_object_val(Val) when Val =< 127 -> - {[255 band Val],1}; -mk_object_val(Val) -> - mk_object_val(Val bsr 7, [Val band 127], 1). - -number2name(Int, NamedNumberList) -> - case lists:keyfind(Int, 2, NamedNumberList) of - {NamedVal,_} -> - NamedVal; - _ -> - Int - end. - -skip_ExtensionAdditions([], _Tags) -> - []; -skip_ExtensionAdditions([{Tag,_}|Rest] = TLV, Tags) -> - case - [ - X || - X = T <- Tags, - T =:= Tag - ] - of - [] -> - skip_ExtensionAdditions(Rest, Tags); - _ -> - TLV - end. - -transform_to_EXTERNAL1990(['EXTERNAL'|Rest], Acc) -> - transform_to_EXTERNAL1990(Rest, ['EXTERNAL'|Acc]); -transform_to_EXTERNAL1990([{syntax,Syntax}|Rest], Acc) -> - transform_to_EXTERNAL1990(Rest, [asn1_NOVALUE,Syntax|Acc]); -transform_to_EXTERNAL1990([{'presentation-context-id',PCid}|Rest], Acc) -> - transform_to_EXTERNAL1990(Rest, [PCid,asn1_NOVALUE|Acc]); -transform_to_EXTERNAL1990([{'context-negotiation',Context_negot}|Rest], - Acc) -> - {_,Presentation_Cid,Transfer_syntax} = Context_negot, - transform_to_EXTERNAL1990(Rest, - [Presentation_Cid,Transfer_syntax|Acc]); -transform_to_EXTERNAL1990([asn1_NOVALUE|Rest], Acc) -> - transform_to_EXTERNAL1990(Rest, [asn1_NOVALUE|Acc]); -transform_to_EXTERNAL1990([Data_val_desc,Data_value], Acc) - when is_list(Data_value); is_binary(Data_value) -> - list_to_tuple(lists:reverse([{'octet-aligned',Data_value}, - Data_val_desc| - Acc])); -transform_to_EXTERNAL1990([Data_val_desc,Data_value], Acc) - when is_binary(Data_value) -> - list_to_tuple(lists:reverse([{'single-ASN1-type',Data_value}, - Data_val_desc| - Acc])); -transform_to_EXTERNAL1990([Data_value], Acc) - when is_list(Data_value); is_binary(Data_value) -> - list_to_tuple(lists:reverse([{'octet-aligned',Data_value}|Acc])). - -transform_to_EXTERNAL1990({_,_,_,_} = Val) -> - transform_to_EXTERNAL1990(tuple_to_list(Val), []); -transform_to_EXTERNAL1990(Val) when is_tuple(Val) -> - Val. - -transform_to_EXTERNAL1994({'EXTERNAL',DRef,IndRef,Data_v_desc,Encoding} = - V) -> - Identification = - case {DRef,IndRef} of - {DRef,asn1_NOVALUE} -> - {syntax,DRef}; - {asn1_NOVALUE,IndRef} -> - {'presentation-context-id',IndRef}; - _ -> - {'context-negotiation', - {'EXTERNAL_identification_context-negotiation', - IndRef, - DRef}} - end, - case Encoding of - {'octet-aligned',Val} when is_list(Val); is_binary(Val) -> - {'EXTERNAL',Identification,Data_v_desc,Val}; - _ -> - V - end. - -unused_bitlist([], Trail, Ack) -> - {Trail + 1,Ack}; -unused_bitlist([Bit|Rest], Trail, Ack) -> - unused_bitlist(Rest, Trail - 1, Bit bsl Trail bor Ack). diff --git a/acse.hrl b/acse.hrl deleted file mode 100644 index 3b3ddda..0000000 --- a/acse.hrl +++ /dev/null @@ -1,58 +0,0 @@ -%% Generated by the Erlang ASN.1 compiler version:4.0 -%% Purpose: Erlang record definitions for each named and unnamed -%% SEQUENCE and SET, and macro definitions for each value -%% definition,in module acse - - - --ifndef(_ACSE_HRL_). --define(_ACSE_HRL_, true). - --record('NewACSEUserInformationForCSTA',{ -cSTAVersion, cSTAFunctionsRequiredByApplication = asn1_NOVALUE, cSTAFunctionsThatCanBeSupplied = asn1_NOVALUE, cSTAPrivateDataVersionList = asn1_NOVALUE}). - --record('OldACSEUserInformationForCSTA',{ -cSTAVersion, cSTAFunctionsRequiredByApplication, cSTAFunctionsThatCanBeSupplied}). - --record('CSTAFunctionality',{ -switchingFunctionServices = asn1_DEFAULT, eventReportServices = asn1_DEFAULT, computingFunctionServices = asn1_DEFAULT, bidirectionalServices = asn1_DEFAULT, statusReportingServices = asn1_DEFAULT, inputOutputServices = asn1_DEFAULT, voiceUnitServices = asn1_DEFAULT}). - --record('Authentication-value_other',{ -'other-mechanism-name', 'other-mechanism-value'}). - --record('ABRT-apdu',{ -'abort-source', 'abort-diagnostic' = asn1_NOVALUE, -%% with extensions -%% end of extensions -'user-information' = asn1_NOVALUE}). - --record('RLRE-apdu',{ -reason = asn1_NOVALUE, -%% with extensions -%% end of extensions -'user-information' = asn1_NOVALUE}). - --record('RLRQ-apdu',{ -reason = asn1_NOVALUE, -%% with extensions -%% end of extensions -'user-information' = asn1_NOVALUE}). - --record('AARE-apdu',{ -'protocol-version', 'application-context-name', result, 'result-source-diagnostic', 'responding-AP-title' = asn1_NOVALUE, 'responding-AE-qualifier' = asn1_NOVALUE, 'responding-AP-invocation-identifier' = asn1_NOVALUE, 'responding-AE-invocation-identifier' = asn1_NOVALUE, 'responder-acse-requirements' = asn1_NOVALUE, 'mechanism-name' = asn1_NOVALUE, 'responding-authentication-value' = asn1_NOVALUE, 'application-context-name-list' = asn1_NOVALUE, 'implementation-information' = asn1_NOVALUE, -%% with extensions -%% end of extensions -'user-information' = asn1_NOVALUE}). - --record('AARQ-apdu',{ -'protocol-version', 'application-context-name', 'called-AP-title' = asn1_NOVALUE, 'called-AE-qualifier' = asn1_NOVALUE, 'called-AP-invocation-identifier' = asn1_NOVALUE, 'called-AE-invocation-identifier' = asn1_NOVALUE, 'calling-AP-title' = asn1_NOVALUE, 'calling-AE-qualifier' = asn1_NOVALUE, 'calling-AP-invocation-identifier' = asn1_NOVALUE, 'calling-AE-invocation-identifier' = asn1_NOVALUE, 'sender-acse-requirements' = asn1_NOVALUE, 'mechanism-name' = asn1_NOVALUE, 'calling-authentication-value' = asn1_NOVALUE, 'application-context-name-list' = asn1_NOVALUE, 'implementation-information' = asn1_NOVALUE, -%% with extensions -%% end of extensions -'user-information' = asn1_NOVALUE}). - --record('EXTERNAL',{ -'direct-reference' = asn1_NOVALUE, 'indirect-reference' = asn1_NOVALUE, 'data-value-descriptor' = asn1_NOVALUE, encoding}). - --define('aCSE-id', {2,2,3,1,1}). --define('acse-as-id', {2,2,1,0,1}). --endif. %% _ACSE_HRL_ diff --git a/kme.erl b/kme.erl deleted file mode 100644 index 3791251..0000000 --- a/kme.erl +++ /dev/null @@ -1,11764 +0,0 @@ -%% Generated by the Erlang ASN.1 BER_V2-compiler version, utilizing bit-syntax:4.0 -%% Purpose: encoder and decoder to the types in mod kme - --module('kme'). --compile(nowarn_unused_vars). --include("kme.hrl"). --asn1_info([{vsn,'4.0'}, - {module,'kme'}, - {options,[{i,"/Users/quax/erl"}, - warnings,ber,errors, - {cwd,"/Users/quax/erl"}, - {outdir,"/Users/quax/erl"}, - {i,"."}, - {i,"/Users/quax/erl/lib"}]}]). - --export([encoding_rule/0,bit_string_format/0, - legacy_erlang_types/0]). --export(['dialyzer-suppressions'/1]). --export([ -'enc_KMESpecificPrivateData'/2, -'enc_KmeGenericEvent'/2, -'enc_KmeGenericServiceRsp'/2, -'enc_KmeGenericServiceReq'/2, -'enc_KmeGenericSrvEvt'/2, -'enc_KmeOgmStop'/2, -'enc_KmeOgmStart'/2, -'enc_KmeResourceControl'/2, -'enc_KmePrivateEvent'/2, -'enc_KmeAdditionalData'/2, -'enc_KmeSystemData'/2, -'enc_KmeDeviceMonitor'/2, -'enc_KmeDeviceStatus'/2, -'enc_KmeCallControlSrvEvt'/2, -'enc_KmeFreeOgmPort'/2, -'enc_KmeSwitchChannel'/2, -'enc_KmePcRecEnded'/2, -'enc_KmeTamEnded'/2, -'enc_KmeUnconferenced'/2, -'enc_KmeWakeupResult'/2, -'enc_KmeOgmStatus'/2, -'enc_KmeDigitsReport'/2, -'enc_KmeForcedAlerting'/2, -'enc_KmeHoldType'/2, -'enc_KmeProprietaryChars'/2, -'enc_KmeFeatureNumber'/2, -'enc_KmeCdrConditionCode'/2, -'enc_KmeOtherDevice'/2, -'enc_KmeTrunkId'/2, -'enc_KmeLocalAlerm'/2, -'enc_KmeSetProgrammingEventOn'/2, -'enc_ProgrammingEventOn'/2, -'enc_KmeRevisionType'/2, -'enc_KmeGetSystemDataRevision'/2, -'enc_KmeSystemDataRevision'/2, -'enc_KmeSystemDataStatus'/2, -'enc_KmeLockSystemData'/2, -'enc_KmeSystemCrossRefID'/2, -'enc_KmeGetSystemDataPosAck'/2, -'enc_KmeSystemDataLinkedReply'/2, -'enc_KmeSystemDataChanged'/2, -'enc_KmeSetSystemData'/2, -'enc_KmeGetSystemData'/2, -'enc_KmeGetSystemDataRsp'/2, -'enc_KmeGetSystemDataReq'/2, -'enc_KmeCleanUpStatus'/2, -'enc_KmeRoomStatus'/2, -'enc_KmeCheckStatusList'/2, -'enc_KmeHotelSrvEvt'/2, -'enc_KmePdnGMembers'/2, -'enc_KmeDeviceDataList'/2, -'enc_IfVersion'/2, -'enc_KmeIfAltered'/2, -'enc_KmeAlterIf'/2, -'enc_KmeAlterIfSrvEvt'/2, -'enc_KmeBroadcastGrpMembers'/2, -'enc_KmeBroadcastGroupList'/2, -'enc_CallMonitorEvent'/2, -'enc_KmeStopDeviceMonitor'/2, -'enc_KmeStartDeviceMonitor'/2, -'enc_KmeLineStatusSegment'/2, -'enc_KmeLineStatus'/2, -'enc_KmeDeviceServiceStatus'/2, -'enc_KmeDeviceCallStatus'/2, -'enc_KmeDeviceAgentStatus'/2, -'enc_KmePcRec'/2, -'enc_KmeCallBackInvoke'/2, -'enc_CallBackNotification'/2, -'enc_KmeCallBackInvokeRsp'/2, -'enc_KmeCallBackInvokeReq'/2, -'enc_KmeTwoWayRec'/2, -'enc_KmeDoorOpen'/2, -'enc_KmeTempTollChange'/2, -'enc_KmeExternalFeatureAccess'/2, -'enc_KmeInteruptCall'/2, -'enc_KmeDndOverride'/2, -'enc_NumberOfMsgPort'/2, -'enc_KmeExtName'/2, -'enc_KmeSvmList'/2, -'enc_KmePDFSrvEvt'/2, -'enc_KmePDFStatus'/2, -'enc_KmePDFStop'/2, -'enc_KmePDFStart'/2, -'enc_KmeDistributionMethod'/2, -'enc_KmeTenantSpeedDial'/2, -'enc_KmeExternalSensorList'/2, -'enc_KmeFcoKeyList'/2, -'enc_KmeFcoKeyInfo'/2, -'enc_KmeDeviceName'/2, -'enc_KmeDeviceExtNo'/2, -'enc_KmePhoneProperty'/2, -'enc_KmeGroupType'/2, -'enc_KmeDeviceState'/2, -'enc_KmeDeviceStateEntry'/2, -'enc_KmeDeviceStateList'/2, -'enc_KmeChangedDeviceCategory'/2, -'enc_KmeRequestedDevice'/2, -'enc_KmeDeviceCategory'/2, -'enc_KmeChangeName'/2, -'enc_KmeChangeExtNo'/2, -'enc_KmePsGroupList'/2, -'enc_KmeVmGroupList'/2, -'enc_KmeVmDtmfType'/2, -'enc_KmeVmGroup'/2, -'enc_KmeDoorPhone'/2, -'enc_KmeIncomingGroupList'/2, -'enc_KmeIcmGrpMembers'/2, -'enc_KmePckPagGroupList'/2, -'enc_KmeGroupMembers'/2, -'enc_KmeExtTrkGroupList'/2, -'enc_KmeTrkMembers'/2, -'enc_KmeExtMembers'/2, -'enc_KmeTrkGroupEntry'/2, -'enc_KmeExtGroupEntry'/2, -'enc_KmeFeatureList'/2, -'enc_KmeSetForwardInfo'/2, -'enc_KmeForwardType'/2, -'enc_KmeOgmPlayState'/2, -'enc_KmeDayNightMode'/2, -'enc_KmeDnMode'/2, -'enc_KmeAbsentMessage'/2, -'enc_KmeWakeupState'/2, -'enc_KmeWakeUpInfo'/2, -'enc_KmeWakeUpSchedule'/2, -'enc_KmeWakeUpTime'/2, -'enc_KmeSpeedDial'/2, -'enc_KmeSpeedDialRequest'/2, -'enc_KmeTimeStamp'/2, -'enc_KmeDeviceLock'/2, -'enc_EscapeResult'/2, -'enc_EscapeArgument'/2 -]). - --export([ -'dec_KMESpecificPrivateData'/2, -'dec_KmeGenericEvent'/2, -'dec_KmeGenericServiceRsp'/2, -'dec_KmeGenericServiceReq'/2, -'dec_KmeGenericSrvEvt'/2, -'dec_KmeOgmStop'/2, -'dec_KmeOgmStart'/2, -'dec_KmeResourceControl'/2, -'dec_KmePrivateEvent'/2, -'dec_KmeAdditionalData'/2, -'dec_KmeSystemData'/2, -'dec_KmeDeviceMonitor'/2, -'dec_KmeDeviceStatus'/2, -'dec_KmeCallControlSrvEvt'/2, -'dec_KmeFreeOgmPort'/2, -'dec_KmeSwitchChannel'/2, -'dec_KmePcRecEnded'/2, -'dec_KmeTamEnded'/2, -'dec_KmeUnconferenced'/2, -'dec_KmeWakeupResult'/2, -'dec_KmeOgmStatus'/2, -'dec_KmeDigitsReport'/2, -'dec_KmeForcedAlerting'/2, -'dec_KmeHoldType'/2, -'dec_KmeProprietaryChars'/2, -'dec_KmeFeatureNumber'/2, -'dec_KmeCdrConditionCode'/2, -'dec_KmeOtherDevice'/2, -'dec_KmeTrunkId'/2, -'dec_KmeLocalAlerm'/2, -'dec_KmeSetProgrammingEventOn'/2, -'dec_ProgrammingEventOn'/2, -'dec_KmeRevisionType'/2, -'dec_KmeGetSystemDataRevision'/2, -'dec_KmeSystemDataRevision'/2, -'dec_KmeSystemDataStatus'/2, -'dec_KmeLockSystemData'/2, -'dec_KmeSystemCrossRefID'/2, -'dec_KmeGetSystemDataPosAck'/2, -'dec_KmeSystemDataLinkedReply'/2, -'dec_KmeSystemDataChanged'/2, -'dec_KmeSetSystemData'/2, -'dec_KmeGetSystemData'/2, -'dec_KmeGetSystemDataRsp'/2, -'dec_KmeGetSystemDataReq'/2, -'dec_KmeCleanUpStatus'/2, -'dec_KmeRoomStatus'/2, -'dec_KmeCheckStatusList'/2, -'dec_KmeHotelSrvEvt'/2, -'dec_KmePdnGMembers'/2, -'dec_KmeDeviceDataList'/2, -'dec_IfVersion'/2, -'dec_KmeIfAltered'/2, -'dec_KmeAlterIf'/2, -'dec_KmeAlterIfSrvEvt'/2, -'dec_KmeBroadcastGrpMembers'/2, -'dec_KmeBroadcastGroupList'/2, -'dec_CallMonitorEvent'/2, -'dec_KmeStopDeviceMonitor'/2, -'dec_KmeStartDeviceMonitor'/2, -'dec_KmeLineStatusSegment'/2, -'dec_KmeLineStatus'/2, -'dec_KmeDeviceServiceStatus'/2, -'dec_KmeDeviceCallStatus'/2, -'dec_KmeDeviceAgentStatus'/2, -'dec_KmePcRec'/2, -'dec_KmeCallBackInvoke'/2, -'dec_CallBackNotification'/2, -'dec_KmeCallBackInvokeRsp'/2, -'dec_KmeCallBackInvokeReq'/2, -'dec_KmeTwoWayRec'/2, -'dec_KmeDoorOpen'/2, -'dec_KmeTempTollChange'/2, -'dec_KmeExternalFeatureAccess'/2, -'dec_KmeInteruptCall'/2, -'dec_KmeDndOverride'/2, -'dec_NumberOfMsgPort'/2, -'dec_KmeExtName'/2, -'dec_KmeSvmList'/2, -'dec_KmePDFSrvEvt'/2, -'dec_KmePDFStatus'/2, -'dec_KmePDFStop'/2, -'dec_KmePDFStart'/2, -'dec_KmeDistributionMethod'/2, -'dec_KmeTenantSpeedDial'/2, -'dec_KmeExternalSensorList'/2, -'dec_KmeFcoKeyList'/2, -'dec_KmeFcoKeyInfo'/2, -'dec_KmeDeviceName'/2, -'dec_KmeDeviceExtNo'/2, -'dec_KmePhoneProperty'/2, -'dec_KmeGroupType'/2, -'dec_KmeDeviceState'/2, -'dec_KmeDeviceStateEntry'/2, -'dec_KmeDeviceStateList'/2, -'dec_KmeChangedDeviceCategory'/2, -'dec_KmeRequestedDevice'/2, -'dec_KmeDeviceCategory'/2, -'dec_KmeChangeName'/2, -'dec_KmeChangeExtNo'/2, -'dec_KmePsGroupList'/2, -'dec_KmeVmGroupList'/2, -'dec_KmeVmDtmfType'/2, -'dec_KmeVmGroup'/2, -'dec_KmeDoorPhone'/2, -'dec_KmeIncomingGroupList'/2, -'dec_KmeIcmGrpMembers'/2, -'dec_KmePckPagGroupList'/2, -'dec_KmeGroupMembers'/2, -'dec_KmeExtTrkGroupList'/2, -'dec_KmeTrkMembers'/2, -'dec_KmeExtMembers'/2, -'dec_KmeTrkGroupEntry'/2, -'dec_KmeExtGroupEntry'/2, -'dec_KmeFeatureList'/2, -'dec_KmeSetForwardInfo'/2, -'dec_KmeForwardType'/2, -'dec_KmeOgmPlayState'/2, -'dec_KmeDayNightMode'/2, -'dec_KmeDnMode'/2, -'dec_KmeAbsentMessage'/2, -'dec_KmeWakeupState'/2, -'dec_KmeWakeUpInfo'/2, -'dec_KmeWakeUpSchedule'/2, -'dec_KmeWakeUpTime'/2, -'dec_KmeSpeedDial'/2, -'dec_KmeSpeedDialRequest'/2, -'dec_KmeTimeStamp'/2, -'dec_KmeDeviceLock'/2, -'dec_EscapeResult'/2, -'dec_EscapeArgument'/2 -]). - --export([ -'enc_escape'/3 -]). - --export([ -'dec_escape'/3 -]). - --export([info/0]). - - --export([encode/2,decode/2]). - -encoding_rule() -> ber. - -bit_string_format() -> bitstring. - -legacy_erlang_types() -> false. - -encode(Type, Data) -> -try iolist_to_binary(element(1, encode_disp(Type, Data))) of - Bytes -> - {ok,Bytes} - catch - Class:Exception when Class =:= error; Class =:= exit -> - case Exception of - {error,Reason}=Error -> - Error; - Reason -> - {error,{asn1,Reason}} - end -end. - -decode(Type,Data) -> -try decode_disp(Type, element(1, ber_decode_nif(Data))) of - Result -> - {ok,Result} - catch - Class:Exception when Class =:= error; Class =:= exit -> - case Exception of - {error,Reason}=Error -> - Error; - Reason -> - {error,{asn1,Reason}} - end -end. - -encode_disp('KMESpecificPrivateData',Data) -> 'enc_KMESpecificPrivateData'(Data); -encode_disp('KmeGenericEvent',Data) -> 'enc_KmeGenericEvent'(Data); -encode_disp('KmeGenericServiceRsp',Data) -> 'enc_KmeGenericServiceRsp'(Data); -encode_disp('KmeGenericServiceReq',Data) -> 'enc_KmeGenericServiceReq'(Data); -encode_disp('KmeGenericSrvEvt',Data) -> 'enc_KmeGenericSrvEvt'(Data); -encode_disp('KmeOgmStop',Data) -> 'enc_KmeOgmStop'(Data); -encode_disp('KmeOgmStart',Data) -> 'enc_KmeOgmStart'(Data); -encode_disp('KmeResourceControl',Data) -> 'enc_KmeResourceControl'(Data); -encode_disp('KmePrivateEvent',Data) -> 'enc_KmePrivateEvent'(Data); -encode_disp('KmeAdditionalData',Data) -> 'enc_KmeAdditionalData'(Data); -encode_disp('KmeSystemData',Data) -> 'enc_KmeSystemData'(Data); -encode_disp('KmeDeviceMonitor',Data) -> 'enc_KmeDeviceMonitor'(Data); -encode_disp('KmeDeviceStatus',Data) -> 'enc_KmeDeviceStatus'(Data); -encode_disp('KmeCallControlSrvEvt',Data) -> 'enc_KmeCallControlSrvEvt'(Data); -encode_disp('KmeFreeOgmPort',Data) -> 'enc_KmeFreeOgmPort'(Data); -encode_disp('KmeSwitchChannel',Data) -> 'enc_KmeSwitchChannel'(Data); -encode_disp('KmePcRecEnded',Data) -> 'enc_KmePcRecEnded'(Data); -encode_disp('KmeTamEnded',Data) -> 'enc_KmeTamEnded'(Data); -encode_disp('KmeUnconferenced',Data) -> 'enc_KmeUnconferenced'(Data); -encode_disp('KmeWakeupResult',Data) -> 'enc_KmeWakeupResult'(Data); -encode_disp('KmeOgmStatus',Data) -> 'enc_KmeOgmStatus'(Data); -encode_disp('KmeDigitsReport',Data) -> 'enc_KmeDigitsReport'(Data); -encode_disp('KmeForcedAlerting',Data) -> 'enc_KmeForcedAlerting'(Data); -encode_disp('KmeHoldType',Data) -> 'enc_KmeHoldType'(Data); -encode_disp('KmeProprietaryChars',Data) -> 'enc_KmeProprietaryChars'(Data); -encode_disp('KmeFeatureNumber',Data) -> 'enc_KmeFeatureNumber'(Data); -encode_disp('KmeCdrConditionCode',Data) -> 'enc_KmeCdrConditionCode'(Data); -encode_disp('KmeOtherDevice',Data) -> 'enc_KmeOtherDevice'(Data); -encode_disp('KmeTrunkId',Data) -> 'enc_KmeTrunkId'(Data); -encode_disp('KmeLocalAlerm',Data) -> 'enc_KmeLocalAlerm'(Data); -encode_disp('KmeSetProgrammingEventOn',Data) -> 'enc_KmeSetProgrammingEventOn'(Data); -encode_disp('ProgrammingEventOn',Data) -> 'enc_ProgrammingEventOn'(Data); -encode_disp('KmeRevisionType',Data) -> 'enc_KmeRevisionType'(Data); -encode_disp('KmeGetSystemDataRevision',Data) -> 'enc_KmeGetSystemDataRevision'(Data); -encode_disp('KmeSystemDataRevision',Data) -> 'enc_KmeSystemDataRevision'(Data); -encode_disp('KmeSystemDataStatus',Data) -> 'enc_KmeSystemDataStatus'(Data); -encode_disp('KmeLockSystemData',Data) -> 'enc_KmeLockSystemData'(Data); -encode_disp('KmeSystemCrossRefID',Data) -> 'enc_KmeSystemCrossRefID'(Data); -encode_disp('KmeGetSystemDataPosAck',Data) -> 'enc_KmeGetSystemDataPosAck'(Data); -encode_disp('KmeSystemDataLinkedReply',Data) -> 'enc_KmeSystemDataLinkedReply'(Data); -encode_disp('KmeSystemDataChanged',Data) -> 'enc_KmeSystemDataChanged'(Data); -encode_disp('KmeSetSystemData',Data) -> 'enc_KmeSetSystemData'(Data); -encode_disp('KmeGetSystemData',Data) -> 'enc_KmeGetSystemData'(Data); -encode_disp('KmeGetSystemDataRsp',Data) -> 'enc_KmeGetSystemDataRsp'(Data); -encode_disp('KmeGetSystemDataReq',Data) -> 'enc_KmeGetSystemDataReq'(Data); -encode_disp('KmeCleanUpStatus',Data) -> 'enc_KmeCleanUpStatus'(Data); -encode_disp('KmeRoomStatus',Data) -> 'enc_KmeRoomStatus'(Data); -encode_disp('KmeCheckStatusList',Data) -> 'enc_KmeCheckStatusList'(Data); -encode_disp('KmeHotelSrvEvt',Data) -> 'enc_KmeHotelSrvEvt'(Data); -encode_disp('KmePdnGMembers',Data) -> 'enc_KmePdnGMembers'(Data); -encode_disp('KmeDeviceDataList',Data) -> 'enc_KmeDeviceDataList'(Data); -encode_disp('IfVersion',Data) -> 'enc_IfVersion'(Data); -encode_disp('KmeIfAltered',Data) -> 'enc_KmeIfAltered'(Data); -encode_disp('KmeAlterIf',Data) -> 'enc_KmeAlterIf'(Data); -encode_disp('KmeAlterIfSrvEvt',Data) -> 'enc_KmeAlterIfSrvEvt'(Data); -encode_disp('KmeBroadcastGrpMembers',Data) -> 'enc_KmeBroadcastGrpMembers'(Data); -encode_disp('KmeBroadcastGroupList',Data) -> 'enc_KmeBroadcastGroupList'(Data); -encode_disp('CallMonitorEvent',Data) -> 'enc_CallMonitorEvent'(Data); -encode_disp('KmeStopDeviceMonitor',Data) -> 'enc_KmeStopDeviceMonitor'(Data); -encode_disp('KmeStartDeviceMonitor',Data) -> 'enc_KmeStartDeviceMonitor'(Data); -encode_disp('KmeLineStatusSegment',Data) -> 'enc_KmeLineStatusSegment'(Data); -encode_disp('KmeLineStatus',Data) -> 'enc_KmeLineStatus'(Data); -encode_disp('KmeDeviceServiceStatus',Data) -> 'enc_KmeDeviceServiceStatus'(Data); -encode_disp('KmeDeviceCallStatus',Data) -> 'enc_KmeDeviceCallStatus'(Data); -encode_disp('KmeDeviceAgentStatus',Data) -> 'enc_KmeDeviceAgentStatus'(Data); -encode_disp('KmePcRec',Data) -> 'enc_KmePcRec'(Data); -encode_disp('KmeCallBackInvoke',Data) -> 'enc_KmeCallBackInvoke'(Data); -encode_disp('CallBackNotification',Data) -> 'enc_CallBackNotification'(Data); -encode_disp('KmeCallBackInvokeRsp',Data) -> 'enc_KmeCallBackInvokeRsp'(Data); -encode_disp('KmeCallBackInvokeReq',Data) -> 'enc_KmeCallBackInvokeReq'(Data); -encode_disp('KmeTwoWayRec',Data) -> 'enc_KmeTwoWayRec'(Data); -encode_disp('KmeDoorOpen',Data) -> 'enc_KmeDoorOpen'(Data); -encode_disp('KmeTempTollChange',Data) -> 'enc_KmeTempTollChange'(Data); -encode_disp('KmeExternalFeatureAccess',Data) -> 'enc_KmeExternalFeatureAccess'(Data); -encode_disp('KmeInteruptCall',Data) -> 'enc_KmeInteruptCall'(Data); -encode_disp('KmeDndOverride',Data) -> 'enc_KmeDndOverride'(Data); -encode_disp('NumberOfMsgPort',Data) -> 'enc_NumberOfMsgPort'(Data); -encode_disp('KmeExtName',Data) -> 'enc_KmeExtName'(Data); -encode_disp('KmeSvmList',Data) -> 'enc_KmeSvmList'(Data); -encode_disp('KmePDFSrvEvt',Data) -> 'enc_KmePDFSrvEvt'(Data); -encode_disp('KmePDFStatus',Data) -> 'enc_KmePDFStatus'(Data); -encode_disp('KmePDFStop',Data) -> 'enc_KmePDFStop'(Data); -encode_disp('KmePDFStart',Data) -> 'enc_KmePDFStart'(Data); -encode_disp('KmeDistributionMethod',Data) -> 'enc_KmeDistributionMethod'(Data); -encode_disp('KmeTenantSpeedDial',Data) -> 'enc_KmeTenantSpeedDial'(Data); -encode_disp('KmeExternalSensorList',Data) -> 'enc_KmeExternalSensorList'(Data); -encode_disp('KmeFcoKeyList',Data) -> 'enc_KmeFcoKeyList'(Data); -encode_disp('KmeFcoKeyInfo',Data) -> 'enc_KmeFcoKeyInfo'(Data); -encode_disp('KmeDeviceName',Data) -> 'enc_KmeDeviceName'(Data); -encode_disp('KmeDeviceExtNo',Data) -> 'enc_KmeDeviceExtNo'(Data); -encode_disp('KmePhoneProperty',Data) -> 'enc_KmePhoneProperty'(Data); -encode_disp('KmeGroupType',Data) -> 'enc_KmeGroupType'(Data); -encode_disp('KmeDeviceState',Data) -> 'enc_KmeDeviceState'(Data); -encode_disp('KmeDeviceStateEntry',Data) -> 'enc_KmeDeviceStateEntry'(Data); -encode_disp('KmeDeviceStateList',Data) -> 'enc_KmeDeviceStateList'(Data); -encode_disp('KmeChangedDeviceCategory',Data) -> 'enc_KmeChangedDeviceCategory'(Data); -encode_disp('KmeRequestedDevice',Data) -> 'enc_KmeRequestedDevice'(Data); -encode_disp('KmeDeviceCategory',Data) -> 'enc_KmeDeviceCategory'(Data); -encode_disp('KmeChangeName',Data) -> 'enc_KmeChangeName'(Data); -encode_disp('KmeChangeExtNo',Data) -> 'enc_KmeChangeExtNo'(Data); -encode_disp('KmePsGroupList',Data) -> 'enc_KmePsGroupList'(Data); -encode_disp('KmeVmGroupList',Data) -> 'enc_KmeVmGroupList'(Data); -encode_disp('KmeVmDtmfType',Data) -> 'enc_KmeVmDtmfType'(Data); -encode_disp('KmeVmGroup',Data) -> 'enc_KmeVmGroup'(Data); -encode_disp('KmeDoorPhone',Data) -> 'enc_KmeDoorPhone'(Data); -encode_disp('KmeIncomingGroupList',Data) -> 'enc_KmeIncomingGroupList'(Data); -encode_disp('KmeIcmGrpMembers',Data) -> 'enc_KmeIcmGrpMembers'(Data); -encode_disp('KmePckPagGroupList',Data) -> 'enc_KmePckPagGroupList'(Data); -encode_disp('KmeGroupMembers',Data) -> 'enc_KmeGroupMembers'(Data); -encode_disp('KmeExtTrkGroupList',Data) -> 'enc_KmeExtTrkGroupList'(Data); -encode_disp('KmeTrkMembers',Data) -> 'enc_KmeTrkMembers'(Data); -encode_disp('KmeExtMembers',Data) -> 'enc_KmeExtMembers'(Data); -encode_disp('KmeTrkGroupEntry',Data) -> 'enc_KmeTrkGroupEntry'(Data); -encode_disp('KmeExtGroupEntry',Data) -> 'enc_KmeExtGroupEntry'(Data); -encode_disp('KmeFeatureList',Data) -> 'enc_KmeFeatureList'(Data); -encode_disp('KmeSetForwardInfo',Data) -> 'enc_KmeSetForwardInfo'(Data); -encode_disp('KmeForwardType',Data) -> 'enc_KmeForwardType'(Data); -encode_disp('KmeOgmPlayState',Data) -> 'enc_KmeOgmPlayState'(Data); -encode_disp('KmeDayNightMode',Data) -> 'enc_KmeDayNightMode'(Data); -encode_disp('KmeDnMode',Data) -> 'enc_KmeDnMode'(Data); -encode_disp('KmeAbsentMessage',Data) -> 'enc_KmeAbsentMessage'(Data); -encode_disp('KmeWakeupState',Data) -> 'enc_KmeWakeupState'(Data); -encode_disp('KmeWakeUpInfo',Data) -> 'enc_KmeWakeUpInfo'(Data); -encode_disp('KmeWakeUpSchedule',Data) -> 'enc_KmeWakeUpSchedule'(Data); -encode_disp('KmeWakeUpTime',Data) -> 'enc_KmeWakeUpTime'(Data); -encode_disp('KmeSpeedDial',Data) -> 'enc_KmeSpeedDial'(Data); -encode_disp('KmeSpeedDialRequest',Data) -> 'enc_KmeSpeedDialRequest'(Data); -encode_disp('KmeTimeStamp',Data) -> 'enc_KmeTimeStamp'(Data); -encode_disp('KmeDeviceLock',Data) -> 'enc_KmeDeviceLock'(Data); -encode_disp('EscapeResult',Data) -> 'enc_EscapeResult'(Data); -encode_disp('EscapeArgument',Data) -> 'enc_EscapeArgument'(Data); -encode_disp(Type,_Data) -> exit({error,{asn1,{undefined_type,Type}}}). - - -decode_disp('KMESpecificPrivateData',Data) -> 'dec_KMESpecificPrivateData'(Data); -decode_disp('KmeGenericEvent',Data) -> 'dec_KmeGenericEvent'(Data); -decode_disp('KmeGenericServiceRsp',Data) -> 'dec_KmeGenericServiceRsp'(Data); -decode_disp('KmeGenericServiceReq',Data) -> 'dec_KmeGenericServiceReq'(Data); -decode_disp('KmeGenericSrvEvt',Data) -> 'dec_KmeGenericSrvEvt'(Data); -decode_disp('KmeOgmStop',Data) -> 'dec_KmeOgmStop'(Data); -decode_disp('KmeOgmStart',Data) -> 'dec_KmeOgmStart'(Data); -decode_disp('KmeResourceControl',Data) -> 'dec_KmeResourceControl'(Data); -decode_disp('KmePrivateEvent',Data) -> 'dec_KmePrivateEvent'(Data); -decode_disp('KmeAdditionalData',Data) -> 'dec_KmeAdditionalData'(Data); -decode_disp('KmeSystemData',Data) -> 'dec_KmeSystemData'(Data); -decode_disp('KmeDeviceMonitor',Data) -> 'dec_KmeDeviceMonitor'(Data); -decode_disp('KmeDeviceStatus',Data) -> 'dec_KmeDeviceStatus'(Data); -decode_disp('KmeCallControlSrvEvt',Data) -> 'dec_KmeCallControlSrvEvt'(Data); -decode_disp('KmeFreeOgmPort',Data) -> 'dec_KmeFreeOgmPort'(Data); -decode_disp('KmeSwitchChannel',Data) -> 'dec_KmeSwitchChannel'(Data); -decode_disp('KmePcRecEnded',Data) -> 'dec_KmePcRecEnded'(Data); -decode_disp('KmeTamEnded',Data) -> 'dec_KmeTamEnded'(Data); -decode_disp('KmeUnconferenced',Data) -> 'dec_KmeUnconferenced'(Data); -decode_disp('KmeWakeupResult',Data) -> 'dec_KmeWakeupResult'(Data); -decode_disp('KmeOgmStatus',Data) -> 'dec_KmeOgmStatus'(Data); -decode_disp('KmeDigitsReport',Data) -> 'dec_KmeDigitsReport'(Data); -decode_disp('KmeForcedAlerting',Data) -> 'dec_KmeForcedAlerting'(Data); -decode_disp('KmeHoldType',Data) -> 'dec_KmeHoldType'(Data); -decode_disp('KmeProprietaryChars',Data) -> 'dec_KmeProprietaryChars'(Data); -decode_disp('KmeFeatureNumber',Data) -> 'dec_KmeFeatureNumber'(Data); -decode_disp('KmeCdrConditionCode',Data) -> 'dec_KmeCdrConditionCode'(Data); -decode_disp('KmeOtherDevice',Data) -> 'dec_KmeOtherDevice'(Data); -decode_disp('KmeTrunkId',Data) -> 'dec_KmeTrunkId'(Data); -decode_disp('KmeLocalAlerm',Data) -> 'dec_KmeLocalAlerm'(Data); -decode_disp('KmeSetProgrammingEventOn',Data) -> 'dec_KmeSetProgrammingEventOn'(Data); -decode_disp('ProgrammingEventOn',Data) -> 'dec_ProgrammingEventOn'(Data); -decode_disp('KmeRevisionType',Data) -> 'dec_KmeRevisionType'(Data); -decode_disp('KmeGetSystemDataRevision',Data) -> 'dec_KmeGetSystemDataRevision'(Data); -decode_disp('KmeSystemDataRevision',Data) -> 'dec_KmeSystemDataRevision'(Data); -decode_disp('KmeSystemDataStatus',Data) -> 'dec_KmeSystemDataStatus'(Data); -decode_disp('KmeLockSystemData',Data) -> 'dec_KmeLockSystemData'(Data); -decode_disp('KmeSystemCrossRefID',Data) -> 'dec_KmeSystemCrossRefID'(Data); -decode_disp('KmeGetSystemDataPosAck',Data) -> 'dec_KmeGetSystemDataPosAck'(Data); -decode_disp('KmeSystemDataLinkedReply',Data) -> 'dec_KmeSystemDataLinkedReply'(Data); -decode_disp('KmeSystemDataChanged',Data) -> 'dec_KmeSystemDataChanged'(Data); -decode_disp('KmeSetSystemData',Data) -> 'dec_KmeSetSystemData'(Data); -decode_disp('KmeGetSystemData',Data) -> 'dec_KmeGetSystemData'(Data); -decode_disp('KmeGetSystemDataRsp',Data) -> 'dec_KmeGetSystemDataRsp'(Data); -decode_disp('KmeGetSystemDataReq',Data) -> 'dec_KmeGetSystemDataReq'(Data); -decode_disp('KmeCleanUpStatus',Data) -> 'dec_KmeCleanUpStatus'(Data); -decode_disp('KmeRoomStatus',Data) -> 'dec_KmeRoomStatus'(Data); -decode_disp('KmeCheckStatusList',Data) -> 'dec_KmeCheckStatusList'(Data); -decode_disp('KmeHotelSrvEvt',Data) -> 'dec_KmeHotelSrvEvt'(Data); -decode_disp('KmePdnGMembers',Data) -> 'dec_KmePdnGMembers'(Data); -decode_disp('KmeDeviceDataList',Data) -> 'dec_KmeDeviceDataList'(Data); -decode_disp('IfVersion',Data) -> 'dec_IfVersion'(Data); -decode_disp('KmeIfAltered',Data) -> 'dec_KmeIfAltered'(Data); -decode_disp('KmeAlterIf',Data) -> 'dec_KmeAlterIf'(Data); -decode_disp('KmeAlterIfSrvEvt',Data) -> 'dec_KmeAlterIfSrvEvt'(Data); -decode_disp('KmeBroadcastGrpMembers',Data) -> 'dec_KmeBroadcastGrpMembers'(Data); -decode_disp('KmeBroadcastGroupList',Data) -> 'dec_KmeBroadcastGroupList'(Data); -decode_disp('CallMonitorEvent',Data) -> 'dec_CallMonitorEvent'(Data); -decode_disp('KmeStopDeviceMonitor',Data) -> 'dec_KmeStopDeviceMonitor'(Data); -decode_disp('KmeStartDeviceMonitor',Data) -> 'dec_KmeStartDeviceMonitor'(Data); -decode_disp('KmeLineStatusSegment',Data) -> 'dec_KmeLineStatusSegment'(Data); -decode_disp('KmeLineStatus',Data) -> 'dec_KmeLineStatus'(Data); -decode_disp('KmeDeviceServiceStatus',Data) -> 'dec_KmeDeviceServiceStatus'(Data); -decode_disp('KmeDeviceCallStatus',Data) -> 'dec_KmeDeviceCallStatus'(Data); -decode_disp('KmeDeviceAgentStatus',Data) -> 'dec_KmeDeviceAgentStatus'(Data); -decode_disp('KmePcRec',Data) -> 'dec_KmePcRec'(Data); -decode_disp('KmeCallBackInvoke',Data) -> 'dec_KmeCallBackInvoke'(Data); -decode_disp('CallBackNotification',Data) -> 'dec_CallBackNotification'(Data); -decode_disp('KmeCallBackInvokeRsp',Data) -> 'dec_KmeCallBackInvokeRsp'(Data); -decode_disp('KmeCallBackInvokeReq',Data) -> 'dec_KmeCallBackInvokeReq'(Data); -decode_disp('KmeTwoWayRec',Data) -> 'dec_KmeTwoWayRec'(Data); -decode_disp('KmeDoorOpen',Data) -> 'dec_KmeDoorOpen'(Data); -decode_disp('KmeTempTollChange',Data) -> 'dec_KmeTempTollChange'(Data); -decode_disp('KmeExternalFeatureAccess',Data) -> 'dec_KmeExternalFeatureAccess'(Data); -decode_disp('KmeInteruptCall',Data) -> 'dec_KmeInteruptCall'(Data); -decode_disp('KmeDndOverride',Data) -> 'dec_KmeDndOverride'(Data); -decode_disp('NumberOfMsgPort',Data) -> 'dec_NumberOfMsgPort'(Data); -decode_disp('KmeExtName',Data) -> 'dec_KmeExtName'(Data); -decode_disp('KmeSvmList',Data) -> 'dec_KmeSvmList'(Data); -decode_disp('KmePDFSrvEvt',Data) -> 'dec_KmePDFSrvEvt'(Data); -decode_disp('KmePDFStatus',Data) -> 'dec_KmePDFStatus'(Data); -decode_disp('KmePDFStop',Data) -> 'dec_KmePDFStop'(Data); -decode_disp('KmePDFStart',Data) -> 'dec_KmePDFStart'(Data); -decode_disp('KmeDistributionMethod',Data) -> 'dec_KmeDistributionMethod'(Data); -decode_disp('KmeTenantSpeedDial',Data) -> 'dec_KmeTenantSpeedDial'(Data); -decode_disp('KmeExternalSensorList',Data) -> 'dec_KmeExternalSensorList'(Data); -decode_disp('KmeFcoKeyList',Data) -> 'dec_KmeFcoKeyList'(Data); -decode_disp('KmeFcoKeyInfo',Data) -> 'dec_KmeFcoKeyInfo'(Data); -decode_disp('KmeDeviceName',Data) -> 'dec_KmeDeviceName'(Data); -decode_disp('KmeDeviceExtNo',Data) -> 'dec_KmeDeviceExtNo'(Data); -decode_disp('KmePhoneProperty',Data) -> 'dec_KmePhoneProperty'(Data); -decode_disp('KmeGroupType',Data) -> 'dec_KmeGroupType'(Data); -decode_disp('KmeDeviceState',Data) -> 'dec_KmeDeviceState'(Data); -decode_disp('KmeDeviceStateEntry',Data) -> 'dec_KmeDeviceStateEntry'(Data); -decode_disp('KmeDeviceStateList',Data) -> 'dec_KmeDeviceStateList'(Data); -decode_disp('KmeChangedDeviceCategory',Data) -> 'dec_KmeChangedDeviceCategory'(Data); -decode_disp('KmeRequestedDevice',Data) -> 'dec_KmeRequestedDevice'(Data); -decode_disp('KmeDeviceCategory',Data) -> 'dec_KmeDeviceCategory'(Data); -decode_disp('KmeChangeName',Data) -> 'dec_KmeChangeName'(Data); -decode_disp('KmeChangeExtNo',Data) -> 'dec_KmeChangeExtNo'(Data); -decode_disp('KmePsGroupList',Data) -> 'dec_KmePsGroupList'(Data); -decode_disp('KmeVmGroupList',Data) -> 'dec_KmeVmGroupList'(Data); -decode_disp('KmeVmDtmfType',Data) -> 'dec_KmeVmDtmfType'(Data); -decode_disp('KmeVmGroup',Data) -> 'dec_KmeVmGroup'(Data); -decode_disp('KmeDoorPhone',Data) -> 'dec_KmeDoorPhone'(Data); -decode_disp('KmeIncomingGroupList',Data) -> 'dec_KmeIncomingGroupList'(Data); -decode_disp('KmeIcmGrpMembers',Data) -> 'dec_KmeIcmGrpMembers'(Data); -decode_disp('KmePckPagGroupList',Data) -> 'dec_KmePckPagGroupList'(Data); -decode_disp('KmeGroupMembers',Data) -> 'dec_KmeGroupMembers'(Data); -decode_disp('KmeExtTrkGroupList',Data) -> 'dec_KmeExtTrkGroupList'(Data); -decode_disp('KmeTrkMembers',Data) -> 'dec_KmeTrkMembers'(Data); -decode_disp('KmeExtMembers',Data) -> 'dec_KmeExtMembers'(Data); -decode_disp('KmeTrkGroupEntry',Data) -> 'dec_KmeTrkGroupEntry'(Data); -decode_disp('KmeExtGroupEntry',Data) -> 'dec_KmeExtGroupEntry'(Data); -decode_disp('KmeFeatureList',Data) -> 'dec_KmeFeatureList'(Data); -decode_disp('KmeSetForwardInfo',Data) -> 'dec_KmeSetForwardInfo'(Data); -decode_disp('KmeForwardType',Data) -> 'dec_KmeForwardType'(Data); -decode_disp('KmeOgmPlayState',Data) -> 'dec_KmeOgmPlayState'(Data); -decode_disp('KmeDayNightMode',Data) -> 'dec_KmeDayNightMode'(Data); -decode_disp('KmeDnMode',Data) -> 'dec_KmeDnMode'(Data); -decode_disp('KmeAbsentMessage',Data) -> 'dec_KmeAbsentMessage'(Data); -decode_disp('KmeWakeupState',Data) -> 'dec_KmeWakeupState'(Data); -decode_disp('KmeWakeUpInfo',Data) -> 'dec_KmeWakeUpInfo'(Data); -decode_disp('KmeWakeUpSchedule',Data) -> 'dec_KmeWakeUpSchedule'(Data); -decode_disp('KmeWakeUpTime',Data) -> 'dec_KmeWakeUpTime'(Data); -decode_disp('KmeSpeedDial',Data) -> 'dec_KmeSpeedDial'(Data); -decode_disp('KmeSpeedDialRequest',Data) -> 'dec_KmeSpeedDialRequest'(Data); -decode_disp('KmeTimeStamp',Data) -> 'dec_KmeTimeStamp'(Data); -decode_disp('KmeDeviceLock',Data) -> 'dec_KmeDeviceLock'(Data); -decode_disp('EscapeResult',Data) -> 'dec_EscapeResult'(Data); -decode_disp('EscapeArgument',Data) -> 'dec_EscapeArgument'(Data); -decode_disp(Type,_Data) -> exit({error,{asn1,{undefined_type,Type}}}). - - - - -info() -> - case ?MODULE:module_info(attributes) of - Attributes when is_list(Attributes) -> - case lists:keyfind(asn1_info, 1, Attributes) of - {_,Info} when is_list(Info) -> - Info; - _ -> - [] - end; - _ -> - [] - end. - - -%%================================ -%% KMESpecificPrivateData -%%================================ -'enc_KMESpecificPrivateData'(Val) -> - 'enc_KMESpecificPrivateData'(Val, []). - -'enc_KMESpecificPrivateData'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - kmeCallControl -> - 'enc_KmeCallControlSrvEvt'(element(2,Val), [<<161>>]); - kmeDeviceStatus -> - 'enc_KmeDeviceStatus'(element(2,Val), [<<162>>]); - kmeDeviceMonitor -> - 'enc_KmeDeviceMonitor'(element(2,Val), [<<163>>]); - kmeSystemData -> - 'enc_KmeSystemData'(element(2,Val), [<<164>>]); - kmeLocalAlerm -> - 'enc_KmeLocalAlerm'(element(2,Val), [<<165>>]); - kmeAdditionalData -> - 'enc_KmeAdditionalData'(element(2,Val), [<<166>>]); - kmePrivateEvent -> - 'enc_KmePrivateEvent'(element(2,Val), [<<167>>]); - kmeResourceControl -> - 'enc_KmeResourceControl'(element(2,Val), [<<168>>]); - kmeGeneric -> - 'enc_KmeGenericSrvEvt'(element(2,Val), [<<169>>]); - kmeExtendedDataAccess -> - encode_restricted_string(element(2,Val), [<<4>>,<<170>>]); - kmePDFControl -> - 'enc_KmePDFSrvEvt'(element(2,Val), [<<171>>]); - kmeAlterIf -> - 'enc_KmeAlterIfSrvEvt'(element(2,Val), [<<172>>]); - kmeHotelControl -> - 'enc_KmeHotelSrvEvt'(element(2,Val), [<<173>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_KMESpecificPrivateData'(Tlv) -> - 'dec_KMESpecificPrivateData'(Tlv, []). - -'dec_KMESpecificPrivateData'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'kmeCallControl' - {131073, V1} -> - {kmeCallControl, 'dec_KmeCallControlSrvEvt'(V1, [])}; - - -%% 'kmeDeviceStatus' - {131074, V1} -> - {kmeDeviceStatus, 'dec_KmeDeviceStatus'(V1, [])}; - - -%% 'kmeDeviceMonitor' - {131075, V1} -> - {kmeDeviceMonitor, 'dec_KmeDeviceMonitor'(V1, [])}; - - -%% 'kmeSystemData' - {131076, V1} -> - {kmeSystemData, 'dec_KmeSystemData'(V1, [])}; - - -%% 'kmeLocalAlerm' - {131077, V1} -> - {kmeLocalAlerm, 'dec_KmeLocalAlerm'(V1, [])}; - - -%% 'kmeAdditionalData' - {131078, V1} -> - {kmeAdditionalData, 'dec_KmeAdditionalData'(V1, [])}; - - -%% 'kmePrivateEvent' - {131079, V1} -> - {kmePrivateEvent, 'dec_KmePrivateEvent'(V1, [])}; - - -%% 'kmeResourceControl' - {131080, V1} -> - {kmeResourceControl, 'dec_KmeResourceControl'(V1, [])}; - - -%% 'kmeGeneric' - {131081, V1} -> - {kmeGeneric, 'dec_KmeGenericSrvEvt'(V1, [])}; - - -%% 'kmeExtendedDataAccess' - {131082, V1} -> - {kmeExtendedDataAccess, begin -Val1 = decode_octet_string(V1, [4]), -C1 = byte_size(Val1), -if 0 =< C1, C1 =< 200 -> -Val1; -true -> -exit({error,{asn1,bad_range}}) -end -end}; - - -%% 'kmePDFControl' - {131083, V1} -> - {kmePDFControl, 'dec_KmePDFSrvEvt'(V1, [])}; - - -%% 'kmeAlterIf' - {131084, V1} -> - {kmeAlterIf, 'dec_KmeAlterIfSrvEvt'(V1, [])}; - - -%% 'kmeHotelControl' - {131085, V1} -> - {kmeHotelControl, 'dec_KmeHotelSrvEvt'(V1, [])}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% KmeGenericEvent -%%================================ -'enc_KmeGenericEvent'(Val) -> - 'enc_KmeGenericEvent'(Val, [<<48>>]). - -'enc_KmeGenericEvent'(Val, TagIn) -> -{_,Cindex1, Cindex2, Cindex3, Cindex4, Cindex5, Cindex6} = Val, - -%%------------------------------------------------- -%% attribute eventNo(1) with type INTEGER -%%------------------------------------------------- - {EncBytes1,EncLen1} = encode_integer(Cindex1, [<<2>>]), - -%%------------------------------------------------- -%% attribute device(2) External CSTA-device-identifiers:DeviceID OPTIONAL -%%------------------------------------------------- - {EncBytes2,EncLen2} = case Cindex2 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'CSTA-device-identifiers':'enc_DeviceID'(Cindex2, [<<48>>]) - end, - -%%------------------------------------------------- -%% attribute connection(3) External CSTA-call-connection-identifiers:ConnectionID OPTIONAL -%%------------------------------------------------- - {EncBytes3,EncLen3} = case Cindex3 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'CSTA-call-connection-identifiers':'enc_ConnectionID'(Cindex3, [<<107>>]) - end, - -%%------------------------------------------------- -%% attribute state(4) with type ENUMERATED OPTIONAL -%%------------------------------------------------- - {EncBytes4,EncLen4} = case Cindex4 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - case Cindex4 of -null -> encode_tags([<<78>>], [0], 1); -initiated -> encode_tags([<<78>>], [1], 1); -alerting -> encode_tags([<<78>>], [2], 1); -connected -> encode_tags([<<78>>], [3], 1); -hold -> encode_tags([<<78>>], [4], 1); -queued -> encode_tags([<<78>>], [5], 1); -fail -> encode_tags([<<78>>], [6], 1); -Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) -end - end, - -%%------------------------------------------------- -%% attribute cause(5) with type INTEGER OPTIONAL -%%------------------------------------------------- - {EncBytes5,EncLen5} = case Cindex5 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_integer(Cindex5, [<<2>>]) - end, - -%%------------------------------------------------- -%% attribute message(6) with type IA5String OPTIONAL -%%------------------------------------------------- - {EncBytes6,EncLen6} = case Cindex6 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_restricted_string(Cindex6, [<<22>>]) - end, - - BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4, EncBytes5, EncBytes6], -LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4 + EncLen5 + EncLen6, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_KmeGenericEvent'(Tlv) -> - 'dec_KmeGenericEvent'(Tlv, [16]). - -'dec_KmeGenericEvent'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute eventNo(1) with type INTEGER -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = decode_integer(V1, [2]), - -%%------------------------------------------------- -%% attribute device(2) External CSTA-device-identifiers:DeviceID OPTIONAL -%%------------------------------------------------- -{Term2,Tlv3} = case Tlv2 of -[{16,V2}|TempTlv3] -> - {'CSTA-device-identifiers':'dec_DeviceID'(V2, []), TempTlv3}; - _ -> - { asn1_NOVALUE, Tlv2} -end, - -%%------------------------------------------------- -%% attribute connection(3) External CSTA-call-connection-identifiers:ConnectionID OPTIONAL -%%------------------------------------------------- -{Term3,Tlv4} = case Tlv3 of -[{65547,V3}|TempTlv4] -> - {'CSTA-call-connection-identifiers':'dec_ConnectionID'(V3, []), TempTlv4}; - _ -> - { asn1_NOVALUE, Tlv3} -end, - -%%------------------------------------------------- -%% attribute state(4) with type ENUMERATED OPTIONAL -%%------------------------------------------------- -{Term4,Tlv5} = case Tlv4 of -[{65550,V4}|TempTlv5] -> - {case decode_integer(V4, []) of -0 -> null; -1 -> initiated; -2 -> alerting; -3 -> connected; -4 -> hold; -5 -> queued; -6 -> fail; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end, TempTlv5}; - _ -> - { asn1_NOVALUE, Tlv4} -end, - -%%------------------------------------------------- -%% attribute cause(5) with type INTEGER OPTIONAL -%%------------------------------------------------- -{Term5,Tlv6} = case Tlv5 of -[{2,V5}|TempTlv6] -> - {decode_integer(V5, []), TempTlv6}; - _ -> - { asn1_NOVALUE, Tlv5} -end, - -%%------------------------------------------------- -%% attribute message(6) with type IA5String OPTIONAL -%%------------------------------------------------- -{Term6,Tlv7} = case Tlv6 of -[{22,V6}|TempTlv7] -> - {begin -Val1 = decode_restricted_string(V6, []), -C1 = byte_size(Val1), -if 1 =< C1, C1 =< 128 -> -binary_to_list(Val1); -true -> -exit({error,{asn1,bad_range}}) -end -end, TempTlv7}; - _ -> - { asn1_NOVALUE, Tlv6} -end, - -case Tlv7 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv7}}}) % extra fields not allowed -end, - {'KmeGenericEvent', Term1, Term2, Term3, Term4, Term5, Term6}. - - - -%%================================ -%% KmeGenericServiceRsp -%%================================ -'enc_KmeGenericServiceRsp'(Val) -> - 'enc_KmeGenericServiceRsp'(Val, [<<48>>]). - -'enc_KmeGenericServiceRsp'(Val, TagIn) -> -{_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute number(1) with type INTEGER OPTIONAL -%%------------------------------------------------- - {EncBytes1,EncLen1} = case Cindex1 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_integer(Cindex1, [<<2>>]) - end, - -%%------------------------------------------------- -%% attribute string(2) with type IA5String OPTIONAL -%%------------------------------------------------- - {EncBytes2,EncLen2} = case Cindex2 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_restricted_string(Cindex2, [<<22>>]) - end, - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_KmeGenericServiceRsp'(Tlv) -> - 'dec_KmeGenericServiceRsp'(Tlv, [16]). - -'dec_KmeGenericServiceRsp'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute number(1) with type INTEGER OPTIONAL -%%------------------------------------------------- -{Term1,Tlv2} = case Tlv1 of -[{2,V1}|TempTlv2] -> - {decode_integer(V1, []), TempTlv2}; - _ -> - { asn1_NOVALUE, Tlv1} -end, - -%%------------------------------------------------- -%% attribute string(2) with type IA5String OPTIONAL -%%------------------------------------------------- -{Term2,Tlv3} = case Tlv2 of -[{22,V2}|TempTlv3] -> - {begin -Val1 = decode_restricted_string(V2, []), -C1 = byte_size(Val1), -if 0 =< C1, C1 =< 128 -> -binary_to_list(Val1); -true -> -exit({error,{asn1,bad_range}}) -end -end, TempTlv3}; - _ -> - { asn1_NOVALUE, Tlv2} -end, - -case Tlv3 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowed -end, - {'KmeGenericServiceRsp', Term1, Term2}. - - - -%%================================ -%% KmeGenericServiceReq -%%================================ -'enc_KmeGenericServiceReq'(Val) -> - 'enc_KmeGenericServiceReq'(Val, [<<48>>]). - -'enc_KmeGenericServiceReq'(Val, TagIn) -> -{_,Cindex1, Cindex2, Cindex3, Cindex4, Cindex5} = Val, - -%%------------------------------------------------- -%% attribute serviceNo(1) with type INTEGER -%%------------------------------------------------- - {EncBytes1,EncLen1} = encode_integer(Cindex1, [<<2>>]), - -%%------------------------------------------------- -%% attribute device(2) External CSTA-device-identifiers:DeviceID OPTIONAL -%%------------------------------------------------- - {EncBytes2,EncLen2} = case Cindex2 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'CSTA-device-identifiers':'enc_DeviceID'(Cindex2, [<<48>>]) - end, - -%%------------------------------------------------- -%% attribute connection(3) External CSTA-call-connection-identifiers:ConnectionID OPTIONAL -%%------------------------------------------------- - {EncBytes3,EncLen3} = case Cindex3 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'CSTA-call-connection-identifiers':'enc_ConnectionID'(Cindex3, [<<107>>]) - end, - -%%------------------------------------------------- -%% attribute number(4) with type INTEGER OPTIONAL -%%------------------------------------------------- - {EncBytes4,EncLen4} = case Cindex4 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_integer(Cindex4, [<<2>>]) - end, - -%%------------------------------------------------- -%% attribute string(5) with type IA5String OPTIONAL -%%------------------------------------------------- - {EncBytes5,EncLen5} = case Cindex5 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_restricted_string(Cindex5, [<<22>>]) - end, - - BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4, EncBytes5], -LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4 + EncLen5, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_KmeGenericServiceReq'(Tlv) -> - 'dec_KmeGenericServiceReq'(Tlv, [16]). - -'dec_KmeGenericServiceReq'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute serviceNo(1) with type INTEGER -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = decode_integer(V1, [2]), - -%%------------------------------------------------- -%% attribute device(2) External CSTA-device-identifiers:DeviceID OPTIONAL -%%------------------------------------------------- -{Term2,Tlv3} = case Tlv2 of -[{16,V2}|TempTlv3] -> - {'CSTA-device-identifiers':'dec_DeviceID'(V2, []), TempTlv3}; - _ -> - { asn1_NOVALUE, Tlv2} -end, - -%%------------------------------------------------- -%% attribute connection(3) External CSTA-call-connection-identifiers:ConnectionID OPTIONAL -%%------------------------------------------------- -{Term3,Tlv4} = case Tlv3 of -[{65547,V3}|TempTlv4] -> - {'CSTA-call-connection-identifiers':'dec_ConnectionID'(V3, []), TempTlv4}; - _ -> - { asn1_NOVALUE, Tlv3} -end, - -%%------------------------------------------------- -%% attribute number(4) with type INTEGER OPTIONAL -%%------------------------------------------------- -{Term4,Tlv5} = case Tlv4 of -[{2,V4}|TempTlv5] -> - {decode_integer(V4, []), TempTlv5}; - _ -> - { asn1_NOVALUE, Tlv4} -end, - -%%------------------------------------------------- -%% attribute string(5) with type IA5String OPTIONAL -%%------------------------------------------------- -{Term5,Tlv6} = case Tlv5 of -[{22,V5}|TempTlv6] -> - {begin -Val1 = decode_restricted_string(V5, []), -C1 = byte_size(Val1), -if 0 =< C1, C1 =< 128 -> -binary_to_list(Val1); -true -> -exit({error,{asn1,bad_range}}) -end -end, TempTlv6}; - _ -> - { asn1_NOVALUE, Tlv5} -end, - -case Tlv6 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv6}}}) % extra fields not allowed -end, - {'KmeGenericServiceReq', Term1, Term2, Term3, Term4, Term5}. - - - -%%================================ -%% KmeGenericSrvEvt -%%================================ -'enc_KmeGenericSrvEvt'(Val) -> - 'enc_KmeGenericSrvEvt'(Val, []). - -'enc_KmeGenericSrvEvt'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - serviceRequest -> - 'enc_KmeGenericServiceReq'(element(2,Val), [<<48>>,<<160>>]); - serviceResult -> - 'enc_KmeGenericServiceRsp'(element(2,Val), [<<48>>,<<161>>]); - event -> - 'enc_KmeGenericEvent'(element(2,Val), [<<48>>,<<162>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_KmeGenericSrvEvt'(Tlv) -> - 'dec_KmeGenericSrvEvt'(Tlv, []). - -'dec_KmeGenericSrvEvt'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'serviceRequest' - {131072, V1} -> - {serviceRequest, 'dec_KmeGenericServiceReq'(V1, [16])}; - - -%% 'serviceResult' - {131073, V1} -> - {serviceResult, 'dec_KmeGenericServiceRsp'(V1, [16])}; - - -%% 'event' - {131074, V1} -> - {event, 'dec_KmeGenericEvent'(V1, [16])}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% KmeOgmStop -%%================================ -'enc_KmeOgmStop'(Val) -> - 'enc_KmeOgmStop'(Val, [<<107>>]). - -'enc_KmeOgmStop'(Val, TagIn) -> - 'CSTA-call-connection-identifiers':'enc_ConnectionID'(Val, TagIn). - - -'dec_KmeOgmStop'(Tlv) -> - 'dec_KmeOgmStop'(Tlv, [65547]). - -'dec_KmeOgmStop'(Tlv, TagIn) -> -'CSTA-call-connection-identifiers':'dec_ConnectionID'(Tlv, TagIn). - - - -%%================================ -%% KmeOgmStart -%%================================ -'enc_KmeOgmStart'(Val) -> - 'enc_KmeOgmStart'(Val, [<<48>>]). - -'enc_KmeOgmStart'(Val, TagIn) -> -{_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute connection(1) External CSTA-call-connection-identifiers:ConnectionID -%%------------------------------------------------- - {EncBytes1,EncLen1} = 'CSTA-call-connection-identifiers':'enc_ConnectionID'(Cindex1, [<<107>>]), - -%%------------------------------------------------- -%% attribute ogmId(2) with type INTEGER -%%------------------------------------------------- - {EncBytes2,EncLen2} = encode_integer(Cindex2, [<<2>>]), - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_KmeOgmStart'(Tlv) -> - 'dec_KmeOgmStart'(Tlv, [16]). - -'dec_KmeOgmStart'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute connection(1) External CSTA-call-connection-identifiers:ConnectionID -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = 'CSTA-call-connection-identifiers':'dec_ConnectionID'(V1, [65547]), - -%%------------------------------------------------- -%% attribute ogmId(2) with type INTEGER -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = decode_integer(V2, [2]), - -case Tlv3 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowed -end, - {'KmeOgmStart', Term1, Term2}. - - - -%%================================ -%% KmeResourceControl -%%================================ -'enc_KmeResourceControl'(Val) -> - 'enc_KmeResourceControl'(Val, []). - -'enc_KmeResourceControl'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - ogmStart -> - 'enc_KmeOgmStart'(element(2,Val), [<<48>>,<<160>>]); - ogmStop -> - 'enc_KmeOgmStop'(element(2,Val), [<<107>>,<<161>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_KmeResourceControl'(Tlv) -> - 'dec_KmeResourceControl'(Tlv, []). - -'dec_KmeResourceControl'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'ogmStart' - {131072, V1} -> - {ogmStart, 'dec_KmeOgmStart'(V1, [16])}; - - -%% 'ogmStop' - {131073, V1} -> - {ogmStop, 'dec_KmeOgmStop'(V1, [65547])}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% KmePrivateEvent -%%================================ -'enc_KmePrivateEvent'(Val) -> - 'enc_KmePrivateEvent'(Val, []). - -'enc_KmePrivateEvent'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - digitsReport -> - 'enc_KmeDigitsReport'(element(2,Val), [<<48>>,<<161>>]); - ogmStatus -> - 'enc_KmeOgmStatus'(element(2,Val), [<<48>>,<<162>>]); - wakeupResult -> - 'enc_KmeWakeupResult'(element(2,Val), [<<48>>,<<163>>]); - unconferenced -> - 'enc_KmeUnconferenced'(element(2,Val), [<<48>>,<<164>>]); - tamEnded -> - 'enc_KmeTamEnded'(element(2,Val), [<<107>>,<<165>>]); - pcRecEnded -> - 'enc_KmePcRecEnded'(element(2,Val), [<<107>>,<<166>>]); - callbackNotification -> - 'enc_CallBackNotification'(element(2,Val), [<<48>>,<<167>>]); - freeOgmPort -> - encode_integer(element(2,Val), [<<2>>,<<168>>]); - pDFStatus -> - 'enc_KmePDFStatus'(element(2,Val), [<<48>>,<<169>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_KmePrivateEvent'(Tlv) -> - 'dec_KmePrivateEvent'(Tlv, []). - -'dec_KmePrivateEvent'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'digitsReport' - {131073, V1} -> - {digitsReport, 'dec_KmeDigitsReport'(V1, [16])}; - - -%% 'ogmStatus' - {131074, V1} -> - {ogmStatus, 'dec_KmeOgmStatus'(V1, [16])}; - - -%% 'wakeupResult' - {131075, V1} -> - {wakeupResult, 'dec_KmeWakeupResult'(V1, [16])}; - - -%% 'unconferenced' - {131076, V1} -> - {unconferenced, 'dec_KmeUnconferenced'(V1, [16])}; - - -%% 'tamEnded' - {131077, V1} -> - {tamEnded, 'dec_KmeTamEnded'(V1, [65547])}; - - -%% 'pcRecEnded' - {131078, V1} -> - {pcRecEnded, 'dec_KmePcRecEnded'(V1, [65547])}; - - -%% 'callbackNotification' - {131079, V1} -> - {callbackNotification, 'dec_CallBackNotification'(V1, [16])}; - - -%% 'freeOgmPort' - {131080, V1} -> - {freeOgmPort, decode_integer(V1, [2])}; - - -%% 'pDFStatus' - {131081, V1} -> - {pDFStatus, 'dec_KmePDFStatus'(V1, [16])}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% KmeAdditionalData -%%================================ -'enc_KmeAdditionalData'(Val) -> - 'enc_KmeAdditionalData'(Val, []). - -'enc_KmeAdditionalData'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - fowardType -> - case element(2,Val) of -forwardImmediate -> encode_tags([<<10>>,<<161>>], [0], 1); -forwardBusy -> encode_tags([<<10>>,<<161>>], [1], 1); -forwardNoAns -> encode_tags([<<10>>,<<161>>], [2], 1); -forwardBusyInt -> encode_tags([<<10>>,<<161>>], [3], 1); -forwardBusyExt -> encode_tags([<<10>>,<<161>>], [4], 1); -forwardNoAnsInt -> encode_tags([<<10>>,<<161>>], [5], 1); -forwardNoAnsExt -> encode_tags([<<10>>,<<161>>], [6], 1); -forwardImmInt -> encode_tags([<<10>>,<<161>>], [7], 1); -forwardImmExt -> encode_tags([<<10>>,<<161>>], [8], 1); -forwardDND -> encode_tags([<<10>>,<<161>>], [9], 1); -forwardDNDInt -> encode_tags([<<10>>,<<161>>], [10], 1); -forwardDNDExt -> encode_tags([<<10>>,<<161>>], [11], 1); -forwardBusyNoAnswer -> encode_tags([<<10>>,<<161>>], [12], 1); -forwardBusyNoAnswerInt -> encode_tags([<<10>>,<<161>>], [13], 1); -forwardBusyNoAnswerExt -> encode_tags([<<10>>,<<161>>], [14], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end; - trunkId -> - 'enc_KmeTrunkId'(element(2,Val), [<<48>>,<<162>>]); - otherDevice -> - case element(2,Val) of -vm -> encode_tags([<<10>>,<<163>>], [0], 1); -doorPhone -> encode_tags([<<10>>,<<163>>], [1], 1); -disa -> encode_tags([<<10>>,<<163>>], [2], 1); -pagingGroup -> encode_tags([<<10>>,<<163>>], [3], 1); -psGruop -> encode_tags([<<10>>,<<163>>], [4], 1); -externalRinger -> encode_tags([<<10>>,<<163>>], [5], 1); -externalSensor -> encode_tags([<<10>>,<<163>>], [6], 1); -externalPager -> encode_tags([<<10>>,<<163>>], [7], 1); -modem -> encode_tags([<<10>>,<<163>>], [8], 1); -hdlc -> encode_tags([<<10>>,<<163>>], [9], 1); -pbxSystem -> encode_tags([<<10>>,<<163>>], [10], 1); -svm -> encode_tags([<<10>>,<<163>>], [11], 1); -Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) -end; - vmRecExtNo -> - encode_restricted_string(element(2,Val), [<<22>>,<<164>>]); - deviceCategory -> - 'enc_KmeChangedDeviceCategory'(element(2,Val), [<<165>>]); - device -> - 'CSTA-device-identifiers':'enc_DeviceID'(element(2,Val), [<<48>>,<<166>>]); - featureNumber -> - encode_integer(element(2,Val), [<<2>>,<<167>>]); - proprietaryContents -> - encode_restricted_string(element(2,Val), [<<4>>,<<168>>]); - holdType -> - case element(2,Val) of -consultation -> encode_tags([<<10>>,<<169>>], [0], 1); -normal -> encode_tags([<<10>>,<<169>>], [1], 1); -exclusive -> encode_tags([<<10>>,<<169>>], [2], 1); -Enumval6 -> exit({error,{asn1, {enumerated_not_in_range,Enumval6}}}) -end; - conditionCode -> - case element(2,Val) of -cl -> encode_tags([<<10>>,<<170>>], [0], 1); -tr -> encode_tags([<<10>>,<<170>>], [1], 1); -fw -> encode_tags([<<10>>,<<170>>], [2], 1); -d0 -> encode_tags([<<10>>,<<170>>], [3], 1); -rm -> encode_tags([<<10>>,<<170>>], [4], 1); -na -> encode_tags([<<10>>,<<170>>], [5], 1); -Enumval7 -> exit({error,{asn1, {enumerated_not_in_range,Enumval7}}}) -end; - lockDisplay -> - encode_boolean(element(2,Val), [<<1>>,<<171>>]); - forcedAlerting -> - encode_named_bit_string(element(2,Val), [{fwdDnd,0},{timer,1}], [<<3>>,<<172>>]); - callID -> - encode_restricted_string(element(2,Val), [<<4>>,<<173>>]); - ogmContinuation -> - encode_boolean(element(2,Val), [<<1>>,<<174>>]); - broadcastGroupNo -> - encode_integer(element(2,Val), [<<2>>,<<175>>]); - ringPattern -> - encode_integer(element(2,Val), [<<2>>,<<176>>]); - didNo -> - 'CSTA-device-identifiers':'enc_DeviceID'(element(2,Val), [<<48>>,<<177>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_KmeAdditionalData'(Tlv) -> - 'dec_KmeAdditionalData'(Tlv, []). - -'dec_KmeAdditionalData'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'fowardType' - {131073, V1} -> - {fowardType, case decode_integer(V1, [10]) of -0 -> forwardImmediate; -1 -> forwardBusy; -2 -> forwardNoAns; -3 -> forwardBusyInt; -4 -> forwardBusyExt; -5 -> forwardNoAnsInt; -6 -> forwardNoAnsExt; -7 -> forwardImmInt; -8 -> forwardImmExt; -9 -> forwardDND; -10 -> forwardDNDInt; -11 -> forwardDNDExt; -12 -> forwardBusyNoAnswer; -13 -> forwardBusyNoAnswerInt; -14 -> forwardBusyNoAnswerExt; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end}; - - -%% 'trunkId' - {131074, V1} -> - {trunkId, 'dec_KmeTrunkId'(V1, [16])}; - - -%% 'otherDevice' - {131075, V1} -> - {otherDevice, case decode_integer(V1, [10]) of -0 -> vm; -1 -> doorPhone; -2 -> disa; -3 -> pagingGroup; -4 -> psGruop; -5 -> externalRinger; -6 -> externalSensor; -7 -> externalPager; -8 -> modem; -9 -> hdlc; -10 -> pbxSystem; -11 -> svm; -Default2 -> exit({error,{asn1,{illegal_enumerated,Default2}}}) -end}; - - -%% 'vmRecExtNo' - {131076, V1} -> - {vmRecExtNo, begin -Val1 = decode_restricted_string(V1, [22]), -C1 = byte_size(Val1), -if 1 =< C1, C1 =< 5 -> -binary_to_list(Val1); -true -> -exit({error,{asn1,bad_range}}) -end -end}; - - -%% 'deviceCategory' - {131077, V1} -> - {deviceCategory, 'dec_KmeChangedDeviceCategory'(V1, [])}; - - -%% 'device' - {131078, V1} -> - {device, 'CSTA-device-identifiers':'dec_DeviceID'(V1, [16])}; - - -%% 'featureNumber' - {131079, V1} -> - {featureNumber, decode_integer(V1, [2])}; - - -%% 'proprietaryContents' - {131080, V1} -> - {proprietaryContents, begin -Val2 = decode_octet_string(V1, [4]), -C2 = byte_size(Val2), -if 0 =< C2, C2 =< 144 -> -Val2; -true -> -exit({error,{asn1,bad_range}}) -end -end}; - - -%% 'holdType' - {131081, V1} -> - {holdType, case decode_integer(V1, [10]) of -0 -> consultation; -1 -> normal; -2 -> exclusive; -Default3 -> exit({error,{asn1,{illegal_enumerated,Default3}}}) -end}; - - -%% 'conditionCode' - {131082, V1} -> - {conditionCode, case decode_integer(V1, [10]) of -0 -> cl; -1 -> tr; -2 -> fw; -3 -> d0; -4 -> rm; -5 -> na; -Default4 -> exit({error,{asn1,{illegal_enumerated,Default4}}}) -end}; - - -%% 'lockDisplay' - {131083, V1} -> - {lockDisplay, decode_boolean(V1, [1])}; - - -%% 'forcedAlerting' - {131084, V1} -> - {forcedAlerting, decode_named_bit_string(V1, [{fwdDnd,0},{timer,1}], [3])}; - - -%% 'callID' - {131085, V1} -> - {callID, decode_octet_string(V1, [4])}; - - -%% 'ogmContinuation' - {131086, V1} -> - {ogmContinuation, decode_boolean(V1, [1])}; - - -%% 'broadcastGroupNo' - {131087, V1} -> - {broadcastGroupNo, decode_integer(V1, [2])}; - - -%% 'ringPattern' - {131088, V1} -> - {ringPattern, decode_integer(V1, [2])}; - - -%% 'didNo' - {131089, V1} -> - {didNo, 'CSTA-device-identifiers':'dec_DeviceID'(V1, [16])}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% KmeSystemData -%%================================ -'enc_KmeSystemData'(Val) -> - 'enc_KmeSystemData'(Val, []). - -'enc_KmeSystemData'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - getSystemData -> - 'enc_KmeGetSystemData'(element(2,Val), [<<160>>]); - setSystemData -> - 'enc_KmeSetSystemData'(element(2,Val), [<<161>>]); - systemDataChanged -> - 'enc_KmeSystemDataChanged'(element(2,Val), [<<162>>]); - systemDataLinkedReply -> - 'enc_KmeSystemDataLinkedReply'(element(2,Val), [<<48>>,<<163>>]); - getSystemDataPosAck -> - encode_restricted_string(element(2,Val), [<<4>>,<<164>>]); - lockSystemData -> - 'enc_KmeLockSystemData'(element(2,Val), [<<165>>]); - systemDataStatus -> - 'enc_KmeSystemDataStatus'(element(2,Val), [<<48>>,<<166>>]); - dataRevisionRecord -> - encode_restricted_string(element(2,Val), [<<4>>,<<167>>]); - getDataRevisionRecord -> - 'enc_KmeGetSystemDataRevision'(element(2,Val), [<<168>>]); - setprogrammingEventOn -> - 'enc_KmeSetProgrammingEventOn'(element(2,Val), [<<169>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_KmeSystemData'(Tlv) -> - 'dec_KmeSystemData'(Tlv, []). - -'dec_KmeSystemData'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'getSystemData' - {131072, V1} -> - {getSystemData, 'dec_KmeGetSystemData'(V1, [])}; - - -%% 'setSystemData' - {131073, V1} -> - {setSystemData, 'dec_KmeSetSystemData'(V1, [])}; - - -%% 'systemDataChanged' - {131074, V1} -> - {systemDataChanged, 'dec_KmeSystemDataChanged'(V1, [])}; - - -%% 'systemDataLinkedReply' - {131075, V1} -> - {systemDataLinkedReply, 'dec_KmeSystemDataLinkedReply'(V1, [16])}; - - -%% 'getSystemDataPosAck' - {131076, V1} -> - {getSystemDataPosAck, decode_octet_string(V1, [4])}; - - -%% 'lockSystemData' - {131077, V1} -> - {lockSystemData, 'dec_KmeLockSystemData'(V1, [])}; - - -%% 'systemDataStatus' - {131078, V1} -> - {systemDataStatus, 'dec_KmeSystemDataStatus'(V1, [16])}; - - -%% 'dataRevisionRecord' - {131079, V1} -> - {dataRevisionRecord, begin -Val1 = decode_octet_string(V1, [4]), -C1 = byte_size(Val1), -if 0 =< C1, C1 =< 128 -> -Val1; -true -> -exit({error,{asn1,bad_range}}) -end -end}; - - -%% 'getDataRevisionRecord' - {131080, V1} -> - {getDataRevisionRecord, 'dec_KmeGetSystemDataRevision'(V1, [])}; - - -%% 'setprogrammingEventOn' - {131081, V1} -> - {setprogrammingEventOn, 'dec_KmeSetProgrammingEventOn'(V1, [])}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% KmeDeviceMonitor -%%================================ -'enc_KmeDeviceMonitor'(Val) -> - 'enc_KmeDeviceMonitor'(Val, []). - -'enc_KmeDeviceMonitor'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - startDeviceMonitor -> - 'enc_KmeStartDeviceMonitor'(element(2,Val), [<<160>>]); - stopDeviceMonitor -> - encode_null(element(2,Val), [<<5>>,<<161>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_KmeDeviceMonitor'(Tlv) -> - 'dec_KmeDeviceMonitor'(Tlv, []). - -'dec_KmeDeviceMonitor'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'startDeviceMonitor' - {131072, V1} -> - {startDeviceMonitor, 'dec_KmeStartDeviceMonitor'(V1, [])}; - - -%% 'stopDeviceMonitor' - {131073, V1} -> - {stopDeviceMonitor, decode_null(V1, [5])}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% KmeDeviceStatus -%%================================ -'enc_KmeDeviceStatus'(Val) -> - 'enc_KmeDeviceStatus'(Val, []). - -'enc_KmeDeviceStatus'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - agentStatus -> - 'enc_KmeDeviceAgentStatus'(element(2,Val), [<<48>>,<<160>>]); - callStatus -> - 'enc_KmeDeviceCallStatus'(element(2,Val), [<<48>>,<<161>>]); - serviceStatus -> - 'enc_KmeDeviceServiceStatus'(element(2,Val), [<<48>>,<<162>>]); - lineStatus -> - 'enc_KmeLineStatus'(element(2,Val), [<<48>>,<<163>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_KmeDeviceStatus'(Tlv) -> - 'dec_KmeDeviceStatus'(Tlv, []). - -'dec_KmeDeviceStatus'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'agentStatus' - {131072, V1} -> - {agentStatus, 'dec_KmeDeviceAgentStatus'(V1, [16])}; - - -%% 'callStatus' - {131073, V1} -> - {callStatus, 'dec_KmeDeviceCallStatus'(V1, [16])}; - - -%% 'serviceStatus' - {131074, V1} -> - {serviceStatus, 'dec_KmeDeviceServiceStatus'(V1, [16])}; - - -%% 'lineStatus' - {131075, V1} -> - {lineStatus, 'dec_KmeLineStatus'(V1, [16])}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% KmeCallControlSrvEvt -%%================================ -'enc_KmeCallControlSrvEvt'(Val) -> - 'enc_KmeCallControlSrvEvt'(Val, []). - -'enc_KmeCallControlSrvEvt'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - dndOverride -> - 'enc_KmeDndOverride'(element(2,Val), [<<107>>,<<160>>]); - interuptCall -> - 'enc_KmeInteruptCall'(element(2,Val), [<<107>>,<<161>>]); - eFA -> - 'enc_KmeExternalFeatureAccess'(element(2,Val), [<<107>>,<<162>>]); - tempTollChange -> - 'enc_KmeTempTollChange'(element(2,Val), [<<48>>,<<163>>]); - doorOpen -> - 'enc_KmeDoorOpen'(element(2,Val), [<<107>>,<<164>>]); - twoWayRec -> - 'enc_KmeTwoWayRec'(element(2,Val), [<<48>>,<<165>>]); - callBackInvoke -> - 'enc_KmeCallBackInvoke'(element(2,Val), [<<166>>]); - pcRec -> - 'enc_KmePcRec'(element(2,Val), [<<48>>,<<167>>]); - switchChannel -> - 'enc_KmeSwitchChannel'(element(2,Val), [<<107>>,<<168>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_KmeCallControlSrvEvt'(Tlv) -> - 'dec_KmeCallControlSrvEvt'(Tlv, []). - -'dec_KmeCallControlSrvEvt'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'dndOverride' - {131072, V1} -> - {dndOverride, 'dec_KmeDndOverride'(V1, [65547])}; - - -%% 'interuptCall' - {131073, V1} -> - {interuptCall, 'dec_KmeInteruptCall'(V1, [65547])}; - - -%% 'eFA' - {131074, V1} -> - {eFA, 'dec_KmeExternalFeatureAccess'(V1, [65547])}; - - -%% 'tempTollChange' - {131075, V1} -> - {tempTollChange, 'dec_KmeTempTollChange'(V1, [16])}; - - -%% 'doorOpen' - {131076, V1} -> - {doorOpen, 'dec_KmeDoorOpen'(V1, [65547])}; - - -%% 'twoWayRec' - {131077, V1} -> - {twoWayRec, 'dec_KmeTwoWayRec'(V1, [16])}; - - -%% 'callBackInvoke' - {131078, V1} -> - {callBackInvoke, 'dec_KmeCallBackInvoke'(V1, [])}; - - -%% 'pcRec' - {131079, V1} -> - {pcRec, 'dec_KmePcRec'(V1, [16])}; - - -%% 'switchChannel' - {131080, V1} -> - {switchChannel, 'dec_KmeSwitchChannel'(V1, [65547])}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% KmeFreeOgmPort -%%================================ -'enc_KmeFreeOgmPort'(Val) -> - 'enc_KmeFreeOgmPort'(Val, [<<2>>]). - -'enc_KmeFreeOgmPort'(Val, TagIn) -> -encode_integer(Val, TagIn). - - -'dec_KmeFreeOgmPort'(Tlv) -> - 'dec_KmeFreeOgmPort'(Tlv, [2]). - -'dec_KmeFreeOgmPort'(Tlv, TagIn) -> -decode_integer(Tlv, TagIn). - - - -%%================================ -%% KmeSwitchChannel -%%================================ -'enc_KmeSwitchChannel'(Val) -> - 'enc_KmeSwitchChannel'(Val, [<<107>>]). - -'enc_KmeSwitchChannel'(Val, TagIn) -> - 'CSTA-call-connection-identifiers':'enc_ConnectionID'(Val, TagIn). - - -'dec_KmeSwitchChannel'(Tlv) -> - 'dec_KmeSwitchChannel'(Tlv, [65547]). - -'dec_KmeSwitchChannel'(Tlv, TagIn) -> -'CSTA-call-connection-identifiers':'dec_ConnectionID'(Tlv, TagIn). - - - -%%================================ -%% KmePcRecEnded -%%================================ -'enc_KmePcRecEnded'(Val) -> - 'enc_KmePcRecEnded'(Val, [<<107>>]). - -'enc_KmePcRecEnded'(Val, TagIn) -> - 'CSTA-call-connection-identifiers':'enc_ConnectionID'(Val, TagIn). - - -'dec_KmePcRecEnded'(Tlv) -> - 'dec_KmePcRecEnded'(Tlv, [65547]). - -'dec_KmePcRecEnded'(Tlv, TagIn) -> -'CSTA-call-connection-identifiers':'dec_ConnectionID'(Tlv, TagIn). - - - -%%================================ -%% KmeTamEnded -%%================================ -'enc_KmeTamEnded'(Val) -> - 'enc_KmeTamEnded'(Val, [<<107>>]). - -'enc_KmeTamEnded'(Val, TagIn) -> - 'CSTA-call-connection-identifiers':'enc_ConnectionID'(Val, TagIn). - - -'dec_KmeTamEnded'(Tlv) -> - 'dec_KmeTamEnded'(Tlv, [65547]). - -'dec_KmeTamEnded'(Tlv, TagIn) -> -'CSTA-call-connection-identifiers':'dec_ConnectionID'(Tlv, TagIn). - - - -%%================================ -%% KmeUnconferenced -%%================================ -'enc_KmeUnconferenced'(Val) -> - 'enc_KmeUnconferenced'(Val, [<<48>>]). - -'enc_KmeUnconferenced'(Val, TagIn) -> -{_,Cindex1, Cindex2, Cindex3, Cindex4, Cindex5, Cindex6, Cindex7} = Val, - -%%------------------------------------------------- -%% attribute unconferencingDevice(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- - {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(Cindex1, [<<48>>]), - -%%------------------------------------------------- -%% attribute primaryCall(2) External CSTA-call-connection-identifiers:ConnectionID -%%------------------------------------------------- - {EncBytes2,EncLen2} = 'CSTA-call-connection-identifiers':'enc_ConnectionID'(Cindex2, [<<107>>]), - -%%------------------------------------------------- -%% attribute secodaryCall(3) External CSTA-call-connection-identifiers:ConnectionID OPTIONAL -%%------------------------------------------------- - {EncBytes3,EncLen3} = case Cindex3 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'CSTA-call-connection-identifiers':'enc_ConnectionID'(Cindex3, [<<107>>]) - end, - -%%------------------------------------------------- -%% attribute primaryNID(4) External CSTA-device-identifiers:DeviceID OPTIONAL -%%------------------------------------------------- - {EncBytes4,EncLen4} = case Cindex4 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'CSTA-device-identifiers':'enc_DeviceID'(Cindex4, [<<48>>,<<161>>]) - end, - -%%------------------------------------------------- -%% attribute secondaryNID(5) External CSTA-device-identifiers:DeviceID OPTIONAL -%%------------------------------------------------- - {EncBytes5,EncLen5} = case Cindex5 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'CSTA-device-identifiers':'enc_DeviceID'(Cindex5, [<<48>>,<<162>>]) - end, - -%%------------------------------------------------- -%% attribute primaryConnectionInfo(6) with type ENUMERATED -%%------------------------------------------------- - {EncBytes6,EncLen6} = case Cindex6 of -null -> encode_tags([<<78>>], [0], 1); -initiated -> encode_tags([<<78>>], [1], 1); -alerting -> encode_tags([<<78>>], [2], 1); -connected -> encode_tags([<<78>>], [3], 1); -hold -> encode_tags([<<78>>], [4], 1); -queued -> encode_tags([<<78>>], [5], 1); -fail -> encode_tags([<<78>>], [6], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end, - -%%------------------------------------------------- -%% attribute secondaryConnectionInfo(7) with type ENUMERATED OPTIONAL -%%------------------------------------------------- - {EncBytes7,EncLen7} = case Cindex7 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - case Cindex7 of -null -> encode_tags([<<78>>], [0], 1); -initiated -> encode_tags([<<78>>], [1], 1); -alerting -> encode_tags([<<78>>], [2], 1); -connected -> encode_tags([<<78>>], [3], 1); -hold -> encode_tags([<<78>>], [4], 1); -queued -> encode_tags([<<78>>], [5], 1); -fail -> encode_tags([<<78>>], [6], 1); -Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) -end - end, - - BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4, EncBytes5, EncBytes6, EncBytes7], -LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4 + EncLen5 + EncLen6 + EncLen7, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_KmeUnconferenced'(Tlv) -> - 'dec_KmeUnconferenced'(Tlv, [16]). - -'dec_KmeUnconferenced'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute unconferencingDevice(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = 'CSTA-device-identifiers':'dec_DeviceID'(V1, [16]), - -%%------------------------------------------------- -%% attribute primaryCall(2) External CSTA-call-connection-identifiers:ConnectionID -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = 'CSTA-call-connection-identifiers':'dec_ConnectionID'(V2, [65547]), - -%%------------------------------------------------- -%% attribute secodaryCall(3) External CSTA-call-connection-identifiers:ConnectionID OPTIONAL -%%------------------------------------------------- -{Term3,Tlv4} = case Tlv3 of -[{65547,V3}|TempTlv4] -> - {'CSTA-call-connection-identifiers':'dec_ConnectionID'(V3, []), TempTlv4}; - _ -> - { asn1_NOVALUE, Tlv3} -end, - -%%------------------------------------------------- -%% attribute primaryNID(4) External CSTA-device-identifiers:DeviceID OPTIONAL -%%------------------------------------------------- -{Term4,Tlv5} = case Tlv4 of -[{131073,V4}|TempTlv5] -> - {'CSTA-device-identifiers':'dec_DeviceID'(V4, [16]), TempTlv5}; - _ -> - { asn1_NOVALUE, Tlv4} -end, - -%%------------------------------------------------- -%% attribute secondaryNID(5) External CSTA-device-identifiers:DeviceID OPTIONAL -%%------------------------------------------------- -{Term5,Tlv6} = case Tlv5 of -[{131074,V5}|TempTlv6] -> - {'CSTA-device-identifiers':'dec_DeviceID'(V5, [16]), TempTlv6}; - _ -> - { asn1_NOVALUE, Tlv5} -end, - -%%------------------------------------------------- -%% attribute primaryConnectionInfo(6) with type ENUMERATED -%%------------------------------------------------- -[V6|Tlv7] = Tlv6, -Term6 = case decode_integer(V6, [65550]) of -0 -> null; -1 -> initiated; -2 -> alerting; -3 -> connected; -4 -> hold; -5 -> queued; -6 -> fail; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end, - -%%------------------------------------------------- -%% attribute secondaryConnectionInfo(7) with type ENUMERATED OPTIONAL -%%------------------------------------------------- -{Term7,Tlv8} = case Tlv7 of -[{65550,V7}|TempTlv8] -> - {case decode_integer(V7, []) of -0 -> null; -1 -> initiated; -2 -> alerting; -3 -> connected; -4 -> hold; -5 -> queued; -6 -> fail; -Default2 -> exit({error,{asn1,{illegal_enumerated,Default2}}}) -end, TempTlv8}; - _ -> - { asn1_NOVALUE, Tlv7} -end, - -case Tlv8 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv8}}}) % extra fields not allowed -end, - {'KmeUnconferenced', Term1, Term2, Term3, Term4, Term5, Term6, Term7}. - - - -%%================================ -%% KmeWakeupResult -%%================================ -'enc_KmeWakeupResult'(Val) -> - 'enc_KmeWakeupResult'(Val, [<<48>>]). - -'enc_KmeWakeupResult'(Val, TagIn) -> -{_,Cindex1, Cindex2, Cindex3, Cindex4, Cindex5} = Val, - -%%------------------------------------------------- -%% attribute device(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- - {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(Cindex1, [<<48>>]), - -%%------------------------------------------------- -%% attribute state(2) with type ENUMERATED -%%------------------------------------------------- - {EncBytes2,EncLen2} = case Cindex2 of -answered -> encode_tags([<<10>>], [0], 1); -noAnswer -> encode_tags([<<10>>], [1], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end, - -%%------------------------------------------------- -%% attribute wakeupTime(3) External kme:KmeWakeUpTime -%%------------------------------------------------- - {EncBytes3,EncLen3} = 'enc_KmeWakeUpTime'(Cindex3, [<<48>>]), - -%%------------------------------------------------- -%% attribute invokeTime(4) with type GeneralizedTime -%%------------------------------------------------- - {EncBytes4,EncLen4} = encode_restricted_string(Cindex4, [<<24>>]), - -%%------------------------------------------------- -%% attribute restOfRetry(5) with type INTEGER OPTIONAL -%%------------------------------------------------- - {EncBytes5,EncLen5} = case Cindex5 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_integer(Cindex5, [<<2>>]) - end, - - BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4, EncBytes5], -LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4 + EncLen5, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_KmeWakeupResult'(Tlv) -> - 'dec_KmeWakeupResult'(Tlv, [16]). - -'dec_KmeWakeupResult'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute device(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = 'CSTA-device-identifiers':'dec_DeviceID'(V1, [16]), - -%%------------------------------------------------- -%% attribute state(2) with type ENUMERATED -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = case decode_integer(V2, [10]) of -0 -> answered; -1 -> noAnswer; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end, - -%%------------------------------------------------- -%% attribute wakeupTime(3) External kme:KmeWakeUpTime -%%------------------------------------------------- -[V3|Tlv4] = Tlv3, -Term3 = 'dec_KmeWakeUpTime'(V3, [16]), - -%%------------------------------------------------- -%% attribute invokeTime(4) with type GeneralizedTime -%%------------------------------------------------- -[V4|Tlv5] = Tlv4, -Term4 = begin -binary_to_list(decode_restricted_string(V4, [24])) -end -, - -%%------------------------------------------------- -%% attribute restOfRetry(5) with type INTEGER OPTIONAL -%%------------------------------------------------- -{Term5,Tlv6} = case Tlv5 of -[{2,V5}|TempTlv6] -> - {decode_integer(V5, []), TempTlv6}; - _ -> - { asn1_NOVALUE, Tlv5} -end, - -case Tlv6 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv6}}}) % extra fields not allowed -end, - {'KmeWakeupResult', Term1, Term2, Term3, Term4, Term5}. - - - -%%================================ -%% KmeOgmStatus -%%================================ -'enc_KmeOgmStatus'(Val) -> - 'enc_KmeOgmStatus'(Val, [<<48>>]). - -'enc_KmeOgmStatus'(Val, TagIn) -> -{_,Cindex1, Cindex2, Cindex3, Cindex4} = Val, - -%%------------------------------------------------- -%% attribute connection(1) External CSTA-call-connection-identifiers:ConnectionID -%%------------------------------------------------- - {EncBytes1,EncLen1} = 'CSTA-call-connection-identifiers':'enc_ConnectionID'(Cindex1, [<<107>>]), - -%%------------------------------------------------- -%% attribute state(2) with type ENUMERATED -%%------------------------------------------------- - {EncBytes2,EncLen2} = case Cindex2 of -started -> encode_tags([<<10>>], [0], 1); -ended -> encode_tags([<<10>>], [1], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end, - -%%------------------------------------------------- -%% attribute ogmId(3) with type INTEGER -%%------------------------------------------------- - {EncBytes3,EncLen3} = encode_integer(Cindex3, [<<2>>]), - -%%------------------------------------------------- -%% attribute ogmPortNumber(4) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- - {EncBytes4,EncLen4} = 'CSTA-device-identifiers':'enc_DeviceID'(Cindex4, [<<48>>]), - - BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4], -LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_KmeOgmStatus'(Tlv) -> - 'dec_KmeOgmStatus'(Tlv, [16]). - -'dec_KmeOgmStatus'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute connection(1) External CSTA-call-connection-identifiers:ConnectionID -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = 'CSTA-call-connection-identifiers':'dec_ConnectionID'(V1, [65547]), - -%%------------------------------------------------- -%% attribute state(2) with type ENUMERATED -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = case decode_integer(V2, [10]) of -0 -> started; -1 -> ended; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end, - -%%------------------------------------------------- -%% attribute ogmId(3) with type INTEGER -%%------------------------------------------------- -[V3|Tlv4] = Tlv3, -Term3 = decode_integer(V3, [2]), - -%%------------------------------------------------- -%% attribute ogmPortNumber(4) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- -[V4|Tlv5] = Tlv4, -Term4 = 'CSTA-device-identifiers':'dec_DeviceID'(V4, [16]), - -case Tlv5 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv5}}}) % extra fields not allowed -end, - {'KmeOgmStatus', Term1, Term2, Term3, Term4}. - - - -%%================================ -%% KmeDigitsReport -%%================================ -'enc_KmeDigitsReport'(Val) -> - 'enc_KmeDigitsReport'(Val, [<<48>>]). - -'enc_KmeDigitsReport'(Val, TagIn) -> -{_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute connection(1) External CSTA-call-connection-identifiers:ConnectionID -%%------------------------------------------------- - {EncBytes1,EncLen1} = 'CSTA-call-connection-identifiers':'enc_ConnectionID'(Cindex1, [<<107>>]), - -%%------------------------------------------------- -%% attribute digits(2) with type IA5String -%%------------------------------------------------- - {EncBytes2,EncLen2} = encode_restricted_string(Cindex2, [<<22>>]), - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_KmeDigitsReport'(Tlv) -> - 'dec_KmeDigitsReport'(Tlv, [16]). - -'dec_KmeDigitsReport'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute connection(1) External CSTA-call-connection-identifiers:ConnectionID -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = 'CSTA-call-connection-identifiers':'dec_ConnectionID'(V1, [65547]), - -%%------------------------------------------------- -%% attribute digits(2) with type IA5String -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = begin -Val1 = decode_restricted_string(V2, [22]), -C1 = byte_size(Val1), -if 0 =< C1, C1 =< 64 -> -binary_to_list(Val1); -true -> -exit({error,{asn1,bad_range}}) -end -end, - -case Tlv3 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowed -end, - {'KmeDigitsReport', Term1, Term2}. - - - -%%================================ -%% KmeForcedAlerting -%%================================ -'enc_KmeForcedAlerting'(Val) -> - 'enc_KmeForcedAlerting'(Val, [<<3>>]). - -'enc_KmeForcedAlerting'(Val, TagIn) -> -encode_named_bit_string(Val, [{fwdDnd,0},{timer,1}], TagIn). - - -'dec_KmeForcedAlerting'(Tlv) -> - 'dec_KmeForcedAlerting'(Tlv, [3]). - -'dec_KmeForcedAlerting'(Tlv, TagIn) -> -decode_named_bit_string(Tlv, [{fwdDnd,0},{timer,1}], TagIn). - - - -%%================================ -%% KmeHoldType -%%================================ -'enc_KmeHoldType'(Val) -> - 'enc_KmeHoldType'(Val, [<<10>>]). - -'enc_KmeHoldType'(Val, TagIn) -> -case Val of -consultation -> encode_tags(TagIn, [0], 1); -normal -> encode_tags(TagIn, [1], 1); -exclusive -> encode_tags(TagIn, [2], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end. - - -'dec_KmeHoldType'(Tlv) -> - 'dec_KmeHoldType'(Tlv, [10]). - -'dec_KmeHoldType'(Tlv, TagIn) -> -case decode_integer(Tlv, TagIn) of -0 -> consultation; -1 -> normal; -2 -> exclusive; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end. - - - -%%================================ -%% KmeProprietaryChars -%%================================ -'enc_KmeProprietaryChars'(Val) -> - 'enc_KmeProprietaryChars'(Val, [<<4>>]). - -'enc_KmeProprietaryChars'(Val, TagIn) -> -encode_restricted_string(Val, TagIn). - - -'dec_KmeProprietaryChars'(Tlv) -> - 'dec_KmeProprietaryChars'(Tlv, [4]). - -'dec_KmeProprietaryChars'(Tlv, TagIn) -> -begin -Val1 = decode_octet_string(Tlv, TagIn), -C1 = byte_size(Val1), -if 0 =< C1, C1 =< 144 -> -Val1; -true -> -exit({error,{asn1,bad_range}}) -end -end. - - - -%%================================ -%% KmeFeatureNumber -%%================================ -'enc_KmeFeatureNumber'(Val) -> - 'enc_KmeFeatureNumber'(Val, [<<2>>]). - -'enc_KmeFeatureNumber'(Val, TagIn) -> -encode_integer(Val, TagIn). - - -'dec_KmeFeatureNumber'(Tlv) -> - 'dec_KmeFeatureNumber'(Tlv, [2]). - -'dec_KmeFeatureNumber'(Tlv, TagIn) -> -decode_integer(Tlv, TagIn). - - - -%%================================ -%% KmeCdrConditionCode -%%================================ -'enc_KmeCdrConditionCode'(Val) -> - 'enc_KmeCdrConditionCode'(Val, [<<10>>]). - -'enc_KmeCdrConditionCode'(Val, TagIn) -> -case Val of -cl -> encode_tags(TagIn, [0], 1); -tr -> encode_tags(TagIn, [1], 1); -fw -> encode_tags(TagIn, [2], 1); -d0 -> encode_tags(TagIn, [3], 1); -rm -> encode_tags(TagIn, [4], 1); -na -> encode_tags(TagIn, [5], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end. - - -'dec_KmeCdrConditionCode'(Tlv) -> - 'dec_KmeCdrConditionCode'(Tlv, [10]). - -'dec_KmeCdrConditionCode'(Tlv, TagIn) -> -case decode_integer(Tlv, TagIn) of -0 -> cl; -1 -> tr; -2 -> fw; -3 -> d0; -4 -> rm; -5 -> na; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end. - - - -%%================================ -%% KmeOtherDevice -%%================================ -'enc_KmeOtherDevice'(Val) -> - 'enc_KmeOtherDevice'(Val, [<<10>>]). - -'enc_KmeOtherDevice'(Val, TagIn) -> -case Val of -vm -> encode_tags(TagIn, [0], 1); -doorPhone -> encode_tags(TagIn, [1], 1); -disa -> encode_tags(TagIn, [2], 1); -pagingGroup -> encode_tags(TagIn, [3], 1); -psGruop -> encode_tags(TagIn, [4], 1); -externalRinger -> encode_tags(TagIn, [5], 1); -externalSensor -> encode_tags(TagIn, [6], 1); -externalPager -> encode_tags(TagIn, [7], 1); -modem -> encode_tags(TagIn, [8], 1); -hdlc -> encode_tags(TagIn, [9], 1); -pbxSystem -> encode_tags(TagIn, [10], 1); -svm -> encode_tags(TagIn, [11], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end. - - -'dec_KmeOtherDevice'(Tlv) -> - 'dec_KmeOtherDevice'(Tlv, [10]). - -'dec_KmeOtherDevice'(Tlv, TagIn) -> -case decode_integer(Tlv, TagIn) of -0 -> vm; -1 -> doorPhone; -2 -> disa; -3 -> pagingGroup; -4 -> psGruop; -5 -> externalRinger; -6 -> externalSensor; -7 -> externalPager; -8 -> modem; -9 -> hdlc; -10 -> pbxSystem; -11 -> svm; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end. - - - -%%================================ -%% KmeTrunkId -%%================================ -'enc_KmeTrunkId'(Val) -> - 'enc_KmeTrunkId'(Val, [<<48>>]). - -'enc_KmeTrunkId'(Val, TagIn) -> - 'CSTA-device-identifiers':'enc_DeviceID'(Val, TagIn). - - -'dec_KmeTrunkId'(Tlv) -> - 'dec_KmeTrunkId'(Tlv, [16]). - -'dec_KmeTrunkId'(Tlv, TagIn) -> -'CSTA-device-identifiers':'dec_DeviceID'(Tlv, TagIn). - - - -%%================================ -%% KmeLocalAlerm -%%================================ -'enc_KmeLocalAlerm'(Val) -> - 'enc_KmeLocalAlerm'(Val, []). - -'enc_KmeLocalAlerm'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - singleMessage -> - encode_restricted_string(element(2,Val), [<<4>>,<<160>>]); - wideMessage -> - encode_restricted_string(element(2,Val), [<<4>>,<<161>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_KmeLocalAlerm'(Tlv) -> - 'dec_KmeLocalAlerm'(Tlv, []). - -'dec_KmeLocalAlerm'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'singleMessage' - {131072, V1} -> - {singleMessage, begin -Val1 = decode_octet_string(V1, [4]), -C1 = byte_size(Val1), -if 0 =< C1, C1 =< 24 -> -Val1; -true -> -exit({error,{asn1,bad_range}}) -end -end}; - - -%% 'wideMessage' - {131073, V1} -> - {wideMessage, begin -Val2 = decode_octet_string(V1, [4]), -C2 = byte_size(Val2), -if 0 =< C2, C2 =< 48 -> -Val2; -true -> -exit({error,{asn1,bad_range}}) -end -end}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% KmeSetProgrammingEventOn -%%================================ -'enc_KmeSetProgrammingEventOn'(Val) -> - 'enc_KmeSetProgrammingEventOn'(Val, []). - -'enc_KmeSetProgrammingEventOn'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - request -> - encode_boolean(element(2,Val), [<<1>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_KmeSetProgrammingEventOn'(Tlv) -> - 'dec_KmeSetProgrammingEventOn'(Tlv, []). - -'dec_KmeSetProgrammingEventOn'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'request' - {1, V1} -> - {request, decode_boolean(V1, [])}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% ProgrammingEventOn -%%================================ -'enc_ProgrammingEventOn'(Val) -> - 'enc_ProgrammingEventOn'(Val, [<<1>>]). - -'enc_ProgrammingEventOn'(Val, TagIn) -> -encode_boolean(Val, TagIn). - - -'dec_ProgrammingEventOn'(Tlv) -> - 'dec_ProgrammingEventOn'(Tlv, [1]). - -'dec_ProgrammingEventOn'(Tlv, TagIn) -> -decode_boolean(Tlv, TagIn). - - - -%%================================ -%% KmeRevisionType -%%================================ -'enc_KmeRevisionType'(Val) -> - 'enc_KmeRevisionType'(Val, [<<10>>]). - -'enc_KmeRevisionType'(Val, TagIn) -> -case Val of -systemDataRevision -> encode_tags(TagIn, [0], 1); -speedDialRevision -> encode_tags(TagIn, [1], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end. - - -'dec_KmeRevisionType'(Tlv) -> - 'dec_KmeRevisionType'(Tlv, [10]). - -'dec_KmeRevisionType'(Tlv, TagIn) -> -case decode_integer(Tlv, TagIn) of -0 -> systemDataRevision; -1 -> speedDialRevision; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end. - - - -%%================================ -%% KmeGetSystemDataRevision -%%================================ -'enc_KmeGetSystemDataRevision'(Val) -> - 'enc_KmeGetSystemDataRevision'(Val, []). - -'enc_KmeGetSystemDataRevision'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - request -> - case element(2,Val) of -systemDataRevision -> encode_tags([<<10>>], [0], 1); -speedDialRevision -> encode_tags([<<10>>], [1], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end; - result -> - encode_restricted_string(element(2,Val), [<<4>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_KmeGetSystemDataRevision'(Tlv) -> - 'dec_KmeGetSystemDataRevision'(Tlv, []). - -'dec_KmeGetSystemDataRevision'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'request' - {10, V1} -> - {request, case decode_integer(V1, []) of -0 -> systemDataRevision; -1 -> speedDialRevision; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end}; - - -%% 'result' - {4, V1} -> - {result, begin -Val1 = decode_octet_string(V1, []), -C1 = byte_size(Val1), -if 0 =< C1, C1 =< 128 -> -Val1; -true -> -exit({error,{asn1,bad_range}}) -end -end}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% KmeSystemDataRevision -%%================================ -'enc_KmeSystemDataRevision'(Val) -> - 'enc_KmeSystemDataRevision'(Val, [<<4>>]). - -'enc_KmeSystemDataRevision'(Val, TagIn) -> -encode_restricted_string(Val, TagIn). - - -'dec_KmeSystemDataRevision'(Tlv) -> - 'dec_KmeSystemDataRevision'(Tlv, [4]). - -'dec_KmeSystemDataRevision'(Tlv, TagIn) -> -begin -Val1 = decode_octet_string(Tlv, TagIn), -C1 = byte_size(Val1), -if 0 =< C1, C1 =< 128 -> -Val1; -true -> -exit({error,{asn1,bad_range}}) -end -end. - - - -%%================================ -%% KmeSystemDataStatus -%%================================ -'enc_KmeSystemDataStatus'(Val) -> - 'enc_KmeSystemDataStatus'(Val, [<<48>>]). - -'enc_KmeSystemDataStatus'(Val, TagIn) -> -{_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute systemDataLock(1) with type BOOLEAN -%%------------------------------------------------- - {EncBytes1,EncLen1} = encode_boolean(Cindex1, [<<1>>]), - -%%------------------------------------------------- -%% attribute lockingDevice(2) External CSTA-device-identifiers:DeviceID OPTIONAL -%%------------------------------------------------- - {EncBytes2,EncLen2} = case Cindex2 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'CSTA-device-identifiers':'enc_DeviceID'(Cindex2, [<<48>>]) - end, - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_KmeSystemDataStatus'(Tlv) -> - 'dec_KmeSystemDataStatus'(Tlv, [16]). - -'dec_KmeSystemDataStatus'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute systemDataLock(1) with type BOOLEAN -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = decode_boolean(V1, [1]), - -%%------------------------------------------------- -%% attribute lockingDevice(2) External CSTA-device-identifiers:DeviceID OPTIONAL -%%------------------------------------------------- -{Term2,Tlv3} = case Tlv2 of -[{16,V2}|TempTlv3] -> - {'CSTA-device-identifiers':'dec_DeviceID'(V2, []), TempTlv3}; - _ -> - { asn1_NOVALUE, Tlv2} -end, - -case Tlv3 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowed -end, - {'KmeSystemDataStatus', Term1, Term2}. - - - -%%================================ -%% KmeLockSystemData -%%================================ -'enc_KmeLockSystemData'(Val) -> - 'enc_KmeLockSystemData'(Val, []). - -'enc_KmeLockSystemData'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - request -> - 'enc_KmeLockSystemData_request'(element(2,Val), [<<48>>]); - lockResult -> - encode_restricted_string(element(2,Val), [<<4>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - - -%%================================ -%% KmeLockSystemData_request -%%================================ -'enc_KmeLockSystemData_request'(Val, TagIn) -> - {_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute systemDataLock(1) with type BOOLEAN -%%------------------------------------------------- - {EncBytes1,EncLen1} = encode_boolean(Cindex1, [<<1>>]), - -%%------------------------------------------------- -%% attribute id(2) with type CHOICE -%%------------------------------------------------- - {EncBytes2,EncLen2} = 'enc_KmeLockSystemData_request_id'(Cindex2, []), - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - - -%%================================ -%% KmeLockSystemData_request_id -%%================================ -'enc_KmeLockSystemData_request_id'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - lock -> - 'CSTA-device-identifiers':'enc_DeviceID'(element(2,Val), [<<48>>]); - unlock -> - encode_restricted_string(element(2,Val), [<<4>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_KmeLockSystemData'(Tlv) -> - 'dec_KmeLockSystemData'(Tlv, []). - -'dec_KmeLockSystemData'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'request' - {16, V1} -> - {request, 'dec_KmeLockSystemData_request'(V1, [])}; - - -%% 'lockResult' - {4, V1} -> - {lockResult, begin -Val1 = decode_octet_string(V1, []), -C1 = byte_size(Val1), -if C1 =:= 4 -> -Val1; -true -> -exit({error,{asn1,bad_range}}) -end -end}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. -'dec_KmeLockSystemData_request'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute systemDataLock(1) with type BOOLEAN -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = decode_boolean(V1, [1]), - -%%------------------------------------------------- -%% attribute id(2) with type CHOICE -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = 'dec_KmeLockSystemData_request_id'(V2, []), - -case Tlv3 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowed -end, - {'KmeLockSystemData_request', Term1, Term2}. - -'dec_KmeLockSystemData_request_id'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'lock' - {16, V1} -> - {lock, 'CSTA-device-identifiers':'dec_DeviceID'(V1, [])}; - - -%% 'unlock' - {4, V1} -> - {unlock, begin -Val1 = decode_octet_string(V1, []), -C1 = byte_size(Val1), -if C1 =:= 4 -> -Val1; -true -> -exit({error,{asn1,bad_range}}) -end -end}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% KmeSystemCrossRefID -%%================================ -'enc_KmeSystemCrossRefID'(Val) -> - 'enc_KmeSystemCrossRefID'(Val, [<<4>>]). - -'enc_KmeSystemCrossRefID'(Val, TagIn) -> -encode_restricted_string(Val, TagIn). - - -'dec_KmeSystemCrossRefID'(Tlv) -> - 'dec_KmeSystemCrossRefID'(Tlv, [4]). - -'dec_KmeSystemCrossRefID'(Tlv, TagIn) -> -begin -Val1 = decode_octet_string(Tlv, TagIn), -C1 = byte_size(Val1), -if C1 =:= 4 -> -Val1; -true -> -exit({error,{asn1,bad_range}}) -end -end. - - - -%%================================ -%% KmeGetSystemDataPosAck -%%================================ -'enc_KmeGetSystemDataPosAck'(Val) -> - 'enc_KmeGetSystemDataPosAck'(Val, [<<4>>]). - -'enc_KmeGetSystemDataPosAck'(Val, TagIn) -> -encode_restricted_string(Val, TagIn). - - -'dec_KmeGetSystemDataPosAck'(Tlv) -> - 'dec_KmeGetSystemDataPosAck'(Tlv, [4]). - -'dec_KmeGetSystemDataPosAck'(Tlv, TagIn) -> -decode_octet_string(Tlv, TagIn). - - - -%%================================ -%% KmeSystemDataLinkedReply -%%================================ -'enc_KmeSystemDataLinkedReply'(Val) -> - 'enc_KmeSystemDataLinkedReply'(Val, [<<48>>]). - -'enc_KmeSystemDataLinkedReply'(Val, TagIn) -> -{_,Cindex1, Cindex2, Cindex3, Cindex4} = Val, - -%%------------------------------------------------- -%% attribute crossRefID(1) with type OCTET STRING -%%------------------------------------------------- - {EncBytes1,EncLen1} = encode_restricted_string(Cindex1, [<<4>>,<<160>>]), - -%%------------------------------------------------- -%% attribute segmentID(2) with type INTEGER -%%------------------------------------------------- - {EncBytes2,EncLen2} = encode_integer(Cindex2, [<<2>>,<<161>>]), - -%%------------------------------------------------- -%% attribute lastSegment(3) with type BOOLEAN -%%------------------------------------------------- - {EncBytes3,EncLen3} = encode_boolean(Cindex3, [<<1>>,<<162>>]), - -%%------------------------------------------------- -%% attribute sysData(4) External kme:KmeGetSystemDataRsp OPTIONAL -%%------------------------------------------------- - {EncBytes4,EncLen4} = case Cindex4 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmeGetSystemDataRsp'(Cindex4, [<<48>>,<<163>>]) - end, - - BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4], -LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_KmeSystemDataLinkedReply'(Tlv) -> - 'dec_KmeSystemDataLinkedReply'(Tlv, [16]). - -'dec_KmeSystemDataLinkedReply'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute crossRefID(1) with type OCTET STRING -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = decode_octet_string(V1, [131072,4]), - -%%------------------------------------------------- -%% attribute segmentID(2) with type INTEGER -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = decode_integer(V2, [131073,2]), - -%%------------------------------------------------- -%% attribute lastSegment(3) with type BOOLEAN -%%------------------------------------------------- -[V3|Tlv4] = Tlv3, -Term3 = decode_boolean(V3, [131074,1]), - -%%------------------------------------------------- -%% attribute sysData(4) External kme:KmeGetSystemDataRsp OPTIONAL -%%------------------------------------------------- -{Term4,Tlv5} = case Tlv4 of -[{131075,V4}|TempTlv5] -> - {'dec_KmeGetSystemDataRsp'(V4, [16]), TempTlv5}; - _ -> - { asn1_NOVALUE, Tlv4} -end, - -case Tlv5 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv5}}}) % extra fields not allowed -end, - {'KmeSystemDataLinkedReply', Term1, Term2, Term3, Term4}. - - - -%%================================ -%% KmeSystemDataChanged -%%================================ -'enc_KmeSystemDataChanged'(Val) -> - 'enc_KmeSystemDataChanged'(Val, []). - -'enc_KmeSystemDataChanged'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - systemData -> - case element(2,Val) of -featureList -> encode_tags([<<10>>,<<160>>], [1], 1); -speedDial -> encode_tags([<<10>>,<<160>>], [2], 1); -trunkGroup -> encode_tags([<<10>>,<<160>>], [3], 1); -extGroup -> encode_tags([<<10>>,<<160>>], [4], 1); -pickGroup -> encode_tags([<<10>>,<<160>>], [5], 1); -pagingGroup -> encode_tags([<<10>>,<<160>>], [6], 1); -incomingGroup -> encode_tags([<<10>>,<<160>>], [7], 1); -dayNightMode -> encode_tags([<<10>>,<<160>>], [8], 1); -doorPhone -> encode_tags([<<10>>,<<160>>], [9], 1); -vmGroup -> encode_tags([<<10>>,<<160>>], [10], 1); -systemTime -> encode_tags([<<10>>,<<160>>], [11], 1); -psGroup -> encode_tags([<<10>>,<<160>>], [12], 1); -trunkGMembers -> encode_tags([<<10>>,<<160>>], [13], 1); -incomingGMembers -> encode_tags([<<10>>,<<160>>], [14], 1); -psGMembers -> encode_tags([<<10>>,<<160>>], [15], 1); -vmGMembers -> encode_tags([<<10>>,<<160>>], [16], 1); -broadcastGroup -> encode_tags([<<10>>,<<160>>], [17], 1); -broadcastGMembers -> encode_tags([<<10>>,<<160>>], [18], 1); -subdomainName -> encode_tags([<<10>>,<<160>>], [19], 1); -externalSensor -> encode_tags([<<10>>,<<160>>], [20], 1); -svm -> encode_tags([<<10>>,<<160>>], [21], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end; - deviceData -> - 'enc_KmeSystemDataChanged_deviceData'(element(2,Val), [<<48>>,<<161>>]); - deviceBasicInfo -> - 'CSTA-device-identifiers':'enc_DeviceID'(element(2,Val), [<<48>>,<<162>>]); - reconfiguration -> - encode_null(element(2,Val), [<<5>>,<<163>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - - -%%================================ -%% KmeSystemDataChanged_deviceData -%%================================ -'enc_KmeSystemDataChanged_deviceData'(Val, TagIn) -> - {_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute device(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- - {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(Cindex1, [<<48>>,<<160>>]), - -%%------------------------------------------------- -%% attribute sysData(2) with type ENUMERATED -%%------------------------------------------------- - {EncBytes2,EncLen2} = case Cindex2 of -wakeUp -> encode_tags([<<10>>,<<161>>], [0], 1); -remoteStatationLock -> encode_tags([<<10>>,<<161>>], [1], 1); -callLogLock -> encode_tags([<<10>>,<<161>>], [2], 1); -absentMessage -> encode_tags([<<10>>,<<161>>], [3], 1); -forwardDnd -> encode_tags([<<10>>,<<161>>], [4], 1); -cos -> encode_tags([<<10>>,<<161>>], [5], 1); -extName -> encode_tags([<<10>>,<<161>>], [6], 1); -assocExtGroup -> encode_tags([<<10>>,<<161>>], [7], 1); -fcoKey -> encode_tags([<<10>>,<<161>>], [8], 1); -sxdpMaster -> encode_tags([<<10>>,<<161>>], [9], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end, - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_KmeSystemDataChanged'(Tlv) -> - 'dec_KmeSystemDataChanged'(Tlv, []). - -'dec_KmeSystemDataChanged'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'systemData' - {131072, V1} -> - {systemData, case decode_integer(V1, [10]) of -1 -> featureList; -2 -> speedDial; -3 -> trunkGroup; -4 -> extGroup; -5 -> pickGroup; -6 -> pagingGroup; -7 -> incomingGroup; -8 -> dayNightMode; -9 -> doorPhone; -10 -> vmGroup; -11 -> systemTime; -12 -> psGroup; -13 -> trunkGMembers; -14 -> incomingGMembers; -15 -> psGMembers; -16 -> vmGMembers; -17 -> broadcastGroup; -18 -> broadcastGMembers; -19 -> subdomainName; -20 -> externalSensor; -21 -> svm; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end}; - - -%% 'deviceData' - {131073, V1} -> - {deviceData, 'dec_KmeSystemDataChanged_deviceData'(V1, [16])}; - - -%% 'deviceBasicInfo' - {131074, V1} -> - {deviceBasicInfo, 'CSTA-device-identifiers':'dec_DeviceID'(V1, [16])}; - - -%% 'reconfiguration' - {131075, V1} -> - {reconfiguration, decode_null(V1, [5])}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. -'dec_KmeSystemDataChanged_deviceData'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute device(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = 'CSTA-device-identifiers':'dec_DeviceID'(V1, [131072,16]), - -%%------------------------------------------------- -%% attribute sysData(2) with type ENUMERATED -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = case decode_integer(V2, [131073,10]) of -0 -> wakeUp; -1 -> remoteStatationLock; -2 -> callLogLock; -3 -> absentMessage; -4 -> forwardDnd; -5 -> cos; -6 -> extName; -7 -> assocExtGroup; -8 -> fcoKey; -9 -> sxdpMaster; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end, - -case Tlv3 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowed -end, - {'KmeSystemDataChanged_deviceData', Term1, Term2}. - - - -%%================================ -%% KmeSetSystemData -%%================================ -'enc_KmeSetSystemData'(Val) -> - 'enc_KmeSetSystemData'(Val, []). - -'enc_KmeSetSystemData'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - systemData -> - 'enc_KmeSetSystemData_systemData'(element(2,Val), [<<160>>]); - deviceData -> - 'enc_KmeSetSystemData_deviceData'(element(2,Val), [<<48>>,<<161>>]); - acdQueue -> - 'enc_KmeSetSystemData_acdQueue'(element(2,Val), [<<48>>,<<163>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - - -%%================================ -%% KmeSetSystemData_systemData -%%================================ -'enc_KmeSetSystemData_systemData'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - speedDial -> - 'enc_KmeSpeedDial'(element(2,Val), [<<48>>,<<160>>]); - dayNightMode -> - 'enc_KmeDayNightMode'(element(2,Val), [<<48>>,<<161>>]); - time -> - encode_restricted_string(element(2,Val), [<<24>>,<<162>>]); - extNo -> - 'enc_KmeChangeExtNo'(element(2,Val), [<<48>>,<<163>>]); - name -> - 'enc_KmeChangeName'(element(2,Val), [<<48>>,<<164>>]); - subdomainName -> - encode_restricted_string(element(2,Val), [<<22>>,<<165>>]); - tenantSpeedDial -> - 'enc_KmeTenantSpeedDial'(element(2,Val), [<<48>>,<<166>>]); - distributionMethod -> - 'enc_KmeDistributionMethod'(element(2,Val), [<<48>>,<<167>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - - -%%================================ -%% KmeSetSystemData_deviceData -%%================================ -'enc_KmeSetSystemData_deviceData'(Val, TagIn) -> - {_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute device(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- - {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(Cindex1, [<<48>>,<<161>>]), - -%%------------------------------------------------- -%% attribute sysData(2) with type CHOICE -%%------------------------------------------------- - {EncBytes2,EncLen2} = 'enc_KmeSetSystemData_deviceData_sysData'(Cindex2, [<<162>>]), - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - - -%%================================ -%% KmeSetSystemData_deviceData_sysData -%%================================ -'enc_KmeSetSystemData_deviceData_sysData'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - wakeUp -> - 'enc_KmeWakeUpInfo'(element(2,Val), [<<48>>,<<160>>]); - remoteLock -> - case element(2,Val) of -lock -> encode_tags([<<10>>,<<161>>], [0], 1); -unlock -> encode_tags([<<10>>,<<161>>], [1], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end; - forwardDnd -> - 'enc_KmeSetForwardInfo'(element(2,Val), [<<48>>,<<162>>]); - absentMessage -> - 'enc_KmeAbsentMessage'(element(2,Val), [<<163>>]); - passwordClear -> - encode_null(element(2,Val), [<<5>>,<<164>>]); - extNumber -> - encode_restricted_string(element(2,Val), [<<22>>,<<165>>]); - extName -> - 'enc_KmeExtName'(element(2,Val), [<<166>>]); - cos -> - encode_integer(element(2,Val), [<<2>>,<<167>>]); - joinGroup -> - 'CSTA-device-identifiers':'enc_DeviceID'(element(2,Val), [<<48>>,<<168>>]); - leaveGroup -> - 'CSTA-device-identifiers':'enc_DeviceID'(element(2,Val), [<<48>>,<<169>>]); - inService -> - encode_boolean(element(2,Val), [<<1>>,<<170>>]); - fcoKey -> - 'enc_KmeFcoKeyList'(element(2,Val), [<<48>>,<<171>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - - -%%================================ -%% KmeSetSystemData_acdQueue -%%================================ -'enc_KmeSetSystemData_acdQueue'(Val, TagIn) -> - {_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute device(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- - {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(Cindex1, [<<48>>]), - -%%------------------------------------------------- -%% attribute attribute(2) with type CHOICE -%%------------------------------------------------- - {EncBytes2,EncLen2} = 'enc_KmeSetSystemData_acdQueue_attribute'(Cindex2, []), - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - - -%%================================ -%% KmeSetSystemData_acdQueue_attribute -%%================================ -'enc_KmeSetSystemData_acdQueue_attribute'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - groupType -> - case element(2,Val) of -ucd -> encode_tags([<<10>>,<<161>>], [0], 1); -ring -> encode_tags([<<10>>,<<161>>], [1], 1); -hunt -> encode_tags([<<10>>,<<161>>], [2], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end; - acdMode -> - encode_boolean(element(2,Val), [<<1>>]); - ctiWaitTime -> - encode_integer(element(2,Val), [<<2>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_KmeSetSystemData'(Tlv) -> - 'dec_KmeSetSystemData'(Tlv, []). - -'dec_KmeSetSystemData'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'systemData' - {131072, V1} -> - {systemData, 'dec_KmeSetSystemData_systemData'(V1, [])}; - - -%% 'deviceData' - {131073, V1} -> - {deviceData, 'dec_KmeSetSystemData_deviceData'(V1, [16])}; - - -%% 'acdQueue' - {131075, V1} -> - {acdQueue, 'dec_KmeSetSystemData_acdQueue'(V1, [16])}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. -'dec_KmeSetSystemData_systemData'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'speedDial' - {131072, V1} -> - {speedDial, 'dec_KmeSpeedDial'(V1, [16])}; - - -%% 'dayNightMode' - {131073, V1} -> - {dayNightMode, 'dec_KmeDayNightMode'(V1, [16])}; - - -%% 'time' - {131074, V1} -> - {time, begin -binary_to_list(decode_restricted_string(V1, [24])) -end -}; - - -%% 'extNo' - {131075, V1} -> - {extNo, 'dec_KmeChangeExtNo'(V1, [16])}; - - -%% 'name' - {131076, V1} -> - {name, 'dec_KmeChangeName'(V1, [16])}; - - -%% 'subdomainName' - {131077, V1} -> - {subdomainName, begin -Val1 = decode_restricted_string(V1, [22]), -C1 = byte_size(Val1), -if 0 =< C1, C1 =< 20 -> -binary_to_list(Val1); -true -> -exit({error,{asn1,bad_range}}) -end -end}; - - -%% 'tenantSpeedDial' - {131078, V1} -> - {tenantSpeedDial, 'dec_KmeTenantSpeedDial'(V1, [16])}; - - -%% 'distributionMethod' - {131079, V1} -> - {distributionMethod, 'dec_KmeDistributionMethod'(V1, [16])}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. -'dec_KmeSetSystemData_deviceData'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute device(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = 'CSTA-device-identifiers':'dec_DeviceID'(V1, [131073,16]), - -%%------------------------------------------------- -%% attribute sysData(2) with type CHOICE -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = 'dec_KmeSetSystemData_deviceData_sysData'(V2, [131074]), - -case Tlv3 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowed -end, - {'KmeSetSystemData_deviceData', Term1, Term2}. - -'dec_KmeSetSystemData_deviceData_sysData'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'wakeUp' - {131072, V1} -> - {wakeUp, 'dec_KmeWakeUpInfo'(V1, [16])}; - - -%% 'remoteLock' - {131073, V1} -> - {remoteLock, case decode_integer(V1, [10]) of -0 -> lock; -1 -> unlock; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end}; - - -%% 'forwardDnd' - {131074, V1} -> - {forwardDnd, 'dec_KmeSetForwardInfo'(V1, [16])}; - - -%% 'absentMessage' - {131075, V1} -> - {absentMessage, 'dec_KmeAbsentMessage'(V1, [])}; - - -%% 'passwordClear' - {131076, V1} -> - {passwordClear, decode_null(V1, [5])}; - - -%% 'extNumber' - {131077, V1} -> - {extNumber, begin -Val1 = decode_restricted_string(V1, [22]), -C1 = byte_size(Val1), -if 1 =< C1, C1 =< 5 -> -binary_to_list(Val1); -true -> -exit({error,{asn1,bad_range}}) -end -end}; - - -%% 'extName' - {131078, V1} -> - {extName, 'dec_KmeExtName'(V1, [])}; - - -%% 'cos' - {131079, V1} -> - {cos, decode_integer(V1, [2])}; - - -%% 'joinGroup' - {131080, V1} -> - {joinGroup, 'CSTA-device-identifiers':'dec_DeviceID'(V1, [16])}; - - -%% 'leaveGroup' - {131081, V1} -> - {leaveGroup, 'CSTA-device-identifiers':'dec_DeviceID'(V1, [16])}; - - -%% 'inService' - {131082, V1} -> - {inService, decode_boolean(V1, [1])}; - - -%% 'fcoKey' - {131083, V1} -> - {fcoKey, 'dec_KmeFcoKeyList'(V1, [16])}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. -'dec_KmeSetSystemData_acdQueue'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute device(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = 'CSTA-device-identifiers':'dec_DeviceID'(V1, [16]), - -%%------------------------------------------------- -%% attribute attribute(2) with type CHOICE -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = 'dec_KmeSetSystemData_acdQueue_attribute'(V2, []), - -case Tlv3 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowed -end, - {'KmeSetSystemData_acdQueue', Term1, Term2}. - -'dec_KmeSetSystemData_acdQueue_attribute'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'groupType' - {131073, V1} -> - {groupType, case decode_integer(V1, [10]) of -0 -> ucd; -1 -> ring; -2 -> hunt; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end}; - - -%% 'acdMode' - {1, V1} -> - {acdMode, decode_boolean(V1, [])}; - - -%% 'ctiWaitTime' - {2, V1} -> - {ctiWaitTime, decode_integer(V1, [])}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% KmeGetSystemData -%%================================ -'enc_KmeGetSystemData'(Val) -> - 'enc_KmeGetSystemData'(Val, []). - -'enc_KmeGetSystemData'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - request -> - 'enc_KmeGetSystemDataReq'(element(2,Val), []); - result -> - 'enc_KmeGetSystemDataRsp'(element(2,Val), [<<48>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_KmeGetSystemData'(Tlv) -> - 'dec_KmeGetSystemData'(Tlv, []). - -'dec_KmeGetSystemData'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'request' - V1 = {131072,_} -> - {request, 'dec_KmeGetSystemDataReq'(V1, [])}; - - V1 = {131073,_} -> - {request, 'dec_KmeGetSystemDataReq'(V1, [])}; - - V1 = {131074,_} -> - {request, 'dec_KmeGetSystemDataReq'(V1, [])}; - - V1 = {131075,_} -> - {request, 'dec_KmeGetSystemDataReq'(V1, [])}; - - V1 = {131076,_} -> - {request, 'dec_KmeGetSystemDataReq'(V1, [])}; - - V1 = {131077,_} -> - {request, 'dec_KmeGetSystemDataReq'(V1, [])}; - - V1 = {131078,_} -> - {request, 'dec_KmeGetSystemDataReq'(V1, [])}; - - V1 = {131079,_} -> - {request, 'dec_KmeGetSystemDataReq'(V1, [])}; - - V1 = {131080,_} -> - {request, 'dec_KmeGetSystemDataReq'(V1, [])}; - - -%% 'result' - {16, V1} -> - {result, 'dec_KmeGetSystemDataRsp'(V1, [])}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% KmeGetSystemDataRsp -%%================================ -'enc_KmeGetSystemDataRsp'(Val) -> - 'enc_KmeGetSystemDataRsp'(Val, [<<48>>]). - -'enc_KmeGetSystemDataRsp'(Val, TagIn) -> -{_,Cindex1, Cindex2, Cindex3, Cindex4, Cindex5, Cindex6, Cindex7, Cindex8, Cindex9, Cindex10, Cindex11, Cindex12, Cindex13, Cindex14, Cindex15, Cindex16, Cindex17, Cindex18, Cindex19, Cindex20, Cindex21, Cindex22, Cindex23, Cindex24, Cindex25, Cindex26, Cindex27, Cindex28, Cindex29, Cindex30, Cindex31, Cindex32, Cindex33, Cindex34, Cindex35, Cindex36, Cindex37, Cindex38, Cindex39, Cindex40, Cindex41, Cindex42, Cindex43, Cindex44, Cindex45, Cindex46} = Val, - -%%------------------------------------------------- -%% attribute timeStamp(1) with type GeneralizedTime OPTIONAL -%%------------------------------------------------- - {EncBytes1,EncLen1} = case Cindex1 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_restricted_string(Cindex1, [<<24>>,<<160>>]) - end, - -%%------------------------------------------------- -%% attribute featureList(2) External kme:KmeFeatureList OPTIONAL -%%------------------------------------------------- - {EncBytes2,EncLen2} = case Cindex2 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmeFeatureList'(Cindex2, [<<48>>,<<161>>]) - end, - -%%------------------------------------------------- -%% attribute speedDial(3) External kme:KmeSpeedDial OPTIONAL -%%------------------------------------------------- - {EncBytes3,EncLen3} = case Cindex3 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmeSpeedDial'(Cindex3, [<<48>>,<<162>>]) - end, - -%%------------------------------------------------- -%% attribute trunkGroup(4) External kme:KmeExtTrkGroupList OPTIONAL -%%------------------------------------------------- - {EncBytes4,EncLen4} = case Cindex4 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmeExtTrkGroupList'(Cindex4, [<<48>>,<<163>>]) - end, - -%%------------------------------------------------- -%% attribute extGroup(5) External kme:KmeExtTrkGroupList OPTIONAL -%%------------------------------------------------- - {EncBytes5,EncLen5} = case Cindex5 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmeExtTrkGroupList'(Cindex5, [<<48>>,<<164>>]) - end, - -%%------------------------------------------------- -%% attribute pickGroup(6) External kme:KmePckPagGroupList OPTIONAL -%%------------------------------------------------- - {EncBytes6,EncLen6} = case Cindex6 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmePckPagGroupList'(Cindex6, [<<48>>,<<165>>]) - end, - -%%------------------------------------------------- -%% attribute pagingGroup(7) External kme:KmePckPagGroupList OPTIONAL -%%------------------------------------------------- - {EncBytes7,EncLen7} = case Cindex7 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmePckPagGroupList'(Cindex7, [<<48>>,<<166>>]) - end, - -%%------------------------------------------------- -%% attribute incomingGroup(8) External kme:KmeIncomingGroupList OPTIONAL -%%------------------------------------------------- - {EncBytes8,EncLen8} = case Cindex8 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmeIncomingGroupList'(Cindex8, [<<48>>,<<167>>]) - end, - -%%------------------------------------------------- -%% attribute dayNightMode(9) External kme:KmeDayNightMode OPTIONAL -%%------------------------------------------------- - {EncBytes9,EncLen9} = case Cindex9 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmeDayNightMode'(Cindex9, [<<48>>,<<168>>]) - end, - -%%------------------------------------------------- -%% attribute wakeUp(10) External kme:KmeWakeUpInfo OPTIONAL -%%------------------------------------------------- - {EncBytes10,EncLen10} = case Cindex10 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmeWakeUpInfo'(Cindex10, [<<48>>,<<169>>]) - end, - -%%------------------------------------------------- -%% attribute remoteLock(11) with type ENUMERATED OPTIONAL -%%------------------------------------------------- - {EncBytes11,EncLen11} = case Cindex11 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - case Cindex11 of -lock -> encode_tags([<<10>>,<<170>>], [0], 1); -unlock -> encode_tags([<<10>>,<<170>>], [1], 1); -Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) -end - end, - -%%------------------------------------------------- -%% attribute callLogLock(12) External kme:KmeAbsentMessage OPTIONAL -%%------------------------------------------------- - {EncBytes12,EncLen12} = case Cindex12 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmeAbsentMessage'(Cindex12, [<<172>>]) - end, - -%%------------------------------------------------- -%% attribute forwardDnd(13) with type ENUMERATED OPTIONAL -%%------------------------------------------------- - {EncBytes13,EncLen13} = case Cindex13 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - case Cindex13 of -lock -> encode_tags([<<10>>,<<171>>], [0], 1); -unlock -> encode_tags([<<10>>,<<171>>], [1], 1); -Enumval3 -> exit({error,{asn1, {enumerated_not_in_range,Enumval3}}}) -end - end, - -%%------------------------------------------------- -%% attribute absentMessage(14) External CSTA-device-feature-types:ForwardList OPTIONAL -%%------------------------------------------------- - {EncBytes14,EncLen14} = case Cindex14 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'CSTA-device-feature-types':'enc_ForwardList'(Cindex14, [<<48>>,<<173>>]) - end, - -%%------------------------------------------------- -%% attribute trkGMembers(15) External kme:KmeTrkMembers OPTIONAL -%%------------------------------------------------- - {EncBytes15,EncLen15} = case Cindex15 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmeTrkMembers'(Cindex15, [<<48>>,<<174>>]) - end, - -%%------------------------------------------------- -%% attribute extGMembers(16) External kme:KmeExtMembers OPTIONAL -%%------------------------------------------------- - {EncBytes16,EncLen16} = case Cindex16 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmeExtMembers'(Cindex16, [<<48>>,<<175>>]) - end, - -%%------------------------------------------------- -%% attribute incomGMembers(17) External kme:KmeIcmGrpMembers OPTIONAL -%%------------------------------------------------- - {EncBytes17,EncLen17} = case Cindex17 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmeIcmGrpMembers'(Cindex17, [<<48>>,<<176>>]) - end, - -%%------------------------------------------------- -%% attribute doorPhone(18) External kme:KmeDoorPhone OPTIONAL -%%------------------------------------------------- - {EncBytes18,EncLen18} = case Cindex18 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmeDoorPhone'(Cindex18, [<<48>>,<<177>>]) - end, - -%%------------------------------------------------- -%% attribute vmGroup(19) External kme:KmeVmGroupList OPTIONAL -%%------------------------------------------------- - {EncBytes19,EncLen19} = case Cindex19 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmeVmGroupList'(Cindex19, [<<48>>,<<178>>]) - end, - -%%------------------------------------------------- -%% attribute manufacturerName(20) with type IA5String OPTIONAL -%%------------------------------------------------- - {EncBytes20,EncLen20} = case Cindex20 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_restricted_string(Cindex20, [<<22>>,<<179>>]) - end, - -%%------------------------------------------------- -%% attribute subdomainName(21) with type IA5String OPTIONAL -%%------------------------------------------------- - {EncBytes21,EncLen21} = case Cindex21 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_restricted_string(Cindex21, [<<22>>,<<180>>]) - end, - -%%------------------------------------------------- -%% attribute softwareVersion(22) with type IA5String OPTIONAL -%%------------------------------------------------- - {EncBytes22,EncLen22} = case Cindex22 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_restricted_string(Cindex22, [<<22>>,<<181>>]) - end, - -%%------------------------------------------------- -%% attribute ctiVersion(23) with type IA5String OPTIONAL -%%------------------------------------------------- - {EncBytes23,EncLen23} = case Cindex23 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_restricted_string(Cindex23, [<<22>>,<<182>>]) - end, - -%%------------------------------------------------- -%% attribute regionCode(24) with type IA5String OPTIONAL -%%------------------------------------------------- - {EncBytes24,EncLen24} = case Cindex24 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_restricted_string(Cindex24, [<<22>>,<<183>>]) - end, - -%%------------------------------------------------- -%% attribute systemTime(25) with type GeneralizedTime OPTIONAL -%%------------------------------------------------- - {EncBytes25,EncLen25} = case Cindex25 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_restricted_string(Cindex25, [<<24>>,<<184>>]) - end, - -%%------------------------------------------------- -%% attribute numberOfMsgPort(26) External kme:NumberOfMsgPort OPTIONAL -%%------------------------------------------------- - {EncBytes26,EncLen26} = case Cindex26 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_NumberOfMsgPort'(Cindex26, [<<48>>,<<185>>]) - end, - -%%------------------------------------------------- -%% attribute psGroup(27) External kme:KmePsGroupList OPTIONAL -%%------------------------------------------------- - {EncBytes27,EncLen27} = case Cindex27 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmePsGroupList'(Cindex27, [<<48>>,<<186>>]) - end, - -%%------------------------------------------------- -%% attribute youAre(28) External CSTA-device-identifiers:DeviceID OPTIONAL -%%------------------------------------------------- - {EncBytes28,EncLen28} = case Cindex28 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'CSTA-device-identifiers':'enc_DeviceID'(Cindex28, [<<48>>,<<187>>]) - end, - -%%------------------------------------------------- -%% attribute svm(29) External kme:KmeSvmList OPTIONAL -%%------------------------------------------------- - {EncBytes29,EncLen29} = case Cindex29 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmeSvmList'(Cindex29, [<<48>>,<<188>>]) - end, - -%%------------------------------------------------- -%% attribute pdn(30) External kme:KmePdnGMembers OPTIONAL -%%------------------------------------------------- - {EncBytes30,EncLen30} = case Cindex30 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmePdnGMembers'(Cindex30, [<<48>>,<<189>>]) - end, - -%%------------------------------------------------- -%% attribute cos(31) with type INTEGER OPTIONAL -%%------------------------------------------------- - {EncBytes31,EncLen31} = case Cindex31 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_integer(Cindex31, [<<2>>,<<191,34>>]) - end, - -%%------------------------------------------------- -%% attribute phoneProperty(32) External kme:KmePhoneProperty OPTIONAL -%%------------------------------------------------- - {EncBytes32,EncLen32} = case Cindex32 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmePhoneProperty'(Cindex32, [<<48>>,<<191,35>>]) - end, - -%%------------------------------------------------- -%% attribute assocIncomGroup(33) with type BIT STRING OPTIONAL -%%------------------------------------------------- - {EncBytes33,EncLen33} = case Cindex33 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_named_bit_string(Cindex33, [{one,0},{two,1},{three,2},{four,3},{five,4},{six,5},{seven,6},{eight,7},{nine,8},{ten,9},{eleven,10},{twelve,11},{thirteen,12},{fourteen,13},{fifteen,14},{sixteen,15},{seventeen,16},{eighteen,17},{nineteen,18},{twenty,19},{twentyOne,20},{twentyTwo,21},{twentyThree,22},{twentyFour,23},{twentyFive,24},{twentySix,25},{twentySeven,26},{twentyEight,27},{twentyNine,28},{thirty,29},{thirtyOne,30},{thirtyTwo,31},{thirtyThree,32},{thirtyFour,33},{thirtyFive,34},{thirtySix,35},{thirtySeven,36},{thirtyEight,37},{thirtyNine,38},{fourty,39},{fourtyOne,40},{fourtyTwo,41},{fourtyThree,42},{fourtyFour,43},{fourtyFive,44},{fourtySix,45},{fourtySeven,46},{fourtyEight,47},{fourtyNine,48},{fifty,49},{fiftyOne,50},{fiftyTwo,51},{fiftyThree,52},{fiftyFour,53},{fiftyFive,54},{fiftySix,55},{fiftySeven,56},{fiftyEight,57},{fiftyNine,58},{sixty,59},{sixtyOne,60},{sixtyTwo,61},{sixtyThree,62},{sixtyFour,63},{sixtyFive,64},{sixtySix,65},{sixtySeven,66},{sixtyEight,67},{sixtyNine,68},{seventy,69},{seventyOne,70},{seventyTwo,71},{seventyThree,72},{seventyFour,73},{seventyFive,74},{seventySix,75},{seventySeven,76},{seventyEight,77},{seventyNine,78},{eighty,79},{eightyOne,80},{eightyTwo,81},{eightyThree,82},{eightyFour,83},{eightyFive,84},{eightySix,85},{eightySeven,86},{eightyEight,87},{eightyNine,88},{ninety,89},{ninetyOne,90},{ninetyTwo,91},{ninetyThree,92},{ninetyFour,93},{ninetyFive,94},{ninetySix,95},{ninetySeven,96},{ninetyEight,97},{ninetyNine,98},{oneHundred,99},{oneHundredOne,100},{oneHundredTwo,101},{oneHundredThree,102},{oneHundredFour,103},{oneHundredFive,104},{oneHundredSix,105},{oneHundredSeven,106},{oneHundredEitht,107},{oneHundredNine,108},{oneHundredTen,109},{oneHundredEleven,110},{oneHundredTwelve,111},{oneHundredThirteen,112},{oneHundredFourteen,113},{oneHundredFifteen,114},{oneHundredSixteen,115},{oneHundredSeventeen,116},{oneHundredEithteen,117},{oneHundredNineteen,118},{oneHundredTwenty,119},{oneHundredTwentyOne,120},{oneHundredTwentyTwo,121},{oneHundredTwentyThree,122},{oneHundredTwentyFour,123},{oneHundredTwentyFive,124},{oneHundredTwentySix,125},{oneHundredTwentySeven,126},{oneHundredTwentyEight,127}], [<<3>>,<<191,36>>]) - end, - -%%------------------------------------------------- -%% attribute messageWaiting(34) with type SEQUENCE OF OPTIONAL -%%------------------------------------------------- - {EncBytes34,EncLen34} = case Cindex34 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmeGetSystemDataRsp_messageWaiting'(Cindex34, [<<48>>,<<191,37>>]) - end, - -%%------------------------------------------------- -%% attribute deviceList(35) External kme:KmeDeviceStateList OPTIONAL -%%------------------------------------------------- - {EncBytes35,EncLen35} = case Cindex35 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmeDeviceStateList'(Cindex35, [<<48>>,<<191,38>>]) - end, - -%%------------------------------------------------- -%% attribute assocExtGroup(36) with type INTEGER OPTIONAL -%%------------------------------------------------- - {EncBytes36,EncLen36} = case Cindex36 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_integer(Cindex36, [<<2>>,<<191,39>>]) - end, - -%%------------------------------------------------- -%% attribute vmGMembers(37) External kme:KmeIcmGrpMembers OPTIONAL -%%------------------------------------------------- - {EncBytes37,EncLen37} = case Cindex37 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmeIcmGrpMembers'(Cindex37, [<<48>>,<<191,40>>]) - end, - -%%------------------------------------------------- -%% attribute extName(38) External kme:KmeExtName OPTIONAL -%%------------------------------------------------- - {EncBytes38,EncLen38} = case Cindex38 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmeExtName'(Cindex38, [<<191,41>>]) - end, - -%%------------------------------------------------- -%% attribute broadcastGroup(39) External kme:KmeBroadcastGroupList OPTIONAL -%%------------------------------------------------- - {EncBytes39,EncLen39} = case Cindex39 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmeBroadcastGroupList'(Cindex39, [<<48>>,<<191,42>>]) - end, - -%%------------------------------------------------- -%% attribute broadcastGMembers(40) External kme:KmeBroadcastGrpMembers OPTIONAL -%%------------------------------------------------- - {EncBytes40,EncLen40} = case Cindex40 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmeBroadcastGrpMembers'(Cindex40, [<<48>>,<<191,43>>]) - end, - -%%------------------------------------------------- -%% attribute fcoKeyList(41) External kme:KmeFcoKeyList OPTIONAL -%%------------------------------------------------- - {EncBytes41,EncLen41} = case Cindex41 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmeFcoKeyList'(Cindex41, [<<48>>,<<191,44>>]) - end, - -%%------------------------------------------------- -%% attribute sxdpMaster(42) External CSTA-device-identifiers:DeviceID OPTIONAL -%%------------------------------------------------- - {EncBytes42,EncLen42} = case Cindex42 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'CSTA-device-identifiers':'enc_DeviceID'(Cindex42, [<<48>>,<<191,45>>]) - end, - -%%------------------------------------------------- -%% attribute pbxType(43) with type INTEGER OPTIONAL -%%------------------------------------------------- - {EncBytes43,EncLen43} = case Cindex43 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_integer(Cindex43, [<<2>>,<<191,46>>]) - end, - -%%------------------------------------------------- -%% attribute externalSensor(44) External kme:KmeExternalSensorList OPTIONAL -%%------------------------------------------------- - {EncBytes44,EncLen44} = case Cindex44 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmeExternalSensorList'(Cindex44, [<<48>>,<<191,47>>]) - end, - -%%------------------------------------------------- -%% attribute deviceDataList(45) External kme:KmeDeviceDataList OPTIONAL -%%------------------------------------------------- - {EncBytes45,EncLen45} = case Cindex45 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmeDeviceDataList'(Cindex45, [<<48>>,<<191,48>>]) - end, - -%%------------------------------------------------- -%% attribute guestCheckStatus(46) External kme:KmeCheckStatusList OPTIONAL -%%------------------------------------------------- - {EncBytes46,EncLen46} = case Cindex46 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmeCheckStatusList'(Cindex46, [<<48>>,<<191,49>>]) - end, - - BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4, EncBytes5, EncBytes6, EncBytes7, EncBytes8, EncBytes9, EncBytes10, EncBytes11, EncBytes12, EncBytes13, EncBytes14, EncBytes15, EncBytes16, EncBytes17, EncBytes18, EncBytes19, EncBytes20, EncBytes21, EncBytes22, EncBytes23, EncBytes24, EncBytes25, EncBytes26, EncBytes27, EncBytes28, EncBytes29, EncBytes30, EncBytes31, EncBytes32, EncBytes33, EncBytes34, EncBytes35, EncBytes36, EncBytes37, EncBytes38, EncBytes39, EncBytes40, EncBytes41, EncBytes42, EncBytes43, EncBytes44, EncBytes45, EncBytes46], -LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4 + EncLen5 + EncLen6 + EncLen7 + EncLen8 + EncLen9 + EncLen10 + EncLen11 + EncLen12 + EncLen13 + EncLen14 + EncLen15 + EncLen16 + EncLen17 + EncLen18 + EncLen19 + EncLen20 + EncLen21 + EncLen22 + EncLen23 + EncLen24 + EncLen25 + EncLen26 + EncLen27 + EncLen28 + EncLen29 + EncLen30 + EncLen31 + EncLen32 + EncLen33 + EncLen34 + EncLen35 + EncLen36 + EncLen37 + EncLen38 + EncLen39 + EncLen40 + EncLen41 + EncLen42 + EncLen43 + EncLen44 + EncLen45 + EncLen46, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - - -%%================================ -%% KmeGetSystemDataRsp_messageWaiting -%%================================ -'enc_KmeGetSystemDataRsp_messageWaiting'(Val, TagIn) -> - {EncBytes,EncLen} = 'enc_KmeGetSystemDataRsp_messageWaiting_components'(Val,[],0), - encode_tags(TagIn, EncBytes, EncLen). - -'enc_KmeGetSystemDataRsp_messageWaiting_components'([], AccBytes, AccLen) -> - {lists:reverse(AccBytes),AccLen}; - -'enc_KmeGetSystemDataRsp_messageWaiting_components'([H|T],AccBytes, AccLen) -> - {EncBytes,EncLen} = 'CSTA-device-identifiers':'enc_DeviceID'(H, [<<48>>]), - 'enc_KmeGetSystemDataRsp_messageWaiting_components'(T,[EncBytes|AccBytes], AccLen + EncLen). - - - -'dec_KmeGetSystemDataRsp'(Tlv) -> - 'dec_KmeGetSystemDataRsp'(Tlv, [16]). - -'dec_KmeGetSystemDataRsp'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute timeStamp(1) with type GeneralizedTime OPTIONAL -%%------------------------------------------------- -{Term1,Tlv2} = case Tlv1 of -[{131072,V1}|TempTlv2] -> - {begin -binary_to_list(decode_restricted_string(V1, [24])) -end -, TempTlv2}; - _ -> - { asn1_NOVALUE, Tlv1} -end, - -%%------------------------------------------------- -%% attribute featureList(2) External kme:KmeFeatureList OPTIONAL -%%------------------------------------------------- -{Term2,Tlv3} = case Tlv2 of -[{131073,V2}|TempTlv3] -> - {'dec_KmeFeatureList'(V2, [16]), TempTlv3}; - _ -> - { asn1_NOVALUE, Tlv2} -end, - -%%------------------------------------------------- -%% attribute speedDial(3) External kme:KmeSpeedDial OPTIONAL -%%------------------------------------------------- -{Term3,Tlv4} = case Tlv3 of -[{131074,V3}|TempTlv4] -> - {'dec_KmeSpeedDial'(V3, [16]), TempTlv4}; - _ -> - { asn1_NOVALUE, Tlv3} -end, - -%%------------------------------------------------- -%% attribute trunkGroup(4) External kme:KmeExtTrkGroupList OPTIONAL -%%------------------------------------------------- -{Term4,Tlv5} = case Tlv4 of -[{131075,V4}|TempTlv5] -> - {'dec_KmeExtTrkGroupList'(V4, [16]), TempTlv5}; - _ -> - { asn1_NOVALUE, Tlv4} -end, - -%%------------------------------------------------- -%% attribute extGroup(5) External kme:KmeExtTrkGroupList OPTIONAL -%%------------------------------------------------- -{Term5,Tlv6} = case Tlv5 of -[{131076,V5}|TempTlv6] -> - {'dec_KmeExtTrkGroupList'(V5, [16]), TempTlv6}; - _ -> - { asn1_NOVALUE, Tlv5} -end, - -%%------------------------------------------------- -%% attribute pickGroup(6) External kme:KmePckPagGroupList OPTIONAL -%%------------------------------------------------- -{Term6,Tlv7} = case Tlv6 of -[{131077,V6}|TempTlv7] -> - {'dec_KmePckPagGroupList'(V6, [16]), TempTlv7}; - _ -> - { asn1_NOVALUE, Tlv6} -end, - -%%------------------------------------------------- -%% attribute pagingGroup(7) External kme:KmePckPagGroupList OPTIONAL -%%------------------------------------------------- -{Term7,Tlv8} = case Tlv7 of -[{131078,V7}|TempTlv8] -> - {'dec_KmePckPagGroupList'(V7, [16]), TempTlv8}; - _ -> - { asn1_NOVALUE, Tlv7} -end, - -%%------------------------------------------------- -%% attribute incomingGroup(8) External kme:KmeIncomingGroupList OPTIONAL -%%------------------------------------------------- -{Term8,Tlv9} = case Tlv8 of -[{131079,V8}|TempTlv9] -> - {'dec_KmeIncomingGroupList'(V8, [16]), TempTlv9}; - _ -> - { asn1_NOVALUE, Tlv8} -end, - -%%------------------------------------------------- -%% attribute dayNightMode(9) External kme:KmeDayNightMode OPTIONAL -%%------------------------------------------------- -{Term9,Tlv10} = case Tlv9 of -[{131080,V9}|TempTlv10] -> - {'dec_KmeDayNightMode'(V9, [16]), TempTlv10}; - _ -> - { asn1_NOVALUE, Tlv9} -end, - -%%------------------------------------------------- -%% attribute wakeUp(10) External kme:KmeWakeUpInfo OPTIONAL -%%------------------------------------------------- -{Term10,Tlv11} = case Tlv10 of -[{131081,V10}|TempTlv11] -> - {'dec_KmeWakeUpInfo'(V10, [16]), TempTlv11}; - _ -> - { asn1_NOVALUE, Tlv10} -end, - -%%------------------------------------------------- -%% attribute remoteLock(11) with type ENUMERATED OPTIONAL -%%------------------------------------------------- -{Term11,Tlv12} = case Tlv11 of -[{131082,V11}|TempTlv12] -> - {case decode_integer(V11, [10]) of -0 -> lock; -1 -> unlock; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end, TempTlv12}; - _ -> - { asn1_NOVALUE, Tlv11} -end, - -%%------------------------------------------------- -%% attribute callLogLock(12) External kme:KmeAbsentMessage OPTIONAL -%%------------------------------------------------- -{Term12,Tlv13} = case Tlv12 of -[{131084,V12}|TempTlv13] -> - {'dec_KmeAbsentMessage'(V12, []), TempTlv13}; - _ -> - { asn1_NOVALUE, Tlv12} -end, - -%%------------------------------------------------- -%% attribute forwardDnd(13) with type ENUMERATED OPTIONAL -%%------------------------------------------------- -{Term13,Tlv14} = case Tlv13 of -[{131083,V13}|TempTlv14] -> - {case decode_integer(V13, [10]) of -0 -> lock; -1 -> unlock; -Default2 -> exit({error,{asn1,{illegal_enumerated,Default2}}}) -end, TempTlv14}; - _ -> - { asn1_NOVALUE, Tlv13} -end, - -%%------------------------------------------------- -%% attribute absentMessage(14) External CSTA-device-feature-types:ForwardList OPTIONAL -%%------------------------------------------------- -{Term14,Tlv15} = case Tlv14 of -[{131085,V14}|TempTlv15] -> - {'CSTA-device-feature-types':'dec_ForwardList'(V14, [16]), TempTlv15}; - _ -> - { asn1_NOVALUE, Tlv14} -end, - -%%------------------------------------------------- -%% attribute trkGMembers(15) External kme:KmeTrkMembers OPTIONAL -%%------------------------------------------------- -{Term15,Tlv16} = case Tlv15 of -[{131086,V15}|TempTlv16] -> - {'dec_KmeTrkMembers'(V15, [16]), TempTlv16}; - _ -> - { asn1_NOVALUE, Tlv15} -end, - -%%------------------------------------------------- -%% attribute extGMembers(16) External kme:KmeExtMembers OPTIONAL -%%------------------------------------------------- -{Term16,Tlv17} = case Tlv16 of -[{131087,V16}|TempTlv17] -> - {'dec_KmeExtMembers'(V16, [16]), TempTlv17}; - _ -> - { asn1_NOVALUE, Tlv16} -end, - -%%------------------------------------------------- -%% attribute incomGMembers(17) External kme:KmeIcmGrpMembers OPTIONAL -%%------------------------------------------------- -{Term17,Tlv18} = case Tlv17 of -[{131088,V17}|TempTlv18] -> - {'dec_KmeIcmGrpMembers'(V17, [16]), TempTlv18}; - _ -> - { asn1_NOVALUE, Tlv17} -end, - -%%------------------------------------------------- -%% attribute doorPhone(18) External kme:KmeDoorPhone OPTIONAL -%%------------------------------------------------- -{Term18,Tlv19} = case Tlv18 of -[{131089,V18}|TempTlv19] -> - {'dec_KmeDoorPhone'(V18, [16]), TempTlv19}; - _ -> - { asn1_NOVALUE, Tlv18} -end, - -%%------------------------------------------------- -%% attribute vmGroup(19) External kme:KmeVmGroupList OPTIONAL -%%------------------------------------------------- -{Term19,Tlv20} = case Tlv19 of -[{131090,V19}|TempTlv20] -> - {'dec_KmeVmGroupList'(V19, [16]), TempTlv20}; - _ -> - { asn1_NOVALUE, Tlv19} -end, - -%%------------------------------------------------- -%% attribute manufacturerName(20) with type IA5String OPTIONAL -%%------------------------------------------------- -{Term20,Tlv21} = case Tlv20 of -[{131091,V20}|TempTlv21] -> - {begin -Val1 = decode_restricted_string(V20, [22]), -C1 = byte_size(Val1), -if 0 =< C1, C1 =< 64 -> -binary_to_list(Val1); -true -> -exit({error,{asn1,bad_range}}) -end -end, TempTlv21}; - _ -> - { asn1_NOVALUE, Tlv20} -end, - -%%------------------------------------------------- -%% attribute subdomainName(21) with type IA5String OPTIONAL -%%------------------------------------------------- -{Term21,Tlv22} = case Tlv21 of -[{131092,V21}|TempTlv22] -> - {begin -Val2 = decode_restricted_string(V21, [22]), -C2 = byte_size(Val2), -if 0 =< C2, C2 =< 20 -> -binary_to_list(Val2); -true -> -exit({error,{asn1,bad_range}}) -end -end, TempTlv22}; - _ -> - { asn1_NOVALUE, Tlv21} -end, - -%%------------------------------------------------- -%% attribute softwareVersion(22) with type IA5String OPTIONAL -%%------------------------------------------------- -{Term22,Tlv23} = case Tlv22 of -[{131093,V22}|TempTlv23] -> - {begin -Val3 = decode_restricted_string(V22, [22]), -C3 = byte_size(Val3), -if 0 =< C3, C3 =< 32 -> -binary_to_list(Val3); -true -> -exit({error,{asn1,bad_range}}) -end -end, TempTlv23}; - _ -> - { asn1_NOVALUE, Tlv22} -end, - -%%------------------------------------------------- -%% attribute ctiVersion(23) with type IA5String OPTIONAL -%%------------------------------------------------- -{Term23,Tlv24} = case Tlv23 of -[{131094,V23}|TempTlv24] -> - {begin -Val4 = decode_restricted_string(V23, [22]), -C4 = byte_size(Val4), -if 0 =< C4, C4 =< 32 -> -binary_to_list(Val4); -true -> -exit({error,{asn1,bad_range}}) -end -end, TempTlv24}; - _ -> - { asn1_NOVALUE, Tlv23} -end, - -%%------------------------------------------------- -%% attribute regionCode(24) with type IA5String OPTIONAL -%%------------------------------------------------- -{Term24,Tlv25} = case Tlv24 of -[{131095,V24}|TempTlv25] -> - {begin -Val5 = decode_restricted_string(V24, [22]), -C5 = byte_size(Val5), -if 0 =< C5, C5 =< 32 -> -binary_to_list(Val5); -true -> -exit({error,{asn1,bad_range}}) -end -end, TempTlv25}; - _ -> - { asn1_NOVALUE, Tlv24} -end, - -%%------------------------------------------------- -%% attribute systemTime(25) with type GeneralizedTime OPTIONAL -%%------------------------------------------------- -{Term25,Tlv26} = case Tlv25 of -[{131096,V25}|TempTlv26] -> - {begin -binary_to_list(decode_restricted_string(V25, [24])) -end -, TempTlv26}; - _ -> - { asn1_NOVALUE, Tlv25} -end, - -%%------------------------------------------------- -%% attribute numberOfMsgPort(26) External kme:NumberOfMsgPort OPTIONAL -%%------------------------------------------------- -{Term26,Tlv27} = case Tlv26 of -[{131097,V26}|TempTlv27] -> - {'dec_NumberOfMsgPort'(V26, [16]), TempTlv27}; - _ -> - { asn1_NOVALUE, Tlv26} -end, - -%%------------------------------------------------- -%% attribute psGroup(27) External kme:KmePsGroupList OPTIONAL -%%------------------------------------------------- -{Term27,Tlv28} = case Tlv27 of -[{131098,V27}|TempTlv28] -> - {'dec_KmePsGroupList'(V27, [16]), TempTlv28}; - _ -> - { asn1_NOVALUE, Tlv27} -end, - -%%------------------------------------------------- -%% attribute youAre(28) External CSTA-device-identifiers:DeviceID OPTIONAL -%%------------------------------------------------- -{Term28,Tlv29} = case Tlv28 of -[{131099,V28}|TempTlv29] -> - {'CSTA-device-identifiers':'dec_DeviceID'(V28, [16]), TempTlv29}; - _ -> - { asn1_NOVALUE, Tlv28} -end, - -%%------------------------------------------------- -%% attribute svm(29) External kme:KmeSvmList OPTIONAL -%%------------------------------------------------- -{Term29,Tlv30} = case Tlv29 of -[{131100,V29}|TempTlv30] -> - {'dec_KmeSvmList'(V29, [16]), TempTlv30}; - _ -> - { asn1_NOVALUE, Tlv29} -end, - -%%------------------------------------------------- -%% attribute pdn(30) External kme:KmePdnGMembers OPTIONAL -%%------------------------------------------------- -{Term30,Tlv31} = case Tlv30 of -[{131101,V30}|TempTlv31] -> - {'dec_KmePdnGMembers'(V30, [16]), TempTlv31}; - _ -> - { asn1_NOVALUE, Tlv30} -end, - -%%------------------------------------------------- -%% attribute cos(31) with type INTEGER OPTIONAL -%%------------------------------------------------- -{Term31,Tlv32} = case Tlv31 of -[{131106,V31}|TempTlv32] -> - {decode_integer(V31, [2]), TempTlv32}; - _ -> - { asn1_NOVALUE, Tlv31} -end, - -%%------------------------------------------------- -%% attribute phoneProperty(32) External kme:KmePhoneProperty OPTIONAL -%%------------------------------------------------- -{Term32,Tlv33} = case Tlv32 of -[{131107,V32}|TempTlv33] -> - {'dec_KmePhoneProperty'(V32, [16]), TempTlv33}; - _ -> - { asn1_NOVALUE, Tlv32} -end, - -%%------------------------------------------------- -%% attribute assocIncomGroup(33) with type BIT STRING OPTIONAL -%%------------------------------------------------- -{Term33,Tlv34} = case Tlv33 of -[{131108,V33}|TempTlv34] -> - {decode_named_bit_string(V33, [{one,0},{two,1},{three,2},{four,3},{five,4},{six,5},{seven,6},{eight,7},{nine,8},{ten,9},{eleven,10},{twelve,11},{thirteen,12},{fourteen,13},{fifteen,14},{sixteen,15},{seventeen,16},{eighteen,17},{nineteen,18},{twenty,19},{twentyOne,20},{twentyTwo,21},{twentyThree,22},{twentyFour,23},{twentyFive,24},{twentySix,25},{twentySeven,26},{twentyEight,27},{twentyNine,28},{thirty,29},{thirtyOne,30},{thirtyTwo,31},{thirtyThree,32},{thirtyFour,33},{thirtyFive,34},{thirtySix,35},{thirtySeven,36},{thirtyEight,37},{thirtyNine,38},{fourty,39},{fourtyOne,40},{fourtyTwo,41},{fourtyThree,42},{fourtyFour,43},{fourtyFive,44},{fourtySix,45},{fourtySeven,46},{fourtyEight,47},{fourtyNine,48},{fifty,49},{fiftyOne,50},{fiftyTwo,51},{fiftyThree,52},{fiftyFour,53},{fiftyFive,54},{fiftySix,55},{fiftySeven,56},{fiftyEight,57},{fiftyNine,58},{sixty,59},{sixtyOne,60},{sixtyTwo,61},{sixtyThree,62},{sixtyFour,63},{sixtyFive,64},{sixtySix,65},{sixtySeven,66},{sixtyEight,67},{sixtyNine,68},{seventy,69},{seventyOne,70},{seventyTwo,71},{seventyThree,72},{seventyFour,73},{seventyFive,74},{seventySix,75},{seventySeven,76},{seventyEight,77},{seventyNine,78},{eighty,79},{eightyOne,80},{eightyTwo,81},{eightyThree,82},{eightyFour,83},{eightyFive,84},{eightySix,85},{eightySeven,86},{eightyEight,87},{eightyNine,88},{ninety,89},{ninetyOne,90},{ninetyTwo,91},{ninetyThree,92},{ninetyFour,93},{ninetyFive,94},{ninetySix,95},{ninetySeven,96},{ninetyEight,97},{ninetyNine,98},{oneHundred,99},{oneHundredOne,100},{oneHundredTwo,101},{oneHundredThree,102},{oneHundredFour,103},{oneHundredFive,104},{oneHundredSix,105},{oneHundredSeven,106},{oneHundredEitht,107},{oneHundredNine,108},{oneHundredTen,109},{oneHundredEleven,110},{oneHundredTwelve,111},{oneHundredThirteen,112},{oneHundredFourteen,113},{oneHundredFifteen,114},{oneHundredSixteen,115},{oneHundredSeventeen,116},{oneHundredEithteen,117},{oneHundredNineteen,118},{oneHundredTwenty,119},{oneHundredTwentyOne,120},{oneHundredTwentyTwo,121},{oneHundredTwentyThree,122},{oneHundredTwentyFour,123},{oneHundredTwentyFive,124},{oneHundredTwentySix,125},{oneHundredTwentySeven,126},{oneHundredTwentyEight,127}], [3]), TempTlv34}; - _ -> - { asn1_NOVALUE, Tlv33} -end, - -%%------------------------------------------------- -%% attribute messageWaiting(34) with type SEQUENCE OF OPTIONAL -%%------------------------------------------------- -{Term34,Tlv35} = case Tlv34 of -[{131109,V34}|TempTlv35] -> - {'dec_KmeGetSystemDataRsp_messageWaiting'(V34, [16]), TempTlv35}; - _ -> - { asn1_NOVALUE, Tlv34} -end, - -%%------------------------------------------------- -%% attribute deviceList(35) External kme:KmeDeviceStateList OPTIONAL -%%------------------------------------------------- -{Term35,Tlv36} = case Tlv35 of -[{131110,V35}|TempTlv36] -> - {'dec_KmeDeviceStateList'(V35, [16]), TempTlv36}; - _ -> - { asn1_NOVALUE, Tlv35} -end, - -%%------------------------------------------------- -%% attribute assocExtGroup(36) with type INTEGER OPTIONAL -%%------------------------------------------------- -{Term36,Tlv37} = case Tlv36 of -[{131111,V36}|TempTlv37] -> - {decode_integer(V36, [2]), TempTlv37}; - _ -> - { asn1_NOVALUE, Tlv36} -end, - -%%------------------------------------------------- -%% attribute vmGMembers(37) External kme:KmeIcmGrpMembers OPTIONAL -%%------------------------------------------------- -{Term37,Tlv38} = case Tlv37 of -[{131112,V37}|TempTlv38] -> - {'dec_KmeIcmGrpMembers'(V37, [16]), TempTlv38}; - _ -> - { asn1_NOVALUE, Tlv37} -end, - -%%------------------------------------------------- -%% attribute extName(38) External kme:KmeExtName OPTIONAL -%%------------------------------------------------- -{Term38,Tlv39} = case Tlv38 of -[{131113,V38}|TempTlv39] -> - {'dec_KmeExtName'(V38, []), TempTlv39}; - _ -> - { asn1_NOVALUE, Tlv38} -end, - -%%------------------------------------------------- -%% attribute broadcastGroup(39) External kme:KmeBroadcastGroupList OPTIONAL -%%------------------------------------------------- -{Term39,Tlv40} = case Tlv39 of -[{131114,V39}|TempTlv40] -> - {'dec_KmeBroadcastGroupList'(V39, [16]), TempTlv40}; - _ -> - { asn1_NOVALUE, Tlv39} -end, - -%%------------------------------------------------- -%% attribute broadcastGMembers(40) External kme:KmeBroadcastGrpMembers OPTIONAL -%%------------------------------------------------- -{Term40,Tlv41} = case Tlv40 of -[{131115,V40}|TempTlv41] -> - {'dec_KmeBroadcastGrpMembers'(V40, [16]), TempTlv41}; - _ -> - { asn1_NOVALUE, Tlv40} -end, - -%%------------------------------------------------- -%% attribute fcoKeyList(41) External kme:KmeFcoKeyList OPTIONAL -%%------------------------------------------------- -{Term41,Tlv42} = case Tlv41 of -[{131116,V41}|TempTlv42] -> - {'dec_KmeFcoKeyList'(V41, [16]), TempTlv42}; - _ -> - { asn1_NOVALUE, Tlv41} -end, - -%%------------------------------------------------- -%% attribute sxdpMaster(42) External CSTA-device-identifiers:DeviceID OPTIONAL -%%------------------------------------------------- -{Term42,Tlv43} = case Tlv42 of -[{131117,V42}|TempTlv43] -> - {'CSTA-device-identifiers':'dec_DeviceID'(V42, [16]), TempTlv43}; - _ -> - { asn1_NOVALUE, Tlv42} -end, - -%%------------------------------------------------- -%% attribute pbxType(43) with type INTEGER OPTIONAL -%%------------------------------------------------- -{Term43,Tlv44} = case Tlv43 of -[{131118,V43}|TempTlv44] -> - {decode_integer(V43, [2]), TempTlv44}; - _ -> - { asn1_NOVALUE, Tlv43} -end, - -%%------------------------------------------------- -%% attribute externalSensor(44) External kme:KmeExternalSensorList OPTIONAL -%%------------------------------------------------- -{Term44,Tlv45} = case Tlv44 of -[{131119,V44}|TempTlv45] -> - {'dec_KmeExternalSensorList'(V44, [16]), TempTlv45}; - _ -> - { asn1_NOVALUE, Tlv44} -end, - -%%------------------------------------------------- -%% attribute deviceDataList(45) External kme:KmeDeviceDataList OPTIONAL -%%------------------------------------------------- -{Term45,Tlv46} = case Tlv45 of -[{131120,V45}|TempTlv46] -> - {'dec_KmeDeviceDataList'(V45, [16]), TempTlv46}; - _ -> - { asn1_NOVALUE, Tlv45} -end, - -%%------------------------------------------------- -%% attribute guestCheckStatus(46) External kme:KmeCheckStatusList OPTIONAL -%%------------------------------------------------- -{Term46,Tlv47} = case Tlv46 of -[{131121,V46}|TempTlv47] -> - {'dec_KmeCheckStatusList'(V46, [16]), TempTlv47}; - _ -> - { asn1_NOVALUE, Tlv46} -end, - -case Tlv47 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv47}}}) % extra fields not allowed -end, - {'KmeGetSystemDataRsp', Term1, Term2, Term3, Term4, Term5, Term6, Term7, Term8, Term9, Term10, Term11, Term12, Term13, Term14, Term15, Term16, Term17, Term18, Term19, Term20, Term21, Term22, Term23, Term24, Term25, Term26, Term27, Term28, Term29, Term30, Term31, Term32, Term33, Term34, Term35, Term36, Term37, Term38, Term39, Term40, Term41, Term42, Term43, Term44, Term45, Term46}. - -'dec_KmeGetSystemDataRsp_messageWaiting'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), -['CSTA-device-identifiers':'dec_DeviceID'(V1, [16]) || V1 <- Tlv1]. - - - - -%%================================ -%% KmeGetSystemDataReq -%%================================ -'enc_KmeGetSystemDataReq'(Val) -> - 'enc_KmeGetSystemDataReq'(Val, []). - -'enc_KmeGetSystemDataReq'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - systemData -> - case element(2,Val) of -sysTimeStamp -> encode_tags([<<10>>,<<160>>], [0], 1); -devTimeStamp -> encode_tags([<<10>>,<<160>>], [1], 1); -featureList -> encode_tags([<<10>>,<<160>>], [2], 1); -speedDial -> encode_tags([<<10>>,<<160>>], [3], 1); -trunkGroup -> encode_tags([<<10>>,<<160>>], [4], 1); -extensionGroup -> encode_tags([<<10>>,<<160>>], [5], 1); -pickupGroup -> encode_tags([<<10>>,<<160>>], [6], 1); -pagingGroup -> encode_tags([<<10>>,<<160>>], [7], 1); -incomingGroup -> encode_tags([<<10>>,<<160>>], [8], 1); -dayNightMode -> encode_tags([<<10>>,<<160>>], [9], 1); -doorPhone -> encode_tags([<<10>>,<<160>>], [10], 1); -vmGroup -> encode_tags([<<10>>,<<160>>], [11], 1); -manufacturerName -> encode_tags([<<10>>,<<160>>], [12], 1); -subdomainName -> encode_tags([<<10>>,<<160>>], [13], 1); -softwareVersion -> encode_tags([<<10>>,<<160>>], [14], 1); -ctiVersion -> encode_tags([<<10>>,<<160>>], [15], 1); -regionCode -> encode_tags([<<10>>,<<160>>], [16], 1); -systemTime -> encode_tags([<<10>>,<<160>>], [17], 1); -numberOfMsgPort -> encode_tags([<<10>>,<<160>>], [18], 1); -psGroup -> encode_tags([<<10>>,<<160>>], [19], 1); -whoAmI -> encode_tags([<<10>>,<<160>>], [20], 1); -broadcastGroup -> encode_tags([<<10>>,<<160>>], [21], 1); -pbxType -> encode_tags([<<10>>,<<160>>], [22], 1); -externalSensor -> encode_tags([<<10>>,<<160>>], [23], 1); -svm -> encode_tags([<<10>>,<<160>>], [24], 1); -pdn -> encode_tags([<<10>>,<<160>>], [25], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end; - deviceData -> - 'enc_KmeGetSystemDataReq_deviceData'(element(2,Val), [<<48>>,<<161>>]); - trkExtGMember -> - 'enc_KmeGetSystemDataReq_trkExtGMember'(element(2,Val), [<<162>>]); - incomGMember -> - 'enc_KmeGetSystemDataReq_incomGMember'(element(2,Val), [<<163>>]); - deviceList -> - 'enc_KmeRequestedDevice'(element(2,Val), [<<164>>]); - vmGMember -> - 'CSTA-device-identifiers':'enc_DeviceID'(element(2,Val), [<<48>>,<<165>>]); - speedDial -> - 'enc_KmeSpeedDialRequest'(element(2,Val), [<<48>>,<<166>>]); - broadcastGMembers -> - encode_integer(element(2,Val), [<<2>>,<<167>>]); - guestCheckStatus -> - 'CSTA-device-identifiers':'enc_DeviceID'(element(2,Val), [<<168>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - - -%%================================ -%% KmeGetSystemDataReq_deviceData -%%================================ -'enc_KmeGetSystemDataReq_deviceData'(Val, TagIn) -> - {_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute device(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- - {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(Cindex1, [<<48>>,<<160>>]), - -%%------------------------------------------------- -%% attribute sysData(2) with type CHOICE -%%------------------------------------------------- - {EncBytes2,EncLen2} = 'enc_KmeGetSystemDataReq_deviceData_sysData'(Cindex2, [<<161>>]), - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - - -%%================================ -%% KmeGetSystemDataReq_deviceData_sysData -%%================================ -'enc_KmeGetSystemDataReq_deviceData_sysData'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - standardInfo -> - encode_named_bit_string(element(2,Val), [{wakeUp,0},{remoteStatationLock,1},{callLogLock,2},{absentMessage,3},{forwardDnd,4},{cos,5},{phoneProperty,6},{assocIncomGroup,7},{messageWating,8},{assocExtGroup,9}], [<<3>>]); - extName -> - encode_null(element(2,Val), [<<5>>,<<161>>]); - fcoKey -> - encode_null(element(2,Val), [<<5>>,<<162>>]); - sxdpMaster -> - encode_null(element(2,Val), [<<5>>,<<163>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - - -%%================================ -%% KmeGetSystemDataReq_trkExtGMember -%%================================ -'enc_KmeGetSystemDataReq_trkExtGMember'(Val, TagIn) -> - {_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute groupNo(1) with type INTEGER -%%------------------------------------------------- - {EncBytes1,EncLen1} = encode_integer(Cindex1, [<<2>>]), - -%%------------------------------------------------- -%% attribute groupType(2) with type ENUMERATED -%%------------------------------------------------- - {EncBytes2,EncLen2} = case Cindex2 of -trunkGMembers -> encode_tags([<<10>>], [0], 1); -extGMembers -> encode_tags([<<10>>], [1], 1); -Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) -end, - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - - -%%================================ -%% KmeGetSystemDataReq_incomGMember -%%================================ -'enc_KmeGetSystemDataReq_incomGMember'(Val, TagIn) -> - {_,Cindex1} = Val, - -%%------------------------------------------------- -%% attribute groupNo(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- - {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(Cindex1, [<<48>>]), - - BytesSoFar = [EncBytes1], -LenSoFar = EncLen1, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_KmeGetSystemDataReq'(Tlv) -> - 'dec_KmeGetSystemDataReq'(Tlv, []). - -'dec_KmeGetSystemDataReq'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'systemData' - {131072, V1} -> - {systemData, case decode_integer(V1, [10]) of -0 -> sysTimeStamp; -1 -> devTimeStamp; -2 -> featureList; -3 -> speedDial; -4 -> trunkGroup; -5 -> extensionGroup; -6 -> pickupGroup; -7 -> pagingGroup; -8 -> incomingGroup; -9 -> dayNightMode; -10 -> doorPhone; -11 -> vmGroup; -12 -> manufacturerName; -13 -> subdomainName; -14 -> softwareVersion; -15 -> ctiVersion; -16 -> regionCode; -17 -> systemTime; -18 -> numberOfMsgPort; -19 -> psGroup; -20 -> whoAmI; -21 -> broadcastGroup; -22 -> pbxType; -23 -> externalSensor; -24 -> svm; -25 -> pdn; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end}; - - -%% 'deviceData' - {131073, V1} -> - {deviceData, 'dec_KmeGetSystemDataReq_deviceData'(V1, [16])}; - - -%% 'trkExtGMember' - {131074, V1} -> - {trkExtGMember, 'dec_KmeGetSystemDataReq_trkExtGMember'(V1, [])}; - - -%% 'incomGMember' - {131075, V1} -> - {incomGMember, 'dec_KmeGetSystemDataReq_incomGMember'(V1, [])}; - - -%% 'deviceList' - {131076, V1} -> - {deviceList, 'dec_KmeRequestedDevice'(V1, [])}; - - -%% 'vmGMember' - {131077, V1} -> - {vmGMember, 'CSTA-device-identifiers':'dec_DeviceID'(V1, [16])}; - - -%% 'speedDial' - {131078, V1} -> - {speedDial, 'dec_KmeSpeedDialRequest'(V1, [16])}; - - -%% 'broadcastGMembers' - {131079, V1} -> - {broadcastGMembers, decode_integer(V1, [2])}; - - -%% 'guestCheckStatus' - {131080, V1} -> - {guestCheckStatus, 'CSTA-device-identifiers':'dec_DeviceID'(V1, [])}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. -'dec_KmeGetSystemDataReq_deviceData'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute device(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = 'CSTA-device-identifiers':'dec_DeviceID'(V1, [131072,16]), - -%%------------------------------------------------- -%% attribute sysData(2) with type CHOICE -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = 'dec_KmeGetSystemDataReq_deviceData_sysData'(V2, [131073]), - -case Tlv3 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowed -end, - {'KmeGetSystemDataReq_deviceData', Term1, Term2}. - -'dec_KmeGetSystemDataReq_deviceData_sysData'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'standardInfo' - {3, V1} -> - {standardInfo, decode_named_bit_string(V1, [{wakeUp,0},{remoteStatationLock,1},{callLogLock,2},{absentMessage,3},{forwardDnd,4},{cos,5},{phoneProperty,6},{assocIncomGroup,7},{messageWating,8},{assocExtGroup,9}], [])}; - - -%% 'extName' - {131073, V1} -> - {extName, decode_null(V1, [5])}; - - -%% 'fcoKey' - {131074, V1} -> - {fcoKey, decode_null(V1, [5])}; - - -%% 'sxdpMaster' - {131075, V1} -> - {sxdpMaster, decode_null(V1, [5])}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. -'dec_KmeGetSystemDataReq_trkExtGMember'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute groupNo(1) with type INTEGER -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = decode_integer(V1, [2]), - -%%------------------------------------------------- -%% attribute groupType(2) with type ENUMERATED -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = case decode_integer(V2, [10]) of -0 -> trunkGMembers; -1 -> extGMembers; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end, - -case Tlv3 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowed -end, - {'KmeGetSystemDataReq_trkExtGMember', Term1, Term2}. - -'dec_KmeGetSystemDataReq_incomGMember'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute groupNo(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = 'CSTA-device-identifiers':'dec_DeviceID'(V1, [16]), - -case Tlv2 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv2}}}) % extra fields not allowed -end, - {'KmeGetSystemDataReq_incomGMember', Term1}. - - - -%%================================ -%% KmeCleanUpStatus -%%================================ -'enc_KmeCleanUpStatus'(Val) -> - 'enc_KmeCleanUpStatus'(Val, [<<10>>]). - -'enc_KmeCleanUpStatus'(Val, TagIn) -> -case Val of -ready -> encode_tags(TagIn, [0], 1); -notReady -> encode_tags(TagIn, [1], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end. - - -'dec_KmeCleanUpStatus'(Tlv) -> - 'dec_KmeCleanUpStatus'(Tlv, [10]). - -'dec_KmeCleanUpStatus'(Tlv, TagIn) -> -case decode_integer(Tlv, TagIn) of -0 -> ready; -1 -> notReady; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end. - - - -%%================================ -%% KmeRoomStatus -%%================================ -'enc_KmeRoomStatus'(Val) -> - 'enc_KmeRoomStatus'(Val, [<<10>>]). - -'enc_KmeRoomStatus'(Val, TagIn) -> -case Val of -checkIn -> encode_tags(TagIn, [0], 1); -checkOut -> encode_tags(TagIn, [1], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end. - - -'dec_KmeRoomStatus'(Tlv) -> - 'dec_KmeRoomStatus'(Tlv, [10]). - -'dec_KmeRoomStatus'(Tlv, TagIn) -> -case decode_integer(Tlv, TagIn) of -0 -> checkIn; -1 -> checkOut; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end. - - - -%%================================ -%% KmeCheckStatusList -%%================================ -'enc_KmeCheckStatusList'(Val) -> - 'enc_KmeCheckStatusList'(Val, [<<48>>]). - -'enc_KmeCheckStatusList'(Val, TagIn) -> - {EncBytes,EncLen} = 'enc_KmeCheckStatusList_components'(Val,[],0), - encode_tags(TagIn, EncBytes, EncLen). - -'enc_KmeCheckStatusList_components'([], AccBytes, AccLen) -> - {lists:reverse(AccBytes),AccLen}; - -'enc_KmeCheckStatusList_components'([H|T],AccBytes, AccLen) -> - {EncBytes,EncLen} = 'enc_KmeCheckStatusList_SEQOF'(H, [<<48>>]), - 'enc_KmeCheckStatusList_components'(T,[EncBytes|AccBytes], AccLen + EncLen). - - - - -%%================================ -%% KmeCheckStatusList_SEQOF -%%================================ -'enc_KmeCheckStatusList_SEQOF'(Val, TagIn) -> - {_,Cindex1, Cindex2, Cindex3} = Val, - -%%------------------------------------------------- -%% attribute extNo(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- - {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(Cindex1, [<<48>>]), - -%%------------------------------------------------- -%% attribute status(2) with type ENUMERATED -%%------------------------------------------------- - {EncBytes2,EncLen2} = case Cindex2 of -checkIn -> encode_tags([<<10>>], [0], 1); -checkOut -> encode_tags([<<10>>], [1], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end, - -%%------------------------------------------------- -%% attribute cleanUpStatus(3) with type ENUMERATED OPTIONAL -%%------------------------------------------------- - {EncBytes3,EncLen3} = case Cindex3 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - case Cindex3 of -ready -> encode_tags([<<10>>], [0], 1); -notReady -> encode_tags([<<10>>], [1], 1); -Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) -end - end, - - BytesSoFar = [EncBytes1, EncBytes2, EncBytes3], -LenSoFar = EncLen1 + EncLen2 + EncLen3, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_KmeCheckStatusList'(Tlv) -> - 'dec_KmeCheckStatusList'(Tlv, [16]). - -'dec_KmeCheckStatusList'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), -['dec_KmeCheckStatusList_SEQOF'(V1, [16]) || V1 <- Tlv1]. - - -'dec_KmeCheckStatusList_SEQOF'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute extNo(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = 'CSTA-device-identifiers':'dec_DeviceID'(V1, [16]), - -%%------------------------------------------------- -%% attribute status(2) with type ENUMERATED -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = case decode_integer(V2, [10]) of -0 -> checkIn; -1 -> checkOut; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end, - -%%------------------------------------------------- -%% attribute cleanUpStatus(3) with type ENUMERATED OPTIONAL -%%------------------------------------------------- -{Term3,Tlv4} = case Tlv3 of -[{10,V3}|TempTlv4] -> - {case decode_integer(V3, []) of -0 -> ready; -1 -> notReady; -Default2 -> exit({error,{asn1,{illegal_enumerated,Default2}}}) -end, TempTlv4}; - _ -> - { asn1_NOVALUE, Tlv3} -end, - -case Tlv4 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv4}}}) % extra fields not allowed -end, - {'KmeCheckStatusList_SEQOF', Term1, Term2, Term3}. - - - -%%================================ -%% KmeHotelSrvEvt -%%================================ -'enc_KmeHotelSrvEvt'(Val) -> - 'enc_KmeHotelSrvEvt'(Val, []). - -'enc_KmeHotelSrvEvt'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - guestCheckIn -> - 'CSTA-device-identifiers':'enc_DeviceID'(element(2,Val), [<<160>>]); - guestCheckOut -> - 'CSTA-device-identifiers':'enc_DeviceID'(element(2,Val), [<<161>>]); - checkedIn -> - 'CSTA-device-identifiers':'enc_DeviceID'(element(2,Val), [<<162>>]); - checkedOut -> - 'CSTA-device-identifiers':'enc_DeviceID'(element(2,Val), [<<163>>]); - cleanUp -> - 'CSTA-device-identifiers':'enc_DeviceID'(element(2,Val), [<<164>>]); - cleanUpReady -> - 'CSTA-device-identifiers':'enc_DeviceID'(element(2,Val), [<<165>>]); - cleanUpNotReady -> - 'CSTA-device-identifiers':'enc_DeviceID'(element(2,Val), [<<166>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_KmeHotelSrvEvt'(Tlv) -> - 'dec_KmeHotelSrvEvt'(Tlv, []). - -'dec_KmeHotelSrvEvt'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'guestCheckIn' - {131072, V1} -> - {guestCheckIn, 'CSTA-device-identifiers':'dec_DeviceID'(V1, [])}; - - -%% 'guestCheckOut' - {131073, V1} -> - {guestCheckOut, 'CSTA-device-identifiers':'dec_DeviceID'(V1, [])}; - - -%% 'checkedIn' - {131074, V1} -> - {checkedIn, 'CSTA-device-identifiers':'dec_DeviceID'(V1, [])}; - - -%% 'checkedOut' - {131075, V1} -> - {checkedOut, 'CSTA-device-identifiers':'dec_DeviceID'(V1, [])}; - - -%% 'cleanUp' - {131076, V1} -> - {cleanUp, 'CSTA-device-identifiers':'dec_DeviceID'(V1, [])}; - - -%% 'cleanUpReady' - {131077, V1} -> - {cleanUpReady, 'CSTA-device-identifiers':'dec_DeviceID'(V1, [])}; - - -%% 'cleanUpNotReady' - {131078, V1} -> - {cleanUpNotReady, 'CSTA-device-identifiers':'dec_DeviceID'(V1, [])}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% KmePdnGMembers -%%================================ -'enc_KmePdnGMembers'(Val) -> - 'enc_KmePdnGMembers'(Val, [<<48>>]). - -'enc_KmePdnGMembers'(Val, TagIn) -> -{_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute groupDevice(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- - {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(Cindex1, [<<160>>]), - -%%------------------------------------------------- -%% attribute members(2) with type SEQUENCE OF -%%------------------------------------------------- - {EncBytes2,EncLen2} = 'enc_KmePdnGMembers_members'(Cindex2, [<<161>>]), - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - - -%%================================ -%% KmePdnGMembers_members -%%================================ -'enc_KmePdnGMembers_members'(Val, TagIn) -> - {EncBytes,EncLen} = 'enc_KmePdnGMembers_members_components'(Val,[],0), - encode_tags(TagIn, EncBytes, EncLen). - -'enc_KmePdnGMembers_members_components'([], AccBytes, AccLen) -> - {lists:reverse(AccBytes),AccLen}; - -'enc_KmePdnGMembers_members_components'([H|T],AccBytes, AccLen) -> - {EncBytes,EncLen} = 'CSTA-device-identifiers':'enc_DeviceID'(H, [<<48>>]), - 'enc_KmePdnGMembers_members_components'(T,[EncBytes|AccBytes], AccLen + EncLen). - - - -'dec_KmePdnGMembers'(Tlv) -> - 'dec_KmePdnGMembers'(Tlv, [16]). - -'dec_KmePdnGMembers'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute groupDevice(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = 'CSTA-device-identifiers':'dec_DeviceID'(V1, [131072]), - -%%------------------------------------------------- -%% attribute members(2) with type SEQUENCE OF -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = 'dec_KmePdnGMembers_members'(V2, [131073]), - -case Tlv3 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowed -end, - {'KmePdnGMembers', Term1, Term2}. - -'dec_KmePdnGMembers_members'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), -['CSTA-device-identifiers':'dec_DeviceID'(V1, [16]) || V1 <- Tlv1]. - - - - -%%================================ -%% KmeDeviceDataList -%%================================ -'enc_KmeDeviceDataList'(Val) -> - 'enc_KmeDeviceDataList'(Val, [<<48>>]). - -'enc_KmeDeviceDataList'(Val, TagIn) -> - {EncBytes,EncLen} = 'enc_KmeDeviceDataList_components'(Val,[],0), - encode_tags(TagIn, EncBytes, EncLen). - -'enc_KmeDeviceDataList_components'([], AccBytes, AccLen) -> - {lists:reverse(AccBytes),AccLen}; - -'enc_KmeDeviceDataList_components'([H|T],AccBytes, AccLen) -> - {EncBytes,EncLen} = 'enc_KmeDeviceDataList_SEQOF'(H, [<<48>>]), - 'enc_KmeDeviceDataList_components'(T,[EncBytes|AccBytes], AccLen + EncLen). - - - - -%%================================ -%% KmeDeviceDataList_SEQOF -%%================================ -'enc_KmeDeviceDataList_SEQOF'(Val, TagIn) -> - {_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute device(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- - {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(Cindex1, [<<48>>,<<160>>]), - -%%------------------------------------------------- -%% attribute sysData(2) with type CHOICE -%%------------------------------------------------- - {EncBytes2,EncLen2} = 'enc_KmeDeviceDataList_SEQOF_sysData'(Cindex2, [<<161>>]), - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - - -%%================================ -%% KmeDeviceDataList_SEQOF_sysData -%%================================ -'enc_KmeDeviceDataList_SEQOF_sysData'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - standardInfo -> - 'enc_KmeDeviceDataList_SEQOF_sysData_standardInfo'(element(2,Val), [<<48>>]); - extName -> - 'enc_KmeExtName'(element(2,Val), [<<191,41>>]); - fcoKeyList -> - 'enc_KmeFcoKeyList'(element(2,Val), [<<48>>,<<191,44>>]); - sxdpMaster -> - 'CSTA-device-identifiers':'enc_DeviceID'(element(2,Val), [<<48>>,<<191,45>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - - -%%================================ -%% KmeDeviceDataList_SEQOF_sysData_standardInfo -%%================================ -'enc_KmeDeviceDataList_SEQOF_sysData_standardInfo'(Val, TagIn) -> - {_,Cindex1, Cindex2, Cindex3, Cindex4, Cindex5, Cindex6, Cindex7, Cindex8, Cindex9, Cindex10} = Val, - -%%------------------------------------------------- -%% attribute wakeUp(1) External kme:KmeWakeUpInfo OPTIONAL -%%------------------------------------------------- - {EncBytes1,EncLen1} = case Cindex1 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmeWakeUpInfo'(Cindex1, [<<48>>,<<169>>]) - end, - -%%------------------------------------------------- -%% attribute remoteLock(2) with type ENUMERATED OPTIONAL -%%------------------------------------------------- - {EncBytes2,EncLen2} = case Cindex2 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - case Cindex2 of -lock -> encode_tags([<<10>>,<<170>>], [0], 1); -unlock -> encode_tags([<<10>>,<<170>>], [1], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end - end, - -%%------------------------------------------------- -%% attribute callLogLock(3) with type ENUMERATED OPTIONAL -%%------------------------------------------------- - {EncBytes3,EncLen3} = case Cindex3 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - case Cindex3 of -lock -> encode_tags([<<10>>,<<171>>], [0], 1); -unlock -> encode_tags([<<10>>,<<171>>], [1], 1); -Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) -end - end, - -%%------------------------------------------------- -%% attribute absentMessage(4) External kme:KmeAbsentMessage OPTIONAL -%%------------------------------------------------- - {EncBytes4,EncLen4} = case Cindex4 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmeAbsentMessage'(Cindex4, [<<172>>]) - end, - -%%------------------------------------------------- -%% attribute forwardDnd(5) External CSTA-device-feature-types:ForwardList OPTIONAL -%%------------------------------------------------- - {EncBytes5,EncLen5} = case Cindex5 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'CSTA-device-feature-types':'enc_ForwardList'(Cindex5, [<<48>>,<<173>>]) - end, - -%%------------------------------------------------- -%% attribute cos(6) with type INTEGER OPTIONAL -%%------------------------------------------------- - {EncBytes6,EncLen6} = case Cindex6 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_integer(Cindex6, [<<2>>,<<191,34>>]) - end, - -%%------------------------------------------------- -%% attribute phoneProperty(7) External kme:KmePhoneProperty OPTIONAL -%%------------------------------------------------- - {EncBytes7,EncLen7} = case Cindex7 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmePhoneProperty'(Cindex7, [<<48>>,<<191,35>>]) - end, - -%%------------------------------------------------- -%% attribute assocIncomGroup(8) with type BIT STRING OPTIONAL -%%------------------------------------------------- - {EncBytes8,EncLen8} = case Cindex8 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_named_bit_string(Cindex8, [{one,0},{two,1},{three,2},{four,3},{five,4},{six,5},{seven,6},{eight,7},{nine,8},{ten,9},{eleven,10},{twelve,11},{thirteen,12},{fourteen,13},{fifteen,14},{sixteen,15},{seventeen,16},{eighteen,17},{nineteen,18},{twenty,19},{twentyOne,20},{twentyTwo,21},{twentyThree,22},{twentyFour,23},{twentyFive,24},{twentySix,25},{twentySeven,26},{twentyEight,27},{twentyNine,28},{thirty,29},{thirtyOne,30},{thirtyTwo,31},{thirtyThree,32},{thirtyFour,33},{thirtyFive,34},{thirtySix,35},{thirtySeven,36},{thirtyEight,37},{thirtyNine,38},{fourty,39},{fourtyOne,40},{fourtyTwo,41},{fourtyThree,42},{fourtyFour,43},{fourtyFive,44},{fourtySix,45},{fourtySeven,46},{fourtyEight,47},{fourtyNine,48},{fifty,49},{fiftyOne,50},{fiftyTwo,51},{fiftyThree,52},{fiftyFour,53},{fiftyFive,54},{fiftySix,55},{fiftySeven,56},{fiftyEight,57},{fiftyNine,58},{sixty,59},{sixtyOne,60},{sixtyTwo,61},{sixtyThree,62},{sixtyFour,63},{sixtyFive,64},{sixtySix,65},{sixtySeven,66},{sixtyEight,67},{sixtyNine,68},{seventy,69},{seventyOne,70},{seventyTwo,71},{seventyThree,72},{seventyFour,73},{seventyFive,74},{seventySix,75},{seventySeven,76},{seventyEight,77},{seventyNine,78},{eighty,79},{eightyOne,80},{eightyTwo,81},{eightyThree,82},{eightyFour,83},{eightyFive,84},{eightySix,85},{eightySeven,86},{eightyEight,87},{eightyNine,88},{ninety,89},{ninetyOne,90},{ninetyTwo,91},{ninetyThree,92},{ninetyFour,93},{ninetyFive,94},{ninetySix,95},{ninetySeven,96},{ninetyEight,97},{ninetyNine,98},{oneHundred,99},{oneHundredOne,100},{oneHundredTwo,101},{oneHundredThree,102},{oneHundredFour,103},{oneHundredFive,104},{oneHundredSix,105},{oneHundredSeven,106},{oneHundredEitht,107},{oneHundredNine,108},{oneHundredTen,109},{oneHundredEleven,110},{oneHundredTwelve,111},{oneHundredThirteen,112},{oneHundredFourteen,113},{oneHundredFifteen,114},{oneHundredSixteen,115},{oneHundredSeventeen,116},{oneHundredEithteen,117},{oneHundredNineteen,118},{oneHundredTwenty,119},{oneHundredTwentyOne,120},{oneHundredTwentyTwo,121},{oneHundredTwentyThree,122},{oneHundredTwentyFour,123},{oneHundredTwentyFive,124},{oneHundredTwentySix,125},{oneHundredTwentySeven,126},{oneHundredTwentyEight,127}], [<<3>>,<<191,36>>]) - end, - -%%------------------------------------------------- -%% attribute messageWaiting(9) with type SEQUENCE OF OPTIONAL -%%------------------------------------------------- - {EncBytes9,EncLen9} = case Cindex9 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmeDeviceDataList_SEQOF_sysData_standardInfo_messageWaiting'(Cindex9, [<<48>>,<<191,37>>]) - end, - -%%------------------------------------------------- -%% attribute assocExtGroup(10) with type INTEGER OPTIONAL -%%------------------------------------------------- - {EncBytes10,EncLen10} = case Cindex10 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_integer(Cindex10, [<<2>>,<<191,39>>]) - end, - - BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4, EncBytes5, EncBytes6, EncBytes7, EncBytes8, EncBytes9, EncBytes10], -LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4 + EncLen5 + EncLen6 + EncLen7 + EncLen8 + EncLen9 + EncLen10, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - - -%%================================ -%% KmeDeviceDataList_SEQOF_sysData_standardInfo_messageWaiting -%%================================ -'enc_KmeDeviceDataList_SEQOF_sysData_standardInfo_messageWaiting'(Val, TagIn) -> - {EncBytes,EncLen} = 'enc_KmeDeviceDataList_SEQOF_sysData_standardInfo_messageWaiting_components'(Val,[],0), - encode_tags(TagIn, EncBytes, EncLen). - -'enc_KmeDeviceDataList_SEQOF_sysData_standardInfo_messageWaiting_components'([], AccBytes, AccLen) -> - {lists:reverse(AccBytes),AccLen}; - -'enc_KmeDeviceDataList_SEQOF_sysData_standardInfo_messageWaiting_components'([H|T],AccBytes, AccLen) -> - {EncBytes,EncLen} = 'CSTA-device-identifiers':'enc_DeviceID'(H, [<<48>>]), - 'enc_KmeDeviceDataList_SEQOF_sysData_standardInfo_messageWaiting_components'(T,[EncBytes|AccBytes], AccLen + EncLen). - - - -'dec_KmeDeviceDataList'(Tlv) -> - 'dec_KmeDeviceDataList'(Tlv, [16]). - -'dec_KmeDeviceDataList'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), -['dec_KmeDeviceDataList_SEQOF'(V1, [16]) || V1 <- Tlv1]. - - -'dec_KmeDeviceDataList_SEQOF'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute device(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = 'CSTA-device-identifiers':'dec_DeviceID'(V1, [131072,16]), - -%%------------------------------------------------- -%% attribute sysData(2) with type CHOICE -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = 'dec_KmeDeviceDataList_SEQOF_sysData'(V2, [131073]), - -case Tlv3 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowed -end, - {'KmeDeviceDataList_SEQOF', Term1, Term2}. - -'dec_KmeDeviceDataList_SEQOF_sysData'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'standardInfo' - {16, V1} -> - {standardInfo, 'dec_KmeDeviceDataList_SEQOF_sysData_standardInfo'(V1, [])}; - - -%% 'extName' - {131113, V1} -> - {extName, 'dec_KmeExtName'(V1, [])}; - - -%% 'fcoKeyList' - {131116, V1} -> - {fcoKeyList, 'dec_KmeFcoKeyList'(V1, [16])}; - - -%% 'sxdpMaster' - {131117, V1} -> - {sxdpMaster, 'CSTA-device-identifiers':'dec_DeviceID'(V1, [16])}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. -'dec_KmeDeviceDataList_SEQOF_sysData_standardInfo'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute wakeUp(1) External kme:KmeWakeUpInfo OPTIONAL -%%------------------------------------------------- -{Term1,Tlv2} = case Tlv1 of -[{131081,V1}|TempTlv2] -> - {'dec_KmeWakeUpInfo'(V1, [16]), TempTlv2}; - _ -> - { asn1_NOVALUE, Tlv1} -end, - -%%------------------------------------------------- -%% attribute remoteLock(2) with type ENUMERATED OPTIONAL -%%------------------------------------------------- -{Term2,Tlv3} = case Tlv2 of -[{131082,V2}|TempTlv3] -> - {case decode_integer(V2, [10]) of -0 -> lock; -1 -> unlock; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end, TempTlv3}; - _ -> - { asn1_NOVALUE, Tlv2} -end, - -%%------------------------------------------------- -%% attribute callLogLock(3) with type ENUMERATED OPTIONAL -%%------------------------------------------------- -{Term3,Tlv4} = case Tlv3 of -[{131083,V3}|TempTlv4] -> - {case decode_integer(V3, [10]) of -0 -> lock; -1 -> unlock; -Default2 -> exit({error,{asn1,{illegal_enumerated,Default2}}}) -end, TempTlv4}; - _ -> - { asn1_NOVALUE, Tlv3} -end, - -%%------------------------------------------------- -%% attribute absentMessage(4) External kme:KmeAbsentMessage OPTIONAL -%%------------------------------------------------- -{Term4,Tlv5} = case Tlv4 of -[{131084,V4}|TempTlv5] -> - {'dec_KmeAbsentMessage'(V4, []), TempTlv5}; - _ -> - { asn1_NOVALUE, Tlv4} -end, - -%%------------------------------------------------- -%% attribute forwardDnd(5) External CSTA-device-feature-types:ForwardList OPTIONAL -%%------------------------------------------------- -{Term5,Tlv6} = case Tlv5 of -[{131085,V5}|TempTlv6] -> - {'CSTA-device-feature-types':'dec_ForwardList'(V5, [16]), TempTlv6}; - _ -> - { asn1_NOVALUE, Tlv5} -end, - -%%------------------------------------------------- -%% attribute cos(6) with type INTEGER OPTIONAL -%%------------------------------------------------- -{Term6,Tlv7} = case Tlv6 of -[{131106,V6}|TempTlv7] -> - {decode_integer(V6, [2]), TempTlv7}; - _ -> - { asn1_NOVALUE, Tlv6} -end, - -%%------------------------------------------------- -%% attribute phoneProperty(7) External kme:KmePhoneProperty OPTIONAL -%%------------------------------------------------- -{Term7,Tlv8} = case Tlv7 of -[{131107,V7}|TempTlv8] -> - {'dec_KmePhoneProperty'(V7, [16]), TempTlv8}; - _ -> - { asn1_NOVALUE, Tlv7} -end, - -%%------------------------------------------------- -%% attribute assocIncomGroup(8) with type BIT STRING OPTIONAL -%%------------------------------------------------- -{Term8,Tlv9} = case Tlv8 of -[{131108,V8}|TempTlv9] -> - {decode_named_bit_string(V8, [{one,0},{two,1},{three,2},{four,3},{five,4},{six,5},{seven,6},{eight,7},{nine,8},{ten,9},{eleven,10},{twelve,11},{thirteen,12},{fourteen,13},{fifteen,14},{sixteen,15},{seventeen,16},{eighteen,17},{nineteen,18},{twenty,19},{twentyOne,20},{twentyTwo,21},{twentyThree,22},{twentyFour,23},{twentyFive,24},{twentySix,25},{twentySeven,26},{twentyEight,27},{twentyNine,28},{thirty,29},{thirtyOne,30},{thirtyTwo,31},{thirtyThree,32},{thirtyFour,33},{thirtyFive,34},{thirtySix,35},{thirtySeven,36},{thirtyEight,37},{thirtyNine,38},{fourty,39},{fourtyOne,40},{fourtyTwo,41},{fourtyThree,42},{fourtyFour,43},{fourtyFive,44},{fourtySix,45},{fourtySeven,46},{fourtyEight,47},{fourtyNine,48},{fifty,49},{fiftyOne,50},{fiftyTwo,51},{fiftyThree,52},{fiftyFour,53},{fiftyFive,54},{fiftySix,55},{fiftySeven,56},{fiftyEight,57},{fiftyNine,58},{sixty,59},{sixtyOne,60},{sixtyTwo,61},{sixtyThree,62},{sixtyFour,63},{sixtyFive,64},{sixtySix,65},{sixtySeven,66},{sixtyEight,67},{sixtyNine,68},{seventy,69},{seventyOne,70},{seventyTwo,71},{seventyThree,72},{seventyFour,73},{seventyFive,74},{seventySix,75},{seventySeven,76},{seventyEight,77},{seventyNine,78},{eighty,79},{eightyOne,80},{eightyTwo,81},{eightyThree,82},{eightyFour,83},{eightyFive,84},{eightySix,85},{eightySeven,86},{eightyEight,87},{eightyNine,88},{ninety,89},{ninetyOne,90},{ninetyTwo,91},{ninetyThree,92},{ninetyFour,93},{ninetyFive,94},{ninetySix,95},{ninetySeven,96},{ninetyEight,97},{ninetyNine,98},{oneHundred,99},{oneHundredOne,100},{oneHundredTwo,101},{oneHundredThree,102},{oneHundredFour,103},{oneHundredFive,104},{oneHundredSix,105},{oneHundredSeven,106},{oneHundredEitht,107},{oneHundredNine,108},{oneHundredTen,109},{oneHundredEleven,110},{oneHundredTwelve,111},{oneHundredThirteen,112},{oneHundredFourteen,113},{oneHundredFifteen,114},{oneHundredSixteen,115},{oneHundredSeventeen,116},{oneHundredEithteen,117},{oneHundredNineteen,118},{oneHundredTwenty,119},{oneHundredTwentyOne,120},{oneHundredTwentyTwo,121},{oneHundredTwentyThree,122},{oneHundredTwentyFour,123},{oneHundredTwentyFive,124},{oneHundredTwentySix,125},{oneHundredTwentySeven,126},{oneHundredTwentyEight,127}], [3]), TempTlv9}; - _ -> - { asn1_NOVALUE, Tlv8} -end, - -%%------------------------------------------------- -%% attribute messageWaiting(9) with type SEQUENCE OF OPTIONAL -%%------------------------------------------------- -{Term9,Tlv10} = case Tlv9 of -[{131109,V9}|TempTlv10] -> - {'dec_KmeDeviceDataList_SEQOF_sysData_standardInfo_messageWaiting'(V9, [16]), TempTlv10}; - _ -> - { asn1_NOVALUE, Tlv9} -end, - -%%------------------------------------------------- -%% attribute assocExtGroup(10) with type INTEGER OPTIONAL -%%------------------------------------------------- -{Term10,Tlv11} = case Tlv10 of -[{131111,V10}|TempTlv11] -> - {decode_integer(V10, [2]), TempTlv11}; - _ -> - { asn1_NOVALUE, Tlv10} -end, - -case Tlv11 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv11}}}) % extra fields not allowed -end, - {'KmeDeviceDataList_SEQOF_sysData_standardInfo', Term1, Term2, Term3, Term4, Term5, Term6, Term7, Term8, Term9, Term10}. - -'dec_KmeDeviceDataList_SEQOF_sysData_standardInfo_messageWaiting'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), -['CSTA-device-identifiers':'dec_DeviceID'(V1, [16]) || V1 <- Tlv1]. - - - - -%%================================ -%% IfVersion -%%================================ -'enc_IfVersion'(Val) -> - 'enc_IfVersion'(Val, [<<10>>]). - -'enc_IfVersion'(Val, TagIn) -> -case Val of -version0 -> encode_tags(TagIn, [0], 1); -version1 -> encode_tags(TagIn, [1], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end. - - -'dec_IfVersion'(Tlv) -> - 'dec_IfVersion'(Tlv, [10]). - -'dec_IfVersion'(Tlv, TagIn) -> -case decode_integer(Tlv, TagIn) of -0 -> version0; -1 -> version1; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end. - - - -%%================================ -%% KmeIfAltered -%%================================ -'enc_KmeIfAltered'(Val) -> - 'enc_KmeIfAltered'(Val, [<<10>>]). - -'enc_KmeIfAltered'(Val, TagIn) -> -case Val of -version0 -> encode_tags(TagIn, [0], 1); -version1 -> encode_tags(TagIn, [1], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end. - - -'dec_KmeIfAltered'(Tlv) -> - 'dec_KmeIfAltered'(Tlv, [10]). - -'dec_KmeIfAltered'(Tlv, TagIn) -> -case decode_integer(Tlv, TagIn) of -0 -> version0; -1 -> version1; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end. - - - -%%================================ -%% KmeAlterIf -%%================================ -'enc_KmeAlterIf'(Val) -> - 'enc_KmeAlterIf'(Val, [<<10>>]). - -'enc_KmeAlterIf'(Val, TagIn) -> -case Val of -version0 -> encode_tags(TagIn, [0], 1); -version1 -> encode_tags(TagIn, [1], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end. - - -'dec_KmeAlterIf'(Tlv) -> - 'dec_KmeAlterIf'(Tlv, [10]). - -'dec_KmeAlterIf'(Tlv, TagIn) -> -case decode_integer(Tlv, TagIn) of -0 -> version0; -1 -> version1; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end. - - - -%%================================ -%% KmeAlterIfSrvEvt -%%================================ -'enc_KmeAlterIfSrvEvt'(Val) -> - 'enc_KmeAlterIfSrvEvt'(Val, []). - -'enc_KmeAlterIfSrvEvt'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - alterIf -> - case element(2,Val) of -version0 -> encode_tags([<<10>>,<<160>>], [0], 1); -version1 -> encode_tags([<<10>>,<<160>>], [1], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end; - ifAltered -> - case element(2,Val) of -version0 -> encode_tags([<<10>>,<<161>>], [0], 1); -version1 -> encode_tags([<<10>>,<<161>>], [1], 1); -Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) -end; - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_KmeAlterIfSrvEvt'(Tlv) -> - 'dec_KmeAlterIfSrvEvt'(Tlv, []). - -'dec_KmeAlterIfSrvEvt'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'alterIf' - {131072, V1} -> - {alterIf, case decode_integer(V1, [10]) of -0 -> version0; -1 -> version1; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end}; - - -%% 'ifAltered' - {131073, V1} -> - {ifAltered, case decode_integer(V1, [10]) of -0 -> version0; -1 -> version1; -Default2 -> exit({error,{asn1,{illegal_enumerated,Default2}}}) -end}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% KmeBroadcastGrpMembers -%%================================ -'enc_KmeBroadcastGrpMembers'(Val) -> - 'enc_KmeBroadcastGrpMembers'(Val, [<<48>>]). - -'enc_KmeBroadcastGrpMembers'(Val, TagIn) -> -{_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute groupNo(1) with type INTEGER -%%------------------------------------------------- - {EncBytes1,EncLen1} = encode_integer(Cindex1, [<<2>>,<<160>>]), - -%%------------------------------------------------- -%% attribute members(2) with type SEQUENCE OF -%%------------------------------------------------- - {EncBytes2,EncLen2} = 'enc_KmeBroadcastGrpMembers_members'(Cindex2, [<<161>>]), - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - - -%%================================ -%% KmeBroadcastGrpMembers_members -%%================================ -'enc_KmeBroadcastGrpMembers_members'(Val, TagIn) -> - {EncBytes,EncLen} = 'enc_KmeBroadcastGrpMembers_members_components'(Val,[],0), - encode_tags(TagIn, EncBytes, EncLen). - -'enc_KmeBroadcastGrpMembers_members_components'([], AccBytes, AccLen) -> - {lists:reverse(AccBytes),AccLen}; - -'enc_KmeBroadcastGrpMembers_members_components'([H|T],AccBytes, AccLen) -> - {EncBytes,EncLen} = 'CSTA-device-identifiers':'enc_DeviceID'(H, [<<48>>]), - 'enc_KmeBroadcastGrpMembers_members_components'(T,[EncBytes|AccBytes], AccLen + EncLen). - - - -'dec_KmeBroadcastGrpMembers'(Tlv) -> - 'dec_KmeBroadcastGrpMembers'(Tlv, [16]). - -'dec_KmeBroadcastGrpMembers'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute groupNo(1) with type INTEGER -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = decode_integer(V1, [131072,2]), - -%%------------------------------------------------- -%% attribute members(2) with type SEQUENCE OF -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = 'dec_KmeBroadcastGrpMembers_members'(V2, [131073]), - -case Tlv3 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowed -end, - {'KmeBroadcastGrpMembers', Term1, Term2}. - -'dec_KmeBroadcastGrpMembers_members'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), -['CSTA-device-identifiers':'dec_DeviceID'(V1, [16]) || V1 <- Tlv1]. - - - - -%%================================ -%% KmeBroadcastGroupList -%%================================ -'enc_KmeBroadcastGroupList'(Val) -> - 'enc_KmeBroadcastGroupList'(Val, [<<48>>]). - -'enc_KmeBroadcastGroupList'(Val, TagIn) -> - {EncBytes,EncLen} = 'enc_KmeBroadcastGroupList_components'(Val,[],0), - encode_tags(TagIn, EncBytes, EncLen). - -'enc_KmeBroadcastGroupList_components'([], AccBytes, AccLen) -> - {lists:reverse(AccBytes),AccLen}; - -'enc_KmeBroadcastGroupList_components'([H|T],AccBytes, AccLen) -> - {EncBytes,EncLen} = 'enc_KmeBroadcastGroupList_SEQOF'(H, [<<48>>]), - 'enc_KmeBroadcastGroupList_components'(T,[EncBytes|AccBytes], AccLen + EncLen). - - - - -%%================================ -%% KmeBroadcastGroupList_SEQOF -%%================================ -'enc_KmeBroadcastGroupList_SEQOF'(Val, TagIn) -> - {_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute groupNo(1) with type INTEGER -%%------------------------------------------------- - {EncBytes1,EncLen1} = encode_integer(Cindex1, [<<2>>]), - -%%------------------------------------------------- -%% attribute name(2) External kme:KmeExtName OPTIONAL -%%------------------------------------------------- - {EncBytes2,EncLen2} = case Cindex2 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmeExtName'(Cindex2, []) - end, - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_KmeBroadcastGroupList'(Tlv) -> - 'dec_KmeBroadcastGroupList'(Tlv, [16]). - -'dec_KmeBroadcastGroupList'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), -['dec_KmeBroadcastGroupList_SEQOF'(V1, [16]) || V1 <- Tlv1]. - - -'dec_KmeBroadcastGroupList_SEQOF'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute groupNo(1) with type INTEGER -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = decode_integer(V1, [2]), - -%%------------------------------------------------- -%% attribute name(2) External kme:KmeExtName OPTIONAL -%%------------------------------------------------- -{Term2,Tlv3} = case Tlv2 of -[V2 = {131072,_}|TempTlv3] -> - {'dec_KmeExtName'(V2, []), TempTlv3}; -[V2 = {131073,_}|TempTlv3] -> - {'dec_KmeExtName'(V2, []), TempTlv3}; - _ -> - { asn1_NOVALUE, Tlv2} -end, - -case Tlv3 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowed -end, - {'KmeBroadcastGroupList_SEQOF', Term1, Term2}. - - - -%%================================ -%% CallMonitorEvent -%%================================ -'enc_CallMonitorEvent'(Val) -> - 'enc_CallMonitorEvent'(Val, [<<10>>]). - -'enc_CallMonitorEvent'(Val, TagIn) -> -case Val of -deviceCallStatus -> encode_tags(TagIn, [0], 1); -deviceLineStatus -> encode_tags(TagIn, [1], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end. - - -'dec_CallMonitorEvent'(Tlv) -> - 'dec_CallMonitorEvent'(Tlv, [10]). - -'dec_CallMonitorEvent'(Tlv, TagIn) -> -case decode_integer(Tlv, TagIn) of -0 -> deviceCallStatus; -1 -> deviceLineStatus; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end. - - - -%%================================ -%% KmeStopDeviceMonitor -%%================================ -'enc_KmeStopDeviceMonitor'(Val) -> - 'enc_KmeStopDeviceMonitor'(Val, [<<5>>]). - -'enc_KmeStopDeviceMonitor'(Val, TagIn) -> -encode_null(Val, TagIn). - - -'dec_KmeStopDeviceMonitor'(Tlv) -> - 'dec_KmeStopDeviceMonitor'(Tlv, [5]). - -'dec_KmeStopDeviceMonitor'(Tlv, TagIn) -> -decode_null(Tlv, TagIn). - - - -%%================================ -%% KmeStartDeviceMonitor -%%================================ -'enc_KmeStartDeviceMonitor'(Val) -> - 'enc_KmeStartDeviceMonitor'(Val, []). - -'enc_KmeStartDeviceMonitor'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - null -> - encode_null(element(2,Val), [<<5>>]); - event -> - case element(2,Val) of -deviceCallStatus -> encode_tags([<<10>>], [0], 1); -deviceLineStatus -> encode_tags([<<10>>], [1], 1); -Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) -end; - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_KmeStartDeviceMonitor'(Tlv) -> - 'dec_KmeStartDeviceMonitor'(Tlv, []). - -'dec_KmeStartDeviceMonitor'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'null' - {5, V1} -> - {null, decode_null(V1, [])}; - - -%% 'event' - {10, V1} -> - {event, case decode_integer(V1, []) of -0 -> deviceCallStatus; -1 -> deviceLineStatus; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% KmeLineStatusSegment -%%================================ -'enc_KmeLineStatusSegment'(Val) -> - 'enc_KmeLineStatusSegment'(Val, [<<10>>]). - -'enc_KmeLineStatusSegment'(Val, TagIn) -> -case Val of -wired1 -> encode_tags(TagIn, [0], 1); -wired2 -> encode_tags(TagIn, [1], 1); -wireless -> encode_tags(TagIn, [2], 1); -trunk -> encode_tags(TagIn, [3], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end. - - -'dec_KmeLineStatusSegment'(Tlv) -> - 'dec_KmeLineStatusSegment'(Tlv, [10]). - -'dec_KmeLineStatusSegment'(Tlv, TagIn) -> -case decode_integer(Tlv, TagIn) of -0 -> wired1; -1 -> wired2; -2 -> wireless; -3 -> trunk; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end. - - - -%%================================ -%% KmeLineStatus -%%================================ -'enc_KmeLineStatus'(Val) -> - 'enc_KmeLineStatus'(Val, [<<48>>]). - -'enc_KmeLineStatus'(Val, TagIn) -> -{_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute segmentId(1) with type ENUMERATED -%%------------------------------------------------- - {EncBytes1,EncLen1} = case Cindex1 of -wired1 -> encode_tags([<<10>>], [0], 1); -wired2 -> encode_tags([<<10>>], [1], 1); -wireless -> encode_tags([<<10>>], [2], 1); -trunk -> encode_tags([<<10>>], [3], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end, - -%%------------------------------------------------- -%% attribute lineInformation(2) with type OCTET STRING -%%------------------------------------------------- - {EncBytes2,EncLen2} = encode_restricted_string(Cindex2, [<<4>>]), - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_KmeLineStatus'(Tlv) -> - 'dec_KmeLineStatus'(Tlv, [16]). - -'dec_KmeLineStatus'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute segmentId(1) with type ENUMERATED -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = case decode_integer(V1, [10]) of -0 -> wired1; -1 -> wired2; -2 -> wireless; -3 -> trunk; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end, - -%%------------------------------------------------- -%% attribute lineInformation(2) with type OCTET STRING -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = begin -Val1 = decode_octet_string(V2, [4]), -C1 = byte_size(Val1), -if 0 =< C1, C1 =< 384 -> -Val1; -true -> -exit({error,{asn1,bad_range}}) -end -end, - -case Tlv3 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowed -end, - {'KmeLineStatus', Term1, Term2}. - - - -%%================================ -%% KmeDeviceServiceStatus -%%================================ -'enc_KmeDeviceServiceStatus'(Val) -> - 'enc_KmeDeviceServiceStatus'(Val, [<<48>>]). - -'enc_KmeDeviceServiceStatus'(Val, TagIn) -> -{_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute source(1) with type CHOICE -%%------------------------------------------------- - {EncBytes1,EncLen1} = 'enc_KmeDeviceServiceStatus_source'(Cindex1, [<<160>>]), - -%%------------------------------------------------- -%% attribute status(2) with type ENUMERATED -%%------------------------------------------------- - {EncBytes2,EncLen2} = case Cindex2 of -ous -> encode_tags([<<10>>,<<161>>], [0], 1); -ins -> encode_tags([<<10>>,<<161>>], [1], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end, - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - - -%%================================ -%% KmeDeviceServiceStatus_source -%%================================ -'enc_KmeDeviceServiceStatus_source'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - device -> - 'CSTA-device-identifiers':'enc_DeviceID'(element(2,Val), [<<48>>,<<160>>]); - cabinet -> - encode_integer(element(2,Val), [<<2>>,<<161>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_KmeDeviceServiceStatus'(Tlv) -> - 'dec_KmeDeviceServiceStatus'(Tlv, [16]). - -'dec_KmeDeviceServiceStatus'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute source(1) with type CHOICE -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = 'dec_KmeDeviceServiceStatus_source'(V1, [131072]), - -%%------------------------------------------------- -%% attribute status(2) with type ENUMERATED -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = case decode_integer(V2, [131073,10]) of -0 -> ous; -1 -> ins; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end, - -case Tlv3 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowed -end, - {'KmeDeviceServiceStatus', Term1, Term2}. - -'dec_KmeDeviceServiceStatus_source'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'device' - {131072, V1} -> - {device, 'CSTA-device-identifiers':'dec_DeviceID'(V1, [16])}; - - -%% 'cabinet' - {131073, V1} -> - {cabinet, decode_integer(V1, [2])}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% KmeDeviceCallStatus -%%================================ -'enc_KmeDeviceCallStatus'(Val) -> - 'enc_KmeDeviceCallStatus'(Val, [<<48>>]). - -'enc_KmeDeviceCallStatus'(Val, TagIn) -> - {EncBytes,EncLen} = 'enc_KmeDeviceCallStatus_components'(Val,[],0), - encode_tags(TagIn, EncBytes, EncLen). - -'enc_KmeDeviceCallStatus_components'([], AccBytes, AccLen) -> - {lists:reverse(AccBytes),AccLen}; - -'enc_KmeDeviceCallStatus_components'([H|T],AccBytes, AccLen) -> - {EncBytes,EncLen} = 'enc_KmeDeviceCallStatus_SEQOF'(H, [<<48>>]), - 'enc_KmeDeviceCallStatus_components'(T,[EncBytes|AccBytes], AccLen + EncLen). - - - - -%%================================ -%% KmeDeviceCallStatus_SEQOF -%%================================ -'enc_KmeDeviceCallStatus_SEQOF'(Val, TagIn) -> - {_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute device(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- - {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(Cindex1, [<<48>>,<<160>>]), - -%%------------------------------------------------- -%% attribute status(2) with type CHOICE -%%------------------------------------------------- - {EncBytes2,EncLen2} = 'enc_KmeDeviceCallStatus_SEQOF_status'(Cindex2, [<<161>>]), - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - - -%%================================ -%% KmeDeviceCallStatus_SEQOF_status -%%================================ -'enc_KmeDeviceCallStatus_SEQOF_status'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - lineStatus -> - case element(2,Val) of -idle -> encode_tags([<<10>>,<<160>>], [0], 1); -ring -> encode_tags([<<10>>,<<160>>], [1], 1); -busy -> encode_tags([<<10>>,<<160>>], [2], 1); -hold -> encode_tags([<<10>>,<<160>>], [3], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end; - parkStatus -> - 'enc_KmeDeviceCallStatus_SEQOF_status_parkStatus'(element(2,Val), [<<48>>,<<161>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - - -%%================================ -%% KmeDeviceCallStatus_SEQOF_status_parkStatus -%%================================ -'enc_KmeDeviceCallStatus_SEQOF_status_parkStatus'(Val, TagIn) -> - {_,Cindex1, Cindex2, Cindex3} = Val, - -%%------------------------------------------------- -%% attribute area(1) with type INTEGER -%%------------------------------------------------- - {EncBytes1,EncLen1} = encode_integer(Cindex1, [<<2>>,<<160>>]), - -%%------------------------------------------------- -%% attribute call(2) with type OCTET STRING -%%------------------------------------------------- - {EncBytes2,EncLen2} = encode_restricted_string(Cindex2, [<<4>>,<<161>>]), - -%%------------------------------------------------- -%% attribute action(3) with type ENUMERATED -%%------------------------------------------------- - {EncBytes3,EncLen3} = case Cindex3 of -parkin -> encode_tags([<<10>>], [0], 1); -parkout -> encode_tags([<<10>>], [1], 1); -Enumval3 -> exit({error,{asn1, {enumerated_not_in_range,Enumval3}}}) -end, - - BytesSoFar = [EncBytes1, EncBytes2, EncBytes3], -LenSoFar = EncLen1 + EncLen2 + EncLen3, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_KmeDeviceCallStatus'(Tlv) -> - 'dec_KmeDeviceCallStatus'(Tlv, [16]). - -'dec_KmeDeviceCallStatus'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), -['dec_KmeDeviceCallStatus_SEQOF'(V1, [16]) || V1 <- Tlv1]. - - -'dec_KmeDeviceCallStatus_SEQOF'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute device(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = 'CSTA-device-identifiers':'dec_DeviceID'(V1, [131072,16]), - -%%------------------------------------------------- -%% attribute status(2) with type CHOICE -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = 'dec_KmeDeviceCallStatus_SEQOF_status'(V2, [131073]), - -case Tlv3 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowed -end, - {'KmeDeviceCallStatus_SEQOF', Term1, Term2}. - -'dec_KmeDeviceCallStatus_SEQOF_status'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'lineStatus' - {131072, V1} -> - {lineStatus, case decode_integer(V1, [10]) of -0 -> idle; -1 -> ring; -2 -> busy; -3 -> hold; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end}; - - -%% 'parkStatus' - {131073, V1} -> - {parkStatus, 'dec_KmeDeviceCallStatus_SEQOF_status_parkStatus'(V1, [16])}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. -'dec_KmeDeviceCallStatus_SEQOF_status_parkStatus'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute area(1) with type INTEGER -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = begin -Val1 = decode_integer(V1, [131072,2]), -if 0 =< Val1, Val1 =< 999 -> -Val1; -true -> -exit({error,{asn1,bad_range}}) -end -end, - -%%------------------------------------------------- -%% attribute call(2) with type OCTET STRING -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = decode_octet_string(V2, [131073,4]), - -%%------------------------------------------------- -%% attribute action(3) with type ENUMERATED -%%------------------------------------------------- -[V3|Tlv4] = Tlv3, -Term3 = case decode_integer(V3, [10]) of -0 -> parkin; -1 -> parkout; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end, - -case Tlv4 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv4}}}) % extra fields not allowed -end, - {'KmeDeviceCallStatus_SEQOF_status_parkStatus', Term1, Term2, Term3}. - - - -%%================================ -%% KmeDeviceAgentStatus -%%================================ -'enc_KmeDeviceAgentStatus'(Val) -> - 'enc_KmeDeviceAgentStatus'(Val, [<<48>>]). - -'enc_KmeDeviceAgentStatus'(Val, TagIn) -> -{_,Cindex1, Cindex2, Cindex3} = Val, - -%%------------------------------------------------- -%% attribute device(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- - {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(Cindex1, [<<48>>,<<160>>]), - -%%------------------------------------------------- -%% attribute status(2) with type ENUMERATED -%%------------------------------------------------- - {EncBytes2,EncLen2} = case Cindex2 of -logout -> encode_tags([<<10>>,<<161>>], [0], 1); -login -> encode_tags([<<10>>,<<161>>], [1], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end, - -%%------------------------------------------------- -%% attribute imcomingGroup(3) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- - {EncBytes3,EncLen3} = 'CSTA-device-identifiers':'enc_DeviceID'(Cindex3, [<<48>>,<<162>>]), - - BytesSoFar = [EncBytes1, EncBytes2, EncBytes3], -LenSoFar = EncLen1 + EncLen2 + EncLen3, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_KmeDeviceAgentStatus'(Tlv) -> - 'dec_KmeDeviceAgentStatus'(Tlv, [16]). - -'dec_KmeDeviceAgentStatus'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute device(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = 'CSTA-device-identifiers':'dec_DeviceID'(V1, [131072,16]), - -%%------------------------------------------------- -%% attribute status(2) with type ENUMERATED -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = case decode_integer(V2, [131073,10]) of -0 -> logout; -1 -> login; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end, - -%%------------------------------------------------- -%% attribute imcomingGroup(3) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- -[V3|Tlv4] = Tlv3, -Term3 = 'CSTA-device-identifiers':'dec_DeviceID'(V3, [131074,16]), - -case Tlv4 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv4}}}) % extra fields not allowed -end, - {'KmeDeviceAgentStatus', Term1, Term2, Term3}. - - - -%%================================ -%% KmePcRec -%%================================ -'enc_KmePcRec'(Val) -> - 'enc_KmePcRec'(Val, [<<48>>]). - -'enc_KmePcRec'(Val, TagIn) -> -{_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute connection(1) External CSTA-call-connection-identifiers:ConnectionID -%%------------------------------------------------- - {EncBytes1,EncLen1} = 'CSTA-call-connection-identifiers':'enc_ConnectionID'(Cindex1, [<<107>>]), - -%%------------------------------------------------- -%% attribute pcRecOn(2) with type BOOLEAN -%%------------------------------------------------- - {EncBytes2,EncLen2} = encode_boolean(Cindex2, [<<1>>]), - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_KmePcRec'(Tlv) -> - 'dec_KmePcRec'(Tlv, [16]). - -'dec_KmePcRec'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute connection(1) External CSTA-call-connection-identifiers:ConnectionID -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = 'CSTA-call-connection-identifiers':'dec_ConnectionID'(V1, [65547]), - -%%------------------------------------------------- -%% attribute pcRecOn(2) with type BOOLEAN -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = decode_boolean(V2, [1]), - -case Tlv3 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowed -end, - {'KmePcRec', Term1, Term2}. - - - -%%================================ -%% KmeCallBackInvoke -%%================================ -'enc_KmeCallBackInvoke'(Val) -> - 'enc_KmeCallBackInvoke'(Val, []). - -'enc_KmeCallBackInvoke'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - request -> - 'enc_KmeCallBackInvokeReq'(element(2,Val), [<<48>>]); - result -> - 'enc_KmeCallBackInvokeRsp'(element(2,Val), [<<107>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_KmeCallBackInvoke'(Tlv) -> - 'dec_KmeCallBackInvoke'(Tlv, []). - -'dec_KmeCallBackInvoke'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'request' - {16, V1} -> - {request, 'dec_KmeCallBackInvokeReq'(V1, [])}; - - -%% 'result' - {65547, V1} -> - {result, 'dec_KmeCallBackInvokeRsp'(V1, [])}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% CallBackNotification -%%================================ -'enc_CallBackNotification'(Val) -> - 'enc_CallBackNotification'(Val, [<<48>>]). - -'enc_CallBackNotification'(Val, TagIn) -> -{_,Cindex1, Cindex2, Cindex3, Cindex4} = Val, - -%%------------------------------------------------- -%% attribute callBackID(1) with type OCTET STRING -%%------------------------------------------------- - {EncBytes1,EncLen1} = encode_restricted_string(Cindex1, [<<4>>]), - -%%------------------------------------------------- -%% attribute prompted(2) with type BOOLEAN -%%------------------------------------------------- - {EncBytes2,EncLen2} = encode_boolean(Cindex2, [<<1>>]), - -%%------------------------------------------------- -%% attribute requestingDevice(3) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- - {EncBytes3,EncLen3} = 'CSTA-device-identifiers':'enc_DeviceID'(Cindex3, [<<48>>]), - -%%------------------------------------------------- -%% attribute targetDevice(4) External CSTA-device-identifiers:SubjectDeviceID -%%------------------------------------------------- - {EncBytes4,EncLen4} = 'CSTA-device-identifiers':'enc_SubjectDeviceID'(Cindex4, [<<99>>]), - - BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4], -LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_CallBackNotification'(Tlv) -> - 'dec_CallBackNotification'(Tlv, [16]). - -'dec_CallBackNotification'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute callBackID(1) with type OCTET STRING -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = begin -Val1 = decode_octet_string(V1, [4]), -C1 = byte_size(Val1), -if 0 =< C1, C1 =< 4 -> -Val1; -true -> -exit({error,{asn1,bad_range}}) -end -end, - -%%------------------------------------------------- -%% attribute prompted(2) with type BOOLEAN -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = decode_boolean(V2, [1]), - -%%------------------------------------------------- -%% attribute requestingDevice(3) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- -[V3|Tlv4] = Tlv3, -Term3 = 'CSTA-device-identifiers':'dec_DeviceID'(V3, [16]), - -%%------------------------------------------------- -%% attribute targetDevice(4) External CSTA-device-identifiers:SubjectDeviceID -%%------------------------------------------------- -[V4|Tlv5] = Tlv4, -Term4 = 'CSTA-device-identifiers':'dec_SubjectDeviceID'(V4, [65539]), - -case Tlv5 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv5}}}) % extra fields not allowed -end, - {'CallBackNotification', Term1, Term2, Term3, Term4}. - - - -%%================================ -%% KmeCallBackInvokeRsp -%%================================ -'enc_KmeCallBackInvokeRsp'(Val) -> - 'enc_KmeCallBackInvokeRsp'(Val, [<<107>>]). - -'enc_KmeCallBackInvokeRsp'(Val, TagIn) -> - 'CSTA-call-connection-identifiers':'enc_ConnectionID'(Val, TagIn). - - -'dec_KmeCallBackInvokeRsp'(Tlv) -> - 'dec_KmeCallBackInvokeRsp'(Tlv, [65547]). - -'dec_KmeCallBackInvokeRsp'(Tlv, TagIn) -> -'CSTA-call-connection-identifiers':'dec_ConnectionID'(Tlv, TagIn). - - - -%%================================ -%% KmeCallBackInvokeReq -%%================================ -'enc_KmeCallBackInvokeReq'(Val) -> - 'enc_KmeCallBackInvokeReq'(Val, [<<48>>]). - -'enc_KmeCallBackInvokeReq'(Val, TagIn) -> -{_,Cindex1, Cindex2, Cindex3} = Val, - -%%------------------------------------------------- -%% attribute callBackID(1) with type OCTET STRING -%%------------------------------------------------- - {EncBytes1,EncLen1} = encode_restricted_string(Cindex1, [<<4>>]), - -%%------------------------------------------------- -%% attribute requestingDevice(2) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- - {EncBytes2,EncLen2} = 'CSTA-device-identifiers':'enc_DeviceID'(Cindex2, [<<48>>]), - -%%------------------------------------------------- -%% attribute targetDevice(3) External CSTA-device-identifiers:DeviceID OPTIONAL -%%------------------------------------------------- - {EncBytes3,EncLen3} = case Cindex3 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'CSTA-device-identifiers':'enc_DeviceID'(Cindex3, [<<48>>]) - end, - - BytesSoFar = [EncBytes1, EncBytes2, EncBytes3], -LenSoFar = EncLen1 + EncLen2 + EncLen3, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_KmeCallBackInvokeReq'(Tlv) -> - 'dec_KmeCallBackInvokeReq'(Tlv, [16]). - -'dec_KmeCallBackInvokeReq'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute callBackID(1) with type OCTET STRING -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = begin -Val1 = decode_octet_string(V1, [4]), -C1 = byte_size(Val1), -if 0 =< C1, C1 =< 4 -> -Val1; -true -> -exit({error,{asn1,bad_range}}) -end -end, - -%%------------------------------------------------- -%% attribute requestingDevice(2) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = 'CSTA-device-identifiers':'dec_DeviceID'(V2, [16]), - -%%------------------------------------------------- -%% attribute targetDevice(3) External CSTA-device-identifiers:DeviceID OPTIONAL -%%------------------------------------------------- -{Term3,Tlv4} = case Tlv3 of -[{16,V3}|TempTlv4] -> - {'CSTA-device-identifiers':'dec_DeviceID'(V3, []), TempTlv4}; - _ -> - { asn1_NOVALUE, Tlv3} -end, - -case Tlv4 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv4}}}) % extra fields not allowed -end, - {'KmeCallBackInvokeReq', Term1, Term2, Term3}. - - - -%%================================ -%% KmeTwoWayRec -%%================================ -'enc_KmeTwoWayRec'(Val) -> - 'enc_KmeTwoWayRec'(Val, [<<48>>]). - -'enc_KmeTwoWayRec'(Val, TagIn) -> -{_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute connection(1) External CSTA-call-connection-identifiers:ConnectionID -%%------------------------------------------------- - {EncBytes1,EncLen1} = 'CSTA-call-connection-identifiers':'enc_ConnectionID'(Cindex1, [<<107>>]), - -%%------------------------------------------------- -%% attribute vmGroupExtNo(2) with type IA5String -%%------------------------------------------------- - {EncBytes2,EncLen2} = encode_restricted_string(Cindex2, [<<22>>]), - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_KmeTwoWayRec'(Tlv) -> - 'dec_KmeTwoWayRec'(Tlv, [16]). - -'dec_KmeTwoWayRec'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute connection(1) External CSTA-call-connection-identifiers:ConnectionID -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = 'CSTA-call-connection-identifiers':'dec_ConnectionID'(V1, [65547]), - -%%------------------------------------------------- -%% attribute vmGroupExtNo(2) with type IA5String -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = begin -Val1 = decode_restricted_string(V2, [22]), -C1 = byte_size(Val1), -if 1 =< C1, C1 =< 5 -> -binary_to_list(Val1); -true -> -exit({error,{asn1,bad_range}}) -end -end, - -case Tlv3 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowed -end, - {'KmeTwoWayRec', Term1, Term2}. - - - -%%================================ -%% KmeDoorOpen -%%================================ -'enc_KmeDoorOpen'(Val) -> - 'enc_KmeDoorOpen'(Val, [<<107>>]). - -'enc_KmeDoorOpen'(Val, TagIn) -> - 'CSTA-call-connection-identifiers':'enc_ConnectionID'(Val, TagIn). - - -'dec_KmeDoorOpen'(Tlv) -> - 'dec_KmeDoorOpen'(Tlv, [65547]). - -'dec_KmeDoorOpen'(Tlv, TagIn) -> -'CSTA-call-connection-identifiers':'dec_ConnectionID'(Tlv, TagIn). - - - -%%================================ -%% KmeTempTollChange -%%================================ -'enc_KmeTempTollChange'(Val) -> - 'enc_KmeTempTollChange'(Val, [<<48>>]). - -'enc_KmeTempTollChange'(Val, TagIn) -> -{_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute connection(1) External CSTA-call-connection-identifiers:ConnectionID -%%------------------------------------------------- - {EncBytes1,EncLen1} = 'CSTA-call-connection-identifiers':'enc_ConnectionID'(Cindex1, [<<107>>]), - -%%------------------------------------------------- -%% attribute tollLevel(2) with type INTEGER -%%------------------------------------------------- - {EncBytes2,EncLen2} = encode_integer(Cindex2, [<<2>>]), - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_KmeTempTollChange'(Tlv) -> - 'dec_KmeTempTollChange'(Tlv, [16]). - -'dec_KmeTempTollChange'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute connection(1) External CSTA-call-connection-identifiers:ConnectionID -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = 'CSTA-call-connection-identifiers':'dec_ConnectionID'(V1, [65547]), - -%%------------------------------------------------- -%% attribute tollLevel(2) with type INTEGER -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = decode_integer(V2, [2]), - -case Tlv3 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowed -end, - {'KmeTempTollChange', Term1, Term2}. - - - -%%================================ -%% KmeExternalFeatureAccess -%%================================ -'enc_KmeExternalFeatureAccess'(Val) -> - 'enc_KmeExternalFeatureAccess'(Val, [<<107>>]). - -'enc_KmeExternalFeatureAccess'(Val, TagIn) -> - 'CSTA-call-connection-identifiers':'enc_ConnectionID'(Val, TagIn). - - -'dec_KmeExternalFeatureAccess'(Tlv) -> - 'dec_KmeExternalFeatureAccess'(Tlv, [65547]). - -'dec_KmeExternalFeatureAccess'(Tlv, TagIn) -> -'CSTA-call-connection-identifiers':'dec_ConnectionID'(Tlv, TagIn). - - - -%%================================ -%% KmeInteruptCall -%%================================ -'enc_KmeInteruptCall'(Val) -> - 'enc_KmeInteruptCall'(Val, [<<107>>]). - -'enc_KmeInteruptCall'(Val, TagIn) -> - 'CSTA-call-connection-identifiers':'enc_ConnectionID'(Val, TagIn). - - -'dec_KmeInteruptCall'(Tlv) -> - 'dec_KmeInteruptCall'(Tlv, [65547]). - -'dec_KmeInteruptCall'(Tlv, TagIn) -> -'CSTA-call-connection-identifiers':'dec_ConnectionID'(Tlv, TagIn). - - - -%%================================ -%% KmeDndOverride -%%================================ -'enc_KmeDndOverride'(Val) -> - 'enc_KmeDndOverride'(Val, [<<107>>]). - -'enc_KmeDndOverride'(Val, TagIn) -> - 'CSTA-call-connection-identifiers':'enc_ConnectionID'(Val, TagIn). - - -'dec_KmeDndOverride'(Tlv) -> - 'dec_KmeDndOverride'(Tlv, [65547]). - -'dec_KmeDndOverride'(Tlv, TagIn) -> -'CSTA-call-connection-identifiers':'dec_ConnectionID'(Tlv, TagIn). - - - -%%================================ -%% NumberOfMsgPort -%%================================ -'enc_NumberOfMsgPort'(Val) -> - 'enc_NumberOfMsgPort'(Val, [<<48>>]). - -'enc_NumberOfMsgPort'(Val, TagIn) -> -{_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute numberOfMsgPort(1) with type INTEGER -%%------------------------------------------------- - {EncBytes1,EncLen1} = encode_integer(Cindex1, [<<2>>]), - -%%------------------------------------------------- -%% attribute numberOfFreePort(2) with type INTEGER -%%------------------------------------------------- - {EncBytes2,EncLen2} = encode_integer(Cindex2, [<<2>>]), - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_NumberOfMsgPort'(Tlv) -> - 'dec_NumberOfMsgPort'(Tlv, [16]). - -'dec_NumberOfMsgPort'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute numberOfMsgPort(1) with type INTEGER -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = decode_integer(V1, [2]), - -%%------------------------------------------------- -%% attribute numberOfFreePort(2) with type INTEGER -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = decode_integer(V2, [2]), - -case Tlv3 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowed -end, - {'NumberOfMsgPort', Term1, Term2}. - - - -%%================================ -%% KmeExtName -%%================================ -'enc_KmeExtName'(Val) -> - 'enc_KmeExtName'(Val, []). - -'enc_KmeExtName'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - single -> - encode_restricted_string(element(2,Val), [<<4>>,<<160>>]); - wide -> - encode_restricted_string(element(2,Val), [<<4>>,<<161>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_KmeExtName'(Tlv) -> - 'dec_KmeExtName'(Tlv, []). - -'dec_KmeExtName'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'single' - {131072, V1} -> - {single, begin -Val1 = decode_octet_string(V1, [4]), -C1 = byte_size(Val1), -if 0 =< C1, C1 =< 20 -> -Val1; -true -> -exit({error,{asn1,bad_range}}) -end -end}; - - -%% 'wide' - {131073, V1} -> - {wide, begin -Val2 = decode_octet_string(V1, [4]), -C2 = byte_size(Val2), -if 0 =< C2, C2 =< 40 -> -Val2; -true -> -exit({error,{asn1,bad_range}}) -end -end}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% KmeSvmList -%%================================ -'enc_KmeSvmList'(Val) -> - 'enc_KmeSvmList'(Val, [<<48>>]). - -'enc_KmeSvmList'(Val, TagIn) -> - {EncBytes,EncLen} = 'enc_KmeSvmList_components'(Val,[],0), - encode_tags(TagIn, EncBytes, EncLen). - -'enc_KmeSvmList_components'([], AccBytes, AccLen) -> - {lists:reverse(AccBytes),AccLen}; - -'enc_KmeSvmList_components'([H|T],AccBytes, AccLen) -> - {EncBytes,EncLen} = 'enc_KmeSvmList_SEQOF'(H, [<<48>>]), - 'enc_KmeSvmList_components'(T,[EncBytes|AccBytes], AccLen + EncLen). - - - - -%%================================ -%% KmeSvmList_SEQOF -%%================================ -'enc_KmeSvmList_SEQOF'(Val, TagIn) -> - {_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute device(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- - {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(Cindex1, [<<48>>]), - -%%------------------------------------------------- -%% attribute name(2) External kme:KmeExtName OPTIONAL -%%------------------------------------------------- - {EncBytes2,EncLen2} = case Cindex2 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmeExtName'(Cindex2, []) - end, - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_KmeSvmList'(Tlv) -> - 'dec_KmeSvmList'(Tlv, [16]). - -'dec_KmeSvmList'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), -['dec_KmeSvmList_SEQOF'(V1, [16]) || V1 <- Tlv1]. - - -'dec_KmeSvmList_SEQOF'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute device(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = 'CSTA-device-identifiers':'dec_DeviceID'(V1, [16]), - -%%------------------------------------------------- -%% attribute name(2) External kme:KmeExtName OPTIONAL -%%------------------------------------------------- -{Term2,Tlv3} = case Tlv2 of -[V2 = {131072,_}|TempTlv3] -> - {'dec_KmeExtName'(V2, []), TempTlv3}; -[V2 = {131073,_}|TempTlv3] -> - {'dec_KmeExtName'(V2, []), TempTlv3}; - _ -> - { asn1_NOVALUE, Tlv2} -end, - -case Tlv3 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowed -end, - {'KmeSvmList_SEQOF', Term1, Term2}. - - - -%%================================ -%% KmePDFSrvEvt -%%================================ -'enc_KmePDFSrvEvt'(Val) -> - 'enc_KmePDFSrvEvt'(Val, []). - -'enc_KmePDFSrvEvt'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - pDFStart -> - 'enc_KmePDFStart'(element(2,Val), [<<48>>,<<160>>]); - pDFStop -> - 'enc_KmePDFStop'(element(2,Val), [<<48>>,<<161>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_KmePDFSrvEvt'(Tlv) -> - 'dec_KmePDFSrvEvt'(Tlv, []). - -'dec_KmePDFSrvEvt'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'pDFStart' - {131072, V1} -> - {pDFStart, 'dec_KmePDFStart'(V1, [16])}; - - -%% 'pDFStop' - {131073, V1} -> - {pDFStop, 'dec_KmePDFStop'(V1, [16])}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% KmePDFStatus -%%================================ -'enc_KmePDFStatus'(Val) -> - 'enc_KmePDFStatus'(Val, [<<48>>]). - -'enc_KmePDFStatus'(Val, TagIn) -> -{_,Cindex1, Cindex2, Cindex3} = Val, - -%%------------------------------------------------- -%% attribute targetDevice(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- - {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(Cindex1, [<<48>>]), - -%%------------------------------------------------- -%% attribute originatingDevice(2) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- - {EncBytes2,EncLen2} = 'CSTA-device-identifiers':'enc_DeviceID'(Cindex2, [<<48>>]), - -%%------------------------------------------------- -%% attribute status(3) with type BOOLEAN -%%------------------------------------------------- - {EncBytes3,EncLen3} = encode_boolean(Cindex3, [<<1>>]), - - BytesSoFar = [EncBytes1, EncBytes2, EncBytes3], -LenSoFar = EncLen1 + EncLen2 + EncLen3, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_KmePDFStatus'(Tlv) -> - 'dec_KmePDFStatus'(Tlv, [16]). - -'dec_KmePDFStatus'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute targetDevice(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = 'CSTA-device-identifiers':'dec_DeviceID'(V1, [16]), - -%%------------------------------------------------- -%% attribute originatingDevice(2) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = 'CSTA-device-identifiers':'dec_DeviceID'(V2, [16]), - -%%------------------------------------------------- -%% attribute status(3) with type BOOLEAN -%%------------------------------------------------- -[V3|Tlv4] = Tlv3, -Term3 = decode_boolean(V3, [1]), - -case Tlv4 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv4}}}) % extra fields not allowed -end, - {'KmePDFStatus', Term1, Term2, Term3}. - - - -%%================================ -%% KmePDFStop -%%================================ -'enc_KmePDFStop'(Val) -> - 'enc_KmePDFStop'(Val, [<<48>>]). - -'enc_KmePDFStop'(Val, TagIn) -> - 'CSTA-device-identifiers':'enc_DeviceID'(Val, TagIn). - - -'dec_KmePDFStop'(Tlv) -> - 'dec_KmePDFStop'(Tlv, [16]). - -'dec_KmePDFStop'(Tlv, TagIn) -> -'CSTA-device-identifiers':'dec_DeviceID'(Tlv, TagIn). - - - -%%================================ -%% KmePDFStart -%%================================ -'enc_KmePDFStart'(Val) -> - 'enc_KmePDFStart'(Val, [<<48>>]). - -'enc_KmePDFStart'(Val, TagIn) -> -{_,Cindex1} = Val, - -%%------------------------------------------------- -%% attribute device(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- - {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(Cindex1, [<<48>>]), - - BytesSoFar = [EncBytes1], -LenSoFar = EncLen1, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_KmePDFStart'(Tlv) -> - 'dec_KmePDFStart'(Tlv, [16]). - -'dec_KmePDFStart'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute device(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = 'CSTA-device-identifiers':'dec_DeviceID'(V1, [16]), - -case Tlv2 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv2}}}) % extra fields not allowed -end, - {'KmePDFStart', Term1}. - - - -%%================================ -%% KmeDistributionMethod -%%================================ -'enc_KmeDistributionMethod'(Val) -> - 'enc_KmeDistributionMethod'(Val, [<<48>>]). - -'enc_KmeDistributionMethod'(Val, TagIn) -> -{_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute group(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- - {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(Cindex1, [<<48>>]), - -%%------------------------------------------------- -%% attribute type(2) with type ENUMERATED -%%------------------------------------------------- - {EncBytes2,EncLen2} = case Cindex2 of -ucd -> encode_tags([<<10>>], [0], 1); -ring -> encode_tags([<<10>>], [1], 1); -hunt -> encode_tags([<<10>>], [2], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end, - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_KmeDistributionMethod'(Tlv) -> - 'dec_KmeDistributionMethod'(Tlv, [16]). - -'dec_KmeDistributionMethod'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute group(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = 'CSTA-device-identifiers':'dec_DeviceID'(V1, [16]), - -%%------------------------------------------------- -%% attribute type(2) with type ENUMERATED -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = case decode_integer(V2, [10]) of -0 -> ucd; -1 -> ring; -2 -> hunt; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end, - -case Tlv3 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowed -end, - {'KmeDistributionMethod', Term1, Term2}. - - - -%%================================ -%% KmeTenantSpeedDial -%%================================ -'enc_KmeTenantSpeedDial'(Val) -> - 'enc_KmeTenantSpeedDial'(Val, [<<48>>]). - -'enc_KmeTenantSpeedDial'(Val, TagIn) -> -{_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute tenantNo(1) with type INTEGER -%%------------------------------------------------- - {EncBytes1,EncLen1} = encode_integer(Cindex1, [<<2>>,<<160>>]), - -%%------------------------------------------------- -%% attribute kmeSpeedDial(2) External kme:KmeSpeedDial -%%------------------------------------------------- - {EncBytes2,EncLen2} = 'enc_KmeSpeedDial'(Cindex2, [<<48>>,<<161>>]), - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_KmeTenantSpeedDial'(Tlv) -> - 'dec_KmeTenantSpeedDial'(Tlv, [16]). - -'dec_KmeTenantSpeedDial'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute tenantNo(1) with type INTEGER -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = decode_integer(V1, [131072,2]), - -%%------------------------------------------------- -%% attribute kmeSpeedDial(2) External kme:KmeSpeedDial -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = 'dec_KmeSpeedDial'(V2, [131073,16]), - -case Tlv3 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowed -end, - {'KmeTenantSpeedDial', Term1, Term2}. - - - -%%================================ -%% KmeExternalSensorList -%%================================ -'enc_KmeExternalSensorList'(Val) -> - 'enc_KmeExternalSensorList'(Val, [<<48>>]). - -'enc_KmeExternalSensorList'(Val, TagIn) -> - {EncBytes,EncLen} = 'enc_KmeExternalSensorList_components'(Val,[],0), - encode_tags(TagIn, EncBytes, EncLen). - -'enc_KmeExternalSensorList_components'([], AccBytes, AccLen) -> - {lists:reverse(AccBytes),AccLen}; - -'enc_KmeExternalSensorList_components'([H|T],AccBytes, AccLen) -> - {EncBytes,EncLen} = 'enc_KmeExternalSensorList_SEQOF'(H, [<<48>>]), - 'enc_KmeExternalSensorList_components'(T,[EncBytes|AccBytes], AccLen + EncLen). - - - - -%%================================ -%% KmeExternalSensorList_SEQOF -%%================================ -'enc_KmeExternalSensorList_SEQOF'(Val, TagIn) -> - {_,Cindex1, Cindex2, Cindex3} = Val, - -%%------------------------------------------------- -%% attribute sensorNo(1) with type IA5String -%%------------------------------------------------- - {EncBytes1,EncLen1} = encode_restricted_string(Cindex1, [<<22>>,<<160>>]), - -%%------------------------------------------------- -%% attribute device(2) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- - {EncBytes2,EncLen2} = 'CSTA-device-identifiers':'enc_DeviceID'(Cindex2, [<<48>>,<<161>>]), - -%%------------------------------------------------- -%% attribute name(3) with type CHOICE OPTIONAL -%%------------------------------------------------- - {EncBytes3,EncLen3} = case Cindex3 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmeExternalSensorList_SEQOF_name'(Cindex3, [<<162>>]) - end, - - BytesSoFar = [EncBytes1, EncBytes2, EncBytes3], -LenSoFar = EncLen1 + EncLen2 + EncLen3, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - - -%%================================ -%% KmeExternalSensorList_SEQOF_name -%%================================ -'enc_KmeExternalSensorList_SEQOF_name'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - single -> - encode_restricted_string(element(2,Val), [<<4>>,<<160>>]); - wide -> - encode_restricted_string(element(2,Val), [<<4>>,<<161>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_KmeExternalSensorList'(Tlv) -> - 'dec_KmeExternalSensorList'(Tlv, [16]). - -'dec_KmeExternalSensorList'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), -['dec_KmeExternalSensorList_SEQOF'(V1, [16]) || V1 <- Tlv1]. - - -'dec_KmeExternalSensorList_SEQOF'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute sensorNo(1) with type IA5String -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = begin -Val1 = decode_restricted_string(V1, [131072,22]), -C1 = byte_size(Val1), -if 1 =< C1, C1 =< 3 -> -binary_to_list(Val1); -true -> -exit({error,{asn1,bad_range}}) -end -end, - -%%------------------------------------------------- -%% attribute device(2) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = 'CSTA-device-identifiers':'dec_DeviceID'(V2, [131073,16]), - -%%------------------------------------------------- -%% attribute name(3) with type CHOICE OPTIONAL -%%------------------------------------------------- -{Term3,Tlv4} = case Tlv3 of -[{131074,V3}|TempTlv4] -> - {'dec_KmeExternalSensorList_SEQOF_name'(V3, []), TempTlv4}; - _ -> - { asn1_NOVALUE, Tlv3} -end, - -case Tlv4 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv4}}}) % extra fields not allowed -end, - {'KmeExternalSensorList_SEQOF', Term1, Term2, Term3}. - -'dec_KmeExternalSensorList_SEQOF_name'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'single' - {131072, V1} -> - {single, begin -Val1 = decode_octet_string(V1, [4]), -C1 = byte_size(Val1), -if 1 =< C1, C1 =< 20 -> -Val1; -true -> -exit({error,{asn1,bad_range}}) -end -end}; - - -%% 'wide' - {131073, V1} -> - {wide, begin -Val2 = decode_octet_string(V1, [4]), -C2 = byte_size(Val2), -if 1 =< C2, C2 =< 40 -> -Val2; -true -> -exit({error,{asn1,bad_range}}) -end -end}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% KmeFcoKeyList -%%================================ -'enc_KmeFcoKeyList'(Val) -> - 'enc_KmeFcoKeyList'(Val, [<<48>>]). - -'enc_KmeFcoKeyList'(Val, TagIn) -> - {EncBytes,EncLen} = 'enc_KmeFcoKeyList_components'(Val,[],0), - encode_tags(TagIn, EncBytes, EncLen). - -'enc_KmeFcoKeyList_components'([], AccBytes, AccLen) -> - {lists:reverse(AccBytes),AccLen}; - -'enc_KmeFcoKeyList_components'([H|T],AccBytes, AccLen) -> - {EncBytes,EncLen} = 'enc_KmeFcoKeyInfo'(H, [<<48>>]), - 'enc_KmeFcoKeyList_components'(T,[EncBytes|AccBytes], AccLen + EncLen). - - - -'dec_KmeFcoKeyList'(Tlv) -> - 'dec_KmeFcoKeyList'(Tlv, [16]). - -'dec_KmeFcoKeyList'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), -['dec_KmeFcoKeyInfo'(V1, [16]) || V1 <- Tlv1]. - - - - -%%================================ -%% KmeFcoKeyInfo -%%================================ -'enc_KmeFcoKeyInfo'(Val) -> - 'enc_KmeFcoKeyInfo'(Val, [<<48>>]). - -'enc_KmeFcoKeyInfo'(Val, TagIn) -> -{_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute button(1) with type OCTET STRING -%%------------------------------------------------- - {EncBytes1,EncLen1} = encode_restricted_string(Cindex1, [<<4>>]), - -%%------------------------------------------------- -%% attribute function(2) with type OCTET STRING -%%------------------------------------------------- - {EncBytes2,EncLen2} = encode_restricted_string(Cindex2, [<<4>>]), - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_KmeFcoKeyInfo'(Tlv) -> - 'dec_KmeFcoKeyInfo'(Tlv, [16]). - -'dec_KmeFcoKeyInfo'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute button(1) with type OCTET STRING -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = decode_octet_string(V1, [4]), - -%%------------------------------------------------- -%% attribute function(2) with type OCTET STRING -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = begin -Val1 = decode_octet_string(V2, [4]), -C1 = byte_size(Val1), -if C1 =:= 1 -> -Val1; -true -> -exit({error,{asn1,bad_range}}) -end -end, - -case Tlv3 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowed -end, - {'KmeFcoKeyInfo', Term1, Term2}. - - - -%%================================ -%% KmeDeviceName -%%================================ -'enc_KmeDeviceName'(Val) -> - 'enc_KmeDeviceName'(Val, [<<48>>]). - -'enc_KmeDeviceName'(Val, TagIn) -> -{_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute extNo(1) with type IA5String -%%------------------------------------------------- - {EncBytes1,EncLen1} = encode_restricted_string(Cindex1, [<<22>>]), - -%%------------------------------------------------- -%% attribute name(2) External kme:KmeExtName -%%------------------------------------------------- - {EncBytes2,EncLen2} = 'enc_KmeExtName'(Cindex2, []), - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_KmeDeviceName'(Tlv) -> - 'dec_KmeDeviceName'(Tlv, [16]). - -'dec_KmeDeviceName'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute extNo(1) with type IA5String -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = begin -Val1 = decode_restricted_string(V1, [22]), -C1 = byte_size(Val1), -if 1 =< C1, C1 =< 5 -> -binary_to_list(Val1); -true -> -exit({error,{asn1,bad_range}}) -end -end, - -%%------------------------------------------------- -%% attribute name(2) External kme:KmeExtName -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = 'dec_KmeExtName'(V2, []), - -case Tlv3 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowed -end, - {'KmeDeviceName', Term1, Term2}. - - - -%%================================ -%% KmeDeviceExtNo -%%================================ -'enc_KmeDeviceExtNo'(Val) -> - 'enc_KmeDeviceExtNo'(Val, [<<48>>]). - -'enc_KmeDeviceExtNo'(Val, TagIn) -> -{_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute devNumber(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- - {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(Cindex1, [<<48>>]), - -%%------------------------------------------------- -%% attribute extNo(2) with type IA5String OPTIONAL -%%------------------------------------------------- - {EncBytes2,EncLen2} = case Cindex2 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_restricted_string(Cindex2, [<<22>>]) - end, - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_KmeDeviceExtNo'(Tlv) -> - 'dec_KmeDeviceExtNo'(Tlv, [16]). - -'dec_KmeDeviceExtNo'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute devNumber(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = 'CSTA-device-identifiers':'dec_DeviceID'(V1, [16]), - -%%------------------------------------------------- -%% attribute extNo(2) with type IA5String OPTIONAL -%%------------------------------------------------- -{Term2,Tlv3} = case Tlv2 of -[{22,V2}|TempTlv3] -> - {begin -Val1 = decode_restricted_string(V2, []), -C1 = byte_size(Val1), -if 1 =< C1, C1 =< 5 -> -binary_to_list(Val1); -true -> -exit({error,{asn1,bad_range}}) -end -end, TempTlv3}; - _ -> - { asn1_NOVALUE, Tlv2} -end, - -case Tlv3 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowed -end, - {'KmeDeviceExtNo', Term1, Term2}. - - - -%%================================ -%% KmePhoneProperty -%%================================ -'enc_KmePhoneProperty'(Val) -> - 'enc_KmePhoneProperty'(Val, [<<48>>]). - -'enc_KmePhoneProperty'(Val, TagIn) -> -{_,Cindex1, Cindex2, Cindex3, Cindex4, Cindex5, Cindex6, Cindex7} = Val, - -%%------------------------------------------------- -%% attribute portType(1) with type INTEGER -%%------------------------------------------------- - {EncBytes1,EncLen1} = encode_integer(Cindex1, [<<2>>]), - -%%------------------------------------------------- -%% attribute phoneCode(2) with type INTEGER -%%------------------------------------------------- - {EncBytes2,EncLen2} = encode_integer(Cindex2, [<<2>>]), - -%%------------------------------------------------- -%% attribute lcdRows(3) with type INTEGER -%%------------------------------------------------- - {EncBytes3,EncLen3} = encode_integer(Cindex3, [<<2>>]), - -%%------------------------------------------------- -%% attribute lcdColumns(4) with type INTEGER -%%------------------------------------------------- - {EncBytes4,EncLen4} = encode_integer(Cindex4, [<<2>>]), - -%%------------------------------------------------- -%% attribute numberOfCoKeys(5) with type INTEGER -%%------------------------------------------------- - {EncBytes5,EncLen5} = encode_integer(Cindex5, [<<2>>]), - -%%------------------------------------------------- -%% attribute numberOfSoftKeys(6) with type INTEGER -%%------------------------------------------------- - {EncBytes6,EncLen6} = encode_integer(Cindex6, [<<2>>]), - -%%------------------------------------------------- -%% attribute spPhone(7) with type BOOLEAN -%%------------------------------------------------- - {EncBytes7,EncLen7} = encode_boolean(Cindex7, [<<1>>]), - - BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4, EncBytes5, EncBytes6, EncBytes7], -LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4 + EncLen5 + EncLen6 + EncLen7, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_KmePhoneProperty'(Tlv) -> - 'dec_KmePhoneProperty'(Tlv, [16]). - -'dec_KmePhoneProperty'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute portType(1) with type INTEGER -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = decode_integer(V1, [2]), - -%%------------------------------------------------- -%% attribute phoneCode(2) with type INTEGER -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = decode_integer(V2, [2]), - -%%------------------------------------------------- -%% attribute lcdRows(3) with type INTEGER -%%------------------------------------------------- -[V3|Tlv4] = Tlv3, -Term3 = decode_integer(V3, [2]), - -%%------------------------------------------------- -%% attribute lcdColumns(4) with type INTEGER -%%------------------------------------------------- -[V4|Tlv5] = Tlv4, -Term4 = decode_integer(V4, [2]), - -%%------------------------------------------------- -%% attribute numberOfCoKeys(5) with type INTEGER -%%------------------------------------------------- -[V5|Tlv6] = Tlv5, -Term5 = decode_integer(V5, [2]), - -%%------------------------------------------------- -%% attribute numberOfSoftKeys(6) with type INTEGER -%%------------------------------------------------- -[V6|Tlv7] = Tlv6, -Term6 = decode_integer(V6, [2]), - -%%------------------------------------------------- -%% attribute spPhone(7) with type BOOLEAN -%%------------------------------------------------- -[V7|Tlv8] = Tlv7, -Term7 = decode_boolean(V7, [1]), - -case Tlv8 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv8}}}) % extra fields not allowed -end, - {'KmePhoneProperty', Term1, Term2, Term3, Term4, Term5, Term6, Term7}. - - - -%%================================ -%% KmeGroupType -%%================================ -'enc_KmeGroupType'(Val) -> - 'enc_KmeGroupType'(Val, [<<10>>]). - -'enc_KmeGroupType'(Val, TagIn) -> -case Val of -ucd -> encode_tags(TagIn, [0], 1); -ring -> encode_tags(TagIn, [1], 1); -hunt -> encode_tags(TagIn, [2], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end. - - -'dec_KmeGroupType'(Tlv) -> - 'dec_KmeGroupType'(Tlv, [10]). - -'dec_KmeGroupType'(Tlv, TagIn) -> -case decode_integer(Tlv, TagIn) of -0 -> ucd; -1 -> ring; -2 -> hunt; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end. - - - -%%================================ -%% KmeDeviceState -%%================================ -'enc_KmeDeviceState'(Val) -> - 'enc_KmeDeviceState'(Val, [<<10>>]). - -'enc_KmeDeviceState'(Val, TagIn) -> -case Val of -ins -> encode_tags(TagIn, [0], 1); -ous -> encode_tags(TagIn, [1], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end. - - -'dec_KmeDeviceState'(Tlv) -> - 'dec_KmeDeviceState'(Tlv, [10]). - -'dec_KmeDeviceState'(Tlv, TagIn) -> -case decode_integer(Tlv, TagIn) of -0 -> ins; -1 -> ous; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end. - - - -%%================================ -%% KmeDeviceStateEntry -%%================================ -'enc_KmeDeviceStateEntry'(Val) -> - 'enc_KmeDeviceStateEntry'(Val, [<<48>>]). - -'enc_KmeDeviceStateEntry'(Val, TagIn) -> -{_,Cindex1, Cindex2, Cindex3} = Val, - -%%------------------------------------------------- -%% attribute device(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- - {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(Cindex1, [<<48>>]), - -%%------------------------------------------------- -%% attribute number(2) with type IA5String OPTIONAL -%%------------------------------------------------- - {EncBytes2,EncLen2} = case Cindex2 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_restricted_string(Cindex2, [<<22>>]) - end, - -%%------------------------------------------------- -%% attribute status(3) with type ENUMERATED -%%------------------------------------------------- - {EncBytes3,EncLen3} = case Cindex3 of -ins -> encode_tags([<<10>>], [0], 1); -ous -> encode_tags([<<10>>], [1], 1); -Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) -end, - - BytesSoFar = [EncBytes1, EncBytes2, EncBytes3], -LenSoFar = EncLen1 + EncLen2 + EncLen3, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_KmeDeviceStateEntry'(Tlv) -> - 'dec_KmeDeviceStateEntry'(Tlv, [16]). - -'dec_KmeDeviceStateEntry'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute device(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = 'CSTA-device-identifiers':'dec_DeviceID'(V1, [16]), - -%%------------------------------------------------- -%% attribute number(2) with type IA5String OPTIONAL -%%------------------------------------------------- -{Term2,Tlv3} = case Tlv2 of -[{22,V2}|TempTlv3] -> - {begin -Val1 = decode_restricted_string(V2, []), -C1 = byte_size(Val1), -if 1 =< C1, C1 =< 5 -> -binary_to_list(Val1); -true -> -exit({error,{asn1,bad_range}}) -end -end, TempTlv3}; - _ -> - { asn1_NOVALUE, Tlv2} -end, - -%%------------------------------------------------- -%% attribute status(3) with type ENUMERATED -%%------------------------------------------------- -[V3|Tlv4] = Tlv3, -Term3 = case decode_integer(V3, [10]) of -0 -> ins; -1 -> ous; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end, - -case Tlv4 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv4}}}) % extra fields not allowed -end, - {'KmeDeviceStateEntry', Term1, Term2, Term3}. - - - -%%================================ -%% KmeDeviceStateList -%%================================ -'enc_KmeDeviceStateList'(Val) -> - 'enc_KmeDeviceStateList'(Val, [<<48>>]). - -'enc_KmeDeviceStateList'(Val, TagIn) -> - {EncBytes,EncLen} = 'enc_KmeDeviceStateList_components'(Val,[],0), - encode_tags(TagIn, EncBytes, EncLen). - -'enc_KmeDeviceStateList_components'([], AccBytes, AccLen) -> - {lists:reverse(AccBytes),AccLen}; - -'enc_KmeDeviceStateList_components'([H|T],AccBytes, AccLen) -> - {EncBytes,EncLen} = 'enc_KmeDeviceStateEntry'(H, [<<48>>]), - 'enc_KmeDeviceStateList_components'(T,[EncBytes|AccBytes], AccLen + EncLen). - - - -'dec_KmeDeviceStateList'(Tlv) -> - 'dec_KmeDeviceStateList'(Tlv, [16]). - -'dec_KmeDeviceStateList'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), -['dec_KmeDeviceStateEntry'(V1, [16]) || V1 <- Tlv1]. - - - - -%%================================ -%% KmeChangedDeviceCategory -%%================================ -'enc_KmeChangedDeviceCategory'(Val) -> - 'enc_KmeChangedDeviceCategory'(Val, []). - -'enc_KmeChangedDeviceCategory'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - standardDevice -> - case element(2,Val) of -acd -> encode_tags([<<10>>,<<160>>], [0], 1); -groupACD -> encode_tags([<<10>>,<<160>>], [1], 1); -groupHunt -> encode_tags([<<10>>,<<160>>], [2], 1); -groupPick -> encode_tags([<<10>>,<<160>>], [3], 1); -groupOther -> encode_tags([<<10>>,<<160>>], [4], 1); -networkInterface -> encode_tags([<<10>>,<<160>>], [5], 1); -park -> encode_tags([<<10>>,<<160>>], [6], 1); -routeingDevice -> encode_tags([<<10>>,<<160>>], [7], 1); -station -> encode_tags([<<10>>,<<160>>], [8], 1); -voiceUnit -> encode_tags([<<10>>,<<160>>], [9], 1); -other -> encode_tags([<<10>>,<<160>>], [10], 1); -conference -> encode_tags([<<10>>,<<160>>], [11], 1); -dtmfIV -> encode_tags([<<10>>,<<160>>], [12], 1); -genericIV -> encode_tags([<<10>>,<<160>>], [13], 1); -groupUser -> encode_tags([<<10>>,<<160>>], [14], 1); -listenerIV -> encode_tags([<<10>>,<<160>>], [15], 1); -messageIV -> encode_tags([<<10>>,<<160>>], [16], 1); -promptIV -> encode_tags([<<10>>,<<160>>], [17], 1); -promptQueue -> encode_tags([<<10>>,<<160>>], [18], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end; - kmeDevice -> - case element(2,Val) of -vm -> encode_tags([<<10>>,<<161>>], [0], 1); -doorPhone -> encode_tags([<<10>>,<<161>>], [1], 1); -disa -> encode_tags([<<10>>,<<161>>], [2], 1); -pagingGroup -> encode_tags([<<10>>,<<161>>], [3], 1); -psGruop -> encode_tags([<<10>>,<<161>>], [4], 1); -externalRinger -> encode_tags([<<10>>,<<161>>], [5], 1); -externalSensor -> encode_tags([<<10>>,<<161>>], [6], 1); -externalPager -> encode_tags([<<10>>,<<161>>], [7], 1); -modem -> encode_tags([<<10>>,<<161>>], [8], 1); -hdlc -> encode_tags([<<10>>,<<161>>], [9], 1); -pbxSystem -> encode_tags([<<10>>,<<161>>], [10], 1); -svm -> encode_tags([<<10>>,<<161>>], [11], 1); -Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) -end; - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_KmeChangedDeviceCategory'(Tlv) -> - 'dec_KmeChangedDeviceCategory'(Tlv, []). - -'dec_KmeChangedDeviceCategory'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'standardDevice' - {131072, V1} -> - {standardDevice, case decode_integer(V1, [10]) of -0 -> acd; -1 -> groupACD; -2 -> groupHunt; -3 -> groupPick; -4 -> groupOther; -5 -> networkInterface; -6 -> park; -7 -> routeingDevice; -8 -> station; -9 -> voiceUnit; -10 -> other; -11 -> conference; -12 -> dtmfIV; -13 -> genericIV; -14 -> groupUser; -15 -> listenerIV; -16 -> messageIV; -17 -> promptIV; -18 -> promptQueue; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end}; - - -%% 'kmeDevice' - {131073, V1} -> - {kmeDevice, case decode_integer(V1, [10]) of -0 -> vm; -1 -> doorPhone; -2 -> disa; -3 -> pagingGroup; -4 -> psGruop; -5 -> externalRinger; -6 -> externalSensor; -7 -> externalPager; -8 -> modem; -9 -> hdlc; -10 -> pbxSystem; -11 -> svm; -Default2 -> exit({error,{asn1,{illegal_enumerated,Default2}}}) -end}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% KmeRequestedDevice -%%================================ -'enc_KmeRequestedDevice'(Val) -> - 'enc_KmeRequestedDevice'(Val, []). - -'enc_KmeRequestedDevice'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - device -> - 'CSTA-device-identifiers':'enc_DeviceID'(element(2,Val), [<<48>>,<<160>>]); - category -> - 'enc_KmeDeviceCategory'(element(2,Val), [<<161>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_KmeRequestedDevice'(Tlv) -> - 'dec_KmeRequestedDevice'(Tlv, []). - -'dec_KmeRequestedDevice'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'device' - {131072, V1} -> - {device, 'CSTA-device-identifiers':'dec_DeviceID'(V1, [16])}; - - -%% 'category' - {131073, V1} -> - {category, 'dec_KmeDeviceCategory'(V1, [])}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% KmeDeviceCategory -%%================================ -'enc_KmeDeviceCategory'(Val) -> - 'enc_KmeDeviceCategory'(Val, []). - -'enc_KmeDeviceCategory'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - standardDevice -> - case element(2,Val) of -acd -> encode_tags([<<10>>,<<160>>], [0], 1); -group -> encode_tags([<<10>>,<<160>>], [1], 1); -networkInterface -> encode_tags([<<10>>,<<160>>], [2], 1); -park -> encode_tags([<<10>>,<<160>>], [3], 1); -routeingDevice -> encode_tags([<<10>>,<<160>>], [4], 1); -station -> encode_tags([<<10>>,<<160>>], [5], 1); -voiceUnit -> encode_tags([<<10>>,<<160>>], [6], 1); -other -> encode_tags([<<10>>,<<160>>], [7], 1); -genericInteractiveVoice -> encode_tags([<<10>>,<<160>>], [8], 1); -listenerInteractiveVoice -> encode_tags([<<10>>,<<160>>], [9], 1); -dtmfInteractiveVoice -> encode_tags([<<10>>,<<160>>], [10], 1); -promptInteractiveVoice -> encode_tags([<<10>>,<<160>>], [11], 1); -promptQueueInteractiveVoice -> encode_tags([<<10>>,<<160>>], [12], 1); -messageInteractiveVoice -> encode_tags([<<10>>,<<160>>], [13], 1); -conference -> encode_tags([<<10>>,<<160>>], [14], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end; - kmeDevice -> - case element(2,Val) of -vm -> encode_tags([<<10>>,<<161>>], [0], 1); -doorPhone -> encode_tags([<<10>>,<<161>>], [1], 1); -disa -> encode_tags([<<10>>,<<161>>], [2], 1); -pagingGroup -> encode_tags([<<10>>,<<161>>], [3], 1); -psGruop -> encode_tags([<<10>>,<<161>>], [4], 1); -externalRinger -> encode_tags([<<10>>,<<161>>], [5], 1); -externalSensor -> encode_tags([<<10>>,<<161>>], [6], 1); -externalPager -> encode_tags([<<10>>,<<161>>], [7], 1); -modem -> encode_tags([<<10>>,<<161>>], [8], 1); -hdlc -> encode_tags([<<10>>,<<161>>], [9], 1); -pbxSystem -> encode_tags([<<10>>,<<161>>], [10], 1); -svm -> encode_tags([<<10>>,<<161>>], [11], 1); -Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) -end; - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_KmeDeviceCategory'(Tlv) -> - 'dec_KmeDeviceCategory'(Tlv, []). - -'dec_KmeDeviceCategory'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'standardDevice' - {131072, V1} -> - {standardDevice, case decode_integer(V1, [10]) of -0 -> acd; -1 -> group; -2 -> networkInterface; -3 -> park; -4 -> routeingDevice; -5 -> station; -6 -> voiceUnit; -7 -> other; -8 -> genericInteractiveVoice; -9 -> listenerInteractiveVoice; -10 -> dtmfInteractiveVoice; -11 -> promptInteractiveVoice; -12 -> promptQueueInteractiveVoice; -13 -> messageInteractiveVoice; -14 -> conference; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end}; - - -%% 'kmeDevice' - {131073, V1} -> - {kmeDevice, case decode_integer(V1, [10]) of -0 -> vm; -1 -> doorPhone; -2 -> disa; -3 -> pagingGroup; -4 -> psGruop; -5 -> externalRinger; -6 -> externalSensor; -7 -> externalPager; -8 -> modem; -9 -> hdlc; -10 -> pbxSystem; -11 -> svm; -Default2 -> exit({error,{asn1,{illegal_enumerated,Default2}}}) -end}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% KmeChangeName -%%================================ -'enc_KmeChangeName'(Val) -> - 'enc_KmeChangeName'(Val, [<<48>>]). - -'enc_KmeChangeName'(Val, TagIn) -> -{_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute requestingDevice(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- - {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(Cindex1, [<<48>>]), - -%%------------------------------------------------- -%% attribute newName(2) with type CHOICE OPTIONAL -%%------------------------------------------------- - {EncBytes2,EncLen2} = case Cindex2 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmeChangeName_newName'(Cindex2, []) - end, - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - - -%%================================ -%% KmeChangeName_newName -%%================================ -'enc_KmeChangeName_newName'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - single -> - encode_restricted_string(element(2,Val), [<<4>>,<<160>>]); - wide -> - encode_restricted_string(element(2,Val), [<<4>>,<<161>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_KmeChangeName'(Tlv) -> - 'dec_KmeChangeName'(Tlv, [16]). - -'dec_KmeChangeName'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute requestingDevice(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = 'CSTA-device-identifiers':'dec_DeviceID'(V1, [16]), - -%%------------------------------------------------- -%% attribute newName(2) with type CHOICE OPTIONAL -%%------------------------------------------------- -{Term2,Tlv3} = case Tlv2 of -[V2 = {131072,_}|TempTlv3] -> - {'dec_KmeChangeName_newName'(V2, []), TempTlv3}; -[V2 = {131073,_}|TempTlv3] -> - {'dec_KmeChangeName_newName'(V2, []), TempTlv3}; - _ -> - { asn1_NOVALUE, Tlv2} -end, - -case Tlv3 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowed -end, - {'KmeChangeName', Term1, Term2}. - -'dec_KmeChangeName_newName'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'single' - {131072, V1} -> - {single, begin -Val1 = decode_octet_string(V1, [4]), -C1 = byte_size(Val1), -if 1 =< C1, C1 =< 20 -> -Val1; -true -> -exit({error,{asn1,bad_range}}) -end -end}; - - -%% 'wide' - {131073, V1} -> - {wide, begin -Val2 = decode_octet_string(V1, [4]), -C2 = byte_size(Val2), -if 1 =< C2, C2 =< 40 -> -Val2; -true -> -exit({error,{asn1,bad_range}}) -end -end}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% KmeChangeExtNo -%%================================ -'enc_KmeChangeExtNo'(Val) -> - 'enc_KmeChangeExtNo'(Val, [<<48>>]). - -'enc_KmeChangeExtNo'(Val, TagIn) -> -{_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute requestingDevice(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- - {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(Cindex1, [<<48>>]), - -%%------------------------------------------------- -%% attribute newExtNo(2) with type IA5String -%%------------------------------------------------- - {EncBytes2,EncLen2} = encode_restricted_string(Cindex2, [<<22>>]), - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_KmeChangeExtNo'(Tlv) -> - 'dec_KmeChangeExtNo'(Tlv, [16]). - -'dec_KmeChangeExtNo'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute requestingDevice(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = 'CSTA-device-identifiers':'dec_DeviceID'(V1, [16]), - -%%------------------------------------------------- -%% attribute newExtNo(2) with type IA5String -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = begin -Val1 = decode_restricted_string(V2, [22]), -C1 = byte_size(Val1), -if 1 =< C1, C1 =< 5 -> -binary_to_list(Val1); -true -> -exit({error,{asn1,bad_range}}) -end -end, - -case Tlv3 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowed -end, - {'KmeChangeExtNo', Term1, Term2}. - - - -%%================================ -%% KmePsGroupList -%%================================ -'enc_KmePsGroupList'(Val) -> - 'enc_KmePsGroupList'(Val, [<<48>>]). - -'enc_KmePsGroupList'(Val, TagIn) -> - {EncBytes,EncLen} = 'enc_KmePsGroupList_components'(Val,[],0), - encode_tags(TagIn, EncBytes, EncLen). - -'enc_KmePsGroupList_components'([], AccBytes, AccLen) -> - {lists:reverse(AccBytes),AccLen}; - -'enc_KmePsGroupList_components'([H|T],AccBytes, AccLen) -> - {EncBytes,EncLen} = 'enc_KmePsGroupList_SEQOF'(H, [<<48>>]), - 'enc_KmePsGroupList_components'(T,[EncBytes|AccBytes], AccLen + EncLen). - - - - -%%================================ -%% KmePsGroupList_SEQOF -%%================================ -'enc_KmePsGroupList_SEQOF'(Val, TagIn) -> - {_,Cindex1, Cindex2, Cindex3, Cindex4, Cindex5, Cindex6, Cindex7} = Val, - -%%------------------------------------------------- -%% attribute groupNo(1) with type INTEGER -%%------------------------------------------------- - {EncBytes1,EncLen1} = encode_integer(Cindex1, [<<2>>]), - -%%------------------------------------------------- -%% attribute device(2) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- - {EncBytes2,EncLen2} = 'CSTA-device-identifiers':'enc_DeviceID'(Cindex2, [<<48>>]), - -%%------------------------------------------------- -%% attribute name(3) with type CHOICE OPTIONAL -%%------------------------------------------------- - {EncBytes3,EncLen3} = case Cindex3 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmePsGroupList_SEQOF_name'(Cindex3, []) - end, - -%%------------------------------------------------- -%% attribute memberList(4) with type BIT STRING OPTIONAL -%%------------------------------------------------- - {EncBytes4,EncLen4} = case Cindex4 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_named_bit_string(Cindex4, [{one,0},{two,1},{three,2},{four,3},{five,4},{six,5},{seven,6},{eight,7},{nine,8},{ten,9},{eleven,10},{twelve,11},{thirteen,12},{fourteen,13},{fifteen,14},{sixteen,15},{seventeen,16},{eighteen,17},{nineteen,18},{twenty,19},{twentyOne,20},{twentyTwo,21},{twentyThree,22},{twentyFour,23},{twentyFive,24},{twentySix,25},{twentySeven,26},{twentyEight,27},{twentyNine,28},{thirty,29},{thirtyOne,30},{thirtyTwo,31},{thirtyThree,32},{thirtyFour,33},{thirtyFive,34},{thirtySix,35},{thirtySeven,36},{thirtyEight,37},{thirtyNine,38},{fourty,39},{fourtyOne,40},{fourtyTwo,41},{fourtyThree,42},{fourtyFour,43},{fourtyFive,44},{fourtySix,45},{fourtySeven,46},{fourtyEight,47},{fourtyNine,48},{fifty,49},{fiftyOne,50},{fiftyTwo,51},{fiftyThree,52},{fiftyFour,53},{fiftyFive,54},{fiftySix,55},{fiftySeven,56},{fiftyEight,57},{fiftyNine,58},{sixty,59},{sixtyOne,60},{sixtyTwo,61},{sixtyThree,62},{sixtyFour,63},{sixtyFive,64},{sixtySix,65},{sixtySeven,66},{sixtyEight,67},{sixtyNine,68},{seventy,69},{seventyOne,70},{seventyTwo,71},{seventyThree,72},{seventyFour,73},{seventyFive,74},{seventySix,75},{seventySeven,76},{seventyEight,77},{seventyNine,78},{eighty,79},{eightyOne,80},{eightyTwo,81},{eightyThree,82},{eightyFour,83},{eightyFive,84},{eightySix,85},{eightySeven,86},{eightyEight,87},{eightyNine,88},{ninety,89},{ninetyOne,90},{ninetyTwo,91},{ninetyThree,92},{ninetyFour,93},{ninetyFive,94},{ninetySix,95},{ninetySeven,96},{ninetyEight,97},{ninetyNine,98},{oneHundred,99},{oneHundredOne,100},{oneHundredTwo,101},{oneHundredThree,102},{oneHundredFour,103},{oneHundredFive,104},{oneHundredSix,105},{oneHundredSeven,106},{oneHundredEitht,107},{oneHundredNine,108},{oneHundredTen,109},{oneHundredEleven,110},{oneHundredTwelve,111},{oneHundredThirteen,112},{oneHundredFourteen,113},{oneHundredFifteen,114},{oneHundredSixteen,115},{oneHundredSeventeen,116},{oneHundredEithteen,117},{oneHundredNineteen,118},{oneHundredTwenty,119},{oneHundredTwentyOne,120},{oneHundredTwentyTwo,121},{oneHundredTwentyThree,122},{oneHundredTwentyFour,123},{oneHundredTwentyFive,124},{oneHundredTwentySix,125},{oneHundredTwentySeven,126},{oneHundredTwentyEight,127}], [<<3>>,<<162>>]) - end, - -%%------------------------------------------------- -%% attribute memberList2(5) with type BIT STRING OPTIONAL -%%------------------------------------------------- - {EncBytes5,EncLen5} = case Cindex5 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_named_bit_string(Cindex5, [{one,0},{two,1},{three,2},{four,3},{five,4},{six,5},{seven,6},{eight,7},{nine,8},{ten,9},{eleven,10},{twelve,11},{thirteen,12},{fourteen,13},{fifteen,14},{sixteen,15},{seventeen,16},{eighteen,17},{nineteen,18},{twenty,19},{twentyOne,20},{twentyTwo,21},{twentyThree,22},{twentyFour,23},{twentyFive,24},{twentySix,25},{twentySeven,26},{twentyEight,27},{twentyNine,28},{thirty,29},{thirtyOne,30},{thirtyTwo,31},{thirtyThree,32},{thirtyFour,33},{thirtyFive,34},{thirtySix,35},{thirtySeven,36},{thirtyEight,37},{thirtyNine,38},{fourty,39},{fourtyOne,40},{fourtyTwo,41},{fourtyThree,42},{fourtyFour,43},{fourtyFive,44},{fourtySix,45},{fourtySeven,46},{fourtyEight,47},{fourtyNine,48},{fifty,49},{fiftyOne,50},{fiftyTwo,51},{fiftyThree,52},{fiftyFour,53},{fiftyFive,54},{fiftySix,55},{fiftySeven,56},{fiftyEight,57},{fiftyNine,58},{sixty,59},{sixtyOne,60},{sixtyTwo,61},{sixtyThree,62},{sixtyFour,63},{sixtyFive,64},{sixtySix,65},{sixtySeven,66},{sixtyEight,67},{sixtyNine,68},{seventy,69},{seventyOne,70},{seventyTwo,71},{seventyThree,72},{seventyFour,73},{seventyFive,74},{seventySix,75},{seventySeven,76},{seventyEight,77},{seventyNine,78},{eighty,79},{eightyOne,80},{eightyTwo,81},{eightyThree,82},{eightyFour,83},{eightyFive,84},{eightySix,85},{eightySeven,86},{eightyEight,87},{eightyNine,88},{ninety,89},{ninetyOne,90},{ninetyTwo,91},{ninetyThree,92},{ninetyFour,93},{ninetyFive,94},{ninetySix,95},{ninetySeven,96},{ninetyEight,97},{ninetyNine,98},{oneHundred,99},{oneHundredOne,100},{oneHundredTwo,101},{oneHundredThree,102},{oneHundredFour,103},{oneHundredFive,104},{oneHundredSix,105},{oneHundredSeven,106},{oneHundredEitht,107},{oneHundredNine,108},{oneHundredTen,109},{oneHundredEleven,110},{oneHundredTwelve,111},{oneHundredThirteen,112},{oneHundredFourteen,113},{oneHundredFifteen,114},{oneHundredSixteen,115},{oneHundredSeventeen,116},{oneHundredEithteen,117},{oneHundredNineteen,118},{oneHundredTwenty,119},{oneHundredTwentyOne,120},{oneHundredTwentyTwo,121},{oneHundredTwentyThree,122},{oneHundredTwentyFour,123},{oneHundredTwentyFive,124},{oneHundredTwentySix,125},{oneHundredTwentySeven,126},{oneHundredTwentyEight,127}], [<<3>>,<<163>>]) - end, - -%%------------------------------------------------- -%% attribute memberList3(6) with type BIT STRING OPTIONAL -%%------------------------------------------------- - {EncBytes6,EncLen6} = case Cindex6 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_named_bit_string(Cindex6, [{one,0},{two,1},{three,2},{four,3},{five,4},{six,5},{seven,6},{eight,7},{nine,8},{ten,9},{eleven,10},{twelve,11},{thirteen,12},{fourteen,13},{fifteen,14},{sixteen,15},{seventeen,16},{eighteen,17},{nineteen,18},{twenty,19},{twentyOne,20},{twentyTwo,21},{twentyThree,22},{twentyFour,23},{twentyFive,24},{twentySix,25},{twentySeven,26},{twentyEight,27},{twentyNine,28},{thirty,29},{thirtyOne,30},{thirtyTwo,31},{thirtyThree,32},{thirtyFour,33},{thirtyFive,34},{thirtySix,35},{thirtySeven,36},{thirtyEight,37},{thirtyNine,38},{fourty,39},{fourtyOne,40},{fourtyTwo,41},{fourtyThree,42},{fourtyFour,43},{fourtyFive,44},{fourtySix,45},{fourtySeven,46},{fourtyEight,47},{fourtyNine,48},{fifty,49},{fiftyOne,50},{fiftyTwo,51},{fiftyThree,52},{fiftyFour,53},{fiftyFive,54},{fiftySix,55},{fiftySeven,56},{fiftyEight,57},{fiftyNine,58},{sixty,59},{sixtyOne,60},{sixtyTwo,61},{sixtyThree,62},{sixtyFour,63},{sixtyFive,64},{sixtySix,65},{sixtySeven,66},{sixtyEight,67},{sixtyNine,68},{seventy,69},{seventyOne,70},{seventyTwo,71},{seventyThree,72},{seventyFour,73},{seventyFive,74},{seventySix,75},{seventySeven,76},{seventyEight,77},{seventyNine,78},{eighty,79},{eightyOne,80},{eightyTwo,81},{eightyThree,82},{eightyFour,83},{eightyFive,84},{eightySix,85},{eightySeven,86},{eightyEight,87},{eightyNine,88},{ninety,89},{ninetyOne,90},{ninetyTwo,91},{ninetyThree,92},{ninetyFour,93},{ninetyFive,94},{ninetySix,95},{ninetySeven,96},{ninetyEight,97},{ninetyNine,98},{oneHundred,99},{oneHundredOne,100},{oneHundredTwo,101},{oneHundredThree,102},{oneHundredFour,103},{oneHundredFive,104},{oneHundredSix,105},{oneHundredSeven,106},{oneHundredEitht,107},{oneHundredNine,108},{oneHundredTen,109},{oneHundredEleven,110},{oneHundredTwelve,111},{oneHundredThirteen,112},{oneHundredFourteen,113},{oneHundredFifteen,114},{oneHundredSixteen,115},{oneHundredSeventeen,116},{oneHundredEithteen,117},{oneHundredNineteen,118},{oneHundredTwenty,119},{oneHundredTwentyOne,120},{oneHundredTwentyTwo,121},{oneHundredTwentyThree,122},{oneHundredTwentyFour,123},{oneHundredTwentyFive,124},{oneHundredTwentySix,125},{oneHundredTwentySeven,126},{oneHundredTwentyEight,127}], [<<3>>,<<164>>]) - end, - -%%------------------------------------------------- -%% attribute memberList4(7) with type BIT STRING OPTIONAL -%%------------------------------------------------- - {EncBytes7,EncLen7} = case Cindex7 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_named_bit_string(Cindex7, [{one,0},{two,1},{three,2},{four,3},{five,4},{six,5},{seven,6},{eight,7},{nine,8},{ten,9},{eleven,10},{twelve,11},{thirteen,12},{fourteen,13},{fifteen,14},{sixteen,15},{seventeen,16},{eighteen,17},{nineteen,18},{twenty,19},{twentyOne,20},{twentyTwo,21},{twentyThree,22},{twentyFour,23},{twentyFive,24},{twentySix,25},{twentySeven,26},{twentyEight,27},{twentyNine,28},{thirty,29},{thirtyOne,30},{thirtyTwo,31},{thirtyThree,32},{thirtyFour,33},{thirtyFive,34},{thirtySix,35},{thirtySeven,36},{thirtyEight,37},{thirtyNine,38},{fourty,39},{fourtyOne,40},{fourtyTwo,41},{fourtyThree,42},{fourtyFour,43},{fourtyFive,44},{fourtySix,45},{fourtySeven,46},{fourtyEight,47},{fourtyNine,48},{fifty,49},{fiftyOne,50},{fiftyTwo,51},{fiftyThree,52},{fiftyFour,53},{fiftyFive,54},{fiftySix,55},{fiftySeven,56},{fiftyEight,57},{fiftyNine,58},{sixty,59},{sixtyOne,60},{sixtyTwo,61},{sixtyThree,62},{sixtyFour,63},{sixtyFive,64},{sixtySix,65},{sixtySeven,66},{sixtyEight,67},{sixtyNine,68},{seventy,69},{seventyOne,70},{seventyTwo,71},{seventyThree,72},{seventyFour,73},{seventyFive,74},{seventySix,75},{seventySeven,76},{seventyEight,77},{seventyNine,78},{eighty,79},{eightyOne,80},{eightyTwo,81},{eightyThree,82},{eightyFour,83},{eightyFive,84},{eightySix,85},{eightySeven,86},{eightyEight,87},{eightyNine,88},{ninety,89},{ninetyOne,90},{ninetyTwo,91},{ninetyThree,92},{ninetyFour,93},{ninetyFive,94},{ninetySix,95},{ninetySeven,96},{ninetyEight,97},{ninetyNine,98},{oneHundred,99},{oneHundredOne,100},{oneHundredTwo,101},{oneHundredThree,102},{oneHundredFour,103},{oneHundredFive,104},{oneHundredSix,105},{oneHundredSeven,106},{oneHundredEitht,107},{oneHundredNine,108},{oneHundredTen,109},{oneHundredEleven,110},{oneHundredTwelve,111},{oneHundredThirteen,112},{oneHundredFourteen,113},{oneHundredFifteen,114},{oneHundredSixteen,115},{oneHundredSeventeen,116},{oneHundredEithteen,117},{oneHundredNineteen,118},{oneHundredTwenty,119},{oneHundredTwentyOne,120},{oneHundredTwentyTwo,121},{oneHundredTwentyThree,122},{oneHundredTwentyFour,123},{oneHundredTwentyFive,124},{oneHundredTwentySix,125},{oneHundredTwentySeven,126},{oneHundredTwentyEight,127}], [<<3>>,<<165>>]) - end, - - BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4, EncBytes5, EncBytes6, EncBytes7], -LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4 + EncLen5 + EncLen6 + EncLen7, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - - -%%================================ -%% KmePsGroupList_SEQOF_name -%%================================ -'enc_KmePsGroupList_SEQOF_name'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - single -> - encode_restricted_string(element(2,Val), [<<4>>,<<160>>]); - wide -> - encode_restricted_string(element(2,Val), [<<4>>,<<161>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_KmePsGroupList'(Tlv) -> - 'dec_KmePsGroupList'(Tlv, [16]). - -'dec_KmePsGroupList'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), -['dec_KmePsGroupList_SEQOF'(V1, [16]) || V1 <- Tlv1]. - - -'dec_KmePsGroupList_SEQOF'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute groupNo(1) with type INTEGER -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = decode_integer(V1, [2]), - -%%------------------------------------------------- -%% attribute device(2) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = 'CSTA-device-identifiers':'dec_DeviceID'(V2, [16]), - -%%------------------------------------------------- -%% attribute name(3) with type CHOICE OPTIONAL -%%------------------------------------------------- -{Term3,Tlv4} = case Tlv3 of -[V3 = {131072,_}|TempTlv4] -> - {'dec_KmePsGroupList_SEQOF_name'(V3, []), TempTlv4}; -[V3 = {131073,_}|TempTlv4] -> - {'dec_KmePsGroupList_SEQOF_name'(V3, []), TempTlv4}; - _ -> - { asn1_NOVALUE, Tlv3} -end, - -%%------------------------------------------------- -%% attribute memberList(4) with type BIT STRING OPTIONAL -%%------------------------------------------------- -{Term4,Tlv5} = case Tlv4 of -[{131074,V4}|TempTlv5] -> - {decode_named_bit_string(V4, [{one,0},{two,1},{three,2},{four,3},{five,4},{six,5},{seven,6},{eight,7},{nine,8},{ten,9},{eleven,10},{twelve,11},{thirteen,12},{fourteen,13},{fifteen,14},{sixteen,15},{seventeen,16},{eighteen,17},{nineteen,18},{twenty,19},{twentyOne,20},{twentyTwo,21},{twentyThree,22},{twentyFour,23},{twentyFive,24},{twentySix,25},{twentySeven,26},{twentyEight,27},{twentyNine,28},{thirty,29},{thirtyOne,30},{thirtyTwo,31},{thirtyThree,32},{thirtyFour,33},{thirtyFive,34},{thirtySix,35},{thirtySeven,36},{thirtyEight,37},{thirtyNine,38},{fourty,39},{fourtyOne,40},{fourtyTwo,41},{fourtyThree,42},{fourtyFour,43},{fourtyFive,44},{fourtySix,45},{fourtySeven,46},{fourtyEight,47},{fourtyNine,48},{fifty,49},{fiftyOne,50},{fiftyTwo,51},{fiftyThree,52},{fiftyFour,53},{fiftyFive,54},{fiftySix,55},{fiftySeven,56},{fiftyEight,57},{fiftyNine,58},{sixty,59},{sixtyOne,60},{sixtyTwo,61},{sixtyThree,62},{sixtyFour,63},{sixtyFive,64},{sixtySix,65},{sixtySeven,66},{sixtyEight,67},{sixtyNine,68},{seventy,69},{seventyOne,70},{seventyTwo,71},{seventyThree,72},{seventyFour,73},{seventyFive,74},{seventySix,75},{seventySeven,76},{seventyEight,77},{seventyNine,78},{eighty,79},{eightyOne,80},{eightyTwo,81},{eightyThree,82},{eightyFour,83},{eightyFive,84},{eightySix,85},{eightySeven,86},{eightyEight,87},{eightyNine,88},{ninety,89},{ninetyOne,90},{ninetyTwo,91},{ninetyThree,92},{ninetyFour,93},{ninetyFive,94},{ninetySix,95},{ninetySeven,96},{ninetyEight,97},{ninetyNine,98},{oneHundred,99},{oneHundredOne,100},{oneHundredTwo,101},{oneHundredThree,102},{oneHundredFour,103},{oneHundredFive,104},{oneHundredSix,105},{oneHundredSeven,106},{oneHundredEitht,107},{oneHundredNine,108},{oneHundredTen,109},{oneHundredEleven,110},{oneHundredTwelve,111},{oneHundredThirteen,112},{oneHundredFourteen,113},{oneHundredFifteen,114},{oneHundredSixteen,115},{oneHundredSeventeen,116},{oneHundredEithteen,117},{oneHundredNineteen,118},{oneHundredTwenty,119},{oneHundredTwentyOne,120},{oneHundredTwentyTwo,121},{oneHundredTwentyThree,122},{oneHundredTwentyFour,123},{oneHundredTwentyFive,124},{oneHundredTwentySix,125},{oneHundredTwentySeven,126},{oneHundredTwentyEight,127}], [3]), TempTlv5}; - _ -> - { asn1_NOVALUE, Tlv4} -end, - -%%------------------------------------------------- -%% attribute memberList2(5) with type BIT STRING OPTIONAL -%%------------------------------------------------- -{Term5,Tlv6} = case Tlv5 of -[{131075,V5}|TempTlv6] -> - {decode_named_bit_string(V5, [{one,0},{two,1},{three,2},{four,3},{five,4},{six,5},{seven,6},{eight,7},{nine,8},{ten,9},{eleven,10},{twelve,11},{thirteen,12},{fourteen,13},{fifteen,14},{sixteen,15},{seventeen,16},{eighteen,17},{nineteen,18},{twenty,19},{twentyOne,20},{twentyTwo,21},{twentyThree,22},{twentyFour,23},{twentyFive,24},{twentySix,25},{twentySeven,26},{twentyEight,27},{twentyNine,28},{thirty,29},{thirtyOne,30},{thirtyTwo,31},{thirtyThree,32},{thirtyFour,33},{thirtyFive,34},{thirtySix,35},{thirtySeven,36},{thirtyEight,37},{thirtyNine,38},{fourty,39},{fourtyOne,40},{fourtyTwo,41},{fourtyThree,42},{fourtyFour,43},{fourtyFive,44},{fourtySix,45},{fourtySeven,46},{fourtyEight,47},{fourtyNine,48},{fifty,49},{fiftyOne,50},{fiftyTwo,51},{fiftyThree,52},{fiftyFour,53},{fiftyFive,54},{fiftySix,55},{fiftySeven,56},{fiftyEight,57},{fiftyNine,58},{sixty,59},{sixtyOne,60},{sixtyTwo,61},{sixtyThree,62},{sixtyFour,63},{sixtyFive,64},{sixtySix,65},{sixtySeven,66},{sixtyEight,67},{sixtyNine,68},{seventy,69},{seventyOne,70},{seventyTwo,71},{seventyThree,72},{seventyFour,73},{seventyFive,74},{seventySix,75},{seventySeven,76},{seventyEight,77},{seventyNine,78},{eighty,79},{eightyOne,80},{eightyTwo,81},{eightyThree,82},{eightyFour,83},{eightyFive,84},{eightySix,85},{eightySeven,86},{eightyEight,87},{eightyNine,88},{ninety,89},{ninetyOne,90},{ninetyTwo,91},{ninetyThree,92},{ninetyFour,93},{ninetyFive,94},{ninetySix,95},{ninetySeven,96},{ninetyEight,97},{ninetyNine,98},{oneHundred,99},{oneHundredOne,100},{oneHundredTwo,101},{oneHundredThree,102},{oneHundredFour,103},{oneHundredFive,104},{oneHundredSix,105},{oneHundredSeven,106},{oneHundredEitht,107},{oneHundredNine,108},{oneHundredTen,109},{oneHundredEleven,110},{oneHundredTwelve,111},{oneHundredThirteen,112},{oneHundredFourteen,113},{oneHundredFifteen,114},{oneHundredSixteen,115},{oneHundredSeventeen,116},{oneHundredEithteen,117},{oneHundredNineteen,118},{oneHundredTwenty,119},{oneHundredTwentyOne,120},{oneHundredTwentyTwo,121},{oneHundredTwentyThree,122},{oneHundredTwentyFour,123},{oneHundredTwentyFive,124},{oneHundredTwentySix,125},{oneHundredTwentySeven,126},{oneHundredTwentyEight,127}], [3]), TempTlv6}; - _ -> - { asn1_NOVALUE, Tlv5} -end, - -%%------------------------------------------------- -%% attribute memberList3(6) with type BIT STRING OPTIONAL -%%------------------------------------------------- -{Term6,Tlv7} = case Tlv6 of -[{131076,V6}|TempTlv7] -> - {decode_named_bit_string(V6, [{one,0},{two,1},{three,2},{four,3},{five,4},{six,5},{seven,6},{eight,7},{nine,8},{ten,9},{eleven,10},{twelve,11},{thirteen,12},{fourteen,13},{fifteen,14},{sixteen,15},{seventeen,16},{eighteen,17},{nineteen,18},{twenty,19},{twentyOne,20},{twentyTwo,21},{twentyThree,22},{twentyFour,23},{twentyFive,24},{twentySix,25},{twentySeven,26},{twentyEight,27},{twentyNine,28},{thirty,29},{thirtyOne,30},{thirtyTwo,31},{thirtyThree,32},{thirtyFour,33},{thirtyFive,34},{thirtySix,35},{thirtySeven,36},{thirtyEight,37},{thirtyNine,38},{fourty,39},{fourtyOne,40},{fourtyTwo,41},{fourtyThree,42},{fourtyFour,43},{fourtyFive,44},{fourtySix,45},{fourtySeven,46},{fourtyEight,47},{fourtyNine,48},{fifty,49},{fiftyOne,50},{fiftyTwo,51},{fiftyThree,52},{fiftyFour,53},{fiftyFive,54},{fiftySix,55},{fiftySeven,56},{fiftyEight,57},{fiftyNine,58},{sixty,59},{sixtyOne,60},{sixtyTwo,61},{sixtyThree,62},{sixtyFour,63},{sixtyFive,64},{sixtySix,65},{sixtySeven,66},{sixtyEight,67},{sixtyNine,68},{seventy,69},{seventyOne,70},{seventyTwo,71},{seventyThree,72},{seventyFour,73},{seventyFive,74},{seventySix,75},{seventySeven,76},{seventyEight,77},{seventyNine,78},{eighty,79},{eightyOne,80},{eightyTwo,81},{eightyThree,82},{eightyFour,83},{eightyFive,84},{eightySix,85},{eightySeven,86},{eightyEight,87},{eightyNine,88},{ninety,89},{ninetyOne,90},{ninetyTwo,91},{ninetyThree,92},{ninetyFour,93},{ninetyFive,94},{ninetySix,95},{ninetySeven,96},{ninetyEight,97},{ninetyNine,98},{oneHundred,99},{oneHundredOne,100},{oneHundredTwo,101},{oneHundredThree,102},{oneHundredFour,103},{oneHundredFive,104},{oneHundredSix,105},{oneHundredSeven,106},{oneHundredEitht,107},{oneHundredNine,108},{oneHundredTen,109},{oneHundredEleven,110},{oneHundredTwelve,111},{oneHundredThirteen,112},{oneHundredFourteen,113},{oneHundredFifteen,114},{oneHundredSixteen,115},{oneHundredSeventeen,116},{oneHundredEithteen,117},{oneHundredNineteen,118},{oneHundredTwenty,119},{oneHundredTwentyOne,120},{oneHundredTwentyTwo,121},{oneHundredTwentyThree,122},{oneHundredTwentyFour,123},{oneHundredTwentyFive,124},{oneHundredTwentySix,125},{oneHundredTwentySeven,126},{oneHundredTwentyEight,127}], [3]), TempTlv7}; - _ -> - { asn1_NOVALUE, Tlv6} -end, - -%%------------------------------------------------- -%% attribute memberList4(7) with type BIT STRING OPTIONAL -%%------------------------------------------------- -{Term7,Tlv8} = case Tlv7 of -[{131077,V7}|TempTlv8] -> - {decode_named_bit_string(V7, [{one,0},{two,1},{three,2},{four,3},{five,4},{six,5},{seven,6},{eight,7},{nine,8},{ten,9},{eleven,10},{twelve,11},{thirteen,12},{fourteen,13},{fifteen,14},{sixteen,15},{seventeen,16},{eighteen,17},{nineteen,18},{twenty,19},{twentyOne,20},{twentyTwo,21},{twentyThree,22},{twentyFour,23},{twentyFive,24},{twentySix,25},{twentySeven,26},{twentyEight,27},{twentyNine,28},{thirty,29},{thirtyOne,30},{thirtyTwo,31},{thirtyThree,32},{thirtyFour,33},{thirtyFive,34},{thirtySix,35},{thirtySeven,36},{thirtyEight,37},{thirtyNine,38},{fourty,39},{fourtyOne,40},{fourtyTwo,41},{fourtyThree,42},{fourtyFour,43},{fourtyFive,44},{fourtySix,45},{fourtySeven,46},{fourtyEight,47},{fourtyNine,48},{fifty,49},{fiftyOne,50},{fiftyTwo,51},{fiftyThree,52},{fiftyFour,53},{fiftyFive,54},{fiftySix,55},{fiftySeven,56},{fiftyEight,57},{fiftyNine,58},{sixty,59},{sixtyOne,60},{sixtyTwo,61},{sixtyThree,62},{sixtyFour,63},{sixtyFive,64},{sixtySix,65},{sixtySeven,66},{sixtyEight,67},{sixtyNine,68},{seventy,69},{seventyOne,70},{seventyTwo,71},{seventyThree,72},{seventyFour,73},{seventyFive,74},{seventySix,75},{seventySeven,76},{seventyEight,77},{seventyNine,78},{eighty,79},{eightyOne,80},{eightyTwo,81},{eightyThree,82},{eightyFour,83},{eightyFive,84},{eightySix,85},{eightySeven,86},{eightyEight,87},{eightyNine,88},{ninety,89},{ninetyOne,90},{ninetyTwo,91},{ninetyThree,92},{ninetyFour,93},{ninetyFive,94},{ninetySix,95},{ninetySeven,96},{ninetyEight,97},{ninetyNine,98},{oneHundred,99},{oneHundredOne,100},{oneHundredTwo,101},{oneHundredThree,102},{oneHundredFour,103},{oneHundredFive,104},{oneHundredSix,105},{oneHundredSeven,106},{oneHundredEitht,107},{oneHundredNine,108},{oneHundredTen,109},{oneHundredEleven,110},{oneHundredTwelve,111},{oneHundredThirteen,112},{oneHundredFourteen,113},{oneHundredFifteen,114},{oneHundredSixteen,115},{oneHundredSeventeen,116},{oneHundredEithteen,117},{oneHundredNineteen,118},{oneHundredTwenty,119},{oneHundredTwentyOne,120},{oneHundredTwentyTwo,121},{oneHundredTwentyThree,122},{oneHundredTwentyFour,123},{oneHundredTwentyFive,124},{oneHundredTwentySix,125},{oneHundredTwentySeven,126},{oneHundredTwentyEight,127}], [3]), TempTlv8}; - _ -> - { asn1_NOVALUE, Tlv7} -end, - -case Tlv8 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv8}}}) % extra fields not allowed -end, - {'KmePsGroupList_SEQOF', Term1, Term2, Term3, Term4, Term5, Term6, Term7}. - -'dec_KmePsGroupList_SEQOF_name'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'single' - {131072, V1} -> - {single, begin -Val1 = decode_octet_string(V1, [4]), -C1 = byte_size(Val1), -if 1 =< C1, C1 =< 20 -> -Val1; -true -> -exit({error,{asn1,bad_range}}) -end -end}; - - -%% 'wide' - {131073, V1} -> - {wide, begin -Val2 = decode_octet_string(V1, [4]), -C2 = byte_size(Val2), -if 1 =< C2, C2 =< 40 -> -Val2; -true -> -exit({error,{asn1,bad_range}}) -end -end}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% KmeVmGroupList -%%================================ -'enc_KmeVmGroupList'(Val) -> - 'enc_KmeVmGroupList'(Val, [<<48>>]). - -'enc_KmeVmGroupList'(Val, TagIn) -> - {EncBytes,EncLen} = 'enc_KmeVmGroupList_components'(Val,[],0), - encode_tags(TagIn, EncBytes, EncLen). - -'enc_KmeVmGroupList_components'([], AccBytes, AccLen) -> - {lists:reverse(AccBytes),AccLen}; - -'enc_KmeVmGroupList_components'([H|T],AccBytes, AccLen) -> - {EncBytes,EncLen} = 'enc_KmeVmGroupList_SEQOF'(H, [<<48>>]), - 'enc_KmeVmGroupList_components'(T,[EncBytes|AccBytes], AccLen + EncLen). - - - - -%%================================ -%% KmeVmGroupList_SEQOF -%%================================ -'enc_KmeVmGroupList_SEQOF'(Val, TagIn) -> - {_,Cindex1, Cindex2, Cindex3, Cindex4} = Val, - -%%------------------------------------------------- -%% attribute device(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- - {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(Cindex1, [<<48>>]), - -%%------------------------------------------------- -%% attribute vmType(2) with type ENUMERATED -%%------------------------------------------------- - {EncBytes2,EncLen2} = case Cindex2 of -dpt -> encode_tags([<<10>>], [0], 1); -dtmf -> encode_tags([<<10>>], [1], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end, - -%%------------------------------------------------- -%% attribute name(3) with type CHOICE OPTIONAL -%%------------------------------------------------- - {EncBytes3,EncLen3} = case Cindex3 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmeVmGroupList_SEQOF_name'(Cindex3, []) - end, - -%%------------------------------------------------- -%% attribute dtmfType(4) with type ENUMERATED OPTIONAL -%%------------------------------------------------- - {EncBytes4,EncLen4} = case Cindex4 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - case Cindex4 of -aa -> encode_tags([<<10>>], [0], 1); -vm -> encode_tags([<<10>>], [1], 1); -Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) -end - end, - - BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4], -LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - - -%%================================ -%% KmeVmGroupList_SEQOF_name -%%================================ -'enc_KmeVmGroupList_SEQOF_name'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - single -> - encode_restricted_string(element(2,Val), [<<4>>,<<160>>]); - wide -> - encode_restricted_string(element(2,Val), [<<4>>,<<161>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_KmeVmGroupList'(Tlv) -> - 'dec_KmeVmGroupList'(Tlv, [16]). - -'dec_KmeVmGroupList'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), -['dec_KmeVmGroupList_SEQOF'(V1, [16]) || V1 <- Tlv1]. - - -'dec_KmeVmGroupList_SEQOF'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute device(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = 'CSTA-device-identifiers':'dec_DeviceID'(V1, [16]), - -%%------------------------------------------------- -%% attribute vmType(2) with type ENUMERATED -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = case decode_integer(V2, [10]) of -0 -> dpt; -1 -> dtmf; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end, - -%%------------------------------------------------- -%% attribute name(3) with type CHOICE OPTIONAL -%%------------------------------------------------- -{Term3,Tlv4} = case Tlv3 of -[V3 = {131072,_}|TempTlv4] -> - {'dec_KmeVmGroupList_SEQOF_name'(V3, []), TempTlv4}; -[V3 = {131073,_}|TempTlv4] -> - {'dec_KmeVmGroupList_SEQOF_name'(V3, []), TempTlv4}; - _ -> - { asn1_NOVALUE, Tlv3} -end, - -%%------------------------------------------------- -%% attribute dtmfType(4) with type ENUMERATED OPTIONAL -%%------------------------------------------------- -{Term4,Tlv5} = case Tlv4 of -[{10,V4}|TempTlv5] -> - {case decode_integer(V4, []) of -0 -> aa; -1 -> vm; -Default2 -> exit({error,{asn1,{illegal_enumerated,Default2}}}) -end, TempTlv5}; - _ -> - { asn1_NOVALUE, Tlv4} -end, - -case Tlv5 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv5}}}) % extra fields not allowed -end, - {'KmeVmGroupList_SEQOF', Term1, Term2, Term3, Term4}. - -'dec_KmeVmGroupList_SEQOF_name'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'single' - {131072, V1} -> - {single, begin -Val1 = decode_octet_string(V1, [4]), -C1 = byte_size(Val1), -if 1 =< C1, C1 =< 20 -> -Val1; -true -> -exit({error,{asn1,bad_range}}) -end -end}; - - -%% 'wide' - {131073, V1} -> - {wide, begin -Val2 = decode_octet_string(V1, [4]), -C2 = byte_size(Val2), -if 1 =< C2, C2 =< 40 -> -Val2; -true -> -exit({error,{asn1,bad_range}}) -end -end}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% KmeVmDtmfType -%%================================ -'enc_KmeVmDtmfType'(Val) -> - 'enc_KmeVmDtmfType'(Val, [<<10>>]). - -'enc_KmeVmDtmfType'(Val, TagIn) -> -case Val of -aa -> encode_tags(TagIn, [0], 1); -vm -> encode_tags(TagIn, [1], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end. - - -'dec_KmeVmDtmfType'(Tlv) -> - 'dec_KmeVmDtmfType'(Tlv, [10]). - -'dec_KmeVmDtmfType'(Tlv, TagIn) -> -case decode_integer(Tlv, TagIn) of -0 -> aa; -1 -> vm; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end. - - - -%%================================ -%% KmeVmGroup -%%================================ -'enc_KmeVmGroup'(Val) -> - 'enc_KmeVmGroup'(Val, [<<10>>]). - -'enc_KmeVmGroup'(Val, TagIn) -> -case Val of -dpt -> encode_tags(TagIn, [0], 1); -dtmf -> encode_tags(TagIn, [1], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end. - - -'dec_KmeVmGroup'(Tlv) -> - 'dec_KmeVmGroup'(Tlv, [10]). - -'dec_KmeVmGroup'(Tlv, TagIn) -> -case decode_integer(Tlv, TagIn) of -0 -> dpt; -1 -> dtmf; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end. - - - -%%================================ -%% KmeDoorPhone -%%================================ -'enc_KmeDoorPhone'(Val) -> - 'enc_KmeDoorPhone'(Val, [<<48>>]). - -'enc_KmeDoorPhone'(Val, TagIn) -> - {EncBytes,EncLen} = 'enc_KmeDoorPhone_components'(Val,[],0), - encode_tags(TagIn, EncBytes, EncLen). - -'enc_KmeDoorPhone_components'([], AccBytes, AccLen) -> - {lists:reverse(AccBytes),AccLen}; - -'enc_KmeDoorPhone_components'([H|T],AccBytes, AccLen) -> - {EncBytes,EncLen} = 'enc_KmeDoorPhone_SEQOF'(H, [<<48>>]), - 'enc_KmeDoorPhone_components'(T,[EncBytes|AccBytes], AccLen + EncLen). - - - - -%%================================ -%% KmeDoorPhone_SEQOF -%%================================ -'enc_KmeDoorPhone_SEQOF'(Val, TagIn) -> - {_,Cindex1, Cindex2, Cindex3} = Val, - -%%------------------------------------------------- -%% attribute doorPhoneNo(1) with type IA5String -%%------------------------------------------------- - {EncBytes1,EncLen1} = encode_restricted_string(Cindex1, [<<22>>,<<160>>]), - -%%------------------------------------------------- -%% attribute device(2) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- - {EncBytes2,EncLen2} = 'CSTA-device-identifiers':'enc_DeviceID'(Cindex2, [<<48>>,<<161>>]), - -%%------------------------------------------------- -%% attribute name(3) with type CHOICE OPTIONAL -%%------------------------------------------------- - {EncBytes3,EncLen3} = case Cindex3 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmeDoorPhone_SEQOF_name'(Cindex3, [<<162>>]) - end, - - BytesSoFar = [EncBytes1, EncBytes2, EncBytes3], -LenSoFar = EncLen1 + EncLen2 + EncLen3, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - - -%%================================ -%% KmeDoorPhone_SEQOF_name -%%================================ -'enc_KmeDoorPhone_SEQOF_name'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - single -> - encode_restricted_string(element(2,Val), [<<4>>,<<160>>]); - wide -> - encode_restricted_string(element(2,Val), [<<4>>,<<161>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_KmeDoorPhone'(Tlv) -> - 'dec_KmeDoorPhone'(Tlv, [16]). - -'dec_KmeDoorPhone'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), -['dec_KmeDoorPhone_SEQOF'(V1, [16]) || V1 <- Tlv1]. - - -'dec_KmeDoorPhone_SEQOF'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute doorPhoneNo(1) with type IA5String -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = begin -Val1 = decode_restricted_string(V1, [131072,22]), -C1 = byte_size(Val1), -if 1 =< C1, C1 =< 2 -> -binary_to_list(Val1); -true -> -exit({error,{asn1,bad_range}}) -end -end, - -%%------------------------------------------------- -%% attribute device(2) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = 'CSTA-device-identifiers':'dec_DeviceID'(V2, [131073,16]), - -%%------------------------------------------------- -%% attribute name(3) with type CHOICE OPTIONAL -%%------------------------------------------------- -{Term3,Tlv4} = case Tlv3 of -[{131074,V3}|TempTlv4] -> - {'dec_KmeDoorPhone_SEQOF_name'(V3, []), TempTlv4}; - _ -> - { asn1_NOVALUE, Tlv3} -end, - -case Tlv4 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv4}}}) % extra fields not allowed -end, - {'KmeDoorPhone_SEQOF', Term1, Term2, Term3}. - -'dec_KmeDoorPhone_SEQOF_name'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'single' - {131072, V1} -> - {single, begin -Val1 = decode_octet_string(V1, [4]), -C1 = byte_size(Val1), -if 1 =< C1, C1 =< 20 -> -Val1; -true -> -exit({error,{asn1,bad_range}}) -end -end}; - - -%% 'wide' - {131073, V1} -> - {wide, begin -Val2 = decode_octet_string(V1, [4]), -C2 = byte_size(Val2), -if 1 =< C2, C2 =< 40 -> -Val2; -true -> -exit({error,{asn1,bad_range}}) -end -end}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% KmeIncomingGroupList -%%================================ -'enc_KmeIncomingGroupList'(Val) -> - 'enc_KmeIncomingGroupList'(Val, [<<48>>]). - -'enc_KmeIncomingGroupList'(Val, TagIn) -> - {EncBytes,EncLen} = 'enc_KmeIncomingGroupList_components'(Val,[],0), - encode_tags(TagIn, EncBytes, EncLen). - -'enc_KmeIncomingGroupList_components'([], AccBytes, AccLen) -> - {lists:reverse(AccBytes),AccLen}; - -'enc_KmeIncomingGroupList_components'([H|T],AccBytes, AccLen) -> - {EncBytes,EncLen} = 'enc_KmeIncomingGroupList_SEQOF'(H, [<<48>>]), - 'enc_KmeIncomingGroupList_components'(T,[EncBytes|AccBytes], AccLen + EncLen). - - - - -%%================================ -%% KmeIncomingGroupList_SEQOF -%%================================ -'enc_KmeIncomingGroupList_SEQOF'(Val, TagIn) -> - {_,Cindex1, Cindex2, Cindex3, Cindex4, Cindex5, Cindex6, Cindex7, Cindex8} = Val, - -%%------------------------------------------------- -%% attribute groupNo(1) with type INTEGER -%%------------------------------------------------- - {EncBytes1,EncLen1} = encode_integer(Cindex1, [<<2>>,<<160>>]), - -%%------------------------------------------------- -%% attribute device(2) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- - {EncBytes2,EncLen2} = 'CSTA-device-identifiers':'enc_DeviceID'(Cindex2, [<<48>>,<<161>>]), - -%%------------------------------------------------- -%% attribute name(3) with type CHOICE OPTIONAL -%%------------------------------------------------- - {EncBytes3,EncLen3} = case Cindex3 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmeIncomingGroupList_SEQOF_name'(Cindex3, [<<162>>]) - end, - -%%------------------------------------------------- -%% attribute extNo(4) with type IA5String OPTIONAL -%%------------------------------------------------- - {EncBytes4,EncLen4} = case Cindex4 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_restricted_string(Cindex4, [<<22>>,<<163>>]) - end, - -%%------------------------------------------------- -%% attribute groupType(5) with type ENUMERATED -%%------------------------------------------------- - {EncBytes5,EncLen5} = case Cindex5 of -ucd -> encode_tags([<<10>>,<<164>>], [0], 1); -ring -> encode_tags([<<10>>,<<164>>], [1], 1); -hunt -> encode_tags([<<10>>,<<164>>], [2], 1); -Enumval3 -> exit({error,{asn1, {enumerated_not_in_range,Enumval3}}}) -end, - -%%------------------------------------------------- -%% attribute acdMode(6) with type BOOLEAN -%%------------------------------------------------- - {EncBytes6,EncLen6} = encode_boolean(Cindex6, [<<1>>,<<165>>]), - -%%------------------------------------------------- -%% attribute ctiWaitTime(7) with type INTEGER -%%------------------------------------------------- - {EncBytes7,EncLen7} = encode_integer(Cindex7, [<<2>>,<<166>>]), - -%%------------------------------------------------- -%% attribute queueSize(8) with type INTEGER OPTIONAL -%%------------------------------------------------- - {EncBytes8,EncLen8} = case Cindex8 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_integer(Cindex8, [<<2>>,<<167>>]) - end, - - BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4, EncBytes5, EncBytes6, EncBytes7, EncBytes8], -LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4 + EncLen5 + EncLen6 + EncLen7 + EncLen8, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - - -%%================================ -%% KmeIncomingGroupList_SEQOF_name -%%================================ -'enc_KmeIncomingGroupList_SEQOF_name'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - single -> - encode_restricted_string(element(2,Val), [<<4>>,<<160>>]); - wide -> - encode_restricted_string(element(2,Val), [<<4>>,<<161>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_KmeIncomingGroupList'(Tlv) -> - 'dec_KmeIncomingGroupList'(Tlv, [16]). - -'dec_KmeIncomingGroupList'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), -['dec_KmeIncomingGroupList_SEQOF'(V1, [16]) || V1 <- Tlv1]. - - -'dec_KmeIncomingGroupList_SEQOF'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute groupNo(1) with type INTEGER -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = decode_integer(V1, [131072,2]), - -%%------------------------------------------------- -%% attribute device(2) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = 'CSTA-device-identifiers':'dec_DeviceID'(V2, [131073,16]), - -%%------------------------------------------------- -%% attribute name(3) with type CHOICE OPTIONAL -%%------------------------------------------------- -{Term3,Tlv4} = case Tlv3 of -[{131074,V3}|TempTlv4] -> - {'dec_KmeIncomingGroupList_SEQOF_name'(V3, []), TempTlv4}; - _ -> - { asn1_NOVALUE, Tlv3} -end, - -%%------------------------------------------------- -%% attribute extNo(4) with type IA5String OPTIONAL -%%------------------------------------------------- -{Term4,Tlv5} = case Tlv4 of -[{131075,V4}|TempTlv5] -> - {begin -Val1 = decode_restricted_string(V4, [22]), -C1 = byte_size(Val1), -if 1 =< C1, C1 =< 5 -> -binary_to_list(Val1); -true -> -exit({error,{asn1,bad_range}}) -end -end, TempTlv5}; - _ -> - { asn1_NOVALUE, Tlv4} -end, - -%%------------------------------------------------- -%% attribute groupType(5) with type ENUMERATED -%%------------------------------------------------- -[V5|Tlv6] = Tlv5, -Term5 = case decode_integer(V5, [131076,10]) of -0 -> ucd; -1 -> ring; -2 -> hunt; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end, - -%%------------------------------------------------- -%% attribute acdMode(6) with type BOOLEAN -%%------------------------------------------------- -[V6|Tlv7] = Tlv6, -Term6 = decode_boolean(V6, [131077,1]), - -%%------------------------------------------------- -%% attribute ctiWaitTime(7) with type INTEGER -%%------------------------------------------------- -[V7|Tlv8] = Tlv7, -Term7 = decode_integer(V7, [131078,2]), - -%%------------------------------------------------- -%% attribute queueSize(8) with type INTEGER OPTIONAL -%%------------------------------------------------- -{Term8,Tlv9} = case Tlv8 of -[{131079,V8}|TempTlv9] -> - {decode_integer(V8, [2]), TempTlv9}; - _ -> - { asn1_NOVALUE, Tlv8} -end, - -case Tlv9 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv9}}}) % extra fields not allowed -end, - {'KmeIncomingGroupList_SEQOF', Term1, Term2, Term3, Term4, Term5, Term6, Term7, Term8}. - -'dec_KmeIncomingGroupList_SEQOF_name'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'single' - {131072, V1} -> - {single, begin -Val1 = decode_octet_string(V1, [4]), -C1 = byte_size(Val1), -if 1 =< C1, C1 =< 20 -> -Val1; -true -> -exit({error,{asn1,bad_range}}) -end -end}; - - -%% 'wide' - {131073, V1} -> - {wide, begin -Val2 = decode_octet_string(V1, [4]), -C2 = byte_size(Val2), -if 1 =< C2, C2 =< 40 -> -Val2; -true -> -exit({error,{asn1,bad_range}}) -end -end}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% KmeIcmGrpMembers -%%================================ -'enc_KmeIcmGrpMembers'(Val) -> - 'enc_KmeIcmGrpMembers'(Val, [<<48>>]). - -'enc_KmeIcmGrpMembers'(Val, TagIn) -> -{_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute grpDevice(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- - {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(Cindex1, [<<160>>]), - -%%------------------------------------------------- -%% attribute members(2) with type SEQUENCE OF -%%------------------------------------------------- - {EncBytes2,EncLen2} = 'enc_KmeIcmGrpMembers_members'(Cindex2, [<<161>>]), - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - - -%%================================ -%% KmeIcmGrpMembers_members -%%================================ -'enc_KmeIcmGrpMembers_members'(Val, TagIn) -> - {EncBytes,EncLen} = 'enc_KmeIcmGrpMembers_members_components'(Val,[],0), - encode_tags(TagIn, EncBytes, EncLen). - -'enc_KmeIcmGrpMembers_members_components'([], AccBytes, AccLen) -> - {lists:reverse(AccBytes),AccLen}; - -'enc_KmeIcmGrpMembers_members_components'([H|T],AccBytes, AccLen) -> - {EncBytes,EncLen} = 'CSTA-device-identifiers':'enc_DeviceID'(H, [<<48>>]), - 'enc_KmeIcmGrpMembers_members_components'(T,[EncBytes|AccBytes], AccLen + EncLen). - - - -'dec_KmeIcmGrpMembers'(Tlv) -> - 'dec_KmeIcmGrpMembers'(Tlv, [16]). - -'dec_KmeIcmGrpMembers'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute grpDevice(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = 'CSTA-device-identifiers':'dec_DeviceID'(V1, [131072]), - -%%------------------------------------------------- -%% attribute members(2) with type SEQUENCE OF -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = 'dec_KmeIcmGrpMembers_members'(V2, [131073]), - -case Tlv3 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowed -end, - {'KmeIcmGrpMembers', Term1, Term2}. - -'dec_KmeIcmGrpMembers_members'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), -['CSTA-device-identifiers':'dec_DeviceID'(V1, [16]) || V1 <- Tlv1]. - - - - -%%================================ -%% KmePckPagGroupList -%%================================ -'enc_KmePckPagGroupList'(Val) -> - 'enc_KmePckPagGroupList'(Val, [<<48>>]). - -'enc_KmePckPagGroupList'(Val, TagIn) -> - {EncBytes,EncLen} = 'enc_KmePckPagGroupList_components'(Val,[],0), - encode_tags(TagIn, EncBytes, EncLen). - -'enc_KmePckPagGroupList_components'([], AccBytes, AccLen) -> - {lists:reverse(AccBytes),AccLen}; - -'enc_KmePckPagGroupList_components'([H|T],AccBytes, AccLen) -> - {EncBytes,EncLen} = 'enc_KmePckPagGroupList_SEQOF'(H, [<<48>>]), - 'enc_KmePckPagGroupList_components'(T,[EncBytes|AccBytes], AccLen + EncLen). - - - - -%%================================ -%% KmePckPagGroupList_SEQOF -%%================================ -'enc_KmePckPagGroupList_SEQOF'(Val, TagIn) -> - {_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute groupNo(1) with type INTEGER -%%------------------------------------------------- - {EncBytes1,EncLen1} = encode_integer(Cindex1, [<<2>>,<<160>>]), - -%%------------------------------------------------- -%% attribute memberList(2) with type BIT STRING OPTIONAL -%%------------------------------------------------- - {EncBytes2,EncLen2} = case Cindex2 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_named_bit_string(Cindex2, [{one,0},{two,1},{three,2},{four,3},{five,4},{six,5},{seven,6},{eight,7},{nine,8},{ten,9},{eleven,10},{twelve,11},{thirteen,12},{fourteen,13},{fifteen,14},{sixteen,15},{seventeen,16},{eighteen,17},{nineteen,18},{twenty,19},{twentyOne,20},{twentyTwo,21},{twentyThree,22},{twentyFour,23},{twentyFive,24},{twentySix,25},{twentySeven,26},{twentyEight,27},{twentyNine,28},{thirty,29},{thirtyOne,30},{thirtyTwo,31},{thirtyThree,32},{thirtyFour,33},{thirtyFive,34},{thirtySix,35},{thirtySeven,36},{thirtyEight,37},{thirtyNine,38},{fourty,39},{fourtyOne,40},{fourtyTwo,41},{fourtyThree,42},{fourtyFour,43},{fourtyFive,44},{fourtySix,45},{fourtySeven,46},{fourtyEight,47},{fourtyNine,48},{fifty,49},{fiftyOne,50},{fiftyTwo,51},{fiftyThree,52},{fiftyFour,53},{fiftyFive,54},{fiftySix,55},{fiftySeven,56},{fiftyEight,57},{fiftyNine,58},{sixty,59},{sixtyOne,60},{sixtyTwo,61},{sixtyThree,62},{sixtyFour,63},{sixtyFive,64},{sixtySix,65},{sixtySeven,66},{sixtyEight,67},{sixtyNine,68},{seventy,69},{seventyOne,70},{seventyTwo,71},{seventyThree,72},{seventyFour,73},{seventyFive,74},{seventySix,75},{seventySeven,76},{seventyEight,77},{seventyNine,78},{eighty,79},{eightyOne,80},{eightyTwo,81},{eightyThree,82},{eightyFour,83},{eightyFive,84},{eightySix,85},{eightySeven,86},{eightyEight,87},{eightyNine,88},{ninety,89},{ninetyOne,90},{ninetyTwo,91},{ninetyThree,92},{ninetyFour,93},{ninetyFive,94},{ninetySix,95},{ninetySeven,96},{ninetyEight,97},{ninetyNine,98},{oneHundred,99},{oneHundredOne,100},{oneHundredTwo,101},{oneHundredThree,102},{oneHundredFour,103},{oneHundredFive,104},{oneHundredSix,105},{oneHundredSeven,106},{oneHundredEitht,107},{oneHundredNine,108},{oneHundredTen,109},{oneHundredEleven,110},{oneHundredTwelve,111},{oneHundredThirteen,112},{oneHundredFourteen,113},{oneHundredFifteen,114},{oneHundredSixteen,115},{oneHundredSeventeen,116},{oneHundredEithteen,117},{oneHundredNineteen,118},{oneHundredTwenty,119},{oneHundredTwentyOne,120},{oneHundredTwentyTwo,121},{oneHundredTwentyThree,122},{oneHundredTwentyFour,123},{oneHundredTwentyFive,124},{oneHundredTwentySix,125},{oneHundredTwentySeven,126},{oneHundredTwentyEight,127}], [<<3>>,<<161>>]) - end, - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_KmePckPagGroupList'(Tlv) -> - 'dec_KmePckPagGroupList'(Tlv, [16]). - -'dec_KmePckPagGroupList'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), -['dec_KmePckPagGroupList_SEQOF'(V1, [16]) || V1 <- Tlv1]. - - -'dec_KmePckPagGroupList_SEQOF'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute groupNo(1) with type INTEGER -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = decode_integer(V1, [131072,2]), - -%%------------------------------------------------- -%% attribute memberList(2) with type BIT STRING OPTIONAL -%%------------------------------------------------- -{Term2,Tlv3} = case Tlv2 of -[{131073,V2}|TempTlv3] -> - {decode_named_bit_string(V2, [{one,0},{two,1},{three,2},{four,3},{five,4},{six,5},{seven,6},{eight,7},{nine,8},{ten,9},{eleven,10},{twelve,11},{thirteen,12},{fourteen,13},{fifteen,14},{sixteen,15},{seventeen,16},{eighteen,17},{nineteen,18},{twenty,19},{twentyOne,20},{twentyTwo,21},{twentyThree,22},{twentyFour,23},{twentyFive,24},{twentySix,25},{twentySeven,26},{twentyEight,27},{twentyNine,28},{thirty,29},{thirtyOne,30},{thirtyTwo,31},{thirtyThree,32},{thirtyFour,33},{thirtyFive,34},{thirtySix,35},{thirtySeven,36},{thirtyEight,37},{thirtyNine,38},{fourty,39},{fourtyOne,40},{fourtyTwo,41},{fourtyThree,42},{fourtyFour,43},{fourtyFive,44},{fourtySix,45},{fourtySeven,46},{fourtyEight,47},{fourtyNine,48},{fifty,49},{fiftyOne,50},{fiftyTwo,51},{fiftyThree,52},{fiftyFour,53},{fiftyFive,54},{fiftySix,55},{fiftySeven,56},{fiftyEight,57},{fiftyNine,58},{sixty,59},{sixtyOne,60},{sixtyTwo,61},{sixtyThree,62},{sixtyFour,63},{sixtyFive,64},{sixtySix,65},{sixtySeven,66},{sixtyEight,67},{sixtyNine,68},{seventy,69},{seventyOne,70},{seventyTwo,71},{seventyThree,72},{seventyFour,73},{seventyFive,74},{seventySix,75},{seventySeven,76},{seventyEight,77},{seventyNine,78},{eighty,79},{eightyOne,80},{eightyTwo,81},{eightyThree,82},{eightyFour,83},{eightyFive,84},{eightySix,85},{eightySeven,86},{eightyEight,87},{eightyNine,88},{ninety,89},{ninetyOne,90},{ninetyTwo,91},{ninetyThree,92},{ninetyFour,93},{ninetyFive,94},{ninetySix,95},{ninetySeven,96},{ninetyEight,97},{ninetyNine,98},{oneHundred,99},{oneHundredOne,100},{oneHundredTwo,101},{oneHundredThree,102},{oneHundredFour,103},{oneHundredFive,104},{oneHundredSix,105},{oneHundredSeven,106},{oneHundredEitht,107},{oneHundredNine,108},{oneHundredTen,109},{oneHundredEleven,110},{oneHundredTwelve,111},{oneHundredThirteen,112},{oneHundredFourteen,113},{oneHundredFifteen,114},{oneHundredSixteen,115},{oneHundredSeventeen,116},{oneHundredEithteen,117},{oneHundredNineteen,118},{oneHundredTwenty,119},{oneHundredTwentyOne,120},{oneHundredTwentyTwo,121},{oneHundredTwentyThree,122},{oneHundredTwentyFour,123},{oneHundredTwentyFive,124},{oneHundredTwentySix,125},{oneHundredTwentySeven,126},{oneHundredTwentyEight,127}], [3]), TempTlv3}; - _ -> - { asn1_NOVALUE, Tlv2} -end, - -case Tlv3 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowed -end, - {'KmePckPagGroupList_SEQOF', Term1, Term2}. - - - -%%================================ -%% KmeGroupMembers -%%================================ -'enc_KmeGroupMembers'(Val) -> - 'enc_KmeGroupMembers'(Val, [<<3>>]). - -'enc_KmeGroupMembers'(Val, TagIn) -> -encode_named_bit_string(Val, [{one,0},{two,1},{three,2},{four,3},{five,4},{six,5},{seven,6},{eight,7},{nine,8},{ten,9},{eleven,10},{twelve,11},{thirteen,12},{fourteen,13},{fifteen,14},{sixteen,15},{seventeen,16},{eighteen,17},{nineteen,18},{twenty,19},{twentyOne,20},{twentyTwo,21},{twentyThree,22},{twentyFour,23},{twentyFive,24},{twentySix,25},{twentySeven,26},{twentyEight,27},{twentyNine,28},{thirty,29},{thirtyOne,30},{thirtyTwo,31},{thirtyThree,32},{thirtyFour,33},{thirtyFive,34},{thirtySix,35},{thirtySeven,36},{thirtyEight,37},{thirtyNine,38},{fourty,39},{fourtyOne,40},{fourtyTwo,41},{fourtyThree,42},{fourtyFour,43},{fourtyFive,44},{fourtySix,45},{fourtySeven,46},{fourtyEight,47},{fourtyNine,48},{fifty,49},{fiftyOne,50},{fiftyTwo,51},{fiftyThree,52},{fiftyFour,53},{fiftyFive,54},{fiftySix,55},{fiftySeven,56},{fiftyEight,57},{fiftyNine,58},{sixty,59},{sixtyOne,60},{sixtyTwo,61},{sixtyThree,62},{sixtyFour,63},{sixtyFive,64},{sixtySix,65},{sixtySeven,66},{sixtyEight,67},{sixtyNine,68},{seventy,69},{seventyOne,70},{seventyTwo,71},{seventyThree,72},{seventyFour,73},{seventyFive,74},{seventySix,75},{seventySeven,76},{seventyEight,77},{seventyNine,78},{eighty,79},{eightyOne,80},{eightyTwo,81},{eightyThree,82},{eightyFour,83},{eightyFive,84},{eightySix,85},{eightySeven,86},{eightyEight,87},{eightyNine,88},{ninety,89},{ninetyOne,90},{ninetyTwo,91},{ninetyThree,92},{ninetyFour,93},{ninetyFive,94},{ninetySix,95},{ninetySeven,96},{ninetyEight,97},{ninetyNine,98},{oneHundred,99},{oneHundredOne,100},{oneHundredTwo,101},{oneHundredThree,102},{oneHundredFour,103},{oneHundredFive,104},{oneHundredSix,105},{oneHundredSeven,106},{oneHundredEitht,107},{oneHundredNine,108},{oneHundredTen,109},{oneHundredEleven,110},{oneHundredTwelve,111},{oneHundredThirteen,112},{oneHundredFourteen,113},{oneHundredFifteen,114},{oneHundredSixteen,115},{oneHundredSeventeen,116},{oneHundredEithteen,117},{oneHundredNineteen,118},{oneHundredTwenty,119},{oneHundredTwentyOne,120},{oneHundredTwentyTwo,121},{oneHundredTwentyThree,122},{oneHundredTwentyFour,123},{oneHundredTwentyFive,124},{oneHundredTwentySix,125},{oneHundredTwentySeven,126},{oneHundredTwentyEight,127}], TagIn). - - -'dec_KmeGroupMembers'(Tlv) -> - 'dec_KmeGroupMembers'(Tlv, [3]). - -'dec_KmeGroupMembers'(Tlv, TagIn) -> -decode_named_bit_string(Tlv, [{one,0},{two,1},{three,2},{four,3},{five,4},{six,5},{seven,6},{eight,7},{nine,8},{ten,9},{eleven,10},{twelve,11},{thirteen,12},{fourteen,13},{fifteen,14},{sixteen,15},{seventeen,16},{eighteen,17},{nineteen,18},{twenty,19},{twentyOne,20},{twentyTwo,21},{twentyThree,22},{twentyFour,23},{twentyFive,24},{twentySix,25},{twentySeven,26},{twentyEight,27},{twentyNine,28},{thirty,29},{thirtyOne,30},{thirtyTwo,31},{thirtyThree,32},{thirtyFour,33},{thirtyFive,34},{thirtySix,35},{thirtySeven,36},{thirtyEight,37},{thirtyNine,38},{fourty,39},{fourtyOne,40},{fourtyTwo,41},{fourtyThree,42},{fourtyFour,43},{fourtyFive,44},{fourtySix,45},{fourtySeven,46},{fourtyEight,47},{fourtyNine,48},{fifty,49},{fiftyOne,50},{fiftyTwo,51},{fiftyThree,52},{fiftyFour,53},{fiftyFive,54},{fiftySix,55},{fiftySeven,56},{fiftyEight,57},{fiftyNine,58},{sixty,59},{sixtyOne,60},{sixtyTwo,61},{sixtyThree,62},{sixtyFour,63},{sixtyFive,64},{sixtySix,65},{sixtySeven,66},{sixtyEight,67},{sixtyNine,68},{seventy,69},{seventyOne,70},{seventyTwo,71},{seventyThree,72},{seventyFour,73},{seventyFive,74},{seventySix,75},{seventySeven,76},{seventyEight,77},{seventyNine,78},{eighty,79},{eightyOne,80},{eightyTwo,81},{eightyThree,82},{eightyFour,83},{eightyFive,84},{eightySix,85},{eightySeven,86},{eightyEight,87},{eightyNine,88},{ninety,89},{ninetyOne,90},{ninetyTwo,91},{ninetyThree,92},{ninetyFour,93},{ninetyFive,94},{ninetySix,95},{ninetySeven,96},{ninetyEight,97},{ninetyNine,98},{oneHundred,99},{oneHundredOne,100},{oneHundredTwo,101},{oneHundredThree,102},{oneHundredFour,103},{oneHundredFive,104},{oneHundredSix,105},{oneHundredSeven,106},{oneHundredEitht,107},{oneHundredNine,108},{oneHundredTen,109},{oneHundredEleven,110},{oneHundredTwelve,111},{oneHundredThirteen,112},{oneHundredFourteen,113},{oneHundredFifteen,114},{oneHundredSixteen,115},{oneHundredSeventeen,116},{oneHundredEithteen,117},{oneHundredNineteen,118},{oneHundredTwenty,119},{oneHundredTwentyOne,120},{oneHundredTwentyTwo,121},{oneHundredTwentyThree,122},{oneHundredTwentyFour,123},{oneHundredTwentyFive,124},{oneHundredTwentySix,125},{oneHundredTwentySeven,126},{oneHundredTwentyEight,127}], TagIn). - - - -%%================================ -%% KmeExtTrkGroupList -%%================================ -'enc_KmeExtTrkGroupList'(Val) -> - 'enc_KmeExtTrkGroupList'(Val, [<<48>>]). - -'enc_KmeExtTrkGroupList'(Val, TagIn) -> - {EncBytes,EncLen} = 'enc_KmeExtTrkGroupList_components'(Val,[],0), - encode_tags(TagIn, EncBytes, EncLen). - -'enc_KmeExtTrkGroupList_components'([], AccBytes, AccLen) -> - {lists:reverse(AccBytes),AccLen}; - -'enc_KmeExtTrkGroupList_components'([H|T],AccBytes, AccLen) -> - {EncBytes,EncLen} = 'enc_KmeExtTrkGroupList_SEQOF'(H, [<<48>>]), - 'enc_KmeExtTrkGroupList_components'(T,[EncBytes|AccBytes], AccLen + EncLen). - - - - -%%================================ -%% KmeExtTrkGroupList_SEQOF -%%================================ -'enc_KmeExtTrkGroupList_SEQOF'(Val, TagIn) -> - {_,Cindex1, Cindex2, Cindex3} = Val, - -%%------------------------------------------------- -%% attribute groupNo(1) with type INTEGER -%%------------------------------------------------- - {EncBytes1,EncLen1} = encode_integer(Cindex1, [<<2>>,<<160>>]), - -%%------------------------------------------------- -%% attribute name(2) with type CHOICE OPTIONAL -%%------------------------------------------------- - {EncBytes2,EncLen2} = case Cindex2 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmeExtTrkGroupList_SEQOF_name'(Cindex2, [<<161>>]) - end, - -%%------------------------------------------------- -%% attribute tenantNo(3) with type INTEGER OPTIONAL -%%------------------------------------------------- - {EncBytes3,EncLen3} = case Cindex3 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_integer(Cindex3, [<<2>>,<<162>>]) - end, - - BytesSoFar = [EncBytes1, EncBytes2, EncBytes3], -LenSoFar = EncLen1 + EncLen2 + EncLen3, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - - -%%================================ -%% KmeExtTrkGroupList_SEQOF_name -%%================================ -'enc_KmeExtTrkGroupList_SEQOF_name'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - single -> - encode_restricted_string(element(2,Val), [<<4>>,<<160>>]); - wide -> - encode_restricted_string(element(2,Val), [<<4>>,<<161>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_KmeExtTrkGroupList'(Tlv) -> - 'dec_KmeExtTrkGroupList'(Tlv, [16]). - -'dec_KmeExtTrkGroupList'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), -['dec_KmeExtTrkGroupList_SEQOF'(V1, [16]) || V1 <- Tlv1]. - - -'dec_KmeExtTrkGroupList_SEQOF'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute groupNo(1) with type INTEGER -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = decode_integer(V1, [131072,2]), - -%%------------------------------------------------- -%% attribute name(2) with type CHOICE OPTIONAL -%%------------------------------------------------- -{Term2,Tlv3} = case Tlv2 of -[{131073,V2}|TempTlv3] -> - {'dec_KmeExtTrkGroupList_SEQOF_name'(V2, []), TempTlv3}; - _ -> - { asn1_NOVALUE, Tlv2} -end, - -%%------------------------------------------------- -%% attribute tenantNo(3) with type INTEGER OPTIONAL -%%------------------------------------------------- -{Term3,Tlv4} = case Tlv3 of -[{131074,V3}|TempTlv4] -> - {decode_integer(V3, [2]), TempTlv4}; - _ -> - { asn1_NOVALUE, Tlv3} -end, - -case Tlv4 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv4}}}) % extra fields not allowed -end, - {'KmeExtTrkGroupList_SEQOF', Term1, Term2, Term3}. - -'dec_KmeExtTrkGroupList_SEQOF_name'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'single' - {131072, V1} -> - {single, begin -Val1 = decode_octet_string(V1, [4]), -C1 = byte_size(Val1), -if 1 =< C1, C1 =< 20 -> -Val1; -true -> -exit({error,{asn1,bad_range}}) -end -end}; - - -%% 'wide' - {131073, V1} -> - {wide, begin -Val2 = decode_octet_string(V1, [4]), -C2 = byte_size(Val2), -if 1 =< C2, C2 =< 40 -> -Val2; -true -> -exit({error,{asn1,bad_range}}) -end -end}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% KmeTrkMembers -%%================================ -'enc_KmeTrkMembers'(Val) -> - 'enc_KmeTrkMembers'(Val, [<<48>>]). - -'enc_KmeTrkMembers'(Val, TagIn) -> -{_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute groupNo(1) with type INTEGER -%%------------------------------------------------- - {EncBytes1,EncLen1} = encode_integer(Cindex1, [<<128>>]), - -%%------------------------------------------------- -%% attribute members(2) with type SEQUENCE OF -%%------------------------------------------------- - {EncBytes2,EncLen2} = 'enc_KmeTrkMembers_members'(Cindex2, [<<161>>]), - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - - -%%================================ -%% KmeTrkMembers_members -%%================================ -'enc_KmeTrkMembers_members'(Val, TagIn) -> - {EncBytes,EncLen} = 'enc_KmeTrkMembers_members_components'(Val,[],0), - encode_tags(TagIn, EncBytes, EncLen). - -'enc_KmeTrkMembers_members_components'([], AccBytes, AccLen) -> - {lists:reverse(AccBytes),AccLen}; - -'enc_KmeTrkMembers_members_components'([H|T],AccBytes, AccLen) -> - {EncBytes,EncLen} = 'enc_KmeTrkGroupEntry'(H, [<<48>>]), - 'enc_KmeTrkMembers_members_components'(T,[EncBytes|AccBytes], AccLen + EncLen). - - - -'dec_KmeTrkMembers'(Tlv) -> - 'dec_KmeTrkMembers'(Tlv, [16]). - -'dec_KmeTrkMembers'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute groupNo(1) with type INTEGER -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = decode_integer(V1, [131072]), - -%%------------------------------------------------- -%% attribute members(2) with type SEQUENCE OF -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = 'dec_KmeTrkMembers_members'(V2, [131073]), - -case Tlv3 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowed -end, - {'KmeTrkMembers', Term1, Term2}. - -'dec_KmeTrkMembers_members'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), -['dec_KmeTrkGroupEntry'(V1, [16]) || V1 <- Tlv1]. - - - - -%%================================ -%% KmeExtMembers -%%================================ -'enc_KmeExtMembers'(Val) -> - 'enc_KmeExtMembers'(Val, [<<48>>]). - -'enc_KmeExtMembers'(Val, TagIn) -> -{_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute groupNo(1) with type INTEGER -%%------------------------------------------------- - {EncBytes1,EncLen1} = encode_integer(Cindex1, [<<128>>]), - -%%------------------------------------------------- -%% attribute members(2) with type SEQUENCE OF -%%------------------------------------------------- - {EncBytes2,EncLen2} = 'enc_KmeExtMembers_members'(Cindex2, [<<161>>]), - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - - -%%================================ -%% KmeExtMembers_members -%%================================ -'enc_KmeExtMembers_members'(Val, TagIn) -> - {EncBytes,EncLen} = 'enc_KmeExtMembers_members_components'(Val,[],0), - encode_tags(TagIn, EncBytes, EncLen). - -'enc_KmeExtMembers_members_components'([], AccBytes, AccLen) -> - {lists:reverse(AccBytes),AccLen}; - -'enc_KmeExtMembers_members_components'([H|T],AccBytes, AccLen) -> - {EncBytes,EncLen} = 'enc_KmeExtGroupEntry'(H, [<<48>>]), - 'enc_KmeExtMembers_members_components'(T,[EncBytes|AccBytes], AccLen + EncLen). - - - -'dec_KmeExtMembers'(Tlv) -> - 'dec_KmeExtMembers'(Tlv, [16]). - -'dec_KmeExtMembers'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute groupNo(1) with type INTEGER -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = decode_integer(V1, [131072]), - -%%------------------------------------------------- -%% attribute members(2) with type SEQUENCE OF -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = 'dec_KmeExtMembers_members'(V2, [131073]), - -case Tlv3 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowed -end, - {'KmeExtMembers', Term1, Term2}. - -'dec_KmeExtMembers_members'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), -['dec_KmeExtGroupEntry'(V1, [16]) || V1 <- Tlv1]. - - - - -%%================================ -%% KmeTrkGroupEntry -%%================================ -'enc_KmeTrkGroupEntry'(Val) -> - 'enc_KmeTrkGroupEntry'(Val, [<<48>>]). - -'enc_KmeTrkGroupEntry'(Val, TagIn) -> -{_,Cindex1, Cindex2, Cindex3, Cindex4} = Val, - -%%------------------------------------------------- -%% attribute device(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- - {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(Cindex1, [<<48>>,<<160>>]), - -%%------------------------------------------------- -%% attribute name(2) with type CHOICE OPTIONAL -%%------------------------------------------------- - {EncBytes2,EncLen2} = case Cindex2 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmeTrkGroupEntry_name'(Cindex2, [<<161>>]) - end, - -%%------------------------------------------------- -%% attribute coNo(3) with type IA5String -%%------------------------------------------------- - {EncBytes3,EncLen3} = encode_restricted_string(Cindex3, [<<22>>,<<162>>]), - -%%------------------------------------------------- -%% attribute cabinetNO(4) with type INTEGER OPTIONAL -%%------------------------------------------------- - {EncBytes4,EncLen4} = case Cindex4 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_integer(Cindex4, [<<2>>,<<163>>]) - end, - - BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4], -LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - - -%%================================ -%% KmeTrkGroupEntry_name -%%================================ -'enc_KmeTrkGroupEntry_name'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - single -> - encode_restricted_string(element(2,Val), [<<4>>,<<160>>]); - wide -> - encode_restricted_string(element(2,Val), [<<4>>,<<161>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_KmeTrkGroupEntry'(Tlv) -> - 'dec_KmeTrkGroupEntry'(Tlv, [16]). - -'dec_KmeTrkGroupEntry'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute device(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = 'CSTA-device-identifiers':'dec_DeviceID'(V1, [131072,16]), - -%%------------------------------------------------- -%% attribute name(2) with type CHOICE OPTIONAL -%%------------------------------------------------- -{Term2,Tlv3} = case Tlv2 of -[{131073,V2}|TempTlv3] -> - {'dec_KmeTrkGroupEntry_name'(V2, []), TempTlv3}; - _ -> - { asn1_NOVALUE, Tlv2} -end, - -%%------------------------------------------------- -%% attribute coNo(3) with type IA5String -%%------------------------------------------------- -[V3|Tlv4] = Tlv3, -Term3 = begin -Val1 = decode_restricted_string(V3, [131074,22]), -C1 = byte_size(Val1), -if 1 =< C1, C1 =< 3 -> -binary_to_list(Val1); -true -> -exit({error,{asn1,bad_range}}) -end -end, - -%%------------------------------------------------- -%% attribute cabinetNO(4) with type INTEGER OPTIONAL -%%------------------------------------------------- -{Term4,Tlv5} = case Tlv4 of -[{131075,V4}|TempTlv5] -> - {decode_integer(V4, [2]), TempTlv5}; - _ -> - { asn1_NOVALUE, Tlv4} -end, - -case Tlv5 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv5}}}) % extra fields not allowed -end, - {'KmeTrkGroupEntry', Term1, Term2, Term3, Term4}. - -'dec_KmeTrkGroupEntry_name'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'single' - {131072, V1} -> - {single, begin -Val1 = decode_octet_string(V1, [4]), -C1 = byte_size(Val1), -if 1 =< C1, C1 =< 20 -> -Val1; -true -> -exit({error,{asn1,bad_range}}) -end -end}; - - -%% 'wide' - {131073, V1} -> - {wide, begin -Val2 = decode_octet_string(V1, [4]), -C2 = byte_size(Val2), -if 1 =< C2, C2 =< 40 -> -Val2; -true -> -exit({error,{asn1,bad_range}}) -end -end}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% KmeExtGroupEntry -%%================================ -'enc_KmeExtGroupEntry'(Val) -> - 'enc_KmeExtGroupEntry'(Val, [<<48>>]). - -'enc_KmeExtGroupEntry'(Val, TagIn) -> -{_,Cindex1, Cindex2, Cindex3, Cindex4, Cindex5, Cindex6} = Val, - -%%------------------------------------------------- -%% attribute device(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- - {EncBytes1,EncLen1} = 'CSTA-device-identifiers':'enc_DeviceID'(Cindex1, [<<48>>,<<160>>]), - -%%------------------------------------------------- -%% attribute name(2) with type CHOICE OPTIONAL -%%------------------------------------------------- - {EncBytes2,EncLen2} = case Cindex2 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmeExtGroupEntry_name'(Cindex2, [<<161>>]) - end, - -%%------------------------------------------------- -%% attribute devNumber(3) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- - {EncBytes3,EncLen3} = 'CSTA-device-identifiers':'enc_DeviceID'(Cindex3, [<<48>>,<<162>>]), - -%%------------------------------------------------- -%% attribute cabinetNO(4) with type INTEGER OPTIONAL -%%------------------------------------------------- - {EncBytes4,EncLen4} = case Cindex4 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_integer(Cindex4, [<<2>>,<<163>>]) - end, - -%%------------------------------------------------- -%% attribute psNo(5) with type IA5String OPTIONAL -%%------------------------------------------------- - {EncBytes5,EncLen5} = case Cindex5 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_restricted_string(Cindex5, [<<22>>,<<164>>]) - end, - -%%------------------------------------------------- -%% attribute numberOfBch(6) with type INTEGER OPTIONAL -%%------------------------------------------------- - {EncBytes6,EncLen6} = case Cindex6 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_integer(Cindex6, [<<2>>,<<165>>]) - end, - - BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4, EncBytes5, EncBytes6], -LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4 + EncLen5 + EncLen6, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - - -%%================================ -%% KmeExtGroupEntry_name -%%================================ -'enc_KmeExtGroupEntry_name'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - single -> - encode_restricted_string(element(2,Val), [<<4>>,<<160>>]); - wide -> - encode_restricted_string(element(2,Val), [<<4>>,<<161>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_KmeExtGroupEntry'(Tlv) -> - 'dec_KmeExtGroupEntry'(Tlv, [16]). - -'dec_KmeExtGroupEntry'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute device(1) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = 'CSTA-device-identifiers':'dec_DeviceID'(V1, [131072,16]), - -%%------------------------------------------------- -%% attribute name(2) with type CHOICE OPTIONAL -%%------------------------------------------------- -{Term2,Tlv3} = case Tlv2 of -[{131073,V2}|TempTlv3] -> - {'dec_KmeExtGroupEntry_name'(V2, []), TempTlv3}; - _ -> - { asn1_NOVALUE, Tlv2} -end, - -%%------------------------------------------------- -%% attribute devNumber(3) External CSTA-device-identifiers:DeviceID -%%------------------------------------------------- -[V3|Tlv4] = Tlv3, -Term3 = 'CSTA-device-identifiers':'dec_DeviceID'(V3, [131074,16]), - -%%------------------------------------------------- -%% attribute cabinetNO(4) with type INTEGER OPTIONAL -%%------------------------------------------------- -{Term4,Tlv5} = case Tlv4 of -[{131075,V4}|TempTlv5] -> - {decode_integer(V4, [2]), TempTlv5}; - _ -> - { asn1_NOVALUE, Tlv4} -end, - -%%------------------------------------------------- -%% attribute psNo(5) with type IA5String OPTIONAL -%%------------------------------------------------- -{Term5,Tlv6} = case Tlv5 of -[{131076,V5}|TempTlv6] -> - {begin -Val1 = decode_restricted_string(V5, [22]), -C1 = byte_size(Val1), -if 1 =< C1, C1 =< 3 -> -binary_to_list(Val1); -true -> -exit({error,{asn1,bad_range}}) -end -end, TempTlv6}; - _ -> - { asn1_NOVALUE, Tlv5} -end, - -%%------------------------------------------------- -%% attribute numberOfBch(6) with type INTEGER OPTIONAL -%%------------------------------------------------- -{Term6,Tlv7} = case Tlv6 of -[{131077,V6}|TempTlv7] -> - {decode_integer(V6, [2]), TempTlv7}; - _ -> - { asn1_NOVALUE, Tlv6} -end, - -case Tlv7 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv7}}}) % extra fields not allowed -end, - {'KmeExtGroupEntry', Term1, Term2, Term3, Term4, Term5, Term6}. - -'dec_KmeExtGroupEntry_name'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'single' - {131072, V1} -> - {single, begin -Val1 = decode_octet_string(V1, [4]), -C1 = byte_size(Val1), -if 1 =< C1, C1 =< 20 -> -Val1; -true -> -exit({error,{asn1,bad_range}}) -end -end}; - - -%% 'wide' - {131073, V1} -> - {wide, begin -Val2 = decode_octet_string(V1, [4]), -C2 = byte_size(Val2), -if 1 =< C2, C2 =< 40 -> -Val2; -true -> -exit({error,{asn1,bad_range}}) -end -end}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% KmeFeatureList -%%================================ -'enc_KmeFeatureList'(Val) -> - 'enc_KmeFeatureList'(Val, [<<48>>]). - -'enc_KmeFeatureList'(Val, TagIn) -> - {EncBytes,EncLen} = 'enc_KmeFeatureList_components'(Val,[],0), - encode_tags(TagIn, EncBytes, EncLen). - -'enc_KmeFeatureList_components'([], AccBytes, AccLen) -> - {lists:reverse(AccBytes),AccLen}; - -'enc_KmeFeatureList_components'([H|T],AccBytes, AccLen) -> - {EncBytes,EncLen} = 'enc_KmeFeatureList_SEQOF'(H, [<<48>>]), - 'enc_KmeFeatureList_components'(T,[EncBytes|AccBytes], AccLen + EncLen). - - - - -%%================================ -%% KmeFeatureList_SEQOF -%%================================ -'enc_KmeFeatureList_SEQOF'(Val, TagIn) -> - {_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute featureNo(1) with type INTEGER -%%------------------------------------------------- - {EncBytes1,EncLen1} = encode_integer(Cindex1, [<<2>>,<<160>>]), - -%%------------------------------------------------- -%% attribute featureDigits(2) with type IA5String OPTIONAL -%%------------------------------------------------- - {EncBytes2,EncLen2} = case Cindex2 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_restricted_string(Cindex2, [<<22>>,<<161>>]) - end, - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_KmeFeatureList'(Tlv) -> - 'dec_KmeFeatureList'(Tlv, [16]). - -'dec_KmeFeatureList'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), -['dec_KmeFeatureList_SEQOF'(V1, [16]) || V1 <- Tlv1]. - - -'dec_KmeFeatureList_SEQOF'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute featureNo(1) with type INTEGER -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = decode_integer(V1, [131072,2]), - -%%------------------------------------------------- -%% attribute featureDigits(2) with type IA5String OPTIONAL -%%------------------------------------------------- -{Term2,Tlv3} = case Tlv2 of -[{131073,V2}|TempTlv3] -> - {begin -Val1 = decode_restricted_string(V2, [22]), -C1 = byte_size(Val1), -if 1 =< C1, C1 =< 6 -> -binary_to_list(Val1); -true -> -exit({error,{asn1,bad_range}}) -end -end, TempTlv3}; - _ -> - { asn1_NOVALUE, Tlv2} -end, - -case Tlv3 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowed -end, - {'KmeFeatureList_SEQOF', Term1, Term2}. - - - -%%================================ -%% KmeSetForwardInfo -%%================================ -'enc_KmeSetForwardInfo'(Val) -> - 'enc_KmeSetForwardInfo'(Val, [<<48>>]). - -'enc_KmeSetForwardInfo'(Val, TagIn) -> -{_,Cindex1, Cindex2, Cindex3} = Val, - -%%------------------------------------------------- -%% attribute forwardingType(1) with type ENUMERATED -%%------------------------------------------------- - {EncBytes1,EncLen1} = case Cindex1 of -forwardImmediate -> encode_tags([<<10>>,<<160>>], [0], 1); -forwardBusy -> encode_tags([<<10>>,<<160>>], [1], 1); -forwardNoAns -> encode_tags([<<10>>,<<160>>], [2], 1); -forwardBusyInt -> encode_tags([<<10>>,<<160>>], [3], 1); -forwardBusyExt -> encode_tags([<<10>>,<<160>>], [4], 1); -forwardNoAnsInt -> encode_tags([<<10>>,<<160>>], [5], 1); -forwardNoAnsExt -> encode_tags([<<10>>,<<160>>], [6], 1); -forwardImmInt -> encode_tags([<<10>>,<<160>>], [7], 1); -forwardImmExt -> encode_tags([<<10>>,<<160>>], [8], 1); -forwardDND -> encode_tags([<<10>>,<<160>>], [9], 1); -forwardDNDInt -> encode_tags([<<10>>,<<160>>], [10], 1); -forwardDNDExt -> encode_tags([<<10>>,<<160>>], [11], 1); -forwardBusyNoAnswer -> encode_tags([<<10>>,<<160>>], [12], 1); -forwardBusyNoAnswerInt -> encode_tags([<<10>>,<<160>>], [13], 1); -forwardBusyNoAnswerExt -> encode_tags([<<10>>,<<160>>], [14], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end, - -%%------------------------------------------------- -%% attribute activateForward(2) with type BOOLEAN -%%------------------------------------------------- - {EncBytes2,EncLen2} = encode_boolean(Cindex2, [<<1>>,<<161>>]), - -%%------------------------------------------------- -%% attribute forwardDN(3) External CSTA-device-identifiers:DeviceID OPTIONAL -%%------------------------------------------------- - {EncBytes3,EncLen3} = case Cindex3 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'CSTA-device-identifiers':'enc_DeviceID'(Cindex3, [<<48>>,<<162>>]) - end, - - BytesSoFar = [EncBytes1, EncBytes2, EncBytes3], -LenSoFar = EncLen1 + EncLen2 + EncLen3, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_KmeSetForwardInfo'(Tlv) -> - 'dec_KmeSetForwardInfo'(Tlv, [16]). - -'dec_KmeSetForwardInfo'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute forwardingType(1) with type ENUMERATED -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = case decode_integer(V1, [131072,10]) of -0 -> forwardImmediate; -1 -> forwardBusy; -2 -> forwardNoAns; -3 -> forwardBusyInt; -4 -> forwardBusyExt; -5 -> forwardNoAnsInt; -6 -> forwardNoAnsExt; -7 -> forwardImmInt; -8 -> forwardImmExt; -9 -> forwardDND; -10 -> forwardDNDInt; -11 -> forwardDNDExt; -12 -> forwardBusyNoAnswer; -13 -> forwardBusyNoAnswerInt; -14 -> forwardBusyNoAnswerExt; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end, - -%%------------------------------------------------- -%% attribute activateForward(2) with type BOOLEAN -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = decode_boolean(V2, [131073,1]), - -%%------------------------------------------------- -%% attribute forwardDN(3) External CSTA-device-identifiers:DeviceID OPTIONAL -%%------------------------------------------------- -{Term3,Tlv4} = case Tlv3 of -[{131074,V3}|TempTlv4] -> - {'CSTA-device-identifiers':'dec_DeviceID'(V3, [16]), TempTlv4}; - _ -> - { asn1_NOVALUE, Tlv3} -end, - -case Tlv4 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv4}}}) % extra fields not allowed -end, - {'KmeSetForwardInfo', Term1, Term2, Term3}. - - - -%%================================ -%% KmeForwardType -%%================================ -'enc_KmeForwardType'(Val) -> - 'enc_KmeForwardType'(Val, [<<10>>]). - -'enc_KmeForwardType'(Val, TagIn) -> -case Val of -forwardImmediate -> encode_tags(TagIn, [0], 1); -forwardBusy -> encode_tags(TagIn, [1], 1); -forwardNoAns -> encode_tags(TagIn, [2], 1); -forwardBusyInt -> encode_tags(TagIn, [3], 1); -forwardBusyExt -> encode_tags(TagIn, [4], 1); -forwardNoAnsInt -> encode_tags(TagIn, [5], 1); -forwardNoAnsExt -> encode_tags(TagIn, [6], 1); -forwardImmInt -> encode_tags(TagIn, [7], 1); -forwardImmExt -> encode_tags(TagIn, [8], 1); -forwardDND -> encode_tags(TagIn, [9], 1); -forwardDNDInt -> encode_tags(TagIn, [10], 1); -forwardDNDExt -> encode_tags(TagIn, [11], 1); -forwardBusyNoAnswer -> encode_tags(TagIn, [12], 1); -forwardBusyNoAnswerInt -> encode_tags(TagIn, [13], 1); -forwardBusyNoAnswerExt -> encode_tags(TagIn, [14], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end. - - -'dec_KmeForwardType'(Tlv) -> - 'dec_KmeForwardType'(Tlv, [10]). - -'dec_KmeForwardType'(Tlv, TagIn) -> -case decode_integer(Tlv, TagIn) of -0 -> forwardImmediate; -1 -> forwardBusy; -2 -> forwardNoAns; -3 -> forwardBusyInt; -4 -> forwardBusyExt; -5 -> forwardNoAnsInt; -6 -> forwardNoAnsExt; -7 -> forwardImmInt; -8 -> forwardImmExt; -9 -> forwardDND; -10 -> forwardDNDInt; -11 -> forwardDNDExt; -12 -> forwardBusyNoAnswer; -13 -> forwardBusyNoAnswerInt; -14 -> forwardBusyNoAnswerExt; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end. - - - -%%================================ -%% KmeOgmPlayState -%%================================ -'enc_KmeOgmPlayState'(Val) -> - 'enc_KmeOgmPlayState'(Val, [<<10>>]). - -'enc_KmeOgmPlayState'(Val, TagIn) -> -case Val of -started -> encode_tags(TagIn, [0], 1); -ended -> encode_tags(TagIn, [1], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end. - - -'dec_KmeOgmPlayState'(Tlv) -> - 'dec_KmeOgmPlayState'(Tlv, [10]). - -'dec_KmeOgmPlayState'(Tlv, TagIn) -> -case decode_integer(Tlv, TagIn) of -0 -> started; -1 -> ended; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end. - - - -%%================================ -%% KmeDayNightMode -%%================================ -'enc_KmeDayNightMode'(Val) -> - 'enc_KmeDayNightMode'(Val, [<<48>>]). - -'enc_KmeDayNightMode'(Val, TagIn) -> - {EncBytes,EncLen} = 'enc_KmeDayNightMode_components'(Val,[],0), - encode_tags(TagIn, EncBytes, EncLen). - -'enc_KmeDayNightMode_components'([], AccBytes, AccLen) -> - {lists:reverse(AccBytes),AccLen}; - -'enc_KmeDayNightMode_components'([H|T],AccBytes, AccLen) -> - {EncBytes,EncLen} = 'enc_KmeDayNightMode_SEQOF'(H, [<<48>>]), - 'enc_KmeDayNightMode_components'(T,[EncBytes|AccBytes], AccLen + EncLen). - - - - -%%================================ -%% KmeDayNightMode_SEQOF -%%================================ -'enc_KmeDayNightMode_SEQOF'(Val, TagIn) -> - {_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute tenantNo(1) with type INTEGER -%%------------------------------------------------- - {EncBytes1,EncLen1} = encode_integer(Cindex1, [<<2>>,<<160>>]), - -%%------------------------------------------------- -%% attribute mode(2) with type ENUMERATED -%%------------------------------------------------- - {EncBytes2,EncLen2} = case Cindex2 of -day -> encode_tags([<<10>>,<<161>>], [0], 1); -lunch -> encode_tags([<<10>>,<<161>>], [1], 1); -break -> encode_tags([<<10>>,<<161>>], [2], 1); -night -> encode_tags([<<10>>,<<161>>], [3], 1); -Enumval2 -> exit({error,{asn1, {enumerated_not_in_range,Enumval2}}}) -end, - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_KmeDayNightMode'(Tlv) -> - 'dec_KmeDayNightMode'(Tlv, [16]). - -'dec_KmeDayNightMode'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), -['dec_KmeDayNightMode_SEQOF'(V1, [16]) || V1 <- Tlv1]. - - -'dec_KmeDayNightMode_SEQOF'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute tenantNo(1) with type INTEGER -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = decode_integer(V1, [131072,2]), - -%%------------------------------------------------- -%% attribute mode(2) with type ENUMERATED -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = case decode_integer(V2, [131073,10]) of -0 -> day; -1 -> lunch; -2 -> break; -3 -> night; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end, - -case Tlv3 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowed -end, - {'KmeDayNightMode_SEQOF', Term1, Term2}. - - - -%%================================ -%% KmeDnMode -%%================================ -'enc_KmeDnMode'(Val) -> - 'enc_KmeDnMode'(Val, [<<10>>]). - -'enc_KmeDnMode'(Val, TagIn) -> -case Val of -day -> encode_tags(TagIn, [0], 1); -lunch -> encode_tags(TagIn, [1], 1); -break -> encode_tags(TagIn, [2], 1); -night -> encode_tags(TagIn, [3], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end. - - -'dec_KmeDnMode'(Tlv) -> - 'dec_KmeDnMode'(Tlv, [10]). - -'dec_KmeDnMode'(Tlv, TagIn) -> -case decode_integer(Tlv, TagIn) of -0 -> day; -1 -> lunch; -2 -> break; -3 -> night; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end. - - - -%%================================ -%% KmeAbsentMessage -%%================================ -'enc_KmeAbsentMessage'(Val) -> - 'enc_KmeAbsentMessage'(Val, []). - -'enc_KmeAbsentMessage'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - single -> - encode_restricted_string(element(2,Val), [<<4>>,<<160>>]); - wide -> - encode_restricted_string(element(2,Val), [<<4>>,<<161>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_KmeAbsentMessage'(Tlv) -> - 'dec_KmeAbsentMessage'(Tlv, []). - -'dec_KmeAbsentMessage'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'single' - {131072, V1} -> - {single, begin -Val1 = decode_octet_string(V1, [4]), -C1 = byte_size(Val1), -if 0 =< C1, C1 =< 16 -> -Val1; -true -> -exit({error,{asn1,bad_range}}) -end -end}; - - -%% 'wide' - {131073, V1} -> - {wide, begin -Val2 = decode_octet_string(V1, [4]), -C2 = byte_size(Val2), -if 0 =< C2, C2 =< 32 -> -Val2; -true -> -exit({error,{asn1,bad_range}}) -end -end}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% KmeWakeupState -%%================================ -'enc_KmeWakeupState'(Val) -> - 'enc_KmeWakeupState'(Val, [<<10>>]). - -'enc_KmeWakeupState'(Val, TagIn) -> -case Val of -answered -> encode_tags(TagIn, [0], 1); -noAnswer -> encode_tags(TagIn, [1], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end. - - -'dec_KmeWakeupState'(Tlv) -> - 'dec_KmeWakeupState'(Tlv, [10]). - -'dec_KmeWakeupState'(Tlv, TagIn) -> -case decode_integer(Tlv, TagIn) of -0 -> answered; -1 -> noAnswer; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end. - - - -%%================================ -%% KmeWakeUpInfo -%%================================ -'enc_KmeWakeUpInfo'(Val) -> - 'enc_KmeWakeUpInfo'(Val, [<<48>>]). - -'enc_KmeWakeUpInfo'(Val, TagIn) -> -{_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute time(1) External kme:KmeWakeUpTime OPTIONAL -%%------------------------------------------------- - {EncBytes1,EncLen1} = case Cindex1 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmeWakeUpTime'(Cindex1, [<<48>>,<<160>>]) - end, - -%%------------------------------------------------- -%% attribute schedule(2) with type ENUMERATED -%%------------------------------------------------- - {EncBytes2,EncLen2} = case Cindex2 of -noSchedule -> encode_tags([<<10>>,<<161>>], [0], 1); -once -> encode_tags([<<10>>,<<161>>], [1], 1); -everyday -> encode_tags([<<10>>,<<161>>], [2], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end, - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_KmeWakeUpInfo'(Tlv) -> - 'dec_KmeWakeUpInfo'(Tlv, [16]). - -'dec_KmeWakeUpInfo'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute time(1) External kme:KmeWakeUpTime OPTIONAL -%%------------------------------------------------- -{Term1,Tlv2} = case Tlv1 of -[{131072,V1}|TempTlv2] -> - {'dec_KmeWakeUpTime'(V1, [16]), TempTlv2}; - _ -> - { asn1_NOVALUE, Tlv1} -end, - -%%------------------------------------------------- -%% attribute schedule(2) with type ENUMERATED -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = case decode_integer(V2, [131073,10]) of -0 -> noSchedule; -1 -> once; -2 -> everyday; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end, - -case Tlv3 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowed -end, - {'KmeWakeUpInfo', Term1, Term2}. - - - -%%================================ -%% KmeWakeUpSchedule -%%================================ -'enc_KmeWakeUpSchedule'(Val) -> - 'enc_KmeWakeUpSchedule'(Val, [<<10>>]). - -'enc_KmeWakeUpSchedule'(Val, TagIn) -> -case Val of -noSchedule -> encode_tags(TagIn, [0], 1); -once -> encode_tags(TagIn, [1], 1); -everyday -> encode_tags(TagIn, [2], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end. - - -'dec_KmeWakeUpSchedule'(Tlv) -> - 'dec_KmeWakeUpSchedule'(Tlv, [10]). - -'dec_KmeWakeUpSchedule'(Tlv, TagIn) -> -case decode_integer(Tlv, TagIn) of -0 -> noSchedule; -1 -> once; -2 -> everyday; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end. - - - -%%================================ -%% KmeWakeUpTime -%%================================ -'enc_KmeWakeUpTime'(Val) -> - 'enc_KmeWakeUpTime'(Val, [<<48>>]). - -'enc_KmeWakeUpTime'(Val, TagIn) -> -{_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute hour(1) with type IA5String -%%------------------------------------------------- - {EncBytes1,EncLen1} = encode_restricted_string(Cindex1, [<<22>>,<<160>>]), - -%%------------------------------------------------- -%% attribute minute(2) with type IA5String -%%------------------------------------------------- - {EncBytes2,EncLen2} = encode_restricted_string(Cindex2, [<<22>>,<<161>>]), - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_KmeWakeUpTime'(Tlv) -> - 'dec_KmeWakeUpTime'(Tlv, [16]). - -'dec_KmeWakeUpTime'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute hour(1) with type IA5String -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = begin -Val1 = decode_restricted_string(V1, [131072,22]), -C1 = byte_size(Val1), -if C1 =:= 2 -> -binary_to_list(Val1); -true -> -exit({error,{asn1,bad_range}}) -end -end, - -%%------------------------------------------------- -%% attribute minute(2) with type IA5String -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = begin -Val2 = decode_restricted_string(V2, [131073,22]), -C2 = byte_size(Val2), -if C2 =:= 2 -> -binary_to_list(Val2); -true -> -exit({error,{asn1,bad_range}}) -end -end, - -case Tlv3 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowed -end, - {'KmeWakeUpTime', Term1, Term2}. - - - -%%================================ -%% KmeSpeedDial -%%================================ -'enc_KmeSpeedDial'(Val) -> - 'enc_KmeSpeedDial'(Val, [<<48>>]). - -'enc_KmeSpeedDial'(Val, TagIn) -> - {EncBytes,EncLen} = 'enc_KmeSpeedDial_components'(Val,[],0), - encode_tags(TagIn, EncBytes, EncLen). - -'enc_KmeSpeedDial_components'([], AccBytes, AccLen) -> - {lists:reverse(AccBytes),AccLen}; - -'enc_KmeSpeedDial_components'([H|T],AccBytes, AccLen) -> - {EncBytes,EncLen} = 'enc_KmeSpeedDial_SEQOF'(H, [<<48>>]), - 'enc_KmeSpeedDial_components'(T,[EncBytes|AccBytes], AccLen + EncLen). - - - - -%%================================ -%% KmeSpeedDial_SEQOF -%%================================ -'enc_KmeSpeedDial_SEQOF'(Val, TagIn) -> - {_,Cindex1, Cindex2, Cindex3} = Val, - -%%------------------------------------------------- -%% attribute serialNumber(1) with type INTEGER -%%------------------------------------------------- - {EncBytes1,EncLen1} = encode_integer(Cindex1, [<<2>>,<<160>>]), - -%%------------------------------------------------- -%% attribute registeredDigits(2) with type IA5String OPTIONAL -%%------------------------------------------------- - {EncBytes2,EncLen2} = case Cindex2 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_restricted_string(Cindex2, [<<22>>,<<161>>]) - end, - -%%------------------------------------------------- -%% attribute callerName(3) with type CHOICE OPTIONAL -%%------------------------------------------------- - {EncBytes3,EncLen3} = case Cindex3 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_KmeSpeedDial_SEQOF_callerName'(Cindex3, [<<162>>]) - end, - - BytesSoFar = [EncBytes1, EncBytes2, EncBytes3], -LenSoFar = EncLen1 + EncLen2 + EncLen3, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - - -%%================================ -%% KmeSpeedDial_SEQOF_callerName -%%================================ -'enc_KmeSpeedDial_SEQOF_callerName'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - single -> - encode_restricted_string(element(2,Val), [<<4>>,<<160>>]); - wide -> - encode_restricted_string(element(2,Val), [<<4>>,<<161>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_KmeSpeedDial'(Tlv) -> - 'dec_KmeSpeedDial'(Tlv, [16]). - -'dec_KmeSpeedDial'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), -['dec_KmeSpeedDial_SEQOF'(V1, [16]) || V1 <- Tlv1]. - - -'dec_KmeSpeedDial_SEQOF'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute serialNumber(1) with type INTEGER -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = begin -Val1 = decode_integer(V1, [131072,2]), -if 0 =< Val1, Val1 =< 999 -> -Val1; -true -> -exit({error,{asn1,bad_range}}) -end -end, - -%%------------------------------------------------- -%% attribute registeredDigits(2) with type IA5String OPTIONAL -%%------------------------------------------------- -{Term2,Tlv3} = case Tlv2 of -[{131073,V2}|TempTlv3] -> - {begin -Val2 = decode_restricted_string(V2, [22]), -C1 = byte_size(Val2), -if 1 =< C1, C1 =< 32 -> -binary_to_list(Val2); -true -> -exit({error,{asn1,bad_range}}) -end -end, TempTlv3}; - _ -> - { asn1_NOVALUE, Tlv2} -end, - -%%------------------------------------------------- -%% attribute callerName(3) with type CHOICE OPTIONAL -%%------------------------------------------------- -{Term3,Tlv4} = case Tlv3 of -[{131074,V3}|TempTlv4] -> - {'dec_KmeSpeedDial_SEQOF_callerName'(V3, []), TempTlv4}; - _ -> - { asn1_NOVALUE, Tlv3} -end, - -case Tlv4 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv4}}}) % extra fields not allowed -end, - {'KmeSpeedDial_SEQOF', Term1, Term2, Term3}. - -'dec_KmeSpeedDial_SEQOF_callerName'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'single' - {131072, V1} -> - {single, begin -Val1 = decode_octet_string(V1, [4]), -C1 = byte_size(Val1), -if 1 =< C1, C1 =< 20 -> -Val1; -true -> -exit({error,{asn1,bad_range}}) -end -end}; - - -%% 'wide' - {131073, V1} -> - {wide, begin -Val2 = decode_octet_string(V1, [4]), -C2 = byte_size(Val2), -if 1 =< C2, C2 =< 40 -> -Val2; -true -> -exit({error,{asn1,bad_range}}) -end -end}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% KmeSpeedDialRequest -%%================================ -'enc_KmeSpeedDialRequest'(Val) -> - 'enc_KmeSpeedDialRequest'(Val, [<<48>>]). - -'enc_KmeSpeedDialRequest'(Val, TagIn) -> -{_,Cindex1, Cindex2, Cindex3} = Val, - -%%------------------------------------------------- -%% attribute startSerialNo(1) with type INTEGER -%%------------------------------------------------- - {EncBytes1,EncLen1} = encode_integer(Cindex1, [<<2>>]), - -%%------------------------------------------------- -%% attribute number(2) with type INTEGER -%%------------------------------------------------- - {EncBytes2,EncLen2} = encode_integer(Cindex2, [<<2>>]), - -%%------------------------------------------------- -%% attribute tenantNo(3) with type INTEGER OPTIONAL -%%------------------------------------------------- - {EncBytes3,EncLen3} = case Cindex3 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_integer(Cindex3, [<<2>>,<<160>>]) - end, - - BytesSoFar = [EncBytes1, EncBytes2, EncBytes3], -LenSoFar = EncLen1 + EncLen2 + EncLen3, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_KmeSpeedDialRequest'(Tlv) -> - 'dec_KmeSpeedDialRequest'(Tlv, [16]). - -'dec_KmeSpeedDialRequest'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute startSerialNo(1) with type INTEGER -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = begin -Val1 = decode_integer(V1, [2]), -if 0 =< Val1, Val1 =< 999 -> -Val1; -true -> -exit({error,{asn1,bad_range}}) -end -end, - -%%------------------------------------------------- -%% attribute number(2) with type INTEGER -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = begin -Val2 = decode_integer(V2, [2]), -if 1 =< Val2, Val2 =< 1000 -> -Val2; -true -> -exit({error,{asn1,bad_range}}) -end -end, - -%%------------------------------------------------- -%% attribute tenantNo(3) with type INTEGER OPTIONAL -%%------------------------------------------------- -{Term3,Tlv4} = case Tlv3 of -[{131072,V3}|TempTlv4] -> - {decode_integer(V3, [2]), TempTlv4}; - _ -> - { asn1_NOVALUE, Tlv3} -end, - -case Tlv4 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv4}}}) % extra fields not allowed -end, - {'KmeSpeedDialRequest', Term1, Term2, Term3}. - - - -%%================================ -%% KmeTimeStamp -%%================================ -'enc_KmeTimeStamp'(Val) -> - 'enc_KmeTimeStamp'(Val, [<<24>>]). - -'enc_KmeTimeStamp'(Val, TagIn) -> -encode_restricted_string(Val, TagIn). - - -'dec_KmeTimeStamp'(Tlv) -> - 'dec_KmeTimeStamp'(Tlv, [24]). - -'dec_KmeTimeStamp'(Tlv, TagIn) -> -begin -binary_to_list(decode_restricted_string(Tlv, TagIn)) -end -. - - - -%%================================ -%% KmeDeviceLock -%%================================ -'enc_KmeDeviceLock'(Val) -> - 'enc_KmeDeviceLock'(Val, [<<10>>]). - -'enc_KmeDeviceLock'(Val, TagIn) -> -case Val of -lock -> encode_tags(TagIn, [0], 1); -unlock -> encode_tags(TagIn, [1], 1); -Enumval1 -> exit({error,{asn1, {enumerated_not_in_range,Enumval1}}}) -end. - - -'dec_KmeDeviceLock'(Tlv) -> - 'dec_KmeDeviceLock'(Tlv, [10]). - -'dec_KmeDeviceLock'(Tlv, TagIn) -> -case decode_integer(Tlv, TagIn) of -0 -> lock; -1 -> unlock; -Default1 -> exit({error,{asn1,{illegal_enumerated,Default1}}}) -end. - - - -%%================================ -%% EscapeResult -%%================================ -'enc_EscapeResult'(Val) -> - 'enc_EscapeResult'(Val, []). - -'enc_EscapeResult'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - extensions -> - 'CSTA-extension-types':'enc_CSTACommonArguments'(element(2,Val), [<<126>>]); - noData -> - encode_null(element(2,Val), [<<5>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_EscapeResult'(Tlv) -> - 'dec_EscapeResult'(Tlv, []). - -'dec_EscapeResult'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'extensions' - {65566, V1} -> - {extensions, 'CSTA-extension-types':'dec_CSTACommonArguments'(V1, [])}; - - -%% 'noData' - {5, V1} -> - {noData, decode_null(V1, [])}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% EscapeArgument -%%================================ -'enc_EscapeArgument'(Val) -> - 'enc_EscapeArgument'(Val, [<<48>>]). - -'enc_EscapeArgument'(Val, TagIn) -> -{_,Cindex1, Cindex2, Cindex3} = Val, - -%%------------------------------------------------- -%% attribute escapeRegisterID(1) with type OCTET STRING OPTIONAL -%%------------------------------------------------- - {EncBytes1,EncLen1} = case Cindex1 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_restricted_string(Cindex1, [<<4>>,<<160>>]) - end, - -%%------------------------------------------------- -%% attribute security(2) External CSTA-security:CSTASecurityData OPTIONAL -%%------------------------------------------------- - {EncBytes2,EncLen2} = case Cindex2 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'CSTA-security':'enc_CSTASecurityData'(Cindex2, [<<48>>]) - end, - -%%------------------------------------------------- -%% attribute privateData(3) External CSTA-extension-types:CSTAPrivateData -%%------------------------------------------------- - {EncBytes3,EncLen3} = 'CSTA-extension-types':'enc_CSTAPrivateData'(Cindex3, []), - - BytesSoFar = [EncBytes1, EncBytes2, EncBytes3], -LenSoFar = EncLen1 + EncLen2 + EncLen3, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_EscapeArgument'(Tlv) -> - 'dec_EscapeArgument'(Tlv, [16]). - -'dec_EscapeArgument'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute escapeRegisterID(1) with type OCTET STRING OPTIONAL -%%------------------------------------------------- -{Term1,Tlv2} = case Tlv1 of -[{131072,V1}|TempTlv2] -> - {decode_octet_string(V1, [4]), TempTlv2}; - _ -> - { asn1_NOVALUE, Tlv1} -end, - -%%------------------------------------------------- -%% attribute security(2) External CSTA-security:CSTASecurityData OPTIONAL -%%------------------------------------------------- -{Term2,Tlv3} = case Tlv2 of -[{16,V2}|TempTlv3] -> - {'CSTA-security':'dec_CSTASecurityData'(V2, []), TempTlv3}; - _ -> - { asn1_NOVALUE, Tlv2} -end, - -%%------------------------------------------------- -%% attribute privateData(3) External CSTA-extension-types:CSTAPrivateData -%%------------------------------------------------- -[V3|Tlv4] = Tlv3, -Term3 = 'CSTA-extension-types':'dec_CSTAPrivateData'(V3, []), - -case Tlv4 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv4}}}) % extra fields not allowed -end, - {'EscapeArgument', Term1, Term2, Term3}. - - - - -%%================================ -%% escape -%%================================ -'enc_escape'('ArgumentType', Val, _RestPrimFieldName) -> - 'enc_EscapeArgument'(Val, [<<48>>]); -'enc_escape'('ResultType', Val, _RestPrimFieldName) -> - 'enc_EscapeResult'(Val, []). - - -'dec_escape'('ArgumentType', Bytes,_) -> - Tlv = tlv_format(Bytes), - 'dec_EscapeArgument'(Tlv, [16]); -'dec_escape'('ResultType', Bytes,_) -> - Tlv = tlv_format(Bytes), - 'dec_EscapeResult'(Tlv, []). - -tlv_format(Bytes) when is_binary(Bytes) -> - {Tlv,_} = ber_decode_nif(Bytes), - Tlv; -tlv_format(Bytes) -> - Bytes. - -%%% -%%% Run-time functions. -%%% - -'dialyzer-suppressions'(Arg) -> - ok. - -ber_decode_nif(B) -> - asn1rt_nif:decode_ber_tlv(B). - -collect_parts(TlvList) -> - collect_parts(TlvList, []). - -collect_parts([{_,L}|Rest], Acc) when is_list(L) -> - collect_parts(Rest, [collect_parts(L)|Acc]); -collect_parts([{3,<>}|Rest], _Acc) -> - collect_parts_bit(Rest, [Bits], Unused); -collect_parts([{_T,V}|Rest], Acc) -> - collect_parts(Rest, [V|Acc]); -collect_parts([], Acc) -> - list_to_binary(lists:reverse(Acc)). - -collect_parts_bit([{3,<>}|Rest], Acc, Uacc) -> - collect_parts_bit(Rest, [Bits|Acc], Unused + Uacc); -collect_parts_bit([], Acc, Uacc) -> - list_to_binary([Uacc|lists:reverse(Acc)]). - -decode_bitstring2(1, - Unused, - <>) -> - lists:sublist([B7,B6,B5,B4,B3,B2,B1,B0], 8 - Unused); -decode_bitstring2(Len, - Unused, - <>) -> - [B7,B6,B5,B4,B3,B2,B1,B0|decode_bitstring2(Len - 1, Unused, Buffer)]. - -decode_bitstring_NNL(BitList, NamedNumberList) -> - decode_bitstring_NNL(BitList, NamedNumberList, 0, []). - -decode_bitstring_NNL([], _, _No, Result) -> - lists:reverse(Result); -decode_bitstring_NNL([B|BitList], - [{Name,No}|NamedNumberList], - No, - Result) -> - if - B =:= 0 -> - decode_bitstring_NNL(BitList, - NamedNumberList, - No + 1, - Result); - true -> - decode_bitstring_NNL(BitList, - NamedNumberList, - No + 1, - [Name|Result]) - end; -decode_bitstring_NNL([1|BitList], NamedNumberList, No, Result) -> - decode_bitstring_NNL(BitList, - NamedNumberList, - No + 1, - [{bit,No}|Result]); -decode_bitstring_NNL([0|BitList], NamedNumberList, No, Result) -> - decode_bitstring_NNL(BitList, NamedNumberList, No + 1, Result). - -decode_boolean(Tlv, TagIn) -> - Val = match_tags(Tlv, TagIn), - case Val of - <<0:8>> -> - false; - <<_:8>> -> - true; - _ -> - exit({error,{asn1,{decode_boolean,Val}}}) - end. - -decode_integer(Tlv, TagIn) -> - Bin = match_tags(Tlv, TagIn), - Len = byte_size(Bin), - <> = Bin, - Int. - -decode_named_bit_string(Buffer, NamedNumberList, Tags) -> - case match_and_collect(Buffer, Tags) of - <<0>> -> - []; - <> -> - BitString = decode_bitstring2(byte_size(Bits), Unused, Bits), - decode_bitstring_NNL(BitString, NamedNumberList) - end. - -decode_null(Tlv, Tags) -> - Val = match_tags(Tlv, Tags), - case Val of - <<>> -> - 'NULL'; - _ -> - exit({error,{asn1,{decode_null,Val}}}) - end. - -decode_octet_string(Tlv, TagsIn) -> - Bin = match_and_collect(Tlv, TagsIn), - binary:copy(Bin). - -decode_restricted_string(Tlv, TagsIn) -> - match_and_collect(Tlv, TagsIn). - -do_encode_named_bit_string([FirstVal|RestVal], NamedBitList, TagIn) -> - ToSetPos = get_all_bitposes([FirstVal|RestVal], NamedBitList, []), - Size = lists:max(ToSetPos) + 1, - BitList = make_and_set_list(Size, ToSetPos, 0), - {Len,Unused,OctetList} = encode_bitstring(BitList), - encode_tags(TagIn, [Unused|OctetList], Len + 1). - -encode_bitstring([B8,B7,B6,B5,B4,B3,B2,B1|Rest]) -> - Val = - B8 bsl 7 bor (B7 bsl 6) bor (B6 bsl 5) bor (B5 bsl 4) - bor - (B4 bsl 3) - bor - (B3 bsl 2) - bor - (B2 bsl 1) - bor - B1, - encode_bitstring(Rest, [Val], 1); -encode_bitstring(Val) -> - {Unused,Octet} = unused_bitlist(Val, 7, 0), - {1,Unused,[Octet]}. - -encode_bitstring([B8,B7,B6,B5,B4,B3,B2,B1|Rest], Ack, Len) -> - Val = - B8 bsl 7 bor (B7 bsl 6) bor (B6 bsl 5) bor (B5 bsl 4) - bor - (B4 bsl 3) - bor - (B3 bsl 2) - bor - (B2 bsl 1) - bor - B1, - encode_bitstring(Rest, [Ack,Val], Len + 1); -encode_bitstring([], Ack, Len) -> - {Len,0,Ack}; -encode_bitstring(Rest, Ack, Len) -> - {Unused,Val} = unused_bitlist(Rest, 7, 0), - {Len + 1,Unused,[Ack,Val]}. - -encode_boolean(true, TagIn) -> - encode_tags(TagIn, [255], 1); -encode_boolean(false, TagIn) -> - encode_tags(TagIn, [0], 1); -encode_boolean(X, _) -> - exit({error,{asn1,{encode_boolean,X}}}). - -encode_integer(Val) -> - Bytes = - if - Val >= 0 -> - encode_integer_pos(Val, []); - true -> - encode_integer_neg(Val, []) - end, - {Bytes,length(Bytes)}. - -encode_integer(Val, Tag) when is_integer(Val) -> - encode_tags(Tag, encode_integer(Val)); -encode_integer(Val, _Tag) -> - exit({error,{asn1,{encode_integer,Val}}}). - -encode_integer_neg(- 1, [B1|_T] = L) when B1 > 127 -> - L; -encode_integer_neg(N, Acc) -> - encode_integer_neg(N bsr 8, [N band 255|Acc]). - -encode_integer_pos(0, [B|_Acc] = L) when B < 128 -> - L; -encode_integer_pos(N, Acc) -> - encode_integer_pos(N bsr 8, [N band 255|Acc]). - -encode_length(L) when L =< 127 -> - {[L],1}; -encode_length(L) -> - Oct = minimum_octets(L), - Len = length(Oct), - if - Len =< 126 -> - {[128 bor Len|Oct],Len + 1}; - true -> - exit({error,{asn1,too_long_length_oct,Len}}) - end. - -encode_named_bit_string([H|_] = Bits, NamedBitList, TagIn) - when is_atom(H) -> - do_encode_named_bit_string(Bits, NamedBitList, TagIn); -encode_named_bit_string([{bit,_}|_] = Bits, NamedBitList, TagIn) -> - do_encode_named_bit_string(Bits, NamedBitList, TagIn); -encode_named_bit_string(Bits, _NamedBitList, TagIn) - when is_bitstring(Bits) -> - encode_unnamed_bit_string(Bits, TagIn). - -encode_null(_Val, TagIn) -> - encode_tags(TagIn, [], 0). - -encode_restricted_string(OctetList, TagIn) when is_binary(OctetList) -> - encode_tags(TagIn, OctetList, byte_size(OctetList)); -encode_restricted_string(OctetList, TagIn) when is_list(OctetList) -> - encode_tags(TagIn, OctetList, length(OctetList)). - -encode_tags(TagIn, {BytesSoFar,LenSoFar}) -> - encode_tags(TagIn, BytesSoFar, LenSoFar). - -encode_tags([Tag|Trest], BytesSoFar, LenSoFar) -> - {Bytes2,L2} = encode_length(LenSoFar), - encode_tags(Trest, - [Tag,Bytes2|BytesSoFar], - LenSoFar + byte_size(Tag) + L2); -encode_tags([], BytesSoFar, LenSoFar) -> - {BytesSoFar,LenSoFar}. - -encode_unnamed_bit_string(Bits, TagIn) -> - Unused = (8 - bit_size(Bits) band 7) band 7, - Bin = <>, - encode_tags(TagIn, Bin, byte_size(Bin)). - -get_all_bitposes([{bit,ValPos}|Rest], NamedBitList, Ack) -> - get_all_bitposes(Rest, NamedBitList, [ValPos|Ack]); -get_all_bitposes([Val|Rest], NamedBitList, Ack) when is_atom(Val) -> - case lists:keyfind(Val, 1, NamedBitList) of - {_ValName,ValPos} -> - get_all_bitposes(Rest, NamedBitList, [ValPos|Ack]); - _ -> - exit({error,{asn1,{bitstring_namedbit,Val}}}) - end; -get_all_bitposes([], _NamedBitList, Ack) -> - lists:sort(Ack). - -make_and_set_list(0, [], _) -> - []; -make_and_set_list(0, _, _) -> - exit({error,{asn1,bitstring_sizeconstraint}}); -make_and_set_list(Len, [XPos|SetPos], XPos) -> - [1|make_and_set_list(Len - 1, SetPos, XPos + 1)]; -make_and_set_list(Len, [Pos|SetPos], XPos) -> - [0|make_and_set_list(Len - 1, [Pos|SetPos], XPos + 1)]; -make_and_set_list(Len, [], XPos) -> - [0|make_and_set_list(Len - 1, [], XPos + 1)]. - -match_and_collect(Tlv, TagsIn) -> - Val = match_tags(Tlv, TagsIn), - case Val of - [_|_] = PartList -> - collect_parts(PartList); - Bin when is_binary(Bin) -> - Bin - end. - -match_tags({T,V}, [T]) -> - V; -match_tags({T,V}, [T|Tt]) -> - match_tags(V, Tt); -match_tags([{T,V}], [T|Tt]) -> - match_tags(V, Tt); -match_tags([{T,_V}|_] = Vlist, [T]) -> - Vlist; -match_tags(Tlv, []) -> - Tlv; -match_tags({Tag,_V} = Tlv, [T|_Tt]) -> - exit({error,{asn1,{wrong_tag,{{expected,T},{got,Tag,Tlv}}}}}). - -minimum_octets(0, Acc) -> - Acc; -minimum_octets(Val, Acc) -> - minimum_octets(Val bsr 8, [Val band 255|Acc]). - -minimum_octets(Val) -> - minimum_octets(Val, []). - -unused_bitlist([], Trail, Ack) -> - {Trail + 1,Ack}; -unused_bitlist([Bit|Rest], Trail, Ack) -> - unused_bitlist(Rest, Trail - 1, Bit bsl Trail bor Ack). diff --git a/kme.hrl b/kme.hrl deleted file mode 100644 index efe36b2..0000000 --- a/kme.hrl +++ /dev/null @@ -1,212 +0,0 @@ -%% Generated by the Erlang ASN.1 compiler version:4.0 -%% Purpose: Erlang record definitions for each named and unnamed -%% SEQUENCE and SET, and macro definitions for each value -%% definition,in module kme - - - --ifndef(_KME_HRL_). --define(_KME_HRL_, true). - --record('KmeGenericEvent',{ -eventNo, device = asn1_NOVALUE, connection = asn1_NOVALUE, state = asn1_NOVALUE, cause = asn1_NOVALUE, message = asn1_NOVALUE}). - --record('KmeGenericServiceRsp',{ -number = asn1_NOVALUE, string = asn1_NOVALUE}). - --record('KmeGenericServiceReq',{ -serviceNo, device = asn1_NOVALUE, connection = asn1_NOVALUE, number = asn1_NOVALUE, string = asn1_NOVALUE}). - --record('KmeOgmStart',{ -connection, ogmId}). - --record('KmeUnconferenced',{ -unconferencingDevice, primaryCall, secodaryCall = asn1_NOVALUE, primaryNID = asn1_NOVALUE, secondaryNID = asn1_NOVALUE, primaryConnectionInfo, secondaryConnectionInfo = asn1_NOVALUE}). - --record('KmeWakeupResult',{ -device, state, wakeupTime, invokeTime, restOfRetry = asn1_NOVALUE}). - --record('KmeOgmStatus',{ -connection, state, ogmId, ogmPortNumber}). - --record('KmeDigitsReport',{ -connection, digits}). - --record('KmeSystemDataStatus',{ -systemDataLock, lockingDevice = asn1_NOVALUE}). - --record('KmeLockSystemData_request',{ -systemDataLock, id}). - --record('KmeSystemDataLinkedReply',{ -crossRefID, segmentID, lastSegment, sysData = asn1_NOVALUE}). - --record('KmeSystemDataChanged_deviceData',{ -device, sysData}). - --record('KmeSetSystemData_deviceData',{ -device, sysData}). - --record('KmeSetSystemData_acdQueue',{ -device, attribute}). - --record('KmeGetSystemDataRsp',{ -timeStamp = asn1_NOVALUE, featureList = asn1_NOVALUE, speedDial = asn1_NOVALUE, trunkGroup = asn1_NOVALUE, extGroup = asn1_NOVALUE, pickGroup = asn1_NOVALUE, pagingGroup = asn1_NOVALUE, incomingGroup = asn1_NOVALUE, dayNightMode = asn1_NOVALUE, wakeUp = asn1_NOVALUE, remoteLock = asn1_NOVALUE, callLogLock = asn1_NOVALUE, forwardDnd = asn1_NOVALUE, absentMessage = asn1_NOVALUE, trkGMembers = asn1_NOVALUE, extGMembers = asn1_NOVALUE, incomGMembers = asn1_NOVALUE, doorPhone = asn1_NOVALUE, vmGroup = asn1_NOVALUE, manufacturerName = asn1_NOVALUE, subdomainName = asn1_NOVALUE, softwareVersion = asn1_NOVALUE, ctiVersion = asn1_NOVALUE, regionCode = asn1_NOVALUE, systemTime = asn1_NOVALUE, numberOfMsgPort = asn1_NOVALUE, psGroup = asn1_NOVALUE, youAre = asn1_NOVALUE, svm = asn1_NOVALUE, pdn = asn1_NOVALUE, cos = asn1_NOVALUE, phoneProperty = asn1_NOVALUE, assocIncomGroup = asn1_NOVALUE, messageWaiting = asn1_NOVALUE, deviceList = asn1_NOVALUE, assocExtGroup = asn1_NOVALUE, vmGMembers = asn1_NOVALUE, extName = asn1_NOVALUE, broadcastGroup = asn1_NOVALUE, broadcastGMembers = asn1_NOVALUE, fcoKeyList = asn1_NOVALUE, sxdpMaster = asn1_NOVALUE, pbxType = asn1_NOVALUE, externalSensor = asn1_NOVALUE, deviceDataList = asn1_NOVALUE, guestCheckStatus = asn1_NOVALUE}). - --record('KmeGetSystemDataReq_deviceData',{ -device, sysData}). - --record('KmeGetSystemDataReq_trkExtGMember',{ -groupNo, groupType}). - --record('KmeGetSystemDataReq_incomGMember',{ -groupNo}). - --record('KmeCheckStatusList_SEQOF',{ -extNo, status, cleanUpStatus = asn1_NOVALUE}). - --record('KmePdnGMembers',{ -groupDevice, members}). - --record('KmeDeviceDataList_SEQOF',{ -device, sysData}). - --record('KmeDeviceDataList_SEQOF_sysData_standardInfo',{ -wakeUp = asn1_NOVALUE, remoteLock = asn1_NOVALUE, callLogLock = asn1_NOVALUE, absentMessage = asn1_NOVALUE, forwardDnd = asn1_NOVALUE, cos = asn1_NOVALUE, phoneProperty = asn1_NOVALUE, assocIncomGroup = asn1_NOVALUE, messageWaiting = asn1_NOVALUE, assocExtGroup = asn1_NOVALUE}). - --record('KmeBroadcastGrpMembers',{ -groupNo, members}). - --record('KmeBroadcastGroupList_SEQOF',{ -groupNo, name = asn1_NOVALUE}). - --record('KmeLineStatus',{ -segmentId, lineInformation}). - --record('KmeDeviceServiceStatus',{ -source, status}). - --record('KmeDeviceCallStatus_SEQOF',{ -device, status}). - --record('KmeDeviceCallStatus_SEQOF_status_parkStatus',{ -area, call, action}). - --record('KmeDeviceAgentStatus',{ -device, status, imcomingGroup}). - --record('KmePcRec',{ -connection, pcRecOn}). - --record('CallBackNotification',{ -callBackID, prompted, requestingDevice, targetDevice}). - --record('KmeCallBackInvokeReq',{ -callBackID, requestingDevice, targetDevice = asn1_NOVALUE}). - --record('KmeTwoWayRec',{ -connection, vmGroupExtNo}). - --record('KmeTempTollChange',{ -connection, tollLevel}). - --record('NumberOfMsgPort',{ -numberOfMsgPort, numberOfFreePort}). - --record('KmeSvmList_SEQOF',{ -device, name = asn1_NOVALUE}). - --record('KmePDFStatus',{ -targetDevice, originatingDevice, status}). - --record('KmePDFStart',{ -device}). - --record('KmeDistributionMethod',{ -group, type}). - --record('KmeTenantSpeedDial',{ -tenantNo, kmeSpeedDial}). - --record('KmeExternalSensorList_SEQOF',{ -sensorNo, device, name = asn1_NOVALUE}). - --record('KmeFcoKeyInfo',{ -button, function}). - --record('KmeDeviceName',{ -extNo, name}). - --record('KmeDeviceExtNo',{ -devNumber, extNo = asn1_NOVALUE}). - --record('KmePhoneProperty',{ -portType, phoneCode, lcdRows, lcdColumns, numberOfCoKeys, numberOfSoftKeys, spPhone}). - --record('KmeDeviceStateEntry',{ -device, number = asn1_NOVALUE, status}). - --record('KmeChangeName',{ -requestingDevice, newName = asn1_NOVALUE}). - --record('KmeChangeExtNo',{ -requestingDevice, newExtNo}). - --record('KmePsGroupList_SEQOF',{ -groupNo, device, name = asn1_NOVALUE, memberList = asn1_NOVALUE, memberList2 = asn1_NOVALUE, memberList3 = asn1_NOVALUE, memberList4 = asn1_NOVALUE}). - --record('KmeVmGroupList_SEQOF',{ -device, vmType, name = asn1_NOVALUE, dtmfType = asn1_NOVALUE}). - --record('KmeDoorPhone_SEQOF',{ -doorPhoneNo, device, name = asn1_NOVALUE}). - --record('KmeIncomingGroupList_SEQOF',{ -groupNo, device, name = asn1_NOVALUE, extNo = asn1_NOVALUE, groupType, acdMode, ctiWaitTime, queueSize = asn1_NOVALUE}). - --record('KmeIcmGrpMembers',{ -grpDevice, members}). - --record('KmePckPagGroupList_SEQOF',{ -groupNo, memberList = asn1_NOVALUE}). - --record('KmeExtTrkGroupList_SEQOF',{ -groupNo, name = asn1_NOVALUE, tenantNo = asn1_NOVALUE}). - --record('KmeTrkMembers',{ -groupNo, members}). - --record('KmeExtMembers',{ -groupNo, members}). - --record('KmeTrkGroupEntry',{ -device, name = asn1_NOVALUE, coNo, cabinetNO = asn1_NOVALUE}). - --record('KmeExtGroupEntry',{ -device, name = asn1_NOVALUE, devNumber, cabinetNO = asn1_NOVALUE, psNo = asn1_NOVALUE, numberOfBch = asn1_NOVALUE}). - --record('KmeFeatureList_SEQOF',{ -featureNo, featureDigits = asn1_NOVALUE}). - --record('KmeSetForwardInfo',{ -forwardingType, activateForward, forwardDN = asn1_NOVALUE}). - --record('KmeDayNightMode_SEQOF',{ -tenantNo, mode}). - --record('KmeWakeUpInfo',{ -time = asn1_NOVALUE, schedule}). - --record('KmeWakeUpTime',{ -hour, minute}). - --record('KmeSpeedDial_SEQOF',{ -serialNumber, registeredDigits = asn1_NOVALUE, callerName = asn1_NOVALUE}). - --record('KmeSpeedDialRequest',{ -startSerialNo, number, tenantNo = asn1_NOVALUE}). - --record('EscapeArgument',{ -escapeRegisterID = asn1_NOVALUE, security = asn1_NOVALUE, privateData}). - --endif. %% _KME_HRL_ diff --git a/rose.erl b/rose.erl deleted file mode 100644 index 98f6a5d..0000000 --- a/rose.erl +++ /dev/null @@ -1,1098 +0,0 @@ -%% Generated by the Erlang ASN.1 BER_V2-compiler version, utilizing bit-syntax:4.0 -%% Purpose: encoder and decoder to the types in mod rose - --module('rose'). --compile(nowarn_unused_vars). --include("rose.hrl"). --asn1_info([{vsn,'4.0'}, - {module,'rose'}, - {options,[{i,"/Users/quax/erl"}, - warnings,ber,errors, - {cwd,"/Users/quax/erl"}, - {outdir,"/Users/quax/erl"}, - {i,"."}, - {i,"/Users/quax/erl/lib"}]}]). - --export([encoding_rule/0,bit_string_format/0, - legacy_erlang_types/0]). --export(['dialyzer-suppressions'/1]). --export([ -'enc_Priority'/2, -'enc_Code'/2, -'enc_InvokeId'/2, -'enc_RejectProblem'/2, -'enc_ReturnErrorProblem'/2, -'enc_ReturnResultProblem'/2, -'enc_InvokeProblem'/2, -'enc_GeneralProblem'/2, -'enc_Reject'/2, -'enc_ReturnError'/2, -'enc_ReturnResult'/2, -'enc_Invoke'/2, -'enc_ROS'/2 -]). - --export([ -'dec_Priority'/2, -'dec_Code'/2, -'dec_InvokeId'/2, -'dec_RejectProblem'/2, -'dec_ReturnErrorProblem'/2, -'dec_ReturnResultProblem'/2, -'dec_InvokeProblem'/2, -'dec_GeneralProblem'/2, -'dec_Reject'/2, -'dec_ReturnError'/2, -'dec_ReturnResult'/2, -'dec_Invoke'/2, -'dec_ROS'/2 -]). - --export([ -'noInvokeId'/0 -]). - --export([ -'enc_no-op'/3, -'enc_refuse'/3, -'enc_emptyUnbind'/3, -'enc_emptyBind'/3 -]). - --export([ -'dec_no-op'/3, -'dec_refuse'/3, -'dec_emptyUnbind'/3, -'dec_emptyBind'/3 -]). - --export([info/0]). - - --export([encode/2,decode/2]). - -encoding_rule() -> ber. - -bit_string_format() -> bitstring. - -legacy_erlang_types() -> false. - -encode(Type, Data) -> -try iolist_to_binary(element(1, encode_disp(Type, Data))) of - Bytes -> - {ok,Bytes} - catch - Class:Exception when Class =:= error; Class =:= exit -> - case Exception of - {error,Reason}=Error -> - Error; - Reason -> - {error,{asn1,Reason}} - end -end. - -decode(Type,Data) -> -try decode_disp(Type, element(1, ber_decode_nif(Data))) of - Result -> - {ok,Result} - catch - Class:Exception when Class =:= error; Class =:= exit -> - case Exception of - {error,Reason}=Error -> - Error; - Reason -> - {error,{asn1,Reason}} - end -end. - -encode_disp('Priority',Data) -> 'enc_Priority'(Data); -encode_disp('Code',Data) -> 'enc_Code'(Data); -encode_disp('InvokeId',Data) -> 'enc_InvokeId'(Data); -encode_disp('RejectProblem',Data) -> 'enc_RejectProblem'(Data); -encode_disp('ReturnErrorProblem',Data) -> 'enc_ReturnErrorProblem'(Data); -encode_disp('ReturnResultProblem',Data) -> 'enc_ReturnResultProblem'(Data); -encode_disp('InvokeProblem',Data) -> 'enc_InvokeProblem'(Data); -encode_disp('GeneralProblem',Data) -> 'enc_GeneralProblem'(Data); -encode_disp('Reject',Data) -> 'enc_Reject'(Data); -encode_disp('ReturnError',Data) -> 'enc_ReturnError'(Data); -encode_disp('ReturnResult',Data) -> 'enc_ReturnResult'(Data); -encode_disp('Invoke',Data) -> 'enc_Invoke'(Data); -encode_disp('ROS',Data) -> 'enc_ROS'(Data); -encode_disp(Type,_Data) -> exit({error,{asn1,{undefined_type,Type}}}). - - -decode_disp('Priority',Data) -> 'dec_Priority'(Data); -decode_disp('Code',Data) -> 'dec_Code'(Data); -decode_disp('InvokeId',Data) -> 'dec_InvokeId'(Data); -decode_disp('RejectProblem',Data) -> 'dec_RejectProblem'(Data); -decode_disp('ReturnErrorProblem',Data) -> 'dec_ReturnErrorProblem'(Data); -decode_disp('ReturnResultProblem',Data) -> 'dec_ReturnResultProblem'(Data); -decode_disp('InvokeProblem',Data) -> 'dec_InvokeProblem'(Data); -decode_disp('GeneralProblem',Data) -> 'dec_GeneralProblem'(Data); -decode_disp('Reject',Data) -> 'dec_Reject'(Data); -decode_disp('ReturnError',Data) -> 'dec_ReturnError'(Data); -decode_disp('ReturnResult',Data) -> 'dec_ReturnResult'(Data); -decode_disp('Invoke',Data) -> 'dec_Invoke'(Data); -decode_disp('ROS',Data) -> 'dec_ROS'(Data); -decode_disp(Type,_Data) -> exit({error,{asn1,{undefined_type,Type}}}). - - - - -info() -> - case ?MODULE:module_info(attributes) of - Attributes when is_list(Attributes) -> - case lists:keyfind(asn1_info, 1, Attributes) of - {_,Info} when is_list(Info) -> - Info; - _ -> - [] - end; - _ -> - [] - end. - - -%%================================ -%% Priority -%%================================ -'enc_Priority'(Val) -> - 'enc_Priority'(Val, [<<2>>]). - -'enc_Priority'(Val, TagIn) -> -encode_integer(Val, TagIn). - - -'dec_Priority'(Tlv) -> - 'dec_Priority'(Tlv, [2]). - -'dec_Priority'(Tlv, TagIn) -> -begin -Val1 = decode_integer(Tlv, TagIn), -if 0 =< Val1, Val1 =< 'MAX' -> -Val1; -true -> -exit({error,{asn1,bad_range}}) -end -end. - - - -%%================================ -%% Code -%%================================ -'enc_Code'(Val) -> - 'enc_Code'(Val, []). - -'enc_Code'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - local -> - encode_integer(element(2,Val), [<<2>>]); - global -> - encode_object_identifier(element(2,Val), [<<6>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_Code'(Tlv) -> - 'dec_Code'(Tlv, []). - -'dec_Code'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'local' - {2, V1} -> - {local, decode_integer(V1, [])}; - - -%% 'global' - {6, V1} -> - {global, decode_object_identifier(V1, [])}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% InvokeId -%%================================ -'enc_InvokeId'(Val) -> - 'enc_InvokeId'(Val, []). - -'enc_InvokeId'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - present -> - encode_integer(element(2,Val), [<<2>>]); - absent -> - encode_null(element(2,Val), [<<5>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_InvokeId'(Tlv) -> - 'dec_InvokeId'(Tlv, []). - -'dec_InvokeId'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'present' - {2, V1} -> - {present, decode_integer(V1, [])}; - - -%% 'absent' - {5, V1} -> - {absent, decode_null(V1, [])}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% RejectProblem -%%================================ -'enc_RejectProblem'(Val) -> - 'enc_RejectProblem'(Val, [<<2>>]). - -'enc_RejectProblem'(Val, TagIn) -> -encode_integer(Val, [{'general-unrecognisedPDU',0},{'general-mistypedPDU',1},{'general-badlyStructuredPDU',2},{'invoke-duplicateInvocation',10},{'invoke-unrecognisedOperation',11},{'invoke-mistypedArgument',12},{'invoke-resourceLimitation',13},{'invoke-releaseInProgress',14},{'invoke-unrecognisedLinkedId',15},{'invoke-linkedResponseUnexpected',16},{'invoke-unexpectedLinkedOperation',17},{'returnResult-unrecognisedInvocation',20},{'returnResult-resultResponseUnexpected',21},{'returnResult-mistypedResult',22},{'returnError-unrecognisedInvocation',30},{'returnError-errorResponseUnexpected',31},{'returnError-unrecognisedError',32},{'returnError-unexpectedError',33},{'returnError-mistypedParameter',34}], TagIn). - - -'dec_RejectProblem'(Tlv) -> - 'dec_RejectProblem'(Tlv, [2]). - -'dec_RejectProblem'(Tlv, TagIn) -> -begin -Val1 = decode_integer(Tlv, TagIn), -number2name(Val1, [{'general-unrecognisedPDU',0},{'general-mistypedPDU',1},{'general-badlyStructuredPDU',2},{'invoke-duplicateInvocation',10},{'invoke-unrecognisedOperation',11},{'invoke-mistypedArgument',12},{'invoke-resourceLimitation',13},{'invoke-releaseInProgress',14},{'invoke-unrecognisedLinkedId',15},{'invoke-linkedResponseUnexpected',16},{'invoke-unexpectedLinkedOperation',17},{'returnResult-unrecognisedInvocation',20},{'returnResult-resultResponseUnexpected',21},{'returnResult-mistypedResult',22},{'returnError-unrecognisedInvocation',30},{'returnError-errorResponseUnexpected',31},{'returnError-unrecognisedError',32},{'returnError-unexpectedError',33},{'returnError-mistypedParameter',34}]) -end -. - - - -%%================================ -%% ReturnErrorProblem -%%================================ -'enc_ReturnErrorProblem'(Val) -> - 'enc_ReturnErrorProblem'(Val, [<<2>>]). - -'enc_ReturnErrorProblem'(Val, TagIn) -> -encode_integer(Val, [{unrecognisedInvocation,0},{errorResponseUnexpected,1},{unrecognisedError,2},{unexpectedError,3},{mistypedParameter,4}], TagIn). - - -'dec_ReturnErrorProblem'(Tlv) -> - 'dec_ReturnErrorProblem'(Tlv, [2]). - -'dec_ReturnErrorProblem'(Tlv, TagIn) -> -begin -Val1 = decode_integer(Tlv, TagIn), -number2name(Val1, [{unrecognisedInvocation,0},{errorResponseUnexpected,1},{unrecognisedError,2},{unexpectedError,3},{mistypedParameter,4}]) -end -. - - - -%%================================ -%% ReturnResultProblem -%%================================ -'enc_ReturnResultProblem'(Val) -> - 'enc_ReturnResultProblem'(Val, [<<2>>]). - -'enc_ReturnResultProblem'(Val, TagIn) -> -encode_integer(Val, [{unrecognisedInvocation,0},{resultResponseUnexpected,1},{mistypedResult,2}], TagIn). - - -'dec_ReturnResultProblem'(Tlv) -> - 'dec_ReturnResultProblem'(Tlv, [2]). - -'dec_ReturnResultProblem'(Tlv, TagIn) -> -begin -Val1 = decode_integer(Tlv, TagIn), -number2name(Val1, [{unrecognisedInvocation,0},{resultResponseUnexpected,1},{mistypedResult,2}]) -end -. - - - -%%================================ -%% InvokeProblem -%%================================ -'enc_InvokeProblem'(Val) -> - 'enc_InvokeProblem'(Val, [<<2>>]). - -'enc_InvokeProblem'(Val, TagIn) -> -encode_integer(Val, [{duplicateInvocation,0},{unrecognisedOperation,1},{mistypedArgument,2},{resourceLimitation,3},{releaseInProgress,4},{unrecognisedLinkedId,5},{linkedResponseUnexpected,6},{unexpectedLinkedOperation,7}], TagIn). - - -'dec_InvokeProblem'(Tlv) -> - 'dec_InvokeProblem'(Tlv, [2]). - -'dec_InvokeProblem'(Tlv, TagIn) -> -begin -Val1 = decode_integer(Tlv, TagIn), -number2name(Val1, [{duplicateInvocation,0},{unrecognisedOperation,1},{mistypedArgument,2},{resourceLimitation,3},{releaseInProgress,4},{unrecognisedLinkedId,5},{linkedResponseUnexpected,6},{unexpectedLinkedOperation,7}]) -end -. - - - -%%================================ -%% GeneralProblem -%%================================ -'enc_GeneralProblem'(Val) -> - 'enc_GeneralProblem'(Val, [<<2>>]). - -'enc_GeneralProblem'(Val, TagIn) -> -encode_integer(Val, [{unrecognisedPDU,0},{mistypedPDU,1},{badlyStructuredPDU,2}], TagIn). - - -'dec_GeneralProblem'(Tlv) -> - 'dec_GeneralProblem'(Tlv, [2]). - -'dec_GeneralProblem'(Tlv, TagIn) -> -begin -Val1 = decode_integer(Tlv, TagIn), -number2name(Val1, [{unrecognisedPDU,0},{mistypedPDU,1},{badlyStructuredPDU,2}]) -end -. - - - -%%================================ -%% Reject -%%================================ -'enc_Reject'(Val) -> - 'enc_Reject'(Val, [<<48>>]). - -'enc_Reject'(Val, TagIn) -> -{_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute invokeId(1) External rose:InvokeId -%%------------------------------------------------- - {EncBytes1,EncLen1} = 'enc_InvokeId'(Cindex1, []), - -%%------------------------------------------------- -%% attribute problem(2) with type CHOICE -%%------------------------------------------------- - {EncBytes2,EncLen2} = 'enc_Reject_problem'(Cindex2, []), - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - - -%%================================ -%% Reject_problem -%%================================ -'enc_Reject_problem'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - general -> - encode_integer(element(2,Val), [{unrecognisedPDU,0},{mistypedPDU,1},{badlyStructuredPDU,2}], [<<128>>]); - invoke -> - encode_integer(element(2,Val), [{duplicateInvocation,0},{unrecognisedOperation,1},{mistypedArgument,2},{resourceLimitation,3},{releaseInProgress,4},{unrecognisedLinkedId,5},{linkedResponseUnexpected,6},{unexpectedLinkedOperation,7}], [<<129>>]); - returnResult -> - encode_integer(element(2,Val), [{unrecognisedInvocation,0},{resultResponseUnexpected,1},{mistypedResult,2}], [<<130>>]); - returnError -> - encode_integer(element(2,Val), [{unrecognisedInvocation,0},{errorResponseUnexpected,1},{unrecognisedError,2},{unexpectedError,3},{mistypedParameter,4}], [<<131>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_Reject'(Tlv) -> - 'dec_Reject'(Tlv, [16]). - -'dec_Reject'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute invokeId(1) External rose:InvokeId -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = 'dec_InvokeId'(V1, []), - -%%------------------------------------------------- -%% attribute problem(2) with type CHOICE -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = 'dec_Reject_problem'(V2, []), - -case Tlv3 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowed -end, - {'Reject', Term1, Term2}. - -'dec_Reject_problem'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'general' - {131072, V1} -> - {general, begin -Val1 = decode_integer(V1, []), -number2name(Val1, [{unrecognisedPDU,0},{mistypedPDU,1},{badlyStructuredPDU,2}]) -end -}; - - -%% 'invoke' - {131073, V1} -> - {invoke, begin -Val2 = decode_integer(V1, []), -number2name(Val2, [{duplicateInvocation,0},{unrecognisedOperation,1},{mistypedArgument,2},{resourceLimitation,3},{releaseInProgress,4},{unrecognisedLinkedId,5},{linkedResponseUnexpected,6},{unexpectedLinkedOperation,7}]) -end -}; - - -%% 'returnResult' - {131074, V1} -> - {returnResult, begin -Val3 = decode_integer(V1, []), -number2name(Val3, [{unrecognisedInvocation,0},{resultResponseUnexpected,1},{mistypedResult,2}]) -end -}; - - -%% 'returnError' - {131075, V1} -> - {returnError, begin -Val4 = decode_integer(V1, []), -number2name(Val4, [{unrecognisedInvocation,0},{errorResponseUnexpected,1},{unrecognisedError,2},{unexpectedError,3},{mistypedParameter,4}]) -end -}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% ReturnError -%%================================ -'enc_ReturnError'(Val) -> - 'enc_ReturnError'(Val, [<<48>>]). - -'enc_ReturnError'(Val, TagIn) -> -{_,Cindex1, Cindex2, Cindex3} = Val, - -%%------------------------------------------------- -%% attribute invokeId(1) External rose:InvokeId -%%------------------------------------------------- - {EncBytes1,EncLen1} = 'enc_InvokeId'(Cindex1, []), - -%%------------------------------------------------- -%% attribute errcode(2) External rose:Code -%%------------------------------------------------- - {EncBytes2,EncLen2} = 'enc_Code'(Cindex2, []), - -%%------------------------------------------------- -%% attribute parameter(3) with type ASN1_OPEN_TYPE OPTIONAL -%%------------------------------------------------- - {EncBytes3,EncLen3} = case Cindex3 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_open_type(Cindex3, []) - end, - - BytesSoFar = [EncBytes1, EncBytes2, EncBytes3], -LenSoFar = EncLen1 + EncLen2 + EncLen3, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_ReturnError'(Tlv) -> - 'dec_ReturnError'(Tlv, [16]). - -'dec_ReturnError'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute invokeId(1) External rose:InvokeId -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = 'dec_InvokeId'(V1, []), - -%%------------------------------------------------- -%% attribute errcode(2) External rose:Code -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = 'dec_Code'(V2, []), - -%%------------------------------------------------- -%% attribute parameter(3) with type ASN1_OPEN_TYPE OPTIONAL -%%------------------------------------------------- -{Term3,Tlv4} = case Tlv3 of -[V3|TempTlv4] -> - {decode_open_type_as_binary(V3, []), TempTlv4}; - _ -> - { asn1_NOVALUE, Tlv3} -end, - -case Tlv4 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv4}}}) % extra fields not allowed -end, - {'ReturnError', Term1, Term2, Term3}. - - - -%%================================ -%% ReturnResult -%%================================ -'enc_ReturnResult'(Val) -> - 'enc_ReturnResult'(Val, [<<48>>]). - -'enc_ReturnResult'(Val, TagIn) -> -{_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute invokeId(1) External rose:InvokeId -%%------------------------------------------------- - {EncBytes1,EncLen1} = 'enc_InvokeId'(Cindex1, []), - -%%------------------------------------------------- -%% attribute result(2) with type SEQUENCE OPTIONAL -%%------------------------------------------------- - {EncBytes2,EncLen2} = case Cindex2 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_ReturnResult_result'(Cindex2, [<<48>>]) - end, - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - - -%%================================ -%% ReturnResult_result -%%================================ -'enc_ReturnResult_result'(Val, TagIn) -> - {_,Cindex1, Cindex2} = Val, - -%%------------------------------------------------- -%% attribute opcode(1) External rose:Code -%%------------------------------------------------- - {EncBytes1,EncLen1} = 'enc_Code'(Cindex1, []), - -%%------------------------------------------------- -%% attribute result(2) with type ASN1_OPEN_TYPE -%%------------------------------------------------- - {EncBytes2,EncLen2} = encode_open_type(Cindex2, []), - - BytesSoFar = [EncBytes1, EncBytes2], -LenSoFar = EncLen1 + EncLen2, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - -'dec_ReturnResult'(Tlv) -> - 'dec_ReturnResult'(Tlv, [16]). - -'dec_ReturnResult'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute invokeId(1) External rose:InvokeId -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = 'dec_InvokeId'(V1, []), - -%%------------------------------------------------- -%% attribute result(2) with type SEQUENCE OPTIONAL -%%------------------------------------------------- -{Term2,Tlv3} = case Tlv2 of -[{16,V2}|TempTlv3] -> - {'dec_ReturnResult_result'(V2, []), TempTlv3}; - _ -> - { asn1_NOVALUE, Tlv2} -end, - -case Tlv3 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowed -end, - {'ReturnResult', Term1, Term2}. - -'dec_ReturnResult_result'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute opcode(1) External rose:Code -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = 'dec_Code'(V1, []), - -%%------------------------------------------------- -%% attribute result(2) with type ASN1_OPEN_TYPE -%%------------------------------------------------- -[V2|Tlv3] = Tlv2, -Term2 = decode_open_type_as_binary(V2, []), - -case Tlv3 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowed -end, - {'ReturnResult_result', Term1, Term2}. - - - -%%================================ -%% Invoke -%%================================ -'enc_Invoke'(Val) -> - 'enc_Invoke'(Val, [<<48>>]). - -'enc_Invoke'(Val, TagIn) -> -{_,Cindex1, Cindex2, Cindex3, Cindex4} = Val, - -%%------------------------------------------------- -%% attribute invokeId(1) External rose:InvokeId -%%------------------------------------------------- - {EncBytes1,EncLen1} = 'enc_InvokeId'(Cindex1, []), - -%%------------------------------------------------- -%% attribute linkedId(2) with type CHOICE OPTIONAL -%%------------------------------------------------- - {EncBytes2,EncLen2} = case Cindex2 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - 'enc_Invoke_linkedId'(Cindex2, []) - end, - -%%------------------------------------------------- -%% attribute opcode(3) External rose:Code -%%------------------------------------------------- - {EncBytes3,EncLen3} = 'enc_Code'(Cindex3, []), - -%%------------------------------------------------- -%% attribute argument(4) with type ASN1_OPEN_TYPE OPTIONAL -%%------------------------------------------------- - {EncBytes4,EncLen4} = case Cindex4 of - asn1_NOVALUE -> {<<>>,0}; - _ -> - encode_open_type(Cindex4, []) - end, - - BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4], -LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4, -encode_tags(TagIn, BytesSoFar, LenSoFar). - - - -%%================================ -%% Invoke_linkedId -%%================================ -'enc_Invoke_linkedId'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - present -> - encode_integer(element(2,Val), [<<128>>]); - absent -> - encode_null(element(2,Val), [<<129>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_Invoke'(Tlv) -> - 'dec_Invoke'(Tlv, [16]). - -'dec_Invoke'(Tlv, TagIn) -> - %%------------------------------------------------- - %% decode tag and length - %%------------------------------------------------- -Tlv1 = match_tags(Tlv, TagIn), - -%%------------------------------------------------- -%% attribute invokeId(1) External rose:InvokeId -%%------------------------------------------------- -[V1|Tlv2] = Tlv1, -Term1 = 'dec_InvokeId'(V1, []), - -%%------------------------------------------------- -%% attribute linkedId(2) with type CHOICE OPTIONAL -%%------------------------------------------------- -{Term2,Tlv3} = case Tlv2 of -[V2 = {131072,_}|TempTlv3] -> - {'dec_Invoke_linkedId'(V2, []), TempTlv3}; -[V2 = {131073,_}|TempTlv3] -> - {'dec_Invoke_linkedId'(V2, []), TempTlv3}; - _ -> - { asn1_NOVALUE, Tlv2} -end, - -%%------------------------------------------------- -%% attribute opcode(3) External rose:Code -%%------------------------------------------------- -[V3|Tlv4] = Tlv3, -Term3 = 'dec_Code'(V3, []), - -%%------------------------------------------------- -%% attribute argument(4) with type ASN1_OPEN_TYPE OPTIONAL -%%------------------------------------------------- -{Term4,Tlv5} = case Tlv4 of -[V4|TempTlv5] -> - {decode_open_type_as_binary(V4, []), TempTlv5}; - _ -> - { asn1_NOVALUE, Tlv4} -end, - -case Tlv5 of -[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv5}}}) % extra fields not allowed -end, - {'Invoke', Term1, Term2, Term3, Term4}. - -'dec_Invoke_linkedId'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'present' - {131072, V1} -> - {present, decode_integer(V1, [])}; - - -%% 'absent' - {131073, V1} -> - {absent, decode_null(V1, [])}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. - - -%%================================ -%% ROS -%%================================ -'enc_ROS'(Val) -> - 'enc_ROS'(Val, []). - -'enc_ROS'(Val, TagIn) -> - {EncBytes,EncLen} = case element(1,Val) of - invoke -> - 'enc_Invoke'(element(2,Val), [<<161>>]); - returnResult -> - 'enc_ReturnResult'(element(2,Val), [<<162>>]); - returnError -> - 'enc_ReturnError'(element(2,Val), [<<163>>]); - reject -> - 'enc_Reject'(element(2,Val), [<<164>>]); - Else -> - exit({error,{asn1,{invalid_choice_type,Else}}}) - end, - -encode_tags(TagIn, EncBytes, EncLen). - - - - -'dec_ROS'(Tlv) -> - 'dec_ROS'(Tlv, []). - -'dec_ROS'(Tlv, TagIn) -> -Tlv1 = match_tags(Tlv, TagIn), -case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of - -%% 'invoke' - {131073, V1} -> - {invoke, 'dec_Invoke'(V1, [])}; - - -%% 'returnResult' - {131074, V1} -> - {returnResult, 'dec_ReturnResult'(V1, [])}; - - -%% 'returnError' - {131075, V1} -> - {returnError, 'dec_ReturnError'(V1, [])}; - - -%% 'reject' - {131076, V1} -> - {reject, 'dec_Reject'(V1, [])}; - - Else -> - exit({error,{asn1,{invalid_choice_tag,Else}}}) - end -. -'noInvokeId'() -> -{absent,'NULL'}. - - - - -%%================================ -%% no-op -%%================================ -'enc_no-op'('ArgumentType', Val, _RestPrimFieldName) -> - {Val,0}; -'enc_no-op'('ResultType', Val, _RestPrimFieldName) -> - {Val,0}. - - -'dec_no-op'('ArgumentType', Bytes,_) -> - Bytes; -'dec_no-op'('ResultType', Bytes,_) -> - Bytes. - - - - -%%================================ -%% refuse -%%================================ -'enc_refuse'('ParameterType', Val, _RestPrimFieldName) -> - {Val,0}. - - -'dec_refuse'('ParameterType', Bytes,_) -> - Bytes. - - - - -%%================================ -%% emptyUnbind -%%================================ -'enc_emptyUnbind'('ArgumentType', Val, _RestPrimFieldName) -> - {Val,0}; -'enc_emptyUnbind'('ResultType', Val, _RestPrimFieldName) -> - {Val,0}. - - -'dec_emptyUnbind'('ArgumentType', Bytes,_) -> - Bytes; -'dec_emptyUnbind'('ResultType', Bytes,_) -> - Bytes. - - - - -%%================================ -%% emptyBind -%%================================ -'enc_emptyBind'('ArgumentType', Val, _RestPrimFieldName) -> - {Val,0}; -'enc_emptyBind'('ResultType', Val, _RestPrimFieldName) -> - {Val,0}. - - -'dec_emptyBind'('ArgumentType', Bytes,_) -> - Bytes; -'dec_emptyBind'('ResultType', Bytes,_) -> - Bytes. - - -%%% -%%% Run-time functions. -%%% - -'dialyzer-suppressions'(Arg) -> - ok. - -ber_decode_nif(B) -> - asn1rt_nif:decode_ber_tlv(B). - -ber_encode([Tlv]) -> - ber_encode(Tlv); -ber_encode(Tlv) when is_binary(Tlv) -> - Tlv; -ber_encode(Tlv) -> - asn1rt_nif:encode_ber_tlv(Tlv). - -dec_subidentifiers(<<>>, _Av, Al) -> - lists:reverse(Al); -dec_subidentifiers(<<1:1,H:7,T/binary>>, Av, Al) -> - dec_subidentifiers(T, Av bsl 7 + H, Al); -dec_subidentifiers(<>, Av, Al) -> - dec_subidentifiers(T, 0, [Av bsl 7 + H|Al]). - -decode_integer(Tlv, TagIn) -> - Bin = match_tags(Tlv, TagIn), - Len = byte_size(Bin), - <> = Bin, - Int. - -decode_null(Tlv, Tags) -> - Val = match_tags(Tlv, Tags), - case Val of - <<>> -> - 'NULL'; - _ -> - exit({error,{asn1,{decode_null,Val}}}) - end. - -decode_object_identifier(Tlv, Tags) -> - Val = match_tags(Tlv, Tags), - [AddedObjVal|ObjVals] = dec_subidentifiers(Val, 0, []), - {Val1,Val2} = - if - AddedObjVal < 40 -> - {0,AddedObjVal}; - AddedObjVal < 80 -> - {1,AddedObjVal - 40}; - true -> - {2,AddedObjVal - 80} - end, - list_to_tuple([Val1,Val2|ObjVals]). - -decode_open_type_as_binary(Tlv, TagIn) -> - ber_encode(match_tags(Tlv, TagIn)). - -e_object_identifier({'OBJECT IDENTIFIER',V}) -> - e_object_identifier(V); -e_object_identifier(V) when is_tuple(V) -> - e_object_identifier(tuple_to_list(V)); -e_object_identifier([E1,E2|Tail]) -> - Head = 40 * E1 + E2, - {H,Lh} = mk_object_val(Head), - {R,Lr} = lists:mapfoldl(fun enc_obj_id_tail/2, 0, Tail), - {[H|R],Lh + Lr}. - -enc_obj_id_tail(H, Len) -> - {B,L} = mk_object_val(H), - {B,Len + L}. - -encode_integer(Val) -> - Bytes = - if - Val >= 0 -> - encode_integer_pos(Val, []); - true -> - encode_integer_neg(Val, []) - end, - {Bytes,length(Bytes)}. - -encode_integer(Val, NamedNumberList, Tag) when is_atom(Val) -> - case lists:keyfind(Val, 1, NamedNumberList) of - {_,NewVal} -> - encode_tags(Tag, encode_integer(NewVal)); - _ -> - exit({error,{asn1,{encode_integer_namednumber,Val}}}) - end; -encode_integer(Val, _NamedNumberList, Tag) -> - encode_tags(Tag, encode_integer(Val)). - -encode_integer(Val, Tag) when is_integer(Val) -> - encode_tags(Tag, encode_integer(Val)); -encode_integer(Val, _Tag) -> - exit({error,{asn1,{encode_integer,Val}}}). - -encode_integer_neg(- 1, [B1|_T] = L) when B1 > 127 -> - L; -encode_integer_neg(N, Acc) -> - encode_integer_neg(N bsr 8, [N band 255|Acc]). - -encode_integer_pos(0, [B|_Acc] = L) when B < 128 -> - L; -encode_integer_pos(N, Acc) -> - encode_integer_pos(N bsr 8, [N band 255|Acc]). - -encode_length(L) when L =< 127 -> - {[L],1}; -encode_length(L) -> - Oct = minimum_octets(L), - Len = length(Oct), - if - Len =< 126 -> - {[128 bor Len|Oct],Len + 1}; - true -> - exit({error,{asn1,too_long_length_oct,Len}}) - end. - -encode_null(_Val, TagIn) -> - encode_tags(TagIn, [], 0). - -encode_object_identifier(Val, TagIn) -> - encode_tags(TagIn, e_object_identifier(Val)). - -encode_open_type(Val, T) when is_list(Val) -> - encode_open_type(list_to_binary(Val), T); -encode_open_type(Val, Tag) -> - encode_tags(Tag, Val, byte_size(Val)). - -encode_tags(TagIn, {BytesSoFar,LenSoFar}) -> - encode_tags(TagIn, BytesSoFar, LenSoFar). - -encode_tags([Tag|Trest], BytesSoFar, LenSoFar) -> - {Bytes2,L2} = encode_length(LenSoFar), - encode_tags(Trest, - [Tag,Bytes2|BytesSoFar], - LenSoFar + byte_size(Tag) + L2); -encode_tags([], BytesSoFar, LenSoFar) -> - {BytesSoFar,LenSoFar}. - -match_tags({T,V}, [T]) -> - V; -match_tags({T,V}, [T|Tt]) -> - match_tags(V, Tt); -match_tags([{T,V}], [T|Tt]) -> - match_tags(V, Tt); -match_tags([{T,_V}|_] = Vlist, [T]) -> - Vlist; -match_tags(Tlv, []) -> - Tlv; -match_tags({Tag,_V} = Tlv, [T|_Tt]) -> - exit({error,{asn1,{wrong_tag,{{expected,T},{got,Tag,Tlv}}}}}). - -minimum_octets(0, Acc) -> - Acc; -minimum_octets(Val, Acc) -> - minimum_octets(Val bsr 8, [Val band 255|Acc]). - -minimum_octets(Val) -> - minimum_octets(Val, []). - -mk_object_val(0, Ack, Len) -> - {Ack,Len}; -mk_object_val(Val, Ack, Len) -> - mk_object_val(Val bsr 7, [Val band 127 bor 128|Ack], Len + 1). - -mk_object_val(Val) when Val =< 127 -> - {[255 band Val],1}; -mk_object_val(Val) -> - mk_object_val(Val bsr 7, [Val band 127], 1). - -number2name(Int, NamedNumberList) -> - case lists:keyfind(Int, 2, NamedNumberList) of - {NamedVal,_} -> - NamedVal; - _ -> - Int - end. diff --git a/rose.hrl b/rose.hrl deleted file mode 100644 index 147ba60..0000000 --- a/rose.hrl +++ /dev/null @@ -1,27 +0,0 @@ -%% Generated by the Erlang ASN.1 compiler version:4.0 -%% Purpose: Erlang record definitions for each named and unnamed -%% SEQUENCE and SET, and macro definitions for each value -%% definition,in module rose - - - --ifndef(_ROSE_HRL_). --define(_ROSE_HRL_, true). - --record('Reject',{ -invokeId, problem}). - --record('ReturnError',{ -invokeId, errcode, parameter = asn1_NOVALUE}). - --record('ReturnResult',{ -invokeId, result = asn1_NOVALUE}). - --record('ReturnResult_result',{ -opcode, result}). - --record('Invoke',{ -invokeId, linkedId = asn1_NOVALUE, opcode, argument = asn1_NOVALUE}). - --define('noInvokeId', {absent,'NULL'}). --endif. %% _ROSE_HRL_ -- cgit v1.2.3