| 
					
				 | 
			
			
				@@ -64,7 +64,12 @@ func processPacket(packet []byte) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		fmt.Println("Invalid packet length") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	lfshook.NewLogger().Logger.Infof("Get data from STC ===============:%x", packet) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	//for test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if packet[5] != 0x03 && packet[5] != 0x0c && packet[5] != 0x01 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		lfshook.NewLogger().Logger.Infof("Get data from STC ===============:%x", packet) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	//check if the cmd type is avtive 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	if packet[5] == 0x03 { // ACTIVE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		Active([1]byte{packet[8]}) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -136,59 +141,60 @@ func Active(data [1]byte) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	//var info model.Sysinfo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	active.Actived = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	Num := int(data[0]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	lfshook.NewLogger().Logger.Infof("Active data : %x", Num) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	//Num := int(data[0]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	//lfshook.NewLogger().Logger.Infof("Active data : %x", Num) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	/* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   switch Num { // 设置全局的激活信号,并通过协议(待定)通知终端注册到对应的激活主机上 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   case 0: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   	lfshook.NewLogger().Logger.Infof("=================Inactive==================") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   	info.Name = "cab_active" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   	info.Value = "0" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   	_, er := mysql.DBOrmInstance.Where("name = ?", "cab_active").Update(&info) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   	if er != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   		lfshook.NewLogger().Logger.Infof("update sysinfo err : %+v", er.Error()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   		return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   case 1: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   	lfshook.NewLogger().Logger.Infof("=================active===MC1===============") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   	if active.CabNum == "1" { // local cab is MC1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   		info.Name = "cab_active" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   		info.Value = "1" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   		active.Actived = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   	} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   		info.Name = "cab_active" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   		info.Value = "0" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   		active.Actived = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   	_, er := mysql.DBOrmInstance.Where("name = ?", "cab_active").Update(&info) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   	if er != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   		lfshook.NewLogger().Logger.Infof("update sysinfo err : %+v", er.Error()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   		return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   case 8: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   		lfshook.NewLogger().Logger.Infof("=================active===MC8===============") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   		if active.CabNum == "8" { //Local cab is MC8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   			info.Name = "cab_active" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   			info.Value = "1" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   			active.Actived = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   		} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   			info.Name = "cab_active" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   			info.Value = "0" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   			active.Actived = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   		_, er := mysql.DBOrmInstance.Where("name = ?", "cab_active").Update(&info) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   		if er != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   			lfshook.NewLogger().Logger.Infof("update sysinfo err : %+v", er.Error()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   			return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   switch Num { // 设置全局的激活信号,并通过协议(待定)通知终端注册到对应的激活主机上 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   case 0: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   	lfshook.NewLogger().Logger.Infof("=================Inactive==================") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   	info.Name = "cab_active" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   	info.Value = "0" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			active.Actived = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   	_, er := mysql.DBOrmInstance.Where("name = ?", "cab_active").Update(&info) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   	if er != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   		lfshook.NewLogger().Logger.Infof("update sysinfo err : %+v", er.Error()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   		return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   case 1: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   	lfshook.NewLogger().Logger.Infof("=================active===MC1===============") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   	if active.CabNum == "1" { // local cab is MC1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   		info.Name = "cab_active" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   		info.Value = "1" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   		active.Actived = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   	} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   		info.Name = "cab_active" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   		info.Value = "0" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   		active.Actived = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   	_, er := mysql.DBOrmInstance.Where("name = ?", "cab_active").Update(&info) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   	if er != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   		lfshook.NewLogger().Logger.Infof("update sysinfo err : %+v", er.Error()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   		return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   case 8: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   		lfshook.NewLogger().Logger.Infof("=================active===MC8===============") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   		if active.CabNum == "8" { //Local cab is MC8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   			info.Name = "cab_active" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   			info.Value = "1" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   			active.Actived = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   		} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   			info.Name = "cab_active" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   			info.Value = "0" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   			active.Actived = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   		_, er := mysql.DBOrmInstance.Where("name = ?", "cab_active").Update(&info) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   		if er != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   			lfshook.NewLogger().Logger.Infof("update sysinfo err : %+v", er.Error()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   			return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -309,6 +315,8 @@ func SelfCheck(data []byte) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		for _, ext := range Pacus { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			asterisk.Hangup(ext) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		asterisk.Hangup("2311") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		asterisk.Hangup("2381") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -463,10 +471,13 @@ func RecordStorageConf(data []byte) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	info.PadRcdDelDays = int(data[4]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	info.PaRcdDelDays = int(data[5]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	info.CpaRcdDelDays = int(data[6]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	info.OpaRcdDelDays = int(data[7]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	info.OpaRcdStorageDays = int(data[7]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	info.OpaRcdDelDays = int(data[8]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	//lfshook.NewLogger().Infof("=============Set record Conf : %+v", info) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	//update record config 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	_, er := mysql.DBOrmInstance.Update(&info) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	_, er := mysql.DBOrmInstance.AllCols().Update(&info) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	if er != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		lfshook.NewLogger().Logger.Infof("update special voice to exten err : %+v", er.Error()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 |