ToneController
Applies to: Skype for Business 2015
The ToneController class is responsible for handling telephony tone communication between an AudioVideoFlow instance and an application. A ToneController instance can send telephone keypad tones to or receive them from an attached AudioVideoFlow instance. Although ToneController and AudioVideoFlow instances operate independently of one other, communication is effective only when the attached AudioVideoFlow instance is in the Active state (that is, the State property on the AudioVideoFlow instance is Active).
An application can send a tone by calling one of the overloaded Send methods, and provided that the attached AudioVideoFlow instance is in the Active state. If the AudioVideoFlow instance is in a state other than Active (that is, Idle or Terminated), an exception is not thrown.
An application can receive a tone if it has registered a handler for the ToneReceived event.
An application can detect when a fax tone is received from a remote peer. An application that has subscribed to the IncomingFaxDetected event on the ToneController class can detect an incoming fax tone in either of the following situations:
In-band fax tone (CNG tone event in the RTP stream sent according to RFC 2833)
Out-of-band fax tone (CNG tone is sent over the RTP event)
The endpoint receives a SIP ReINVITE with a=image