SDK 登录
SDK 登录步骤如下:
第一步:打开账户并完成参数配置
Mtc_CliOpen("+8613616539986"); //打开配置号码(必须调用Mtc_CliOpen后才能添加设置项) Mtc_CliDbSetUserName("+8613616539986"); //设置用户名 Mtc_CliDbSetAuthName("+8613616539986@zte.com.cn"); //设置鉴权名(通常号码后面带域名) Mtc_CliDbSetAuthPass("123456"); //设置密码 Mtc_ProfDbSetRemPwd(ZTRUE); //是否记住密码 Mtc_CliDbSetSipRegTpt(EN_MTC_TPT_UDP); //设置传输类型 Mtc_CliDbSetSipRegTcpPort(5060); //设置TCP端口 Mtc_CliDbSetSipRegUdpPort(5070); //设置UDP端口 Mtc_CliDbSetSipRegTlsPort(5174); //设置TLS端口 Mtc_CliDbSetRegNoDigest(ZFALSE); //设置第一次注册时是否不带鉴权头 Mtc_CliDbSetSipRegIp("61.132.54.27"); //设置服务器IP Mtc_CliDbSetSipRegRealm("zte.com.cn"); //设置服务器域名 Mtc_CliDbSetRegSrvType(EN_MTC_REG_SRV_CMCC_RCS); //设置注册类型 Mtc_CliDbApplyAll(); //存储至客户端配置文件中 Mtc_ProfSaveProvision();
注:以上配置仅供参考,具体配置因环境而定
第二步:发起登录
- 注册 SDK 回调
static ZVOID MtcCliCbSetRegStatChanged(ZUINT iRegStat, ZULONG dwStatCode) { // 根据 iRegStat 和 dwStatCode 判断当前注册状态 // iRegStat 包括: // MTC_REG_STATE_IDLE 未登录 // MTC_REG_STATE_REGING 登录中 // MTC_REG_STATE_REGED 已登录 // MTC_REG_STATE_UNREGING 登出中 }
-
发起登录
ZUINT net = Mtc_GetAccessNetType(); if (net == MTC_ANET_UNAVAILABLE) { return; } ZINT ret = Mtc_CliStart(); if (ret == ZOK) { ZCHAR *ip = Mtc_GetLclIp(0); NSString* _ip = ip ? [NSString stringWithUTF8String:ip] : @""; if ([_ip isEqualToString:@"127.0.0.1"]) { ret = ZFAILED; } else { ret = Mtc_CliLogin(net, ip); } } // ret 为 ZOK 时,调用接口成功,等待 SDK 回调通知注册状态 // ret 为 ZFAILED,调用接口失败,界面应提示登陆失败