From b38c75062bfb9a8c560639a78f2ec64860f3ae01 Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Wed, 22 Feb 2012 13:15:25 +0000 Subject: [PATCH] Reduce Chan.I.DTMF1 to just the bits needed for Call1 In Call1, everything except InitialTones has moved to the audio Content. Also rewrite the introduction to explain its reduced scope. --- spec/Channel_Interface_DTMF1.xml | 262 ++------------------------------------ 1 files changed, 12 insertions(+), 250 deletions(-) diff --git a/spec/Channel_Interface_DTMF1.xml b/spec/Channel_Interface_DTMF1.xml index 0222dd7..c55be38 100644 --- a/spec/Channel_Interface_DTMF1.xml +++ b/spec/Channel_Interface_DTMF1.xml @@ -21,193 +21,23 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - The only part of this spec that should - be used with a Call1 channel is the "InitialTones" property. - - - The Stream_IDs in this - interface can now be ignored by CMs. + + Removed everything not applicable to Call1. - An interface that gives a Channel the ability to send DTMF - events over audio streams which have been established using the - Call1 - channel type. The event codes used are in common with those - defined in RFC4733, - and are listed in the DTMF_Event enumeration. +

An interface that gives + Call1 + channels the ability to send a sequence of DTMF events as soon + as the call is established. For instance, this could be used + to dial an extension number automatically.

+ +

To send DTMF events later in the call, including interactively + via a dial-pad, use the + DTMF1 + interface on an audio Content.

- - The Stream_ID parameter became - vestigial. - - This argument is included for backwards - compatibility and MUST be ignored by the implementations - the - tone SHOULD be sent to all eligible streams in the - channel. - - - A numeric event code from the DTMF_Event enum. - - - -

Start sending a DTMF tone to all eligible streams in the channel. - Where possible, the tone will continue until - StopTone is called. On certain protocols, - it may only be possible to send events with a predetermined length. In - this case, the implementation MAY emit a fixed-length tone, and the - StopTone method call SHOULD return NotAvailable.

- - The client may wish to control the exact duration and timing of the - tones sent as a result of user's interaction with the dialpad, thus - starting and stopping the tone sending explicitly. - - -

Tone overlaping or queueing is not supported, so this method can only - be called if no DTMF tones are already being played.

-
- - - - - The given stream ID was invalid. Deprecated, since stream IDs - are ignored. - - - - - There are no eligible audio streams. - - - - - DTMF tones are already being played. - - - -
- - - The Stream_ID parameter became - vestigial. - - This argument is included for backwards - compatibility and MUST be ignored by the implementations - the - sending SHOULD be stoped in all eligible streams in the - channel. - - - - Stop sending any DTMF tones which have been started using the - StartTone or - MultipleTones methods. - If there is no current tone, this method will do nothing. - If MultipleTones was used, the client should not assume the - sending has stopped immediately; instead, the client should wait - for the StoppedTones signal. - - On some protocols it might be impossible to cancel queued tones - immediately. - - - - - - - The given stream ID was invalid. Deprecated, since stream IDs - are ignored. - - - - - Continuous tones are not supported by this stream. Deprecated, - since stream IDs are ignored. - - - - - - - - The characters [pPxXwW,] must - also be supported. - - -

A string representation of one or more DTMF - events. Implementations of this method MUST support all of the - following characters in this string:

- -
    -
  • the digits 0-9, letters A-D and a-d, and symbols '*' and '#' - correspond to the members of DTMF_Event
  • - -
  • any of 'p', 'P', 'x', 'X' or ',' (comma) results in an - implementation-defined pause, typically for 3 seconds
  • - -
  • 'w' or 'W' waits for the user to continue, by stopping - interpretation of the string, and if there is more to be played, - emitting the TonesDeferred signal - with the rest of the string as its argument: see that signal - for details
  • -
-
-
- -

Send multiple DTMF events to all eligible streams in the channel. - Each tone will be played for an implementation-defined number of - milliseconds (typically 250ms), followed by a gap before the next tone - is played (typically 100ms). The - duration and gap are defined by the protocol or connection manager.

- - -

In cases where the client knows in advance the tone sequence it - wants to send, it's easier to use this method than manually start - and stop each tone in the sequence.

- -

The tone and gap lengths may need to vary for interoperability, - according to the protocol and other implementations' ability to - recognise tones. At the time of writing, GStreamer uses a - minimum of 250ms tones and 100ms gaps when playing in-band DTMF - in the normal audio stream, or 70ms tones and 50ms gaps when - encoding DTMF as audio/telephone-event.

-
- -

Tone overlaping or queueing is not supported, so this method can only - be called if no DTMF tones are already being played.

-
- - - - - The supplied Tones string was invalid. - - - - - There are no eligible audio streams. - - - - - DTMF tones are already being played. - - - -
- - - - - Indicates whether there are DTMF tones currently being sent in the - channel. If so, the client should wait for - StoppedTones signal before trying to - send more tones. - - - @@ -223,74 +53,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - - -

The tones waiting for the user to continue, if any.

- -

When this property is set to a non-empty value, - TonesDeferred is emitted. - When any tones are played (i.e. whenever - SendingTones is emitted), - this property is reset to the empty string.

-
-
- - - - - The new non-empty value of - DeferredTones. - - -

Emitted when 'w' or 'W', indicating "wait for the user to continue", - is encountered while playing a DTMF string queued by - MultipleTones or - InitialTones. Any queued DTMF events - after the 'w', which have not yet been played, are placed in the - DeferredTones property and copied - into this signal's argument.

- -

When the channel handler is ready to continue, it MAY pass the - value of DeferredTones to - MultipleTones, to resume sending. - Alternatively, it MAY ignore the deferred tones, or even play - different tones instead. Any deferred tones are discarded the next - time a tone is played.

- -

This signal SHOULD NOT be emitted if there is nothing left to play, - i.e. if the 'w' was the last character in the DTMF string.

-
-
- - - - - DTMF string (one or more events) that is to be played. - - - -

DTMF tone(s)are being sent to all eligible streams in the channel. - The signal is provided to indicating the fact that the streams are - currently being used to send one or more DTMF tones, so any other - media input is not getting through to the audio stream. It also - serves as a cue for the - StopTone method.

-
-
- - - - - True if the DTMF tones were actively cancelled via - StopTone. - - -

DTMF tones have finished playing on streams in this channel.

-
-
- 0 -- 1.7.9.1