Как декодировать пакет H323?
Я ищу стороннюю библиотеку, способную декодировать пакеты H323. Я думаю, что я должен быть в состоянии использовать OpenH323. Но так как это большая библиотека, я не знаю, какой класс и функцию мне следует использовать для декодирования пакета. Любой совет будет принят во внимание!
1 ответ
OpenH323 не поддерживается уже много лет. Вместо этого вы должны использовать преемника H323Plus.
Логика заключается в том, что вы декодируете полученный буфер в один из классов H323Plus.
H225_RasMessage ras;
ras.Decode(buffer);
После этого вы должны проверить теги в сообщениях и использовать ссылки на подклассы для доступа к определенным полям.
if (ras.GetTag() == H225_RasMessage::e_gatekeeperConfirm) {
H225_GatekeeperConfirm & gcf = ras;
...
} else ...
Для сигнальных сообщений Q.931 сначала необходимо удалить обертку TPKT.
Если вы хотите избежать всего этого вручную, используйте включенную платформу и просто создайте подкласс H323EndPoint, как это делает пример приложения H323Plus.