freeSwitch 配置目录学习
1、Freeswitch 配置文件
配置文件默认的目录是 /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命令来获取全局变量的值如:global_getvar local_ip_v4,也可以通过 eval $${local_ip_v4}
三、autoload_configs目录
该目录下的各种配置文件是在系统启动的时候载入,一般来说都是模块级的配置文件,每个模块对应一个(主要并不是所有的模块都有配置文件),文件名一般以“模块名.confi.xml”的方式命名(模块名中不包含“mod_“)
启动载入根据配置文件module.conf.xml决定
四、directory目录
该目录中的配置文件决定了当FreeSWITCH作为注册服务器时,那些用户可以注册,即用于配置SIP用户
五、ivr_memues目录
该目录下放了一些默认的IVR菜单的例子
2、freeswitch 添加用户
Freeswitch默认的20个用户(1000-1019),如果需要更多的用户,那就需要添加一个新用户,所以就涉及到了Freeswitch的配置问题。例如我们要添加一个用户叫jack ,分机号为1020,只需要到相应的目录进行复制修改,并且把effective_caller_id_name 修改为jack
2.1 增加新用户配置文件
-
配置文件目录
cd /usr/local/freeswitch/conf/directory
-
复制分机文件
touch 1020.xml 并且将1000.xml内容拷贝到1020,并且修改1000为1020即可
-
修改分机名
<variable name="effective_caller_id_name" value="JACK"/>
2.2 修改拨号计划(Dialplan)使其他用户可以呼叫它
-
进入目录
cd /usr/local/freeswitch/conf/dialplan
-
添加拨号记录
<extension name="Local_Extension"> <condition field="destination_number" expression="^(10[01][0-9]|1020)$"> <action application="export" data="dialed_extension=$1"/> <!-- bind_meta_app can have these args <key> [a|b|ab] [a|b|o|s] <app> --> <action application="bind_meta_app" data="1 b s execute_extension::dx XML features"/>
增加1020 分机号
-
重新加载
然后在命令行中reloadfreeswitch@loacl> reloadxml