DTMF again

So, a concrete proposal:

we define the operation "insertDTMF" that is available on 
AudioMediaStreamTrack's (or should that be named AudioStreamTrack?):

insertDTMF("1")  // plays tone 1 for 50 ms
insertDTMF("2", 200)  // plays tone 2 for 200 ms
insertDTMF("123")  // plays tones 1, 2, 3 in succession, each for 50 ms
insertDTMF("456", 200)  // plays tones 4, 5, 6 in succession, each for 
200 ms

(I prefer "insert" over "send" as nothing is sent unless the MediaStream 
that the AudioStreamTrack belongs to is added to a PeerConnection)

"insertDTMF" leads to the insertion of the actual tones in the audio, so 
if the MediaStream in question is attached to an audio element, those 
tones would be played out. This has the advantage that it is much 
simpler to locally give audio feedback to the user that dtmf is sent - 
when I use DTMF on my phone I hear the tones.

"insertDTMF" also, if the MediaStream in question is attached to an open 
PeerConnection, leads to RTP packets according to RFC4733 being inserted 
in the RTP stream corresponding to this AudioStreamTrack.

(if reception of DTMF is also supported by the browser, I guess that in 
addition to inserting the tones in the AudioStreamTrack, events 
informing the application should be dispatched)

Received on Thursday, 1 December 2011 13:20:41 UTC