diff --git a/include/mtp3.hrl b/include/mtp3.hrl index 53025a7..66575f5 100644 --- a/include/mtp3.hrl +++ b/include/mtp3.hrl @@ -15,6 +15,7 @@ network_ind, service_ind, routing_label, + m3ua_mp, % Message Priority, only in M3UA based msg payload }). diff --git a/src/m3ua_codec.erl b/src/m3ua_codec.erl index 03ec923..4a2d10c 100644 --- a/src/m3ua_codec.erl +++ b/src/m3ua_codec.erl @@ -63,7 +63,7 @@ parse_m3ua_opt(Opt = ?M3UA_IEI_PROTOCOL_DATA, MsgBin) when is_binary(MsgBin) -> routing_label = #mtp3_routing_label{sig_link_sel = Sls, origin_pc = Opc, dest_pc = Dpc}, - payload = Payload}}; + payload = Payload, m3ua_mp = Mp}}; parse_m3ua_opt(Opt, Msg) -> {Opt, Msg}. @@ -89,8 +89,8 @@ encode_m3ua_opt(?M3UA_IEI_PROTOCOL_DATA, Mtp3) when is_record(Mtp3, mtp3_msg) -> routing_label = #mtp3_routing_label{sig_link_sel = Sls, origin_pc = Opc, dest_pc = Dpc}, - payload = Payload} = Mtp3, - PayBin = <>, + payload = Payload, m3ua_mp = Mp} = Mtp3, + PayBin = <>, encode_m3ua_opt(?M3UA_IEI_PROTOCOL_DATA, PayBin); encode_m3ua_opt(Iei, Data) when is_integer(Iei), is_binary(Data) -> Length = byte_size(Data) + 4, diff --git a/test/mtp3_codec_tests.erl b/test/mtp3_codec_tests.erl index f3d6a40..86e944c 100644 --- a/test/mtp3_codec_tests.erl +++ b/test/mtp3_codec_tests.erl @@ -6,7 +6,7 @@ -include("mtp3.hrl"). -define(MTP3_MSG_BIN, <<131,92,64,0,192,9,0,3,13,24,10,18,7,0,18,4,83,132,9,0,23,11,18,6,0,18,4,68,119,88,16,70,35,67,100,65,73,4,81,1,2,200,107,42,40,40,6,7,0,17,134,5,1,1,1,160,29,97,27,128,2,7,128,161,9,6,7,4,0,0,1,0,1,3,162,3,2,1,0,163,5,161,3,2,1,0,108,13,163,11,2,1,64,2,1,8,48,3,10,1,0>>). --define(MTP3_MSG_DEC, {mtp3_msg,2,3,{mtp3_routing_label,5,12544,192},<<9,0,3,13,24,10,18,7,0,18,4,83,132,9,0,23,11,18,6,0,18,4,68,119,88,16,70,35,67,100,65,73,4,81,1,2,200,107,42,40,40,6,7,0,17,134,5,1,1,1,160,29,97,27,128,2,7,128,161,9,6,7,4,0,0,1,0,1,3,162,3,2,1,0,163,5,161,3,2,1,0,108,13,163,11,2,1,64,2,1,8,48,3,10,1,0>>}). +-define(MTP3_MSG_DEC, {mtp3_msg,2,3,{mtp3_routing_label,5,12544,192},undefined,<<9,0,3,13,24,10,18,7,0,18,4,83,132,9,0,23,11,18,6,0,18,4,68,119,88,16,70,35,67,100,65,73,4,81,1,2,200,107,42,40,40,6,7,0,17,134,5,1,1,1,160,29,97,27,128,2,7,128,161,9,6,7,4,0,0,1,0,1,3,162,3,2,1,0,163,5,161,3,2,1,0,108,13,163,11,2,1,64,2,1,8,48,3,10,1,0>>}). parse_test() -> ?assertEqual(?MTP3_MSG_DEC, mtp3_codec:parse_mtp3_msg(?MTP3_MSG_BIN)).