我试图将一些DTMF添加到AudioMediaStreamImpl(来自libjitsi)。我可以使用IN_BAND方法,但这不是最佳的,因为压缩会产生一些问题。
但我无法使用RTP_DTMF或SIP_INFO_DTMF的工作版本,但没有任何反应。
我尝试使用标准方法,如:
public void sendDtmf(final DTMFTone dtmfTone) {
// Same code with DTMFMEthod.SIP_INFO_DTMF for second test.
mediaStream.startSendingDTMF(dtmfTone, DTMFMethod.RTP_DTMF, 100, 101, 100);
try {
Thread.sleep(1000L);
} catch (InterruptedException e) {
e.printStackTrace();
}
mediaStream.stopSendingDTMF(DTMFMethod.RTP_DTMF);
}
我试图在之前,之后停止rtp通量,不使用stopSendingDTMF,但没有任何工作。
我使用libjitsi版本563.
如果我无法使用AudioMediaStreamImpl获得解决方案,我将创建自己的SIP_INFO_DTMF,但我听说DTMF的最佳方法是RTP版本。
答案 0 :(得分:0)
我终于找到了如何归档我的目标。
startSendingDtmf启动一个具有发送DTMF任务的新线程。并且他抛出异常,因为不支持TELEPHONE_EVENT。
我需要在SDP事务中添加更多信息,并将动态有效负载添加到我的AudioStreamImplementation中。
RFC 2198/4733定义了如何添加媒体属性。