跳到主要内容

服务管理

服务管理界面提供全面的工具,用于查看、过滤和管理您组织中的客户服务。

相关文档: 添加服务服务使用情况修改服务产品与服务

访问服务列表

导航到:

或直接:

这将显示所有服务,并具有过滤、排序和批量管理功能。

服务列表概述

服务列表以表格形式显示服务,包含:

服务列表视图{.align-center width="800px"}

列:

  • 服务 ID - 唯一标识符
  • 服务名称 - 描述性名称(例如,“移动 - +44 7700 900123”)
  • 客户名称 - 相关客户(可点击链接)
  • 服务类型 - 移动、IPTV、互联网、VoIP
  • 状态 - 活动、非活动、暂停
  • 开始日期 - 服务开始时间
  • 结束日期 - 服务到期/结束时间
  • 月费用 - 零售价格
  • 操作 - 查看、编辑、附加组���、使用情况、删除

过滤服务

状态选项卡

使用选项卡栏快速按状态过滤服务:

  • 所有结果 - 显示所有服务,无论状态如何
  • 活动 - 当前活动的服务(默认视图)
  • 非活动 - 已取消或已过期的服务
  • 暂停 - 暂时禁用的服务(因未付款、欺诈等)

点击选项卡会立即更新列表。活动选项卡会被高亮显示。

服务类型过滤器

按服务类型过滤:

选择一个或多个类型,仅显示匹配的服务。

用例:

  • 移动 - 查看所有移动 SIM 服务
  • 互联网 - 显示光纤、DSL 和固定无线
  • IPTV - 显示电视订阅服务
  • VoIP - 列出语音互联网服务

客户过滤器

按客户搜索和过滤:

开始输入客户名称以查看匹配结果:

选择一个客户以仅显示他们的服务。

用例: 快速查看特定客户的所有服务。

搜索

在所有服务字段中进行全局搜索:

搜索:

  • 服务名称
  • 服务 ID
  • 客户名称
  • 电话号码(针对移动服务)
  • 服务 UUID

示例: 搜索“0770”以查找所有包含“0770”的电话号码的服务。

排序服务

点击任何列标题按该字段排序:

可排序列:

  • 服��� ID(默认:最新优先)
  • 服务名称(按字母顺序)
  • 客户名称(按字母顺序)
  • 服务类型(按字母顺序)
  • 开始日期(按时间顺序)
  • 结束日期(按时间顺序)
  • 月费用(数字)

排序方向:

  • 点击一次:升序(A-Z,最旧-最新,最低-最高)
  • 点击两次:降序(Z-A,最新-最旧,最高-最低)
  • 活动排序列显示 ▲ 或 ▼ 指示符

排序下拉菜单:

右上角的下拉菜单提供快速排序预设:

查看服务详情

点击任何服务名称以打开详细服务视图。

服务详情选项卡:

  1. 概述 - 服务摘要、状态、日期、定价
  2. 库存 - 分配的设备(SIM 卡、调制解调器等)
  3. 交易 - 费用、信用、付款
  4. 使用情况 - 数据/语音/SMS 使用统计
  5. 附加组件 - 活动和可用的附加组件
  6. 活动日志 - 更改历史

快速操作

从服务列表中,点击操作菜单(⋮)进行快速操作:

  • 查看 - 打开服务详情
  • 编辑 - 修改服务参数
  • 附加组件 - 浏览并添加服务增强功能
  • 使用情况 - 查看当前使用情况和余额
  • 删除 - 取消/移除服务

批量操作

使用复选框选择多个服务以执行批量操作。

选择服务

单个选择:

点击您想选择的每个服务旁边的复选框。

全选:

点击表头中的复选框以选择所有可见服务。

☑ 服务 1 ☑ 服务 2 ☑ 服务 3

选择计数器:

界面显示已选择的服务数量:

批量操作

一旦选择了服务,批量操作按钮会出现:

删除多个服务:

  1. 选择要删除的服务
  2. 点击 “删除所选” 按钮
  3. 在模态框中确认删除

::: warning ::: title 警告 :::

批量删除是永久性的,将会:

  • 取消所有选定的服务
  • 将库存标记为未分配
  • 停止所有定期收费
  • 创建活动日志条目 :::

用例:

  • 清理测试服务
  • 取消已关闭客户账户的服务
  • 删除重复或错误的条目

最佳实践: 在进行批量操作之前使用过滤器缩小列表,以避免意外删除。

服务状态管理

状态类型

服务可以有三种状态:

活动

  • 服务正常运行
  • 收费适用
  • 客户可以使用服务
  • 显示为绿色徽章

非活动

  • 服务已被取消或过期
  • 不收取费用
  • 客户无法使用服务
  • 显示为灰色徽章
  • 库存标记为待退回/翻新

暂停

  • 服务暂时禁用
  • 可能会收费或可能不收费(可配置)
  • 客户无法使用服务
  • 显示为橙色/黄色徽章
  • 常见原因:未付款、欺诈调查、客户请求

更改服务状态

要更改服务的状态:

  1. 打开服务详情
  2. 点击 “编辑” 按钮
  3. 更改 “服务状态” 下拉菜单
  4. 点击 “保存”

发生的事情:

  • 活动 → 非活动: 触发去配置剧本(如果已配置)
  • 活动 → 暂停: 在 OCS/网络中禁用服务,但保留记录
  • 暂停 → 活动: 重新启用服务,恢复计费
  • 非活动 → 活动: 可能触发重新配置(请谨慎使用)

服务使用情况视图

点击操作菜单中的 “使用情况” 以打开使用情况模态框。

服务使用模态框{.align-center width="800px"}

显示的信息:

  • 余额 - 剩余信用或预付值
  • 数据使用 - 使用与分配(进度条)
  • 语音使用 - 使用的分钟数与计划允许
  • SMS 使用 - 发送的消息与允许
  • 到期日期 - 当前余额/计划到期时间

操作:

  • 充值 - 添加信用或数据(针对预付服务)
  • 查看详情 - 查看详细的使用情况细分
  • 导出 - 下载��用报告(如果可用)

即将到来的自动续订

即将到来的自动续订视图提供一个集中界面,用于监控和管理您组织中所有计划的服务续订。

访问自动续订

导航到:

或直接:

这将显示所有计划自动续订的服务,按下一个续订日期排序。

自动续订概述

自动续订列表以表格形式显示计划续订,包含:

列:

  • 客户 - 客户名称(可点击链接到客户概述)
  • 服务 - 服务名称(可点击链接到客户概述)
  • 产品 - 正在续订的产品/计划名称
  • 费用 - 续订费用(来自产品零售价格)
  • 续订时间 - 下一个续订的日期和时间,带有人类可读格式
  • 状态 - 服务状态(活动、暂停等)
  • 操作 - 立即续订或移除自动续订

示例显示:

即将到来的自动续订仪表板

自动续订的工作原理

当创建或修改服务时,在 CGRateS(计费系统)中安排自动续订。系统:

  1. 安排操作 - 在 CGRateS 中创建一个包含续订日期的 ActionPlan
  2. 监控余额 - 在续订前检查客户是否有足够的余额
  3. 执行续订 - 在预定日期,自动续订服务
  4. 更新记录 - 创��交易,更新服务日期,并记录活动

数据源:

即将到来的自动续订视图直接查询 CGRateS,使用 ApierV1.GetScheduledActions API,并用来自 CRM 数据库的客户和服务信息丰富数据。

立即续订

要在预定日期之前手动触发续订:

  1. 点击服务的 🔄 (立即续订) 按钮

  2. 在确认模态框中查看续订详情:

    客户:Acme Corp 服务:FixedWireless_75628fa5 产品:家庭互联网 Mega 费用:$89.99

    下一个计划续订:2025年11月11日 上午10:45

    [取消] [确认续订]

  3. 点击 “确认续订” 以立即处理

  4. 创建并执行一个配置作业

  5. 在配置状态模态框中监控进度

发生的事情:

  • 服务将获得产品的配额
  • 在 CGRateS 中更新余额
  • 创建交易记录
  • 服务结束日期延长
  • 创建活动日志条目

用例:

  • 客户请求提前续订
  • 通过重置配额解决服务问题
  • 测试续订流程
  • 客户希望在计划续订之前使用服务

移除自动续订

要取消服务的自动续订:

  1. 点击服务的 🗑️ (移除自动续订) 按钮

  2. 在模态框中确认删除:

    这将移除以下的计划自动续订:

    客户:Acme Corp ��务:FixedWireless_75628fa5 下一个续订: 2025年11月11日 上午10:45

    服务将不会自动续订。您需要手动续订,否则服务将在结束日期到期。

    [取消] [移除自动续订]

  3. 点击 “移除自动续订” 以确认

  4. ActionPlan 从 CGRateS 中移除

  5. 服务将自然到期,除非手动续订

发生的事情:

  • ActionPlan 从 CGRateS 中删除
  • 服务状态保持不变
  • 服务将在当前结束日期到期
  • 客户必须手动续订,否则服务将停止

用例:

  • 客户正在取消服务
  • 切换到手动续订流程
  • 服务计划正在更改
  • 客户请求停止自动收费

::: warning ::: title 警告 :::

移除自动续订意味着服务将到期,除非手动续订。客户将不会收到自动服务续订。 :::

理解显示内容

客户列:

  • 显示客户名称作为可点击链接
  • 链接到客户概述页面
  • 如果服务未链接到客户(孤立服务),则显示“N/A”

服务列:

  • 显示服务名称/UUID
  • 链接到客户概述页面
  • 如果名称未设置,则显示服务 UUID
  • 如果服务在数据库中找不到,则显示“N/A”

产品列:

  • 来自 CGRateS ActionPlan 的产品名称
  • 从计划操作元数据中提取
  • 即使服务未找到,也始终显示产品名称

费用列:

  • 来自 CRM 中产品表的零售费用
  • 续订时将收取的金额
  • 如果产品在数据库中找不到,则显示“N/A”

续订时间列:

  • 下一个续订的确切日期和时间
  • 人类可读的相对时间(例如,“3小时后”,“2天后”)
  • 考虑时区(使用 CGRateS 服务器时区)

状态列:

  • 来自 CRM 数据库的当前服务状态
  • 活动(绿色) - 服务正常运行
  • 暂停(橙色) - 服务暂时禁用
  • 未知(灰色) - 数据库中找不到服务或状态未设置

故障排除

服务显示“N/A”作为客户/服务

  • 原因: CGRateS 中的服务 UUID 与 CRM 数据库中的 service_uuid 不匹配
  • 修复:
    • 验证服务是否存在于数据库中
    • 检查 service_uuid 格式是否匹配:ServiceType_UUID(例如,FixedWireless_75628fa5
    • 服务可能已从 CRM 中删除,但仍在 CGRateS 中计划

费用显示“N/A”

  • 原因: CGRateS 中的产品 ID 在 CRM 产品表中不存在
  • 修复:
    • 验证产品是否存在于数据库中
    • 检查 ActionPlan 中的 product_id 是否与 CRM 中的产品匹配
    • 产品可能已被删除

“续订时间”未显示日期

  • 原因: CGRateS 响应中未包含 NextRunTime
  • 修复:
    • 检查 CGRateS ActionPlan 配置
    • 验证 ActionTiming 是否正确配置
    • 检查 CGRateS 日志以获取错误

“立即续订”失败

  • 原因: 各种配置错误
  • 故障排除:
    • 检查配置状态模态框以获取错误详细信息
    • 验证 Ansible 剧本是否正确配置
    • 检查 OCS 连接性
    • 审查配置日志

自动续订已移除但仍显示

  • 原因: 缓存延迟或 CGRateS 同步问题
  • 修复:
    • 点击 “刷新” 按钮以重新加载数据
    • 验证 ActionPlan 是否已在 CGRateS 中实际移除
    • 检查 CGRateS API 连接性

分页

服务以分页形式显示以提高性能:

◄ 上一页 1 [2] 3 4 5 下一页 ►

每页项目数:[10 ▼]

: - 10

  • 25
  • 50
  • 100

控件:

  • 上一页/下一页 - 导航页面
  • 页码 - 跳转到特定页面
  • 每页项目数 - 调整每页显示多少服务

性能提示: 使用过滤器减少总结果,而不是增加每页项目数。

服务徽章和指示符

视觉指示符有助于快速识别服务状态:

状态徽章:

自动续订指示符:

启用自动续订的服务显示:

即将到期:

在 7 天内到期的服务显示:

逾期:

有未付款余额的服务显示:

CGRateS 集成(高级)

对于与 CGRateS(计费和计费引擎)集成的服务,管理员可以直接从服务视图管理高级配置。这包括属性、过滤器和查看活动会话。

::: note ::: title 注意 :::

CGRateS 集成功能需要 cgrates_api_access 权限。默认情况下,只有管理员可以访问这些功能。请参见 rbac 进行权限配置。 :::

自动配置与手动管理

在正常操作中,CGRateS 属性和过滤器在初始服务配置工作流程中由 Ansible 自动配置。当创建新服务时,配置剧本:

  • 在 CGRateS 中创建服务账户
  • 配置属性(IMSI、MSISDN、账户标识符、速度配置文件等)
  • 设置过滤器以确保正确计费
  • 应用适当的计费计划

但是,有些情况下您可能需要在服务配置后修改这些配置:

  • 速度配置文件更改 - 客户升级/降级带宽(MaxBitrateDL/UL)
  • 策略调整 - 更改 QoS 策略或流量整形规则(PcefPolicyName)
  • 电话号码更改 - 更新 MSISDN 或其他标识符
  • 故障排除 - 修复配置错误或测试���同设置
  • 特殊配置 - 应用不属于标准配置的自定义属性

手动管理界面允许管理员直接进行这些更改,而无需重新运行整个配置工作流程。这对于以下情况特别有用:

  • 快速更改 - 修改单个属性而无需等待配置
  • 测试 - 尝试不同的配置
  • 客户支持 - 在支持电话中即时解决问题
  • 自定义配置 - 应用未覆盖在模板中的服务特定设置

::: warning ::: title 警告 :::

手动更改 CGRateS 配置会绕过标准配置工作流程。确保您理解更改的影响,因为不正确的配置可能会影响计费和服务功能。所有更改都记录在客户活动记录中以供审计。 :::

访问 CGRateS 功能

在查看或编辑已在 CGRateS 中配置的服务时,服务表单底部会出现三个可折叠部分:

  • CGRateS 属性 - 配置服务特定属性
  • CGRateS 过滤器 - 定义服务的过滤规则
  • 活动会话 - 查看实时活动会话

每个部分默认是折叠的,以保持界面整洁。点击部分标题以展开并查看/编辑配置。

CGRateS 部分折叠视图{.align-center width="800px"}

折叠部分显示计数徽章,指示该服务存在多少个属性、过滤器或活动会话��

CGRateS 属性

属性允许您定义应用于此特定服务的计费事件的自定义字段和转换。

属性 ID 格式: ATTR_ACCOUNT_{service_uuid}

示例: 对于 UUID 为 Mobile_SIM_c2880638 的服务,属性配置文件 ID 为 ATTR_ACCOUNT_Mobile_SIM_c2880638

管理属性:

  1. 打开服务编辑视图
  2. 展开 “CGRateS 属性” 部分
  3. 点击 “编辑属性” 按钮
  4. 根据需要添加/修改/删除属性
  5. 点击 “保存属性”

CGRateS 属性编辑视图{.align-center width="800px"}

属性字段:

  • 路径 - 要修改的字段(例如,*req.Account*req.IMSI
  • 类型 - 值的设置方式:
    • *constant - 设置固定值
    • *variable - 使用 RSRParser 从事件字段捕获值
    • *composed - 附加值而不是覆盖
    • *usage_difference - 计算两个字段之间的持续时间
    • *sum - 求和多个值
    • *value_exponent - 计算字段的指数
  • 规则 - 要应用的值(每个属性可以有多个规则)

示例属性配置:

{
"Path": "*req.Account",
"Type": "*constant",
"Value": [{"Rules": "Mobile_SIM_474a380a"}]
}

常见用例:

  • 设置计费��账户标识符
  • 将 IMSI/MSISDN 映射到服务
  • 配置带宽限制(MaxBitrateDL/UL)
  • 设置策略名称(PcefPolicyName)
  • 转换或丰富计费事件

活动日志:

所有属性修改都会记录到客户的活动记录中,详细说明所做的更改。

CGRateS 过滤器

过滤器定义匹配规则,以确定在计费过程中何时应用该服务的配置。

过滤器 ID 格式: FLTR_ACCOUNT_{service_uuid}

示例: 对于 UUID 为 Mobile_SIM_c2880638 的服务,过滤器 ID 为 FLTR_ACCOUNT_Mobile_SIM_c2880638

管理过滤器:

  1. 打开服务编辑视图
  2. 展开 “CGRateS 过滤器” 部分
  3. 点击 “编辑过滤器” 按钮
  4. 添加/修改/删除过滤规则
  5. 点击 “保存过滤器”

过滤规则字段:

  • 元素 - 要匹配的字段(例如,~*req.Account~*req.Destination
  • 类型 - 匹配类型:
    • *string - 精确字符串匹配
    • *prefix - 以指定值开头
    • *suffix - 以指定值结尾
    • *empty - 字段为空
    • *exists - 字段存在
    • *notexists - 字段不存在
    • *timings - 匹配时间/日期模式
    • *destinations - 匹配目的地模式
    • *rsr - RSR 字段匹配
    • *gt / *gte / *lt / *lte - 数值比较
  • - 要匹配的值(每个规则可以有多个值)

示例过滤器配置:

{
"Element": "~*req.Account",
"Type": "*string",
"Values": ["Mobile_SIM_474a380a"]
}

常见用例:

  • 确保属性仅适用于特定账户
  • 按目的地过滤(国内与国际)
  • 基于时间的过滤(高峰与非高峰)
  • 按服务类型或类别过滤

活动日志:

所有过滤器修改都会记录到客户的活动记录中。

活动会话

查看此服务的实时活动会话。这显示正在进行的通话、数据会话或其他当前进行的计费事件。

查看活动会话:

  1. 打开服务编辑视图
  2. 展开 “活动会话” 部分
  3. 查看活动会话列表
  4. 点击任何会话上的 “查看详情” 以查看完整会话数据
  5. 点击 “刷新” 以重新加载会话列表

CGRateS 活动会话视图{.align-center width="800px"}

显示的会话信息:

  • 设置时间 - 会话开始时间
  • 使用情况 - 当前会话持续时间(以秒为单位)
  • 目的地 - 被呼叫的号码或目的地

会话详情模态框:

点击“查看详情”会打开一个模态框,显示:

  • ��本信息:
    • CGRID(会话 ID)
    • 账户(服务 UUID)
    • 设置时间
    • 当前使用情况/持续时间
    • 目的地
    • 类别
  • 完整会话数据:
    • 会话的完整 JSON 表示
    • 所有 CGRateS 会话字段
    • 实时会话状态
    • 可滚动的 JSON 查看器以供检查

CGRateS 会话详情模态框{.align-center width="800px"}

用例:

  • 监控活动通话或数据会话
  • 故障排除计费问题
  • 验证会话是否正确计费
  • 检查会话属性和数值
  • 审计活动服务使用情况

刷新率:

会话在您展开部分时按需获取。点击“刷新”以获取最新的会话数据。

::: note ::: title 注意 :::

仅显示与此服务账户(服务 UUID)匹配的会话。过滤器 *string:~*req.Account:{service_uuid} 会自动应用。 :::

CGRateS API 代理

所有 CGRateS 操作(属性、过滤器、会话)使用 OmniCRM API 代理端点:

端点: POST /crm/ocs/proxy

必需字段:

  • method - CGRateS API 方法(例如,APIerSv1.GetAttributeProfile
  • params - 方法的参数数组
  • customer_id - 客户 ID(用于活动日志)
  • service_id - 服务 ID(用于活动日志)

可选字段:

  • tenant - CGRateS 租户(默认为配置值)

示例请求:

{
"method": "APIerSv1.GetAttributeProfile",
"params": [{"ID": "ATTR_ACCOUNT_Mobile_SIM_c2880638"}],
"customer_id": 123,
"service_id": 456
}

租户配置:

租户会自动从 OmniCRM 配置文件(crm_config.yaml)中的 ocs.ocsTenant 设置。这确保所有 CGRateS 操作使用正确的租户,而无需在前端硬编码值。

权限要求:

需要 cgrates_api_access 权限。此权限默认授予 admin 角色。

活动日志:

所有非 GET 的 CGRateS API 操作会自动记录到客户的活动记录中,包括:

  • 调用的 API 方法
  • 使用的租户
  • 发送的完整参数
  • 执行操作的服务 ID
  • 执行操作的用户
  • 时间戳

这创建了所有 CGRateS 配置更改的完整审计跟踪。

故障排除 CGRateS 集成

访问 CGRateS 功能时出现“权限被拒绝”

  • 原因: 用户缺少 cgrates_api_access 权限
  • 修复: 将权限授予用户的角色(通常是管理员专用功能)

属性或过滤器未加载

  • 原因: CGRateS 连接问题或配置文件不存在
  • 修复:
    • 检查配置中的 CGRateS 服务器连接性
    • 验证��户配置是否正确
    • 检查浏览器控制台以获取 API 错误
    • 配置文件可能尚不存在(将显示空表单)

更改未保存

  • 原因: 验证错误或 CGRateS API 错误
  • 修复:
    • 检查必填字段(路径、类型、元素)
    • 验证 JSON 格式是否正确
    • 检查活动日志以获取错误详细信息
    • 审查 CGRateS 日志

没有显示活动会话

  • 原因: 此服务当前没有活动会话
  • 修复:
    • 如果服务未在使用中,这很正常
    • 尝试在启动会话(通话、数据等)后刷新
    • 验证服务 UUID 是否与 CGRateS 中的账户匹配

会话详情未实时更新

  • 原因: 会话数据是按需获取的,而不是实时的
  • 修复: 点击“刷新”按钮以获取最新的会话数据

活动日志未显示 CGRateS 更改

  • 原因: 仅记录非 GET 操作(读取操作不记录)
  • 修复: 这是设计使然 - 仅写入/修改会创建活动条目

常见工作流程

工作流程 1:查找客户的服务

  1. 点击 服务类型过滤器(可选)
  2. 点击 客户过滤器
  3. 输入客户名称
  4. 从下拉菜单中选择客户
  5. 查看客户的服务

工作流程 2:识别即将到期的服务

  1. 点击 “活动” 选项卡
  2. “结束日期” 排序(升序)
  3. 即将到期的服务最先出现
  4. 联系客户进行续订

工作流程 3:清理测试服务

  1. 在搜索框中搜索“测试”
  2. 查看结果以确认它们是测试数据
  3. 选择所有测试服务
  4. 点击 “删除所选”
  5. 确认删除

工作流程 4:暂停未付款客户

  1. 导航到客户账户
  2. 查看服务选项卡
  3. 选择所有活动服务
  4. 将状态更改为“暂停”
  5. 保存更改

工作流程 5:查看移动服务使用情况

  1. 服务类型:移动 过滤
  2. 点击服务名称以打开详情
  3. 点击 “使用情况” 选项卡
  4. 查看数据/语音/SMS 消耗
  5. 确定重度用户或超额使用

故障排除

服务未出现在列表中

  • 原因: 状态过滤器隐藏结果
  • 修复: 点击“所有结果”选项卡以显示所有状态

无法通过搜索找到服务

  • 原因: 搜索词与存储数据不匹配
  • 修复:
    • 尝试部分搜索(例如,“0770”而不是完整号码)
    • 使用客户过滤器
    • 检查拼写错误

批量删除按钮被禁用

  • 原因: 未选择服务
  • 修复: 检查您想删除的服��旁边的复选框

排序无效

  • 原因: 列不可排序
  • 修复: 仅带有 ▲▼ 图标的列可以排序

页面加载缓慢

  • 原因: 显示的服务过多
  • 修复:
    • 应用过滤器以减少结果集
    • 减少每页项目数
    • 使用搜索缩小结果

相关文档

  • csa_add_service - 添加新服务
  • csa_modify - 修改服务和添加附加组件
  • concepts_products_and_services - 产品和服务概念
  • basics_customers - 客户管理