Freeswitch Tutorial
I. Install Freeswitch
1) FreeSWITCH Explained
https://freeswitch.org/confluence/
https://freeswitch.org/confluence/display/FREESWITCH/CentOS+7+and+RHEL+7
https://freeswitch.org/confluence/display/FREESWITCH/CentOS+7
2) step by step:
- Install FreeSWITCH 1.6.0 on CentOS 7 (fresh installation):
- Note: Everything below is run inside CentOS 7 terminal as "root" user (via "su -" command)
- 1) Make sure yum update is run and CentOS is up-to-date
- 2) {optional} inside Terminal window select Edit Profile Preferences and select "Use custom default terminal size" and make it 160 x 60. Close terminal and re-open for the change to take affect.
- 3) yum -y install git
- 4) yum -y install epel-release
- 5) rpm -Uvh http://files.freeswitch.org/freeswitch-release-1-6.noarch.rpm
- 6) yum -y install git gcc-c++ autoconf automake libtool wget python ncurses-devel zlib-devel libjpeg-devel openssl-devel e2fsprogs-devel sqlite-devel libcurl-devel pcre-devel speex-devel ldns-devel libedit-devel libxml2-devel
- 7) yum -y install libyuv-devel opus-devel libvpx-devel libvpx2* libdb4* libidn-devel unbound-devel libuuid-devel lua-devel libsndfile-devel
- 8) cd /usr/local/src
- 9) git clone -b v1.6 https://github.com/signalwire/freeswitch.git
- 10) cd /usr/local/src/freeswitch
- 11) ./bootstrap.sh
- 12) ./configure
- 13) make
- 14) make install
- 15) make cd-sounds-install
- 16) make cd-moh-install
- 17) cd /usr/local/freeswitch/conf
- 18) vi vars.xml
- Change: <X-PRE-PROCESS cmd="set" data="default_password=1234"/> {!!set it to something different!!}
- Save and close (<Esc> :wq!)
- 19) cd /usr/local/freeswitch/conf/sip_profiles
- 20) mv internal-ipv6.xml internal-ipv6.xml.removed {disables ipv6 support}
- 21) mv external-ipv6.xml external-ipv6.xml.removed {disables ipv6 support}
22) cd /usr/local/freeswitch/bin
23) ./freeswitch -nonat -nonatmap
24) ... to exit from FreeSWITCH console
3) Quickly install
- yum install -y http://files.freeswitch.org/freeswitch-release-1-6.noarch.rpm epel-release
- yum install -y freeswitch-config-vanilla freeswitch-lang-* freeswitch-sounds-*
- systemctl enable freeswitch
- freeswitch
4) Source install
freeswitch_v1.6_install_centos7.6.sh
- #
- yum install -y http://files.freeswitch.org/freeswitch-release-1-6.noarch.rpm epel-release
- yum install -y git alsa-lib-devel autoconf automake bison broadvoice-devel bzip2 curl-devel db-devel e2fsprogs-devel flite-devel g722_1-devel gcc-c++ 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 libtheora-devel libtiff-devel libtool libuuid-devel 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 wget which yasm zlib-devel
- #
- cd /usr/local/src
- git clone -b v1.6 https://github.com/signalwire/freeswitch.git freeswitch
- cd /usr/local/src/freeswitch
- ./bootstrap.sh -j
- ./configure
- make -j
- make -j install
- #
- make -j cd-sounds-install
- make -j cd-moh-install
- #
- ln -sf /usr/local/freeswitch/bin/freeswitch /usr/bin/
- ln -sf /usr/local/freeswitch/bin/fs_cli /usr/bin/
- #
- #freeswitch -nc
- freeswitch
- #
- #netstat -anp|grep 5060
- #
- #fs_cli
freeswitch_v1.8_install_centos7.2.sh
- yum install -y http://files.freeswitch.org/freeswitch-release-1-6.noarch.rpm epel-release
- yum install -y git alsa-lib-devel autoconf automake bison broadvoice-devel bzip2 curl-devel libdb4-devel e2fsprogs-devel erlang flite-devel g722_1-devel gcc-c++ 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 libtheora-devel libtiff-devel libtool libuuid-devel 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 python-devel python-devel soundtouch-devel speex-devel sqlite-devel unbound-devel unixODBC-devel wget which yasm zlib-devel libshout-devel libmpg123-devel lame-devel
- yum remove cmake
- cd /usr/local/src
- 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
- cd /usr/local/src
- yum install libatomic
- git clone https://github.com/signalwire/libks.git
- cd libks
- cmake .
- make
- make install
- cd /usr/local/src
- 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
- cd /usr/local/src/
- if false;then
- git clone https://github.com/signalwire/freeswitch.git freeswitch
- cd freeswitch
- ./bootstrap.sh
- else
- wget http://files.freeswitch.org/releases/freeswitch/freeswitch-1.8.5.tar.gz
- tar vzxf freeswitch-1.8.5.tar.gz
- cd freeswitch-1.8.5
- fi
- ./configure
- make
- make install
II. Configuring Freeswitch Parameters
- 1) Change password
cd /usr/local/freeswitch/conf- vi vars.xml
- Change: <X-PRE-PROCESS cmd="set" data="default_password=1234"/> {!!set it to something different!!}
- Save and close (<Esc> :wq!)
2) Delete IPv6- cd /usr/local/freeswitch/conf/sip_profiles
- mv internal-ipv6.xml internal-ipv6.xml.removed {disables ipv6 support}
- mv external-ipv6.xml external-ipv6.xml.removed {disables ipv6 support}
3) Configuring ext-rtp-ip
vi conf/autoload_configs/verto.conf.xml
<param name="ext-rtp-ip" value=""/>- vi conf/sip_profiles/internal.xml
<param name="ext-rtp-ip" value="auto-nat"/>
<param name="ext-sip-ip" value="auto-nat"/>- vi conf/sip_profiles/external.xml
<param name="ext-rtp-ip" value="auto-nat"/>
<param name="ext-sip-ip" value="auto-nat"/>
- 4) Configuring SIP Port
vi /usr/local/freeswitch/conf/vars.xml
<X-PRE-PROCESS cmd="set" data="internal_auth_calls=true"/>
<X-PRE-PROCESS cmd="set" data="internal_sip_port=5060"/>
<X-PRE-PROCESS cmd="set" data="internal_tls_port=5061"/>
<X-PRE-PROCESS cmd="set" data="internal_ssl_enable=false"/>
<!-- External SIP Profile -->
<X-PRE-PROCESS cmd="set" data="external_auth_calls=false"/>
<X-PRE-PROCESS cmd="set" data="external_sip_port=5080"/>
<X-PRE-PROCESS cmd="set" data="external_tls_port=5081"/>
<X-PRE-PROCESS cmd="set" data="external_ssl_enable=false"/>
- 5) Configuring loglevel
vi /usr/local/freeswitch/conf/vars.xml
<!-- various debug and defaults -->
<X-PRE-PROCESS cmd="set" data="call_debug=false"/>
<X-PRE-PROCESS cmd="set" data="console_loglevel=info"/>
<X-PRE-PROCESS cmd="set" data="default_areacode=918"/>
<X-PRE-PROCESS cmd="set" data="default_country=US"/>
6) fs_cli.c:1673 main() Error Connecting []
vi /usr/local/freeswitch/conf/autoload_configs/event_socket.conf.xml
<param name="listen-ip" value="::"/> 改为 <param name="listen-ip" value="0.0.0.0"/>
- 7) Startup freeswitch
- cd /usr/local/freeswitch/bin
./freeswitch -nonat -nonatmap
.=============================================================.
| _____ ______ _____ _____ ____ _ _ |
| | ___| __ ___ ___/ ___\ \ / /_ _|_ _/ ___| | | | |
| | |_ | '__/ _ \/ _ \___ \\ \ /\ / / | | | || | | |_| | |
| | _|| | | __/ __/___) |\ V V / | | | || |___| _ | |
| |_| |_| \___|\___|____/ \_/\_/ |___| |_| \____|_| |_| |
| |
.=============================================================.
| Anthony Minessale II, Michael Jerris, Brian West, Others |
| FreeSWITCH (http://www.freeswitch.org) |
| Paypal Donations Appreciated: paypal@freeswitch.org |
| Brought to you by ClueCon http://www.cluecon.com/ |
.=============================================================.
.=======================================================================================================.
| ____ _ ____ |
| / ___| |_ _ ___ / ___|___ _ __ |
| | | | | | | |/ _ \ | / _ \| '_ \ |
| | |___| | |_| | __/ |__| (_) | | | | |
| \____|_|\__,_|\___|\____\___/|_| |_| |
| |
| _____ _ _ ____ __ |
| |_ _|__| | ___ _ __ | |__ ___ _ __ _ _ / ___|___ _ __ / _| ___ _ __ ___ _ __ ___ ___ |
| | |/ _ \ |/ _ \ '_ \| '_ \ / _ \| '_ \| | | | | | / _ \| '_ \| |_ / _ \ '__/ _ \ '_ \ / __/ _ \ |
| | | __/ | __/ |_) | | | | (_) | | | | |_| | | |__| (_) | | | | _| __/ | | __/ | | | (_| __/ |
| |_|\___|_|\___| .__/|_| |_|\___/|_| |_|\__, | \____\___/|_| |_|_| \___|_| \___|_| |_|\___\___| |
| |_| |___/ |
| _____ _ _ |
| | ____|_ _____ _ __ _ _ / \ _ _ __ _ _ _ ___| |_ |
| | _| \ \ / / _ \ '__| | | | / _ \| | | |/ _` | | | / __| __| |
| | |___ \ V / __/ | | |_| | / ___ \ |_| | (_| | |_| \__ \ |_ |
| |_____| \_/ \___|_| \__, | /_/ \_\__,_|\__, |\__,_|___/\__| |
| |___/ |___/ |
| ____ _ ____ |
| __ ____ ____ __ / ___| |_ _ ___ / ___|___ _ __ ___ ___ _ __ ___ |
| \ \ /\ / /\ \ /\ / /\ \ /\ / / | | | | | | |/ _ \ | / _ \| '_ \ / __/ _ \| '_ ` _ \ |
| \ V V / \ V V / \ V V / _ | |___| | |_| | __/ |__| (_) | | | | _ | (_| (_) | | | | | | |
| \_/\_/ \_/\_/ \_/\_/ (_) \____|_|\__,_|\___|\____\___/|_| |_| (_) \___\___/|_| |_| |_| |
| |
.=======================================================================================================.
III. book && wiki
http://www.freeswitch.org.cn/tags.html#book
FreeSWITCH 实战
http://www.freeswitch.org.cn/2011/10/29/freeswitch-shi-zhan.html
1) 多台 FreeSWITCH 服务器级联
http://www.freeswitch.org.cn/2012/03/28/duo-tai-freeswitch-fu-wu-qi-ji-lian.html
2) 测试 FreeSWITCH 视频会议
http://www.dujinfang.com/2011/04/24/ce-shi-freeswitch-shi-pin-hui-yi.html
3) 第七章 SIP 模块 - mod_sofia
http://www.freeswitch.org.cn/2010/08/03/di-qi-zhang-sip-mo-kuai-mod_sofia.html
IV. 第三方应用
1) 踩坑n次,终于安装成功 ,CentOS 7 安装FreeSwitch 1.8.5
https://blog.csdn.net/zhuimeng11_/article/details/92819658
Ubuntu 16.04 install FreeSWITCH v1.8
https://blog.csdn.net/IDreamsComeTrue/article/details/88235215
2) 电话会议
https://www.cnblogs.com/chendaoyin/archive/2012/09/14/2685423.html
3) FreeSwitch之拨号计划~简单例子
4)A great GUI manager for FreeSwitch
https://github.com/JoneXiong/YouPBX
5)FreeSWITCH 语音识别 ASR 接口介绍 科大讯飞 百度 阿里云 等接口实现
https://blog.csdn.net/iyaosan/article/details/79115010
#freeswitch配置之nat穿越
https://blog.csdn.net/hellochenyi/article/details/78769932
https://blog.csdn.net/liang12360640/article/details/38110095
6) freeswitch集成ffmpeg
http://www.voidcn.com/article/p-utpvdhrn-tk.html
Freeswitch如何在Linux/Mac/Win创建用户以及批量创建用户
https://www.wsonh.com/article/40.html
FreeSWITCH默认号码
默认号码及说明
号码 说明
9664 保持音乐
9191 注册ClueCon
9192 在log中显示Channel
9195 echo,回音测试,延迟5秒
9196 echo,回音测试
9197 milliwatte extension, 铃音生成
9198 TGML 铃音生成实例
9180 铃音测试,使用远端生成的回铃音
9181 铃音测试,产生英式铃音
9182 铃音测试。使用音乐当铃音,彩铃
9183 先应答,然后发送英式彩铃
9184 先应答,然后发送音乐彩铃
9178 发传真
9179 收传真
5000 实例IVR
4000 听取语音信箱
33xx 电话会议,48kHz(其中xx可为00~99,下同)
32xx 电话会议,32kHz
31xx 电话会议,16kHz
30xx 电话会议,8kHz
2000-2002 呼叫组
1000-1019 默认分机号(密码默认为1234)
Freeswitch Tutorial的更多相关文章
- GB28181 To RTMP/HLS/HTTP-FLV/DASH Gateway
I. Deployment / Architecture Block Diagram II. Resources Used 1. freeswitch —— sip server https://f ...
- Simple GB28181 System
I. Deployment / Architecture Block Diagram II. Resources Used 1. freeswitch —— sip server and media ...
- [翻译+山寨]Hangfire Highlighter Tutorial
前言 Hangfire是一个开源且商业免费使用的工具函数库.可以让你非常容易地在ASP.NET应用(也可以不在ASP.NET应用)中执行多种类型的后台任务,而无需自行定制开发和管理基于Windows ...
- 生成freeswitch事件的几种方式
本文描述了生成freeswitch事件的几种方式,这里记录下,也方便我以后查阅. 操作系统:debian8.5_x64 freeswitch 版本 : 1.6.8 在freeswitch代码中加入事件 ...
- freeswitch模块之event_socket
这是我之前整理的关于freeswitch mod_event_socket的相关内容,这里记录下,也方便我以后查阅. mod_event_socket以socket的形式,对外提供控制FS一种途径, ...
- freeswitch对接其它SIP设备
这几天用到freeswitch对接其它设备方面的知识,这里整理下,也方便我以后查阅. 操作系统:debian8.5_x64 freeswitch 版本 : 1.6.8 一.freeswitch作为被叫 ...
- freeswitch注册过程分析
操作系统:debian8.5_x64freeswitch 版本 : 1.6.8 本文仅描述sip注册的简单场景,即话机直接向处于同一个局域网的fs进行注册. SIP协议的消息结构 消息框架 SIP协议 ...
- freeswitch呼叫流程分析
今天翻文档时发现之前整理的关于freeswitch呼叫相关的内容,写成博文分享出来也方便我以后查阅. 整体结构图 FreeswitchCore 模块加载过程 freeswitch主程序初始化时会从mo ...
- freeswitch嵌入python脚本
操作系统:debian8.5_x64 freeswitch 版本 : 1.6.8 python版本:2.7.9 开启python模块 安装python lib库 apt-get install pyt ...
随机推荐
- [php 拓展开发] hello world
1.下载php源码包 2.在php-7.0.9/ext 下执行 ./ext_skel --extname=hello 3. 4.拓展代码 5. 6.编译 多了分号,出错. 重新编译成功,但是生成的文 ...
- 阿里云ECS VSFTP上传本地文件
开始终端 购买云服务,获得公网IP,内网IP 控制台首页获得 获得终端连接密码 连接终端,输入连接密码 获得终端界面,进入终端 上传文件 ## .安装VSFTP服务器程序 yum install vs ...
- 为什么有线宽带提供商获得ASN非常重要?
光纤和同轴电缆的组合(数据有线电视服务接口规范),由此产生的网络在世界引入了高速互联网接入.我们能够从网络运营中心向家庭用户提供10Mbps的下载速度. 拥有自己的自治系统编号(ASN)和IP块意味着 ...
- Github熟悉一
Code/代码 Commits/提交 Issues/问题 Packages/包装 Marketplace/市场 Topics/话题 Wikis/维基百科 Users/用户 Pull requests/ ...
- TPS、QPS和系统吞吐量的区别和理解
参考:https://blog.csdn.net/u010889616/article/details/83245695 一.QPS/TPSQPS:Queries Per Second意思是“每秒查询 ...
- 如何添加筛选器 (Reporting Services)
如果您希望在计算或显示时包含或排除特定值,可向数据集.数据区域或组添加筛选器.在运行时应用筛选器的顺序为:先对数据集,再对数据区域,最后对组,并按照组层次结构自上而下的顺序.在表.矩阵或列表中,对行组 ...
- MySQL系统服务的安装删除
1.从该地址http://dev.mysql.com/downloads/mysql/中选择windows的版本,选择下载. 2.将下载的压缩包解压. 3.将根目录下的my-default.ini复制 ...
- EXP-00091和IMP-00010报错
原来导出表的库:database ORACLE_SID=TEST0221 版本: 11.2.0.4需要导进的库:database ORACLE_SID=PROD 版本:10.2.0.1因为字符集的问题 ...
- Vue+webpack+Element 兼容问题总结
项目中用到了Vue.js和Elenment-UIVue官方文档中给出明确范围:Vue 不支持 IE8 及以下版本,因为 Vue 使用了 IE8 无法模拟的 ECMAScript 5 特性.但它支持所有 ...
- womenzijide2
<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Conten ...