本指南将用第一性原理 + 苏格拉底式提问,带您从零开始理解: 为什么部署 Microsoft Teams Calling 离不开 Cisco CUBE, 以及如何用一套清晰的实施方案,把"会议软件"变成"企业级电话系统"。
在动手部署之前,我们必须先回答最根本的三个问题:什么是 SIP?什么是 CUBE?Microsoft Teams Calling 又凭什么能"打电话"? 就像盖楼之前必须看懂图纸——这一章,就是您的图纸。
当您拿起手机拨打一个号码,您和对方之间到底发生了什么?您们的"声音"是怎么从北京飞到上海的?又是谁在中间负责"接通"这次通话?
任何一次电话通话,本质上只做了三件事:
在传统电话网络(PSTN)中,这一切由电信运营商的物理交换机完成。但在互联网时代,我们需要一种"协议"来在 IP 网络上做同样的事——这就是 SIP 的诞生原因。
把 SIP 想象成"婚礼司仪":他不亲自唱歌跳舞,但他负责通知所有人"几点开始、谁先入场、用哪首音乐、什么时候敬酒、什么时候散场"。RTP 才是真正在台上唱歌的歌手——它负责把您的声音(数据流)实实在在送到对面。
所以,一通 IP 电话 = SIP(谈条件)+ RTP(送声音),缺一不可。
INVITE、200 OK、BYE)既然 SIP 已经能完成 IP 电话的所有功能,那为什么企业部署语音系统时,还要在网络边界上额外放一台叫 CUBE 的设备?它到底解决了什么问题?
当企业内部的 IP 电话系统(如 Microsoft Teams、Cisco UCM、Webex Calling)需要和外部世界(运营商 PSTN、其他企业、不同厂商的设备)通话时,会遇到三类无法回避的问题:
解决这三类问题的设备,业界统称为 SBC(Session Border Controller,会话边界控制器)。而 CUBE 就是 Cisco 的 SBC 产品。
把 CUBE 想象成"国际机场的边检":
您(企业用户)想出国(连到外部 PSTN),不能直接走出去,必须经过机场。机场会做几件事:
① 查验证件(身份认证、TLS 加密)
② 翻译语言(SIP 协议归一化、SDP 转换)
③ 盖章放行(路由、号码改写)
④ 防止偷渡(防火墙、Toll-Fraud 防护)
⑤ 统计人流(CDR 话单、监控)
没有边检,国际旅行就乱套了;没有 CUBE,企业语音就裸奔了。
我们都知道 Microsoft Teams 是用来开会和发消息的,但您是否想过:当您在 Teams 里点击一个外部电话号码,比如 +86 138-XXXX-XXXX,这通电话是怎么打出去的?Microsoft 自己有电话线吗?
微软的服务运行在云端,它没有物理电话线,也无法直接连接到中国电信、AT&T、BT 等运营商的 PSTN 网络。所以要让 Teams 能拨打外部电话,微软提供了三种"PSTN 接入方式":
把 Microsoft Teams Calling 想象成一家"豪华酒店":
酒店本身(Teams Phone 云大脑)非常高级,房间漂亮、服务一流,但它没有自己的"出租车"——客人想去机场(PSTN),需要打车。
微软提供了三种打车方式:
🚖 Calling Plans = 酒店自营出租车(贵,且不是每个城市都有)
🚕 Operator Connect = 与本地车队合作(取决于当地有没有合作伙伴)
🚐 Direct Routing = 客人自己带司机来(自由度最高,可以用自己习惯的车队 = 现有运营商)
而 Cisco CUBE 就是您的"专属司机 + 豪华接驳车"——既符合微软的认证标准,又能开向任何您指定的运营商。
| 对比维度 | Microsoft Calling Plans | Operator Connect | Direct Routing(CUBE) |
|---|---|---|---|
| 谁提供 PSTN? | 微软直接提供 | 微软认证的运营商 | 企业自选运营商或自有 IP-PBX |
| 谁提供 SBC? | 无需 SBC | 运营商提供(云端) | 企业自部署(如 Cisco CUBE) |
| 地理覆盖 | 有限(仅约 30 国) | 取决于本地合作运营商 | ✓ 全球任何能用 SIP Trunk 的地方 |
| 号码灵活性 | 仅微软号码 | 运营商号码 | ✓ 沿用企业现有号码 |
| 与现有 IP-PBX 共存 | ✗ | ✗ | ✓ 完美支持 |
| 成本控制 | 按用户数订阅 | 运营商定价 | ✓ 沿用现有合同,最经济 |
| 典型适用场景 | 纯云、小规模、低复杂度 | 中型企业、有合作运营商 | 大中型企业、跨国、有现有投资 |
现在我们已经分别理解了 SIP、CUBE、Teams Calling,让我们用一张图把它们串起来:
SIP 是语言,RTP 是声音,CUBE 是翻译官——而 Microsoft Teams Calling,是一座等待这位翻译官打开的城门。
理解了基础概念,接下来我们要深入解剖 Microsoft Teams Calling 的方案架构—— 看看微软云、企业 SBC、运营商三者如何协同工作, 以及 Direct Routing 的几种典型部署模式各自适合什么场景。
当我们说"部署 Teams Calling",到底要部署哪些组件?这些组件分布在哪里——是云上、企业内网,还是边界?它们之间又靠什么协议通信?
任何企业级语音方案都可以分解为三个层次:
Microsoft Teams Calling 的特殊之处在于:呼叫控制层完全在云上(这是它和传统 PBX 最大的区别),但边界层必须在企业本地(因为 SIP Trunk 必须落地到具体的运营商电路或现有 PBX)。
微软云在美国(或欧洲),CUBE 在企业本地,运营商在另一个地方——一通电话的语音数据,到底是怎么"绕"过这些距离的?媒体真的要从客户端经过微软云再到 CUBE 吗?这样不会延迟很高吗?
要理解 Direct Routing 的媒体路径,必须先区分两个概念:
微软的设计是:信令必须严格走云端,但媒体可以"抄近路",以减少延迟和不必要的流量。
把两种模式想象成"快递配送":
🐌 Media Bypass 禁用 = 您从北京寄快递到隔壁邻居,但快递公司规定所有包裹必须先寄到上海总部分拣,再转发回来。明明邻居在隔壁,包裹却要绕 1000 公里。
🚀 Media Bypass 启用 = 同样是寄给邻居,但快递公司允许您直接从北京小区送到邻居家,只需要把"寄了什么"的电子单据上报总部即可。
快递(媒体)省了大量时间,单据(信令)依然受总部管控。这就是为什么 Media Bypass 能显著降低通话延迟。
根据 Cisco 官方 Direct Routing 应用指南,CUBE 支持三种典型的部署模式。选择哪一种,取决于您企业现有的语音基础设施和迁移策略。
所有用户都使用 Teams Phone,CUBE 作为唯一的 PSTN 出口。最简洁、最现代化的部署方式。
适合:云优先、绿地部署、新建分支机构
部分用户在 Teams Phone,部分用户保留在 Cisco UCM。CUBE 同时承担 Teams 与 PSTN、UCM 与 PSTN、Teams 与 UCM 的中继。
适合:渐进迁移、混合环境、保留 Cisco 投资
Webex Calling 用户与 Teams Phone 用户通过 CUBE 互通。两个云语音平台之间架起桥梁。
适合:混合云策略、多平台并存的企业
| 评估维度 | 模式 A:纯 Teams | 模式 B:Teams + CUCM | 模式 C:Teams + Webex Calling |
|---|---|---|---|
| 架构复杂度 | 低 | 中-高 | 中 |
| 初始成本 | 需要全员 Teams Phone 许可证 | 逐步迁移,成本可控 | 已有 Webex Calling 的企业最佳 |
| 现有投资保护 | ✗ 需替换大量话机 | ✓ 完美保留 UCM 资产 | ✓ 保留 Webex 投资 |
| 用户体验一致性 | ✓ 全员单一 Teams 体验 | 双客户端,需培训 | 双客户端,Webex App 可与 Teams 集成 |
| 视频通话支持 | Teams 内部全支持 | ✗ Teams ↔ CUCM 仅音频Webex ↔ Teams 仅音频 | |
| 共享线路 / Boss-Admin | Teams 原生支持 | ✗ 跨平台不支持 | ✗ 跨平台不支持 |
| 联络中心集成 | 需 Teams Contact Center 方案 | 可保留 UCCX/UCCE | 可使用 Webex Contact Center |
| 典型适用对象 | 新建办公室、云优先、500 人以下 | 大型企业、跨国、有 UCM 部署 | 已有 Webex 战略合作的企业 |
| CUBE 配置复杂度 | 2 个 dial-peer 即可(Teams↔PSTN) | 需要多个 dial-peer + tenant | 需要多个 tenant + 路由规则 |
微软对 Direct Routing 的 SBC 有严格的认证要求。Cisco CUBE 是少数获得微软官方认证的企业级 SBC,具备以下七大关键能力:
微软强制要求所有 SIP 信令必须通过 TLS 1.2 加密。CUBE 需要安装来自微软认可 CA 的公共证书(如 DigiCert、Let's Encrypt 等),并配置 FQDN 与租户域匹配。
所有从 Teams 到 CUBE 的媒体流必须使用 SRTP(Secure RTP)加密。CUBE 支持 AES_CM_128_HMAC_SHA1_80 等加密套件,确保通话内容不被窃听。
CUBE 必须有公网 IP + 公网 FQDN,且证书的 CN/SAN 必须与租户子域匹配(如 sbc.example.com)。微软会主动连接 CUBE 进行健康探测。
CUBE 必须配置受信 IP 列表,仅接受来自微软 SIP Proxy(sip.pstnhub.microsoft.com 等)的连接,防止 SIP 端口被恶意扫描和盗打。
微软对 SIP 头部、SDP 字段有特定要求(如 X-MS-SBC、user=phone 参数等)。CUBE 通过 SIP Profile 灵活改写消息,保证两边都能识别。
CUBE 必须周期性向微软发送 SIP OPTIONS 心跳,证明自己"还活着"。如果连续失败,微软会将 SBC 标记为不可用并停止派发呼叫。
对于关键业务,CUBE 支持主备双机部署,通过 RG(Redundancy Group)协议同步呼叫状态,主机故障时备机秒级接管,呼叫不中断。
CUBE 支持将紧急呼叫(如 911、110)路由至专用紧急呼叫服务(Bandwidth、Intrado 等),并携带位置信息,满足 Kari's Law、RAY BAUM's Act 等法规要求。
没有 CUBE,Teams 只是一个"好看的会议软件";有了 CUBE,它才真正成为一套企业级电话系统。
理解了架构,但架构图不会自己变成现实。 真正部署 Teams Calling,需要您准备好一份完整的"通行证清单"—— 许可证、域名、证书、网络、运营商、防火墙……每一项缺失都会让项目卡死。 本章用第一性原理,把这些前置条件一次性讲清楚。
为什么很多 Teams Calling 项目在"技术上一切正常"的情况下,却在上线前 3 天突然卡壳?答案往往不在技术,而在那些被忽视的"非技术准备"——比如证书还没签发、运营商号码池没批下来、防火墙策略还没开通……
Teams Calling 是一个跨"云-边-端-人-法"五个维度的系统工程。任何一个维度不到位,整个系统就无法运转。我们把准备工作拆成八个互相独立又彼此关联的维度:
把 Teams Calling 部署想象成"开一家跨境餐厅":
🏪 许可证 = 营业执照(没有就开不了门)
🏷️ 域名证书 = 招牌和门牌(顾客和外卖平台必须能找到您)
🛣️ 网络 = 门口的马路(窄了顾客挤不进来)
🍳 CUBE 平台 = 厨房设备(决定能同时招待多少桌)
📞 运营商 = 食材供应商(断供就停业)
👥 身份目录 = 员工花名册(谁能点单、谁能上菜)
⚖️ 合规 = 食品安全认证(紧急情况能不能报警)
🔧 运维 = 营业后的清洁、巡检、应急预案
任何一项没准备好,开业当天就是灾难。
微软的 SaaS 模式决定了——每一项功能都对应一组许可证。Teams Calling 不是"开个开关"就能用,而是必须为每个用户配齐三类许可证:
| 层级 | 许可证名称 | 作用 | 是否必需 |
|---|---|---|---|
| ① 基础 | Microsoft 365 E1/E3/E5 或 Office 365 E1/E3/E5 | 提供 Teams 客户端、Azure AD 身份、邮箱等基础能力 | ✓ 必需 |
| ② 电话能力 | Teams Phone Standard(独立许可证) 或 Microsoft 365 E5(已含) |
开启 Teams Phone PBX 功能:分机、语音信箱、呼叫转移、自动话务员 | ✓ 必需 |
| ③ PSTN 接入 | 三选一: - Calling Plan(微软提供号码) - Operator Connect(运营商提供) - 不需要单独购买(如果走 Direct Routing) |
提供 PSTN 出局能力 | 视方案而定 |
| ④ 高级功能(可选) | Teams Premium、Teams Rooms Pro | 会议高级特性、会议室设备管理 | 可选 |
微软云端有成千上万的客户 SBC 想要连接,它怎么知道哪一台 SBC 属于哪一个客户租户?又怎么确认这台 SBC 不是冒充的攻击者?
微软通过两个机制识别 SBC:
这就像出入境时——光有护照(FQDN)不够,护照必须由权威国家颁发(公共 CA),且姓名(CN)必须和您本人对得上。
sbc.example.com。该域必须是您 Microsoft 365 租户已验证的域,或其子域*.example.com),适合 HA 双机部署共用证书和数据/网页不同,语音业务对网络有三个硬性要求:
要满足这三项要求,必须从带宽、防火墙、QoS 三个角度提前规划。
| 编解码 | 每路通话带宽(含信令) | 典型用途 |
|---|---|---|
| G.711 (μ-law/A-law) | 约 90 Kbps | PSTN 端必备,质量好但占带宽多 |
| OPUS / SILK | 30-60 Kbps | Teams 客户端原生使用 |
| G.729 | 约 30 Kbps | 窄带场景 |
CUBE 与微软云之间需要开通的端口(基于 Cisco Direct Routing 应用指南):
| 方向 | 源 | 目的 | 协议/端口 | 用途 |
|---|---|---|---|---|
| 出站 + 入站 | CUBE 公网 IP | 52.112.0.0/14、52.122.0.0/15(Microsoft Teams) | TCP 5061 (TLS) | SIP 信令(双向) |
| 出站 + 入站 | CUBE 公网 IP | 同上 | UDP 3478-3481, 50000-59999 | SRTP 媒体(双向) |
| 出站 | CUBE | 运营商 SBC IP | UDP/TCP 5060 或 TLS 5061 | SIP 信令到运营商 |
| 双向 | CUBE ↔ 运营商 | — | UDP(运营商指定 RTP 端口段) | RTP 媒体到运营商 |
| 双向(Media Bypass) | Teams 客户端 | CUBE 公网 IP | UDP 3478-3481 | STUN + 直接媒体 |
EF (46) — 最高优先级CS3 (24) 或 AF31 (26)AF41 (34)ip qos dscp 命令CUBE 不是"一台设备走天下"。不同的硬件平台支持的并发会话数差异巨大——从几百到上万。选错平台,要么浪费投资,要么上线后撑不住流量。
| 平台 | 形态 | 典型并发会话 | 适用场景 |
|---|---|---|---|
| ISR 4321 / 4331 | 硬件路由器 | 500 - 1,000 | 分支机构、小型办公室 |
| ISR 4351 / 4431 | 硬件路由器 | 2,000 - 3,000 | 中型办公室、地区总部 |
| ISR 4451 / 4461 | 硬件路由器 | 6,000 - 10,000 | 大型企业、数据中心 |
| Catalyst 8200 / 8300 | 新一代硬件平台 | 2,500 - 10,000 | 新部署首选,性价比高 |
| ASR 1001-X / 1002-X | 高端硬件 | 12,000 - 14,000 | 运营商级、超大型企业 |
| ASR 1006 (RP3 + ESP100) | 旗舰级硬件 | 16,000+ | 超大规模、电信场景 |
| vCUBE on CSR1Kv / Cat8000V | 虚拟机(ESXi) | 1,000 - 6,000 (取决于 vCPU) |
云优先、虚拟化数据中心 |
| vCUBE on AWS / Azure | 公有云虚拟机 | 3,000 (c5.large) |
云原生、跨区域部署 |
CUBE 自己不能凭空"打电话",它必须通过运营商的 SIP Trunk把呼叫送出去。运营商提供两件事:
Teams Phone 的所有功能都建立在 Azure AD(现在叫 Microsoft Entra ID)的用户身份之上。没有同步到 Azure AD 的用户,是不可能打电话的。
Set-CsPhoneNumberAssignment)电话业务在很多国家属于电信监管业务,涉及消费者保护、紧急救援、公共安全。一旦合规出问题,企业可能面临巨额罚款甚至刑事责任。
美国:Kari's Law(直拨 911 无需前缀)+ RAY BAUM's Act(必须传递可调度位置信息)
欧盟:E112 / 各国本地紧急号码
中国:110/119/120 必须能正确路由到当地接警中心
GDPR、PCI-DSS、HIPAA 等法规对录音的知情同意、加密存储、保留期限、销毁流程有明确要求。CUBE 的 SIPREC 录音功能需配合合规录音平台使用。
某些国家(如中国、俄罗斯、欧盟部分国家)要求通话数据必须存储在境内。微软 Teams 的数据驻留区域有限,跨境企业需特别评估。
金融业(SEC、MiFID II)要求所有交易相关通话必须录音并保留多年;医疗业(HIPAA)要求加密所有患者相关通话。
| # | 维度 | 检查项 | 状态 |
|---|---|---|---|
| 1 | 许可证 | 所有目标用户的 Microsoft 365 E1/E3/E5 许可证已就绪 | ☐ |
| 2 | 许可证 | 所有目标用户的 Teams Phone Standard 许可证已分配 | ☐ |
| 3 | 许可证 | 已确认采用 Direct Routing 方案(不购买 Calling Plan) | ☐ |
| 4 | 域名证书 | 已注册 CUBE 公网 FQDN(如 sbc.example.com) | ☐ |
| 5 | 域名证书 | 该域名已在 Microsoft 365 Admin Center 验证 | ☐ |
| 6 | 域名证书 | 已从公共 CA 申请到 SBC 证书(含 EKU 服务器认证) | ☐ |
| 7 | 域名证书 | 证书已包含完整 CA 中间链 | ☐ |
| 8 | 网络 | CUBE 公网 IP 已分配并可达 | ☐ |
| 9 | 网络 | 带宽已按峰值并发 × 100Kbps × 1.5 规划 | ☐ |
| 10 | 网络 | 防火墙已开通微软 IP 段 + 端口(TCP 5061、UDP 3478-3481、UDP 50000-59999) | ☐ |
| 11 | 网络 | 防火墙已开通运营商 SIP Trunk 的 IP 与端口 | ☐ |
| 12 | 网络 | QoS 策略已部署(语音 EF、信令 CS3) | ☐ |
| 13 | 网络 | NTP 同步配置正确(CUBE / DC / 客户端时钟一致) | ☐ |
| 14 | 网络 | DNS 正反解析配置正确 | ☐ |
| 15 | CUBE 平台 | CUBE 硬件 / vCUBE 已选型并到货 | ☐ |
| 16 | CUBE 平台 | IOS-XE 版本符合要求(建议 17.6+ 或 17.12+) | ☐ |
| 17 | CUBE 平台 | HSEC 许可证已激活(启用加密能力) | ☐ |
| 18 | CUBE 平台 | CUBE 会话许可证已订阅(与峰值并发匹配) | ☐ |
| 19 | CUBE 平台 | HA 主备双机已规划(关键业务必须) | ☐ |
| 20 | 运营商 | SIP Trunk 合同已签订,容量满足业务 | ☐ |
| 21 | 运营商 | 号码池已批准并分配(DID 数量 ≥ 用户数) | ☐ |
| 22 | 运营商 | 运营商 SIP 协议参数已确认(IP/端口/编解码/认证方式) | ☐ |
| 23 | 运营商 | 紧急呼叫路由方案已确认(含本地紧急号码) | ☐ |
| 24 | 身份目录 | Azure AD 已部署或已同步 | ☐ |
| 25 | 身份目录 | 用户号码分配脚本已准备(PowerShell) | ☐ |
| 26 | 身份目录 | 语音路由策略、来电显示策略、紧急呼叫策略已规划 | ☐ |
| 27 | 合规 | 紧急呼叫合规方案已审批(如 Kari's Law/E112) | ☐ |
| 28 | 合规 | 录音/数据驻留方案已通过法务审批 | ☐ |
| 29 | 运维 | 监控告警已对接 NOC,配置备份机制就绪 | ☐ |
| 30 | 运维 | 回退方案已书面确认(出问题时如何切回) | ☐ |
所有上线事故,几乎都不来自技术本身——而来自被忽视的"小事":一张快过期的证书、一个没开的防火墙端口、一个没分配的许可证。
理解了需求和准备工作,是时候看看 Cisco 的完整工具箱了。 本章不只讲 CUBE,还会把 vCUBE、HA 高可用、Cisco Call for Microsoft Teams、Webex Calling 协同等 配套方案一起呈现——让您看到一个真正可落地、可扩展、可演进的全景方案。
如果您的需求只有"让 Teams 能打电话",CUBE 就够了。但如果您的需求是"让 Teams 能打电话,同时保留现有 Cisco 投资,同时让用户既能用 Teams 又能用 Webex 的高级语音功能"——那您需要的就不止是 CUBE,而是一整套协作生态。
Cisco 针对 Teams 集成场景,提供五大类解决方案,分别解决五个不同的问题:
20 年前,CUBE 只能跑在物理路由器上。今天,企业的 IT 形态已经千变万化——有数据中心、有云上、有边缘、有 SD-WAN……Cisco 把 CUBE 拆成三种形态,让您能在任何环境下都能部署:
跑在 Cisco 路由器硬件上,与 WAN 接入一体化。带 Crypto 加速芯片,支持最高 16,000+ 并发会话。
代表平台:
适合:分支机构、地区数据中心
跑在 VMware ESXi、KVM 等私有云虚拟化平台上。可弹性扩容,与企业现有数据中心架构融合。
代表平台:
适合:企业数据中心、私有云部署
直接部署在公有云 IaaS 上,按需启停、地域就近。BYOL 模式沿用 Cisco 许可证,无需额外采购。
支持云:
适合:云优先战略、跨国分布式
如果一台 CUBE 出故障,企业内所有 Teams 用户都将无法外呼。客服热线断 5 分钟,损失可能就是几十万。我们如何确保哪怕设备坏了、电源断了、网卡烧了,电话依然能打?
任何高可用方案都必须解决三个问题:
ASR 1006 等高端平台支持双 RP(Route Processor)热备——一台机器内部就有两块大脑,一块工作时另一块待命。这种方式部署更简单,但只适用于支持多 RP 的硬件平台。
全系列 Cisco 耳机均通过 Microsoft Teams 认证,按下耳机上的 Teams 按钮即可接听/发起 Teams 通话。代表型号:
4K UHD 高清网络摄像头,支持 Windows Hello 人脸识别。Teams 视频会议官方认证,画面比内置摄像头清晰数倍。
Cisco 6800/7800/8800 系列 MPP 话机可通过 Microsoft SIP Gateway 注册到 Teams Phone,让现有话机继续服役。Cisco Desk Phone 9800 系列已通过测试,是 2026 年新部署首选。
Cisco 视频协作设备(Room Bar、Board Pro 等)支持 Microsoft Teams Rooms 模式,登录 Microsoft 账号后即变成 Teams 会议室设备,提供 Cisco 业界领先的 AI 视频体验。
有些企业的诉求很特别:他们已经投资了 Cisco Webex Calling 或 Cisco UCM,认为 Cisco 的语音体验更专业、更稳定;但同时全员都用 Microsoft Teams 做日常协作和会议。如何让这些用户"在 Teams 里就能直接用 Cisco 打电话",而不是切来切去?
Cisco 给出的答案是 Cisco Call for Microsoft Teams——一个由微软认证、上架到 Teams App Store 的应用程序。它不替代 Teams,而是"寄居"在 Teams 内部,在 Teams 界面里调用底层的 Webex App 完成通话。
把 Cisco Call for Teams 想象成"美团外卖里的肯德基":
您在美团 App 里点肯德基(Teams 是入口),但订单实际由肯德基自家系统处理(Webex 在后台执行通话),最后骑手送来的是肯德基的食物(您获得 Cisco 完整的通话体验)。
🎯 用户感觉:始终在 Teams 里操作
🎯 实际执行:底层走 Cisco 的呼叫平台
🎯 融合效果:Teams 的协作 + Cisco 的语音,两全其美
在 Teams 任意聊天/通讯录处点击号码即可发起 Cisco 通话
完整的 Cisco 通话记录在 Teams 标签页中查看
直接收听 Cisco 语音信箱及转录文本
Teams 会议中自动设置 Webex 状态,反之亦然
iOS / Android Teams App 均可使用
Webex Calling 用户可在 Teams 中签入/签出队列
对于同时部署了 Webex Calling 和 Microsoft Teams 的企业,Cisco 提供三种协同模式:
| 协同模式 | 架构 | 用户体验 | 适用场景 |
|---|---|---|---|
| 模式 1:完全分离 | Teams 走 Direct Routing + CUBE,Webex Calling 独立运行 | 用户分两组:一组用 Teams,一组用 Webex App | 组织独立、试点对比 |
| 模式 2:Cisco Call for Teams | 所有用户用 Teams 做协作,通话由 Webex Calling 提供(嵌入式 App) | 用户只看到 Teams 一个界面 | 统一协作 + 高级语音体验 |
| 模式 3:互通互联 | Teams Phone 与 Webex Calling 通过 CUBE 互通,双向呼叫 | 各自使用自己平台,跨平台呼叫无障碍 | 过渡期、混合并购 |
Cisco 没有"一刀切"的方案——它有的是一整套乐高积木,等您按业务的形状自由拼接。
前四章我们讲了"为什么"和"是什么"。这一章我们要回答最关键的问题:"怎么做?" 我们将把整个项目拆成 5 个阶段、20 个里程碑, 配上配置示例、验收测试清单、上线后运维守则—— 让您拿到这份指南,就能直接动手干。
一个 Teams Calling 项目,从立项到稳定运行,至少要经过 3-6 个月。如果一上来就"端到端整体推进",几乎注定失败。我们把项目切成五个阶段,每个阶段都有明确的产出物 + 验收标准 + 可回退检查点。
访谈业务部门,明确:用户数、并发峰值、每月通话分钟数、是否有联络中心、是否有视频会议、紧急呼叫要求、跨国办公需求。产出物:《业务需求文档》
梳理现有 PBX 类型(UCM / 第三方)、SIP Trunk 合同、号码池、网络拓扑、Microsoft 365 订阅情况。产出物:《现状基线报告》
使用第四章的选型决策树,确定模式 A / B / C,并选定 CUBE 形态(硬件 / vCUBE)。产出物:《技术方案书》
按"用户数 ÷ 10-15"估算并发,选定 CUBE 平台型号、HSEC 许可证、CUBE 会话许可证数量。产出物:《采购清单》
提交董事会/IT 委员会评审,明确预算、里程碑、风险、回退方案。产出物:《项目立项书》
CUBE 硬件 / vCUBE 镜像 + 许可证 + 公网证书订单提交。注意:公共 CA 签发证书通常需要 3-7 个工作日,不要等到最后才申请。
在 Microsoft 365 Admin Center 添加 SBC 子域(如 sbc.example.com),通过 TXT 记录验证所有权。等待 DNS 全球生效(最长 24 小时)。
从公共 CA(如 DigiCert)申请证书,CN/SAN 设置为 CUBE FQDN。务必下载完整的 CA 中间证书链,并在 CUBE 上导入。
与运营商工程师对齐:SIP Trunk IP/FQDN、协议(UDP/TCP/TLS)、端口、编解码、号码格式(+E.164 / 国内格式)、主叫号码规则、紧急呼叫处理。建议安排一次三方电话会议。
申请公网 IP、配置防火墙策略(参见 3.4 节端口清单)、规划 NAT 规则、部署 QoS 策略。变更窗口务必避开业务高峰。
在 Microsoft 365 Admin Center 为目标用户分配 Teams Phone Standard 许可证。建议先小范围试点(5-10 人),验证许可证生效。
以下是一份最小可用配置样例,您可以基于此扩展。本示例假设:
sbc.example.comGigabitEthernet0/0/0(IP 192.0.2.2)GigabitEthernet0/0/1(IP 203.0.113.2)198.51.100.10# ============================================================================
# 1. 基础启用 CUBE
# ============================================================================
voice service voip
ip address trusted list
ipv4 52.112.0.0 255.252.0.0 # Microsoft Teams 信令地址段
ipv4 52.120.0.0 255.252.0.0
ipv4 198.51.100.10 # 运营商 SIP IP
mode border-element license periodicity days 30
allow-connections sip to sip
no supplementary-service sip refer
fax protocol t38 version 0 ls-redundancy 0 hs-redundancy 0 fallback none
sip
session refresh
header-passing
error-passthru
pass-thru headers 290
sip-profiles inbound
# ============================================================================
# 2. 证书与 TLS 配置
# ============================================================================
crypto key generate rsa general-keys label sbc exportable modulus 2048
crypto pki trustpoint sbc
enrollment terminal
fqdn sbc.example.com
subject-name cn=sbc.example.com
subject-alt-name sbc.example.com
revocation-check crl
rsakeypair sbc
# 此后需手动粘贴 CA 证书并导入签名后的 SBC 证书
# crypto pki authenticate sbc
# crypto pki import sbc certificate
sip-ua
no remote-party-id
retry invite 2
transport tcp tls v1.2
crypto signaling default trustpoint sbc
handle-replaces
# ============================================================================
# 3. 安装微软认可的 CA 根证书包
# ============================================================================
crypto pki trustpool policy
no cabundle url
cabundle url http://www.cisco.com/security/pki/trs/ios.p7b
revocation-check crl
crypto pki trustpool import ca-bundle
# ============================================================================
# 4. SRTP 加密配置
# ============================================================================
voice class srtp-crypto 1
crypto 1 AES_CM_128_HMAC_SHA1_80
# ============================================================================
# 5. 编解码规划
# ============================================================================
voice class codec 1
codec preference 1 g711ulaw
# ============================================================================
# 6. SIP Profile:消息归一化(修改头部以满足微软要求)
# ============================================================================
voice class sip-profiles 200
rule 10 request ANY sip-header Contact modify "@.*:" "@sbc.example.com:"
rule 20 response ANY sip-header Contact modify "@.*:" "@sbc.example.com:"
rule 30 request ANY sip-header SIP-Req-URI modify "sip:(.*):5061 (.*)" "sip:\1:5061;user=phone \2"
rule 40 request ANY sip-header User-Agent modify "(IOS.*)" "\1\x0D\x0AX-MS-SBC: Cisco UBE/ISR4321/\1"
rule 50 response ANY sip-header Server modify "(IOS.*)" "\1\x0D\x0AX-MS-SBC: Cisco UBE/ISR4321/\1"
rule 60 request ANY sdp-header Audio-Attribute modify "a=sendonly" "a=inactive"
# ============================================================================
# 7. 面向 Microsoft Teams 的 Tenant 配置
# ============================================================================
voice class tenant 200
handle-replaces
srtp-crypto 1
localhost dns:sbc.example.com
session transport tcp tls
no referto-passing
bind all source-interface GigabitEthernet0/0/0
pass-thru headers 290
sip-profiles 200
early-offer forced
# ============================================================================
# 8. 面向运营商的 Tenant 配置
# ============================================================================
voice class tenant 100
options-ping 60
session transport udp
bind all source-interface GigabitEthernet0/0/1
early-offer forced
# ============================================================================
# 9. OPTIONS Keepalive(让微软知道 CUBE "活着")
# ============================================================================
voice class sip-options-keepalive 200
sip-profiles 299
transport tcp tls
# ============================================================================
# 10. 面向 Teams 的出站 Dial-Peer(最多 3 个 Teams 代理 FQDN,HA 容错)
# ============================================================================
voice class e164-pattern-map 200
e164 +1T
dial-peer voice 200 voip
description towards Phone System Proxy 1
preference 1
session protocol sipv2
session target dns:sip.pstnhub.microsoft.com:5061
destination e164-pattern-map 200
voice-class codec 1
voice-class sip tenant 200
voice-class sip options-keepalive profile 200
dtmf-relay rtp-nte
srtp
no vad
dial-peer voice 201 voip
description towards Phone System Proxy 2
preference 2
session protocol sipv2
session target dns:sip2.pstnhub.microsoft.com:5061
destination e164-pattern-map 200
voice-class codec 1
voice-class sip tenant 200
voice-class sip options-keepalive profile 200
dtmf-relay rtp-nte
srtp
no vad
dial-peer voice 202 voip
description towards Phone System Proxy 3
preference 3
session protocol sipv2
session target dns:sip3.pstnhub.microsoft.com:5061
destination e164-pattern-map 200
voice-class codec 1
voice-class sip tenant 200
voice-class sip options-keepalive profile 200
dtmf-relay rtp-nte
srtp
no vad
# ============================================================================
# 11. 来自 Teams 的入站 Dial-Peer
# ============================================================================
voice class uri 290 sip
host sbc.example.com
dial-peer voice 290 voip
description inbound from Microsoft Phone System
session protocol sipv2
incoming uri to 290
voice-class codec 1
voice-class sip tenant 200
dtmf-relay rtp-nte
srtp
no vad
# ============================================================================
# 12. 面向运营商的出/入 Dial-Peer
# ============================================================================
dial-peer voice 100 voip
description outbound to PSTN
destination-pattern +1[2-9]..[2-9]......$
session protocol sipv2
session target ipv4:198.51.100.10
voice-class codec 1
voice-class sip tenant 100
dtmf-relay rtp-nte
no vad
voice class uri 190 sip
host ipv4:198.51.100.10
dial-peer voice 190 voip
description inbound from PSTN
session protocol sipv2
incoming uri via 190
voice-class codec 1
voice-class sip tenant 100
dtmf-relay rtp-nte
no vad
# ============================================================================
# 13. Call Admission Control(防止资源耗尽)
# ============================================================================
call threshold global cpu-avg low 75 high 85
call threshold global total-mem low 75 high 85
call treatment on
# 连接 Teams PowerShell
Connect-MicrosoftTeams
# ============================================================================
# 1. 注册 SBC(PSTN 网关)
# ============================================================================
New-CsOnlinePSTNGateway `
-Fqdn sbc.example.com `
-SipSignallingPort 5061 `
-MaxConcurrentSessions 100 `
-Enabled $true `
-MediaBypass $true `
-ForwardCallHistory $true `
-ForwardPai $true
# ============================================================================
# 2. 创建 PSTN 用法
# ============================================================================
Set-CsOnlinePstnUsage -Identity Global -Usage @{Add="Unrestricted"}
# ============================================================================
# 3. 创建语音路由
# ============================================================================
New-CsOnlineVoiceRoute `
-Identity "AllNumbers" `
-NumberPattern ".*" `
-OnlinePstnGatewayList "sbc.example.com" `
-Priority 1 `
-OnlinePstnUsages "Unrestricted"
# ============================================================================
# 4. 创建语音路由策略
# ============================================================================
New-CsOnlineVoiceRoutingPolicy `
-Identity "VRPolicy-Default" `
-OnlinePstnUsages "Unrestricted"
# ============================================================================
# 5. 为用户分配号码 + 路由策略
# ============================================================================
Set-CsPhoneNumberAssignment `
-Identity "alice@example.com" `
-PhoneNumber "+12223334444" `
-PhoneNumberType "DirectRouting"
Grant-CsOnlineVoiceRoutingPolicy `
-Identity "alice@example.com" `
-PolicyName "VRPolicy-Default"
# ============================================================================
# 6. 启用企业语音
# ============================================================================
Set-CsUser -Identity "alice@example.com" `
-EnterpriseVoiceEnabled $true `
-HostedVoiceMail $true
show platform resources / show call active voice summary)reload绝对不要"一刀切"地把所有用户一次性迁移到新系统。即使 UAT 完美通过,真实生产环境永远会出现意料之外的问题。正确的做法是:分批、分地区、分部门、分时段,每批之间留出观察窗口。
| 批次 | 用户范围 | 用户数占比 | 观察窗口 | 关注重点 |
|---|---|---|---|---|
| 第 1 批:种子用户 | IT 部门 + 早期志愿者 | 1-2% | 1 周 | 基础功能 + 故障排查能力 |
| 第 2 批:试点部门 | 1-2 个非关键业务部门 | 5-10% | 2 周 | 用户体验 + 常见问题 |
| 第 3 批:分地区滚动 | 按地区/分公司逐个推进 | 每批 20-30% | 每批 1 周 | 地区性问题(运营商、网络) |
| 第 4 批:核心业务 | 客服、销售、高管 | 剩余 30% | 2 周 | 关键业务连续性 |
| 第 5 批:全员完成 | 所有剩余用户 | 100% | — | 旧系统退役 |
最后,把整个项目压缩成一份"明天就能开干"的 30 天行动清单。这份清单适用于已经决定采用 Direct Routing + CUBE 方案的中型企业(500-2000 用户):
| 天数 | 阶段 | 关键动作 | 负责人 |
|---|---|---|---|
| D1-D3 | 规划 | 召开项目启动会,确定方案模式与平台 | 项目经理 + IT 总监 |
| D4-D5 | 规划 | 完成《业务需求文档》《技术方案书》 | 架构师 |
| D6-D7 | 规划 | 提交采购清单(CUBE + 许可证 + 证书) | IT 采购 |
| D8-D10 | 准备 | 注册 SBC FQDN,提交公共 CA 证书申请 | 网络/PKI 团队 |
| D8-D14 | 准备 | 启动运营商对接(多次会议) | 语音工程师 |
| D11-D14 | 准备 | 申请公网 IP、配置防火墙策略 | 网络团队 |
| D15 | 准备 | 证书签发到位,导入 CUBE 测试环境 | 语音工程师 |
| D15-D17 | 部署 | 实验环境完整跑通 Direct Routing | 语音工程师 |
| D18-D19 | 部署 | 生产环境 CUBE 配置(含 HA) | 语音工程师 |
| D20 | 部署 | Microsoft Teams Admin Center 配置 + PowerShell 脚本 | Teams 管理员 |
| D21-D23 | 测试 | 功能测试 + 性能测试 + HA 切换测试 | 测试团队 |
| D24-D25 | 测试 | 10 名种子用户 UAT,收集反馈 | 项目经理 |
| D26 | 上线 | 第 1 批切换:IT 部门 | 项目经理 |
| D27-D28 | 上线 | 第 2 批切换:1 个试点部门 | 项目经理 |
| D29 | 运维 | 建立监控仪表盘 + 告警机制 | 运维团队 |
| D30 | 运维 | 项目阶段总结,规划全员推广节奏 | 项目经理 |
项目的成功 = 60% 的规划 + 30% 的执行 + 10% 的运气——而最后那 10%,是给不偷懒的人的奖励。
本白皮书开篇我们说:"SIP 是语言,RTP 是声音,CUBE 是翻译官——而 Microsoft Teams Calling,是一座等待这位翻译官打开的城门。"
五章过后,您应该已经清晰地理解了:
但请记住:技术从来不是终点。Teams Calling 的真正价值不在于"能打电话",而在于让每一位员工——无论他在总部、分支机构、还是家中——都能享受一致的、清晰的、安全的、随时可用的语音协作。
而 Cisco CUBE,就是这座连接微软云与企业现实的桥梁——稳定、安全、灵活,并随着您的业务一起生长。
✦ 桥已搭好,城门将启——剩下的路,您来走。 ✦
本白皮书涉及的所有专业术语一览,按字母顺序排列。
| 术语 | 英文全称 | 含义 |
|---|---|---|
| Azure AD / Entra ID | Azure Active Directory / Microsoft Entra ID | 微软的云身份目录服务,是 Teams 用户身份的"户籍中心" |
| B2BUA | Back-to-Back User Agent | 背靠背用户代理。SBC 同时扮演两个 SIP 用户,分别面对内外两侧 |
| BYOL | Bring Your Own License | 自带许可证。适用于 vCUBE 在公有云上部署,沿用 Cisco 许可证而非按云厂商订阅 |
| CA | Certificate Authority | 证书颁发机构。如 DigiCert、GlobalSign,签发受信任的 TLS 证书 |
| Calling Plan | — | 微软自营的 PSTN 接入服务,按用户订阅。仅在部分国家提供 |
| CCUC | Cloud Connected UC | Cisco 提供的云端连接器,让本地 UCM 与 Webex 云端协同 |
| CDR | Call Detail Record | 话单。记录每通电话的起止时间、双方号码、时长等 |
| CN / SAN | Common Name / Subject Alternative Name | 证书的"姓名"字段。微软要求 CN 或 SAN 必须包含 SBC 的 FQDN |
| CPS | Calls Per Second | 每秒新呼叫数。衡量 CUBE 处理突发呼叫能力的关键指标 |
| CUBE | Cisco Unified Border Element | 思科统一边界元素。Cisco 的企业级 SBC 产品 |
| vCUBE | Virtual CUBE | CUBE 的虚拟化版本,可部署在 ESXi、AWS、Azure 等环境 |
| CUCM / UCM | Cisco Unified Communications Manager | Cisco 的旗舰本地 PBX 产品 |
| DID | Direct Inward Dialing | 直拨号码。运营商分配给企业用户的外部可拨号码 |
| Direct Routing | — | 微软 Teams 的"自带 SBC"PSTN 接入模式,通过认证 SBC 连接企业现有运营商 |
| DSCP | Differentiated Services Code Point | 差分服务标记。用于网络 QoS 优先级标记,语音流量通常标 EF (46) |
| E.164 | — | 国际电话号码格式标准,如 +8613800138000 |
| E911 / E112 | Enhanced 911 / 112 | 增强紧急呼叫。要求传递呼叫者的位置信息 |
| EKU | Extended Key Usage | 证书扩展密钥用法。Direct Routing 要求证书包含 "Server Authentication" EKU |
| FQDN | Fully Qualified Domain Name | 完全限定域名。如 sbc.example.com |
| HA | High Availability | 高可用。通过冗余设计确保业务持续运行 |
| HSEC | High Security | 高安全许可证。Cisco 平台启用加密能力(TLS/SRTP)所需 |
| ICE-Lite | Interactive Connectivity Establishment - Lite | 简化版 ICE 协议,用于 NAT 穿越和媒体路径协商 |
| IOS-XE | — | Cisco 路由器的下一代操作系统,CUBE 运行于其上 |
| ISR | Integrated Services Router | Cisco 集成多业务路由器系列。CUBE 常见硬件平台之一 |
| Media Bypass | — | 媒体绕行。让媒体直接从 Teams 客户端流到 SBC,不经过 Teams 云 |
| MPP | Multiplatform Phones | 多平台话机。Cisco 提供给 Webex Calling 等云电话使用的 IP 话机 |
| MTR | Microsoft Teams Rooms | Microsoft Teams 会议室设备模式 |
| NTP | Network Time Protocol | 网络时间同步协议。CUBE 与微软云时钟必须一致,否则 TLS 会失败 |
| Operator Connect | — | 微软认证运营商直接对接的 PSTN 接入模式 |
| PBX | Private Branch Exchange | 私有交换机。企业内部电话系统 |
| PSTN | Public Switched Telephone Network | 公共交换电话网。即传统电话网络 |
| QoS | Quality of Service | 服务质量。通过优先级标记确保语音流量低延迟低丢包 |
| RG | Redundancy Group | 冗余组。CUBE Box-to-Box HA 使用的协议 |
| RP | Route Processor | 路由处理器。ASR 高端路由器可装两块 RP 实现单机 HA |
| RTP | Real-time Transport Protocol | 实时传输协议。承载语音/视频媒体数据 |
| SBA | Survivable Branch Appliance | 分支生存性设备。WAN 中断时仍能维持本地通话 |
| SBC | Session Border Controller | 会话边界控制器。CUBE 是 Cisco 的 SBC 产品 |
| SDP | Session Description Protocol | 会话描述协议。SIP 中描述媒体能力的载体 |
| SIP | Session Initiation Protocol | 会话发起协议。VoIP 信令的事实标准 |
| SIP Profile | — | SIP 消息归一化规则。CUBE 用它修改头部以满足两侧需求 |
| SIP Trunk | — | SIP 中继。运营商提供给企业的 SIP 通话通道 |
| SRTP | Secure RTP | 加密的 RTP。Direct Routing 强制要求 |
| SSO | Single Sign-On | 单点登录 |
| STUN | Session Traversal Utilities for NAT | NAT 穿越工具。Media Bypass 时用于发现公网地址 |
| Teams Phone | — | Microsoft Teams 的电话系统功能(前称 Phone System) |
| Tenant | — | 租户。① 微软 365 中的企业账号;② CUBE 中的逻辑分组配置 |
| TLS | Transport Layer Security | 传输层安全协议。加密 SIP 信令 |
| UAT | User Acceptance Testing | 用户验收测试 |
| VIP | Virtual IP | 虚拟 IP。CUBE HA 主备共用的对外服务地址 |
| VoIP | Voice over IP | IP 语音。基于 IP 网络承载的语音通话 |
| Webex Calling | — | Cisco 的云电话服务,包括多租户版(MT)和专享版(DI) |
| WxCC | Webex Contact Center | Cisco 的云联络中心解决方案 |