我有一个使用Linphone xamarin sdk版本号4.1-161-g585c663的Android / iOS应用程序。 它通过修改呼叫的SDP来指示它不应该发送rtp数据包,从而实现“静音”操作。 当我在通话20分钟后要求将其静音时,该问题发生在安全通话(使用srtp)上。 它发送带有“ recvonly”和新加密密钥的INVITE(我将“ keep_srtp_keys”设置为0)。 使用新的加密密钥,它将获得200OK响应。 从那时起,它听不到对方的声音。 当我尝试取消通话静音时,问题仍未解决-我仍然听不到对方的声音。 “音频会话的RTP统计信息”显示,在我将呼叫静音直到断开连接后,接收到的数据包数量没有改变。
我将“ keep_srtp_keys”设置为1重复了这种情况。 没有语音问题仍然存在,但是这次有很多错误消息,例如: “流ctx [0x70d8bab380]上的错误srtp_unprotect()失败(7)” 接收到的数据包的统计信息行保持不变。
我将“ keep_srtp_keys”设置为0进行了更多测试,发现: 1.接听电话后20:10分钟静音操作时,错误消息且无声音出现。 2.如果通话没有静音,则语音会保持稳定(至少1小时)。
注意: 当应用程序在iPhone上运行时,麦克风无法静音。 呼叫代理位于处理媒体的AudioCodes Mediant服务器后面。
谢谢