CGI

状态 CGI

版本/作者/日期修改内容
1.0/David/2013-03-30初版

概述 用户可通过 CGI 来查询 IP Camera 的状态和日志。IP Camera 的状态包括:

名称

描述

time

IP Camera 当前的时间,当前时间到 1970-1-1 00:00:00 GMT 所流逝的秒数

alarm

IP Camera 当前报警状态
0:无报警
1:移动侦测报警
2:外部报警
3:声音侦测报警

upnp

UPNP 状态
0:未动作
1:UPNP 成功
-1:未发现 IGD 设备
-2:无效的 IGD 设备
-3:UPNP 操作失败

ntp

NTP 状态
0:未动作
1:NTP 成功
2:NTP 失败

record

录像状态
0:当前未录像
1:当前正在录像

disk

录像磁盘状态
0:未检测磁盘
-1:磁盘错误
-2:磁盘空间不足
>0:磁盘剩余空间百分比

ddns

DDNS 状态
0:未动作
-1:参数错误
-2:访问服务器出错
-3:设备内部错误
100:3322 成功
101:3322 返回 BADSYS
102:3322 返回 BADAUTH
103:3322 返回 BADAGENT
104:3322 返回 NOTDONATOR
105:3322 返回 NOTFQDN
106:3322 返回 NOHOST
107:3322 返回 NOTYOURS
108:3322 返回 NOTACTIVE
109:3322 返回 NUMHOST
110:3322 返回 ABUSE
111:3322 返回 DNSERR
112:3322 返回 911
113:3322 未知错误
200:dyndns 成功
201:dyndns 返回 BADSYS
202:dyndns 返回 BADAGENT
203:dyndns 返回 BADAUTH
204:dyndns 返回 NOTDONATOR
205:dyndns 返回 NOTFQDN
206:dyndns 返回 NOHOST
207:dyndns 返回 NOTYOURS
208:dyndns 返回 NUMHOST
209:dyndns 返回 ABUSE
210:dyndns 返回 DNSERR
211:dyndns 返回 911
212:dyndns 未知错误
300:oray 标准服务成功
301:oray 专业服务成功
302:oray 返回用户名或密码错误
303:oray 返回主机名错误
304:oray 更新错误
305:oray 更新超时
306:oray 未知错误
400:9299 成功
401:9299 未知错误
402:9299 返回 ER(域名已过期)
403:9299 返回 DA(域名未激活)
404:9299 返回 SNE(用户或密码错误)
405:9299 返回 NE(域名不存在)
500:NOIP 成功
501:NOIP 返回 NOHOST
502:NOIP 返回 BADAUTH
503:NOIP 返回 BADAGENT
504:NOIP 返回 NOTDONATOR
505:NOIP 返回 ABUSE
506:NOIP 返回 911
507:NOIP 未知错误
DDNS_TRIDRO_ERR_OK = 600
DDNS_TRIDRO_ERR_NOT100 = 601,
DDNS_TRIDRO_ERR_NOY = 602
DDNS_TRIDRO_ERR_TIMEOUT = 603
DDNS_TRIDRO_ERR_UNKNOWN = 604
DDNS_TRIDRO_NOERR = 605				// updating
#define DDNS_EASYN_OK 					700
#define DDNS_EASYN_NOAUTH 				701
#define DDNS_EASYN_NOID 				702
#define DDNS_EASYN_OVER 				703
#define DDNS_EASYN_ERR_IDDISABLE 		704
#define DDNS_EASYN_ERR_PARAM 			705
#define DDNS_EASYN_UNKNOWN_ERR 			706

tutk

#define STATUS_TUTK_P2P_NOACTION					 
	0
#define STATUS_TUTK_P2P_LOGGED_IN					
	1
#define STATUS_TUTK_P2P_LOGGING_IN					
	2
#define STATUS_TUTK_P2P_UNLICENSE                     
	-1 //The UID is not licensed or expired
#define STATUS_TUTK_P2P_NOT_INITIALIZED              
	-2  // The IOTC module is not initialized yet
#define STATUS_TUTK_P2P_LOGIN_ALREADY_CALLED         
	-3 //The device is already under login process currently
#define STATUS_TUTK_P2P_FAIL_CREATE_SOCKET            
	-4  // Fails to create sockets
#define STATUS_TUTK_P2P_FAIL_SOCKET_OPT               
	-5 //Fails to set up socket options
#define STATUS_TUTK_P2P_FAIL_SOCKET_BIND              
	-6 //Fails to bind sockets
#define STATUS_TUTK_P2P_FAIL_CREATE_THREAD            
	-7 // Fails to create threads
#define STATUS_TUTK_P2P_FAIL_RESOLVE_HOSTNAME         
	-8  //Cannot resolve masters host name
#define STATUS_TUTK_P2P_TCP_TRAVEL_FAILED              
	-9 //Cannot connect to masters in neither UDP nor TCP
#define STATUS_TUTK_P2P_TCP_CONNECT_TO_SERVER_FAILED  
	-10 //Cannot connect to IOTC servers in TCP
#define STATUS_TUTK_P2P_NO_TCP_SUPPORT                 
	-11 //The device does not support TCP relay
#define STATUS_TUTK_P2P_SERVER_NOT_RESPONSE            
	-12 //IOTC servers have no response
#define STATUS_TUTK_P2P_FAIL_GET_LOCAL_IP              
	-13 //Fails to get the devices local IP address
#define STATUS_TUTK_P2P_NETWORK_UNREACHABLE            
	-14  //Network is unreachable

skype 只适用于 RC9264

#define STATUS_SKYPE_NOACTION					0
#define STATUS_SKYPE_LOGGED_IN					1
#define STATUS_SKYPE_LOGGING_IN					2
#define STATUS_SKYPE_LOGGING_OUT				3
#define STATUS_SKYPE_UNKNOWN_ERROR				-1
#define STATUS_SKYPE_HTTPS_PROXY_AUTH_FAILED 	-2 
#define STATUS_SKYPE_SOCKS_PROXY_AUTH_FAILED 	-3 
#define STATUS_SKYPE_P2P_CONNECT_FAILED 		-4 
#define STATUS_SKYPE_SERVER_CONNECT_FAILED 		-5 
#define STATUS_SKYPE_SERVER_OVERLOADED 			-6 
#define STATUS_SKYPE_DB_IN_USE 					-7 
#define STATUS_SKYPE_INVALID_SKYPENAME 			-8 
#define STATUS_SKYPE_INVALID_EMAIL 				-9 
#define STATUS_SKYPE_UNACCEPTABLE_PASSWORD 		-10 
#define STATUS_SKYPE_SKYPENAME_TAKEN 			-11 
#define STATUS_SKYPE_REJECTED_AS_UNDERAGE 		-12 
#define STATUS_SKYPE_NO_SUCH_IDENTITY 			-13 
#define STATUS_SKYPE_INCORRECT_PASSWORD 		-14 
#define STATUS_SKYPE_TOO_MANY_LOGIN_ATTEMPTS 	-15 
#define STATUS_SKYPE_PASSWORD_HAS_CHANGED 		-16 
#define STATUS_SKYPE_PERIODIC_UIC_UPDATE_FAILED -17 
#define STATUS_SKYPE_DB_DISK_FULL 				-18 
#define STATUS_SKYPE_DB_IO_ERROR 				-19 
#define STATUS_SKYPE_DB_CORRUPT 				-20 
#define STATUS_SKYPE_DB_FAILURE 				-21 
#define STATUS_SKYPE_INVALID_APP_ID 			-22 
#define STATUS_SKYPE_APP_ID_FAILURE 			-23 
#define STATUS_SKYPE_UNSUPPORTED_VERSION 		-24
#define STATUS_SKYPE_OFFLINE					-25

IP Camera 的日志分类有:

事件 ID

事件描述

事件分类

0x00000

设备启动

系统

0x00001

HTTPS 错误

系统

0x00002

磁盘空间已满

系统

0x00003

磁盘出错

系统

0x10000

授权用户访问

用户

0x10001

拒绝用户访问

用户

0x10002

拒绝 Session 访问

用户

0x10003

用户创建 Session

用户

0x10004

用户结束 Session

用户

0x10005

Session 被设备终止

用户

0x20000

发送邮件成功

邮件

0x20001

发送邮件失败:系统错误

邮件

0x20002

发送邮件失败:参数错误

邮件

0x20003

发送邮件失败:无法连接服务器

邮件

0x20004

发送邮件失败:STARTTLS 失败

邮件

0x20005

发送邮件失败:TLS 失败

邮件

0x20006

发送邮件失败:服务器错误

邮件

0x20007

发送邮件失败:不支持的认证方式

邮件

0x20008

发送邮件失败:用户认证失败

邮件

0x20009

发送邮件失败:邮件被拒绝

邮件

0x30000

报警停止

报警

0x30001

移动侦测报警

报警

0x30002

外部报警

报警

0x30003

声音侦测报警

报警

0x30004

报警动作失败

报警

查询 IP Camera 的状态

get_status.cgi

  • 权限要求:
  • 语法:
/get_status.cgi[?user=&pwd=&session=&json=&jsonp_callback=&status=&…&status=]
  • 参数:
user/pwd:参数认证方式中需用到的登录用户名/密码
session:Session 认证方式需用到的 Session ID
json/jsonp_callback:返回 json 类型数据设置
status:需要查询的状态名称和所对应的返回的变量名称,形式为:
status_name=var_name
status_name 为要查询的状态名称,var_name为所对应的返回的变量名称。如果要查询多个状态,则设置多个,如没有设置,则按照缺省变量名,返回全部状态。
  • 返回:
返回需要查询的状态的变量定义。
  • 示例:
http://192.168.0.188/get_status.cgi?session=1891048766&time=t&alarm=&upnp=u 
IP Camera 返回:
var t=1309768553;
var alarm=0;
var u=1;
  
http://192.168.0.188/get_status.cgi?session=1891048766 
IP Camera 返回全部的状态:
var time=1309768641;
var alarm=0;
var upnp=1;
var ntp=1;
var record=0;
var disk=-1;
var ddns=100;

查询 IP Camera 的日志

get_log.cgi

  • 权限要求:
管理者
  • 语法:
/get_log.cgi[?user=&pwd=&session=&json=&jsonp_callback=&number=&t=&event=&event_user=&ip=]
  • 参数:
user/pwd:参数认证方式中需用到的登录用户名/密码
session:Session 认证方式需用到的 Session ID
json/jsonp_callback:返回 json 类型数据设置
t/event/event_user/ip/number:返回的相应的变量名称设置,注意 event_user 对应的缺省变量名为 user,即没有附带 event_user 参数或设 event_user 为空,返回的用户名为 user。
  • 返回:
如果是返回 js 文本:
t:数组变量,事件的发生时间
event:数组变量,事件的 ID
user:数组变量,产生事件的访问用户,可以为空
ip:数组变量,产生事件的访问 IP 地址,可以为空
number:数组中的变量数目,即事件数目
否则,返回 log 对象数组,log 对象包括:t, event, user, ip
  • 示例:
http://192.168.0.188/get_logs.cgi?session=1891048766&t=time&number=n  
	IP Camera 返回:
	var event=new Array();
  var time=new Array();
  var user=new Array();
  var ip=new Array();
  event[0]=65536;
  time[0]=1309775672;
  user[0]='admin';
  ip[0]='192.168.0.16';
  event[1]=65537;
  time[1]=1309775670;
  user[1]='';
  ip[1]='192.168.0.16';
  event[2]=65536;
  time[2]=1309775651;
  user[2]='admin';
  ip[2]='192.168.0.16';
  event[3]=65536;
  time[3]=1309775631;
  user[3]='admin';
  ip[3]='192.168.0.16';
  event[4]=131072;
  time[4]=1309774476;
  user[4]='';
  ip[4]='';
  event[5]=131072;
  time[5]=1309774459;
  user[5]='';
  ip[5]='';
  event[6]=65539;
  time[6]=1309774435;
  user[6]='admin';
  ip[6]='192.168.0.16';
  event[7]=65536;
  time[7]=1309774435;
  user[7]='admin';
  ip[7]='192.168.0.16';
  event[8]=3;
  time[8]=24;
  user[8]='';
  ip[8]='';
    var n=9;
版权所有:深圳市瑞彩电子科技有限公司

信产部备案号:粤ICP备09050685号 技术支持:800069965