登陆与注销
本章小节:
发起登陆

图 1. 发起登陆过程
1 |
客户端调用 Mtc_CliLogin 发起注册请求,等待 SDK 注册回调通知更新注册状态。
注意: 在调用 Mtc_CliLogin 进行注册之前,要确保下列步骤已经完成
|
2 |
SDK 发送 SIP REGISTER 请求。 |
3 |
服务器对 SIP REGISTER 请求发起鉴权挑战。 |
4 |
SDK 提取 SIP 401“WWW-Authenticate”头域中的“Digest realm”、“nonce”、“algorithm”计算鉴权结果,填写在注册报文的“Authorization”头域后重新发起注册。 |
5 |
服务器回 200 OK 响应表示注册成功。 |
6 |
SDK 通过 Mtc_CliCbSetServLoginOk 设置的回调通知界面注册成功。 |
表 1. 发起登陆过程说明
取消登陆

图 2. 取消登陆过程
1 |
客户端调用 Mtc_CliLogin 发起注册请求,等待 SDK 注册回调通知更新注册状态。
注意: 在调用 Mtc_CliLogin 进行注册之前,先要确保下列的步骤已经完成
|
2 |
SDK 发送 SIP REGISTER 请求。 |
3 |
界面调用 Mtc_CliLogout 进行取消登录。 |
4 |
SDK 发送 REGISTER 其中 expire 值为 0 |
5 |
服务器回 200 OK 响应表示注销成功。 |
6 |
SDK 通过 Mtc_CliCbSetServLogout 设置的回调通知界面注销成功。
|
表 2. 取消登陆过程说明
发起注销

图 3. 发起注销过程
1 |
客户端调用 Mtc_CliLogout 发起注销请求,客户端进入“注销中”状态,等待 SDK 回调通知更新状态。 注意: 在调用 Mtc_CliLogout 之前客户端至少调用过 Mtc_CliLogin 进行过登录 |
|||||||||||||||||||||||||||||||||||||||||||||
2 |
SDK 发送注销请求,SIP REGISTER 报文携带 Expires = 0。 |
|||||||||||||||||||||||||||||||||||||||||||||
3 |
服务器对注销请求发起鉴权挑战。 |
|||||||||||||||||||||||||||||||||||||||||||||
4 |
SDK 取出 SIP 401“WWW-Authenticate”头域中的“Digest realm”、“nonce”、“algorithm”并计算鉴权结果,填写在注销报文的“Authorization”头域后发起注销。 |
|||||||||||||||||||||||||||||||||||||||||||||
5 |
服务器回 200 OK 响应表示注销成功。 |
|||||||||||||||||||||||||||||||||||||||||||||
6 |
SDK 通过 Mtc_CliCbSetServLogout 设置的回调通知界面注销成功。
注意: Mtc_CliCbSetServLogout 回调中返回的参数这里详细介绍一下: bActive:若为 ZTRUE 表示注销是用户主动发起的;若为 ZFALSE 表示注销不是用户发起的,是其它原因,比如是被网络测注销了,网络断了等等。具体 原因需要查看 dwStatCode进 行具体分析。 dwStatCode值如下
|
表 3. 发起注销过程说明
被动注销

图 4. 被动注销过程
1 |
SDK在登录成功后,若界面设置 Mtc_CliDbSetSubsReg 为 ZTRUE, SDK 会自动订阅注册事件,这样客户端被服务器侧注销时客户端才能进行感知。 |
|||||||||||||||
2 |
服务器响应 200 OK。 |
|||||||||||||||
3 |
客户端被服务器端注销了,服务器会下发通知给 SDK 进行处理 |
|||||||||||||||
4 |
SDK 通过 Mtc_CliCbSetServLogout 设置的回调通知界面注销成功。
|
|||||||||||||||
5 |
界面根据不同的错误码进行对应的处理。 |
表 4. 被动注销过程说明