Как преобразовать нотацию erlang asn.1 в нотацию значения asn.1 - PullRequest
2 голосов
/ 26 августа 2011

Я хочу получить выровненное по каждому закодированному сообщению 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?"
}

1 Ответ

0 голосов
/ 25 февраля 2013

Вам необходимо включить автоматически сгенерированные файлы hrl, которые содержат определения записей для ваших данных протокола asn. Они должны быть либо в той же папке, что и источник asn1, либо в ../include. После этого вы сможете использовать синтаксис записи myQuestion#'FooQuestion'{trackingNumber=TrackingNumber, question=Question} для сопоставления с образцом.

...