脚本宝典收集整理的这篇文章主要介绍了freeswitch 常用配置,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
https://www.cnblogs.com/fire909090/p/6897568.html
一、 添加用户
1、conf/directory/default目录下添加用户文件名字是分机号.xml,例如1000.xml,它的内容如下:
<include>
<user id="1000" mailbox="1000">
<params>
<param name="password" value="1234"/>
<param name="vm-password" value="1000"/>
</params>
<variables>
<variable name="accountcode" value="1000"/>
<variable name="user_context" value="default"/>
<variable name="effective_caller_id_name" value="Extension 1000"/>
<variable name="effective_caller_id_number" value="1000"/>
</variables>
</user>
</include>
2、使其他用户可以呼叫到他
<extension name="Local_Extension"><condition field="destination_number" expression="^(10[0-9][0-9])$">
FS接受到内部分机呼叫后,查找分机时用正则表达式: 10[01][0-9] 来表示1000-1019;
"^(50[5-9][0-9])$"标示5050-5099;
3、重新加载配置,使其生效
在fs_cli下,运行:reloadxml
二、 出局号码
在修改拨号计划/conf/dialplan下的default.xml中添加代码
<extension name="call out">
<condition field="destination_number" expression="^(10[0-9]+)$">
<action application="bridge" data="sofia/gateway/gw1/$1"/>
</condition>
</extension>
expression="^(10[0-9]+)$">为出局号,当拨号码前三位为100-109是走路由"sofia/gateway/gw1/$1";
如果expression="^7(d+)$"标示要在拨出号码前加拨7;括号内的为呼出号码!
出局路由文件为gw1.xml内容如下
<gateway name="gw1">
<param name="realm" value="172.16.72.220:5060"/>
<param name="username" value="1004"/>
<param name="password" value="1234"/>
<param name="register" value="false" />
</gateway>
将路由文件放在confsip_profilesexternal目录下即可。
https://blog.csdn.net/dujiajiyu/article/details/93676119
配置文件默认的目录是 /usr/local/freeswitch/conf
| conf/目录和文件 | 说明 |
| :----------------------------- | --------------------------------------------------------- |
| |——vars.xml | 一些常用变量 |
| |——autoload_configs | 目录、存放自动加载的配置文件 |
| | |——modules.conf.xml | 配置当FreeSWITCH启动时自动装载哪些模块 |
| | |——*.xml | 一般来说每个模块都有一个配置文件 |
| |——dialplan | 拨号计划 |
| | |——default.xml | 默认的拨号计划配置、一般用于内部用户路由 |
| | |——public.xml | 默认的拨号计划配置、一般用于外部来话路由 |
| |——directory | 用户目录 |
| | |——default | 默认的用户目录配置 |
| | ——*.xml | SIP用户、每个用户都有一个文件 |
| |——sip_profiles | SIP配置文件 |
| | |——internal.xml | 一般SIP profile、或称作一个SIP-UA、监听在本地IP及端口5060 |
| | |——externa.xml | 另一个SIP-UA、用作外部连接、端口5080 |
一、freeswitch.xml
freeswitch.xml文件是所有XML文件的粘合剂,它没有特别的作用,主要就是将不同的配置文件包含到不同部分(Section)中,从而生成一个大的XML配置文件
二、vars.xml
vars.xml 主要通过 X-PER-PROCESS 指令定义了一些全局变量,全局变量使用var表示,临时变量以$var表示,在实际使用中可以通过API命令来获取全局变量的值如:globalgetvarlocalipv4,也可以通过evalvar表示,临时变量以$var表示,在实际使用中可以通过API命令来获取全局变量的值如:globalgetvarlocalipv4,也可以通过eval{local_ip_v4}
三、autoload_configs目录
该目录下的各种配置文件是在系统启动的时候载入,一般来说都是模块级的配置文件,每个模块对应一个(主要并不是所有的模块都有配置文件),文件名一般以“模块名.confi.xml”的方式命名(模块名中不包含“mod_“)
启动载入根据配置文件module.conf.xml决定
四、directory目录
该目录中的配置文件决定了当FreeSWITCH作为注册服务器时,那些用户可以注册,即用于配置SIP用户
启动原理:c语言编写执行的
http://www.360doc.com/content/14/0120/14/12747488_346631095.shtml
启动过程中的常见问题及处理方案:
sofia.c:3146 Error Creating SIP UA for profile: internal-ipv6 (sip:mod_sofia@[::1]:5060;transport=udp,tcp) ATTEMPT 2 (RETRY IN 5 SEC)
主要原因是:系统不支持IPv6地址,需要让freeswitch去掉IPv6的支持
处理方案:
1.删除sip_profiles下相关的IPV6文件
2.破坏掉ipv6文件的类型,不再是xml类型即可
出现这种报错:
Cannot lock pid file /usr/local/freeswitch/run/freeswitch.pid.
导致原因是该系统还有类似的freeswitch进程在启动,导致无法启动
conf/autoload_configs/switch.conf.xml
主要设置控制台快捷键、数据库处理句柄、session会话、日志等级等
1.快捷设置
2.
最大连接session
每秒最大
######freeswitch 作为服务器注册
Sofia 的配置文件是 conf/autoload_configs/sofia.conf.xml
所以,可以认为所有的Sofia配置文件都在conf/sip_profiles/中
https://www.cnblogs.com/linyijia/p/15641343.html
一 安装
1.下载地址https://files.freeswitch.org/windows/installer
注意x64和x86
版本为FreeSWITCH-1.10.1-Release-x64.msi 完美支持音视频 有的版本不支持视频哦
2.安装选择complete 完全安装安装完成目录在C:Program FilesFreeSWITCH
3.修改C:Program FilesFreeSWITCHconfvars.xml
密码
如果在本机运行修改为本地ip 默认是一个网络外网地址 如果可以通过外网ip访问的可以不改 服务器上不用修改次参数
修改C:Program FilesFreeSWITCHconfautoload_configsmodules.conf.xml
如果本地ip不支持ip6 删除C:Program FilesFreeSWITCHconfsip_profiles
4.运行打开cmd 注意用管理员
输入
cd C:Program FilesFreeSWITCH
FreeSwitchConsole -nonat
查询:sofia status 为本地ip 正常
5.默认账号为1000-1019 密码为上面修改 默认端口在vars.xml 5060运行sip 软件 如果你想开发自己的可以到https://shop121230895.taobao.com/index.htm 选择一个 有linphone、baresip、pjsip 。win32桌面、安卓、 web网页版本都有输入 ip:192.168.0.114:5060及账号、密码
二.外网配置
1、在var.xml中修改
<!--X-PRE-PROCESS cmd="stun-set" data="external_rtp_ip=stun:stun.freeswitch.org"/--> 这里没有使用stun功能,而是直接把公网ip填在这里 <X-PRE-PROCESS cmd="stun-set" data="external_rtp_ip="阿里云分配的公网ip"/>
在var.xml中修改了之后,就无需在conf/sip_profiles/iinternal.xml external.xml中修改了,网上有很多例子都是直接在这两个文件改其实不用,var中改好了之后,这两个文件直接引用external_rtp_ip这个变量即可。
2、关键一步,配置阿里云的防火墙及操作系统防火墙。
这里需要注意 服务器最好把5060默认端口改掉 我这边上线一天就马上被人攻击,修改具体如下
1.进入安装目录:
cd /usr/local/freeswitch/conf/vars.xml
2.修改默认端口
<X-PRE-PROCESS cmd="set" data="internal_sip_port=5060"/>
5060默认为freswitch 的sip信令内部端口
3.修改语音流端口
freeswitch默认rtp语音端口范围如下:
<!-- RTP port range --><!-- <param name="rtp-start-port" value="16384"/> --><!-- <param name="rtp-end-port" value="32768"/> -->
三.常用命令
启动FreeSwitchConsole -nonat
注册状态sofia status profile internal
参考链接:
https://www.cnblogs.com/setout/articles/10255911.htmlhttps://www.cnblogs.com/robinliu1238/p/13352483.htmlhttps://blog.csdn.net/Java_lilin/article/details/103063930
========= End
1.进入安装目录:
cd /usr/local/freeswitch/conf/vars.xml
2.修改默认端口
<X-PRE-PROCESS cmd="set" data="internal_sip_port=5060"/>
5060默认为freswitch 的sip信令内部端口
3.修改语音流端口
freeswitch默认rtp语音端口范围如下:
<!-- RTP port range --><!-- <param name="rtp-start-port" value="16384"/> --><!-- <param name="rtp-end-port" value="32768"/> -->
以上是脚本宝典为你收集整理的freeswitch 常用配置全部内容,希望文章能够帮你解决freeswitch 常用配置所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。