⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 megaco_ber_bin_media_gateway_control_prev3b.erl

📁 OTP是开放电信平台的简称
💻 ERL
📖 第 1 页 / 共 5 页
字号:
   {EncBytes10,EncLen10} =  case Cindex10 of         asn1_NOVALUE -> {<<>>,0};         _ ->            'enc_AuditDescriptor'(Cindex10, [<<169>>])       end,%%-------------------------------------------------%% attribute serviceChangeIncompleteFlag(11) with type NULL OPTIONAL%%-------------------------------------------------   {EncBytes11,EncLen11} =  case Cindex11 of         asn1_NOVALUE -> {<<>>,0};         _ ->            ?RT_BER:encode_null(Cindex11, [<<138>>])       end,   BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4, EncBytes5, EncBytes6, EncBytes7, EncBytes8, EncBytes9, EncBytes10, EncBytes11],LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4 + EncLen5 + EncLen6 + EncLen7 + EncLen8 + EncLen9 + EncLen10 + EncLen11,?RT_BER:encode_tags(TagIn, BytesSoFar, LenSoFar).'dec_ServiceChangeParm'(Tlv) ->   'dec_ServiceChangeParm'(Tlv, [16]).'dec_ServiceChangeParm'(Tlv, TagIn) ->   %%-------------------------------------------------   %% decode tag and length    %%-------------------------------------------------Tlv1 = ?RT_BER:match_tags(Tlv,TagIn), %%-------------------------------------------------%% attribute serviceChangeMethod(1) with type ENUMERATED%%-------------------------------------------------[V1|Tlv2] = Tlv1, Term1 = ?RT_BER:decode_enumerated(V1,[],{[{failover,0},{forced,1},{graceful,2},{restart,3},{disconnected,4},{handOff,5}],[]},[131072]),%%-------------------------------------------------%% attribute serviceChangeAddress(2)   External megaco_ber_bin_media_gateway_control_prev3b:ServiceChangeAddress OPTIONAL%%-------------------------------------------------{Term2,Tlv3} = case Tlv2 of[{131073,V2}|TempTlv3] ->    {'dec_ServiceChangeAddress'(V2, []), TempTlv3};    _ ->        { asn1_NOVALUE, Tlv2}end,%%-------------------------------------------------%% attribute serviceChangeVersion(3) with type INTEGER OPTIONAL%%-------------------------------------------------{Term3,Tlv4} = case Tlv3 of[{131074,V3}|TempTlv4] ->    {?RT_BER:decode_integer(V3,{0,99},[]), TempTlv4};    _ ->        { asn1_NOVALUE, Tlv3}end,%%-------------------------------------------------%% attribute serviceChangeProfile(4)   External megaco_ber_bin_media_gateway_control_prev3b:ServiceChangeProfile OPTIONAL%%-------------------------------------------------{Term4,Tlv5} = case Tlv4 of[{131075,V4}|TempTlv5] ->    {'dec_ServiceChangeProfile'(V4, []), TempTlv5};    _ ->        { asn1_NOVALUE, Tlv4}end,%%-------------------------------------------------%% attribute serviceChangeReason(5)   External megaco_ber_bin_media_gateway_control_prev3b:Value%%-------------------------------------------------[V5|Tlv6] = Tlv5, Term5 = 'dec_Value'(V5, [131076]),%%-------------------------------------------------%% attribute serviceChangeDelay(6) with type INTEGER OPTIONAL%%-------------------------------------------------{Term6,Tlv7} = case Tlv6 of[{131077,V6}|TempTlv7] ->    {?RT_BER:decode_integer(V6,{0,4294967295},[]), TempTlv7};    _ ->        { asn1_NOVALUE, Tlv6}end,%%-------------------------------------------------%% attribute serviceChangeMgcId(7)   External megaco_ber_bin_media_gateway_control_prev3b:MId OPTIONAL%%-------------------------------------------------{Term7,Tlv8} = case Tlv7 of[{131078,V7}|TempTlv8] ->    {'dec_MId'(V7, []), TempTlv8};    _ ->        { asn1_NOVALUE, Tlv7}end,%%-------------------------------------------------%% attribute timeStamp(8)   External megaco_ber_bin_media_gateway_control_prev3b:TimeNotation OPTIONAL%%-------------------------------------------------{Term8,Tlv9} = case Tlv8 of[{131079,V8}|TempTlv9] ->    {'dec_TimeNotation'(V8, []), TempTlv9};    _ ->        { asn1_NOVALUE, Tlv8}end,%%-------------------------------------------------%% attribute nonStandardData(9)   External megaco_ber_bin_media_gateway_control_prev3b:NonStandardData OPTIONAL%%-------------------------------------------------{Term9,Tlv10} = case Tlv9 of[{131080,V9}|TempTlv10] ->    {'dec_NonStandardData'(V9, []), TempTlv10};    _ ->        { asn1_NOVALUE, Tlv9}end,%%-------------------------------------------------%% attribute serviceChangeInfo(10)   External megaco_ber_bin_media_gateway_control_prev3b:AuditDescriptor OPTIONAL%%-------------------------------------------------{Term10,Tlv11} = case Tlv10 of[{131081,V10}|TempTlv11] ->    {'dec_AuditDescriptor'(V10, []), TempTlv11};    _ ->        { asn1_NOVALUE, Tlv10}end,%%-------------------------------------------------%% attribute serviceChangeIncompleteFlag(11) with type NULL OPTIONAL%%-------------------------------------------------{Term11,Tlv12} = case Tlv11 of[{131082,V11}|TempTlv12] ->    {?RT_BER:decode_null(V11,[]), TempTlv12};    _ ->        { asn1_NOVALUE, Tlv11}end,case Tlv12 of [] -> true; _ -> true end, % ... extra fields skipped   {'ServiceChangeParm', Term1, Term2, Term3, Term4, Term5, Term6, Term7, Term8, Term9, Term10, Term11}.%%================================%%  DigitMapValue%%================================'enc_DigitMapValue'(Val) ->    'enc_DigitMapValue'(Val, [<<48>>]).'enc_DigitMapValue'(Val, TagIn) ->{_,Cindex1, Cindex2, Cindex3, Cindex4, Cindex5} = Val,%%-------------------------------------------------%% attribute startTimer(1) with type INTEGER OPTIONAL%%-------------------------------------------------   {EncBytes1,EncLen1} =  case Cindex1 of         asn1_NOVALUE -> {<<>>,0};         _ ->            ?RT_BER:encode_integer([], Cindex1, [<<128>>])       end,%%-------------------------------------------------%% attribute shortTimer(2) with type INTEGER OPTIONAL%%-------------------------------------------------   {EncBytes2,EncLen2} =  case Cindex2 of         asn1_NOVALUE -> {<<>>,0};         _ ->            ?RT_BER:encode_integer([], Cindex2, [<<129>>])       end,%%-------------------------------------------------%% attribute longTimer(3) with type INTEGER OPTIONAL%%-------------------------------------------------   {EncBytes3,EncLen3} =  case Cindex3 of         asn1_NOVALUE -> {<<>>,0};         _ ->            ?RT_BER:encode_integer([], Cindex3, [<<130>>])       end,%%-------------------------------------------------%% attribute digitMapBody(4) with type IA5String%%-------------------------------------------------   {EncBytes4,EncLen4} = ?RT_BER:encode_restricted_string([], Cindex4, 22, [<<131>>]),%%-------------------------------------------------%% attribute durationTimer(5) with type INTEGER OPTIONAL%%-------------------------------------------------   {EncBytes5,EncLen5} =  case Cindex5 of         asn1_NOVALUE -> {<<>>,0};         _ ->            ?RT_BER:encode_integer([], Cindex5, [<<132>>])       end,   BytesSoFar = [EncBytes1, EncBytes2, EncBytes3, EncBytes4, EncBytes5],LenSoFar = EncLen1 + EncLen2 + EncLen3 + EncLen4 + EncLen5,?RT_BER:encode_tags(TagIn, BytesSoFar, LenSoFar).'dec_DigitMapValue'(Tlv) ->   'dec_DigitMapValue'(Tlv, [16]).'dec_DigitMapValue'(Tlv, TagIn) ->   %%-------------------------------------------------   %% decode tag and length    %%-------------------------------------------------Tlv1 = ?RT_BER:match_tags(Tlv,TagIn), %%-------------------------------------------------%% attribute startTimer(1) with type INTEGER OPTIONAL%%-------------------------------------------------{Term1,Tlv2} = case Tlv1 of[{131072,V1}|TempTlv2] ->    {?RT_BER:decode_integer(V1,{0,99},[]), TempTlv2};    _ ->        { asn1_NOVALUE, Tlv1}end,%%-------------------------------------------------%% attribute shortTimer(2) with type INTEGER OPTIONAL%%-------------------------------------------------{Term2,Tlv3} = case Tlv2 of[{131073,V2}|TempTlv3] ->    {?RT_BER:decode_integer(V2,{0,99},[]), TempTlv3};    _ ->        { asn1_NOVALUE, Tlv2}end,%%-------------------------------------------------%% attribute longTimer(3) with type INTEGER OPTIONAL%%-------------------------------------------------{Term3,Tlv4} = case Tlv3 of[{131074,V3}|TempTlv4] ->    {?RT_BER:decode_integer(V3,{0,99},[]), TempTlv4};    _ ->        { asn1_NOVALUE, Tlv3}end,%%-------------------------------------------------%% attribute digitMapBody(4) with type IA5String%%-------------------------------------------------[V4|Tlv5] = Tlv4, Term4 = ?RT_BER:decode_restricted_string(V4,[],22,[131075]),%%-------------------------------------------------%% attribute durationTimer(5) with type INTEGER OPTIONAL%%-------------------------------------------------{Term5,Tlv6} = case Tlv5 of[{131076,V5}|TempTlv6] ->    {?RT_BER:decode_integer(V5,{0,99},[]), TempTlv6};    _ ->        { asn1_NOVALUE, Tlv5}end,case Tlv6 of [] -> true; _ -> true end, % ... extra fields skipped   {'DigitMapValue', Term1, Term2, Term3, Term4, Term5}.%%================================%%  DigitMapName%%================================'enc_DigitMapName'(Val) ->    'enc_DigitMapName'(Val, [<<4>>]).'enc_DigitMapName'({'DigitMapName',Val}, TagIn) ->   'enc_DigitMapName'(Val, TagIn);'enc_DigitMapName'(Val, TagIn) ->?RT_BER:encode_octet_string([], Val, TagIn).'dec_DigitMapName'(Tlv) ->   'dec_DigitMapName'(Tlv, [4]).'dec_DigitMapName'(Tlv, TagIn) ->?RT_BER:decode_octet_string(Tlv,2,TagIn).%%================================%%  DigitMapDescriptor%%================================'enc_DigitMapDescriptor'(Val) ->    'enc_DigitMapDescriptor'(Val, [<<48>>]).'enc_DigitMapDescriptor'(Val, TagIn) ->{_,Cindex1, Cindex2} = Val,%%-------------------------------------------------%% attribute digitMapName(1) with type OCTET STRING OPTIONAL%%-------------------------------------------------   {EncBytes1,EncLen1} =  case Cindex1 of         asn1_NOVALUE -> {<<>>,0};         _ ->            ?RT_BER:encode_octet_string([], Cindex1, [<<128>>])       end,%%-------------------------------------------------%% attribute digitMapValue(2)   External megaco_ber_bin_media_gateway_control_prev3b:DigitMapValue OPTIONAL%%-------------------------------------------------   {EncBytes2,EncLen2} =  case Cindex2 of         asn1_NOVALUE -> {<<>>,0};         _ ->            'enc_DigitMapValue'(Cindex2, [<<161>>])       end,   BytesSoFar = [EncBytes1, EncBytes2],LenSoFar = EncLen1 + EncLen2,?RT_BER:encode_tags(TagIn, BytesSoFar, LenSoFar).'dec_DigitMapDescriptor'(Tlv) ->   'dec_DigitMapDescriptor'(Tlv, [16]).'dec_DigitMapDescriptor'(Tlv, TagIn) ->   %%-------------------------------------------------   %% decode tag and length    %%-------------------------------------------------Tlv1 = ?RT_BER:match_tags(Tlv,TagIn), %%-------------------------------------------------%% attribute digitMapName(1) with type OCTET STRING OPTIONAL%%-------------------------------------------------{Term1,Tlv2} = case Tlv1 of[{131072,V1}|TempTlv2] ->    {?RT_BER:decode_octet_string(V1,2,[]), TempTlv2};    _ ->        { asn1_NOVALUE, Tlv1}end,%%-------------------------------------------------%% attribute digitMapValue(2)   External megaco_ber_bin_media_gateway_control_prev3b:DigitMapValue OPTIONAL%%-------------------------------------------------{Term2,Tlv3} = case Tlv2 of[{131073,V2}|TempTlv3] ->    {'dec_DigitMapValue'(V2, []), TempTlv3};    _ ->        { asn1_NOVALUE, Tlv2}end,case Tlv3 of[] -> true;_ -> exit({error,{asn1, {unexpected,Tlv3}}}) % extra fields not allowedend,   {'DigitMapDescriptor', Term1, Term2}.%%================================%%  ModemType%%================================'enc_ModemType'(Val) ->    'enc_ModemType'(Val, [<<10>>]).'enc_ModemType'({'ModemType',Val}, TagIn) ->   'enc_ModemType'(Val, TagIn);'enc_ModemType'(Val, TagIn) ->

⌨️ 快捷键说明

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