MEGACO в текстовом виде
От: kas.ru Россия http://AlexanderKiselev.moikrug.ru
Дата: 13.02.07 13:49
Оценка:
Здравствуй, All!

Пытаюсь распарсить MEGACO с помощью OpenH323. Например, такое сообщение:

!/1 <company1.com>:2944
T=1{C=-{SC=ROOT{SV{MT=RS,RE="901 Cold Boot",V=1,PF=ResGW/1,20070130T07185669}}}}

Пробовал так:

H248_Message msg;

data = "!/1 <company1.com>:2944\nT=1{C=-{SC=ROOT{SV{MT=RS,RE=\"901 Cold Boot\",V=1,PF=ResGW/1,20070130T07185669}}}}";
len = strlen(data);

PPER_Stream bytes(data, len);

BOOL b = msg.Decode(bytes);

if (b)
{
    msg.PrintOn(std::cout);
}


Но, похоже, что H248_Message думает, что это бинарный протокол и считает первый символ (data[0]) — восклицательный знак — версией протокола. По-этому "version = 33" (см. ниже)


"version = 33
mId = domainName {
name = " <company1.com>:2944\nT=1{C=-{SC=ROOT{SV{MT=RS,RE="
portNumber = 8761
}
messageBody = messageError {
errorCode = 12576
}"


Как распарсить сообщения MEGACO такого вида?

Спасибо.
Regards,
Alexander Kiselev
ICQ: 32212717
Skype: kas_ru
Re: MEGACO в текстовом виде
От: ANM Россия  
Дата: 13.02.07 20:01
Оценка:
Здравствуйте, kas.ru, Вы писали:

KR>Пытаюсь распарсить MEGACO с помощью OpenH323. Например, такое сообщение:

KR>Пробовал так:
KR>
KR>H248_Message msg;
...
KR>PPER_Stream bytes(data, len);
KR>BOOL b = msg.Decode(bytes);
...
KR>


Скорей всего проблема в использовании PPER_Stream, PER это бинарный стандарт кодирования ASN.1.
Попробуйте найти PAVN_Stream
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.