步骤说明
以下分步骤说明呼入过程。
- 在顺序图中:
- s1 代表:主叫叫 SIP 端点 s1
- linkrtc 代表:LinkRTC 服务器
- webserver 代表:用户的 Web 服务器
- c1 代表:具有 WebRTC 功能的浏览器/客户端 c1
1. 呼入选择
1.1. LinkRTC 收到了来自 s1 的呼入请求
1.2. LinkRTC 向 s1 回复 SIP 状态码 100 TRYING
1.3. LinkRTC 询问用户的服务程序,是否允许这个呼入,以及要将这个呼入交换到哪个客户端
1.3.1 如果用户的服务程序禁止该呼入,则结束呼叫过程
1.3.2 如果用户的服务程序指定了目标客户端,则继续后续过程
呼入选择
呼入拒绝
2. 呼叫客户端
2.1. LinkRTC 向目标客户端 c1 发起呼叫
2.1.1. 如果 c1 无法收到呼叫指令,则结束此次呼入过程,并通知用户的应用服务器。
2.1.2. 如果 c1 收到了呼叫,通知主叫 SIP 和用户的应用服务器,然后等待 c1 的响应。
2.2. 然后等待 c1 的响应。
2.2.1. 如果 c1 拒绝,或者超时无响应,则结束此次呼入过程,并通知用户的应用服务器。
2.2.2. 如果 c1 接受呼入,则通知主叫 SIP 和用户的应用服务器,继续后续步骤。
呼叫客户端成功
呼叫客户端失败
4. 呼叫结束
SIP 终端 s1 向 LinkRTC 发送 SIP BYE 指令;或者 c1 向 LinkRTC 发结束命令,都会导致呼叫的结束。
当 s1 主动结束呼叫时, LinkRTC 会将通话状态变化 同时 通知 c1 和 用户的 Web 服务器。
SIP 一方结束呼叫
WebRTC 一方结束呼叫