配置文件说明

FreeSWITCH的配置文件默认存放在/conf目录下,它由一系列的XML配置文件组成。最顶层的文件是freeswitch.xml,系统启动时它依次装入其他的XML并最终组成一个大的XML文件,其基本目录如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
├── autoload_configs// 存放自动加载的配置文件
│   ├── modules.conf.xml// 配置当fs启动时自动装载哪些模块
│   └── *.xml// 一般来说,每个模块都有一个配置文件
├── chatplan// 聊天计划
│   └── default.xml
├── dialplan// 拨号计划
│   ├── default
│   ├── default.xml// 默认拨号计划,一般用于内部用户路由
│   ├── features.xml
│   ├── public// 默认拨号计划,一般用于外部来话路由
│   ├── public.xml
│   ├── skinny-patterns
│   └── skinny-patterns.xml
├── directory// 用户目录
│   ├── default// 默认用户的配置,其目录下是每个用户的XML配置文件
│   └── default.xml
├── extensions.conf
├── freeswitch.xml
├── fur_elise.ttml
├── ivr_menus// IVR菜单
├── jingle_profiles// 连接Google Talk的相关配置
│   ├── client.xml
│   └── server.xml
├── lang// 多语言支持
├── mime.types
├── mrcp_profiles// MRCP的相关配置,用于跟第三方语音合成和语音识别系统对接
├── notify-voicemail.tpl
├── sip_profiles// SIP配置文件
│   ├── external// 外部连接
│   ├── external-ipv6
│   ├── external-ipv6.xml
│   ├── external.xml
│   ├── internal-ipv6.xml
│   └── internal.xml// 内部SIP配置,默认监听在IP以及5060端口
├── skinny_profiles// 思科协议话机配置文件
│   └── internal.xml
├── tetris.ttml
├── vars.xml// 一些常用变量
├── voicemail.tpl
└── web-vm.tpl

还记得前文中说到的修改FreeSWITCH用户的默认密码?就是修改了vars.xml里面的内容。

新建用户

我们可以使用SIP软件登录FreeSWITCH进行电话拨打了,下面我们来尝试使用自己新建的用户来拨打电话,此时回过头看看上面的配置文件目录,如果要新增用户,应该去那个目录下呢?

FreeSWITCH的默认用户配置信息存放在/conf/directory/default目录下,我们先进入该目录,然后复制一个默认用户的XML文件,稍作修改,新用户就建立好了,当然,这时新用户还无法登录,需要执行reloadxml指令之后,才可以在SIP软件上登录新用户。

1
cp 1000.xml 10001.xml

编辑10001.xml,将文件中的1000全部替换成10001即可。

vi命令批量替换:按Esc,输入”:%s#1000#10001#g”回车即可,然后按Esc,输入”:wq”回车存盘。

继续重复上面的步骤,新增10002.xml文件,并且替换原来的内容为10002保存。这样的话,我们就新增了10001和10002两个用户,这两个用户都是使用的默认密码。到目前为止,新用户就创建完毕了,但是这两个用户还不能互相拨打SIP电话,此时我们还需要新增一个拨号计划。

/usr/local/freeswitch/conf/dialplan目录下,新增00_new_user.xml文件,内容如下:

1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="utf-8"?>
<include>
<extension name="My_Local_Extension">
<condition field="destination_number" expression="^(1000d{1})$">
<action application="bridge" data="user/$1"/>
</condition>
</extension>
</include>
  1. FS加载default/*.xml的时候,其实是按文件顺序加载的,所以新增拨号计划的时候,文件名以00开头,确保新增的拨号计划可以被优先加载。
  2. default/*.xml下面的拨号计划的优先级一般比default.xml本身配置的拨号计划的优先级低一些,但是也不是绝对的,这取决于default.xml<X-PRE-PROCESS cmd="include" data="default/*.xml"/>的位置。

拨号计划新增完毕之后,使用fs_cli指令登录FS控制台,输入reloadxml回车,然后再在SIP软件上登录这两个账号就可以了互相拨打电话了,当然,100X也可以和1000X互相拨打SIP电话。