XSwitch 是一款电信级 IP 电话软交换系统和综合实时音视频多媒体通信平台,提供多种 API 接口以满足不同的开发需求。其中,XCC、AIAPI 和 XRTC 是三种主要的接口方式,它们在功能和应用场景上各有侧重。
1. XCC(XSwitch Call Control)
XCC 是 XSwitch 的呼叫控制接口,基于 NATS 消息队列实现。
- 作用:提供对 XSwitch 运行时的全面控制能力,支持动态配置和通话行为的控制,实现通信层和控制层的分离。
- 特点:开发者可以使用几乎所有编程语言进行二次开发,灵活地管理呼叫流程、会议控制等。
2. AIAPI(AI Application Programming Interface)
AIAPI 是一种基于 HTTP 协议的双向接口,采用 JSON 格式封装。
- 作用:简化通话控制流程,特别适合 Web 开发者。支持 AI 应用的集成,如语音识别(ASR)和文本转语音(TTS)等。
- 特点:通过 AIAPI,开发者可以实现呼入和呼出的控制,进行放音、录音、呼叫转移等操作。
3. XRTC(XSwitch Real-Time Communication)
XRTC 是 XSwitch 提供的实时通信接口。
- 作用:主要用于 WebRTC、微信小程序、声网 Agora、腾讯 TRTC 等媒体层协议的信令支持。
- 特点:通过 WebSocket 协议实现双向通信,适用于浏览器端的应用场景,如呼叫中心的坐席登录、状态监控和来电弹屏等。
主要区别
特性 | XCC | AIAPI | XRTC |
---|---|---|---|
通信方式 | 基于 NATS 消息队列 | 基于 HTTP 协议,JSON 格式 | 基于 WebSocket 协议 |
适用场景 | 呼叫流程控制、大规模呼叫中心等 | 集成 AI 功能(如 ASR/TTS) | 实时通信(如 WebRTC、坐席监控等) |
选择建议
- XCC:适用于需要对 XSwitch 进行全面控制的场景,如大规模呼叫中心、复杂的呼叫流程控制等。
- AIAPI:适合需要集成 AI 功能的应用,如语音识别、文本转语音等,简化通话控制流程。
- XRTC:适用于浏览器端的实时通信需求,如 WebRTC 通话、坐席监控等。
综上,XCC、AIAPI 和 XRTC 各自提供了不同层次和方式的控制接口,开发者可以根据具体需求选择合适的接口进行开发。