exosip的注册方法
来源:互联网 发布:知柏地黄丸能清肝火吗 编辑:程序博客网 时间:2024/05/07 18:57
注册函数:
int CMessageDialog::SipRegisterSend(int expires)
{
sipExpires = expires;
char from[128];
char proxy[128];
char host[128] = {0};
sprintf(host, "%s", Dlg->m_strServer.GetBuffer(Dlg->m_strServer.GetLength()));
snprintf(from, 128, "<sip:%s@%s:%d>", m_strMessExten.GetBuffer(m_strMessExten.GetLength()), host, SipPort);
snprintf(proxy, 128, "sip:%s:%d", host, MessPort);
osip_message_t *reg = NULL;
char localip[128];
eXosip_guess_localip (AF_INET, localip, 128);
eXosip_lock ();
int ret = eXosip_register_build_initial_register(from, proxy, NULL, expires, ®);//连续重复运行出错eXosip_register_send_register运行两次后才能运行
eXosip_unlock ();
if(0 > ret)
{
//AfxMessageBox("register init Failed!");
return 1;
}
eXosip_lock ();
ret = eXosip_register_send_register(ret, reg);
eXosip_unlock ();
if(0 != ret)
{
//AfxMessageBox("register send Failed!");
return 1;
}
sipReg = reg;
Sleep(500); //等待401验证完成
return 0;
}
401验证
if(401 == uac_e->response->status_code)
{
//4o1 Unauthorized register again
// 先清除鉴权信息,再应用新输入的鉴权信息
/*eXosip_lock ();
eXosip_clear_authentication_info();
eXosip_add_authentication_info(pMainWnd->m_strMessExten.GetBuffer(pMainWnd->m_strMessExten.GetLength()), pMainWnd->m_strMessExten.GetBuffer(pMainWnd->m_strMessExten.GetLength()), pMainWnd->m_strMessPwd.GetBuffer(pMainWnd->m_strMessPwd.GetLength()), "md5", NULL);
eXosip_unlock ();*/
//pMainWnd->SipRegisterSend(60);
eXosip_register_build_register(uac_e->rid, pMainWnd->sipExpires, &(pMainWnd->sipReg));
eXosip_register_send_register(uac_e->rid,pMainWnd->sipReg);
eXosip_event_free (uac_e);
continue;
}
心跳注册:
//超时,重新注册
eXosip_lock ();
eXosip_automatic_refresh();
eXosip_unlock ();
参考:http://blog.csdn.net/zblue78/archive/2008/11/17/3319078.aspx
- exosip的注册方法
- exosip注册/认证的简单实现方法
- exosip注册/认证的简单实现方法
- exosip注册/认证的例子程序
- exosip注册过程
- eXosip认证/注册过程
- voip 一个简单的eXosip的register注册例子
- osip及eXosip的编译方法
- osip及eXosip的编译及开发方法
- osip及eXosip的编译及开发方法
- exosip
- 关于Exosip的效率问题
- 基于eXosip的SIP客户端
- osip和eXosip的区别
- eXosip入门(三):eXosip库的验证
- eXosip入门(四):eXosip示例程序——注册/认证
- eXosip入门(四):eXosip示例程序——注册/认证 .
- 在VC6.0下编译osip、exosip协议栈的方法
- Java安全通信:HTTPS与SSL
- 我要不断学习
- mplayer 在 mingw 上的交叉编译
- 最小最大堆(双端堆)的实现(Java版)
- 看完,感触很多 “IT技术开发人员获得成功的六大步骤”
- exosip的注册方法
- Java安全通信概述
- 数据库寻找一个string所在的表
- sharepoint2010为survey加view
- eclipse是安装常用插件的地址
- 解决IE6下png图片的透明问题
- 维护项目--------代码与文档的规范性
- Js 函数库
- 两个字符串,第二个字符串是第一个的子串,打印第二个字符串缺了的字符位置