FreeSWITCH is a Software Defined Telecom Stack enabling the digital transformation from proprietary telecom switches to a versatile software implementation that runs on any commodity hardware. From a Raspberry PI to a multi-core server, FreeSWITCH can unl
Go to file
Aron Podrigal ca017c8f73 When using multiple profiles and with the same gateway name on both, freeswitch mixes up the two gateways and is unable to restart any of them unless restarting the profile.
This also effects when moving a gateway from one profile to the other.

What this changes

- Do not remove a gateway from the hash unless it matches the profile.
- Fix `sofia profile <ProfileName> killgw <GatewayName>` to delete the gateway by using the qualified name `ProfileName::GatewayName` so we only delete a gateway on profile `ProfileName`.
- When loading/reloading a gateway, add it with the unqualified name to the hash if there is no other gateway with that name on another profile. (for example when `profileA` and `profileB` have a gateway `gw1`, `profileA` is first in the list, so we add `gw1` from `profileA` to the hash qualified and unqualified. for `profileB` it is added only qualified. Now, `sofia profile profileA killgw gw1` removes the gateway from `profileA`, so executing `sofia profile profileB startgw gw1` will now add `gw1` from `profileB` to the hash using the unqualified name).
- Fix `sofia profile ProfileName register|unregister GatewayName` to be profile specific.

- Ensure throughout sofia whenever we lookup a gateway related to an ongoing call, to also check the profile that it matches.
2025-01-15 11:30:55 -06:00
.github [GHA] Default to `release=unstable` in build workflow. 2024-12-12 15:12:38 +01:00
build [mod_event_zmq] Remove from tree 2025-01-15 01:49:24 +03:00
clients/flex Fix some typos (most found by codespell) 2021-02-24 13:59:11 +01:00
cmake_modules [core] remove apr-util from tree 2022-08-29 20:17:02 +03:00
conf [mod_event_zmq] Remove from tree 2025-01-15 01:49:24 +03:00
debian [mod_event_zmq] Remove from tree 2025-01-15 01:49:24 +03:00
docker [Build-System] Add a Dockerfile for Coverity scan. 2024-12-10 22:14:42 +03:00
docs [mod_rayo, mod_ssml, iksemel] Remove from tree 2024-12-31 13:43:48 +03:00
dtd
fonts FS-7506: Add default fonts to tree 2015-05-28 12:47:19 -05:00
fscomm Fix some typos (most found by codespell) 2021-02-24 13:59:11 +01:00
htdocs FS-8545 #resolve [Improve controls for screen share] 2015-11-16 15:54:43 -06:00
images [core] add stb_image to read more supported picture formats 2021-10-23 22:00:03 +03:00
libs [Build-System] Fix build for m1 and m2 chips on macOS 2025-01-14 14:06:11 +03:00
scripts [mod_soundtouch] Remove from tree 2025-01-10 02:41:04 +03:00
src When using multiple profiles and with the same gateway name on both, freeswitch mixes up the two gateways and is unable to restart any of them unless restarting the profile. 2025-01-15 11:30:55 -06:00
support-d [support-d] Add deadlock.py to tree. 2024-05-07 10:24:07 +03:00
tests/unit [Unit-tests] Move test_tts_format out of mod_ssml. Add mod_test and test_tts_format to the Windows build. 2024-12-31 01:45:47 +03:00
w32 [mod_h26x] Remove from tree 2025-01-13 23:24:50 +03:00
web
yum FS-8648: incorrect url's in yum repos 2015-12-15 17:02:49 +00:00
.clang-format Add .clang-format rules 2014-12-26 17:22:20 +00:00
.gitattributes [Build-System] Remove Sofia-Sip library from the FreeSWITCH tree and use packages instead. 2020-08-03 23:46:45 +04:00
.gitconfig Add git configuration to ignore errors from `git fsck` 2020-05-01 20:42:38 +04:00
.gitignore [mod_rss] Remove from tree 2025-01-11 02:36:12 +03:00
.mailmap map emails 2014-08-01 14:47:38 -05:00
Freeswitch.2017.sln [mod_h26x] Remove from tree 2025-01-13 23:24:50 +03:00
Freeswitch.2017.sln.bat [Build-System] Fix Visual Studio detection logic to use the latest installed when building FreeSWITCH or sound packages. 2020-05-25 16:41:16 +04:00
INSTALL test 2013-04-04 20:52:47 -05:00
LICENSE [mod_khomp] Remove from tree 2025-01-13 20:48:48 +03:00
Makefile.am [mod_rayo, mod_ssml, iksemel] Remove from tree 2024-12-31 13:43:48 +03:00
README.md [Scripts] Introduce FSGET - a simple way to install FreeSWITCH. 2024-12-15 14:15:02 +03:00
SECURITY.md Create SECURITY.md 2023-02-17 15:24:03 -05:00
acinclude.m4 [mod_rayo, mod_ssml, iksemel] Remove from tree 2024-12-31 13:43:48 +03:00
bootstrap.sh [mod_rayo, mod_ssml, iksemel] Remove from tree 2024-12-31 13:43:48 +03:00
cc.sh add smaller banner for teeny tiny terminals 2012-09-24 14:59:09 -05:00
ci.sh [mod_isac] Remove from tree 2025-01-08 20:46:37 +03:00
cluecon.tmpl FI-393 [fs_cli banner] this commit changes the text on the fs_cli banner 2018-06-14 19:38:05 +00:00
cluecon2.tmpl FI-393 [fs_cli banner] this commit changes the text on the fs_cli banner 2018-06-14 19:38:05 +00:00
cluecon2_small.tmpl add smaller banner for teeny tiny terminals 2012-09-24 14:59:09 -05:00
cluecon_small.tmpl add smaller banner for teeny tiny terminals 2012-09-24 14:59:09 -05:00
configure.ac [mod_event_zmq] Remove from tree 2025-01-15 01:49:24 +03:00
devel-bootstrap.sh Changed permissions for devel-bootstrap.sh 2010-10-13 14:18:38 -07:00
freeswitch-sounds-en-ca-june.spec FS-11567: [Build-System] CentOS packaging: Sound logic cleanup. 2019-05-23 22:09:08 +04:00
freeswitch-sounds-en-us-allison.spec FS-11567: [Build-System] CentOS packaging: Sound logic cleanup. 2019-05-23 22:09:08 +04:00
freeswitch-sounds-en-us-callie.spec FS-11567: [Build-System] CentOS packaging: Sound logic cleanup. 2019-05-23 22:09:08 +04:00
freeswitch-sounds-fr-ca-june.spec FS-11567: [Build-System] CentOS packaging: Sound logic cleanup. 2019-05-23 22:09:08 +04:00
freeswitch-sounds-music.spec FS-11567: [Build-System] CentOS packaging: Sound logic cleanup. 2019-05-23 22:09:08 +04:00
freeswitch-sounds-pt-BR-karina.spec FS-11567: [Build-System] CentOS packaging: Sound logic cleanup. 2019-05-23 22:09:08 +04:00
freeswitch-sounds-ru-RU-elena.spec FS-11567: [Build-System] CentOS packaging: Sound logic cleanup. 2019-05-23 22:09:08 +04:00
freeswitch-sounds-sv-se-jakob.spec FS-11567: [Build-System] CentOS packaging: Sound logic cleanup. 2019-05-23 22:09:08 +04:00
freeswitch.spec [mod_event_zmq] Remove from tree 2025-01-15 01:49:24 +03:00
msbuild.cmd [Build-System] Fix Visual Studio detection logic to use the latest installed when building FreeSWITCH or sound packages. 2020-05-25 16:41:16 +04:00
swig_common.i FS-6061 --resolve 2013-12-23 22:43:06 +05:00

README.md

FreeSWITCH

FreeSWITCH is a Software Defined Telecom Stack enabling the digital transformation from proprietary telecom switches to a versatile software implementation that runs on any commodity hardware. From a Raspberry PI to a multi-core server, FreeSWITCH can unlock the telecommunications potential of any device. Combined with our hosted cloud platform, SignalWire, FreeSWITCH can interconnect with the outside world and scale to any size.

Visit https://signalwire.com or https://github.com/signalwire for more info.

Getting Started

FreeSWITCH is available on Github in source code format. You can checkout the development branch and build for many popular platforms including Linux, Windows, MacOSX and BSD. There is an issue tracker and pull request system available as part of the repo online.

See https://developer.signalwire.com/freeswitch/FreeSWITCH-Explained/ for more detailed instructions.

Additional Help

If you need assistance or have an interest in using a commercially supported build, you can contact coreteam@freeswitch.com to learn about professional services to support your project.

Voice-over-IP services - SIP / SMS - App Integrations

SignalWire is the primary sponsor of the FreeSWITCH project and was founded by the original developers of FreeSWITCH. SignalWire provides scalable services to enhance and scale your project such as SMS, SIP, Serverless Application hosting as well as programmable telecom. mod_signalwire which is distributed in this code base allows you to instantly pair with SignalWire and extend your FreeSWITCH.

Documentation

The main index for documentation is available at:

Release notes:

Install from packages

Step by step tutorials to install FreeSWITCH from packages:

Build from source

Example Dockerfiles to build FreeSWITCH and dependencies from source:

Step by step tutorials to build FreeSWITCH with provided dependency packages:

Downloads

Contributions

GitHub pull requests are the recommended way to contribute to the FreeSWITCH source code:

Community

Slack is our chat system where the developers, the FreeSWITCH team, and the most active users are present. This is the place to get answers faster and chat with other users in real time. All you need to do is enter your email and verify it on the Slack signup page and you are ready to join in the discussion!

Slack Community:

Mailing list (ARCHIVED):

Thank you for using FreeSWITCH!