IMS 会议服务器 - 用户指南
概述
IMS 会议服务器提供符合 3GPP IMS 会议框架 (RFC 4579, RFC 4575, TS 24.147) 的多方会议能力。它使用户能够通过 IMS 应用服务器创建和管理音频/视频会议。
架构
IMS 会议服务器是 OmniTAS 的一个集成组件,提供:
- 会议工厂 URI:用于创建新会议的 SIP URI
- 会议焦点:管理会议状态和参与者
- 会议策略控制:强制执行参与者角色和权限
- 媒体混合:处理会议参与者的音频/视频混合
IMS 会议工厂架构
TAS 实现了 TS 24.147 和 RFC 4579 中定义的 3GPP 会议工厂模式:
会议创建流程 (RFC 4579 工厂模式)
该图显示用户如何通过会议工厂 URI 创建新会议:
参与者加入流程
该图显示其他参与者如何加入现有会议:
会议事件包 (RFC 4575)
会议服务器向所有参与者发送会议状态通知:
会议管理操作
通过 Web UI 或 OmniTAS 控制台执行的操作:
访问
Web 界面
导航到 /conference 或点击导航菜单中的 "会议" 以访问会议管理界面。
OmniTAS 控制台
使用 ims_conference 命令从 OmniTAS 控制台访问会议服务器。
特性
会议管理界面
Web 界面提供对活动 IMS 会议的实时监控和管理:
统计仪表板
显示高层次的会议服务器统计信息:
- 活动会议:进行中的会议总数
- 总参与者:所有会议的参与者总数
- 视频会议:启用视频的会议数量
- 锁定会议:锁定新参与者的会议数量
仪表板还显示服务器配置:
- 域:会议服务器域 (例如,conference.ims.local)
- 工厂 URI:用于会议创建请求的 SIP URI
- MNC/MCC:移动网络代码和国家代码
- 接入网络:网络类型 (例如,3GPP-E-UTRAN-FDD)
- 默认最大参与者:每个会议的最大参与者数
- 默认启用视频:是否默认启用视频
- 录音启用:会议录音是否可用
会议列表
显示所有活动会议:
- 会议 ID:会议的唯一标识符
- URI:会议的 SIP URI
- 参与者:当前参与者数量
- 创建者:会议创建者的电话号码/URI
点击任何会议以展开并查看详细信息。
会议详情
展开会议显示:
会议信息:
- ID 和 URI
- 房间名称
- 创建者身份
- 会议状态
- 参与者计数(当前/最大和最小)
- 视频状态(启用/禁用)
- 锁定状态(锁定/解锁)
- 录音状态(活动/非活动)
参与者列表:
- 每个参与者的 SIP URI
- 会话 UUID
- 参与者状态
- 角色(0 = 参与者,1 = 主持人)
- 视频状态
会议操作:
- 锁定/解锁会议
- 启用/禁用视频
- (通过 CLI 提供额外操作)
自动刷新
界面每 5 秒自动刷新一次,以显示实时会议状态。您可以切换自动刷新开/关或使用 "刷新" 按钮手动刷新。
OmniTAS 控��台命令
所有会议管理操作都可以通过 OmniTAS 控制台中的 ims_conference 命令进行。
命令语法
ims_conference <command> [arguments]
可用命令
list
列出所有活动的 IMS 会议。
omnitas@server> ims_conference list
IMS 会议:
会议 ID 会议 URI 参与者 创建者
================================================================================
1-1765699908 sip:conf-1-1765699908@conference.ims.local 3 19078720151
总计:1 个会议
info
显示特定会议的详细信息。
语法: ims_conference info <conf_id>
重要: 使用会议 ID(例如,1-1765699908),而不是带前缀的会议名称。
omnitas@server> ims_conference info 1-1765699908
会议信息:
ID: 1-1765699908
URI: sip:conf-1-1765699908@conference.ims.local
房间: ims-conf-1-1765699908
创建者: 19078720151
状态: 1
参与者: 3/10 (最小: 2)
视频: 启用
锁定: 否
录音: 非活动
参与者:
- sip:1235;phone-context=ims.mnc380.mcc313.3gppnetwork.org@ims.mnc380.mcc313.3gppnetwork.org;user=phone;method=INVITE (342d50e0-9f67-4cc5-9179-4acae6f65f34)
状态: 3, 角色: 0, 视频: 开
- sip:1235;phone-context=ims.mnc380.mcc313.3gppnetwork.org@ims.mnc380.mcc313.3gppnetwork.org;user=phone;method=INVITE (bd98ca37-64fd-4618-b2db-aaba108c73e2)
状态: 3, 角色: 0, 视频: 开
- 19078720151 (6270da85-9b94-4285-8130-8769b11d0aa2)
状态: 3, 角色: 1, 视频: 开
stats
显示整体会议服务器统计信息和配置。
omnitas@server> ims_conference stats
IMS 会议服务器统计信息:
================================
活动会议:1
总参与者:3
视频会议:1
锁定会议:0
配置:
域:conference.ims.local
工厂 URI:sip:conference-factory@conf-factory.ims.mnc380.mcc313.3gppnetwork.org
MNC/MCC:380/313
接入网络:3GPP-E-UTRAN-FDD
默认最大参与者:10
允许匿名:是
默认启用视频:是
录音启用:是
公告:加入=开,离开=开,计数=开
create
创建一个新会议。
语法: ims_conference create <creator_uri>
omnitas@server> ims_conference create sip:19078720151@ims.local
会议已创建:1-1765699909
会议 URI:sip:conf-1-1765699909@conference.ims.local
destroy
终止会议并断开所有参与者。
语法: ims_conference destroy <conf_id>
omnitas@server> ims_conference destroy 1-1765699908
会议 1-1765699908 已销毁
add
将参与者添加到现有会议。
��法: ims_conference add <conf_id> <sip_uri>
omnitas@server> ims_conference add 1-1765699908 sip:19078720152@ims.local
将参与者 sip:19078720152@ims.local 添加到会议 1-1765699908
remove
从会议中移除参与者。
语法: ims_conference remove <conf_id> <uuid>
注意:使用 info 命令输出中的参与者会话 UUID。
omnitas@server> ims_conference remove 1-1765699908 342d50e0-9f67-4cc5-9179-4acae6f65f34
已从会议 1-1765699908 中移除参与者
lock
锁定会议以防止新参与者加入。
语法: ims_conference lock <conf_id>
omnitas@server> ims_conference lock 1-1765699908
会议 1-1765699908 已锁定
unlock
解锁会议以允许新参与者。
语法: ims_conference unlock <conf_id>
omnitas@server> ims_conference unlock 1-1765699908
会议 1-1765699908 已解锁
video
控制会议的视频。
语法: ims_conference video <conf_id> on|off
omnitas@server> ims_conference video 1-1765699908 on
会议 1-1765699908 的视频已启用
omnitas@server> ims_conference video 1-1765699908 off
会议 1-1765699908 的视频已禁用
record
控制会议录音。
语法: ims_conference record <conf_id> start|stop
omnitas@server> ims_conference record 1-1765699908 start
会议 1-1765699908 的录音已开始
omnitas@server> ims_conference record 1-1765699908 stop
会议 1-1765699908 的录音已停止
announce
向所有会议参与者播放公告。
语法: ims_conference announce <conf_id> <message>
omnitas@server> ims_conference announce 1-1765699908 "本次会议将在 5 分钟内结束"
公告已发送至会议 1-1765699908
subscribers
列出当前在会议中的所有订阅者(info 的替代视图)。
语法: ims_conference subscribers <conf_id>
omnitas@server> ims_conference subscribers 1-1765699908
会议 1-1765699908 中的订阅者:
- sip:1235;phone-context=ims.mnc380.mcc313.3gppnetwork.org@ims.mnc380.mcc313.3gppnetwork.org;user=phone;method=INVITE
- 19078720151
会议状态
会议和参与者具有数字状态值:
会议状态
- 0:初始化
- 1:活动
- 2:终止中
- 3:已终止
参与者状态
- 0:已邀请
- 1:拨号中
- 2:提醒中
- 3:已连接
- 4:断开连接中
- 5:已断开连接
参与者角色
- 0:普通参与者
- 1:主持人/创建者
用例
监控活动会议
场景: 操作团队需要查看有多少会议处于活动状���
步骤:
- 打开会议管理界面 (
/conference) - 查看统计仪表板以获取高层次指标
- 审查会议列表以获取特定会议
- 使用自动刷新实时监控
CLI 替代方案:
omnitas@server> ims_conference stats
omnitas@server> ims_conference list
排查会议问题
场景: 用户报告他们无法加入会议
步骤:
- 从用户那里获取会议 ID
- 运行
ims_conference info <conf_id>检查会议状态 - 检查会议是否已锁定(锁定:是)
- 检查当前参与者计数与最大值
- 审查参与者列表以查看任何连接问题
- 检查 OmniTAS 日志以获取 SIP 邀请失败的信息
常见问题:
- 会议已锁定:
ims_conference unlock <conf_id> - 达到最大参与者:检查 default_max_participants 配置
- 网络问题:检查 SIP 连接性和防火墙规则
管理会议带宽
场景: 在网络拥堵期间需要减少带宽使用
步骤:
- 确定启用视频的会议
- 对于非关键会议,禁用视频:
ims_conference video <conf_id> off - 监控带宽使用情况
- 拥堵消失后重新启用视频
处理干扰参与者
场景: 参与者在会议中干扰
步骤:
- 获取会议 ID 和参与者的会话 UUID
- 移除参与��:
ims_conference remove <conf_id> <participant_uuid> - 锁定会议以防止他们重新加入:
ims_conference lock <conf_id> - 如有需要,手动添加合法参与者:
ims_conference add <conf_id> <sip_uri>
录制重要会议
场景: 需要录制会议以满足合规或文档要求
步骤:
- 确定会议 ID
- 开始录音:
ims_conference record <conf_id> start - 监控录音是否处于活动状态(在
info输出中显示录音:活动) - 完成后停止录音:
ims_conference record <conf_id> stop - 录音文件存储在 OmniTAS 录音目录中
紧急终止会议
场景: 需要立即终止会议
步骤:
- 可选择向参与者公告:
ims_conference announce <conf_id> "本次会议正在终止" - 等待几秒钟以播放公告
- 销毁会议:
ims_conference destroy <conf_id> - 所有参与者将立即断开连接
与 IMS 网络的集成
会议创建流程
- 用户向会议工厂 URI 发送 SIP INVITE
- IMS 应用服务器接收请求
- 会议服务器创建新的会议实例
- 生成会议 ID 和 URI
- 根据创建者初始化会议策略
- 将创建者作为第一个参与者添加,角色为主持人
- 会议 URI 返回给创建者
- 其他参与者现在可以通过会议 URI 加入
参与者角色
主持人 (角色:1)
- 可以锁定/解锁会议
- 可以移除其他参与者
- 可以控制视频设置
- 接收会议通知
参与者 (角色:0)
- 可以加入/离开会议
- 可以发言和倾听
- 可以启用/禁用自己的视频
- 受会议政策的约束
3GPP 合规性
IMS 会议服务器实现了关键的 3GPP 规范:
- TS 24.147:使用 IP 多媒体 (IM) 核心网络 (CN) 子系统的会议
- RFC 4579:会话发起协议 (SIP) 呼叫控制 - 用户代理的会议
- RFC 4575:会话发起协议 (SIP) 会议状态的事件包
- RFC 5239:集中会议的框架
网络元素集成
- P-CSCF:处理来自 UE 的初始 SIP 信令
- S-CSCF:将会议请求路由到应用服务器
- OmniTAS:托管会议服务器功能并提供媒体混合
- HSS:提供用户身份验证和授权
配置
会议服务器配置通过 OmniTAS 配置文件进行管理:
关键参数:
domain:会议服务器域factory_uri:用于会议创建的 SIP URImnc_mcc:移动网络标识符access_network:网络接入类型default_max_participants:每个会议的默认最大参与者allow_anonymous:是否允许匿名参与者video_by_default:新会议的默认视频设置recording_enabled:录音功能是否可用announce_join:参与者加入时播放音调announce_leave:参与者离开时播放音调announce_count:公告参与者计数
最佳实践
容量规划
- 监控活动会议数量和参与者数量
- 计划高峰使用(例如,工作时间)
- 为媒体混合分配足够的 CPU/内存
- 在带宽管理中考虑视频与仅音频
安全性
- 确保会议 URI 不易猜测
- 对于私密会议使用会议锁定
- 监控未授权访问尝试
- 实施最大参与者限制
- 审查会议录音访问控制
操作监控
- 设置会议服务器错误的警报
- 监控会议创建/销毁率
- 跟踪平均会议持续时间
- 审查参与者连接失败
- 监控媒体质量指标
有关详细指标文档: 请参见 metrics.md 以获取:
- RTP/RTCP 媒体质量指标(端口 9093)
- 活动呼叫和会话指标(端口 9090)
- 系统和 Erlang VM 指标(端口 8080)
- Prometheus 查询示例
故障排除
- 检查 OmniTAS 日志以获取与会议相关的错误
- 验证会议服务器配置
- 审查网络连接性和防火墙规则
- 联系 Omnitouch 支持,提供会议 ID 和时间戳