RFC 2833 - is our default for all customers. This protocol uses RTP packets with Payload Type = Named Telephony Event (NTE) to transfer DTMF information. With this type of transmission, the tone in the audio stream will not be heard, since NTE packets are not voice. Instead, there will be silence, and the DTMF information will go in a separate package. For example, when a client dials 1, this is transferred to the “Event ID: DTMF One 1 (1)” field. Those. if one subscriber presses a key at home, the other subscriber will not hear any tone.
In-band - with this transfer method, DTMF is sent directly to the RTP voice stream, this works great when using the G.711a codec, i.e. if the voice stream is not compressed. The main problem arises when using compression algorithms, for example, the G.729 codec. The fact is that during compression, the quality of the voice stream noticeably deteriorates, and although this almost does not affect the ability of subscribers to understand each other, the DTMF tone is no longer clear enough and is perceived incorrectly. So the use of In-band is only possible when using the G.711a codec.