freeswitch 常用配置

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>

将路由文件放在conf\sip_profiles\external目录下即可。

 

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,也可以通过eval
var表示,临时变量以$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 Files\FreeSWITCH

3.修改
C:\Program Files\FreeSWITCH\conf\vars.xml

密码

 

如果在本机运行修改为本地ip 默认是一个网络外网地址 如果可以通过外网ip访问的可以不改 服务器上不用修改次参数

 

修改C:\Program Files\FreeSWITCH\conf\autoload_configs\modules.conf.xml

 

如果本地ip不支持ip6 删除C:\Program Files\FreeSWITCH\conf\sip_profiles

 

4.运行
打开cmd 注意用管理员

输入

cd C:\Program Files\FreeSWITCH

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.html
https://www.cnblogs.com/robinliu1238/p/13352483.html
https://blog.csdn.net/Java_lilin/article/details/103063930

 

========= End

 

posted @ 2022-04-28 01:02  lsgxeva  阅读(3889)  评论(0编辑  收藏  举报