megaco_per_bin_drv_media_gateway_control_v1.erl

来自「OTP是开放电信平台的简称」· ERL 代码 · 共 1,949 行 · 第 1/5 页

ERL
1,949
字号
decode_disp('SigParameter',Data) -> 'dec_SigParameter'(Data,mandatory);decode_disp('NotifyCompletion',Data) -> 'dec_NotifyCompletion'(Data,mandatory);decode_disp('SignalName',Data) -> 'dec_SignalName'(Data,mandatory);decode_disp('SignalType',Data) -> 'dec_SignalType'(Data,mandatory);decode_disp('Signal',Data) -> 'dec_Signal'(Data,mandatory);decode_disp('SeqSigList',Data) -> 'dec_SeqSigList'(Data,mandatory);decode_disp('SignalRequest',Data) -> 'dec_SignalRequest'(Data,mandatory);decode_disp('SignalsDescriptor',Data) -> 'dec_SignalsDescriptor'(Data,mandatory);decode_disp('EventSpec',Data) -> 'dec_EventSpec'(Data,mandatory);decode_disp('EventBufferDescriptor',Data) -> 'dec_EventBufferDescriptor'(Data,mandatory);decode_disp('SecondRequestedActions',Data) -> 'dec_SecondRequestedActions'(Data,mandatory);decode_disp('SecondRequestedEvent',Data) -> 'dec_SecondRequestedEvent'(Data,mandatory);decode_disp('SecondEventsDescriptor',Data) -> 'dec_SecondEventsDescriptor'(Data,mandatory);decode_disp('EventDM',Data) -> 'dec_EventDM'(Data,mandatory);decode_disp('RequestedActions',Data) -> 'dec_RequestedActions'(Data,mandatory);decode_disp('RequestedEvent',Data) -> 'dec_RequestedEvent'(Data,mandatory);decode_disp('EventsDescriptor',Data) -> 'dec_EventsDescriptor'(Data,mandatory);decode_disp('StreamID',Data) -> 'dec_StreamID'(Data,mandatory);decode_disp('MuxType',Data) -> 'dec_MuxType'(Data,mandatory);decode_disp('MuxDescriptor',Data) -> 'dec_MuxDescriptor'(Data,mandatory);decode_disp('ServiceState',Data) -> 'dec_ServiceState'(Data,mandatory);decode_disp('EventBufferControl',Data) -> 'dec_EventBufferControl'(Data,mandatory);decode_disp('TerminationStateDescriptor',Data) -> 'dec_TerminationStateDescriptor'(Data,mandatory);decode_disp('PropertyGroup',Data) -> 'dec_PropertyGroup'(Data,mandatory);decode_disp('LocalRemoteDescriptor',Data) -> 'dec_LocalRemoteDescriptor'(Data,mandatory);decode_disp('Relation',Data) -> 'dec_Relation'(Data,mandatory);decode_disp('PkgdName',Data) -> 'dec_PkgdName'(Data,mandatory);decode_disp('Name',Data) -> 'dec_Name'(Data,mandatory);decode_disp('PropertyParm',Data) -> 'dec_PropertyParm'(Data,mandatory);decode_disp('StreamMode',Data) -> 'dec_StreamMode'(Data,mandatory);decode_disp('LocalControlDescriptor',Data) -> 'dec_LocalControlDescriptor'(Data,mandatory);decode_disp('StreamParms',Data) -> 'dec_StreamParms'(Data,mandatory);decode_disp('StreamDescriptor',Data) -> 'dec_StreamDescriptor'(Data,mandatory);decode_disp('MediaDescriptor',Data) -> 'dec_MediaDescriptor'(Data,mandatory);decode_disp('TerminationIDList',Data) -> 'dec_TerminationIDList'(Data,mandatory);decode_disp('TerminationID',Data) -> 'dec_TerminationID'(Data,mandatory);decode_disp('WildcardField',Data) -> 'dec_WildcardField'(Data,mandatory);decode_disp('ServiceChangeResult',Data) -> 'dec_ServiceChangeResult'(Data,mandatory);decode_disp('ServiceChangeReply',Data) -> 'dec_ServiceChangeReply'(Data,mandatory);decode_disp('ServiceChangeRequest',Data) -> 'dec_ServiceChangeRequest'(Data,mandatory);decode_disp('EventParameter',Data) -> 'dec_EventParameter'(Data,mandatory);decode_disp('EventName',Data) -> 'dec_EventName'(Data,mandatory);decode_disp('ObservedEvent',Data) -> 'dec_ObservedEvent'(Data,mandatory);decode_disp('ObservedEventsDescriptor',Data) -> 'dec_ObservedEventsDescriptor'(Data,mandatory);decode_disp('NotifyReply',Data) -> 'dec_NotifyReply'(Data,mandatory);decode_disp('NotifyRequest',Data) -> 'dec_NotifyRequest'(Data,mandatory);decode_disp('AuditDescriptor',Data) -> 'dec_AuditDescriptor'(Data,mandatory);decode_disp('AuditReturnParameter',Data) -> 'dec_AuditReturnParameter'(Data,mandatory);decode_disp('TerminationAudit',Data) -> 'dec_TerminationAudit'(Data,mandatory);decode_disp('AuditResult',Data) -> 'dec_AuditResult'(Data,mandatory);decode_disp('AuditReply',Data) -> 'dec_AuditReply'(Data,mandatory);decode_disp('AuditRequest',Data) -> 'dec_AuditRequest'(Data,mandatory);decode_disp('SubtractRequest',Data) -> 'dec_SubtractRequest'(Data,mandatory);decode_disp('AmmsReply',Data) -> 'dec_AmmsReply'(Data,mandatory);decode_disp('AmmDescriptor',Data) -> 'dec_AmmDescriptor'(Data,mandatory);decode_disp('AmmRequest',Data) -> 'dec_AmmRequest'(Data,mandatory);decode_disp('TopologyRequest',Data) -> 'dec_TopologyRequest'(Data,mandatory);decode_disp('CommandReply',Data) -> 'dec_CommandReply'(Data,mandatory);decode_disp('Command',Data) -> 'dec_Command'(Data,mandatory);decode_disp('CommandRequest',Data) -> 'dec_CommandRequest'(Data,mandatory);decode_disp('ContextAttrAuditRequest',Data) -> 'dec_ContextAttrAuditRequest'(Data,mandatory);decode_disp('ContextRequest',Data) -> 'dec_ContextRequest'(Data,mandatory);decode_disp('ActionReply',Data) -> 'dec_ActionReply'(Data,mandatory);decode_disp('ActionRequest',Data) -> 'dec_ActionRequest'(Data,mandatory);decode_disp('ContextID',Data) -> 'dec_ContextID'(Data,mandatory);decode_disp('ErrorText',Data) -> 'dec_ErrorText'(Data,mandatory);decode_disp('ErrorCode',Data) -> 'dec_ErrorCode'(Data,mandatory);decode_disp('ErrorDescriptor',Data) -> 'dec_ErrorDescriptor'(Data,mandatory);decode_disp('TransactionAck',Data) -> 'dec_TransactionAck'(Data,mandatory);decode_disp('TransactionResponseAck',Data) -> 'dec_TransactionResponseAck'(Data,mandatory);decode_disp('TransactionReply',Data) -> 'dec_TransactionReply'(Data,mandatory);decode_disp('TransactionPending',Data) -> 'dec_TransactionPending'(Data,mandatory);decode_disp('TransactionRequest',Data) -> 'dec_TransactionRequest'(Data,mandatory);decode_disp('TransactionId',Data) -> 'dec_TransactionId'(Data,mandatory);decode_disp('Transaction',Data) -> 'dec_Transaction'(Data,mandatory);decode_disp('PathName',Data) -> 'dec_PathName'(Data,mandatory);decode_disp('IP6Address',Data) -> 'dec_IP6Address'(Data,mandatory);decode_disp('IP4Address',Data) -> 'dec_IP4Address'(Data,mandatory);decode_disp('DomainName',Data) -> 'dec_DomainName'(Data,mandatory);decode_disp('MId',Data) -> 'dec_MId'(Data,mandatory);decode_disp('Message',Data) -> 'dec_Message'(Data,mandatory);decode_disp('AuthData',Data) -> 'dec_AuthData'(Data,mandatory);decode_disp('SequenceNum',Data) -> 'dec_SequenceNum'(Data,mandatory);decode_disp('SecurityParmIndex',Data) -> 'dec_SecurityParmIndex'(Data,mandatory);decode_disp('AuthenticationHeader',Data) -> 'dec_AuthenticationHeader'(Data,mandatory);decode_disp('MegacoMessage',Data) -> 'dec_MegacoMessage'(Data,mandatory);decode_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.'enc_Value'({'Value',Val}) ->'enc_Value'(Val);'enc_Value'(Val) ->[   ?RT_PER:encode_length(undefined,length(Val)),   'enc_Value_components'(Val, [])].'enc_Value_components'([], Acc) -> lists:reverse(Acc);'enc_Value_components'([H|T], Acc) ->'enc_Value_components'(T, [  ?RT_PER:encode_octet_string(no,false,H) | Acc]).'dec_Value'(Bytes,_) ->{Num,Bytes1} = ?RT_PER:decode_length(Bytes,undefined),'dec_Value_components'(Num, Bytes1, telltype, []).'dec_Value_components'(0, Bytes, _, Acc) ->   {lists:reverse(Acc), Bytes};'dec_Value_components'(Num, Bytes, _, Acc) ->   {Term,Remain} =   ?RT_PER:decode_octet_string(Bytes,no,false),   'dec_Value_components'(Num-1, Remain, telltype, [Term|Acc]).'enc_TimeNotation'(Val) ->Val1 = ?RT_PER:list_to_record('TimeNotation', Val),[%% attribute number 1 with type IA5String?RT_PER:encode_known_multiplier_string('IA5String',8,8,{0,127,notab},element(2,Val1)),%% attribute number 2 with type IA5String?RT_PER:encode_known_multiplier_string('IA5String',8,8,{0,127,notab},element(3,Val1))].'dec_TimeNotation'(Bytes,_) ->%% attribute number 1 with type IA5String{Term1,Bytes1} = ?RT_PER:decode_known_multiplier_string('IA5String',8,8,{0,127,notab},Bytes),%% attribute number 2 with type IA5String{Term2,Bytes2} = ?RT_PER:decode_known_multiplier_string('IA5String',8,8,{0,127,notab},Bytes1),{{'TimeNotation',Term1,Term2},Bytes2}.'enc_H221NonStandard'(Val) ->Val1 = ?RT_PER:list_to_record('H221NonStandard', Val),[?RT_PER:setext(false), %% attribute number 1 with type INTEGER  %%INTEGER with effective constraint: [{'ValueRange',{0,255},256,{octets,1}}]  begin  Tmpval1=element(2,Val1),  case Tmpval1 of    Tmpval2 when Tmpval2=<255,Tmpval2>=0 ->      [20,1,Tmpval2- 0];    Tmpval2 ->      exit({error,{value_out_of_bounds,Tmpval2}})  end  end,%% attribute number 2 with type INTEGER  %%INTEGER with effective constraint: [{'ValueRange',{0,255},256,{octets,1}}]  begin  Tmpval3=element(3,Val1),  case Tmpval3 of    Tmpval4 when Tmpval4=<255,Tmpval4>=0 ->      [20,1,Tmpval4- 0];    Tmpval4 ->      exit({error,{value_out_of_bounds,Tmpval4}})  end  end,%% attribute number 3 with type INTEGER  %%INTEGER with effective constraint: [{'ValueRange',{0,255},256,{octets,1}}]  begin  Tmpval5=element(4,Val1),  case Tmpval5 of    Tmpval6 when Tmpval6=<255,Tmpval6>=0 ->      [20,1,Tmpval6- 0];    Tmpval6 ->      exit({error,{value_out_of_bounds,Tmpval6}})  end  end,%% attribute number 4 with type INTEGER  %%INTEGER with effective constraint: [{'ValueRange',{0,65535},65536,{octets,2}}]  begin  Tmpval7=element(5,Val1),  case Tmpval7 of    Tmpval8 when Tmpval8=<65535,Tmpval8>=0 ->      [20,2,<<(Tmpval8- 0):16>>];    Tmpval8 ->      exit({error,{value_out_of_bounds,Tmpval8}})  end  end].'dec_H221NonStandard'(Bytes,_) ->{Ext,Bytes1} = ?RT_PER:getext(Bytes),%% attribute number 1 with type INTEGER{Term1,Bytes2} =   begin    {Tmpterm1,Tmpremain1}=?RT_PER:getoctets(Bytes1,1),    {Tmpterm1+0,Tmpremain1}  end,%% attribute number 2 with type INTEGER{Term2,Bytes3} =   begin    {Tmpterm2,Tmpremain2}=?RT_PER:getoctets(Bytes2,1),    {Tmpterm2+0,Tmpremain2}  end,%% attribute number 3 with type INTEGER{Term3,Bytes4} =   begin    {Tmpterm3,Tmpremain3}=?RT_PER:getoctets(Bytes3,1),    {Tmpterm3+0,Tmpremain3}  end,%% attribute number 4 with type INTEGER{Term4,Bytes5} =   begin    {Tmpterm4,Tmpremain4}=?RT_PER:getoctets(Bytes4,2),    {Tmpterm4+0,Tmpremain4}  end,{Extensions,Bytes6} = ?RT_PER:getextension(Ext,Bytes5),Bytes7= ?RT_PER:skipextensions(Bytes6,1,Extensions),{{'H221NonStandard',Term1,Term2,Term3,Term4},Bytes7}.'enc_NonStandardIdentifier'({'NonStandardIdentifier',Val}) ->'enc_NonStandardIdentifier'(Val);'enc_NonStandardIdentifier'(Val) ->[?RT_PER:set_choice(element(1,Val),{[object,h221NonStandard,experimental],[]}, {3,0}),case element(1,Val) ofobject ->?RT_PER:encode_object_identifier(element(2,Val));h221NonStandard ->'enc_H221NonStandard'(element(2,Val));experimental ->?RT_PER:encode_known_multiplier_string('IA5String',8,8,{0,127,notab},element(2,Val))end].'dec_NonStandardIdentifier'(Bytes,_) ->{Ext,Bytes1} = ?RT_PER:getbit(Bytes),{Choice,Bytes2} = ?RT_PER:getchoice(Bytes1,3,Ext ),{Cname,{Val,NewBytes}} = case Choice + Ext*3 of0 -> {object,?RT_PER:decode_object_identifier(Bytes2)};1 -> {h221NonStandard,'dec_H221NonStandard'(Bytes2,telltype)};2 -> {experimental,?RT_PER:decode_known_multiplier_string('IA5String',8,8,{0,127,notab},Bytes2)};_ -> {asn1_ExtAlt, ?RT_PER:decode_open_type(Bytes2,[])}end,{{Cname,Val},NewBytes}.'enc_NonStandardData'(Val) ->Val1 = ?RT_PER:list_to_record('NonStandardData', Val),[%% attribute number 1 with type Externaltypereference950megaco_per_bin_drv_media_gateway_control_v1NonStandardIdentifier'enc_NonStandardIdentifier'(element(2,Val1)),%% attribute number 2 with type OCTET STRING  ?RT_PER:encode_octet_string(no,false,element(3,Val1))].'dec_NonStandardData'(Bytes,_) ->%%  attribute number 1 with type NonStandardIdentifier{Term1,Bytes1} = 'dec_NonStandardIdentifier'(Bytes,telltype),%% attribute number 2 with type OCTET STRING{Term2,Bytes2} =   ?RT_PER:decode_octet_string(Bytes1,no,false),{{'NonStandardData',Term1,Term2},Bytes2}.'enc_StatisticsParameter'(Val) ->{Val1,Opt} = ?RT_PER:fixoptionals([3],1,Val),[Opt,%% attribute number 1 with type OCTET STRING  begin    case length(element(2,Val1)) of      Tmpval1 when Tmpval1 == 4 -> [2,20,Tmpval1,element(2,Val1)];      _ -> exit({error,{value_out_of_bounds,element(2,Val1)}})    end  end,case element(3,Val1) ofasn1_NOVALUE -> [];Tmpval2 ->%% attribute number 2 with type Externaltypereference945megaco_per_bin_drv_media_gateway_control_v1Value'enc_Value'(Tmpval2)end].'dec_StatisticsParameter'(Bytes,_) ->{Opt,Bytes1} = ?RT_PER:getoptionals2(Bytes,1), %% attribute number 1 with type OCTET STRING{Term1,Bytes2} =   ?RT_PER:decode_octet_string(Bytes1,4,false),%%  attribute number 2 with type Value{Term2,Bytes3} = case Opt band (1 bsl 0) of_Opt1 when _Opt1 > 0 ->'dec_Value'(Bytes2,telltype);0 ->{asn1_NOVALUE,Bytes2}end,{{'StatisticsParameter',Term1,Term2},Bytes3}.'enc_StatisticsDescriptor'({'StatisticsDescriptor',Val}) ->'enc_StatisticsDescriptor'(Val);'enc_StatisticsDescriptor'(Val) ->[   ?RT_PER:encode_length(undefined,length(Val)),   'enc_StatisticsDescriptor_components'(Val, [])].'enc_StatisticsDescriptor_components'([], Acc) -> lists:reverse(Acc);'enc_StatisticsDescriptor_components'([H|T], Acc) ->'enc_StatisticsDescriptor_components'(T, ['enc_StatisticsParameter'(H) | Acc]).'dec_StatisticsDescriptor'(Bytes,_) ->{Num,Bytes1} = ?RT_PER:decode_length(Bytes,undefined),'dec_StatisticsDescriptor_components'(Num, Bytes1, telltype, []).'dec_StatisticsDescriptor_components'(0, Bytes, _, Acc) ->   {lists:reverse(Acc), Bytes};'dec_StatisticsDescriptor_components'(Num, Bytes, _, Acc) ->   {Term,Remain} = 'dec_StatisticsParameter'(Bytes,telltype),   'dec_StatisticsDescriptor_components'(Num-1, Remain, telltype, [Term|Acc]).'enc_PackagesItem'(Val) ->Val1 = ?RT_PER:list_to_record('PackagesItem', Val),[?RT_PER:setext(false), %% attribute number 1 with type OCTET STRING  begin    [Tmpval1,Tmpval2] = element(2,Val1),    [[10,8,Tmpval1],[10,8,Tmpval2]]  end,%% attribute number 2 with type INTEGER  %%INTEGER with effective constraint: [{'ValueRange',{0,99},100,{bits,7}}]  begin  Tmpval3=element(3,Val1),  case Tmpval3 of    Tmpval4 when Tmpval4=<99,Tmpval4>=0 ->      [10,7,Tmpval4- 0];    Tmpval4 ->      exit({error,{value_out_of_bounds,Tmpval4}})  end  end].'dec_PackagesItem'(Bytes,_) ->{Ext,Bytes1} = ?RT_PER:getext(Bytes),%% attribute number 1 with type OCTET STRING{Term1,Bytes2} =   ?RT_PER:decode_octet_string(Bytes1,2,false),%% attribute number 2 with type INTEGER

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?