Skip to main content

OpenBSD

About

This is part of the Installation documentation which you should review first. It provides notes unique to OpenBSD, updated to work with OpenBSD 5.5,

Because OpenSSL is buggy 1.0.1c from 2012 we'll have to build our own.

In addition the libedit they ship is out of date so we will build our own also.

This assumes you already know a little bit about how to get an OpenBSD system prepared and ready for this task.

Maintainer Needed

We need YOU to maintain this port of FreeSWITCH. Please contact one of the FreeSWITCH core developers on Freenode IRC channel #freeswitch or the freeswitch-users@lists.freeswitch.org mailing list to help them keep the code current for this operating system.

Click to expand Table of Contents

Installation

The FreeSWITCH™ team has prepared a Makefile in the source tree that pulls down all dependencies and builds FreeSWITCH. It is available in the repository at

https://github.com/signalwire/freeswitch/blob/master/build/Makefile.openbsd

Simply copy the contents of the above link into Makefile, then run make in the same directory. When finished, FreeSWITCH should be located under /usr/local/freeswitch

If you find any errors please sign up for an account to help update the documentation.

Starting FreeSWITCH

Add a user and group "_freeswitch" to the system

Create freeswitch user

useradd -c "FreeSWITCH" -d /usr/local/freeswitch -g =uid -L daemon -s /sbin/nologin -u 5060 _freeswitch
chown -R _freeswitch:_freeswitch /usr/local/freeswitch

Copy the following file to "/etc/rc.d/freeswitch"

rc.d/freeswitch

#!/bin/sh
daemon="/usr/local/freeswitch/bin/freeswitch"
daemon_user="_freeswitch"
freeswitch_flags="-ncwait"
. /etc/rc.d/rc.subr
rc_reload=NO
rc_cmd $1

You may now configure automatic startup and parameters of the FreeSWITCH in /etc/rc.conf.local:

rc.conf.local

pkg_scripts="$pkg_scripts freeswitch"
freeswitch_flags="-ncwait -nonat -nonatmap -np"

By adding "freeswitch" to the "pkg_scripts", you make FS known to rc.conf. As default flags include "-ncwait" this will also enable FS to be started with the system. Custom startup flags may be configured in "freeswitch_flags". Setting them to "NO" will disable the daemon.

Comments:

Compilation works, running works only with until it hits the OpenSSL libraries ... seems, they are kind of half-linked against the native libraries, halve against the custom version of OpenSSL. But as 5.6 will be released in October with a more recent version of then LibreSSL, I consider further investigations not worthy and will run the FS with TLS disabled until then. Posted by daviddahlberg at Jul 18, 2014 05:43
Installing a rc script:Add an user and group "_freeswitch" to the systemuseradd -c "FreeSWITCH" -d /usr/local/freeswitch -g =uid -L daemon -s /sbin/nologin -u 5060 _freeswitchchown -R _freeswitch:_freeswitch /usr/local/freeswitchCopy the following file to "/etc/rc.d/freeswitch"#!/bin/shdaemon="/usr/local/freeswitch/bin/freeswitch"daemon_user="_freeswitch"freeswitch_flags="-ncwait". /etc/rc.d/rc.subrrc_reload=NOrc_cmd $1You may now configure automatic startup and parameters of the FreeSWITCH in /etc/rc.conf.local:pkg_scripts="$pkg_scripts freeswitch"freeswitch_flags="-ncwait -nonat -nonatmap -rp"By adding "freeswitch" to the "pkg_scripts", you make FS known to rc.conf. As default flags are "-ncwait" this will also enable FS to be started with the system. Custom startup flags may be configured in "freeswitch_flags". Setting them to "NO" will disable the daemon. Posted by daviddahlberg at Jul 18, 2014 06:22
The issue is there were some missing steps since 5.5 ripped out OpenSSL. Posted by brian at Jul 18, 2014 15:13