gb28181注册过程中抓包出现 0 bindings

最近在对接大华28181相机平台,在注册的时候发现已经注册上了,但是大华相机红色图标却没有变绿,抓包看的时候发现,如下:
在这里插入图片描述
最后有一个0 bindings
后来问同事发现原来是注册回复200OK的时候忘了expire这个头域了:

这是没有加expire头域的情况

REGISTER sip:34020000002000000099@192.168.1.215:25060 SIP/2.0
Call-ID: 9addd2a85e08716f4a7974783e3b91be
Contact: <sip:34020000001320000003@192.168.1.108:15060>
Content-Length: 0
CSeq: 1 REGISTER
Expires: 3600
From: <sip:34020000001320000003@192.168.1.108:15060>;tag=025f438da1c4607d4b574fa9ae6b7d7c
Max-Forwards: 70
Route: <sip:34020000001320000003@192.168.1.215:25060;lr>
To: <sip:34020000001320000003@192.168.1.108:15060>
User-Agent: SIP UAS V3.0.0.799029
Via: SIP/2.0/UDP 192.168.1.108:15060;rport;branch=z9hG4bKc7cd91cae5b6eccd26c39bb2f9ab9b08

SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.1.108:15060;rport=15060;branch=z9hG4bKc7cd91cae5b6eccd26c39bb2f9ab9b08
From: <sip:34020000001320000003@192.168.1.108:15060>;tag=025f438da1c4607d4b574fa9ae6b7d7c
To: <sip:34020000001320000003@192.168.1.108:15060>;tag=279519764
Call-ID: 9addd2a85e08716f4a7974783e3b91be
CSeq: 1 REGISTER
User-Agent: ShenYanAI
Date: 2021-11-18T21:16:09:000
Content-Length: 0

正常注册的时候是:

REGISTER sip:34020000002000000099@192.168.1.215:25060 SIP/2.0
Call-ID: 3753989c4809910f26d58af021c7d652
Contact: <sip:34020000001320000003@192.168.1.108:15060>
Content-Length: 0
CSeq: 1 REGISTER
Expires: 3600
From: <sip:34020000001320000003@192.168.1.108:15060>;tag=840787920cfeda053bb87dc4c72d83fd
Max-Forwards: 70
Route: <sip:34020000001320000003@192.168.1.215:25060;lr>
To: <sip:34020000001320000003@192.168.1.108:15060>
User-Agent: SIP UAS V3.0.0.799029
Via: SIP/2.0/UDP 192.168.1.108:15060;rport;branch=z9hG4bK2e38412b2e61ebfe89ad6cf581b323b5

SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.1.108:15060;rport=15060;branch=z9hG4bK2e38412b2e61ebfe89ad6cf581b323b5
From: <sip:34020000001320000003@192.168.1.108:15060>;tag=840787920cfeda053bb87dc4c72d83fd
To: <sip:34020000001320000003@192.168.1.108:15060>;tag=203761805
Call-ID: 3753989c4809910f26d58af021c7d652
CSeq: 1 REGISTER
Contact: <sip:34020000001320000003@192.168.1.108:15060>
User-Agent: ShenYanAI
Date: 2021-11-19T09:25:37:000
Expires: 3600
Content-Length: 0

这里说明一点,我上面的注册过程把authn给取消了,为啥取消,时间太急了,后面慢慢补充。
至于怎么加expire和contact:
我用的是exosip

void UA::responseOK(eXosip_event_t *ev, int code, std::string bingding) {
  eXosip_event_t *event_ = ev;
  auto tid = event_->tid;
  osip_message_t *msg = nullptr;

  int ret;
  ret = eXosip_message_build_answer(m_context, tid, code, &msg);
  if (0 != ret) {
    LOG_INFO("build sip call response failed\n");
    eXosip_message_send_answer(m_context, event_->tid, 400, nullptr);
    return;
  }

  char time[64] = {0};
  std::time_t t = std::time(nullptr);
  if (std::strftime(time, sizeof(time), "%FT%T:000", std::localtime(&t))) {
    LOG_INFO("Send Message Resp time: ", time);
  }
  osip_message_set_date(msg, time);

  if (!bingding.empty()) {
    osip_message_set_expires(msg, "3600");
    //这里binding就是contact
    //sip:34020000001320000003@192.168.1.108:15060
    osip_message_set_contact(msg, bingding.c_str());
  }

  ret = eXosip_message_send_answer(m_context, tid, code, msg);
  if (0 != ret) {
    LOG_INFO("call send response ring failed");
    return;
  }
  return;
}
  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值