Académique Documents
Professionnel Documents
Culture Documents
HTTP API
1. Preface
This document specifies the Brickcom IPCAM HTTP API which enables applications to
access and/or configure the IP Cameras manufactured by Brickcom over a TCP/IP capable
network. Developers who wish to write their own utility should follow the API specification
herein.
2. TOC
BRICKCOM IPCAM ..................................................................................................................................... 1
HTTP API ....................................................................................................................................................... 1
1.
Preface ............................................................................................................................................ 2
2.
TOC ................................................................................................................................................ 3
Overview ....................................................................................................................................................... 9
3.
HTTP API Transaction ................................................................................................................. 10
4.
API Categories.............................................................................................................................. 12
5.
Streaming...................................................................................................................................... 13
5.1
getChannels .................................................................................................................................. 13
5.2
getChannel.................................................................................................................................... 14
5.3
addChannel ................................................................................................................................... 15
5.4
updateChannel .............................................................................................................................. 15
5.5
updateChannels............................................................................................................................. 17
5.6
deleteChannel ............................................................................................................................... 17
SVideoFormatSetting ............................................................................................................................... 18
5.7
getStream...................................................................................................................................... 23
5.8
setSnapshot ................................................................................................................................... 24
5.9
getSnapshot .................................................................................................................................. 24
5.10
setRtsp .......................................................................................................................................... 24
5.11
getRtsp.......................................................................................................................................... 25
5.12
getinboundChannel....................................................................................................................... 25
6.
Camera.......................................................................................................................................... 26
6.1
setWhiteBalance ........................................................................................................................... 26
6.2
getWhiteBalance........................................................................................................................... 26
6.3
setBrightness ................................................................................................................................ 26
6.4
6.5
6.6
6.7
6.8
6.9
6.10
getBrightness ................................................................................................................................ 27
setColorSaturation ........................................................................................................................ 28
getColorSaturation........................................................................................................................ 28
setMirrorFlip ................................................................................................................................ 29
getMirrorFlip ................................................................................................................................ 29
setSharpness ................................................................................................................................. 30
getSharpness ................................................................................................................................. 30
6.11
setContrast .................................................................................................................................... 31
6.12
6.13
getContrast.................................................................................................................................... 31
setFrequcny .................................................................................................................................. 32
6.14
6.15
6.16
6.17
6.18
6.19
6.20
6.21
6.22
6.23
6.24
6.25
6.26
6.27
getFrequency ................................................................................................................................ 32
setEffect ........................................................................................................................................ 33
getEffect ....................................................................................................................................... 33
setEnvMode.................................................................................................................................. 34
getEnvMode ................................................................................................................................. 34
setIRCutFilter ............................................................................................................................... 35
getIRCutFilter............................................................................................................................... 35
setIRLED...................................................................................................................................... 35
getIRLED ..................................................................................................................................... 36
setVideoOverlay ........................................................................................................................... 36
getVideoOverlay........................................................................................................................... 37
setAutoIris .................................................................................................................................... 38
getAutoIris.................................................................................................................................... 38
setCameraSetting.......................................................................................................................... 39
6.28
6.29
6.30
6.31
6.32
6.33
6.34
7.
7.1
7.2
7.3
7.4
7.5
7.6
getCameraSetting ......................................................................................................................... 40
setShutterSpeed ............................................................................................................................ 41
getShutterSpeed............................................................................................................................ 41
setGain.......................................................................................................................................... 42
getGain ......................................................................................................................................... 42
setPrivacy ..................................................................................................................................... 43
getPrivacy ..................................................................................................................................... 44
Audio ............................................................................................................................................ 45
setAudioDevice ............................................................................................................................ 45
getAudioDevice............................................................................................................................ 45
setAudioMuteState ....................................................................................................................... 46
getAudioMuteState....................................................................................................................... 46
setAudioVolume ........................................................................................................................... 47
getAudioVolume........................................................................................................................... 47
7.7
7.8
7.9
7.10
7.11
7.12
8.
8.1
8.2
8.3
playaudio ...................................................................................................................................... 47
stopaudio ...................................................................................................................................... 48
recordaudio ................................................................................................................................... 48
stoprecordaudio ............................................................................................................................ 49
getFilestatus.................................................................................................................................. 49
removeAudioFile.......................................................................................................................... 49
Network ........................................................................................................................................ 50
setBasicNetwork........................................................................................................................... 50
getBasicNetwork .......................................................................................................................... 51
setUPnP ........................................................................................................................................ 51
8.4
8.5
8.6
8.7
8.8
8.9
8.10
8.11
8.12
9.
9.1
9.2
9.3
9.4
getUPnP........................................................................................................................................ 52
setDDNS....................................................................................................................................... 53
getDDNS ...................................................................................................................................... 54
setEthernet .................................................................................................................................... 55
getEthernet.................................................................................................................................... 55
setWIFI ......................................................................................................................................... 56
getWIFI ........................................................................................................................................ 60
setIPFilter ..................................................................................................................................... 60
getIPFilter ..................................................................................................................................... 62
Storage.......................................................................................................................................... 63
getSDstatus ................................................................................................................................... 63
mount............................................................................................................................................ 63
umount.......................................................................................................................................... 63
removeFile.................................................................................................................................... 64
10.
10.1
10.2
10.3
10.4
10.5
10.6
10.7
11.
11.1
11.2
11.3
11.4
11.5
System .......................................................................................................................................... 65
getDeviceInfo ............................................................................................................................... 65
setTimeSetting .............................................................................................................................. 65
getTimeSetting.............................................................................................................................. 68
setSyslogSetting ........................................................................................................................... 68
getSyslogSetting ........................................................................................................................... 69
getSyslogFile ................................................................................................................................ 69
syslogClear ................................................................................................................................... 70
Admin ........................................................................................................................................... 71
addUser......................................................................................................................................... 71
deleteUser ..................................................................................................................................... 72
getUsers ........................................................................................................................................ 72
updateUser.................................................................................................................................... 72
setHTTP........................................................................................................................................ 73
11.6
11.7
11.8
11.9
11.10
11.11
11.12
11.13
11.14
11.15
setHTTP/HTTPS .......................................................................................................................... 73
getHTTP ....................................................................................................................................... 73
setHTTPS ..................................................................................................................................... 74
getHTTPS ..................................................................................................................................... 74
resetToDefault .............................................................................................................................. 74
upgradeFirmware.......................................................................................................................... 74
reboot............................................................................................................................................ 75
importConfigFile .......................................................................................................................... 75
exportConfigFile........................................................................................................................... 75
setPWDComplexity...................................................................................................................... 76
11.16
12.
12.1
12.2
12.3
12.4
13.
13.1
13.2
13.3
14.
14.1
14.2
14.3
getPWDComplexity ..................................................................................................................... 76
Capability ..................................................................................................................................... 77
getCapability ................................................................................................................................ 77
getVideoCodecs............................................................................................................................ 77
getResolutions .............................................................................................................................. 77
getAudioCodecs ........................................................................................................................... 77
Motion detection........................................................................................................................... 79
setMotionDetection ...................................................................................................................... 79
getMotionDetection...................................................................................................................... 80
getMotionDetections .................................................................................................................... 81
Event............................................................................................................................................. 82
setEventSetting ............................................................................................................................. 82
addEventSetting............................................................................................................................ 83
updateEventSetting....................................................................................................................... 84
14.4
14.5
14.6
14.7
14.8
14.9
14.10
14.11
14.12
14.13
14.14
14.15
14.16
15.
removeEventSetting ..................................................................................................................... 84
getEventPolicy.............................................................................................................................. 84
getEventRule ................................................................................................................................ 85
setEmailSetting............................................................................................................................. 85
getEmailSetting ............................................................................................................................ 88
setFTPSetting ............................................................................................................................... 88
getFTPSetting ............................................................................................................................... 89
setAlarmMediaInfo ...................................................................................................................... 91
getAlarmMediaInfo ...................................................................................................................... 91
setSamba....................................................................................................................................... 91
getSamba ...................................................................................................................................... 93
setHttp .......................................................................................................................................... 93
getHttp .......................................................................................................................................... 94
I/O Control ................................................................................................................................... 95
15.1
15.2
16.
16.1
16.2
17.
17.1
17.2
17.3
17.4
setGPIOSetting ............................................................................................................................. 95
getGPIOStatus .............................................................................................................................. 99
MSN ........................................................................................................................................... 100
setMSNBot ................................................................................................................................. 100
getMSNBot................................................................................................................................. 101
PIR sensor and White LED ........................................................................................................ 102
setpirsensor ................................................................................................................................. 102
getpirsenor .................................................................................................................................. 103
addWled...................................................................................................................................... 103
deleteWled.................................................................................................................................. 105
17.5
17.6
17.7
17.8
17.9
17.10
17.11
17.12
18.
18.1
18.2
18.3
18.4
18.5
18.6
18.7
18.8
18.9
18.10
18.11
18.12
19.
19.1
19.2
19.3
19.4
19.5
19.6
Iris................................................................................................................................................111
continuouspantiltmove ............................................................................................................... 112
continuouszoommove................................................................................................................. 112
continuousfocusmove ................................................................................................................. 112
absolutepoint .............................................................................................................................. 113
QueueControl ............................................................................................................................. 114
areazoom..................................................................................................................................... 114
Preset and Patrol ......................................................................................................................... 115
AddPreset ................................................................................................................................... 115
deletePreset................................................................................................................................. 115
gotoPreset ................................................................................................................................... 115
getPreset ..................................................................................................................................... 116
sethomePreset ............................................................................................................................. 117
setPatrol ...................................................................................................................................... 117
19.7
19.8
19.9
19.10
20.
20.1
20.2
20.3
20.4
20.5
clearPatrol................................................................................................................................... 118
startPatrol.................................................................................................................................... 118
stopPatrol.................................................................................................................................... 119
getPatrol...................................................................................................................................... 119
Scheduled Event ......................................................................................................................... 120
Add ............................................................................................................................................. 120
update ......................................................................................................................................... 122
delete........................................................................................................................................... 122
get ............................................................................................................................................... 122
getSchedule................................................................................................................................. 123
21.
Modification History .................................................................................................................. 124
22.
AppendixA InboundChanel ........................................................................................................ 125
21.1
Introduction ................................................................................................................................ 125
21.2
Inbound Chanel Configuration ................................................................................................... 126
21.3
Session Establishment and Teardown......................................................................................... 126
21.4
Authentication ............................................................................................................................ 129
23.AppendixB RTSP ................................................................................................................................. 130
Overview
Brickcom IPCAM HTTP API is the proprietary network control protocol designed by Brickcom
Technology to enable applications to access IP Cameras manufactured by Brickcom. The
API allows for configuration of the settings and inquiry of current status on these IP Cameras.
The API is structured and transmitted over HTTP protocols and hence it is given the name
HTTP API.
The complete API is further divided into several categories for ease of management. We
dedicate one chapter for each API category to better expound on that API subset.
Server response
HTTP/1.0 200 OK
Content-Type: text/plain
IPAddress=192.168.1.1
SubnetMask=255.255.255.0
Server response
HTTP/1.0 200 OK
Error Response
If the IP Camera is unable to handle the client HTTP API request due to certain conditions
such as system busy, incorrect parameters, or any other reasons, an appropriate HTTP
status code 400 Bad Request will be returned, and accompanied with an error code and an
error string to explain the failure.
Client request
GET/POST
Server response
HTTP/1.0 200 OK
ErrorCode=XXX
ErrorString=Invalid IP Address
4. API Categories
The API categories are listed in the table below.
Table 1, API Categories
API
Category
Streaming
Camera
Audio
Network
Event
Storage
System
Admin
Capability
Motion
detection
Event
I/O
control
Description
Enable users to set/get the setting of multimedia
streaming.
Enable users to set/get the camera/lens setting.
Enable user to set/get the audio devices setting.
Enable users to set/get the network setting.
Enable users to register to receive notification from
IPCAM.
Enable users to configure storage device for storing
media content.
Enable users to set/get miscellaneous system settings.
Enables users to perform administrative tasks over the IP
Camera.
Provide users with the list of available features supported
by the IP Camera.
Enable user to set/get the motion detection setting and
add/delete/update detection region.
Enable user to set/get the event setting and the
notification setting.
Enable user to control I/O status
5. Streaming
Streaming API allows applications to
1) set/get the IP Camera streaming setting
2) help users to view video streaming
5.1 getChannels
ActionEvent: getChannels
http://<IP>/cgi-bin/channels.cgi&action=get
Request
size =
Response
CH1.index=1
CH1.enabled=
CH1.name=
CH1.transportType=
CH1.video.enabled=
CH1.video.format.sourceDevice=
CH1.video.format.codecType=
CH1.video.format.codecSubType=
CH1.video.format.constantBitrate=
CH1.video.format.bitrateInKbps=
CH1.video.format.resolutionWidth=
CH1.video.format.resolutionHeight=
CH1.video.format.frameRate=
CH1.video.format.gop=
CH1.video.format.quality=
CH1.video.transport.multicastEnabled=
CH1.video.transport.multicastAddress=
CH1.video.transport.multicastPort=
CH1.video.transport.ttl=
CH1.audio.enabled=
CH1.audio.format.codecType=
CH1.audio.format.codecSubType=
CH1.audio.transport.multicastEnabled=
CH1.audio.transport.multicastAddress=
CH1.audio.transport.multicastPort=
CH1.audio.transport.ttl=
CH1.meta.enabled=
CH1.meta.format.mdAlarmEnabled=
CH1.meta.transport.multicastEnabled=
CH1.meta.transport.multicastAddress=
CH1.meta.transport.multicastPort=
CH1.meta.transport.ttl=
Ch2.index=2
.
Comment
Method
GET
5.2 getChannel
ActionEvent: getChannel
http://<IP>/cgi-bin/channels.cgi?action=getChannel&inde
Request
x=<index>
enabled=
Response
name=
transportType=
video.enabled=
video.format.codecType=
video.format.codecSubType=
video.format.constantBitrate=
video.format.bitrateInKbps=
video.format.resolutionWidth=
video.format.resolutionHeight=
video.format.frameRate=
video.format.gop=
video.format.quality=
video.transport.multicastEnabled=
video.transport.multicastAddress=
video.transport.multicastPort=
video.transport.ttl=
audio.enabled=
audio.format.codecType=
audio.format.codecSubType=
audio.transport.multicastEnabled=
audio.transport.multicastAddress=
audio.transport.multicastPort=
audio.transport.ttl=
meta.enabled=
meta.format.mdAlarmEnabled=
meta.transport.multicastEnabled=
meta.transport.multicastAddress=
meta.transport.multicastPort=
meta.transport.ttl=
Comment
GET
Method
5.3 addChannel
ActionEvent: addChannel
http://<IP>/cgi-bin/channels.cgi?
Request
action=add
index=<index>
enabled=
name=
transportType=
video.enabled=
video.format.codecType=
video.format.codecSubType=
video.format.constantBitrate=
video.format.bitrateInKbps=
video.format.resolutionWidth=
video.format.resolutionHeight=
video.format.frameRate=
video.format.gop=
video.format.quality=
video.transport.multicastEnabled=
video.transport.multicastAddress=
video.transport.multicastPort=
video.transport.ttl=
audio.enabled=
audio.format.codecType=
audio.format.codecSubType=
audio.transport.multicastEnabled=
audio.transport.multicastAddress=
audio.transport.multicastPort=
audio.transport.ttl=
meta.enabled=
meta.format.mdAlarmEnabled=
meta.transport.multicastEnabled=
meta.transport.multicastAddress=
meta.transport.multicastPort=
meta.transport.ttl=
Response
Comment
POST
Method
5.4 updateChannel
ActionEvent: updateChannel
http://<IP>/cgi-bin/channels.cgi?
Request
action=update
index=<index>
enabled=
name=
transportType=
video.enabled=
video.format.codecType=
video.format.codecSubType=
video.format.constantBitrate=
video.format.bitrateInKbps=
video.format.resolutionWidth=
video.format.resolutionHeight=
video.format.frameRate=
video.format.gop=
video.format.quality=
video.transport.multicastEnabled=
video.transport.multicastAddress=
video.transport.multicastPort=
video.transport.ttl=
audio.enabled=
audio.format.codecType=
audio.format.codecSubType=
audio.transport.multicastEnabled=
audio.transport.multicastAddress=
audio.transport.multicastPort=
audio.transport.ttl=
meta.enabled=
meta.format.mdAlarmEnabled=
meta.transport.multicastEnabled=
meta.transport.multicastAddress=
meta.transport.multicastPort=
meta.transport.ttl=
Response
Comment
Method
POST
5.5 updateChannels
ActionEvent: updateChannels
http://<IP>/cgi-bin/channels.cgi?
Request
action=updateAll
c1Index=&
c1Enable=&
c1Name=&
c1TransportType=&
c1VideoEnabled=&
c1VideoFormatCodecType=&
c1VideoFormatCodecSubType=&
c1VideoFormatConstantBitrate=&
c1VideoFormatBitrateInKbps =&
c1VideoFormatResolutionWidth=&
c1VideoFormatResolutionHeight=&
c1VideoFormatFrameRate=&
c1VideoFormatGop=&
c1VideoFormatQuality =&
c1VideoTransportMulticastEnabled=&
c1VideoTransportMulticastAddress=&
c1VideoTransportMulticastPort=&
c1VideoTransportTtl=&
c1AudioEnabled=&
c1AudioFormatCodecType=&
c1AudioFormatCodecSubType =&
c1AudioTransportMulticastEnabled=&
c1AudioTransportMulticastAddress=&
c1AudioTransportMulticastPort=&
c1AudioTransportTtl=&
c1MetaEnabled=&
c1MetaFormatMdAlarmEnabled =&
c1MetaTransportMulticastEnabled=&
c1MetaTransportMulticastAddress=&
c1MetaTransportMulticastPort=&
c1MetaTransportTtl=&
c2Index=&
c2Enable=&.
Response
c1VideoFormatGop //default ==0: 1 I-frame/second,
Comment
==N: 1 I-frame in N frames
POST
Method
5.6 deleteChannel
ActionEvent: deleteChannel
http://<IP>/cgi-bin/channels.cgi
Request
action=delete&index=<index>
Response
Comment
POST
Method
SVideoFormatSetting
SVideoFormatSetti
ng
sourceDevice
codecType
Req or
Opt or N
N
R
Integer
Char[16]
codecSubType
Char[16]
constantBitrate
bitrateInKbps
quality
resolutionWidth
resolutionHeight
framRate
R
R
R
R
R
R
Integer
Integer
Integer
Integer
Integer
Integer
Reserved
H264, MPEG4,
MJPEG,MIMIC,
Analytics
Depend on
encodeType
Table 3
Table 1
[1, 100]
Table 2
Table 2
[1, 30]
gop
Integer
Integer
Data type
Allowed Value
notes
Reserved
Kbps
pixel
pixel
HZ
Based on
the limit of
hardware
default
=>0: 1
I-frame/se
cond,
=>N: 1
I-frame in
N frames
resolutionHeight
800
400
192
1024
512
256
480
240
Value
0
1
Input module
OV9710OV9715
OV9710OV9715
OV9710OV9715
MT9M131
MT9M131
MT9M131
TW9910
TW9910
SAudioFormatSetting
SAudioFormatSetting
sourceDevice
codecType
codecSubType
numberOfChannel
Req or
Opt or
N
N
R
R
N
Data type
Integer
Char[16]
Char[16]
Integer
sampleRate
Integer
frameIntervalMS
Integer
sampleSizeBit
Integer
Allowed
Value
Reserved
table 3
table 3
[0,1]
notes
Reserved
0: Mono
1:Stereo
HZ
Reserved
MS
Reserved
Reserved
codeSubType
AUTO
PCMU
PCMA
AUTO
G726
G726
G726
G726
AMR
AMR
AMR
AMR
AMR
AMR
AMR
AMR
AMR
G726-16
G726-24
G726-32
G726-40
AUTO
AMR-MR475
AMR-MR515
AMR-MR59
AMR-MR67
AMR-MR74
AMR-MR795
AMR-MR102
AMR-MR122
note
default is G.711 mu-law
G.711 mu-law
G.711 A-law
default is G.726 ADPCM at 32
kbps
G.726 ADPCM at 16 kbps
G.726 ADPCM at 24 kbps
G.726 ADPCM at 32 kbps
G.726 ADPCM at 40 kbps
default is AMR at 12.2 kbps
AMR at 4.75 kbps
AMR at 5.15 kbps
AMR at 5.9 kbps
AMR at 6.7 kbps
AMR at 7.4 kbps
AMR at 7.95 kbps
AMR at 10.2 kbps
AMR at 12.2 kbps
STransportSetting (Video/Audio)
Req
or
STransportSetting
Opt
or
N
multicastEnabled
R
multicastAddress
multicastPort
ttl
R
R
R
Data
type
Allowed Value
Int
[0,1]
Char[16]
Int
Int
232.0.1.0-232.255.255.255
[1025,65534]
[1,255]
notes
0:disabled
1:enabled
RFC4607
SMetaFormatSetting
SMetaFormatSetting
mdAlarmEnabled
Req or
Opt or
N
R
Data type
Allowed
Value
Int
[0,1]
Data type
Allowed
Value
notes
0:disabled
1:enabled
SVideoSessionSetting
SVideoSessionSetting
enabled
Req or
Opt or
N
R
Int
[0,1]
notes
0:disabled
1:enabled
SAudioSessionSetting
SAudioSessionSetting
enabled
Req
or
Opt
or
N
R
Data
type
Allowed
Value
Int
[0,1]
notes
0:disabled 1:enabled
SMetaSessionSetting
SMetaSessionSetting
enabled
Req
or
Opt
or
N
R
Data
type
Allowed
Value
Int
notes
[0,1]
0:disabled 1:enabled
SChannelSetting
Req
or
Opt
or
N
R
Int
[0,1]
Index
Int
[0,5]
Name
Char[16]
Table 4
transportType
Int
Table 5
SChannelSetting
enabled
Data
type
Allowed
Value
notes
0:disabled
1:enabled
0:Reserved,
Sequence
number
Reject
[]<>"#'\&|;?*S
PACE
Value
0
1
2
3
4
5.7 getStream
ActionEvent: getStream
Request
Response
Comment
Method
rtsp://<IP>/channel<index>
<Index> is the index number of the SChannelSetting.
If user enables MJPG over http setting, user can set
request http://<IP>/channel<index>
For example:rtsp://192.168.1.100/channel1
5.8 setSnapshot
ActionEvent: setSnapshot
Request
http://<IP>/cgi-bin/media.cgi?
action=setSnapshot
resolution=1280x800
Response
Comment
Method
5.9 getSnapshot
ActionEvent: getSnapshot
Request
Response
Comment
Method
http://<IP>/cgi-bin/media.cgi?action=getSnapshot
Use this API to get the picture snapshot of current vision.
GET
5.10 setRtsp
ActionEvent: setRtsp
Request
http://<IP>/cgi-bin/ rtsp.cgi?
action=set
port=554
authentication=[0,1,2]
Response
Comment
Method
SRTSPSetting
port
authentication
POST
Req
or
Opt
or
N
R
Int
Int
Data
type
Allowed Value
554,
[1025,65534]
[0,2]
notes
0: NONE
1: BASIC
2: DIGEST
5.11 getRtsp
ActionEvent: getRtsp
Request
Response
Comment
Method
http://<IP>/cgi-bin/rtsp.cgi?action=get
rtsp.port=554
rtsp.authentication=
GET
5.12 getinboundChannel
ActionEvent: getinboundChannel
http://<IP>/cgi-bin/ inboundChannel.cgi?action=get
Request
ch1.transportType=1
Response
ch1.port=12345
ch1.codec=PCMA
ch2.transportType=
ch2.port
ch2.codec
Comment
GET
Method
6. Camera
Camera API allows applications to set/get the Camera/lens setting.
6.1 setWhiteBalance
ActionEvent: setWhiteBalance
http://<IP>/cgi-bin/camera.cgi?
Request
action=setWhiteBalance
mode=
Response
Comment
POST
Method
SWhiteBalanceSetting
Req
or
Opt
or
N
Data
type
Allowed
Value
mode
Int
[0,2]
level
Int
[0,100]
notes
WB_MODE_OFF=0
WB_MODE_SIMPLE=1
WB_MODE_ADVANCE
D=2
Reserved
6.2 getWhiteBalance
ActionEvent: getWhiteBalance
http://<IP>/cgi-bin/camera.cgi?action=getWhiteBalance
Request
mode=
Response
Comment
GET
Method
6.3 setBrightness
ActionEvent: setBrightness
http://<IP>/cgi-bin/camera.cgi?
Request
action= setBrightness
level=
Response
Comment
Method
SBrightnessSetting
level
POST
Req
or
Opt
or
N
R
Data
type
Int
Allowed
Value
[-5,5]
notes
6.4 getBrightness
ActionEvent: getBrightness
http://<IP>/cgi-bin/camera.cgi?action=getBrightness
Request
level=
Response
Comment
GET
Method
6.5 setColorSaturation
ActionEvent: setColorSaturation
http://<IP>/cgi-bin/camera.cgi?
Request
action= setColorSaturation
level=
Response
Comment
POST
Method
SColorSaturationSet
ting
level
Req or
Opt or
N
R
Data
type
Int
Allowed
Value
[-5,5]
notes
Based on the
limit of
hardware
6.6 getColorSaturation
ActionEvent: getColorSaturation
http://<IP>/cgi-bin/camera.cgi?action=getColorSaturation
Request
level=
Response
Comment
GET
Method
6.7 setMirrorFlip
ActionEvent: setMirrorFlip
http://<IP>/cgi-bin/camera.cgi?
Request
action= setMirrorFlip
mirrorEnabled =
flipEnabled=
Response
Comment
POST
Method
SMirrorFlipSetting
mirrorEnabled
Req or
Opt or
N
R
Int
[0,1]
Int
[0,1]
flipEnabled
Data
type
Allowed
Value
notes
0:disabled;
1:enabled
0:disabled;
1:enabled
6.8 getMirrorFlip
ActionEvent: getMirrorFlip
http://<IP>/cgi-bin/camera.cgi?action= getMirrorFlip
Request
flipEnabled=
Response
mirrorEnabled =
Comment
Method
GET
6.9 setSharpness
ActionEvent: setSharpness
http://<IP>/cgi-bin/camera.cgi?
Request
action= setSharpness
level=
Response
Comment
POST
Method
SSharpnessSetting
level
6.10
Req or
Opt or
N
R
Data
type
Int
Allowed
Value
[-5,5]
notes
Based on the
limit of
hardware
getSharpness
ActionEvent: getSharpness
http://<IP>/cgi-bin/camera.cgi?action=getSharpness
Request
level=
Response
Comment
GET
Method
6.11
setContrast
ActionEvent: setContrast
http://<IP>/cgi-bin/camera.cgi?
Request
action=setContrast
level=
Response
Comment
POST
Method
SContrastSetting
level
6.12
Req or
Opt or
N
R
Data type
Int
Allowed
Value
[-5,5]
notes
Based on the
limit of hardware
getContrast
ActionEvent: getContrast
http://<IP>/cgi-bin/camera.cgi?action=getContrast
Request
level=
Response
Comment
GET
Method
6.13
setFrequcny
ActionEvent: setFrequcny
http://<IP>/cgi-bin/camera.cgi?
Request
action=setFrequency
freq =
Response
Comment
POST
Method
SFrequencySetting
freq
6.14
Req or
Opt or
N
R
Data type
Int
Allowed
Value
[0,1]
notes
0,
FREQ_60HZ
1,
FREQ_50HZ
getFrequency
ActionEvent: getFrequency
http://<IP>/cgi-bin/camera.cgi?action=getFrequency
Request
freq=
Response
Comment
GET
Method
6.15
setEffect
ActionEvent: setEffect
http://<IP>/cgi-bin/camera.cgi?
Request
action=setEffect
effectMode =
colorMode=
Response
Comment
POST
Method
effectMode
Req or
Opt or
N
R
Int
[0,1]
colorMode
Int
[0,1]
SEffectSetting
6.16
Data type
Allowed
Value
getEffect
ActionEvent: getEffect
http://<IP>/cgi-bin/camera.cgi?action=getEffect
Request
effectMode=
Response
colorMode=
Comment
GET
Method
notes
0: Auto
1: Manual
0: Color
1:
Black&Whit
e
6.17
setEnvMode
ActionEvent: setEnvMode
http://<IP>/cgi-bin/camera.cgi?
Request
action=setEnvMode
envMode =
Response
Comment
POST
Method
SEnvModeSetting
envMode
6.18
Req or
Opt or
N
R
Data
type
Int
Allowed
Value
[0,1]
notes
0,MODE_OUTDOOR
1,MODE_INDOOR
getEnvMode
ActionEvent: getEnvMode
http://<IP>/cgi-bin/camera.cgi?action=getEnvMode
Request
envMode=
Response
Comment
GET
Method
6.19
setIRCutFilter
ActionEvent: setIRCutFilter
http://<IP>/cgi-bin/camera.cgi?
Request
action=setIRCutFilter
mode=
thresholdLevel=
Response
Comment
POST
Method
SIRCutFilterSetting
mode
thresholdLevel
6.20
Req or
Opt or
N
R
Data type
Allowed
Value
Int
[0,5]
Int
[0,100]
notes
0,
IRCUT_MODE_OFF
1,IRCUT_MODE_O
N
2,IRCUT_MODE_A
UTO
Reserved
getIRCutFilter
ActionEvent: getIRCutFilter
http://<IP>/cgi-bin/camera.cgi?action=getIRCutFilter
Request
mode=
Response
thresholdLevel=
Comment
GET
Method
6.21
setIRLED
ActionEvent: setIRLED
http://<IP>/cgi-bin/camera.cgi?
Request
action=setIRLED
mode=
thresholdLevel=
Response
Comment
POST
Method
SIRLEDSetting
mode
Req or
Opt or
N
R
Int
[0,2]
Int
[0,100]
thresholdLevel
6.22
Data type
Allowed
Value
notes
0, IRLED_OFF
1,IRLED_ON
2,IRLED_MODE_A
UTO
Reserved
getIRLED
ActionEvent: getIRLED
http://<IP>/cgi-bin/camera.cgi?action=getIRLED
Request
mode=
Response
thresholdLevel=
Comment
GET
Method
6.23
setVideoOverlay
ActionEvent: setVideoOverlay
http://<IP>/cgi-bin/camera.cgi?
Request
action=setVideoOverlay
useTimestamp=
displayString=
useImage=
useText=
osdPalette1.y=
osdPalette1.Cb=
osdPalette1.Cr=
osdPalette2.y=
osdPalette2.Cb=
osdPalette2.Cr=
osdWindow1.x=
osdWindow1.y=
osdWindow1.transparent=
osdWindow2.x=
osdWindow2.y=
osdWindow2.transparent=
Response
Comment
Method
POST
Req
or
Opt
or
N
R
R
R
SOsdPalette
y
Cb
Cr
Req or
Opt or
N
SOsdWindow
Data
type
Allowed
Value
Int
Int
Int
[0,255]
[0,255]
[0,255]
Data type
Int
Int
transparent
Int
SVideoOverlaySetting
useTimestamp
displayString
useImage
enabled
6.24
Req
or
Opt
or
N
R
R
R
R
Data
type
Allowed Value
[0,3]
Allowed
Value
Int
[0,1]
Char[50]
Int
Int
[0,1]
[0,1]
[0,1]
note
s
notes
Range:de
pends on
resolution
Range:de
pends on
resolution
0:0%,
1:50%,
2:75%,
3:100%
notes
0: TimeStamp_off
1: TimeStamp_on
0:disabled 1:enabled
getVideoOverlay
ActionEvent: getVideoOverlay
http://<IP>/cgi-bin/camera.cgi?action=getVideoOverlay
Request
useTimestamp=
Response
displayString=
useImage=
useText=
osdPalette1.y=
osdPalette1.Cb=
osdPalette1.Cr=
osdPalette2.y=
osdPalette2.Cb=
osdPalette2.Cr=
osdWindow1.x=
osdWindow1.y=
osdWindow1.transparent=
osdWindow2.x=
osdWindow2.y=
osdWindow2.transparent=
Comment
Method
6.25
GET
setAutoIris
ActionEvent: setAutoIris
http://<IP>/cgi-bin/camera.cgi?
Request
action= setAutoIris
enabled
Response
Comment
POST
Method
SAutoI
ris
enable
d
6.26
Req
or
Opt
or
N
R
Data
type
Allowe
d
Value
Int
[0,1]
notes
0:DISAB
LED
1:ENAB
LED
getAutoIris
ActionEvent: getAutoIris
http://<IP>/cgi-bin/camera.cgi?action= getAutoIris
Request
enabled=
Response
Comment
GET
Method
6.27
setCameraSetting
ActionEvent: setCameraSetting
http://<IP>/cgi-bin/camera.cgi?
Request
action=setCameraSetting
whiteBalance.mode=0
whiteBalance.level=0
brightness.level=1
colorSaturation.level=-1
flipEnabled=0
mirrorEnabled=0
sharpness.level=2
contrast.level=0
freq=0
effectMode=0
colorMode=
envMode=1
IRCutFilter.mode=2
IRCutFilter.thresholdLevel=0
IRLED.mode=2
IRLED.thresholdLevel=0
autoIris.enabled=1
videoOverlay.useTimestamp=1
videoOverlay.displayString=HELLO
videoOverlay.useImage=0
videoOverlay.useText=
videoOverlay.osdPalette1.y=255
videoOverlay.osdPalette1.Cb=128
videoOverlay.osdPalette1.Cr=128
videoOverlay.osdPalette2.y=16
videoOverlay.osdPalette2.Cb=128
videoOverlay.osdPalette2.Cr=128
videoOverlay.osdWindow1.x=0
videoOverlay.osdWindow1.y=13
videoOverlay.osdWindow1.transparent=0
videoOverlay.osdWindow2.x=0
videoOverlay.osdWindow2.y=0
videoOverlay.osdWindow2.transparent=0
shutterSpeed.level=0
gain.mode=
gain.level=0
privacy.enabled=0
privacy.FullScreenEnabled=0
privacy.PriWindow1.x=0
privacy.PriWindow1.y=0
privacy.PriWindow1. enabled=0
privacy.PriWindow2.x=0
privacy.PriWindow2.y=0
privacy.PriWindow2. enabled=0
Response
Comment
Method
6.28
POST
getCameraSetting
ActionEvent: getCameraSetting
http://<IP>/cgi-bin/camera.cgi?action=getCameraSetting
Request
whiteBalance.mode=0
Response
brightness.level=1
colorSaturation.level=-1
flipEnabled=0
mirrorEnabled=0
sharpness.level=2
contrast.level=0
freq=0
effectMode=0
colorMode=
envMode=1
IRCutFilter.mode=2
IRCutFilter.thresholdLevel=0
IRLED.mode=2
IRLED.thresholdLevel=0
autoIris.enabled=1
videoOverlay.useTimestamp=1
videoOverlay.displayString=HELLO
videoOverlay.useImage=0
videoOverlay.useText=
videoOverlay.osdPalette1.y=255
videoOverlay.osdPalette1.Cb=128
videoOverlay.osdPalette1.Cr=128
videoOverlay.osdPalette2.y=16
videoOverlay.osdPalette2.Cb=128
videoOverlay.osdPalette2.Cr=128
videoOverlay.osdWindow1.x=0
videoOverlay.osdWindow1.y=13
videoOverlay.osdWindow1.transparent=0
videoOverlay.osdWindow2.x=0
videoOverlay.osdWindow2.y=0
videoOverlay.osdWindow2.transparent=0
shutterSpeed.level=0
gain.mode=0
gain.level=0
privacy.enabled=0
privacy.FullScreenEnabled=0
privacy.PriWindow1.x=0
privacy.PriWindow1.y=0
privacy.PriWindow1. enabled=0
privacy.PriWindow2.x=0
privacy.PriWindow2.y=0
privacy.PriWindow2. enabled=0
Comment
GET
Method
6.29
setShutterSpeed
ActionEvent: setShutterSpeed
http://<IP>/cgi-bin/camera.cgi?
Request
action= setShutterSpeed
level=
Response
Comment
POST
Method
ShutterSpeed
level
6.30
Req
or
Opt
or
N
R
Data
type
Allowed
Value
Int
[0,4]
notes
getShutterSpeed
ActionEvent: getShutterSpeed
http://<IP>/cgi-bin/camera.cgi?action=getShutterSpeed
Request
level=
Response
Comment
GET
Method
6.31
setGain
ActionEvent: setGain
Request
Response
Comment
Method
POST
mode
Req
or
Opt
or
N
R
level
Gain
6.32
http://<IP>/cgi-bin/camera.cgi
action= setGain
mode=
level=
Data
type
Allowed
Value
Int
[0,1]
Int
[0,4]
notes
0:disabled
1:enabled
getGain
ActionEvent: getGain
Request
Response
Comment
Method
http://<IP>/cgi-bin/camera.cgi?action=getGain
mode=
level=
GET
6.33
setPrivacy
ActionEvent: setPrivacy
http://<IP>/cgi-bin/camera.cgi?
Request
action= setPrivacy
enabled=
fullScreenEnabled=
privacyButtonEnabled=
priWindow1. enabled=
priWindow1.x1=
priWindow1.y1=
priWindow1.x2=
priWindow1.y2=
priWindow2. enabled=
priWindow2.x1=
priWindow2.y1=
priWindow2.x2=
priWindow2.y2=
Response
Comment
POST
Method
Req
or
Opt
or
N
R
Int
[0,1]
fullScreenEnabled
Int
[0,1]
privacyButtonEnable
d
Int
[0,1]
Privacy
enabled
Data type
Req or
Opt or
N
R
Int
x1
Int
x2
Int
PriWindow
enabled
Data type
Allowed
Value
Allowed Value
[0,1]
notes
0:disabled
1:enabled
Feature
works.
0:disabled
1:enabled
0:disabled
1:enabled
Function
works.
notes
0:disabled
1:enabled
depends on
resolution
depends on
resolution
y1
Int
y2
Int
6.34
getPrivacy
ActionEvent: getPrivacy
http://<IP>/cgi-bin/camera.cgi
Request
action= getPrivacy
enabled=
Response
fullScreenEnabled=
privacyButtonEnabled=
priWindow1. enabled=
priWindow1.x1=
priWindow1.y1=
priWindow1.x2=
priWindow1.y2=
priWindow2. enabled=
priWindow2.x1=
priWindow2.y1=
priWindow2.x2=
priWindow2.y2=
Comment
POST
Method
depends on
resolution
depends on
resolution
7. Audio
Audio API allows applications to
1) set/get the audio device setting
2) set/get the volume of the audio device
7.1 setAudioDevice
ActionEvent: setAudioDevice
http://<IP>/cgi-bin/audio.cgi?
Request
action=setAudioDevice
muted=
level =
mediaType=
voiceSource =
echo=
Response
Comment
POST
Method
Req
or
Opt
or
N
R
Int
[0,1]
level
mediaType
R
N
Int
Int
[1,100]
[0,1]
voiceSource
Int
[0,1]
echo
Int
[0,1]
SAudioDeviceSetting
muted
Data
type
Allowed
Value
notes
1: (muted),
0: (un-muted)
Speaker volume
0,Full
1, Half duplex
0, MIC
1, Line in
0:disabled
1:enabled
7.2 getAudioDevice
ActionEvent: getAudioDevice
http://<IP>/cgi-bin/ audio.cgi?action=getAudioDevice
Request
muted =
Response
level =
mediaType=
voiceSource =
Comment
GET
Method
7.3 setAudioMuteState
ActionEvent: setAudioMuteState
http://<IP>/cgi-bin/audio.cgi?
Request
action=setAudioMuteState
muted=
Response
Comment
POST
Method
7.4 getAudioMuteState
ActionEvent: getAudioMuteState
http://<IP>/cgi-bin/audio.cgi?action=getAudioMuteState
Request
muted=
Response
Comment
GET
Method
7.5 setAudioVolume
ActionEvent: setAudioVolume
http://<IP>/cgi-bin/audio.cgi?
Request
action=setAudioVolume
level=
Response
Comment
POST
Method
7.6 getAudioVolume
ActionEvent: getAudioVolume
http://<IP>/cgi-bin/audio.cgi?action=getAudioVolume
Request
level=
Response
Comment
GET
Method
7.7 playaudio
ActionEvent: play
Request
Response
Comment
Method
http://<IP>/cgi-bin/audio.cgi?
action=play
name=
The device will start to play the audio
POST
name
Req
or
Opt
or
N
R
Data
type
Allowed
Value
Char[64]
7.8 stopaudio
ActionEvent: stopaudio
Request
Response
Comment
Method
http://<IP>/cgi-bin/audio.cgi?
action=stopaudio
The device will stop playing the audio
POST
7.9 recordaudio
ActionEvent: record
Request
Response
Comment
Method
http://<IP>/cgi-bin/audio.cgi?
action=record
name=
The device will start to record the audio
POST
notes
7.10
stoprecordaudio
ActionEvent: stoprecord
http://<IP>/cgi-bin/audio.cgi?
Request
action=stoprecord
Response
The device will stop recording the audio
Comment
POST
Method
7.11
getFilestatus
ActionEvent: getFilestatus
http://<IP>/cgi-bin/audio.cgi?action=getFilestatus
Request
size=
Response
audiofile1.name=
audiofile1.size=
audiofile1.time=
audiofile1.codecType=
audiofile2.name=
audiofile2.size=
audiofile2.time=
audiofile2.codecType=
.
Comment
GET
Method
7.12
removeAudioFile
ActionEvent: remove
Request
Response
Comment
Method
http://<IP>/cgi-bin/audio.cgi?
action=remove
name=
The device will stop recording the audio
POST
8. Network
Network API allows applications to set/get the network-related settings including IP address,
WIFI network, etc.
8.1 setBasicNetwork
ActionEvent: setBasicNetwork
http://<IP>/cgi-bin/basicNetwork.cgi?
Request
action= set
//STATIC
addressType=0
ipv4Address=
subnetMask=
gatewayAddress=
dnsAddress1=
dnsAddress2=
// DHCP,
addressType=1
// PPPOE
addresssType=2
pppoe.username=
pppoe.password=
Response
Comment
POST
Method
username
Req
or
Opt or
N
R
password
SPPPoESetting
SBasicNetworkSetti
ng
addressType
R
eq
or
O
pt
or
N
R
Data
type
Allowe
d
Value
Char[12
8]
Char[12
8]
Data
type
Int
notes
Reject
^[`#$^&*{}[]\";\'|\/<>?\\ ]$%
reject
[]\&|:";<>?,/+=*'%#space
Allowe
d
Value
[0,2]
notes
0, STATIC
1, DHCP
2, PPPOE
ipv4Address
Char[16]
subnetMask
Char[16]
gatewayAddress
Char[16]
dnsAddress1
Char[16]
dnsAddress2
Char[16]
8.2 getBasicNetwork
ActionEvent: getBasicNetwork
http://<IP>/cgi-bin/basicNetwork.cgi?action=get
Request
addressType=
(0=Static,1=DHCP, 2=PPPoE)
Response
ipv4Address=
subnetMask=
gatewayAddress=
dnsAddress1=
dnsAddress2=
pppoe.username=
pppoe.password=
Comment
GET
Method
8.3 setUPnP
ActionEvent: setUPnP
Request
Response
Comment
Method
SUPnPSetting
enabled
http://<IP>/cgi-bin/upnp.cgi?
action=set
enabled=
name=
POST
Req or
Opt or
N
R
Data type
Int
Allowed
Value
[0,1]
notes
0:disabled
1:enabled
upnpName
Char[128]
8.4 getUPnP
ActionEvent: getUPnP
Request
Response
Comment
Method
http://<IP>/cgi-bin/upnp.cgi?action=get
enabled=
name=
GET
8.5 setDDNS
ActionEvent: setDDNS
Request
Response
Comment
Method
http://<IP>/cgi-bin/ddns.cgi?
action=set
dyndnsEnabled=
dyndns.wildcardEnabled=
dyndns.username=
dyndns.password=
dyndns.hostname=
tzodnsEnabled=
tzodns.wildcardEnabled=
tzodns.username=
tzodns.password=
tzodns.hostname=
POST
dyndnsEnabled
Req or
Opt or
N
R
Int
[0,1]
tzodnsEnabled
Int
[0,1]
SDDNSSetting
SDDNSEntry
username
password
hostname
wildcardEnabled
Table: username
SDDNSEntry
dyndns
tzodns
Data type
Req or
Opt or
N
R
R
R
R
Data type
Char[128]
Char[128]
Char[128]
Int
RejectRule
Reject[]\&|";<
>*`'#$^.?/{}
Should be
EmailAddress
formet type.
Allowed
Value
notes
0:disabled
1:enabled
0:disabled
1:enabled
Allowed Value
notes
Table
Table
[0,1]
0:disable
d
1:enable
d
Table:password
SDDNSEntry
dyndns
tzodns
Length
6~29
16~24
RejectRule
Reject[]\&|:";<>?,/+=*'%#space
Reject[]\&|:";<>?,/+=*'%#space
8.6 getDDNS
ActionEvent: getDDNS
Request
Response
Comment
Method
http://<IP>/cgi-bin/ddns.cgi? action=get
dyndnsEnabled=0
dyndns.wildcardEnabled=
dyndns.username=
dyndns.password=
dyndns.hostname=
tzodnsEnabled=
tzodns.wildcardEnabled=
tzodns.username=
tzodns.password=
tzodns.hostname=
GET
8.7 setEthernet
ActionEvent: setEthernet
http://<IP>/cgi-bin/ethernet.cgi?
Request
action=set
mediaType=
Response
Comment
POST
Method
SEthernetSettin
g
mediaType
Req or
Opt or
N
R
Data
type
Int
Allowed
Value
[0,4]
notes
0, AUTO
1,
10_HALF_DUPLEX
2,
10_FULL_DUPLEX
3,
100_HALF_DUPLEX
4,
100_FULL_DUPLEX
8.8 getEthernet
ActionEvent: getEthernet
http://<IP>/cgi-bin/ethernet.cgi?action=get
Request
mediaType=
Response
Comment
GET
Method
8.9 setWIFI
ActionEvent: setWIFI
Request
Response
Comment
Method
http://<IP>/cgi-bin/wifi.cgi?
action=set
enabled=
mode=
operationMode=
channel=
SSID=
preamble=
rtsThreshold=
fragmentationThreshold=
authentication=
channelBandWidth=
securityMode=
WEP. authenticationType=
WEP. defaultTransmitKeyIndex =
WEP. wepKeyLength =
WEP. encryptionKeyList. Keyentry1.encryptionKey=
WEP. encryptionKeyList. Keyentry2.encryptionKey=
WEP. encryptionKeyList. Keyentry3.encryptionKey=
WEP. encryptionKeyList. Keyentry4.encryptionKey=
WPA. algorithmType=
WPA.sharedKey=
WPS.WPSMode=
WPS.PINCode=
POST
SWPS
WPSMode
PINCode
SWPA
algorithmType
Req or
Opt or
N
R
encryptionKey
Req or
Opt or
N
R
Int
0:NONE
1:PIN
2:PBC
Allowed
Value
notes
[0,3]
0: TKIP
1: AES
2:
TKIP_A
ES
Char[64]
Req or
Opt or
N
R
defaultTransmitKeyInde
x
wepKeyLength
operationMode
notes
[0,2]
Data type
authenticationType
enabled
mode
Allowed Value
Char[64]
SWEP
SWIFISetting
Int
sharedKey
SKeyentry
Data type
Allowed
Value
Data type
notes
Char[64]
Req or
Opt or
N
R
Int
[0,2]
Int
[1,4]
Int
Data
type
notes
0: OPEN
1: SHARED
2:
WEPAUTO
Key
length:64
bits or 128
bits
Req
or
Opt
or
N
R
R
Int
Int
[0,1]
[0,1]
Int
[0,6]
Data
type
Allowed
Value
Allowed
Value
notes
0:disabled 1:enabled
0,WIFI_ACCESS_MOD
E_INFRASTRUCTURE
1,WIFI_ACCESS_MOD
E_ADHOC
0,WIFI_OP_MODE_AU
channel
wmm
SSID
R
R
R
[0,13]
Int
Int
Char[3
1]
Int
Preamble
rtsThreshold
fragmentationThresh
old
authentication
R
R
Int
Int
Int
[1,2347]
[256,234
6]
[0,1]
channelBandWidth
Int
[0,1]
securityMode
I nt
[0,3]
SIEEE_802_1xSetting
enabled
authenticationProtocolT
ype
[0,1]
TO
1,WIFI_OP_MODE_11
G_ONLY
2,WIFI_OP_MODE_11B
_ONLY
3,
WIFI_OP_MODE_11N_
ONLY
4,
WIFI_OP_MODE_11BG
_MIXED
5,
WIFI_OP_MODE_11GN
_MIXED
6,
WIFI_OP_MODE_11BG
N_MIXED
(0) Auto, 1-13
0:disabled 1:enabled
0,WIFI_PREAMBLE_TY
PE_LONG
1,WIFI_PREAMBLE_TY
PE_SHORT
0,WIFI_AUTHENTICATI
ON_TYPE_OPEN
1,WIFI_AUTHENTICATI
ON_TYPE_SHARED_K
EY
0, FORTY_MHZ
1, TWENTY_MHZ
0, WL_NONE
1, WL_WEP
2, WL_WPAPSK
3, WL_WPA2PSK
Req or
Opt or
N
R
Int
[0,1]
Int
[0,4]
Data type
Allowed
Value
notes
0:disabl
ed
1:enabl
ed
Table
innerTTLSAuthenticatio
nMethod
innerEAPProtocolType
validateServerEnabled
Int
[0,3]
Table
R
R
Int
Int
[0,1]
[0,1]
Table
0:disabl
ed
1:enabl
ed
userName
password
anonymousID
autoPACProvisioningEn
abled
R
R
R
R
Char[65]
Char[65]
Char[65]
Int
[0,1]
0:disabl
ed
1:enabl
ed
caline
clientline
PACline
R
R
R
Int
Int
Int
Value
0
1
2
3
4
Value
0
1
2
3
Value
0
1
8.10
getWIFI
ActionEvent: getWIFI
Request
Response
http://<IP>/cgi-bin/wifi.cgi? action=get
enabled=
mode=
operationMode=
channel=
SSID=
preamble=
rtsThreshold=
fragmentationThreshold=
authentication=
channelBandWidth=
securityMode=
(a.) securityMode=0
return Nothing!!
(b.) securityMode=1
WEP. authenticationType=
WEP. defaultTransmitKeyIndex =
WEP. wepKeyLength=
WEP. encryptionKeyList.Keyentry1.encryptionKey=
WEP. encryptionKeyList.Keyentry2.encryptionKey=
WEP. encryptionKeyList.Keyentry3.encryptionKey=
WEP. encryptionKeyList.Keyentry4.encryptionKey=
(c.) securityMode=2
WPA. algorithmType=
WPA.sharedKey=
(d.) securityMode=3
WPA. algorithmType=
WPA.sharedKey=
WPS.WPSMode=
WPS.PINCode
Comment
Method
8.11
GET
setIPFilter
ActionEvent: setIPFilter
Request
http://<IP>/cgi-bin/IPFilter.cgi?
action=set
permissionType=
enabled=
allow.enabled1=
allow.startIP1=
allow.endIP1=
allow.enabled2=
allow.startIP2=
allow.endIP2=
.
deny.enabled1=
deny.startIP1=
deny.endIP1=
deny.enabled2=
deny.startIP2=
deny.endIP2=
Response
Comment
Method
SIPFilterSetting
enabled
permissionType
POST
Req or
Opt or
N
R
Int
[0,1]
Int
[0,1]
Data type
Allowed
Value
notes
0:disabled
1:enabled
0: Deny
1: Allow
SFilterAddressEntry
enabled
Req or
Opt or
N
R
startIP
endIP
8.12
R
R
Data type
Int
Allowed
Value
[0,1]
Char[16]
Char[16]
getIPFilter
ActionEvent: getIPFilter
Request
Response
Comment
Method
notes
0:disabled
1:enabled
9. Storage
Storage API allows applications to configure the storage devices which could be reached by
the IPCAM unit.
9.1 getSDstatus
ActionEvent: getSDstatus
http://<IP>/cgi-bin/sdcard.cgi?action= getSDstatus
Request
size=
Response
file1.name=
file1.size=
file1.time=
file2.name=
file2.size=
file2.time=
.
Comment
Method
GET
9.2 mount
ActionEvent: mount
Request
Response
Comment
Method
http://<IP>/cgi-bin/sdcard.cgi?action=mount
GET
9.3 umount
ActionEvent: umount
Request
Response
Comment
Method
http://<IP>/cgi-bin/sdcard.cgi?action=umount
GET
9.4 removeFile
ActionEvent: rm
Request
Response
Comment
Method
http://<IP>/cgi-bin/sdcard.cgi?action=rm&filename=
GET
10. System
System API allows applications to configure miscellaneous system settings which are not
covered by any other category. These settings include Time, Syslog, etc.
// NOTE: In the future, we may switch to rsyslog instead of syslogd.
10.1
getDeviceInfo
ActionEvent: getDeviceInfo
http://<IP>/cgi-bin/system.cgi?action=get
Request
chipVersion=
Response
sensorID=
macAddress=
firmwareVersion=
firmwareReleasedDate=
InternalName=
ProductName=
ModelNumber=
CompanyName=
Comments=
Comment
GET
Method
10.2
setTimeSetting
ActionEvent: setTimeSetting
http://<IP>/cgi-bin/time.cgi?
Request
action=set
type=0
or
===========================================
======
type=1
enableDST=
timezoneID=
manual.year=
manual.month=
manual.day=
manual.hour=
manual.minute=
manual.second=
or
===========================================
======
type=2
enableDST=
timezoneID=
ntp.ntpServerLoc1=
ntp.ntpServerLoc2=
Response
Comment
Method
POST
type
enableDST
Req or
Opt or
N
R
R
Int
Int
[0,2]
[0,1]
timezoneID
Int
[0,24]
STimeSetting
Data type
Allowed Value
Value
0
1
2
notes
Table
0:disable
d
1:enable
d
Table
timezoneID
TIME_ZONE_MIN
TIME_ZONE_KWAJALEIN
TIME_ZONE_SAMOA
TIME_ZONE_HAWAII
TIME_ZONE_ALASKA
TIME_ZONE_LOS_ANGELES
TIME_ZONE_PHOENIX
TIME_ZONE_MEXICO_CITY
TIME_ZONE_NEW_YORK
TIME_ZONE_SANTIAGO
TIME_ZONE_SAO_PAULO,
TIME_ZONE_NORONHA_ISLAND,
TIME_ZONE_PRAIA,
TIME_ZONE_LONDON,
TIME_ZONE_PARIS,
TIME_ZONE_CAIRO,
TIME_ZONE_MOSCOW,
TIME_ZONE_DUBAI,
TIME_ZONE_KARACHI,
TIME_ZONE_DHAKA,
TIME_ZONE_JAKARTA,
TIME_ZONE_HONG_KONG,
TIME_ZONE_TOKYO,
TIME_ZONE_SYDNEY,
TIME_ZONE_NOUMEA,
TIME_ZONE_NewZealand,
TIME_ZONE_MAX
ntpServerLoc1
Req or
Opt or
N
R
Char[128]
ntpServerLoc2
Char[128]
SNTPTimeSetting
SManualTimeSetting
year
month
day
hour
Req or
Opt or
N
R
R
R
R
Data type
Data type
Int
Int
Int
Int
Allowed Value
notes
Only
hostnam
e
Only
hostnam
e
Allowed
Value
[2009,2038]
[1,12]
[1,31]
[0,23]
notes
minute
second
10.3
R
R
Int
Int
[0,59]
[0,59]
getTimeSetting
ActionEvent: getTimeSetting
http://<IP>/cgi-bin/time.cgi?action=get
Request
type=
Response
enableDST=
timezoneID=
manual.year=
manual.month=
manual.day=
manual.hour=
manual.minute=
manual.second=
enableDST=
timezoneID=
ntp.ntpServerLoc1=
ntp.ntpServerLoc2=
Comment
GET
Method
10.4
setSyslogSetting
ActionEvent: setSyslogSetting
http://<IP>/cgi-bin/syslog.cgi?
Request
action=set
localLogLevel=
useRemoteLog=
addressingFormatType=
remoteServerAddress=
remoteServerPort=
Response
Comment
POST
Method
SSyslogSetting
localLogLevel
useRemoteLog
addressingFormatTyp
Req or
Opt or
N
R
R
Int
Int
[0,7]
[0,1]
Int
[0,1]
Data type
Allowed
Value
notes
table
0:disable
d
1:enable
d
table
e
remoteServerAddress
remoteServerPort
R
R
Char[128]
Int
514,[1025,65
534]
Value
0
1
2
3
4
5
6
7
Value
0
1
getSyslogSetting
ActionEvent: getSyslogSetting
http://<IP>/cgi-bin/syslog.cgi ?action=get
Request
localLogLevel=
Response
useRemoteLog=
addressingFormatType=
remoteServerAddress=
remoteServerPort=
Comment
GET
Method
10.6
getSyslogFile
ActionEvent: getSyslogFile
http://<IP>/syslog.dump
Request
Content of syslog.
Response
Comment
GET
Method
10.7
syslogClear
ActionEvent: syslogClear
http://<IP>/cgi-bin/syslog.cgi?action=clear
Request
Response
Clear syslog.
Comment
GET
Method
ActionEvent: getSystemStatus
Request
http://<IP>/cgi-bin/systemStatus.cgi?action=get
Response
Comment
Method
GET
11. Admin
Admin API enables applications to execute administrative tasks on the IPCAM unit.
The tasks include add/delete users, upgrade firmware, etc.
11.1
addUser
ActionEvent: addUser
Request
http://<IP>/cgi-bin/users.cgi?
action=add
index=
username=<username>
password=<password>
privilege=<privilege>
Response
Comment
Method
POST
index
username
Req
or
Opt
or
N
R
R
Int
Char[30]
password
Char[30]
privilege
Int
SUserSetting
Data
type
Allowed
Value
[0,2]
notes
Value
0
1
2
deleteUser
ActionEvent: deleteUser
http://<IP>/cgi-bin/users.cgi?
Request
action=delete
username=<username>
Response
Comment
POST
Method
11.3
getUsers
ActionEvent: getUsers
Request
Response
Comment
Method
11.4
http://<IP>/cgi-bin/users.cgi?action=getUsers
Size=
User1.index=
User1.username=
User1.password=
User1.privilege=
User2.username=
User2.password=
User2.privilege=
GET
updateUser
ActionEvent: updateUser
http://<IP>/cgi-bin/users.cgi?
Request
action= update
index=
username=<xxxx>
password=
privilege=
Response
Comment
Method
11.5
POST
setHTTP
ActionEvent: setHTTP
Request
http://<IP>/cgi-bin/http.cgi?
action= set
enabled=
port=
Response
Comment
Method
SHTTPSetting
enabled
POST
Req or
Opt or
N
R
Int
[0,1]
Int
80,[1025,65534]
port
11.6
Data
type
Allowed Value
setHTTP/HTTPS
ActionEvent: setHTTP/HTTPS
http://<IP>/cgi-bin/http.cgi?
Request
action= setAll
enabled=
port=
httpsEnabled=
httpsPort=
Response
Comment
POST
Method
11.7
getHTTP
ActionEvent: getHTTP
Request
Response
Comment
Method
http://<IP>/cgi-bin/http.cgi?action= get
enabled=
port=
GET
notes
0:disable
d
1:enable
d
11.8
setHTTPS
ActionEvent: setHTTPS
Request
Response
Comment
Method
http://<IP>/cgi-bin/https.cgi?
action= set
enabled=
port=
POST
SHTTPSSetting
enabled
Req or
Opt or
N
R
Int
[0,1]
Int
443,[1025,655
34]
port
11.9
Data type
Allowed
Value
getHTTPS
ActionEvent: getHTTPS
Request
Response
Comment
Method
11.10
http://<IP>/cgi-bin/https.cgi?action= get
enabled=
port=
GET
resetToDefault
ActionEvent: resetToDefault
http://<IP>/cgi-bin/reset.cgi?action= reset
Request
Response
Reset all settings to factory default
Comment
GET
Method
11.11
upgradeFirmware
ActionEvent: upgradeFirmware
http://<IP>/cgi-bin/upgradeFirmware.cgi?
Request
action= upgrade
notes
0:disab
led
1:enabl
ed
SFWUPGRADE
filename
status
11.12
Req or
Opt or
N
R
R
Data type
Allowed
Value
Char[64]
notes
Reject
Reserv
ed ,onl
y get
Int
reboot
ActionEvent: reboot
Request
Response
Comment
Method
11.13
http://<IP>/cgi-bin/reboot.cgi?action=reboot
Reboot the system
GET/POST
importConfigFile
ActionEvent: importConfigFile
http://<IP>/cgi-bin/ConfigFile.cgi?
Request
action= set
filename =
Response
Comment
POST
Method
SConfigFile
filename
11.14
Req or
Opt or
N
R
Data type
Allowed
Value
Char[64]
exportConfigFile
ActionEvent: exportConfigFile
http://<IP>/cgi-bin/ConfigFile.cgi?action=get
Request
Response
Comment
get
Method
notes
Reject
11.15
setPWDComplexity
ActionEvent: setPWDComplexity
http://<IP>/cgi-bin/complexity.cgi?
Request
action= set
pwdRule1Enabled =
pwdRule2Enabled =
pwdRule3Enabled =
Response
Comment
POST
Method
Data type
Allowe
d
Value
pwdRule1Enabled
Req
or
Opt or
N
R
Int
[0,1]
pwdRule2Enabled
Int
[0,1]
pwdRule3Enabled
Int
[0,1]
SComplexityPWDSetting
notes
0:disabled
1:enabled
0:disabled
1:enabled
0:disabled
1:enabled
Note:
1. PwdRule1Enabled must contain at least three of the following forms: lower case letters,
upper case letters, digits, and special characters.
2. PwdRule2Enabled cannot include any character which occurs three or more times
consecutively.
3. PwdRule3Enabled cannot repeat or reverse the user name.
11.16
getPWDComplexity
ActionEvent: getPWDComplexity
http://<IP>/cgi-bin/complexity.cgi?action=get
Request
pwdRule1Enabled =
Response
pwdRule2Enabled =
pwdRule3Enabled =
Comment
GET
Method
12. Capability
ActionEvents
ActionEvent
getCapability
getVideoCodecs
getResolutions
getAudioCodecs
Description
Get camera Capability.
Get video codecs
Get video resolutions
Get audiocodecs
12.1 getCapability
ActionEvent: getCapability
http://<IP>/cgi-bin/capability.cgi?action=get
Request
[media]
Respon
channels=2
se
videoCodecs=H264,MJPEG,MPEG4
audioCodesc=PCMA,PCMU, AMR
resolutions=1280x800,640x400,320x192
frameRate=2,3,5,7,10,15,20,25,30
bitrate=64,128,256,384,512,768,1500,2000,4000,6000,8000,10000,120
00
Comme
nt
GET
Method
12.2 getVideoCodecs
ActionEvent: getVideoCodecs
http://<IP>/cgi-bin/capability.cgi?action=getVideoCodecs
Request
videoCodecs=H264,MJPEG,MPEG4
Response
Comment
GET
Method
12.3 getResolutions
ActionEvent: getResolutions
http://<IP>/cgi-bin/capability.cgi?action=getResolutions
Request
resolutions=1280x800,640x400,320x192
Response
Comment
GET
Method
12.4 getAudioCodecs
ActionEvent: getAudioCodecs
http://<IP>/cgi-bin/capability.cgi?action=getAudioCodecs
Request
audioCodesc=PCMA,PCMU,AMR
Response
Comment
GET
Method
setMotionDetection
ActionEvent: setMotionDetection
http://<IP>/cgi-bin/motiondetection.cgi?
Request
action=set
enabled=1
channelIndex
detectionInterval=
region1.enabled=
region1.sensitivity=
region1.threshold=
region1.x=
region1.y=
region1.x1=
region1.y1=
region2.enabled=
region2.sensitivity=
region2.threshold=
region2.x=
region2.y=
region2.x1=
region2.y1=
region3.enabled=
region3.sensitivity=
region3.threshold=
.
Response
Comment
POST
Method
SMDRegionEntry
enabled
sensitivity
threshold
x
y
x1
Req or
Opt or
N
R
R
R
R
R
R
Data type
Int
Int
Int
Int
Int
Int
Allowed
Value
[0,1]
[1, 100]
[1, 100]
>=0
>=0
>=0
notes
y1
Int
>=0
Note:
Sensitivity: When sensitivity is 90 (High value), the motion detection is easily triggered.
Threshold: When threshold is 10 (low value), the motion detection is easily triggered.
SMDEntry
enabled
channelIndex
detectionInterval
13.2
Req or
Opt or
N
R
R
R
Data type
Allowed Value
Int
Int
Int
[0,1]
[1, 5]
>0
notes
millisecon
d
getMotionDetection
ActionEvent: getMotionDetection
http://<IP>/cgi-bin/
Request
motiondetection.cgi?action=getMD&index=<index>
enabled=1
Response
detectionInterval=
region.size
region1.enabled=
region1.sensitivity=
region1.threshold=
region1.x=
region1.y=
region1.x1=
region1.y1=
region2.enabled=
region2.sensitivity=
region2.threshold=
region2.x=
region2.y=
region2.x1=
region2.y1=
region3.enabled=
region3.sensitivity=
region3.threshold=
Comment
GET
Method
13.3
getMotionDetections
ActionEvent: getMotionDetections
http://<IP>/cgi-bin/ motiondetection.cgi?action=get
Request
size=
Response
MD1.enabled=1
MD1.channelIndex
MD1.detectionInterval=
MD1.region.size
MD1.region1.enabled=
MD1.region1.sensitivity=
MD1.region1.threshold=
MD1.region1.x=
MD1.region1.y=
MD1.region1.x1=
MD1.region1.y1=
MD1.region2.enabled=
MD1.region2.sensitivity=
MD1.region2.threshold=
MD1.region2.x=
MD1.region2.y=
MD1.region2.x1=
MD1.region2.y1=
MD1.region3.enabled=
MD1.region3.sensitivity=
MD1.region3.threshold=
MD1.region3.x=
MD1.region3.y=
MD1.region3.x1=
MD1.region3.y1=
.
Comment
Method
GET
14. Event
Event API allows applications to
1) set/get the event setting
2) set/get the notification setting
14.1
setEventSetting
ActionEvent: setEventSetting
http://<IP>/cgi-bin/event.cgi?
Request
action= setEventSetting
R1index=
R1enabled=
R1name=
R1eventID=
R1sched.type=
R1sched.time=
R1actions=
R2index=
Response
Comment
POST
Method
SEventScheduleSetting
type
time
Req or
Opt or
N
R
R
Data type
Int
Char[128]
Allowed
Value
[0,2]
notes
Table
SEventRuleSetting
Index
enabled
Req or
Opt or
N
R
R
Value
0
1
2
Data type
Int
Int
Allowed
Value
[0,10]
[0,1]
notes
0:enabl
ed
1:disab
led
name
eventID
R
R
Char[10]
Int
actions
Char[128]
196609
ftp,smtp,samb
a
Value
196608+1
196608+2
196608+3
196608+4
14.2
Value
ftp
smtp
samba
http
LightLed
playAudio
DO
RecordVideo
addEventSetting
ActionEvent: addEventSetting
http://<IP>/cgi-bin/event.cgi?
Request
action= addEventSetting
index=
enabled=
name=
eventID=
sched.type=
Trigger
MD
Event
ID
numbe
r
196609
Table
Table
sched.time=
actions=
Response
Comment
Method
14.3
POST
updateEventSetting
ActionEvent: updateEventSetting
http://<IP>/cgi-bin/event.cgi?
Request
action= updateEventSetting
index=
enabled=
name=
eventID=
sched.type=
sched.time=
actions=
Response
Comment
Method
14.4
POST
removeEventSetting
ActionEvent: removeEventSetting
http://<IP>/cgi-bin/event.cgi?
Request
action= removeEventSetting
index=
Response
Comment
POST
Method
14.5
getEventPolicy
ActionEvent: getEventPolicy
http://<IP>/cgi-bin/event.cgi?action=getEventPolicy
Request
size=
Response
R1index=
R1enabled=
R1name=
R1eventID=
R1sched.type=
R1sched.time=
R1actions=
R2index=
Comment
Method
14.6
GET
getEventRule
ActionEvent: getEventRule
http://<IP>/cgi-bin/event.cgi?action=getEventRule
Request
index=0
Response
enabled=0
name=
eventID=0
sched.type=0
sched.time=
actions=
Comment
Method
14.7
GET
setEmailSetting
ActionEvent: setEmailSetting
http://<IP>/cgi-bin/event.cgi?
Request
action=setEmailSetting
senderAddress=
receiverAddress1=
receiverAddress2=
senderName=
subject=
attachedVideoURLEnabled=
attachedSnapShotEnabled=
attachedVideoClipEnabled=
authenticationMode1=
port1=
smtpServerHostName1
accountName1=
password1=
authenticationMode2=
port2=
smtpServerHostName2=
accountName2=
password2=
Response
Comment
Method
POST
Req or
Opt or
N
R
Char[64]
receiverAddress1
Char[64]
receiverAddress2
Char[64]
senderName
Char[64]
subject
Char[64]
attachedVideoURLEnab
led
attachedSnapShotEnabl
ed
attachedVideoClipEnabl
ed
Int
[0,1]
Int
[0,1]
Int
[0,1]
SEmailSetting
senderAddress
Data type
Allowe
d
Value
Reject Table:
Parameter
senderName
subject
Reject
[]<>"#'\&|;?*SPACE
[]<>"#'\&|;?*
notes
E-mail
format
E-mail
format
E-mail
format
Reject
Table
Length
limited
[1,63]
Reject
Table
Length
limited
[1,63]
0:disabled
1:enabled
0:disabled
1:enabled
0:disabled
1:enabled
SMailingServer
authenticationMode
portNo
Req or
Opt or
N
R
R
Data type
Int
Int
smtpServerHostName
Char[64]
accountName
Char[64]
password
Char[64]
Allowed
Value
notes
Table
25,[1025,65
534]
Reject
Table
Length
limited
[1,64]
Reject
Table
Length
limited:
[1,64]
Reject
Table
Length
limited
[8,63]
Value
0
1
2
Reject Table:
Parameter
smtpServerHostName
accountName
TLS_ password
<
Reject
> "
# ' \ &
| ;
[]\&|";< >*`'#$^.?/{}()@
[]\&|:";<>?,/+=*'%# SPACE
? *
14.8
getEmailSetting
ActionEvent: getEmailSetting
http://<IP>/cgi-bin/event.cgi?action=getEmailSetting
Request
senderAddress=
Response
receiverAddress1=
receiverAddress2=
senderName=
subject=
attachedVideoURLEnabled=
attachedSnapShotEnabled=
attachedVideoClipEnabled=
authenticationMode1=
port1=
smtpServerHostName1
accountName1=
password1=
authenticationMode2=
port2=
smtpServerHostName2=
accountName2=
password2=
Comment
GET
Method
14.9
setFTPSetting
ActionEvent: setFTPSetting
http://<IP>/cgi-bin/event.cgi?
Request
action= setFTPSetting
uploadSnapShotEnabled=
uploadVideoClipEnabled=
addressType1=
hostName1=
ipAddress1=
ipv6Address1=
port1=
accountName1=
password1=
passiveMode1=
addressType2=
hostName2=
ipAddress2=
ipv6Address2=
port2=
accountName2=
password2=
passiveMode2=
Response
Comment
Method
POST
uploadSnapShotEnabled
Req or
Opt or
N
R
Int
[0,1]
uploadVideoClipEnabled
Int
[0,1]
SFTPSetting
SFTPServer
addressType
hostname
ipAddress
ipv6Address
portNo
accountName
password
passiveModeEnabled
Data type
Req or
Opt or
N
R
R
R
R
R
Int
Char[64]
Char[16]
Char[48]
Int
R
R
R
Char[64]
Char[64]
Int
Data type
Allowed
Value
notes
0:disable
d
1:enable
d
0:disable
d
1:enable
d
Allowed
Value
[0,1]
21,[1025,655
34]
[0,1]
Value
0
1
getFTPSetting
ActionEvent: getFTPSetting
http://<IP>/cgi-bin/event.cgi?action= getFTPSetting
Request
uploadSnapShotEnabled=
Response
uploadVideoClipEnabled=
addressType1=
hostName1=
note
s
Table
ipAddress1=
ipv6Address1=
port1=
accountName1=
password1=
passiveMode1=
addressType2=
hostName2=
ipAddress2=
ipv6Address2=
port2=
accountName2=
password2=
passiveMode2=
Comment
Method
GET
14.11
setAlarmMediaInfo
ActionEvent: setAlarmMediaInfo
http://<IP>/cgi-bin/event.cgi?
Request
action= setAlarmMediaInfo
snapShotEnabled =
videoClipEnabled =
timeBeforeEvent=
timeAfterEvent=
Response
Comment
POST
Method
SAlarmMediaInfo
snapShotEnabled
videoClipEnabled
preAlarmInterval
postAlarmInterval
14.12
Req
or
Opt
or
N
R
R
R
R
Data
type
Allowed
Value
Int
Int
Int
Int
[0,1]
[0,1]
[1,10]
[1,300]
notes
0:disabled 1:enabled
0:disabled 1:enabled
Second
Second
getAlarmMediaInfo
ActionEvent: getAlarmMediaInfo
http://<IP>/cgi-bin/event.cgi?action=
Request
getAlarmMediaInfo
snapShotEnabled =
Response
videoClipEnabled =
timeBeforeEvent=
timeAfterEvent=
Comment
GET
Method
14.13
setSamba
ActionEvent: setSamba
Request
http://<IP>/cgi-bin/event.cgi?
action= setSamba
hostDns=
IpAddress=
Ipv6Address=
UserName=
Password=
workgroup=
shareDIR=
addressTyep=
Preserve=
Response
Comment
Method
SambaServer
hostDns
ipAddress
ipv6Address
userName
password
addressType
preserve
workgroup
shareDIR
POST
Req or
Opt or
N
R
R
R
R
R
R
R
R
R
Data type
Char[32]
Char[16]
Char[48]
Char[16]
Char[16]
Int
Char[12]
Char[32]
Char[32]
Allowed Value
[0,1]
notes
Table
getSamba
ActionEvent: getSamba
Request
Response
Comment
Method
14.15
Value
0
1
http://<IP>/cgi-bin/event.cgi?action= getSamba
addressType=
hostDns=
ipAddress=
ipv6Address=
userName=
password=
preserve=
shareDIR=
workGroup=
GET
setHttp
ActionEvent: setHttp
Request
Response
Comment
Method
Http
enabled
username
password
HttpUrl
Message
http://<IP>/cgi-bin/event.cgi
action= setHttp
enabled=
username=
password=
HttpUrl=
Message=
POST
Req or
Opt or
N
R
R
R
R
R
Data type
Int
Char[128]
Char[128]
Char[16]
Char[16]
Allowed
Value
[0,1]
notes
0:disabled
1:enabled
14.16
getHttp
ActionEvent: getHttp
Request
Response
Comment
Method
http://<IP>/cgi-bin/event.cgi?action= getHttp
Enabled=
HttpUrl=
Message=
GET
ActionEvent: setGPIOSetting
http://<IP>/cgi-bin/gpio.cgi?
Request
action=set
di1.port=
di1.triggerType=[0,1]
di1.resetIntervalAfterTriggered
di1. DIenabled=0
do1.port=
do1.triggerType=[2,3]
do1.actionType=0
do1. triggerTime=0
do1. DOenabled=0
Response
Comment
POST
Method
Req
or
Opt
or
N
R
Data
type
Allowed
Value
Int
[0,15]
status
Int
[0,1]
triggerType
resetIntervalAfterTriggered
R
R
Int
Int
[0,3]
[0,]
SDIEntry
port
0: Reserved
Table
0:Low
1:High
Table
Reserved
Req or
Opt or
N
R
Int
[0,15]
status
Int
[0,1]
triggerType
actionType
R
R
Int
Int
[0,3]
[0,]
SDOEntry
port
Data type
notes
Allowed
Value
notes
0: Reserved
Table
0:Low
1:High
Table
Reserved
Value (GPIO
pin)
4
3
Value
0
1
2
3
4
5
Pin
1
2
3
4
5
6
DI/DO Diagram
Function
Power
+4.5V
Digital
Output
Digital
Input
Ground
RS-485
RS-485
+
Low
DI
DO
pin1
pin2
pin1
pin2
pin2
pin4
pin2
pin4
O/Ground
X/Open
X/ Ground
X/Open
X/Ground
X/Open
X/Ground
X/Open
DI
DO
pin1
pin2
High(Open)
Low
X/ Open
pin1
pin2
X/ Open
pin2
pin4
X/ Open
pin2
pin4
X/ Open
O/
Gro
und
X/
Gro
und
X/
Gro
und
X/
Gro
und
DI
DO
pin1
pin2
pin1
pin2
pin2
pin4
pin2
pin4
High(Open)
Low
X/Open
O/Ground
X/ Open
X/
Ground
X/Ground
X/Open
X/ Open
X/
Ground
DI
DO
pin1
High(Open)
Low
O/Ground
X/
pin2
pin1
pin2
X/ Ground
pin2
pin4
X/Ground
pin2
pin4
X/ Ground
Ope
n
X/
Ope
n
X/
Ope
n
X/
Ope
n
15.2 getGPIOStatus
ActionEvent: getGPIOStatus
http://<IP>/cgi-bin/gpio.cgi?action=get
Request
di1.port
Response
di1.status
di1.triggerType
di1.resetIntervalAfterTriggered
di1. Dienabled
do1.port
do1.status
do1.triggerType
do1.actionType
do1. triggerTime=0
do1. Doenabled=0
Comment
GET
Method
16. MSN
MSN API allows applications to
1) set/get the IP Camera MSNBot setting
16.1
setMSNBot
ActionEvent: setMSNBot
http://<IP>/cgi-bin/msn.cgi?
Request
Action=set
account=
passwd=
msnOpPasswd=
friendlyName=
buddy0.enabled=
buddy0.account=
buddy0.isNotifiedAcnt=
buddy1.enabled=
buddy1.account=
buddy1.isNotifiedAcnt=
buddy2.enabled=
buddy2.account=
buddy2.isNotifiedAcnt=
buddy3.enabled=
buddy3.account=
buddy3.isNotifiedAcnt=
buddy4.enabled=
buddy4.account=
buddy4.isNotifiedAcnt=
webcamEnabled=
alarmNotifyEnabled=
Response
Comment
POST
Method
MsnBuddy
Enabled
account
isNotifiedAcnt
Smsnbot
Req
or
Opt
or
N
R
R
R
Data
type
Int
Char[128]
Int
Req or
Allowed
Value
[0,1]
[0,1]
Data type
notes
0:disabled 1:enabled
msn account
0:no 1:yes
Allowed
notes
Account
Passwd
msnOpPasswd
friendlyName
webcamEnabled
alarmNotifyEnabled
16.2
Opt or
N
R
R
R
R
R
Value
Char[128]
Char[128]
Char[128]
Char[128]
Int
[0,1]
Int
[0,1]
getMSNBot
ActionEvent: getMSNBot
http://<IP>/cgi-bin/msn.cgi?action= get
Request
account=
Response
passwd=
msnOpPasswd=
friendlyName=
buddy0.enabled=
buddy0.account=
buddy0.isNotifiedAcnt=
buddy1.enabled=
buddy1.account=
buddy1.isNotifiedAcnt=
buddy2.enabled=
buddy2.account=
buddy2.isNotifiedAcnt=
buddy3.enabled=
buddy3.account=
buddy3.isNotifiedAcnt=
buddy4.enabled=
buddy4.account=
buddy4.isNotifiedAcnt=
webcamEnabled=
alarmNotifyEnabled=
Comment
GET
Method
0:disable
d
1:enable
d
0:disable
d
1:enable
d
17.1
setpirsensor
ActionEvent: set
Request
Response
Comment
Method
pirsensor
sensitivity
enabled
http://<IP>/cgi-bin/pirsensor.cgi?
Action= set
sensitivity =
enabled=
POST
Req
or
Opt or
N
R
R
Data
type
Int
Int
Allowed
Value
[1,10]
[0,1]
notes
0:disabled
1:enaled
17.2
getpirsenor
ActionEvent: get
Request
Response
Comment
Method
17.3
http://<IP>/cgi-bin/pirsensor.cgi?action=get
sensitivity =
enabled=
GET
addWled
ActionEvent: addWled
Request
http://<IP>/cgi-bin/wled.cgi
action=add
name=
method =
active=
inactive=
duringtime=
Response
Comment
Lightmethod: LIGHT_NONE
name=xxx
method =0
active=0
inactive=0
duringtime=0
//=> reserve
//----------------------------------------------------------------------Lightmethod: LIGHT_ON_OFF
name=xxx
method =1
active=
inactive=
duringtime=
//=>liveView
//----------------------------------------------------------------------Lightmethod: LIGHT_SLIDER
name=xxx
method =2
active=0
inactive=0
duringtime=0
//=>liveView
//----------------------------------------------------------------------Lightmethod: LIGHT_PULSE
name=xxx
method =3
active=
inactive=
duringtime=1ms~
//=>liveViewEvent
Method
LightSetSetting
name
method
active
inactive
duringtime
POST
Req or
Opt or
N
R
R
R
R
R
Data
type
Char[16]
Int
Int
Int
int
Value
0
1
2
3
Value
0
1
2
10
20
30
40
50
60
70
80
90
100
Allowed
Value
[0,3]
notes
table
table
table
ms
17.4
deleteWled
ActionEvent: deleteWled
http://<IP>/cgi-bin/wled.cgi
Request
action=delete
name=
Response
Comment
POST
Method
17.5
setWled
ActionEvent: set
Request
Response
Comment
Method
17.6
http://<IP>/cgi-bin/wled.cgi
action=set
name=
method =
active=
inactive=
duringtime=
POST
getwledall
ActionEvent: getall
Request
Response
Comment
Method
http://<IP>/cgi-bin/wled.cgi?action=getall
size=
led1.name=
led1.method =
led1.active=
led1.inactive=
led1.duringtime=
GET
17.7
updateWled
ActionEvent: updateWled
http://<IP>/cgi-bin/wled.cgi?
Request
Action= update
name=
method =
active=
inactive=
duringtime=
Response
Comment
POST
Method
17.8
getWled
ActionEvent: get
Request
Response
Comment
Method
17.9
http://<IP>/cgi-bin/wled.cgi?action=get&name=<xxxx>
name=
method =
active=
inactive=
duringtime=
GET
setLiveViewWLEDSetting
ActionEvent: set
Request
Response
Comment
Method
http://<IP>/cgi-bin/LVwled.cgi?
Action=set
method =
active=
inactive=
duringtime=
POST
17.10
getLiveViewWLEDSetting
ActionEvent: get
Request
Response
Comment
Method
a.
17.11
GET
setLightCTL
ActionEvent: set
Request
Response
Comment
Method
LightSetSetting
method
level
17.12
http://<IP>/cgi-bin/ Lvwled.cgi?action=get
method =
active=
inactive=
duringtime=
http://<IP>/cgi-bin/wledctl.cgi?
Action=set
method=
level=
POST
Req or
Opt or
N
R
R
Data type
Int
Int
Allowed Value
[0,3]
[1,10]
getLightCTL
ActionEvent: get
Request
Response
Comment
Method
http://<IP>/cgi-bin/ wledctl.cgi?action=get
method=
level=
GET
notes
table
18. PTZ
PTZ API allows applications to
1) Provide CGI commands for PTZ function control.l.
Data
type
Allowed
Value
move
Req
or
Opt
or
N
R
char[32]
motion
char[32]
relative
Int
home up
down left
right upleft
upright
downleft
downright
request drop
query
[0,1]
degree
Int
[-360,360]
step
Int
[-9999,9999]
enabled
Int
[0,1]
pan
tilt
zoom
focus
imagewidth
imageheight
centerX
centerY
R
R
R
R
R
R
R
R
Int
Int
Int
Int
Int
Int
Int
Int
[-100,100]
[-100,100]
[-100,100]
[-100,100]
ptz
18.1
notes
0: absolute
1: relative
Based on the limit of
hardware
Based on the limit of
hardware
0:disabled autofocus
1:autofocus
depends on resolution
depends on resolution
depends on resolution
depends on resolution
Direction
ActionEvent: direction
Request
Response
Comment
Method
http://<IP>/cgi-bin/ptz.cgi?
action=direction
move=left
move =home up down left right upleft upright downleft
downright
POST
18.2
Pan
ActionEvent: pan
Request
Response
Comment
Method
18.3
relative=0
degree range -180 to 180
Pan the device relative to the (0, 0)position
//=========================================
relative=1
degree range -360 to 360
Pan the device n degrees relative to the current position
POST
tilt
ActionEvent: tilt
Request
Response
Comment
Method
18.4
http://<IP>/cgi-bin/ptz.cgi?
action=pan
relative=
degree =
http://<IP>/cgi-bin/ptz.cgi?
action=titl
relative=
degree =
relative=0
degree range -180 to 180
Pan the device relative to the (0, 0)position
//====================================
relative=1
degree range -360 to 360
Tilt the device n degrees relative to the current position
POST
Zoom
ActionEvent: zoom
Request
Response
Comment
http://<IP>/cgi-bin/ptz.cgi?
action=zoom
relative=
step =
relative=0
Method
18.5
Focus
ActionEvent: focus
Request
Response
Comment
Method
18.6
http://<IP>/cgi-bin/ptz.cgi?
action= focus
enabled=0
relative=
step =
enabled=0disabled autofocus enabled=1autofocus
//=========================================
relative=0step range 0 to 9999 move focus n steps
//==========================================
relative=1step range -9999 to 9999
Move device n steps relative to the current position;
Positive values mean focus far, and negative values
mean focus near.
POST
Iris
ActionEvent: iris
Request
Response
Comment
Method
http://<IP>/cgi-bin/ptz.cgi?
action= iris
relative=
step =
Relative=0
step range 0 to 9999
Move iris n steps
//=========================================
relative=1step range -9999 to 9999
Move device n steps relative to the current position;
POST
18.7
continuouspantiltmove
ActionEvent: continuouspantiltmove
http://<IP>/cgi-bin/ptz.cgi?
Request
action= continuouspantiltmove
pan=
tilt=
Response
Pan range -100 ~100
Comment
Titl range -100 ~100
Continuous pan/tilt motion. Positive values mean right
(pan) and up (tilt), negative values mean left (pan) and
down (tilt). 0,0 means stop.
POST
Method
18.8
continuouszoommove
ActionEvent: continuouszoommove
http://<IP>/cgi-bin/ptz.cgi?
Request
action= continuouszoommove
zoom =
Response
zoom range -100 ~100
Comment
Continuous zoom motion. Positive values mean zoom in
and negative values mean zoom out. 0 means stop.
POST
Method
18.9
continuousfocusmove
ActionEvent: continuousfocusmove
http://<IP>/cgi-bin/ptz.cgi?
Request
action= continuousfocusmove
focus =
Response
focus range -100 ~100
Comment
Continuous focus motion. Positive values mean focus
near and negative values mean focus far. 0 means
stop..
POST
Method
18.10
absolutepoint
ActionEvent: absolutepoint
http://<IP>/cgi-bin/ptz.cgi?
Request
action= absolutepoint
imagewidth =
imageheight=
centerX=
centerY=
Response
Use this function to send the coordinates for the point in
Comment
the image where the user clicked. This information is
then used by the server to calculate the pan/tilt move
required to (approximately) center the clicked point.
POST
Method
18.11
QueueControl
ActionEvent: Queuecontrol
http://<IP>/cgi-bin/ptz.cgi?
Request
action= control
motion = query
Response
request requests PTZ control.
Comment
drop drops the PTZ control or leaves the queue.
query reports the current status for the client. For
possessing clients with no peers existing in the queue,
request will reset the control timer. For all other clients,
request will have the same effect as query.
POST
Method
18.12
areazoom
ActionEvent: areazoom
Request
Response
Comment
Method
http://<IP>/cgi-bin/ptz.cgi?
action= areazoom
imagewidth =
imageheight=
centerX=
centerY=
zoom=
POST
ActionEvent: add
Request
http://<IP>/cgi-bin/preset.cgi?
action=add
name=
Response
Comment
Method
Preset
name
19.2
Data
type
Allowed
Value
notes
char[65]
deletePreset
ActionEvent: delete
Request
Response
Comment
Method
19.3
Req
or
Opt
or
N
R
http://<IP>/cgi-bin/preset.cgi?
action=delete
name=
Remove the specified preset position associated with
<preset name>.
POST
gotoPreset
ActionEvent: goto
Request
Response
Comment
http://<IP>/cgi-bin/preset.cgi?
action=goto
name=
Go to the specified preset position associated with
Method
19.4
<preset name>.
POST
getPreset
ActionEvent: get
Request
Response
Comment
Method
http://<IP>/cgi-bin/preset.cgi?action=get
size=
name1=
name2=
19.5
sethomePreset
ActionEvent: home
Request
Response
Comment
Method
19.6
http://<IP>/cgi-bin/preset.cgi?
action=home
name=
Set the specified preset position as home preset.
POST
setPatrol
ActionEvent: set
Request
Response
Comment
Method
http://<IP>/cgi-bin/patrol.cgi?
action=set
presetName1=
delay1=
presetName2=
delay2=
presetName3=
delay3=
presetName4=
delay4=
POST
Patrol
presetName
delay
19.7
Data type
Allowed
Value
char[65]
Int
notes
second
clearPatrol
ActionEvent: delete
Request
Response
Comment
Method
19.8
Req or
Opt or
N
R
R
http://<IP>/cgi-bin/patrol.cgi?
action=delete
Use this function to clear the entire patrol setting for the
device.
POST
startPatrol
ActionEvent: start
Request
Response
Comment
Method
http://<IP>/cgi-bin/patrol.cgi?
action=start
Use this function to start the patrol sequence.
POST
19.9
stopPatrol
ActionEvent: stop
Request
Response
Comment
Method
19.10
http://<IP>/cgi-bin/patrol.cgi?
action=stop
Use this function to stop the patrol sequence.
POST
getPatrol
ActionEvent: get
Request
Response
Comment
Method
http://<IP>/cgi-bin/patrol.cgi?action=get
size=
presetName1=
delay1=
presetName2=
delay2=
presetName3=
delay3=
presetName4=
delay4=
..
Use this function to get the patrol setting for the device.
Get
ActionEvent: add
Request
Response
Comment
Method
schedule
name
index
http://<IP>/cgi-bin/schedule.cgi?
action=add
name=
index=
enabled=
startHour=
startMin=
startSec=
stopHour=
stopMin=
stopSec=
day=
scheduleAction=
POST
Req or
Opt or
N
R
R
Data type
Allowed
Value
char[65]
Int
[1,10]
enabled
Int
[0,1]
startHour
startMin
startSec
stopHour
stopMin
stopSec
day
scheduleAction
R
R
R
R
R
R
R
R
Int
Int
Int
Int
Int
Int
Int
Int
[0,23]
[0,59]
[0,59]
[0,23]
[0,59]
[0,59]
notes
Unique
0:Reserved
,
Sequence
number
0:disabled
1:enabled
table
table
Value
1
2
4
8
16
32
64
128/127
Value
0
1
20.2
update
ActionEvent: update
Request
Response
Comment
Method
20.3
POST
delete
ActionEvent: delete
Request
Response
Comment
Method
20.4
http://<IP>/cgi-bin/ schedule.cgi?
action=update
name=
index=
enabled=
startHour=
startMin=
startSec=
stopHour=
stopMin=
stopSec=
day=
scheduleAction=
http://<IP>/cgi-bin/ schedule.cgi?
action=delete
name=
POST
get
ActionEvent: delete
Request
Response
http://<IP>/cgi-bin/schedule.cgi?
action=get
size=
1Enabled=
1Index=
1name=
1StartHour=
1StartMin=
1StartSec=
1StopHour=
1StopMin=
1StopSec=
1Day=
1Action=
2Enabled=
2Index=
.
Comment
Method
20.5
Get
getSchedule
ActionEvent: getSchedule
http://<IP>/cgi-bin/schedule.cgi?
Request
action=getSchedule
name=
enabled=
Response
index=
name=
startHour=
startMin=
startSec=
stopHour=
stopMin=
stopSec=
day=
action=
Comment
Get
Method
Date
2009/9/
9
Originat
or
Steve
Kenny
2009/9/
28
Kenny
2009/1
1/12
2009/1
1/17
Kenny
2009/1
1/18
2009/1
1/27
Kenny
5
6
Kenny
Kenny
Comments
Initial version 1.0
add API:
1.getSnapshot
2.getRtsp and setRtsp
3.getVideoCodecs getResolutions
getAudioCodecs
4.getinboundChannel
5.Event Notify to HttpServer
modify API:
1.getcapability
2.setAudioDevice
3.setGPIOSetting getGPIOStatus
1. Remove parameter level from
whiteBalance
Structure.
2. Add SshutterSpeedSetting and
SgainSetting
structure and api
3. Modify getCameraSetting and
setCameraSetting
1. Add PTZ API and parameter
2. Check other API and parameter.
1. Modify IO control error.
2. Modify AppendixA
InboundChanel url error
1. Add IO control information table.
1. Modify setCameraSetting
getCameraSetting
setEffect getEffect API
Introduction
21.2
contains the SDP. The SDP includes the transport ports (attribute a=dest_port) to
which the monitoring software should stream to. From now on, the monitoring
software can stream multimedia data to the server at any time until session
termination. To terminate a session, the client sends a TEARDOWN Request
packet, and the server sends back a Response packet to end this session. Figure
1 shows the sequence of session establishment and teardown.
The Request packet syntax:
Request = Request-Line *Message-Header CRLF [Message-Body]
Request-Line = Command SP Request-URI CRLF
Command = INIT | TEARDOWN
Request-URI = 1*CHAR
The Response packet syntax:
Response = Status-Line *Message-Header CRLF [Message-Body]
Status-Line = OK | ERROR CRLF
Message-Header = Content-Length : 1*DIGIT CRLF
Inbound streaming
server
Monitoring
software
INIT Request-URI
OK
Content-Length: xxx
v=0
o=- session_id 1 IN IP4 0.0.0.0
s=inbound
c=IN IP4 0.0.0.0
t=0 0
m=audio 0 RTP/AVP 0
a=dest_port:xxx
RTP packets
TEARDOWN Request-URI
OK
21.4
Authentication
[TODO]
129
23.AppendixB RTSP
This document specifies the external RTSP-based application programming
interface of the camera and video servers. The RTSP URL is rtsp://<server
ip>/channelX where <server name> is the IP address of the server. The
DESCRIBE, SETUP, OPTIONS, PLAY, PAUSE and TEARDOWN methods are
supported. The RTSP protocol is described in RFC 2326.
130