我想接收每个编码的asn.1消息对齐并将其解码为asn.1值表示法。有没有可用的工具? Erlang支持编码和解码,并从文件读取值表示法,但解码只提供erlang,而不是值表示法。
'S1AP':decode('S1AP-PDU', [32,17,0,23,0,0,2,0,105,0,11,0,0,98,242,33,0,0,195,92,0,51,0,87,64,1,25]).
{ok,{successfulOutcome,{'SuccessfulOutcome',17,reject,{'S1SetupResponse',[{'ProtocolIE-Field',105,reject,[{'ServedGUMMEIsItem',["bò!"],["Ã\\"],["3"],asn1_NOVALUE}]},{'ProtocolIE-Field',87,ignore,25}]}}}}
如何继续上面的代码。我想获得像http://en.wikipedia.org/wiki/Abstract_Syntax_Notation_One#Example或更低版本(取自维基站点)
的PDUmyQuestion FooQuestion ::= {
trackingNumber 5,
question "Anybody there?"
}
答案 0 :(得分:0)
您需要包含自动生成的hrl文件,其中包含asn协议数据的记录定义。它们必须与asn1源或../include位于同一文件夹中。之后,您将能够使用记录语法myQuestion#'FooQuestion'{trackingNumber=TrackingNumber, question=Question}
来模式匹配数据。