2

FreeSwitch 目录结构

 1 month ago
source link: https://blog.51cto.com/u_16649174/10230614
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

FreeSwitch 目录结构

精选 原创

韩未零 2024-03-27 22:58:31 博主文章分类:VoIP ©著作权

文章标签 配置文件 xml XML 文章分类 运维

在UNIX类系统上,FreeSwitch 默认安装位置:/usr/local/freeswitch/;在Windows上,C:\Programming Files\FreeSwitch

FreeSwitch 目录结构_xml

sounds:存放了各种声音文件。

FreeSwitch 目录结构_配置文件_02

en 表示英语、us表示美式英语、Callie 表示嗓音。

配置文件由许多 XML 文件组成。

FreeSwitch 目录结构_XML_03
FreeSwitch 目录结构_xml_04

freeswitch.xml是最重要的配置文件,作用是将所有配置文件粘到一起。完整的 XML 文档包括:configuration(配置)、dialplan(拨号计划)、charplan(聊天计划)、directory(用户目录)、phrase(分词),每一部分又有不同的配置。

FreeSwitch 目录结构_xml_05
FreeSwitch 目录结构_配置文件_06

X-PRE-PROCESS是一个预处理命令。

编辑 vars.xml

FreeSwitch 目录结构_XML_07

如在调试阶段想把一条X-PRE-PROCESS指令注释掉:

FreeSwitch 目录结构_xml_08

当FreeSwitch预处理是,还没有到XMl解析阶段,会将预处理命令替换为以下:

FreeSwitch 目录结构_配置文件_09

由于XMl的注释不能嵌套,会产生错误的XML。解决办法:破坏预处理命令

FreeSwitch 目录结构_XML_10

由于FreeSwitch不认识xX-PRE-RPOCESS 和 XPRE-RPOCESS,会忽略该行。

vars.xml 主要通过X-PRE-PROCESS指令定义了一些局部变量,如:

FreeSwitch 目录结构_配置文件_11

系统自动设置的变量

FreeSwitch 目录结构_配置文件_12
FreeSwitch 目录结构_配置文件_13

查看这些变量的值:

FreeSwitch 目录结构_配置文件_14

autoload_configs 目录下的各种配置文件会在系统启动时装入。

例如:sofia.conf.xml

FreeSwitch 目录结构_xml_15
FreeSwitch 目录结构_xml_16

profiles 标签可通过X-PRE-PROCESS指令装入其他的配置文件。

FreeSwitch 目录结构_xml_17

aotoload_configs/modules.conf.xml 决定了freeswitch启动时自动加载那些模块。

FreeSwitch 目录结构_XML_18

dialplan目录:定义了xml拨号计划

ivr_menues目录:存放了默认的一些IVR菜单的例子

directory目录:决定了freeswitch作为注册服务器时,那些用户可以注册。

XML 用户目录

用户目录的默认文件:conf/directory/,系统自带的配置文件为 default.xml

FreeSwitch 目录结构_xml_19

该配置文件决定了那些用户能注册到freeswitch中。所有用户都属于一个domain。

在domain中定义了许多组(group),组里面包含很多用户(user)

FreeSwitch 目录结构_配置文件_20

使用type=“pointer”

FreeSwitch 目录结构_XML_21

显示Alice的设置

FreeSwitch 目录结构_XML_22

呼叫相关概念

如果Bob和Alice通话,典型的呼叫流程主要有以下两种:

FreeSwitch 目录结构_XML_23

来去话、Session、Channel与call

Bob 到 freeswitch 的通话称为来话;freeswitch 作为一个B2BUA在去呼叫Alice时,称为去话。

无论来话还是去话,对每一次呼叫,freeswitch都会启动一个session(会话),用于控制整个呼叫,会一直持续到通话结束。其中,每个session控制一个channel(通道、信道),channel是一对UA的实体。

通话时,freeswitch的作用是将两个channel桥接到一起,使得双方通话。这两路桥接的通话在逻辑上组成一个通话(call)。

回铃音与Early Media

A与B通过两天交换机通话

FreeSwitch 目录结构_配置文件_24

A呼叫B,B话机开始振铃,A端可听到回铃音(Ring Back Tone)。回铃音和彩铃是不收费的。这些回铃音就称为Early Media。

全局变量和局部变量

可以使用X-PRE-PROCESS在freeswitch中设置一些变量,后续使用$${var}的形式来引用。这些变量是全局有效的。

另外一些变量在Dialplan、app或directory中设置的,他们会影响呼叫流程且可以被动态改变。一般与一个channel有关,称为通道变量。可以以${var}形式引用,仅在channel的生命周期有效。

  • 收藏
  • 评论
  • 分享
  • 举报

上一篇:FreeSwitch 架构


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK