",it->remote_num,urlInfo->proxy_url" /> 问题:eXosip中invite的问题

解决方案1:

你这个跟标准协议不一样别人无法分析了

解决方案2:

你服务端也是自己开发的吗,这样就更好调试了啊,只要抓包看发送的协议对不对就行了

解决方案3:

呼叫的时候要协商SDP,网上不是有个小例子吗,一搜就能搜到


sprintf_s(callee_url,"",it->remote_num,urlInfo->proxy_url,urlInfo->proxy_port);
osip_clrspace (callee_url);
osip_clrspace (caller_url);
//呼叫发起消息体
osip_message_t *invite = NULL;
//发送呼叫邀请消息
eXosip_lock();
int ret = eXosip_call_build_initial_invite(&invite,callee_url,caller_url,"","AudioChat");
osip_message_set_supported (invite, "100rel");
eXosip_unlock ();
if (ret != 0)
{
//提示邀请失败
TRACE0("--Intial INVITE failed!\n");
CString str;
str.Format(L"Intial INVITE failed,num is %S",it->remote_num);
LDB(str);
return;
}
char buff[4096]={0};
CSipSdp sdp;
if(!sdp.GetRemoteSdp(buff,callInfo,urlInfo,userInfo,controlInfo,codeInfo,it->remote_num,m_MutexPortList))
{
LDB(_T("构造sdp失败"));
return;
}
osip_message_set_body(invite,buff,strlen(buff));
osip_message_set_content_type (invite, "application/sdp");
osip_message_set_header (invite, "Roster-Manager", callInfo->u_list.manager.c_str());
osip_message_set_header (invite, "EndPoints", endponits.c_str());
//插入定时器
//int maxCount = m_pEndPoint->m_Timer->GetMaxTimerCount()+1;
//m_pEndPoint->m_Timer->InsertTimer(maxCount,MAXTIMEOUT,it->remote_num);
//发送呼叫邀请
eXosip_lock ();
int c_id = eXosip_call_send_initial_invite (invite);
eXosip_unlock ();
if(c_id <0) //send error
{
LDB(_T("--eXosip_call_send_initial_invite (invite)"));
TRACE0("--eXosip_call_send_initial_invite (invite)\n!");
}

上一篇SIP研发的朋友请进
下一篇rtp关于视频时间戳和时间戳增量的问题
明星图片
相关文章
《eXosip中invite的问题》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)