# Install freeswitch with Homebrew, apk, Nix

Telephony platform to route various communication protocols. Version 1.11.1 via Homebrew; verified 2026-06-19.

## Install

```sh
sudo av install brew:freeswitch
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install freeswitch
```

  Evidence: local Homebrew formula metadata

### Linux

- apk (92%):

```sh
sudo apk add freeswitch
```

  Evidence: Alpine Linux edge package indexes: freeswitch from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz

- Nix (92%):

```sh
nix profile install nixpkgs#freeswitch
```

  Evidence: nixpkgs package indexes: pkgs/by-name/fr/freeswitch/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:freeswitch
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/freeswitch>
- **Version:** 1.11.1
- **Source summary:** Telephony platform to route various communication protocols
- **Homepage:** <https://freeswitch.org>
- **Repository:** <https://github.com/signalwire/freeswitch>
- **Upstream docs:** <https://developer.signalwire.com/freeswitch>
- **License:** MPL-1.1 AND LGPL-2.1-only
- **Source archive:** <https://files.freeswitch.org/releases/freeswitch/freeswitch-1.11.1.-release.tar.gz>
- **Last updated:** 2026-06-19T12:30:41-07:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- freeswitch (cli)
- fs_cli (cli)
- fs_encode (cli)
- fs_ivrd (cli)
- fs_tts (cli)
- fsxs (cli)
- gentls_cert (cli)
- switch_eavesdrop (cli)
- tone2wav (cli)
- freeswitch (alias)
- fs_cli (alias)
- fs_encode (alias)
- fs_ivrd (alias)
- fs_tts (alias)
- fsxs (alias)
- gentls_cert (alias)
- switch_eavesdrop (alias)
- tone2wav (alias)

## Dependencies

- freetype
- jpeg-turbo
- ldns
- libks
- libpng
- libpq
- libsndfile
- libtiff
- lua
- opencore-amr
- openssl@3
- opus
- pcre2
- signalwire-client-c
- sofia-sip
- speex
- speexdsp
- sqlite

## Build dependencies

- pkgconf

## Uses from macOS

- curl
- libedit

## Install behavior

- Post-install hook: not defined
- Service: declared
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.11.1
- Package-manager updated: 2026-06-19
- Local data: ok
- Upstream repository: https://freeswitch.org
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

FreeSWITCH is an open source software-defined telecom stack and softswitch for routing voice, video, messaging, and real-time communications protocols. For package users it is both a daemon and a toolkit: the install brings a large module ecosystem, fs_cli, media tools, and configuration rooted around freeswitch.xml.

### Project history

The official README describes FreeSWITCH as a move from proprietary telecom switches to a software implementation that runs on commodity hardware, from small boards to multi-core servers. The source tree identifies SignalWire as the primary sponsor, founded by the original FreeSWITCH developers.

Official repository history shows long-lived release lines, and the project changelog records substantial 1.2-era work across SIP, media, databases, WebRTC-related modules, conferencing, event sockets, and packaging scripts.

### Adoption history

FreeSWITCH adoption follows the broader shift from appliance telephony to software PBX, SIP, and RTC infrastructure. Its official documentation is operator-oriented and covers configuration, SIP profiles, dialplans, codecs, WebRTC, applications, and integration interfaces.

The README documents both source builds and packaged installation paths, and points users to Debian, Raspberry Pi, and CentOS/RHEL instructions. That makes FreeSWITCH a system package as much as a developer package, usually installed as a service with a full configuration tree.

### How it is used

Operators use FreeSWITCH to run SIP endpoints, route calls, provide voicemail and conferencing, bridge protocols, control calls through fs_cli and event socket interfaces, and integrate with hosted or external telecom services.

Package consumers need to track module selection, default XML configuration, database backends, media codec dependencies, and service layout. The official manual emphasizes that paths are relative to the configuration root containing freeswitch.xml, commonly /etc/freeswitch or /usr/local/freeswitch/conf.

### Why package nerds care

FreeSWITCH is significant because it turns telecom infrastructure into a packageable open source stack with many optional modules. It stresses packaging systems in ways small CLIs do not: init/service integration, default configs, codecs, sound packages, embedded libraries, scripting modules, and ABI-sensitive plugins all matter.

Its relationship with SignalWire also matters historically: the open source stack remains available, while commercial support and hosted services grew around the same core developer lineage.

### Timeline

- 2005-2006: Official FreeSWITCH source headers identify the original code period and Anthony Minessale as initial developer.
- v1.0.0: Official repository includes a 1.0 release tag.
- 2012: The 1.2 changelog records packaging, configuration, WebRTC-related, codec, event socket, and module expansion work.
- Current: SignalWire-hosted documentation presents FreeSWITCH as an open source Users Manual with commercially supported Enterprise services available.

### Related projects

- SignalWire is the primary sponsor and provides hosted services and commercial support around FreeSWITCH.
- mod_signalwire is distributed in the source tree to pair FreeSWITCH with SignalWire services.
- FreeSWITCH Sounds is published separately for sound packages used by installations.

### Sources

- <https://developer.signalwire.com/freeswitch/>
- <https://github.com/signalwire/freeswitch>
- <https://github.com/signalwire/freeswitch-docs>
- <https://lists.freeswitch.org/pipermail/freeswitch-svn/2009-February/009740.html>
- <https://raw.githubusercontent.com/signalwire/freeswitch/master/README.md>
- <https://raw.githubusercontent.com/signalwire/freeswitch/master/docs/ChangeLog>


## Security Notes

formula declares a Homebrew service.

- **Geiger risk:** orange / medium
- formula declares a Homebrew service


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: /etc/freeswitch/freeswitch.xml, /usr/local/freeswitch/conf/freeswitch.xml
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** freeswitch
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Nix - freeswitch: normalized package name match | nixpkgs package indexes: pkgs/by-name/fr/freeswitch/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - freeswitch - 1.10.12-r5: normalized package name match | Alpine Linux edge package indexes: freeswitch from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | A communications platform written in C from the ground up | https://www.freeswitch.org/
- apk - freeswitch-dbg - 1.10.12-r5: normalized package name match | Alpine Linux edge package indexes: freeswitch-dbg from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | A communications platform written in C from the ground up (debug symbols) | https://www.freeswitch.org/
- apk - freeswitch-dev - 1.10.12-r5: normalized package name match | Alpine Linux edge package indexes: freeswitch-dev from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | A communications platform written in C from the ground up (development files) | https://www.freeswitch.org/
- apk - freeswitch-flite - 1.10.12-r5: normalized package name match | Alpine Linux edge package indexes: freeswitch-flite from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Freeswitch Text To Speech Module | https://www.freeswitch.org/
- apk - freeswitch-mariadb - 1.10.12-r5: normalized package name match | Alpine Linux edge package indexes: freeswitch-mariadb from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Freeswitch MariaDB Module | https://www.freeswitch.org/
- apk - freeswitch-openrc - 1.10.12-r5: normalized package name match | Alpine Linux edge package indexes: freeswitch-openrc from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | A communications platform written in C from the ground up (OpenRC init scripts) | https://www.freeswitch.org/
- apk - freeswitch-perl - 1.10.12-r5: normalized package name match | Alpine Linux edge package indexes: freeswitch-perl from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Freeswitch Perl module | https://www.freeswitch.org/
- apk - freeswitch-perlesl - 1.10.12-r5: normalized package name match | Alpine Linux edge package indexes: freeswitch-perlesl from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Freeswitch Perl ESL module | https://www.freeswitch.org/
- apk - freeswitch-pgsql - 1.10.12-r5: normalized package name match | Alpine Linux edge package indexes: freeswitch-pgsql from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Freeswitch PostgreSQL Module | https://www.freeswitch.org/
- apk - freeswitch-python3 - 1.10.12-r5: normalized package name match | Alpine Linux edge package indexes: freeswitch-python3 from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Freeswitch Python3 module | https://www.freeswitch.org/
- apk - freeswitch-sample-config - 1.10.12-r5: normalized package name match | Alpine Linux edge package indexes: freeswitch-sample-config from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Freeswitch sample configuration | https://www.freeswitch.org/
- apk - freeswitch-sangoma - 1.10.12-r5: normalized package name match | Alpine Linux edge package indexes: freeswitch-sangoma from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Freeswitch Sangoma Media Transcode Codec Module | https://www.freeswitch.org/
- apk - freeswitch-snmp - 1.10.12-r5: normalized package name match | Alpine Linux edge package indexes: freeswitch-snmp from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Freeswitch SNMP module | https://www.freeswitch.org/
- apk - freeswitch-timezones - 1.10.12-r5: normalized package name match | Alpine Linux edge package indexes: freeswitch-timezones from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Freeswitch timezone configuration | https://www.freeswitch.org/


## Related links

- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Homebrew utility packages](https://www.automicvault.com/pkg/brew-utility-packages/) - Matched Homebrew package provider.
- [freetype](https://www.automicvault.com/pkg/brew/freetype/) - Runtime dependency declared by Homebrew.
- [jpeg-turbo](https://www.automicvault.com/pkg/brew/jpeg-turbo/) - Runtime dependency declared by Homebrew.
- [ldns](https://www.automicvault.com/pkg/brew/ldns/) - Runtime dependency declared by Homebrew.
- [libpng](https://www.automicvault.com/pkg/brew/libpng/) - Runtime dependency declared by Homebrew.
- [libpq](https://www.automicvault.com/pkg/brew/libpq/) - Runtime dependency declared by Homebrew.
- [libsndfile](https://www.automicvault.com/pkg/brew/libsndfile/) - Runtime dependency declared by Homebrew.
- [libtiff](https://www.automicvault.com/pkg/brew/libtiff/) - Runtime dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [libexosip](https://www.automicvault.com/pkg/brew/libexosip/) - Shares av.db curated category or tags: cli, networking, sip, telephony, voip.
- [sofia-sip](https://www.automicvault.com/pkg/brew/sofia-sip/) - Shares av.db curated category or tags: cli, networking, sip, telephony, voip.
- [baresip](https://www.automicvault.com/pkg/brew/baresip/) - Shares av.db curated category or tags: cli, networking, sip, voip.
- [pjproject](https://www.automicvault.com/pkg/brew/pjproject/) - Shares av.db curated category or tags: cli, networking, sip, voip.
- [sngrep](https://www.automicvault.com/pkg/brew/sngrep/) - Shares av.db curated category or tags: cli, networking, sip, voip.
- [coturn](https://www.automicvault.com/pkg/brew/coturn/) - Shares av.db curated category or tags: cli, networking, webrtc.
- [livekit](https://www.automicvault.com/pkg/brew/livekit/) - Shares av.db curated category or tags: cli, networking, webrtc.
- [mediamtx](https://www.automicvault.com/pkg/brew/mediamtx/) - Shares av.db curated category or tags: cli, networking, webrtc.
- [freerdp](https://www.automicvault.com/pkg/brew/freerdp/) - Local metadata places this package in an adjacent workflow. Shared terms: cli, client, jpeg, jpeg-turbo, networking.

## Combined YAML source

View the package source record on GitHub. [combined/freeswitch.yml](https://github.com/automic-vault/db/blob/main/combined/freeswitch.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
