EasyCVR国标级联上级显示状态异常情况如何处理?
EasyCVR的级联功能是将我们上面的通道通过国标标准的sip协议推送到上级去的一种方式,但是不同的上级平台对接设置上都有各自的特点,我们在配置时,还需要根据不同平台的属性进行调整。
EasyCVR国标级联上级时,出现级联状态异常的现象。针对该问题我们需要做调整,所以首先来抓包排查。注册信令的抓包文件如下所示:

从上我们可以看出Register消息发送to字段出现了拼接错误,这个错误主要是上次提交点误操作导致的,因此我们需要对此提交进行代码上的优化,优化后参考代码如下所示:
@@ -260,6 +260,7 @@ func (c *Client) ClientOnline(b bool) {
//if strings.ToUpper(c.Transport.Protocol) == "UDP" {
c.Cascade.Online = b
db.SQLite.Model(c.Cascade).Where("id=?", c.Cascade.ID).Update("online", b)
log.Printf("级联状态更新[%d], Online[%d]:", c.Cascade.ID, b)
//} else {
// if b {
// c.Cascade.Online = b
@@ -367,7 +368,7 @@ func (c *Client) MakeRequest(method, to string, tag string, body string) (req *R
localRealm = c.Cascade.Username[0:10]
} //c.Client.Cascade.Username,localRealm,
buf.WriteString(fmt.Sprintf("From: <sip:%s@%s>;tag=%s\r\n", c.Cascade.Username, localRealm, tag))
buf.WriteString(fmt.Sprintf("To: <sip:%s@%s>;tag=%s\r\n", c.Cascade.Serial, c.Cascade.Realm))
buf.WriteString(fmt.Sprintf("To: <sip:%s@%s>\r\n", c.Cascade.Serial, c.Cascade.Realm))
buf.WriteString(fmt.Sprintf("Call-ID: %s\r\n", GenCallID()))
c.cseq++
buf.WriteString(fmt.Sprintf("CSeq: %d %s\r\n", c.cseq, strings.ToUpper(method)))
安防视频云服务平台EasyCVR作为一套较为成熟稳定的视频分发平台,不需要对现有监控架构做调整,支持CDN推流,灵活适应原有架构;且按需灵活扩展、收缩资源,免去了插件安装、浏览器限定等条件,实现了无插件、多平台自由观看回放。
此外,EasyCVR已经在扩展智能分析等相关功能,其中人脸识别功能及人流量统计功能已经在部分项目中得到应用,不久后车流量统计、车牌识别等功能也会上线。如果大家还想了解更多或者进行实际的部署测试,欢迎直接下载。
浙公网安备 33010602011771号