我正在寻找一个能够解码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/