linphone注册用例

bool Register(CString user, CString pwd, CString Service)

{

CString szidentity = _T("");
szidentity.Format(_T("sip:%s@%s"), user.GetString(), Service.GetString());

const char *identity =szidentity.GetString();
const char *secret =pwd.GetString();
const char *host = Service.GetString();

LinphoneProxyConfig* proxyCfg = NULL;
//get default proxy
linphone_core_get_default_proxy(the_core, &proxyCfg);

if (proxyCfg != NULL)
{
if (linphone_proxy_config_is_registered(proxyCfg))
{
return TRUE;
}
else
{
linphone_core_clear_proxy_config(the_core);
}
}
proxyCfg = linphone_proxy_config_new();

//m_running = true;
// add username password
LinphoneAddress *from = linphone_address_new(identity);
LinphoneAuthInfo *info;
if (from != 0) {
info = linphone_auth_info_new(linphone_address_get_username(from), NULL, secret, NULL, NULL,NULL);
linphone_core_add_auth_info(the_core, info);
}
const char* server_addr = linphone_address_get_domain(from); /*extract domain address from identity*/
linphone_proxy_config_set_identity(proxyCfg, identity);
linphone_proxy_config_set_server_addr(proxyCfg, server_addr);
linphone_proxy_config_enable_register(proxyCfg, true);



linphone_address_destroy(from);
linphone_core_add_proxy_config(the_core, proxyCfg);
//set to default proxy
linphone_core_set_default_proxy_config(the_core, proxyCfg);

linphone_core_set_use_info_for_dtmf(the_core, true);   //dtmf编码风格设置
linphone_core_set_use_rfc2833_for_dtmf(the_core, false); //dtmf编码风格设置

}

posted @ 2017-12-28 16:51  出来打酱油  阅读(1924)  评论(0编辑  收藏  举报