小樱桃 XSwitch PSTN 目前支持如下功能和场景:
小樱桃 XSwitch PSTN 具有以下优势:
小樱桃 XSwitch PSTN 是对 XSwitch 云平台通信能力的封装。集成声网音视频 SDK 后,通过小樱桃 XSwitch PSTN 提供的 RESTful API,你可以实现声网 SDK 客户端与 SIP 终端或 PSTN 电话号码的一对一通话和多人通话。
XSwitch 云平台是一个多租户的通信平台,每个租户对应一个“域”(域名),如小樱桃对应:cherry.xswitch.cn
。
页面访问及 API 调用地址统一为 https://cloud.xswitch.cn/api/cloud
,访问时或调用相应的 API 时通过传入的用户名、密码、域名进行分离。
租户可以直接使用主域名进行测试和使用。如果一个租户内有多个项目需要隔离(不同的号码段、号码池及话单),则可以在租户内建立下级租户。由于安全及审核的需要,目前下级租户的开通需要联系客服手工创建。后期将可以开通 Web 控制台自助管理。
系统总体架构包含以下部分:
联系声网获取专属的 XSwitch 账户、密码和域名。
获取用于 XSwitch 鉴权的 Token:在命令行工具中输入以下命令,并填入你的 XSwitch 账户名、密码和域名信息。
curl -X POST https://cloud.xswitch.cn/api/cloud/token \
-H 'Content-Type: application/json' \
-d '{
"login": "XXXXX",
"password": "XXXXXXX",
"domain": "XXX.xswitch.cn",
"jwt":true
}'
请求发送成功后,你可以从响应包体中获取 XSwitch 的鉴权 Token。
加入声网频道:访问用于测试的声网 Web 客户端, 填写你在声网控制台获取的 App ID、RTC 临时 Token、频道名,然后点击 Join 加入声网频道。获取方式详见使用声网平台。
呼叫 PSTN 号码。在命令行工具中输入以下命令,并填写以下信息:
Authorization
:你在步骤 2 获取的 XSwitch 鉴权 Token。
destNumber
:要呼叫的 PSTN 手机号码。
token
:在声网控制台获取的临时 Token。必须与你在步骤 3 中填入的一致。
channel
:声网频道名。必须与你在步骤 3 中填入的一致。
domain
:你申请的 XSwitch 域名。
curl -X POST https://cloud.xswitch.cn/api/cloud/callPSTN \
-H 'Authorization: Bearer xxxxxxxxxxxxxx' \
-H 'Content-Type: application/json' \
-d '{
"destNumber": "XXXXXXXXXXX",
"token": "XXXXXXXXXXXXXXXX",
"channel": "XXXXX",
"domain": "XXX.xswitch.cn"
}'
发送请求后,如果鉴权成功,你的 PSTN 手机号码将会响铃,接通即可加入声网频道。
XSwitch 服务需要和指定版本的声网 SDK 搭配使用。你需要参考对应平台的集成文档,集成 SDK 并实现基础的语音通话。
平台 | 声网 SDK | 集成文档 |
---|---|---|
Android、iOS、macOS、Web、Windows | RTC 音频 SDK v4.x | 点击查看 |
Linux | RTC 服务端 SDK 4.0.1 | 点击查看 |
联系声网开通 XSwitch 服务,并获取专属的 XSwitch 账户、密码和域名,用于后续调用 RESTful API。
声网 App 客户端呼叫 PSTN 的流程如下:
SIP 呼叫声网 App 的流程如下:
在一对一通话中,当通话建立后,会生成一个唯一的通话 UUID
,可以通过挂断 API指定 UUID
对应的通话。
系统也支持自动挂机:当 XSwitch 侧的声网 Linux SDK 加入一个 channel
后,如果检测到另一个 uid
加入相同的 channel
并离开,当前 channel
中只剩下 Linux SDK 时,XSwitch 侧的 Linux SDK 会自动退出channel
,SIP 侧挂机。
在实际使用时,App 侧也可以使用相同的逻辑,检测到 channel
中的 uid
数从 2
变成 1
时自动挂机。
RESTful API 和回调参数的详细说明参考接口说明。
查看小樱桃提供的示例项目。
小樱桃提供了一批 10000
开头的测试号码用于开发测试,如:
10000183
:回彩铃,不接听10000200
:自动接听,放广告语10000201
:自动接听,放广告语,约 1 分钟10000202
:自动接听,放广告语,约 2 分钟10000486
:不接听,放被叫忙这些号码仅供 SIP 测试,不保证一直可用。详见更多测试号码。