我正在寻找一个能够解码h323包的第三方库。我想我应该可以使用openh323。但由于它是一个大型库,我不知道应该使用哪个类和函数来解码包。任何建议都将不胜感激!

最佳答案

OpenH323已经很多年没有被维护了。你应该改用继任者H323Plus
逻辑是将接收到的缓冲区解码为h323plus类之一。

H225_RasMessage ras;
ras.Decode(buffer);

从那时起,您必须检查消息中的标记,并使用对子类的引用来访问特定字段。
if (ras.GetTag() == H225_RasMessage::e_gatekeeperConfirm) {
    H225_GatekeeperConfirm & gcf = ras;
    ...
} else ...

对于q.931信令消息,您必须首先剥离tpkt包装。
如果您想避免手工完成所有这些工作,请使用包含的框架,并像h323plus示例应用程序那样,只将h323endpoint子类化。

关于linux - 如何解码H323数据包?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28044413/

10-09 01:51