# In-band signaling

In telecommunications, in-band signaling is the sending of control information within the same band or channel used for data such as voice or video. This is in contrast to out-of-band signaling which is sent over a different channel, or even over a separate network. In-band signals may often be heard by telephony participants, while out-of-band signals are inaccessible to the user. The term is also used more generally, for example of computer data files that include both literal data, and metadata and/or instructions for how to process the literal data.

## Telephony

When dialing from a land-line telephone, the telephone number is encoded and transmitted across the telephone line in form of dual-tone multi-frequency signaling (DTMF). The tones control the telephone system by instructing the telephone switch where to route the call. These control tones are sent over the same channel, the copper wire, and in the frequency range (300 Hz to 3.4 kHz) as the audio of the telephone call. In-band signaling is also used on older telephone carrier systems to provide inter-exchange information for routing calls. Examples of this kind of in-band signaling system are the Signaling System No. 5 (SS5) and its predecessors, and R2 signalling.
Separating the control signals, also referred to as the control plane, from the data, if a bit-transparent connection is desired, is usually done by escaping the control instructions. Occasionally, however, networks are designed so that data is, to a varying degree, garbled by the signaling. Allowing data to become garbled is usually acceptable when transmitting sounds between humans, since the users rarely notice the slight degradation, but this leads to problems when sending data that has very low error tolerance, such as information transmitted using a modem.
In-band signaling is insecure because it exposes control signals, protocols and management systems to end users, which may result in falsing. In the 1960s and 1970s, so-called phone phreaks used blue boxes for deliberate falsing, in which the appropriate tones for routing were intentionally generated, enabling the caller to abuse functions intended for testing and administrative use and to make free long-distance calls.
Modems may also interfere with in-band signaling, in which case a guard tone may be employed to prevent this.

## Voice over IP

In voice over IP (VoIP), DTMF signals are transmitted in-band by two methods. When transmitted as audio tones in the voice stream, voice encoding must use a lossless coder, such as μ-law or A-law pulse-code modulation, to preserve the integrity of frequency signals. Still, this method proved often unreliable and was subject to interference from other audio sources. The standard method is to digitally remove DTMF tones from the audio at the source and from the Real-time Transport Protocol (RTP) voice stream and encode them separately as a digital information payload, often termed named telephone events (NTE), according to RFC 4733. Such DTMF frames are transmit in-band with all other RTP packets on the identical network path.
In contrast to in-band transmission of DTMF, VoIP signaling protocols also implement out-of-band method of DTMF transmission. For example, the Session Initiation Protocol (SIP), as well as the Media Gateway Control Protocol (MGCP) define special message types for the transmission of digits.

## Other applications

As a method of in-band signaling, DTMF tones were also used by cable television broadcasters to indicate the start and stop times of local insertion points during station breaks for the benefit of cable companies. Until better, out-of-band signaling equipment was developed in the 1990s, fast, unacknowledged, and loud DTMF tone sequences could be heard during the commercial breaks of cable channels in the United States and elsewhere.
These DTMF sequences were sent by the originating cable network's equipment at the uplink satellite facility, and were decoded by equipment at local cable companies. A specific tone sequence indicated the exact time that the feeds should be switched to and away from the master control feed, to locally-broadcast commercials. The following is an example of such a sequence by a cable company that communicated the following to the cable company's broadcast equipment:
   SWITCH TO LOCAL NOW - SWITCH TO LOCAL NOW - PREPARE TO SWITCH BACK - PREPARE TO SWITCH BACK - SWITCH BACK TO NATIONAL NOW - SWITCH BACK TO NATIONAL NOW - "IF YOU HAVEN'T SWITCHED BACK TO NATIONAL NOW, DO SO IMMEDIATELY"
DTMF signaling in the cable industry was discontinued because it was distracting to viewers, and was susceptible to interference when DTMF tones were sounded by characters in television shows. For example, a character dialing a Touch-Tone telephone in a television show could cause the cable company computers to switch away from a "hot feed" to dead air, and the cost of human-imperceptible signaling technologies decreased.
In-band signaling applies only to channel-associated signaling (CAS). In common channel signaling (CCS) separate channels are used for control and data, as opposed to the shared channel in CAS, so all control is out-of-band by definition.
In computer data, the term refers to embedding any kind of metadata directly within regular data. These uses have similar tradeoffs as in telecommunications, such as opening an attack surface vs. simplifying processing. A few of many examples:
* Embedding a magic number at the very start of files, to signal the format or language of the following data.
* Embedding a NULL character as in C strings, to signal the end of the string (as opposed to keeping that information outside the string).
* Embedding markup within text, whether to categorize parts of the text, provide processing or formatting instructions, or for other purposes.
* Reserving some characters in regular expressions, such as "*", to have special processing meanings, rather than representing literals.
* Embedding control codes in computer terminal input as a means of device control, allowing command-line users to issue single-character commands directly, e.g. Ctrl+d issues a ^D code, causing command-line programs to expect no further input from the user, and therefore to quit.
When out-of-band communication is unavailable, one of two techniques may be used to preserve network transparency.
* Encapsulation: The bundling of the control data in the packet's header and then removing the header (and/or footer) of the packet at the far end, restoring the data to be the same as the original.
* Bit stuffing: The insertion of non-information or escape characters to modify, synchronize and justify the data so it never looks like signaling information (and remove the stuffed bits and escape codes at the far end, restoring the data to be the same as the original).