一.FreeSWITCH服务部署
1.wget http://www.freeswitch.org.cn/Makefile && make install
2.cd freeswitch
3.运行./bootstrap.sh(作用:初始化环境)
4.执行./configure(主要的作用是对即将安装的软件进行配置,检查当前的环境是否满足要安装软件的依赖关系,但并不是所有的tar包都是源代码的包)
5.make install
6.修改配置文件/usr/local/freeswitch/conf/vars.xml中的默认密码
<X-PRE-PROCESS cmd="set" data="default_password=1234"/>
7./usr/local/freeswitch/bin
执行 ./freeswitch -nc -nonat启动
执行 ./freeswitch -stop关闭
 
二.用户批量配置
/usr/local/freeswitch/conf/directory/default/2000.xml
1 <include>
2 <user id="2000" number-alias="root">
3 <params>
4 <param name="password" value="123456"/>
5 <param name="reverse-auth-user" value="2000"/>
6 <param name="reverse-auth-pass" value="123456"/>
7 <param name="vm-password" value="c99ecff92015"/>
8 <param name="vm-enabled" value="true"/>
9 <param name="directory-exten-visible" value="true"/>
10 <param name="dial-string" value="{sip_invite_domain=${domain_name},leg_timeout=30,presence_id=${dialed_user}@${dialed_domain}}${sofia_contact(${dialed_user}@${dialed_domain})}"/>
11 </params>
12 <variables>
13 <variable name="domain_name" value="xxx.xxx.xxx.xxx"/>
14 <variable name="toll_allow" value=""/>
15 <variable name="user_context" value="default"/>
16 <variable name="directory-visible" value="true"/>
17 <variable name="limit_max" value="5"/>
18 <variable name="sip-force-contact" value="NDLB-connectile-dysfunction-2.0"/>
19 <variable name="sip-force-expires" value="180"/>
20 </variables>
21 </user>
22 </include>
批量生成用户脚本:
1 #!/bin/bash
2 for ((a=20000;a<=20010;a++)) ;
3 do
4 i=$(echo $a)
5 sed -e "s/2000/$i/" 2000.xml > $i.xml;
6 done
7
批量删除用户脚本:
1 #!/bin/bash
2 for ((a=10000;a<=200000;a++)) ;
3 do
4 i=$(echo $a)
5 rm $i.xml;
6 done
7
 
三.音频通话配置
/usr/local/freeswitch/conf/dialplan/public.xml||default.xml
1.一对一:
<extension name="One_on_one">
<condition field="destination_number" expression="^(\d{5,6})$">
<action application="set" data="dialed_extension=$1" />
<action application="set" data="media_webrtc=true"/>
<action application="bridge" data="user/${dialed_extension}@${domain}"/>
</condition>
</extension>
2.一对多(会议):
1 <extension name="nb_conferences">
2 <condition field="destination_number" expression="^(\d{4})$">
3 <action application="answer"/>
4 <action application="set" data="conference_auto_outcall_flags=none"/>
5 <action application="set" data="conference_auto_outcall_caller_id_name=$1"/>
6 <action application="set" data="conference_auto_outcall_caller_id_number=$1"/>
7 <action application="set" data="conference_auto_outcall_profile=default"/>
8 <action application="conference" data="$1-${domain_name}@default"/>
9 </condition>
10 </extension>
 
四.视频会议通话配置
在/usr/local/freeswitch/conf/vars.xml配置支持的视频编码
259 <X-PRE-PROCESS cmd="set" data="global_codec_prefs=OPUS,iLBC,G722,PCMU,PCMA,H263,H263-1998,H264,GSM,VP8,VP9"/>
260 <X-PRE-PROCESS cmd="set" data="outbound_codec_prefs=OPUS,iLBC,G722,PCMU,PCMA,H263,H263-1998,H264,GSM,VP8,VP9"/>
 
配置用户路由
/usr/local/freeswitch/conf/dialplan/public.xml||default.xml
23 <extension name="cdquality_conferences">
24 <!-- <condition field="destination_number" expression="^(35\d{2})$"> -->
25 <condition field="destination_number" expression="^(\d{4})$">
26 <action application="answer"/>
27 <action application="conference" data="$1-${domain_name}@video-mcu-stereo"/>
28 </condition>
29
30 </extension>
 
而video-mcu-stereo是在文件
/usr/local/freeswitch/conf/autoload_configs/
230 <profile name="video-mcu-stereo">
231 <param name="domain" value="$${domain}"/>
232 <param name="rate" value="48000"/>
233 <param name="channels" value="1"/>
234 <param name="interval" value="20"/>
235 <!-- <param name="interval" value="auto"/> -->
236 <param name="energy-level" value="300"/>
237 <param name="auto-gain-level" value="2200"/>
238 <param name="caller-controls" value="none"/>
239 <!--
240 <param name="tts-engine" value="flite"/>
241 <param name="tts-voice" value="kal16"/>
242 <param name="muted-sound" value="conference/conf-muted.wav"/>
243 <param name="unmuted-sound" value="conference/conf-unmuted.wav"/>
244 <param name="alone-sound" value="conference/conf-alone.wav"/>
245 <param name="moh-sound" value="$${hold_music}"/>
246 -->
247 <param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/>
248 <param name="exit-sound" value="conference/conf-goodbye.wav"/>
249 <!--
250 <param name="auto-record" value="$${recordings_dir}/${conference_name}_${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/>
251 <param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/>
252 <param name="kicked-sound" value="conference/conf-kicked.wav"/>
253 <param name="locked-sound" value="conference/conf-locked.wav"/>
254 <param name="is-locked-sound" value="conference/conf-is-locked.wav"/>
255 <param name="is-unlocked-sound" value="conference/conf-is-unlocked.wav"/>
256 <param name="auto-record" value="/home/${conference_name}_${strftime(%Y-%m-%d-%H-%M-%S)}.mp4"/>
257 <param name="pin-sound" value="conference/conf-pin.wav"/>
258 <param name="bad-pin-sound" value="conference/conf-bad-pin.wav"/>
259 -->
260 <param name="caller-id-name" value="$${outbound_caller_name}"/>
261 <param name="caller-id-number" value="$${outbound_caller_id}"/>
262
263 <param name="comfort-noise" value="0"/>
264 <param name="conference-flags" value="video-floor-only|rfc-4579|livearray-sync|livearray-json-status|auto-3d-position|transcode-video|minimize-video-encoding"/>
265 <param name="video-mode" value="mux"/>
266 <param name="video-layout-name" value="4"/>
267 <!-- <param name="video-layout-name" value="group:grid"/> -->
268 <!-- 1280x720 800x600 -->
269 <param name="video-canvas-size" value="1280x720"/>
270 <param name="video-canvas-bgcolor" value="#333333"/>
271 <param name="video-layout-bgcolor" value="#000000"/>
272 <param name="video-codec-bandwidth" value="auto"/>
273 <param name="video-fps" value="25"/>
274 </profile>
275
 
五.通过sip trunk跟其他产品对接
配置sip trunk网关/usr/local/freeswitch/conf/sip_profiles/external/sip_trunk.xml
1 <include>
2 <gateway name="trunk.com">
3 <param name="realm" value="xxx.xxx.xxx.xxx"/>
4 <param name="proxy" value="ip:port"/>
5 <param name="register" value="false"/>
6 </gateway>
7 </include>
配置路由/usr/local/freeswitch/conf/dialplan/public/000_sip_trunk.xml
1 <include>
2 <extension name="extension-trunk.com">
3 <condition field="destination_number" expression="^0(\d+)$">
4 <action application="set" data="dialed_extension=$1"/>
5 <action application="bridge" data="sofia/gateway/trunk.com/$1"/>
6 </condition>
7 </extension>
8 </include>
 
六.freeswitch在多网卡服务器下指定IP地址
修改internal.xml和external.xml
位置:/usr/local/freeswitch/conf/sip_profiles
修改内容:
64 <param name="rtp-ip" value="$${local_ip_v4}"/>
65 <param name="sip-ip" value="$${local_ip_v4}"/>
把$${local_ip_v4}改为指定的ip地址
 
七.权限问题
在使用sudo命令时,经常性会提示出“不在 sudoers 文件中。此事将被报告”的错误信息。
这是因为当前登录的账号不在sudo权限里面。
sudo命令可以让你以root身份执行命令,来完成一些我们这个帐号完成不了的任务。
其实并非所有用户都能够执行sudo,因为有权限的用户都在/etc/sudoers中
打开:/etc/sudoers
修改:
# User privilege specification
root ALL=(ALL:ALL) ALL
username ALL=(ALL:ALL) ALL(添加的用户)
 

FreeSWITCH部署与功能配置的更多相关文章

  1. JBOSS EAP 6 系列五 Managed domains 管理域最主要的功能是“统一部署,统一配置”

    摘要 本文首先介绍Managed Domain的概念,管理域最主要的功能是"统一部署,统一配置".接下来通过一个实例在"统一配置"部分实现一个双机配置起来的域, ...

  2. [转载]eclipse的远程调试功能配置

    原文地址:eclipse的远程调试功能配置作者:我的 用途:web应用部署并运行于外部(区别于eclipse环境中启动的)应用服务器中,当出现问题时,可以使用eclipse工程的源代码进行跟踪调试. ...

  3. 站点部署,IIS配置优化指南[转]

    站点部署,IIS配置优化指南 目录 一.       设置应用程序池默认设置 二.       常规设置 三.       优化回收策略 四.       性能 五.       IIS初始化(预加载 ...

  4. [转帖]站点部署,IIS配置优化指南

    站点部署,IIS配置优化指南 https://www.cnblogs.com/heyuquan/p/deploy-iis-set-performance-guide.html 挺值得学习的 毕竟之前很 ...

  5. Java学习-032-JavaWeb_001 -- Tomcat环境部署及基本配置

    首先到 Tomcat 官网,下载对应的版本,我本机的系统是 WIN7 64BIT 的,因而我选择的是64bit 的zip包,如下图所示:

  6. centos6.5中部署Zeppelin并配置账号密码验证

    centos6.5中部署Zeppelin并配置账号密码验证1.安装JavaZeppelin支持的操作系统如下图所示.在安装Zeppelin之前,你需要在部署的服务器上安装Oracle JDK 1.7或 ...

  7. Apache运维中常用功能配置笔记梳理

    Apache 是一款使用量排名第一的 web 服务器,LAMP 中的 A 指的就是它.由于其开源.稳定.安全等特性而被广泛使用.下边记录了使用 Apache 以来经常用到的功能,做此梳理,作为日常运维 ...

  8. mysql主从备份功能配置与測试

    在高訪问量服务环境下,单机配置mysql服务将无法满足频繁快速的数据读写操作. 一旦mysql出现故障造成数据丢失.无法恢复. 因此.在mysql服务上启用主从备份功能,支持读写分离技术.最靠可的是搭 ...

  9. (转)Centos7上部署openstack ocata配置详解

    原文:http://www.cnblogs.com/yaohong/p/7601470.html 随笔-124  文章-2  评论-82  Centos7上部署openstack ocata配置详解 ...

随机推荐

  1. zabbix部署相关

    一.centos7 安装zabbix 二.zabbix 乱码问题 三.zabbix自动发现自动注册 四.zabbix3.4实现sendEmail邮件报警

  2. sublime package control INSTALLATION

    Simple The simplest method of installation is through the Sublime Text console. The console is acces ...

  3. Shell 终端ANSI控制码

    Shell 系统交互参数整理 输出颜色 格式: \033[字背景颜色;字体颜色m字符串\033[0m 背景颜色 字体颜色 40: 黑 30: 黑 41: 红 31: 红 42: 绿 32: 绿 43: ...

  4. Linux 跟踪连接netfilter 调优

    Netfilter介绍 linux内核中的netfilter是一款强大的基于状态的防火墙,具有连接跟踪(conntrack)的实现.conntrack是netfilter的核心,许多增强的功能,例如, ...

  5. POI使用记录

    POI CellType类型 CellType  类型  值 CELL_TYPE_NUMERIC  数值型  0 CELL_TYPE_STRING  字符串型 1 CELL_TYPE_FORMULA ...

  6. 清除wnTKYg 这个挖矿工木马的过程讲述

    由于工作需要,我由一个专业java开发工程师,渐渐的也成为了不专业的资深的运维工程师了.感慨一番,书归正传,下面就讲解wnTKYg如何清除.最近项目在做性能测试,发现CPU使用率异常,无人访问时CPU ...

  7. POJ 1743 Musical Theme(后缀数组 + 二分)题解

    题意:一行数字,定义如下情况为好串: 1.连续一串数字,长度大于等于5 2.这行数字中多次出现这串数字的相似串,相似串为该串所有数字同加同减一个数字,如 1 2 3 和 5 6 7 3.至少有一个相似 ...

  8. HTML基础(2)——边框

    边框:(尺寸 样式 颜色) div{border:1px solid red;} 样式可能的值: dotted(点状边框,在大多数浏览器里呈现实线) dashed(虚线.在大多数浏览器中呈现为实线) ...

  9. springboot热部署(二)——springboot热部署与发布

    一.实现的方式概述 注意以下的热部署方式在IDEA是默认没有打开自动编译的,手动编译需要快捷键(Ctrl+Shift+F9),自动编译的修改配置如下:(注意刷新不要太快,会有1-2秒延迟) File- ...

  10. Mybatis自动生成,针对字段类型为text等会默认产生XXXXWithBlobs的方法问题

    需要修改generatorConfiguration.xml,里面的table加属性:<table tableName="t_ticketcase" domainObject ...