Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision | ||
| docs:guide-user:services:voip:freeswitch [2018/07/27 19:55] – micmac1 | docs:guide-user:services:voip:freeswitch [2018/11/20 09:44] – [freeswitch-stable init configuration] better warning about write wear and added database storage option bobafetthotmail | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== FreeSWITCH on OpenWrt intro ====== | ====== FreeSWITCH on OpenWrt intro ====== | ||
| - | This page is meant to provide some basic information about running | + | This page is meant to provide some basic information about FreeSWITCH on OpenWrt. |
| - | ===== Installing some basic packages ===== | + | <WRAP round important> |
| + | **Telephony systems like FreeSWITCH are targeted by criminals to commit toll fraud. If you fall victim to toll fraud this can cost you a lot of money. You are responsible for the security of your sytem. Make sure all security measures are in place before bringing FreeSWITCH online.** | ||
| + | </ | ||
| - | FreeSWITCH has a multitude of modules/ | + | ===== freeswitch-stable init configuration ===== |
| - | | + | The file ''/ |
| - | * [[https:// | + | |
| - | * [[https:// | + | <WRAP round important> |
| - | * [[https:// | + | **WARNING: |
| - | * [[https:// | + | |
| - | * [[https:// | + | If that is not possible they can also be kept in the device' |
| - | * [[https:// | + | The downside of the //tmpfs// approach is that the databases will be lost when the device loses power or is restarted, also the RAM used by these databases will decrease the amount of available RAM of the system by a few MB. Please consider your options and requirements. |
| - | * [[https:// | + | </ |
| - | * [[https:// | + | |
| - | * freeswitch-stable-util-fs-cli | + | Last but not least, you can select whether the output streams (//STDOUT// and //STDERR//) that are sent to the init process ('' |
| + | |||
| + | ===== freeswitch-stable packages ===== | ||
| + | |||
| + | ==== Modules ==== | ||
| + | |||
| + | |||
| + | FreeSWITCH has a multitude of modules. OpenWrt typically runs on hardware that is somewhat restricted, i.e. memory, storage and processing power are limited. Luckily only a few packages are needed for basic functionality (depending on what you want it to do). Here is a list of modules you might be interested in: | ||
| + | |||
| + | | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | |||
| + | ==== FreeTDM modules ==== | ||
| + | |||
| + | FreeSWITCH supports select TDM hardware. At the heart of this sits [[https:// | ||
| + | interconnect with all protocols supported by FreeTDM. | ||
| + | |||
| + | FreeTDM itself is modular as well. OpenWrt packages the following FreeTDM modules: | ||
| + | |||
| + | * libfreetdm-stable-ftmod-analog: | ||
| + | * libfreetdm-stable-ftmod-analog-em: | ||
| + | * libfreetdm-stable-ftmod-libpri: | ||
| + | * libfreetdm-stable-ftmod-pritap: | ||
| + | * libfreetdm-stable-ftmod-skel: | ||
| + | * libfreetdm-stable-ftmod-zt: | ||
| + | |||
| + | Don't forget to install // | ||
| + | ==== Utilities ==== | ||
| + | |||
| + | There are also a number of utilities available. Let's just mention the one that is probably the most important: | ||
| + | |||
| + | * [[https:// | ||
| + | |||
| + | ==== Examples ==== | ||
| + | |||
| + | The FreeSWITCH source contains a number of folders with configuration examples. These are packaged as well: | ||
| + | |||
| + | * freeswitch-stable-example-curl | ||
| + | * freeswitch-stable-example-insideout | ||
| + | * ... | ||
| + | |||
| + | Any of these will install the corresponding sample configuration to ''/ | ||
| + | |||
| + | ===== Hotplug ===== | ||
| + | |||
| + | The // | ||
| + | |||
| + | Note: It may be advisable to disable the init autostart, to avoid FreeSWITCH beeing started twice when booting: | ||
| + | |||
| + | < | ||
| + | / | ||
| + | </ | ||
| + | |||
| + | The hotplug script can check the following extra conditions: | ||
| + | |||
| + | * a device (perhaps a USB stick) is connected at a given mount point (for instance ''/ | ||
| + | * the system clock is accurate (needs '' | ||
| + | |||
| + | If you add any of these conditions the hotplug script will only start FreeSWITCH if the condition is met. You can also specify the timeout after which it considers a condition failed (defaults to 60 seconds). | ||
| + | |||
| + | Below a log excerpt from the hotplug script in action: | ||
| + | |||
| + | < | ||
| + | Sat Nov 17 11:24:43 2018 user.notice freeswitch-hotplug: | ||
| + | Sat Nov 17 11:24:43 2018 user.notice freeswitch-hotplug: | ||
| + | Sat Nov 17 11:24:43 2018 user.notice freeswitch-hotplug: | ||
| + | Sat Nov 17 11:24:48 2018 user.notice freeswitch-hotplug: | ||
| + | Sat Nov 17 11:24:48 2018 user.notice freeswitch-hotplug: | ||
| + | Sat Nov 17 11:24:53 2018 user.notice freeswitch-hotplug: | ||
| + | Sat Nov 17 11:24:53 2018 user.notice freeswitch-hotplug: | ||
| + | Sat Nov 17 11:24:53 2018 user.notice freeswitch-hotplug: | ||
| + | Sat Nov 17 11:24:54 2018 user.notice freeswitch-hotplug: | ||
| + | </ | ||
| + | |||
| + | Both extra conditions were configured. A device was already mounted at ''/ | ||