没有与libjitsi的RTP或SIP DTMF

时间:2014-12-16 08:15:30

标签: java sip dtmf

我试图将一些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版本。

1 个答案:

答案 0 :(得分:0)

我终于找到了如何归档我的目标。

startSendingDtmf启动一个具有发送DTMF任务的新线程。并且他抛出异常,因为不支持TELEPHONE_EVENT。

我需要在SDP事务中添加更多信息,并将动态有效负载添加到我的AudioStreamImplementation中。

RFC 2198/4733定义了如何添加媒体属性。