📄 megaco_ber_bin_media_gateway_control_v1.erl
字号:
encode_disp('ActionReply',Data) -> 'enc_ActionReply'(Data);encode_disp('ActionRequest',Data) -> 'enc_ActionRequest'(Data);encode_disp('ContextID',Data) -> 'enc_ContextID'(Data);encode_disp('ErrorText',Data) -> 'enc_ErrorText'(Data);encode_disp('ErrorCode',Data) -> 'enc_ErrorCode'(Data);encode_disp('ErrorDescriptor',Data) -> 'enc_ErrorDescriptor'(Data);encode_disp('TransactionAck',Data) -> 'enc_TransactionAck'(Data);encode_disp('TransactionResponseAck',Data) -> 'enc_TransactionResponseAck'(Data);encode_disp('TransactionReply',Data) -> 'enc_TransactionReply'(Data);encode_disp('TransactionPending',Data) -> 'enc_TransactionPending'(Data);encode_disp('TransactionRequest',Data) -> 'enc_TransactionRequest'(Data);encode_disp('TransactionId',Data) -> 'enc_TransactionId'(Data);encode_disp('Transaction',Data) -> 'enc_Transaction'(Data);encode_disp('PathName',Data) -> 'enc_PathName'(Data);encode_disp('IP6Address',Data) -> 'enc_IP6Address'(Data);encode_disp('IP4Address',Data) -> 'enc_IP4Address'(Data);encode_disp('DomainName',Data) -> 'enc_DomainName'(Data);encode_disp('MId',Data) -> 'enc_MId'(Data);encode_disp('Message',Data) -> 'enc_Message'(Data);encode_disp('AuthData',Data) -> 'enc_AuthData'(Data);encode_disp('SequenceNum',Data) -> 'enc_SequenceNum'(Data);encode_disp('SecurityParmIndex',Data) -> 'enc_SecurityParmIndex'(Data);encode_disp('AuthenticationHeader',Data) -> 'enc_AuthenticationHeader'(Data);encode_disp('MegacoMessage',Data) -> 'enc_MegacoMessage'(Data);encode_disp(Type,_Data) -> exit({error,{asn1,{undefined_type,Type}}}).decode_disp('Value',Data) -> 'dec_Value'(Data);decode_disp('TimeNotation',Data) -> 'dec_TimeNotation'(Data);decode_disp('H221NonStandard',Data) -> 'dec_H221NonStandard'(Data);decode_disp('NonStandardIdentifier',Data) -> 'dec_NonStandardIdentifier'(Data);decode_disp('NonStandardData',Data) -> 'dec_NonStandardData'(Data);decode_disp('StatisticsParameter',Data) -> 'dec_StatisticsParameter'(Data);decode_disp('StatisticsDescriptor',Data) -> 'dec_StatisticsDescriptor'(Data);decode_disp('PackagesItem',Data) -> 'dec_PackagesItem'(Data);decode_disp('PackagesDescriptor',Data) -> 'dec_PackagesDescriptor'(Data);decode_disp('ServiceChangeProfile',Data) -> 'dec_ServiceChangeProfile'(Data);decode_disp('ServiceChangeMethod',Data) -> 'dec_ServiceChangeMethod'(Data);decode_disp('ServiceChangeResParm',Data) -> 'dec_ServiceChangeResParm'(Data);decode_disp('ServiceChangeAddress',Data) -> 'dec_ServiceChangeAddress'(Data);decode_disp('ServiceChangeParm',Data) -> 'dec_ServiceChangeParm'(Data);decode_disp('DigitMapValue',Data) -> 'dec_DigitMapValue'(Data);decode_disp('DigitMapName',Data) -> 'dec_DigitMapName'(Data);decode_disp('DigitMapDescriptor',Data) -> 'dec_DigitMapDescriptor'(Data);decode_disp('ModemType',Data) -> 'dec_ModemType'(Data);decode_disp('ModemDescriptor',Data) -> 'dec_ModemDescriptor'(Data);decode_disp('RequestID',Data) -> 'dec_RequestID'(Data);decode_disp('SigParameter',Data) -> 'dec_SigParameter'(Data);decode_disp('NotifyCompletion',Data) -> 'dec_NotifyCompletion'(Data);decode_disp('SignalName',Data) -> 'dec_SignalName'(Data);decode_disp('SignalType',Data) -> 'dec_SignalType'(Data);decode_disp('Signal',Data) -> 'dec_Signal'(Data);decode_disp('SeqSigList',Data) -> 'dec_SeqSigList'(Data);decode_disp('SignalRequest',Data) -> 'dec_SignalRequest'(Data);decode_disp('SignalsDescriptor',Data) -> 'dec_SignalsDescriptor'(Data);decode_disp('EventSpec',Data) -> 'dec_EventSpec'(Data);decode_disp('EventBufferDescriptor',Data) -> 'dec_EventBufferDescriptor'(Data);decode_disp('SecondRequestedActions',Data) -> 'dec_SecondRequestedActions'(Data);decode_disp('SecondRequestedEvent',Data) -> 'dec_SecondRequestedEvent'(Data);decode_disp('SecondEventsDescriptor',Data) -> 'dec_SecondEventsDescriptor'(Data);decode_disp('EventDM',Data) -> 'dec_EventDM'(Data);decode_disp('RequestedActions',Data) -> 'dec_RequestedActions'(Data);decode_disp('RequestedEvent',Data) -> 'dec_RequestedEvent'(Data);decode_disp('EventsDescriptor',Data) -> 'dec_EventsDescriptor'(Data);decode_disp('StreamID',Data) -> 'dec_StreamID'(Data);decode_disp('MuxType',Data) -> 'dec_MuxType'(Data);decode_disp('MuxDescriptor',Data) -> 'dec_MuxDescriptor'(Data);decode_disp('ServiceState',Data) -> 'dec_ServiceState'(Data);decode_disp('EventBufferControl',Data) -> 'dec_EventBufferControl'(Data);decode_disp('TerminationStateDescriptor',Data) -> 'dec_TerminationStateDescriptor'(Data);decode_disp('PropertyGroup',Data) -> 'dec_PropertyGroup'(Data);decode_disp('LocalRemoteDescriptor',Data) -> 'dec_LocalRemoteDescriptor'(Data);decode_disp('Relation',Data) -> 'dec_Relation'(Data);decode_disp('PkgdName',Data) -> 'dec_PkgdName'(Data);decode_disp('Name',Data) -> 'dec_Name'(Data);decode_disp('PropertyParm',Data) -> 'dec_PropertyParm'(Data);decode_disp('StreamMode',Data) -> 'dec_StreamMode'(Data);decode_disp('LocalControlDescriptor',Data) -> 'dec_LocalControlDescriptor'(Data);decode_disp('StreamParms',Data) -> 'dec_StreamParms'(Data);decode_disp('StreamDescriptor',Data) -> 'dec_StreamDescriptor'(Data);decode_disp('MediaDescriptor',Data) -> 'dec_MediaDescriptor'(Data);decode_disp('TerminationIDList',Data) -> 'dec_TerminationIDList'(Data);decode_disp('TerminationID',Data) -> 'dec_TerminationID'(Data);decode_disp('WildcardField',Data) -> 'dec_WildcardField'(Data);decode_disp('ServiceChangeResult',Data) -> 'dec_ServiceChangeResult'(Data);decode_disp('ServiceChangeReply',Data) -> 'dec_ServiceChangeReply'(Data);decode_disp('ServiceChangeRequest',Data) -> 'dec_ServiceChangeRequest'(Data);decode_disp('EventParameter',Data) -> 'dec_EventParameter'(Data);decode_disp('EventName',Data) -> 'dec_EventName'(Data);decode_disp('ObservedEvent',Data) -> 'dec_ObservedEvent'(Data);decode_disp('ObservedEventsDescriptor',Data) -> 'dec_ObservedEventsDescriptor'(Data);decode_disp('NotifyReply',Data) -> 'dec_NotifyReply'(Data);decode_disp('NotifyRequest',Data) -> 'dec_NotifyRequest'(Data);decode_disp('AuditDescriptor',Data) -> 'dec_AuditDescriptor'(Data);decode_disp('AuditReturnParameter',Data) -> 'dec_AuditReturnParameter'(Data);decode_disp('TerminationAudit',Data) -> 'dec_TerminationAudit'(Data);decode_disp('AuditResult',Data) -> 'dec_AuditResult'(Data);decode_disp('AuditReply',Data) -> 'dec_AuditReply'(Data);decode_disp('AuditRequest',Data) -> 'dec_AuditRequest'(Data);decode_disp('SubtractRequest',Data) -> 'dec_SubtractRequest'(Data);decode_disp('AmmsReply',Data) -> 'dec_AmmsReply'(Data);decode_disp('AmmDescriptor',Data) -> 'dec_AmmDescriptor'(Data);decode_disp('AmmRequest',Data) -> 'dec_AmmRequest'(Data);decode_disp('TopologyRequest',Data) -> 'dec_TopologyRequest'(Data);decode_disp('CommandReply',Data) -> 'dec_CommandReply'(Data);decode_disp('Command',Data) -> 'dec_Command'(Data);decode_disp('CommandRequest',Data) -> 'dec_CommandRequest'(Data);decode_disp('ContextAttrAuditRequest',Data) -> 'dec_ContextAttrAuditRequest'(Data);decode_disp('ContextRequest',Data) -> 'dec_ContextRequest'(Data);decode_disp('ActionReply',Data) -> 'dec_ActionReply'(Data);decode_disp('ActionRequest',Data) -> 'dec_ActionRequest'(Data);decode_disp('ContextID',Data) -> 'dec_ContextID'(Data);decode_disp('ErrorText',Data) -> 'dec_ErrorText'(Data);decode_disp('ErrorCode',Data) -> 'dec_ErrorCode'(Data);decode_disp('ErrorDescriptor',Data) -> 'dec_ErrorDescriptor'(Data);decode_disp('TransactionAck',Data) -> 'dec_TransactionAck'(Data);decode_disp('TransactionResponseAck',Data) -> 'dec_TransactionResponseAck'(Data);decode_disp('TransactionReply',Data) -> 'dec_TransactionReply'(Data);decode_disp('TransactionPending',Data) -> 'dec_TransactionPending'(Data);decode_disp('TransactionRequest',Data) -> 'dec_TransactionRequest'(Data);decode_disp('TransactionId',Data) -> 'dec_TransactionId'(Data);decode_disp('Transaction',Data) -> 'dec_Transaction'(Data);decode_disp('PathName',Data) -> 'dec_PathName'(Data);decode_disp('IP6Address',Data) -> 'dec_IP6Address'(Data);decode_disp('IP4Address',Data) -> 'dec_IP4Address'(Data);decode_disp('DomainName',Data) -> 'dec_DomainName'(Data);decode_disp('MId',Data) -> 'dec_MId'(Data);decode_disp('Message',Data) -> 'dec_Message'(Data);decode_disp('AuthData',Data) -> 'dec_AuthData'(Data);decode_disp('SequenceNum',Data) -> 'dec_SequenceNum'(Data);decode_disp('SecurityParmIndex',Data) -> 'dec_SecurityParmIndex'(Data);decode_disp('AuthenticationHeader',Data) -> 'dec_AuthenticationHeader'(Data);decode_disp('MegacoMessage',Data) -> 'dec_MegacoMessage'(Data);decode_disp(Type,_Data) -> exit({error,{asn1,{undefined_type,Type}}}).decode_partial_inc_disp('MegacoMessage',Data) -> 'dec-inc-MegacoMessage'(Data);decode_partial_inc_disp('Transaction',Data) -> 'dec-inc-Transaction'(Data);decode_partial_inc_disp('MegacoMessage_1',Data) -> 'dec-inc-MegacoMessage_1'(Data);decode_partial_inc_disp('MegacoMessage_2',Data) -> 'dec-inc-MegacoMessage_2'(Data);decode_partial_inc_disp(Type,_Data) -> exit({error,{asn1,{undefined_type,Type}}}).info() -> case ?MODULE:module_info() of MI when is_list(MI) -> case lists:keysearch(attributes,1,MI) of {value,{_,Attributes}} when is_list(Attributes) -> case lists:keysearch(asn1_info,1,Attributes) of {value,{_,Info}} when is_list(Info) -> Info; _ -> [] end; _ -> [] end end.%%================================%% Value%%================================'enc_Value'(Val) -> 'enc_Value'(Val, [<<48>>]).'enc_Value'({'Value',Val}, TagIn) -> 'enc_Value'(Val, TagIn);'enc_Value'(Val, TagIn) -> {EncBytes,EncLen} = 'enc_Value_components'(Val,[],0), ?RT_BER:encode_tags(TagIn, EncBytes, EncLen).'enc_Value_components'([], AccBytes, AccLen) -> {lists:reverse(AccBytes),AccLen};'enc_Value_components'([H|T],AccBytes, AccLen) -> {EncBytes,EncLen} = ?RT_BER:encode_octet_string([], H, [<<4>>]), 'enc_Value_components'(T,[EncBytes|AccBytes], AccLen + EncLen).'dec_Value'(Tlv) -> 'dec_Value'(Tlv, [16]).'dec_Value'(Tlv, TagIn) -> %%------------------------------------------------- %% decode tag and length %%-------------------------------------------------Tlv1 = ?RT_BER:match_tags(Tlv,TagIn), [?RT_BER:decode_octet_string(V1,[],[4]) || V1 <- Tlv1].%%================================%% TimeNotation%%================================'enc_TimeNotation'(Val) -> 'enc_TimeNotation'(Val, [<<48>>]).'enc_TimeNotation'(Val, TagIn) ->{_,Cindex1, Cindex2} = Val,%%-------------------------------------------------%% attribute date(1) with type IA5String%%------------------------------------------------- {EncBytes1,EncLen1} = ?RT_BER:encode_restricted_string([], Cindex1, 22, [<<128>>]),%%-------------------------------------------------%% attribute time(2) with type IA5String%%------------------------------------------------- {EncBytes2,EncLen2} = ?RT_BER:encode_restricted_string([], Cindex2, 22, [<<129>>]), BytesSoFar = [EncBytes1, EncBytes2],LenSoFar = EncLen1 + EncLen2,?RT_BER:encode_tags(TagIn, BytesSoFar, LenSoFar).'dec_TimeNotation'(Tlv) -> 'dec_TimeNotation'(Tlv, [16]).'dec_TimeNotation'(Tlv, TagIn) -> %%------------------------------------------------- %% decode tag and length %%-------------------------------------------------Tlv1 = ?RT_BER:match_tags(Tlv,TagIn), %%-------------------------------------------------%% attribute date(1) with type IA5String%%-------------------------------------------------[V1|Tlv2] = Tlv1, Term1 = ?RT_BER:decode_restricted_string(V1,8,22,[131072]),%%-------------------------------------------------%% attribute time(2) with type IA5String%%-------------------------------------------------[V2|Tlv3] = Tlv2, Term2 = ?RT_BER:decode_restricted_string(V2,8,22,[131073]),case Tlv3 of[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowedend, {'TimeNotation', Term1, Term2}.%%================================%% H221NonStandard%%================================'enc_H221NonStandard'(Val) -> 'enc_H221NonStandard'(Val, [<<48>>]).'enc_H221NonStandard'(Val, TagIn) ->{_,Cindex1, Cindex2, Cindex3, Cindex4} = Val,%%-------------------------------------------------%% attribute t35CountryCode1(1) with type INTEGER%%------------------------------------------------- {EncBytes1,EncLen1} = ?RT_BER:encode_integer([], Cindex1, [<<128>>]),%%-------------------------------------------------%% attribute t35CountryCode2(2) with type INTEGER%%------------------------------------------------- {EncBytes2,EncLen2} = ?RT_BER:encode_integer([], Cindex2, [<<129>>]),%%-------------------------------------------------%% attribute t35Extension(3) with type INTEGER%%------------------------------------------------- {EncBytes3,EncLen3} = ?RT_BER:encode_integer([], Cindex3, [<<130>>]),%%-------------------------------------------------%% attribute manufacturerCode(4) with type INTEGER%%------------------------------------------------- {EncBytes4,EncLen4} = ?RT_BER:encode_integer([], Cindex4, [<<131>>]), BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4],LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4,?RT_BER:encode_tags(TagIn, BytesSoFar, LenSoFar).'dec_H221NonStandard'(Tlv) -> 'dec_H221NonStandard'(Tlv, [16]).'dec_H221NonStandard'(Tlv, TagIn) -> %%------------------------------------------------- %% decode tag and length %%-------------------------------------------------Tlv1 = ?RT_BER:match_tags(Tlv,TagIn), %%-------------------------------------------------%% attribute t35CountryCode1(1) with type INTEGER%%-------------------------------------------------[V1|Tlv2] = Tlv1, Term1 = ?RT_BER:decode_integer(V1,{0,255},[131072]),%%-------------------------------------------------%% attribute t35CountryCode2(2) with type INTEGER%%-------------------------------------------------[V2|Tlv3] = Tlv2, Term2 = ?RT_BER:decode_integer(V2,{0,255},[131073]),%%-------------------------------------------------%% attribute t35Extension(3) with type INTEGER%%-------------------------------------------------[V3|Tlv4] = Tlv3, Term3 = ?RT_BER:decode_integer(V3,{0,255},[131074]),%%-------------------------------------------------%% attribute manufacturerCode(4) with type INTEGER%%-------------------------------------------------[V4|Tlv5] = Tlv4, Term4 = ?RT_BER:decode_integer(V4,{0,65535},[131075]),case Tlv5 of [] -> true; _ -> true end, % ... extra fields skipped {'H221NonStandard', Term1, Term2, Term3, Term4}.%%================================%% NonStandardIdentifier%%================================'enc_NonStandardIdentifier'(Val) -> 'enc_NonStandardIdentifier'(Val, []).'enc_NonStandardIdentifier'({'NonStandardIdentifier',Val}, TagIn) -> 'enc_NonStandardIdentifier'(Val, TagIn);'enc_NonStandardIdentifier'(Val, TagIn) -> {EncBytes,EncLen} = case element(1,Val) of object -> ?RT_BER:encode_object_identifier(element(2,Val), [<<128>>]); h221NonStandard -> 'enc_H221NonStandard'(element(2,Val), [<<161>>]); experimental -> ?RT_BER:encode_restricted_string([], element(2,Val), 22, [<<130>>]); Else -> exit({error,{asn1,{invalid_choice_type,Else}}}) end,?RT_BER:encode_tags(TagIn, EncBytes, EncLen).'dec_NonStandardIdentifier'(Tlv) -> 'dec_NonStandardIdentifier'(Tlv, []).'dec_NonStandardIdentifier'(Tlv, TagIn) ->Tlv1 = ?RT_BER:match_tags(Tlv,TagIn), case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of%% 'object' {131072, V1} -> {object, ?RT_BER:decode_object_identifier(V1,[])};%% 'h221NonStandard'
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -