如何将asn.1 erlang表示法转换为asn.1值表示法

时间:2011-08-26 11:06:03

标签: erlang asn.1

我想接收每个编码的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或更低版本(取自维基站点)

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

1 个答案:

答案 0 :(得分:0)

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