gpt4 book ai didi

Android pjsip DTMF 代码不发送

转载 作者:太空宇宙 更新时间:2023-11-03 10:45:40 29 4
gpt4 key购买 nike

从此处找到的示例开始:https://trac.pjsip.org/repos/wiki/Getting-Started/Android ,我设法构建并运行了 pjsua2 示例应用程序。

问题是我无法发送 DTMF 代码,它们出现在 logcat 中但根本没有发送(我使用 wireshark 进行了检查)。确认通话状态后,我尝试发送 DTMF 代码,如下所示:

currentCall.dialDtmf("123#");

currentCall.dialDtmf("1");
currentCall.dialDtmf("2");
currentCall.dialDtmf("3");
currentCall.dialDtmf("#");

如果我发送这些代码,服务器应该开始播放声音,所以我得到一些反馈,表明代码已正确发送。问题不在服务器端,因为我已经用其他第 3 方应用程序进行了测试。

我也尝试过以下但没有成功:

OnDtmfDigitParam dtmfDigitParam = new OnDtmfDigitParam();
dtmfDigitParam.setDigit("1");
currentCall.onDtmfDigit(prm);

还有其他想法吗?

编辑:我认为这与 RTP 有关?该库似乎没有响应它发送给 Android 应用程序的服务器消息(RTP g711A - 这是在 ACK @call 建立/确认后发送的)。

谢谢!

最佳答案

检查您的服务器接受什么类型的 DTMF。

Pjsua2 dialDtmf 方法将使用 RFC 2833 有效负载格式将 DTMF 数字发送到远程。

您可以在 wireshark 中将 DTMF 数据包视为 RTP 事件。

引用下面的链接...

http://www.pjsip.org/docs/book-latest/html/call.html

关于Android pjsip DTMF 代码不发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24367467/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com