我使用OpalVoip库(3.12.8)来实现H323堆栈。如果我从opalVoip调用另一个终端,那么调用就会通过,但是如果我调用一个MCU,.the调用就会失败,没有找到通用的编解码器。
从有效的h323终端(而不是opal)捕获的呼叫流如下(通过wireshark)。

来自OpalVoip的调用流如下所示

我发现如果opalVoip在单片机之前发送OLC,那么调用就失败了。这一次,在第三次OLC尝试中,MCU发送了一个OLC,而呼叫在第四次尝试中完成。Opal总是在成功连接后发送OLC。有没有办法让它等到收到另一个客户端的OLC。终端(硬件)总是成功地连接到单片机上。也许和OPAL在一起。在流程中,始终选择终端和OPAL作为主设备。在该流程中,如果连接到MCU,则终端等待OLC;如果连接到另一个终端,则该终端将尽快发送OLC。
发布于 2013-12-12 09:26:43
我不认为你可以让OPAL等待发送OLC,但OLC在从MCU获得OLC之前发送的事实可能不是问题。
我的猜测是,您的OPAL客户端使用的其中一个编解码器与您的MCU不兼容。您可以查看被MCU拒绝的OLC内部,并在下一次测试调用中禁用该编解码器,并查看MCU是否接受另一个编解码器(可能是H.264)的OLC。
https://stackoverflow.com/questions/20536795
复制相似问题