Mac上配置安装freeswitch以及快速启动freeswitch

Song3879 次浏览0个评论2018年07月01日

git 安装freeswitch 库

git clone https://stash.freeswitch.org/scm/fs/freeswitch.git

安装环境依赖

安装编译需要的lib库

brew install autoconf
brew install automake
brew install libtool
brew install pkg-config
brew install speexdsp
brew install speex
brew install libldns-dev
brew install OpenSSL
brew install pcre
brew install pkgconfig sqlite3
brew install lua
brew install opus
brew install libsndfile

安装freeswitcg

编译

./bootstrap.sh
./configure
make install 

执行./configure期间可能会遇到如下问题:

configure: error: You need to either install libldns-dev or disable mod_enum in modules.conf 

解决方案: 去modules.conf这个文件,把mod_enum用#注释掉。

也可能会出现如下错误:

making install mod_signalwire
Makefile:939: *** You must install libks to build mod_signalwire.  Stop.

解决方案: 去modules.conf这个文件,把mod_signalwire用#注释掉。

可以简单用做:

make clean && ./configure && make install

安装声音文件,安装高清声音文件:例如16KHZ

make cd-sounds-install
make cd-moh-install

创建快捷启动方式

至此,FreeSWITCH就已经安装完了。在UNIX类操作系统上,其默认的安装位置是/usr/local/freeswitch(下文所述的路径全部相对于该路径)。两个常用的命令是bin/freeswitch和bin/fs_cli(我们下面会讲到它们的用法),为了便于使用,建议将这两个命令做符号链接放到你的搜索路径中,如:

ln -sf /usr/local/freeswitch/bin/freeswitch /usr/bin/
ln -sf /usr/local/freeswitch/bin/fs_cli /usr/bin/

接下来freeswitch就应该可以启动了。通过在终端中执行freeswitch命令(如果你已做符号链接的话,否则要执行/usr/local/freeswitch/bin/freeswitch)可以将FreeSWITCH启动到前台。启动过程中会有许多log输出,第一次启动时会有一些错误和警告,可以不必理会

常见问题

1、如果运行freeswitch出现以下错误,是因为端口被占用了或者你没有运行权限。

[root@localhost ~]# sudo freeswitch 
Cannot lock pid file /usr/local/freeswitch/run/freeswitch.pid.

解决办法:可以重启Linux或者关闭占用端口的进程。

ps -ef | grep freeswitch

2、如果freeswitch启动成功,但是linphone注册不上。

解决办法:systemctl stop firewalld.service (关闭防火墙)

3、出现如下错误

Checking module integrity in target [/usr/local/freeswitch/mod]

如果出现has no symbols,可以将#if defined(_DEBUG)改为#if defined(__APPLE__)

启动freeswitch

上面我们已经配置好了freeswitch,我们只需要在命令行输入

freeswitch

即可启动freeswitch,注意5060端口占用,如果占用了直接kill掉重新启动即可。接下来获取freeswitch监听端口

song:~ songlu$ netstat -an | grep 5060
tcp4       0      0  192.168.0.103.5060     *.*                    LISTEN     
tcp6       0      0  ::1.5060               *.*                    LISTEN     
udp4       0      0  192.168.0.103.5060     *.*                               
udp6       0      0  ::1.5060               *.*   

FreeSWITCH默认配置了1000~101920个用户,你可以随便选择一个用户进行配置,配置过程如下:

下载X-lite

你可以在这里下载最新版本的X-lite

1)在X-Lite上右击,选“Sip Account Settings...”,单击“Add”添加一个账号,填入以下参数(Zoiper可参照配置):

Display Name: 1000
User name: 1000
Password: 1234
Authorization user name: 1000
Domain: 
你的IP
地址,就是刚才你记住的那个,如上面的就是192.168.0.103:5060

2)其他都使用默认设置,单击“OK”按钮就可以了。然后单击“Close”按钮关闭Sip Account设置窗口。这时X-Lite将自动向FreeSWITCH注册。注册成功后会显示“Ready.Your username is 1000”,另外,左侧的“拨打电话”(Dial)按钮会变成绿色的,如图3-11所示。

新版本出现错误

1、安装mod_signalwire

安装出现mod_signalwire错误,如下:

making install mod_signalwire
Makefile:939: *** You must install libks to build mod_signalwire.  Stop.

2、安装libks

下载libks然后进行安装:

git clone https://github.com/signalwire/libks.git
cd libks
sudo cmake .
sudo make
sudo make install

你可能会在cmake .遇到如下错误:

-- cotire 1.7.10 loaded.
Platform is mac
Build type: Debug CXX Flags: 
Install prefix: /usr/local
LibKS Version 1.3
-- Checking for module 'uuid'
--   No package 'uuid' found
CMake Error at /usr/local/Cellar/cmake/3.14.3/share/cmake/Modules/FindPkgConfig.cmake:457 (message):
  A required package was not found
Call Stack (most recent call first):
  /usr/local/Cellar/cmake/3.14.3/share/cmake/Modules/FindPkgConfig.cmake:642 (_pkg_check_modules_internal)
  cmake/FindUUID.cmake:15 (pkg_check_modules)
  CMakeLists.txt:387 (include)

-- Configuring incomplete, errors occurred!
See also "/Users/songlu/lusong/libks/CMakeFiles/CMakeOutput.log".
See also "/Users/songlu/lusong/libks/CMakeFiles/CMakeError.log".

出现此问题安装ossp-uuid即可,然后继续往下执行:

brew install ossp-uuid

参考:ubuntu-16.04.6安装freeSWITCH

提交评论

请登录后评论

用户评论

    当前暂无评价,快来发表您的观点吧...

更多相关好文

    当前暂无更多相关好文推荐...