为什么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.net/stache/blog/1524198

FreeSWITCH配置文件详解相关推荐

  1. mybatis mysql 配置文件_Mybatis配置文件详解(4)

    本次主要来了解: MyBatis数据库配置文件SqlMapConfig.xml SQL映射配置中输入映射的配置 SQL映射配置中输出映射的配置 SQL映射配置中动态SQL语句的配置 1. SqlMap ...

  2. MyBatis复习笔记2:配置文件详解

    配置文件详解 属性(properties) MyBatis可以使用 properties 来引入外部 properties 配置文件的内容 resource:引入类路径下的资源 url:引入网络路径或 ...

  3. vuecli 编译后部署_基于vue-cli 打包时抽离项目相关配置文件详解

    前言:当使用vue-cli进行开发时时常需要动态配置一些设置,比如接口的请求地址(axios.defaults.baseURL),这些设置可能需要在项目编译后再进行设置的,所以在vue-cli里我们需 ...

  4. (转) SpringBoot非官方教程 | 第二篇:Spring Boot配置文件详解

    springboot采纳了建立生产就绪spring应用程序的观点. Spring Boot优先于配置的惯例,旨在让您尽快启动和运行.在一般情况下,我们不需要做太多的配置就能够让spring boot正 ...

  5. CENTOS7 高性能Linux集群 通过yum进行 haproxy配置 !安装 !使用!HAProxy配置文件详解

    Haproxy配置 永久修改名字:便于区分虚拟机! Haproxy:hostnamectl set-hostname haproxy Web1: hostnamectl set-hostname WE ...

  6. 用户管理 之 用户(User)和用户组(Group)配置文件详解

    作者:北南南北 来自:LinuxSir.Org 摘要:本文详解用户(User)和用户组(Group)的配置文件,本文是<Linux 用户(User)和用户组(Group)管理概述>文档的关 ...

  7. 【ZooKeeper】配置文件详解

    ZooKeeper的配置文件详解 zkServer.sh读取的默认配置文件是$ZOOKEEPER_HOME/conf/zoo.cfg.如果要用其它配置文件.如下传递配置文件参数: zkServer.s ...

  8. vsftpd配置文件详解

      1.默认配置: 1>允许匿名用户和本地用户登陆.      anonymous_enable=YES      local_enable=YES 2>匿名用户使用的登陆名为ftp或an ...

  9. Web.config配置文件详解(新手必看)

    Web.config配置文件详解(新手必看) 花了点时间整理了一下ASP.NET Web.config配置文件的基本使用方法.很适合新手参看,由于Web.config在使用很灵活,可以自定义一些节点. ...

最新文章

  1. A.CPP (blur.CPP)如何调用B.CPP (zeros.cpp)中定义的方法
  2. 我的Android进阶之旅------gt;Android APP终极瘦身指南
  3. CAS SSO使用指南
  4. 【NOI2019十二省联合省选】部分题简要题解
  5. Java相对路径调用dll文件,VS项目中调用他人提供的.lib和.dll文件的用法(绝对路径和相对路径)...
  6. 增删改数据库表中的字段名
  7. 9.3. where 优化
  8. C++学习笔记(十二):重载函数
  9. 我的世界服务器物品栏mod,我的世界1.7.10内置合成表MOD 物品管理器
  10. 【2020年高被引学者】 韩家炜 伊利诺伊大学香槟分校
  11. QQ 音乐加密音乐文件格式转换并附加专辑图片教程
  12. php网页缩略图api,美图WEB开放平台 - 开发文档
  13. git commit--amend
  14. 短视频矩阵/短视频SEO矩阵系统源码/系统搭建
  15. T4 如何去掉图片背景色变成透明
  16. 分清概念十分重要之--Linux中的各种队列
  17. POJ 1000A+B我的入门
  18. C# WPF开源控件库:Newbeecoder.UI使用指南(四)
  19. python找最小值_Python,lambda,找到最小值
  20. hive partition简介

热门文章

  1. CSS中绝对定位依据谁进行定位?
  2. MySQL的用户和权限介绍
  3. Linux下常见的文本处理命令
  4. 程序员之路,蛇年快加速!
  5. 使用UPnP来穿透NAT使内网接口对外网可见
  6. 订阅点评有奖,本人获奖了
  7. RealPlayer 15正式发布 简体中文版下载
  8. 复习最基础的linux 之 创建用户及修改用户组
  9. 如何使用Cisco命令阻止访问特定网站
  10. 简单工厂、工厂模式初学习