2

我想接收每个编码的 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}]}}}}

如何继续上面的代码。我想在这里获得 PDU http://en.wikipedia.org/wiki/Abstract_Syntax_Notation_One#Example或以下(取自维基站点)

myQuestion FooQuestion ::= {
trackingNumber     5,
question           "Anybody there?"
}
4

1 回答 1

0

您需要包含自动生成的 hrl 文件,其中包含 asn 协议数据的记录定义。它们必须与 asn1 源在同一文件夹中或在 ../include 中。之后,您将能够使用记录语法myQuestion#'FooQuestion'{trackingNumber=TrackingNumber, question=Question}对数据进行模式匹配。

于 2013-02-24T22:40:50.760 回答