Skip to main content

Appendix C: Glossary

This glossary defines the terms used throughout the FreeSWITCH Users Manual as they apply to FreeSWITCH configuration and operation. Definitions are consistent with standard SIP and VoIP usage except where FreeSWITCH assigns a more specific meaning.

A

TermDefinition
ACLAccess Control List. A named list of CIDR network blocks or IP addresses used to permit or deny network access to FreeSWITCH services. ACLs are defined in autoload_configs/acl.conf.xml and referenced by name in Sofia profiles and other modules.
ActionA dialplan directive that executes an application or sets a variable when all conditions in its enclosing extension have matched. Actions are evaluated in document order within a <condition> block.

B

TermDefinition
BridgeThe act of connecting two or more call legs so that media flows between them. In the dialplan, the bridge application connects the current channel to one or more destination endpoints. A bridge does not merge channels into a single session; each leg retains its own channel.
Bypass mediaA signaling mode in which FreeSWITCH instructs endpoints to exchange RTP directly with each other, removing the FreeSWITCH media server from the media path. Enabled per-call with the channel variable bypass_media=true. The SIP signaling path still passes through FreeSWITCH.

C

TermDefinition
CallA logical communication instance that consists of one or more legs. A two-party call has 2 legs (an A leg and a B leg). A call is represented internally as a session and may span multiple channels.
CDRCall Detail Record. A structured record written at the end of a call that captures metadata such as caller ID, destination, duration, disposition, and channel variables. FreeSWITCH can emit CDRs in XML or JSON format via modules such as mod_cdr_csv and mod_cdr_sqlite.
ChannelThe fundamental unit of a call leg in FreeSWITCH. Each channel corresponds to one endpoint connection and carries its own state machine, media stream references, and set of channel variables. A channel is created when a call leg is established and destroyed when that leg ends.
Channel variableA key-value pair scoped to a single channel. Channel variables control call behavior (e.g., hangup_after_bridge, effective_caller_id_number), carry call metadata, and are readable and writable from the dialplan and from applications throughout the life of the channel.
CodecA coder-decoder specification that defines how audio (or video) is encoded for transmission over RTP. FreeSWITCH negotiates codecs during SDP exchange. Supported codecs are registered by modules (e.g., mod_opus, mod_g729).
ConditionA dialplan element that tests one or more attributes of the current channel (such as destination_number or caller_id_name) against a regular expression. Actions within the condition execute only when all tests match.
ContextA named collection of dialplan extensions. Incoming calls are assigned to a context (e.g., public or default) based on the SIP profile or directory configuration. The dialplan engine searches only the extensions within the assigned context.

D

TermDefinition
DialplanThe routing engine that determines what happens to a call after it is received by FreeSWITCH. The default dialplan (XML dialplan) is a hierarchical structure of contexts, extensions, conditions, and actions stored in dialplan/ XML files.
DirectoryThe XML-based user and domain database consumed by FreeSWITCH (primarily by mod_sofia). It defines domains, users, gateways, and per-user parameters. The directory is stored under directory/ and loaded at startup or on reloadxml.
DomainA logical namespace within the FreeSWITCH directory, typically corresponding to a SIP domain (e.g., pbx.example.com). Users and gateways are defined within a domain. A single FreeSWITCH instance can host multiple domains.
DTLSDatagram Transport Layer Security. A protocol used to negotiate encryption keys for SRTP in WebRTC and other secure media scenarios. DTLS replaces the SDES key exchange method and is required for WebRTC. Supported via mod_sofia with appropriate TLS settings.
DTMF (RFC 2833)Dual-Tone Multi-Frequency signaling carried out-of-band in RTP as telephone-event payloads defined in RFC 2833 (superseded by RFC 4733). FreeSWITCH can send and receive DTMF via RFC 2833, SIP INFO, or in-band audio, configurable per profile or per call.

E

TermDefinition
Early mediaAudio or video sent by a called endpoint before the call is fully answered (i.e., before a SIP 200 OK). Early media arrives in a provisional 183 Session Progress response. FreeSWITCH can generate or pass through early media using the pre_answer application.
EndpointA module that implements a signaling and media protocol, enabling FreeSWITCH to originate and terminate calls. mod_sofia is the SIP endpoint. mod_verto is the Verto/WebRTC endpoint. Each endpoint registers with the FreeSWITCH core and handles its own protocol stack.
Event SocketA TCP-based interface provided by mod_event_socket that exposes FreeSWITCH events and commands to external applications. It operates in inbound mode (external app connects to FreeSWITCH) or outbound mode (FreeSWITCH connects out per-call).
ExtensionA dialplan element within a context that groups one or more conditions and their associated actions. FreeSWITCH tests each extension in order until one matches the incoming call. An extension match triggers execution of its actions.

F

TermDefinition
FIFOFirst In, First Out queue. Implemented by mod_fifo, a FIFO holds callers waiting to be answered by agents. Callers enter a queue with the fifo application; agents retrieve callers from the queue using the same application in consumer mode.

G

TermDefinition
GatewayA SIP trunk definition within the FreeSWITCH directory or Sofia profile configuration that describes how to register with or send calls to an upstream SIP provider. A gateway specifies a proxy address, credentials, and registration parameters.

I

TermDefinition
IVRInteractive Voice Response. A call flow that plays prompts and collects DTMF or speech input from the caller to route or serve the call programmatically. In FreeSWITCH, IVR logic can be implemented via the XML IVR menu system (mod_ivr), Lua, JavaScript, or other scripting modules.

L

TermDefinition
LegOne side of a call. A standard 2-party call has an A leg (the originating channel) and a B leg (the terminated channel). Each leg is a distinct channel with independent signaling and media.

M

TermDefinition
MOHMusic on Hold. Audio streamed to a held caller. In FreeSWITCH, MOH is typically implemented by placing a caller into a park or hold state and using a local audio file or stream as the source, configured via the hold_music channel variable or profile parameter.

N

TermDefinition
NATNetwork Address Translation. A mechanism by which a router rewrites IP addresses and ports between a private network and a public network. FreeSWITCH includes NAT traversal helpers in mod_sofia (e.g., STUN, ext-rtp-ip, ext-sip-ip) to ensure correct SDP addressing for endpoints behind NAT.

P

TermDefinition
Preprocessor variableA variable defined in vars.xml or via X-PRE-PROCESS directives that is substituted into XML configuration files before the configuration is parsed. Preprocessor variables use the syntax $${variable_name} and are resolved once at load time, unlike channel variables which are runtime values.
Profile (Sofia profile)A named SIP stack instance configured within mod_sofia. A profile defines a listening address and port, transport protocols (UDP, TCP, TLS), codec preferences, NAT handling, and many other SIP-layer parameters. FreeSWITCH can run multiple profiles simultaneously (e.g., an internal profile and an external profile).
proxy mediaA media handling mode in which FreeSWITCH passes RTP between endpoints without decoding or re-encoding the audio. FreeSWITCH remains in the RTP path but does not transcode. Enabled with the channel variable proxy_media=true. Differs from bypass media in that FreeSWITCH still receives and forwards each RTP packet.
ptimePacket time. The duration of audio, in milliseconds, encoded in each RTP packet. Common values are 20 ms and 30 ms. Mismatched ptime between endpoints may require FreeSWITCH to repacketize audio, which is handled transparently when transcoding is active.

R

TermDefinition
RegistrationThe process by which a SIP user agent sends a REGISTER request to FreeSWITCH (via mod_sofia) to associate its current contact address with a SIP address of record (AOR). Registered contacts are stored in the FreeSWITCH registration database and used for inbound call routing.
RTPReal-time Transport Protocol. The UDP-based protocol used to carry audio and video media between endpoints. RTP packets include a sequence number, timestamp, and payload type that identify the codec and packet ordering.

S

TermDefinition
SDPSession Description Protocol. A text format carried in SIP message bodies that describes the media capabilities of an endpoint: IP address, port, codecs, ptime, and security parameters. FreeSWITCH generates and parses SDP during call setup to negotiate the media session.
SessionThe FreeSWITCH-internal object that owns a channel and its associated state for the lifetime of a call leg. A session ties together the signaling (endpoint), media (RTP), and dialplan execution context for one leg.
SRTPSecure Real-time Transport Protocol. An encrypted extension of RTP that provides confidentiality and message authentication for media streams. FreeSWITCH supports SRTP using SDES key exchange (via SDP) or DTLS key exchange (for WebRTC).

T

TermDefinition
T.38An ITU standard for transmitting fax over IP (FoIP) using UDP or TCP rather than audio-band modem tones over RTP. mod_sofia can negotiate a switch from audio RTP to T.38 mid-call when a fax tone is detected, enabling reliable fax transmission over lossy networks.
TranscodingThe process of decoding audio from one codec and re-encoding it into another. FreeSWITCH performs transcoding when the A and B legs negotiate different codecs. Transcoding requires CPU resources and is not performed when bypass media or proxy media is active.

U

TermDefinition
UserAn entry in the FreeSWITCH directory representing a SIP subscriber. A user is defined within a domain and may specify credentials, caller ID, codec preferences, and per-user variables. Users are referenced during SIP registration and inbound call routing via the user dialplan destination.

V

TermDefinition
VertoA FreeSWITCH-native JSON-RPC signaling protocol designed for WebRTC clients, implemented by mod_verto. Verto operates over a WebSocket connection and provides call control, media negotiation, and conferencing capabilities without requiring a SIP stack on the client.

W

TermDefinition
WebRTCWeb Real-Time Communication. A set of browser APIs and protocols (ICE, DTLS, SRTP, SDP) that enable peer-to-peer audio and video in web browsers. FreeSWITCH supports WebRTC clients via mod_verto (Verto signaling) and via SIP over WebSocket (mod_sofia with WSS transport).