Some DTMF Questions #178

Closed
aboba opened this Issue Feb 9, 2015 · 2 comments

Projects

None yet

2 participants

@aboba
Contributor
aboba commented Feb 9, 2015

From Shijun Sun:

  1. What happens if a DTMFSender object sender is constructed from an RTCRtpSender object sendObject and methods such as insertDTMF() are called, but sendObject.send() was not previously called to set up the DTMF codec?

var sendObject = new RTCRtpSender(audioTrack, dtlsTransport);
var sender = new RTCDtmfSender(sendObject);
if (sender.canInsertDTMF) {
var duration = 500;
sender.insertDTMF("1234", duration);
} else
log("DTMF function not available");

In the above example (assuming the DTMF function is available) does sender.insertDTMF() throw an InvalidState exception?

  1. In the single sender example above, what happens to the audioTrack when DTMF is being sent? Presumably the audioTrack is not encoded, correct? Then once the DTMF tones are played out, audioTrack is encoded and sent over the wire within RTP packets again?
@aboba aboba added 1.0 1.1 and removed 1.0 labels Feb 11, 2015
@aboba
Contributor
aboba commented Feb 13, 2015

The proposed resolution is to add the following text to Section 10.3.2:

insertDTMF
Insert DTMF tones. Since DTMF tones cannot be sent without configuring the DTMF codec, if insertDTMF() is called prior to sender.send(), throw an InvalidStateError exception.

@aboba aboba removed the 1.1 label Feb 20, 2015
@aboba
Contributor
aboba commented Mar 11, 2015

A slight revision:
insertDTMF
Insert DTMF tones. Since DTMF tones cannot be sent without configuring the DTMF codec, if insertDTMF() is called prior to sender.send(parameters), or if sender.send(parameters) was called but parameters did not include the DTMF codec, throw an InvalidStateError exception.

@robin-raymond robin-raymond pushed a commit that referenced this issue Mar 25, 2015
Robin Raymond - Added Section 8.3.1 on RTP matching rules, as noted in: Issue #48
- Revised the text relating to RTCDtlsTransport.start(), as noted in: Issue #168
- Clarified pruning of local candidates within the RTCIceGatherer, as noted in: Issue #174
- Clarified handling of incoming connectivity checks by the RTCIceGatherer, as noted in: Issue #170
- Added Section 9.3.2.1, defining DTMF capabilities and settings, as noted in: Issue #177
- Clarified pre-requisites for insertDTMF(), based on: Issue #178
- Added Section 8.3.2 and updated Section 9.5.1 to clarify aspects of RTCP sending and receiving, based on: Issue #180
b03c129
@aboba aboba closed this Apr 15, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment