GB28181基本注册流程整理

GB28181基本注册流程整理
ftd vs ks1、基本注册流程
输出滤波器2、注意事项
设备注册之后,在注册有效期到来时需要刷新注册;
刷新注册和⾸次注册的注册ID必需要⼀致(exoisp框架中注册ID⼀致则Call-ID会⼀致),否则级联会出现异常);
默认的注册有效期是3600s。在有效期内,设备需要每30S(默认间隔)发送keeplive MESSAGE到服务器,服务器若连续3次没有收到设备的keeplive消息,则认为设备掉线;
3、流程
《1》、⾸次注册流程抓包(eXosip_register_build_initial_register)
《2》、注册刷新抓包
调⽤eXosip_register_build_register来创建刷新注册的信息,需使⽤和注册时⼀致的注册ID,构建出的刷新消息⾃⼰会加上鉴权消息。注意:刷新注册发出后服务器端不会像注册时发送401响应,⽽是直接回复200 OK响应
4、demo
《1》、注册
eXosip_lock(g_context_eXosip);
int register_id = eXosip_register_build_initial_register(g_context_eXosip, from, proxy, contact_str, expires, ®);
if (0 > register_id)
{
eXosip_unlock(g_context_eXosip);
cout << "eXosip_register_build_initial_register error: " << ret;
usleep(10*SECOND);  //10s
continue ;
}
ret = eXosip_register_send_register(g_context_eXosip, register_id, reg);
eXosip_unlock(g_context_eXosip);
if (0 != ret)
{
口袋领域
cout << "eXosip_register_send_register with error: " << ret;
}
eXosip_register_build_initial_register调⽤成功可返回注册ID,注册刷新⽤,也可以在事件处理流程收到远程的200 OK中获得,如果注册成功,两者以⼀样的。
200 ok处获取如下:苒苒草
《2》、注册刷新
/* 注册刷新 */
eXosip_lock(g_context_eXosip);
int ret = eXosip_register_build_register(g_context_eXosip, m_register_id, expires, ®);  /* m_register_id ⾸次注册保存下来的注册ID */
if(ret != OSIP_SUCCESS)
{
cout << "eXosip_register_build_register fail  " ;
eXosip_unlock(g_context_eXosip);
sleep(10);  //10s
continue;
}
ret = eXosip_register_send_register(g_context_eXosip, m_register_id, reg);
if(ret != OSIP_SUCCESS)
{
cout << "eXosip_register_send_register fail  " ;
}
菱角剥壳机
eXosip_unlock(g_context_eXosip);
5、⼀些字段解释
6、参考
[1]、GBT 28181-2016公共安全视频监控联⽹系统信息传输、交换、控制技术要求.pdf
[2]、
[3]、穴盘

本文发布于:2024-09-23 05:18:52,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/201337.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:注册   刷新   消息   设备   信息   流程
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议