连接到MCU时OpalVoip H323呼叫失败
问题描述:
我使用OpalVoip库(3.12.8)实现H323堆栈。 如果我从opalVoip调用另一个终端,则呼叫会通过,但是如果我打电话给一个MCU,则调用将失败,并且不会找到常见的编解码器。连接到MCU时OpalVoip H323呼叫失败
从有效的h323终端(非欧泊)捕获的呼叫流程如下(通过wireshark)。
从OpalVoip呼叫流程如下
我发现如果opalVoip的MCU之前发送OLC,则调用失败。这次在第三次OLC尝试中,MCU发送了一个OLC,并且这次呼叫在第四次尝试中完成。 Opal在连接成功后总是发送OLC。有没有什么办法让它等待,直到它从另一个客户端收到一个OLC。终端(硬件)总是成功连接到MCU。与OPAL它也许。在流程终端和OPAL中总是被选为主人。在流程中,如果连接到MCU,终端等待OLC,但如果连接到另一个终端,则尽快发送OLC。
答
我不认为你可以让OPAL等待发送OLC,但事实上OLC在它从MCU获得之前发送可能不是问题。
我的猜测是,您的OPAL客户端使用的编解码器之一与您的MCU不兼容。您可以查看被MCU拒绝的OLC,并禁用下一次测试呼叫的编解码器,并查看MCU是否接受另一个编解码器(可能是H.264)的OLC。
该MCU与H.264兼容。问题是有些时候它完美地工作。有时候它并不像上述情况那样工作。 – techgentsia
无论如何,我会尝试。 H.264有几十个协议选项,而OPAL编解码器可能同样不支持所有这些选项。所以它可能适用于某些点而不适用于其他点。在OLCReject上,你也可能会发现一个使用拒绝原因。 –
拒绝是不是蛋白石,MCU拒绝它。我一点一点地检查了H.264协议。原因在某些情况下为空,在某些情况下为“主人冲突”。我可以看到欧泊尝试最多4次。是否有可能增加这一点。是否有可能将蛋白石设为奴隶。 – techgentsia