我正在寻找能够解码H323数据包的第三方库。我想我应该可以使用OpenH323。但由于它是一个大型库,我不知道应该使用哪个类和函数来解码数据包。任何意见,将不胜感激!
答案 0 :(得分:2)
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示例应用程序一样。