2.2.6.40 LINEMEDIACONTROLTONE

The LINEMEDIACONTROLTONE packet describes a media action to be executed when a tone has been detected. It is used as an entry in an array. The SetMediaControl packet uses this packet.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

dwAppSpecific

dwDuration

dwFrequency1

dwFrequency2

dwFrequency3

dwMediaControl

dwAppSpecific (4 bytes): An unsigned 32-bit integer. This field is used by the application for tagging the tone. When this tone is detected, the value of the dwAppSpecific member MUST be passed back to the application.

dwDuration (4 bytes): An unsigned 32-bit integer. The duration of time, in milliseconds, during which the tone SHOULD be present before detection is made.

dwFrequency1 (4 bytes): An unsigned 32-bit integer. The first frequency, in hertz, of the tone.

dwFrequency2 (4 bytes): An unsigned 32-bit integer. The second frequency, in hertz, of the tone.

dwFrequency3 (4 bytes): An unsigned 32-bit integer. The third frequency, in hertz, of the tone. If fewer than three frequencies are needed in the tone, a value of 0 SHOULD be used for the unused frequencies. A tone with all three frequencies set to zero is interpreted as silence and can be use for silence detection.

dwMediaControl (4 bytes): An unsigned 32-bit integer. The media control action. This member MUST use one of the LINEMEDIACONTROL_Constants.

This packet cannot be extended.

The LINEMEDIACONTROLTONE packet defines a tuple <tone, media-control action>. An array of these tuples is passed to the SetMediaControl packet to set media control actions triggered by media type changes for a given call. When a change to a listed media type is detected, the corresponding action on the media stream is invoked.

A tone with all frequencies set to 0 corresponds to silence. An application can thus monitor the call's information stream for silence.