Skip to content
prog.chen edited this page Oct 31, 2014 · 6 revisions

#IMS配置 IMS模块正常运行一共需要两个配置文件

  1. ims.conf.xml, 存放在工作目录的conf目录下;
  2. bgcc.cfg,存放到ims工作目录下

#目录

##ims.conf.xml IMS模块的主配置文件,xml格式,以下按照各个section进行描述

###概述 ####整体格式

<?xml version="1.0"?>
<document type="ims/xml">
	<!-- 相关section配置项 -->
</document>

回到顶部

###service ####参数含义

参数 含义 默认值
service.type 提供服务的类型,目前支持main类型
service.ip 提供服务的IP地址
service.port 提供服务的端口
####配置示例 ``` ```

回到顶部

###param ####参数含义

参数 含义 默认值
param.max-session 支持的最大会话数 2000
param.bgcc-pollsize 提供服务的线程池大小 500
####配置示例 ``` ```

回到顶部

###client ####参数含义

参数 含义 默认值
client.type client类型,目前支持ivr、acd
client.allow.data 允许连接的网段,默认拒绝提供服务
####配置示例 ``` ```

回到顶部

###gateway ####参数含义

参数 含义 默认值
log 是否生成所有freeswitch的esl交互的日志
gateway.type 对接的软交换类型,目前仅支持freeswitch
gateway.id 软交换服务编号,建议不重复
gateway.ip 软交换服务地址
gateway.port 软交换服务端口,freeswitch在mod_event_sock模块配置
gateway.pswd 软交换服务授权密码
gateway.user 允许连接的网段,默认拒绝提供服务
gateway.max_conn 软交换支持的最大连接数 2000
gateway.dtmf 软交换使用的DTMF传递方式,如果是inband才需要配置 freeswitch配置
####配置示例 ``` ```

回到顶部

###route ####说明 路由部分的配置非常重要,也是最复杂的一项配置,他关系到相关呼叫是否成功,整个平台是否能够正常运行。这部分的配置很大程度上影响到将来的agentbar呼叫、freeswitch的dialplan配置。

该项配置只影响坐席外呼,和呼入无关

实现原理:ims在接收到外呼请求之后,会根据主叫号码去匹配正确的规则,来进行号码变换,主要完成以下功能:

  1. 被叫来电显示的号码
  2. 真正要呼叫的坐席号码
  3. 真正要呼叫的被叫号码

ims平台提供了两个常量:

  1. ${DN}:表示坐席的分机号码
  2. ${CALLED}:表示外呼的原始号码

####参数含义

参数 含义 默认值
route.name 路由规则名称,建议不重复
route.condition.field 正则匹配的字段名称
route.condition.expression 条件正则表达式,规则使用pcre解析
route.condition.set 符合正则之后设置的相关变量
####配置示例 ``` ```

回到顶部

##bgcc.cfg

bgcc通信组件的通用配置,通用配置参考这里

###配置示例

[@log_devices]
level = TRACE
#ims主程序log
device_name = ims
filepath = ./log/ims.log
split_policy = SIZE
max_size = 500000000
layout = %D [%N] %T {%F(%L)} %C

[@log_devices]
level = TRACE
#ims事件log
device_name = imsevent
filepath = ./log/imsevent.log
split_policy = SIZE
max_size = 500000000
layout = %D [%N] %T {%F(%L)} %C

[@log_devices]
level = TRACE
#freeswitch事件log
device_name = fsevent
filepath = ./log/fsevent.log
split_policy = SIZE
max_size = 500000000
layout = %D [%N] %T {%F(%L)} %C

[@log_devices]
level = TRACE
#freeswitch的esl库生成的log
device_name = esl
filepath = ./log/esl.log
split_policy = SIZE
max_size = 500000000
layout = %D [%N] %T {%F(%L)} %C

[@log_devices]
level = TRACE
#bgcc的内部log
device_name = bgcc
filepath = ./log/ims-bgcc.log
split_policy = SIZE
max_size = 500000000
layout = %D [%N] %T {%F(%L)} %C

回到顶部

Clone this wiki locally