admin管理员组文章数量:1558084
为什么80%的码农都做不了架构师?>>>
配置文件默认的目录是 /usr/local/freeswitch/conf
一、freeswitch.xml
freeswitch.xml文件是所有XML文件的粘合剂,它没有特别的作用,主要就是将不同的配置文件包含到不同部分(Section)中,从而生成一个大的XML配置文件
二、vars.xml
vars.xml 主要通过 X-PER-PROCESS 指令定义了一些全局变量,全局变量使用 $${var} 表示,临时变量以 ${var} 表示,在实际使用中可以通过API命令来获取全局变量的值如:global_getvar local_ip_v4
<X-PRE-PROCESS cmd="set" data="domain=$${local_ip_v4}"/>
<X-PRE-PROCESS cmd="set" data="domain_name=$${domain}"/>
<X-PRE-PROCESS cmd="set" data="hold_music=local_stream://moh"/>
<X-PRE-PROCESS cmd="set" data="use_profile=internal"/>
#查看全局变量的值
freeswitch@internal> global_getvar local_ip_v4
192.168.17.16
#在vars.xml加载之前,FreeSWITCH就已经算出并设置了一些全局变量,但有的时候FreeSWITCH自动算出的变量可能不是
#你想要的,如local_ip_v4的值,在服务器有多个网卡的情况下,可能希望它能得到另外一个网卡的IP地址,这时候就可以
#通过手动方式设置该变量IP来实现
<X-PRE-PROCESS cmd="set" data="local_ip_v4=192.168.1.251"/>
三、autoload_configs目录
该目录下的各种配置文件会在系统启动的时候载入,一般来说都是模块级的配置文件,每个模块对应一个(主要并不是所有的模块都有配置文件),文件名一般以“模块名.confi.xml”的方式命名(模块名中不包含“mod_“),另外autoload_configs目录中有一个特殊的配置文件module.conf.xml,该文件决定了FreeSWITCH启动时加载那些模块,如果需要启动时加载某模块,在这里添加一行,如果不需要就注释或删除即可
五、ivr_memues目录
该目录下放了一些默认的IVR菜单的例子
六、directory目录
该目录中的配置文件决定了当FreeSWITCH作为注册服务器时,那些用户可以注册,即用于配置SIP用户
#默认的default.xml
<domain name="$${domain}">
<params>
<param name="dial-string" value="{^^:sip_invite_domain=${dialed_domain}:presence_id=${dialed_user}@${dia
led_domain}}${sofia_contact(*/${dialed_user}@${dialed_domain})}"/>
</params>
<variables>
<variable name="record_stereo" value="true"/>
<variable name="default_gateway" value="$${default_provider}"/>
<variable name="default_areacode" value="$${default_areacode}"/>
<variable name="transfer_fallback_extension" value="operator"/>
</variables>
</domain>
params参数
#params中定义了该Domain中所有用户的公共参数,在这里只定义了一个 dial-string 这是一个至关重要的参数,在使用
#user/username 或 sofia/internal/username@domain 这样的呼叫字符串时,FreeSWITCH会根据username以及
#domain找到该dial-string,并最终扩展成用户实际的SIP地址
sofia_contact
#sofia_contact是一个API命令,它会根据用户的注册地址扩展成相应的呼叫字符串
variables
#variables定义了一些公共变量,在用户主叫或被叫时,这些变量会绑定到相应的Channel上形成Channel Variable
#在domain中还定义了许多组,组里面包含了很多用户
<group name="default">
<users>
<X-PRE-PROCESS cmd="include" data="default/*.xml"/>
</users>
</group>
组名default
#在这里组名default并没有特殊意义
#如下,也可以定义其他组,组中的用户并不需要是完整的XML节点,也可以是一个指向已存在用户的指针,如下代码
#使用type="pointer"定义的指针
<group name="sales">
<users>
<user id="1000" type="pointer"/>
<user id="1001" type="pointer"/>
<user id="1002" type="pointer"/>
<user id="1003" type="pointer"/>
<user id="1004" type="pointer"/>
</users>
</group>
#注意,使用组并不是必需的,如果不打算用组,可将用户节点直接放到 domain 的下一级也是可以的,但是使用组可以比较
#方便的支持像群呼、代接之类的业务,例如使用group_call可以同时或者顺序呼叫某个组的用户
#一个SIP用户1001的设置
<include>
<user id="1001">
<params>
<param name="password" value="$${default_password}"/>
<param name="vm-password" value="1001"/>
</params>
<variables>
<variable name="toll_allow" value="domestic,international,local"/>
<variable name="accountcode" value="1001"/>
<variable name="user_context" value="default"/>
<variable name="effective_caller_id_name" value="Extension 1001"/>
<variable name="effective_caller_id_number" value="1001"/>
<variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
<variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
<variable name="callgroup" value="techsupport"/>
</variables>
</user>
</include>
转载于:https://my.oschina/stache/blog/1524198
本文标签: 配置文件详解freeswitch
版权声明:本文标题:FreeSWITCH配置文件详解 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1727372407a1111339.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论