MYVOIPAPP

预付费卡

1. 业务描述
网络

"预付费卡(Calling card)"是种虚拟卡业务。它更像是个预付费账户,用户可以使用它在任何与MSS下的SIP电话终端发起呼叫。采用预付费卡,余额是受控制的。每张预付费卡都有一定的余额。如果余额不够,用户无法使用它发起呼叫。每次外呼结束,就会从卡内扣除一定的费用。国内常见的预付费卡业务是200卡业务、201卡业务等。

另一方面,MSS能够限制SIP终端外呼权限,这个特性就是”呼叫级别(Call level)“。用户可以通过预付费卡业务抑制呼叫级别的限制,对外发起呼叫。

miniSIPServer(MSS)预付费卡业务的缺省接入码是"*300*",如果用户拨打"300*"就会触发预付费卡业务。下图描述了这个业务的基本处理流程:

预付费卡业务流程

MSS V3.1及以上版本能完整支持上述业务流程(低版本只能支持简单预付费卡业务)。请从这里下载最新的版本。

我们需要在MSS中进行以下配置以支持预付费卡业务:

  • 连接数据库。MSS使用MySQL数据库作为缺省数据库存放业务数据。
  • 限制部分被叫号码只能通过预付费卡呼叫。
  • 配置计费数据,例如计费矩阵。
  • 配置卡信息,例如卡号码、密码和余额等。
2. 基本配置
2.1 远端数据库

MSS目前仅支持MySQL数据库,请先从http://www.mysql.com/下载并安装MySQL数据库。

请点击菜单"Data / System information / Remote database"并根据您的MySQL信息进行配置。

MySQL数据库配置
配置项 描述

Database address

域名或者IP地址

远端数据库地址。

注意, MSS和MySQL可以安装在同一台PC中,此时"database address"应当配置为"localhost"。

Visit port

整数

远端MySQL访问端口。如果您在MySQL配置中修改了访问端口,您也需要同时更新MSS中的这项配置。

MySQL缺省访问端口为3306。

User name

字符串

访问MySQL数据库使用的用户名。

Password

字符串

访问MySQL数据库使用的密码。

2.2 限制被叫号码

缺省情况下,MSS下的分机可以拨打任何被叫号码。如果我们希望部署预付费卡业务,某些被叫号码,甚至全部被叫号码就必须继续限制。例如,我们可以限制分机不能拨打外呼呼叫,但是通过预付费卡可以拨打外呼呼叫。

我们只需要在被叫号码分析表中设置"call level"即可。请点击菜单"Dial plan / Called number analysis"进行编辑。例如,我们设置路由类型为”外线“的呼叫为呼叫级别1, 那就意味着分机要有呼叫级别1的权限或者通过预付费卡才能呼叫成功。

呼叫级别配置
2.3 计费信息

既然"预付费卡"是预付费业务,配置预付费计费信息就非常重要,这包括:(1)配置预付费费率;(2)配置计费矩阵。.

预付费卡菜单
2.3.1 预付费费率

请点击菜单"Services / Calling card / Prepaid rate"进行配置。

预付费费率对话框
配置项 描述

ID

整数

预付费费率ID。

Interval

整数

计费周期,单位为秒。

Tariff

整数

每个计费周期的费用。

One-time fee

整数

一次性费用。

一旦被叫接听电话,就会立刻从卡余额中扣除这个一次性费用。一次性费用是可选的,缺省值为0.

例如: "ID=1; Interval=60; Tariff=10; One-time fee=20". 这意味着:被叫应答后,MSS首先从卡余额中扣除20个计费单元,然后每60秒扣除10个计费单元。

2.3.2 计费矩阵

请点击菜单"Services / Calling card / Fee matrix"配置如何计费。

计费矩阵

"拨号计划"和"被叫号码前缀"共同索引一条唯一的记录。

配置项 描述

Dial plan

字符串

从基本呼叫流程中获取的拨号计划。缺省情况下,它用于”被叫号码分析“流程中以获取最终的呼叫路由。

Called number prefix

字符串

被叫号码前缀。

可以设置为"*",这意味着对所有被叫号码。

不同拨号计划加上相同的被叫号码前缀可以分配不同的计费费率。

Prepaid rate ID

整数

预付费费率ID。

在章节"2.3.1 预付费费率"中配置。

例如:

我们在”费率矩阵“中配置以下数据:

拨号计划 被叫号码前缀 预付费费率ID 描述

vip

10

1

vip

1

2

vip

*

3

default

10

4

任何预付费用户拨打”10“前缀的被叫号码,将采用费率ID"4"。

default

1

5

任何预付费用户拨打”1“前缀的被叫号码,将采用费率ID"5".

default

*

6

预付费用户拨打任何被叫号码,将采用费率ID"6"。

common

4

7

我们可以看到不同场景将采用不同的费率ID:

  • 用户"100"的拨号计划是”vip“,拨打被叫"101", 采用费率ID "1"计费。
  • 用户"100"的拨号计划是”vip“,拨打被叫"110", 采用费率ID "2"计费。
  • 用户"100"的拨号计划是”vip“,拨打被叫"200", 采用费率ID "3"计费。
  • 用户"200"的拨号计划是”common“,拨打被叫"101", 采用费率ID"4"计费。
  • 用户"200"的拨号计划是”common“,拨打被叫"110", 采用费率ID"5"计费。
  • 用户"200"的拨号计划是”common“,拨打被叫"200", 采用费率ID"6"计费。
  • 用户"200"的拨号计划是”common“,拨打被叫"400", 采用费率ID"7"计费。
2.4 卡信息

一张卡通常包含以下信息: 卡号、密码以及余额。

请点击菜单"Services / Calling card / Card information"进行配置。

卡信息对话框
配置项 描述

Card

字符串

卡号

Password

字符串

卡密码

这项可以为空。如果是空,业务逻辑不会再提示用户输入密码。

Balance

整数

余额

Change dial plan

yes or no

是否改变基本呼叫的拨号计划。

一旦拨号计划改变,MSS将采用新拨号计划搜索计费矩阵。另一方面,MSS也会采用新的拨号计划进行被叫号码分析,分析最终的呼叫路由。

New dial plan

字符串

新拨号计划。替换旧拨号计划,一旦改变,最终呼叫路由也可能会被影响。

3 高级配置
3.1 语音文件

在预付费卡业务流程中,需要播放几个语音提示。这些语音提示缺省为英语提示音。所有的语音文件都保存在“mss_ann"子目录下,我们可以根据自己的需要替换这些语音文件。

请参考"如何录制自己的语音"文档了解进一步细节。

3.2 CDR

MSS会在MySQL数据库中自动创建表”tbl_callingcard_cdr“,预付费卡的CDR就保存在这张表中。高级用户可以直接访问或者查询这张表的记录。