SDK 登录
1. 打开账户并完成参数配置:
int ret = MtcCli.Mtc_CliOpen("+8612345678910"); // ret 为 ZOK 时,启动成功 // ret 为 ZFAILED,启动失败 if (ret == MtcCommonConstants.ZOK) { //打开配置号码(必须调用Mtc_CliOpen后才能添加设置项) MtcCliDb.Mtc_CliDbSetUserName("+8612345678910");//设置用户名 MtcCliDb.Mtc_CliDbSetAuthPass("123456"); //设置密码 MtcProfDb.Mtc_ProfDbSetRemPwd(true); //是否记住密码 MtcCliDb.Mtc_CliDbSetAuthName("+8613616539986@juphoon.com");//设置鉴权名(通常号码后面带域名) MtcCliDb.Mtc_CliDbSetSipRegIp("120.197.90.65"); //设置服务器IP MtcCliDb.Mtc_CliDbSetSipRegTpt((short) MtcCliDbConstants.EN_MTC_TPT_TCP);//设置传输类型 MtcCliDb.Mtc_CliDbSetSipRegTcpPort(111); //设置TCP端口 MtcCliDb.Mtc_CliDbSetSipRegUdpPort(222); //设置UDP端口 MtcCliDb.Mtc_CliDbSetSipRegTlsPort(333); //设置TLS端口 MtcCliDb.Mtc_CliDbSetSipRegRealm("www.juphoon.com");//设置服务器域名 MtcCliDb.Mtc_CliDbSetRegNoDigest(false); //设置第一次注册时是否不带鉴权头 MtcCliDb.Mtc_CliDbSetRegSrvType(MtcCliDbConstants.EN_MTC_REG_SRV_CMCC_RCS);//设置注册类型 MtcCliDb.Mtc_CliDbApplyAll(); //存储至客户端配置文件中 MtcProf.Mtc_ProfSaveProvision(); }
2. 发起登录
1) 注册 SDK 回调
MtcCliCb.registerCallback(new MtcCliCb.Callback() { @Override public void mtcCliCbRegStatChanged(int iRegStat, int dwStatCode) { // 根据 iRegStat 和 dwStatCode 判断当前注册状态 // iRegStat 包括: // MTC_REG_STATE_IDLE 未登录 // MTC_REG_STATE_REGING 登录中 // MTC_REG_STATE_REGED 已登录 // MTC_REG_STATE_UNREGING 登出中 } …… }
2) 发起登录
int net = MtcCliConstants.MTC_ANET_UNKNOWN; // 网络类型 String ip = null; IP 地址,设置为 null 时由 SDK 获取 IP int ret = MtcCli.Mtc_CliStart(); if (ret == MtcCommonConstants.ZOK) { ret = MtcCli.Mtc_CliLogin(net, ip); } // ret 为 ZOK 时,调用接口成功,等待 SDK 回调通知注册状态 // ret 为 ZFAILED,调用接口失败,界面应提示登陆失败
3.发起登出
int ret = MtcCli.Mtc_CliLogout(); // ret 为 ZOK 时,调用接口成功,等待 SDK 回调通知注册状态 // ret 为 ZFAILED,调用接口失败,界面应提示登出失败