exOsip,VIA里的IP设置到Contact的问题

qcy1987 2011-11-30 11:26:38
客户端exOsip的问题
客户端向服务器端发送一个注册请求,服务器端会回复一个401,然后我再发送,之后服务器返回200.流程正常.在内网测试时一切没问题.
现在的情况是,服务器在外网,在服务器端返回401的时候,返回的VIA值里面有rport和received两个值.我需要得到这两个值并且在发送下次注册将这两个值获取到并且设置到发送的Contact里.

不知道大家有没有做过类似的.请帮助一下谢谢.坐等~~~
最好有exOsip的实现这种情况的示例代码.
...全文
1624 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
乐CC 2012-02-25
  • 打赏
  • 举报
回复
很久没来CSDN了,Osip协议栈我不是很熟,大致看了下,你是想自己做NAT吧
这就不只关系到你UA的问题了,需要你路由器支持啊
更新contact字段只是你服务器接受注册时使用,能否穿透还得看你路由器哦
qcy1987 2011-11-30
  • 打赏
  • 举报
回复
[Quote=引用楼主 qcy1987 的回复:]
客户端exOsip的问题
客户端向服务器端发送一个注册请求,服务器端会回复一个401,然后我再发送,之后服务器返回200.流程正常.在内网测试时一切没问题.
现在的情况是,服务器在外网,在服务器端返回401的时候,返回的VIA值里面有rport和received两个值.我需要得到这两个值并且在发送下次注册将这两个值获取到并且设置到发送的Contact里.

不知道大家有没有做过类似的.请帮……
[/Quote]
你好,你的顺序改一下.

eXosip_clear_authentication_info();
eXosip_add_authentication_info("1","1","1","md5",realm);
eXosip_register_build_register(i,1800,®);

eXosip_lock();
i=eXosip_register_build_initial_register(from,registrar,0,1800,®);
if (i<0)
{
printf("register failed\n");
return -4;
}
eXosip_register_send_register(i,reg);//发送注册信息
eXosip_unlock();


while(flag2)
{
eXosip_lock();
je=eXosip_event_wait(1,0);
eXosip_unlock();
if(je->response->status_code==401)
{
eXosip_lock ();
eXosip_default_action(je);
eXosip_unlock ();
}
if(je->response->status_code==200)
{
flag2=0;
}

大概是这样...我也没有代码调试你试试吧.
xbs1986 2011-11-30
  • 打赏
  • 举报
回复
你服务端是自己开发的吗?你用miniSipserver能注册成功吗?请教恢复401后,该怎么恢复消息。我添加了鉴权消息,可是回复的还是401.不知道错误在哪。代码在这:账号密码都是1,
eXosip_lock();
i=eXosip_register_build_initial_register(from,registrar,0,1800,®);
if (i<0)
{
printf("register failed\n");
return -4;
}
eXosip_register_send_register(i,reg);//发送注册信息
eXosip_unlock();
while(flag2)
{
eXosip_lock();
je=eXosip_event_wait(1,0);
eXosip_unlock();
if(je->response->status_code==401)
{
eXosip_lock();
eXosip_clear_authentication_info();
eXosip_add_authentication_info("1","1","1","md5",realm);
eXosip_register_build_register(i,1800,®);
eXosip_register_send_register(i,reg);
eXosip_unlock();
}
if(je->response->status_code==200)
{
flag2=0;
}

1,394

社区成员

发帖
与我相关
我的任务
社区描述
VOIP相关技术探讨专区
社区管理员
  • VOIP技术探讨社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧