XSwitch简明用户手册

基本概念和功能特性

用户

用户是人,即可以登录 Web 界面进行管理的账号。一个用户可以有0个或多个分机。系统中有两个特殊用户:ID 为0system用户和 ID 为1admin用户。

system用户只为占位使用,它用于管理那些无主的分机。比如你只想加一个分机,却不想添加一个用户,就可以将分机关联到system用户上。有一些操作日志,会关联操作员的 ID,但系统本身产生的日志,跟所有用户都不相关,就可以关联到system上。理论上讲system用户没有什么权限。

admin用户是系统的超级用户,具有所有权限。systemadmin用户都不可删除。

其它用户都是普通用户,但可以给用户分配相应的角色让它们获取到一些权限,甚至可以获取到跟admin相同的权限。

分机

分机是指可以打电话的电话账号,通常对应一个分机号码。分机号码可以是数字,也可以是字母,但硬件的 IP 话机不支持呼叫字母,请根据情况选择合适的分机号。

分机上可以指定列详细的功能特性,如音视频编解码,长途呼叫权限等。

呼叫源

为便于维护路由表,所有进入到系统的呼叫都会绑定一个呼叫源。比如呼叫来自分机、网关、中继等,在相应的设置页面上都能设置呼叫源。可以将所有呼叫来源都设置成一个呼叫源,但为了能更好的区分呼叫,设置不同的呼叫权限,建议设置不同的呼叫源。

路由

路由表用于描述呼叫从哪里来,到哪里去。

路由选择算法

呼叫路由采用“号码最长匹配优先”(longest-prefix)算法,如路由表中有以下两条“被叫号码前缀”的路由:

139 1390535

则呼叫13905350000走第二条路由(因为与之匹配的路由表中第二条有8位,而第一条只有3位),呼叫13912345678走第一条路由。

路由的目的地有多种不同的条件,根据不同的条件生成相关的呼叫字符串,进将呼叫送往下一个目的地。

号码变换

在选中一条路由后,呼叫下一个目的地之前,可以对主、被叫号码进行变换。

号码变换支持以下几种类型:

  • -nnn+nnn:其中nnn为号码,-表示从号码开头删除nnn+表示在号码开头加上nnn
  • rnnnRnnn:分别表示在号码开头和结尾替换掉相应位数,其中n可以是多个。如果位长小于n的个数,则号码会变为nnn
  • mxnnn:从第 x 位起,替换掉nnn相应的位数,其中n可以是多个。如果位长小于n的个数,则号码会变为nnn,如果x大于9,还可以使用 16 进制数a-f,如f代表第15位,本算法不支持大于15位的变换。
  • ixnnn:在第x位前插入nnnx取值0-9,a-f
  • Ixnnn:在第x位后插入nnnx取值0-9,a-f
  • dxn:从第x位开始删掉n位,xn取值0-9,a-f
  • nnn:将全部号码替换为nnn
  • /pattern/replace/:正则表达式替换,将匹配pattern的替换为replace。正则表达式使用 PCRE 格式。

: 号码变换实例

原号码变换规则变换后号码
01234-0+991234
01234-01234
01234+9901234
01234999999
01234@test888test888
01234r99999934
01234R99901999
01r999999
01R999999
01234X/test1001
01234m3**01**4
01234i3990199234
01234I3990129934
01234d2304
01234/^(.*)[0-9][0-9]$/$1/012
123456/^(\d{2})\d{2}(.*)$/$1**$2/12**56

高级变换规则

  • s/table/field1/field2/:将表table中的field1替换为field2
  • x/nnn:从xslot中按照规则选取号码进行变换。
  • X/nnn:从分配器nnn中按照一定规则选取号码进行变换。
  • @nnn:将全部号码替换为@之后的nnn,主要用于和系统默认的开头字符有冲突的字符串,比如+86

示例:

设数据库中numbers表内容如下(该表在数据库中必须存在):

ab
100013912345678
100113987654321

: 高级变换示例

原号码变换规则变换后号码
1000s/numbers/a/b/13912345678
1001s/numbers/a/b/13987654321
01000-0|s/numbers/a/b/13912345678

SIP Profile

一个 SIP Profile 会绑定一个或多个 SIP 监听端口,对外提供 SIP 服务。系统默认支持以下端口:

  • 5060:支持 UDP 和 TCP,默认打开
  • 5061:支持 TLS,默认不开
  • 5066:Websocket 端口(WS),默认不开
  • 7443:安全 Websocket 端口(WSS),默认不开

系统默认有两个 Profile:defaultpublic。前者用户本地分机注册,后者一般用于对接网关。

网关

网关用于连接外部系统,支持(向外)注册和非注册的网关。网关必须属于一个 SIP Profile。

中继

中继也用于对接外部系统,与网关类似,但可以支持更高级的(在多个中继间)选线的操作。

黑白名单

黑白名单可以在路由中引用,限制哪些号码能不能走哪些路由。

IVR

IVR 即语音菜单,也就是“什么什么请按 1,什么什么请按 2”。可以配置不同的按键对应的动作。

积木

可以使用类似少儿编程的积木拖拽方式编辑 IVR。积木将在后台转换成 Lua 脚本,直接在 XSwitch 中解析执行。

详见《XSwitch 积木使用手册》。

DID

Direct Inward Dial,即对内直接呼叫。可以直接把某个号码映射到一个分机号上,这样,将外部有人拨打这个 DID 号码时,可以直接对相应的分机振铃。

DOD

Direct Outbound Dial,对外直接呼叫。用于分机直接选线功能,每个分机对应一条外线。

时间管理

管理时间模板,如休息时间和节假日等。

路由码

配合中继网关和 Kamailio Proxy 使用,详见《XSwitch 用户手册》。

会议

音频会议

最简单的会议,您可以直接在路由中路由到“同名会议室”,则有呼叫进来时将根据被叫号码动态创建一个会议室,所有呼叫同一个号码的用户都将进入同一个会议室。

视频会议

视频会议由于需要更多参数,您需要在“会议”菜单创建一个会议室,然后在路由中路由到指定的会议室。

会议室可以有很多的参数,如是否融屏、带宽、视频大小、帧率等。更多的参数可以在会议模板中设置。

会控界面

会控界面需要设置相应的域名才可以正常接收与会者的状态消息,详见《XSwitch 用户手册》。

按键控制

配置在会议中与会成员是否可以使用哪些按键进行操作,如静音等。

呼叫中心

系统支持简单呼叫中心功能。有两个功能模块:FIFO(先入先出队列)和 Callcenter。

队列

将呼入电话进行排队。

坐席

坐席可以签入队列,当队列中有来话时即对相应坐席进行呼叫。

分组

对用户和分机进行分组。

角色

对用户分配角色权限。系统权限使用 RBAC(Role Based Access Control)。

计费

系统支持简单的计费和账单功能。

SIP

SIP 相关的配置。每个 SIP Profile 监听一个 IP 地址和端口。

许可证

许可证管理。

扩展功能

终端

简单的终端,可以使用相关的命令控制 XSwitch,实时查看呼叫日志和进行 SIP 跟踪等。

自动配置

话机自动配置。

媒体文件

请传和下载录音、录像等。

日志

查看系统操作日志。

系统

系统相关设置。

访问控制列表

安全相关,限制哪些 IP 可以注册到系统等。

全局变量

全局变量,可以在配置文件中引用。

系统模块

配置加载哪些模块。

参数

显示系统配置参数。

分配器

呼叫动态分配、负载均衡器。

XCC

高级系统控制。

微信小程序

用于对接微信小程序。

数据字典

系统内置数据字典。

EventSocket

编程开发接口配置。

菜单管理

可以对系统显示的菜单进行配置。

AI 管理

ASR、TTS 对接配置。

系统状态

显示系统状态数据。

总体介绍