---发送一个注册信息后,服务器返回注册失败,响应值为401,然后我根据event->rid创建一个osip_message_t准备发送一个带验证信息的注册包,在调用eXosip_register_build_register函数返回-3失败了
eXosip_register_build_register (int rid, int expires, osip_message_t ** reg)
这个函数一直返回-3,查看源码发现是在这个函数的下面那段代码里出错了。
if (jr->r_last_tr != NULL)
{
if (jr->r_last_tr->state != NICT_TERMINATED
&& jr->r_last_tr->state != NICT_COMPLETED)
{
return OSIP_WRONG_STATE;
}
}
有人知道为什么吗?谢谢
------解决方案--------------------------------------------------------
我用的是eXosip_register_build_initial_register(from, proxy, NULL, expires, ®);
然后eXosip_register_send_register(ret, reg);//Send a REGISTER request for an existing registration