当前位置:首页 » 操作系统 » freeswitch源码

freeswitch源码

发布时间: 2023-09-07 08:27:27

‘壹’ 如何在xshell5中编译freeswitch源代码

(1)使用安装包安装

Windows用户可以直接下载安装文件,然后根据自己的系统选择不同目录,32位系统的用户选择x86目录,64位系统的用户选择x64目录。freeswitch.msi是最新的安装程序,一般隔几天就会更新一次版本。笔者的测试环境是32位的Windows XP,下载界面如图3-3所示

如同安装其他程序一样,我们全部选择默认设置即可,也就是说只要连续单击“Next”按钮就能安装完毕。安装完成后选择”开始菜单”→“所有程序”→“FreeSWITCH”→ “FreeSWITCH”便可以启动FreeSWITCH了,启动后的界面如图3-4所示。

如果安装过程中你没有修改默认安装路径的话,那么FreeSWITCH的实际安装路径是:c:\Program Files\FreeSWITCH,配置文件在该目录的conf目录下

(2)从源代码安装

如果从源代码安装,则首先要下载源代码。

除此之外,也可以Git仓库获取源代码。Git是FreeSWITCH使用的版本控制工具,从Git仓库获取源代码的好处是可以随时更新,并可以很方便地切换到不同的代码分支,甚至“倒回”到任意提交点。

如果从Git仓库获取源代码,需要先在Windows上安装Git。

安装Git很简单,一般来说双击安装文件并连续单击“Next”按钮即可安装完毕。不过,在Windows平台编译FreeSWITCH有几个要注意的事情,因此在安装Git的过程中我们也需要注意以下问题,并做适当的选择:

将FreeSWITCH的源代码放到一个“干净”的目录下。为避免有时候遇到奇怪的问题,最好把代码放到一个比较不容易出问题的目录下,如可以放到
C:\src\freeswitch 或D:\src\freeswitch下,这两个都是比较好的目录。而像 C:\My
Documents(有空格)或C:\源代码中文目录\freeswitch(有中文)之类的则在编译或使用时可能会有问题。

‘贰’ CentOS7下FreeSwitch1.8源码安装过程完整记录

1、yum 安装相关的依赖包

yum install -y git gcc-c++ wget alsa-lib-devel autoconf automake bison broadvoice-devel bzip2 curl-devel db-devel e2fsprogs-devel flite-devel g722_1-devel gdbm-devel gnutls-devel ilbc2-devel ldns-devel libcodec2-devel libcurl-devel libedit-devel libidn-devel libjpeg-devel libmemcached-devel libogg-devel libsilk-devel libsndfile-devel libtiff-devel libtheora-devel libtool libvorbis-devel libxml2-devel lua-devel lzo-devel mongo-c-driver-devel ncurses-devel net-snmp-devel openssl-devel opus-devel pcre-devel perl perl-ExtUtils-Embed pkgconfig portaudio-devel postgresql-devel python26-devel python-devel soundtouch-devel speex-devel sqlite-devel unbound-devel unixODBC-devel libuuid-devel which yasm zlib-devel

2、安装 mod_shout 模块以支持 mp3 格式

yum install -y libshout-devel lame-devel libmpg123-devel

wget http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz

tar -zxvf lame-3.99.5.tar.gz

cd lame-3.99.5

./configure --enable-static --enable-shared

make

make install

vi /etc/ld.so.conf

#换行加入:/usr/local/lib

#保存退出 :wq

ldconfig

3、安装 cmake

yum remove cmake

wget https://cmake.org/files/v3.14/cmake-3.14.0.tar.gz

tar vzxf cmake-3.14.0.tar.gz

cd cmake-3.14.0

./configure

make

make install

4、 安装 libks

yum install libatomic

git clone https://github.com/signalwire/libks.git

cd libks

cmake .

make

make install

5、安装 signalwire-c

git clone https://github.com/signalwire/signalwire-c.git

cd signalwire-c/

cmake .

make

make install

ln -sf

/usr/local/lib64/pkgconfig/signalwire_client.pc

/usr/lib64/pkgconfig/signalwire_client.pc

6、下载并安装 freeswitch1.8

如下 git 为国内址,速度较快,也可以从官方下载源码

git clone -b v1.8 https://git.oschina.net/nwaycn/freeswitch.git

./bootstrap.sh -j

./configure --enable-portable-binary

--prefix=/usr/local/freeswitch

--with-gnu-ld --with-python --with-openssl

--enable-core-odbc-support --enable-zrtp

--enable-libmp3lame

make

make -j install

如下安装语音文件,用时会较长

make -j cd-sounds-install

make -j cd-moh-install

7、安装后的一些操作

设置全局命令软连接

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

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

禁用 freeswitch 上 ipv6

mv external-ipv6.xml external-ipv6.xml.inactive

mv internal-ipv6.xml internal-ipv6.xml.inactive

8、启动 freeswitch

freeswitch -nc #后台启动

freeswitch 常用命令

#列出 internal SIP Profile 的状态

sofia status profile internal

#列出某个 Profile 上所有已注册用户

sofia status profile internal reg

#过滤某些符合条件

sofia status profile internal reg 1000

sofia status profile internal user 1000

#列出网关状态

sofia status gateway gw1

#以上命令都可以将 status 用 xmlstatus 来代替,以列出 XML 格式的状态,这样比较容易用

于其他程序解析

#启动、停止、重启某个 Profile 的命令

sofia profile internal start #启动

sofia profile internal stop #停止

sofia profile internal restart #重启

#有时候修改了某个 Profile 的某个参数,不需要重启(重启是影响通话的),可以使用下列

命令让 FreeSWITCH 重读 sofia 的配置

#注意并不是所有的参数都能生效

sofia profile internal rescan

#添加了一个新的 gateway 以后,也可以使用 rescan 指令读取

sofia profile external rescan

#如果是修改了一个网关,则可以先删除该网关,再 rescan

sofia profile external killgw gw1

sofia profile external rescan

#下列命令可以指定某个网关立即向外注册或注销

sofia profile external register gw1

sofia profile external unregister

#开启该 Profile 的 SIP 跟踪功能抓 SIP 包

sofia profile internal siptrace on

#有时候,希望将已经注册的用户清理掉,可以使用如下命令,注意此命令只是临时清理,

客户端重新注册的话还是可以注册成功的

sofia profile internal flush_inbound_reg [email protected]

#也可以根据 call-id 来清理

sofia profile internal reg 1000 #通过此命令查找到 call-id 的值

sofia profile flush_inbound_reg zsfsdfhdfgdfsdfsdfsdfsdf #清除 call-id=zsfsdfhdfgdfsdfsdfsdfsdf 的用户

‘叁’ frfreeswitch 怎么通过c修改.xml

什么是 FreeSWITCH ?

FreeSWITCH 是一个开源的电话交换平台,它具有很强的可伸缩性--从一个简单的软电话客户端到运营商级的软交换设备几乎无所不能。能原生地运行于Windows、 Max OS X、linux、BSD 及 solaris 等诸多32/64位平台。可以用作一个简单的交换引擎、一个PBX,一个媒体网关或媒体支持IVR的服务器等。它支持SIP、H323、Skype、Google Talk等协议,并能很容易地与各种开源的PBX系统如sipXecs、Call Weaver、Bayonne、YATE及Asterisk等通信。 FreeSWITCH 遵循RFC并支持很多高级的SIP特性,如 presence、BLF、SLA以及TCP、TLS和sRTP等。它也可以用作一个SBC进行透明的SIP代理(proxy)以支持其它媒体如T.38 等。FreeSWITCH 支持宽带及窄带语音编码,电话会议桥可同时支持8、12、16、24、32及48kHZ的语音. 而在传统的电话网络中,要做到三方通话或多方通话需要通过专门的芯片来处理,其它像预付费,彩铃等业务在PSTN网络中都需要依靠智能网(IN)才能实现,而且配置起来相当不灵活。

快速体验

FreeSWITCH 的功能确实非常丰富和强大,在进一步学习之前我们先来做一个完整的体验。FreeSWITCH 默认的配置是一个SOHO PBX(家用电话小交换机),那么我们本章的目标就是从0安装,实现分机互拨电话,测试各种功能,并通过添加一个SIP-PSTN网关拨打PSTN电话。这样,即使你没有任何使用经验,你也应该能顺利走完本章,从而建立一个直接的认识。在体验过程中,你会遇到一点稍微复杂的配置,如果不能完全理解,也不用担心,我们在后面会详细的介绍。当然,如果你是一个很有经验的 FreeSWITCH 用户,那么大可跳过本章。

安装FreeSWITCH基本系统

在本文写作时,最新的版本1.0.5pre10,但说不定当你读到时1.0.5正式版已经发布了。FreeSWITCH支持32位及64位的 Linux、 MacOSX、BSD、Solaris、Windows等众多平台。某些平台上有编译好的安装包,但本人强烈建议从源代码进行安装,因为 FreeSWITCH 更新非常快,而已编译好的版本通常都比较旧。你可以下载源码包,也可以直接从SVN仓库中取得最新的代码。与其它项目不同的是,其SVN主干 (trunk)代码通常比稳定的发布版更稳定。而且,当你需要技术支持时,开发人员也通常建议你先升级到SVN中最新的代码,再看是不是仍有问题。

Windows用户可以直接下载安装文件 (再提醒一下,版本比较旧代,如果从源代码安装的话,需要Visual Studio 2008)。安装完成执行 c:\freeswitch\freeswitch.exe 便可启动,其配置文件都在c:\freeswitch\conf\。

以下假定你使用 Linux 平台,并假定你有 Linux 的基本知识。如何从头安装 Linux 超出了本书的范围,而且,你也可以很容易的从网上找到这些资料。一般来说,任何发行套件都是可以的,但是,有些发行套件的内核、文件系统、编译环境,LibC 版本会有一些问题。所以,如果你在遇到问题后想获得社区支持,最好选择一种大家都熟悉的发行套件。FreeSWITCH 开发者使用的平台是 CentOS 5.2/5.3(CentOS 5.4 上会有一些问题,并不总是版本越高越好),社区中也有许多人在使用 Ubuntu 和 Debian,如果你想用于生产环境,建议使用 LTS(Long Term Support) 的版本,即 Ubuntu8.04/10.04 或 Debian Stable。在安装之前,我们需要先准备一些环境(FreeSWITCH 可以以普通用户权限运行,但为了简单起见,以下所有操作均用 root 执行):

CentOS:

yum install -y subversion autoconf automake libtool gcc-c++ ncurses-devel make

Ubuntu:

apt-get -y install build-essential subversion automake autoconf wget libtool libncurses5-dev

以下三种安装方式任选其一,默认安装位置在/usr/local/freeswitch。安装过程中会下载源代码目录,请保留,以便以后升级及安装配置其它组件。

‘肆’ linux 中freeswitch 已经启动了但是忘记下载语音包了,还能下吗怎么下centos

可以的
你先停止freeswitch,然后安装
至于怎么安装要看你用什么系统,然后去freeswitch中文站下源码包,然后编译安装

热点内容
android3x 发布:2025-01-31 08:13:03 浏览:600
如何购买安卓版live2d 发布:2025-01-31 08:13:01 浏览:279
python交互输入 发布:2025-01-31 08:12:53 浏览:427
requestdatapython 发布:2025-01-31 08:02:01 浏览:44
javades加密工具 发布:2025-01-31 07:54:04 浏览:244
电话如何配置ip 发布:2025-01-31 07:48:48 浏览:300
2021奔驰e300l哪个配置性价比高 发布:2025-01-31 07:47:14 浏览:656
sqlserver2008光盘 发布:2025-01-31 07:32:13 浏览:578
sql查询小时 发布:2025-01-31 07:23:00 浏览:423
新车鉴别时怎么查看汽车配置 发布:2025-01-31 07:19:37 浏览:881