Brickcom CB-100A series User Manual

Brickcom CB-100A series User Manual

Megapixel cube network camera
Hide thumbs Also See for CB-100A series:
Table of Contents

Advertisement

Quick Links

Megapixel Cube Network Camera
CB-100A series
User's Manual
Quality Service Group

Advertisement

Table of Contents
loading

Summary of Contents for Brickcom CB-100A series

  • Page 1 Megapixel Cube Network Camera CB-100A series User’s Manual Quality Service Group...
  • Page 2 Product name: Megapixel Cube Network Camera (CB-100A series) Release Date: 2010/ Manual Revision: V1.1 Web site: www.brickcom.com Email: technical@brickcom.com info@brickcom.com Made in Taiwan. © 2009 Brickcom Corporation. All Rights Reserved...
  • Page 3: Table Of Contents

    Table of Contents Before You Use This Product ..................0 Package Contents ......................0 Cube Network Camera Overview ..................1 Device Appearance Description ..................3 LED Behavior ........................4 Installation ........................6 System Requirements ....................6 Camera Connection ....................7 Basic Connection ....................
  • Page 4 Firmware Upgrade ................... 66 Configuration ....................67 Reset to Default ....................67 Reboot ......................67 FCC Caution ......................... 68 BRICKCOM IPCAM HTTP API ..................69 Preface ........................69 Overview ........................ 69 HTTP API Transaction ....................70 API Categories ......................72 Streaming API .......................
  • Page 5 2.11 setContrast ....................93 2.12 getContrast ....................93 2.13 setFrequcny ....................93 2.14 getFrequency .................... 94 2.15 setEffect ....................94 2.16 getEffect ....................94 2.17 setEnvMode ....................95 2.18 getEnvMode ....................95 2.19 setIRCutFilter .................... 95 2.20 getIRCutFilter .................... 96 2.21 setIRLED ....................
  • Page 6 Storage API (TBD) ...................... 120 System API ......................... 121 getDeviceInfo ..................125 setTimeSetting ..................125 getTimeSetting ..................126 setSyslogSetting..................127 getSyslogSetting ..................127 getSyslogFile ................... 128 syslogClear ..................... 128 Admin API ........................129 addUser ....................131 deleteUser ....................132 getUsers ....................132 updateUser ....................
  • Page 7 getEventRule ................... 153 setEmailSetting ..................154 getEmailSetting ..................155 setFTPSetting ..................155 9.10 getFTPSetting ..................156 9.11 setAlarmMediaInfo .................. 157 9.12 getAlarmMediaInfo .................. 157 9.13 setSamba ....................158 9.14 getSamba ....................158 I/O Control API ......................159 10.1 setGPIOSetting ..................159 10.2 getGPIOSetting ..................
  • Page 8: Before You Use This Product

    Before You Use This Product The use of surveillance devices may be prohibited by law in your country. The Network Camera is not only a high-performance web-ready camera but also can be part of a flexible surveillance system. It is the user’s responsibility to ensure that the operation of such devices is legal before installing this unit for its intended use.
  • Page 9: Package Contents

    Package Contents a. CB-100A/ WCB-100A b. Product CD d. White Flat RJ-45 cable(1.5m) c. Camera Stand e. Warranty Card f. Power Adapter g. Quick Guide...
  • Page 10: Cube Network Camera Overview

    Cube Network Camera Overview Compact designed Brickcom CB-100A/ WCB-100A offers high video quality surveillance solution for residences and small businesses. Unlike general webcam, Brickcom CB-100A/ WCB-100A camera is a standalone complete system that does not need to be connected to a computer.
  • Page 11 The elderly and baby care - The elderly and baby can be cared easily by live view and intercom. Small office surveillance - Employees working status can be monitored by portal device. - 2 -...
  • Page 12: Device Appearance Description

    Device Appearance Description < Front & Rear view > Adjustable focal Lens Built-in Power Connector Microphone Reset Button Ethernet RJ45 10/100 Socket Illumination LED Speaker <Side view> Power LED Micro SD slot Status LED Internet LED WPS button (WCB-100A Only) WPS LED (WCB-100A ) Privacy button Firmware upgrade LED...
  • Page 13: Led Behavior

    LED Behavior Function LED Behavior Description Remark Power Steady On Normal Operation (Blue) Power off Power Unlighted (Blue) 1. Connect to switch by Status Steady On Ethernet or WiFi. Second (Blue) 2. Reset to default. 1. Power off Status Unlighted Second (Blue) 2.
  • Page 14 WCB-100A Session overlap detected Fourth (Blue) Unlighted WCB-100A WPS Success Fourth (Blue) Firmware Steady On Firmware Upgrade CB-100A Upgrade Success Fourth (Blue) Privacy Steady On Privacy mask active Bottom(Red) Privacy Unlighted Privacy mask inactive Bottom(Red) Hardware Reset Reset Button The reset button is used to reset the system or restore the factory default settings. Sometimes resetting the system can return the camera to normal operation.
  • Page 15: Installation

    Installation System Requirements Operating System Microsoft Windows XP Home Edition SP2 Microsoft Windows XP Professional SP2 Computer IBM PC/AT Compatible Pentium 3GHz or faster Memory 1024 MB or more Monitor 1024 x 768 pixels or more, 24-bit True color or better Network Interface 10/100Mbps Network interface card must be installed Web Browser...
  • Page 16: Camera Connection

    Camera Connection Basic Connection 1. Connect the supplied power cable from the camera to the power outlet. Connect the camera to a switch via Ethernet cable. Please check your product package contains all the accessories listed in the foregoing Package Contents. Upon powering up, the power LED will become lighted first and then the device will go through booting process.
  • Page 17: Software Installation

    Insert the Installation CD into the CD-ROM driver. Run Auto run Tool from the CD-ROM directly to start the installation. For the first time of installing Brickcom software kit, select a desired language for the interface. The available languages are listed in the scroll box.
  • Page 18 In the Install Shield Wizard dialog box, click <Next> to continue. Check the option “I accept the terms of the license agreement”. Click <Next> to continue. - 9 -...
  • Page 19 Select appointed folder where setup will install files to. Click <Change> to modify the installation directory. Click <Next> to continue. Select either “Complete” setup type or “Custom” setup type to install the System. If COMPLETE SETUP TYPE is selected, install all program features into the default directory.
  • Page 20 Display the installation information. Click <Next> to continue. Select either EasyConfig or PC-NVR to launch. - 11 -...
  • Page 21 If CUSTOM SETUP TYPE is selected Install the system to a preferred directory. Or select whichever program feature(s) to install. This is recommended for advanced users. Check the option “Custom”, and then click <Next>. Select the features you want to install. Click <Next> to continue. - 12 -...
  • Page 22 Select to create the EasyConfig shortcuts, click <Next> to continue. Select to create the PC-NVR Lite shortcuts, click <Next> to continue. - 13 -...
  • Page 23 Display the installation information. Click <Next> to continue. Select either EasyConfig or PC-NVR to launch. - 14 -...
  • Page 24: Easyconfig

    EasyConfig Double click on the shortcut icon on the desktop. Note that this is only available if the” Shortcut Selection” component is installed. Do not checks the option box if user would like to check the hardware installation settings, Otherwise checks <Skip the hardware installation> to skip the hardware connection checking, the program will automatically search for the Network Camera in the Intranet.
  • Page 25 - 16 -...
  • Page 26 User can either select simple mode or professional mode for network camera IP setting. If simple mode is selected, the easy configuration program will set up the connection automatically. If professional mode is selected, the user will need to configure the IP manually.
  • Page 27 There may be many Network Cameras in the local network. Users can differentiate the Network Cameras with the UPnP name. Select the Network Camera you want to connect from the survey list. - 18 -...
  • Page 28 Please enter the username and password if other than default setting. The username and password are assigned as “admin/admin” as default. The DHCP setting is recommended. User can either select <Setting Remains the same> or set IP address manually, if user wants set IP address manually, please refer to the product user manual.
  • Page 29 If <Set IP Address Configuration manually> is selected, the following pages will be displayed. - 20 -...
  • Page 30 If device supports Easy Link function, the following page will be displayed. Easy Link - Enables network camera comes with everything you need to quickly add a surveillance camera to your home or small office network. To view what the camera is seeing, simply log on to mybrickcom.com, choose your device domain name which you created, and start viewing –...
  • Page 31 After finish setting, the connection successful or fail showed. If connection failed, user can either try again or quit the installation. User can either select PC-NVR or Live View to continue or click <X> on the top right of the screen to finish the installation. Click <Live View>...
  • Page 32 If Static IP is selected, the failure page will be displayed as below. Once installation is completed, the Administrator should proceed to the next section "Access to the Network Camera" for necessary checks and configurations. - 23 -...
  • Page 33: Access To The Network Camera

    Access to the Network Camera Check Network Settings The Network Camera can be connected either before or immediately after software installation onto the Local Area Network. The Administrator should complete the network settings on the configuration page, including the correct subnet mask and IP address of gateway and DNS.
  • Page 34: Authentication

    Authentication After opening the Web browser and typing in the URL of the Network Camera, a dialogue window pops up to request a username and password. The user name and password for the Administrator are assigned as “admin/admin”. Upon successful authentication, the following figure is displayed.
  • Page 35: Installing Plug-In

    Installing plug-in For the initial access to the Network Camera in Windows, the web browser may prompt for permission to install a new plug-in for the Network Camera on the Internet Explorer. Permission request depends on the Internet security settings of the user’s PC or notebook. If the highest security level is set, the computer may prohibit any installation and execution attempt.
  • Page 36: Live View

    Live View Live View is the default page that opens when accessing the Network Camera. Live video is displayed directly in the browser window.  Stream1/Stream2 Channels The network camera offers simultaneous dual stream for optimized quality and bandwidth. To configure codec compression...
  • Page 37 UDP - This protocol allows for more real-time audio and video streams. However, network packets may be lost due to network burst traffic and images may be broken. Activate UDP connection when occasions require time-sensitive responses and the video quality is less important.
  • Page 38 Flip - vertically reflect the display of the live video. Real Size - click this button to view the object in real size. Press this button again to switch back to normal mode. Full Screen - Click this button to switch to full screen mode. Press “Esc” key to switch back to normal mode.
  • Page 39: Configuration

    Configuration Click Configuration on the main page to enter the camera setting pages. Note that only Administrators can access the configuration page. Camera/Video/Audio Camera Brightness - Drag the slider bar to adjust the image brightness level, which ranges from -5 to Contrast - Drag the slider bar to adjust the image contrast level, which ranges from -5 to +5.
  • Page 40 Exposure Control Sport – Select this option when detecting the fast moving object. Normal – Select this option with normal detection. Night Vision – Select this option when detecting at night or at low lighting conditions. User Defined – Select this option if user wants to define manually. AGC (Auto Gain Control) - Set the Gain rate higher for a better video illumination.
  • Page 41: Video

    Video You can set up two separate streams for the Network Camera for different viewing devices. Stream 1 & Stream 2 Video Codec - The Network Camera offers three choices of video codec standards for real-time viewing: H.264, MPEG-4 and MJPEG. (Note - WCB-100Ae does not support H.264 codec.) Video Resolution - Select from the drop-down menu to choose the best resolution that fit your need.
  • Page 42 video codec at MJPEG is selected. Set the bitrate higher for a better video quality. However, high bitrate may cost high network bandwidth resources. The video qualities are selectable at the following settings: Level 1 to Level 6, Level 6 gives the best image quality.
  • Page 43 RTSP Server To utilize RTSP authentication, make sure that you have set a password for the Network Camera first. RTSP (Real-Time Streaming Protocol) controls the delivery of streaming media. By default the port number is set to 554. Authentication - Depending on your network security requirements, the Network Camera provides two types of security settings for streaming via RTSP protocol: NONE and DIGEST.
  • Page 44: Audio

    Recording folder path - The destination for saving the recording video files. Click browse to specify the saving path. Snapshot folder path - The destination for saving the snapshot files. Click browse to specify the saving path and select saving type from the drop-down menu. Click Apply or Reset to take effect.
  • Page 45: Multicast

    Multicast Multicast sends a stream to the multicast group address and allows multiple clients to acquire the stream at the same time by requesting a copy from the multicast group address. Therefore, multicast can effectively save Internet bandwidth. The RTSP (Real-Time Streaming Protocol) controls the delivery of streaming media.
  • Page 46: Privacy Mask Control

    Privacy Mask Control Privacy Mask Control - Enable to concealment of parts of the image that are not to be viewable. Hardware Privacy Mask Button – Check to enable hardware Privacy Mask Button. (Note - WCB-100Ae does not support this function) - 37 -...
  • Page 47: Network

    Network IP Settings This section explains how to configure wired network connection for the Network Camera. There are several ways to setup the Network Camera over the Internet. The first way is to obtain an available dynamic IP address assigned by a DHCP server. The second way is to utilize a static The third way is to use PPPoE.
  • Page 48: Upnp

    PPPoE - (Point-to-point over Ethernet): Choose this connection type if you are connected to the Internet via a DSL Line. Note that to utilize this feature, it requires an account provided by your ISP. Enter the user name and password provided by your ISP. Click Apply or Reset to take effect.
  • Page 49: Ddns (Dynamic Domain Name Service)

    DDNS (dynamic domain name service) DynDNS - Enable the DDNS service allows your Network Camera, especially when assigned with a dynamic IP address, to have a fixed host and domain name. Note that before utilizing this function; please apply a dynamic domain account first. Enter the username, password and hostname when enabled the DDNS.
  • Page 50: Easy Link

    Easy Link Easy Link - Enables network camera comes with everything you need to quickly add a surveillance camera to your home or small office network. To view what the camera is seeing, simply log on to mybrickcom.com, choose your device domain name which you created, and start viewing –...
  • Page 51: Wireless

    Wireless devices have a default wireless network name or Service Set Identifier (SSID) set by the factory, Brickcom wireless products use Brickcom as the default wireless network name. You should change the wireless network name to something unique to distinguish your wireless...
  • Page 52 Security - Encryption protects data transmitted over a wireless network. Wi-Fi Protected Access (WPA-Personal/WPA2-personal) and Wired Equivalent Privacy (WEP) offer different levels security wireless communication. network encrypted with WPA-Personal/WPA2-personal is more secure than a network encrypted with WEP, because WPA-Personal/WPA2-personal uses dynamic key encryption. To protect the information as it passes over the airwaves, you should enable the highest level of encryption supported by your network equipment.
  • Page 53 WEP is a basic encryption method that is not as secure as WPA. Tx Key - Select a key from the drop-down menu. WEP Encryption - Select a level of WEP encryption, 64 bits 10 hex digits or 128 bits 26 hex digits.
  • Page 54 WPA-Personal WPA supports two encryption methods, TKIP and AES, with dynamic encryption keys. Select the type of algorithm, TKIP or AES. The default is TKIP. Shared Key - Enter the key shared between the Router and the server keys. Enter a passphrase of 8-63 characters.
  • Page 55 WPA2-Personal WPA2 supports AES encryption method with dynamic encryption keys. Shared Key - Enter the key shared between the Router and the server keys. Enter a passphrase of 8-63 characters. NOTE - If you are using WPA or WPA2, each device in your wireless network MUST use the same WPA or WPA2 method and shared key, or else the network will not function properly.
  • Page 56 Advanced Settings Network Mode - From this drop-down menu, you can select the wireless standards running on your network. If you have both Wireless-B, Wireless-G and Wireless-N (2.4GHz) devices in your network, keep the default setting, BGN-Mixed. If you have both Wireless-B, Wireless-G devices in your network, select BG-Mixed.
  • Page 57 Wi-Fi Protected Setup Use this method if your client device has a Wi-Fi Protected Setup PIN number. 1. Enter the SSID from the device in the field. 2. Click <Register> to start WPS. Click to Enable the Hardware WPS Button. Click Apply or Reset to take effect.
  • Page 58: Http/Https

    HTTP/HTTPS HTTP - This protocol allows the same quality as TCP protocol without needing to open specific ports for streaming under some network environments. Users inside a firewall can utilize this protocol to allow streaming data through. HTTPS - (Hypertext Transfer Protocol over SSL) - This section explains how to enable authentication and encrypted communication over SSL (Secure Socket Layer).
  • Page 59 Enter the User name and Password of the camera Click “Certificate Error” on the top right of the window to view the certificate. Click “Install Certificate” and follow the steps to finish the installation. - 50 -...
  • Page 60: Event

    Event Motion Detection Motion can be detected by measuring change in speed or vector of an object or objects in the field of view. This section explains how to configure the Network Camera to enable motion detection. There are three motion detection windows can be configured. Detection Setting - Select and enable the motion detection windows function.
  • Page 61: Notification Settings

    Notification - To react in response to particular events. A typical application is that when a motion is detected, the Network Camera sends buffered images to a FTP server, Samba, SMTP, or HTTP as notifications. In this page, you can specify which notification messages will be sent when a trigger is activated.
  • Page 62 Click Apply or Reset to take effect. - 53 -...
  • Page 63 SMTP - Select to send the media files via Email when a trigger is activated. From - Enter the email address of the sender. To - Enter the email address of the recipient. Many recipients are separated by commas. My name - The title shown in the email. Subject - Enter the subject of the email.
  • Page 64 Samba - Select to send the network file system media files via network neighborhood when a trigger is activated. IP Address - Enter the IP address of the samba server. User Name - Enter the user name of the samba server. Password - Enter the password of the samba server.
  • Page 65 HTTP - Select to send the HTTP notification when a trigger is activated. URL – Specify the URL to send HTTP requests, the URL is normally written as follows: http://ip_address/ notification.cgi?parameter ip_address – type the IP address or host name of the host to which you want to connect. Parameter –...
  • Page 66: Scheduled Event

    Scheduled Event (Note - WCB-100Ae does not support this function) Click New to open the recording setting page. In this page, you can define the recording schedule and recording capacity. Name - Enter a descriptive name for the recording setting. Event - Select from the drop-down menu for the recording event.
  • Page 67: Audio Clip

    Audio Clip (Note - WCB-100Ae does not support this function) Audio clips are created by recording sound using the camera’s microphone. Audio clips can be played when an event occurs. To record a new clip using the camera's microphone: 1. Enter a filename. 2.
  • Page 68 By increasing the sensitivity, the range of the PIR Sensor is also increased. The PIR Sensor can be configured to detect movement in the dark up a maximum range of 6 meters. Select from the drop-down menu to adjust the PIR Sensor’s sensitivity. Notification (Note - WCB-100Ae does not support this function) A triggered event using the PIR Sensor can be configured so that when an alarm is activated,...
  • Page 69: System

    System System Log Log - To send a system log to the network camera when a trigger is activated. This page displays the system’s log in chronological order. The system log is stored in the Network Camera’s buffer area and will be overwritten when reaching a certain amount. Click Retrieve to retrieve the log, or click Save to file to save the file in the specify location.
  • Page 70: Date & Time

    Date & Time Manual - The user enters the date and time manually. Clone from PC - Sync with computer time; check clone box to synchronize the date and time of the Network Camera with the local computer. The read-only date and time of the PC is displayed as updated.
  • Page 71: Device Information

    Device Information System Information - To view the entire system information about the network camera. Network Settings - To view the entire network setting information about the network camera. Video/Audio Settings - To view the entire video/audio setting information about the network camera - 62 -...
  • Page 72: Led Indicators

    LED Indicators The LED on the front of the camera can be configured to be unlit to prevent the others noticing the camera is being using. Check option OFF to enable this function. Click Apply or Reset to take effect. Storage Management (Note - WCB-100Ae does not support this function) To view the entire recorded files in the Micro-SD card.
  • Page 73 Advanced Settings Automatic Recycle – Enable to automatically overwritten when size of Micro-SD card is full. (Note - WCB-100Ae does not support this function) Offline Record – Enable to keep recording while the network camera offline. Keeps the default setting, Enable is recommended. Click Apply or Reset to take effect.
  • Page 74: Maintenance

    Maintenance User Management This section explains how to enable password protection and create multiple accounts. Privilege Setting - Enter the new user’s name and password. Select the privilege for new user account. Click Add to take effect. The administrator account name is “admin”, which is permanent and can not be deleted.
  • Page 75: Ip Filter

    IP Filter Enable the IP filter and set of allow or deny IP address range to server. Click Add to list to add the IP range to the IP filter list. Click Apply or Reset to take effect. Firmware Upgrade This feature allows you to upgrade the firmware on your Network Camera.
  • Page 76: Configuration

    Configuration This feature allows you to export/import the configuration files of the network camera. Import/Export - Click export to pop up a dialog to indicate the location and file to export. Click browse to indicate the location and file of the camera configuration and click import to import the configuration file back into the network camera.
  • Page 77: Fcc Caution

    FCC Caution This device complies with Part 15 of FCC rules. Operation is subject to the following two conditions; (1) This device may not cause harmful interference, and (2) This device must accept any interference received, including interference that may cause undesired operations.
  • Page 78: Brickcom Ipcam Http Api

    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.
  • Page 79: Http Api Transaction

    HTTP API Transaction An HTTP API transaction is always started with a request from a client application, which is received by the Web server on the IP Camera device and processed by the IP Camera and finally ends with a response sent back to the requesting client. The client HTTP request takes in either one of the two forms: ...
  • Page 80 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 reason, an appropriate HTTP status code 400 Bad Request is returned accompanied with an error code and error string that explains the failure.
  • Page 81: Api Categories

    API Categories The API categories are listed in the table below. Table 1, API Categories API Category Description Streaming Enable users to set/get the setting about multimedia streaming. Camera Enable users to set/get the camera/lens setting. Enable user to set/get the audio devices’ setting. Audio Network Enable users to set/get the network setting.
  • Page 82: Streaming Api

    Streaming API Streaming API allows applications to 1) set/get the IP Camera streaming setting 2) help users to view video streaming Data structures Data Structure Description SVideoFormatSetting The selected video codec format, encode rate, etc. SAudioFormatSetting The selected audio codec format, encode rate, etc. STransportSetting The selected network transport.
  • Page 83 kbps_8000 = 8000, kbps_10000 = 10000, kbps_12000 = 12000, kbps_15000 = 15000, /* SVideoFormatSetting */ typedef struct _videoFormatSetting { int sourceDevice; // reserved char codecType [16]; char codecSubType [16]; int constantBitrate; // 0:enabled 1:disabled int bitrateInKbps; // Kbps int resolutionWidth; int resolutionHeight;...
  • Page 84 /* STransportSetting */ typedef struct _transportSetting { int multicastEnabled; char multicastAddress[16]; int multicastPort; int ttl; // 0-255 } STransportSetting; /* SVideoSessionSetting */ typedef struct _videoSessionSetting { int enabled; SVideoFormatSetting format; STransportSetting transport; } SVideoSessionSetting; /* SAudioSessionSetting */ typedef struct _audioSessionSetting { int enabled;...
  • Page 85 int index; // (Unique) 0: reserved. 1+: valid index char name[16]; int transportType; SVideoSessionSetting video; SAudioSessionSetting audio; SMetaSessionSetting meta; } SChannelSetting; /* SChannelSetting */ enum _TransportType { TRANSPORT_TYPE_RTSP_RTP=0, TRANSPORT_TYPE_RTP_ONLY=1, TRANSPORT_TYPE_HTTP=2, TRANSPORT_TYPE_MSN=3, typedef struct _channelSetting { int enabled; int index; // (Unique) 0: reserved. 1+: valid index char name[16];...
  • Page 86: Getchannels

    ActionEvents ActionEvent Description getChannels Get all available channels getChannel Get a channel info addChannel Add a new channel updateChannel Update an existing channel updateChannels Update all existing channels deleteChannel Delete a channel getStream Request to receive a RTSP streaming session 1.1 getChannels ActionEvent: getChannels Request...
  • Page 87: Getchannel

    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 1.2 getChannel ActionEvent: getChannel Request http://<IP>/cgi-bin/channels.cgi?action=getChannel&index=<index> Response 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= - 78 -...
  • Page 88: Addchannel

    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 Method 1.3 addChannel ActionEvent: addChannel Request http://<IP>/cgi-bin/channels.cgi action=add index=<index> enabled= name= transportType= video.enabled= video.format.codecType= video.format.codecSubType= video.format.constantBitrate= video.format.bitrateInKbps= video.format.resolutionWidth= - 79 -...
  • Page 89 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 - 80 -...
  • Page 90: Updatechannel

    1.4 updateChannel ActionEvent: updateChannel Request http://<IP>/cgi-bin/channels.cgi 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= - 81 -...
  • Page 91: Updatechannels

    Response Comment Method POST 1.5 updateChannels ActionEvent: updateChannels Request http://<IP>/cgi-bin/channels.cgi action=updateAll 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=&...
  • Page 92: Getstream

    c1MetaTransportMulticastAddress=& c1MetaTransportMulticastPort=& c1MetaTransportTtl=& c2Enable=&……. Response Comment Method POST ActionEvent: deleteChannel Request http://<IP>/cgi-bin/channels.cgi action=delete&index=<index> Response Comment Method POST 1.6 getStream ActionEvent: getStream rtsp://<IP>/channel<index> Request Response <Index> is the index number of the SChannelSetting. Comment Method - 83 -...
  • Page 93: Camera Api

    Camera API Camera API allows applications to set/get the Camera/lens setting. Data structures Data Structure Description SWhiteBalanceSetting White balance setting of the Camera SBrightnessSetting Brightness setting of the Camera SColorSaturationSetti Color Saturation setting of the Camera SMirrorFlipSetting MirrorFlip setting of the Camera SSharpnessSetting Sharpness setting of the Camera SContrastSetting...
  • Page 94 /* SExposureSetting */ typedef struct _ExposureSetting { int mode; // enum AutoExposureMode } SExposureSetting; /* SWhiteBalanceSetting */ typedef struct _whiteBalanceSetting { int mode; // enum WhiteBalanceMode int level; } SWhiteBalanceSetting; /* SBrightnessSetting */ typedef struct _brightnessSetting { int level; } SBrightnessSetting; /* SColorSaturationSetting */ typedef struct _colorSaturationSetting { int level;...
  • Page 95 FREQ_60HZ=0, FREQ_50HZ, /* SFrequencySetting */ typedef struct _frequencySetting int freq; // 60Hz : 0 , 50Hz : 1 } SFrequencySetting; enum SpecialEffectMode { EFFECT_MODE_DISABLED=0, EFFECT_MODE_NEGATIVE, EFFECT_MODE_BLACKWHITE, enum IndoorOutdoorMode { MODE_OUTDOOR=0, MODE_INDOOR, typedef struct _effectSetting int effectMode; // enum SpecialEffectMode } SEffectSetting; typedef struct _EnvModeSetting int envMode;...
  • Page 96 typedef struct _IRCutFilterSetting { int mode; // enum IRCutMode int thresholdLevel; // (reserved) 0-100 } SIRCutFilterSetting; /* SIRLEDSetting */ enum IRLEDMode { IRLED_OFF=0, IRLED_ON, IRLED_MODE_AUTO, typedef struct _IRLEDSetting { int mode; // enum IRCutMode int thresholdLevel; // (reserved) 0-100 } SIRLEDSetting; /*SAutoIris*/ enum AutoIrisMode { AUTOIRIS_DISABLED=0,...
  • Page 97 UPLOAD_IMAGE, typedef struct _OsdPalette { int y; //Range:0~255 int Cb; //Range:0~255 int Cr; //Range:0~255 } SOsdPalette; typedef struct _OsdWindow { int x; //Range:depends on resolution int y; //Range:depends on resolution int transparent;//Range:0~3 } SOsdWindow; /* SVideoOverlaySetting */ typedef struct _VideoOverlaySetting { int useTimestamp;...
  • Page 98: Setwhitebalance

    setMirrorFlip Set MirrorFlip getMirrorFlip Get MirrorFlipof setSharpness Set Sharpness getSharpness Get Sharpness setContrast Set Contrast getContrast Get Contrast setFrequency Set Frequency getFrequency Get Frequency setEffect Set Effect getEffect Get Effect setEnvMode Set EnvMode getEnvMode Get EnvMode setIRCutFilter Set IR cut Filter getIRCutFilter Get IR cut filter setIRLED...
  • Page 99: Getwhitebalance

    2.2 getWhiteBalance ActionEvent: getWhiteBalance Request http://<IP>/cgi-bin/camera.cgi?action=getWhiteBalance Response mode= level= Comment Method 2.3 setBrightness ActionEvent: setBrightness http://<IP>/cgi-bin/camera.cgi Request action= setBrightness level= Response Comment Method POST 2.4 getBrightness ActionEvent: getBrightness Request http://<IP>/cgi-bin/camera.cgi?action=getBrightness Response level= Comment Method - 90 -...
  • Page 100: Setcolorsaturation

    2.5 setColorSaturation ActionEvent: setColorSaturation Request http://<IP>/cgi-bin/camera.cgi action= setColorSaturation level= Response Comment Method POST 2.6 getColorSaturation ActionEvent: getColorSaturation Request http://<IP>/cgi-bin/camera.cgi?action=getColorSaturation Response level= Comment Method 2.7 setMirrorFlip ActionEvent: setMirrorFlip Request http://<IP>/cgi-bin/camera.cgi action= setMirrorFlip mirrorEnabled = flipEnabled= Response Comment POST Method - 91 -...
  • Page 101: Getmirrorflip

    2.8 getMirrorFlip ActionEvent: getMirrorFlip Request http://<IP>/cgi-bin/camera.cgi?action= getMirrorFlip Response flipEnabled= mirrorEnabled = Comment Method 2.9 setSharpness ActionEvent: setSharpness Request http://<IP>/cgi-bin/camera.cgi action= setSharpness level= Response Comment Method POST 2.10 getSharpness ActionEvent: getSharpness Request http://<IP>/cgi-bin/camera.cgi?action=getSharpness Response level= Comment Method - 92 -...
  • Page 102: Setcontrast

    2.11 setContrast ActionEvent: setContrast Request http://<IP>/cgi-bin/camera.cgi action=setContrast level= Response Comment Method POST 2.12 getContrast ActionEvent: getContrast Request http://<IP>/cgi-bin/camera.cgi?action=getContrast Response level= Comment Method 2.13 setFrequcny ActionEvent: setFrequcny Request http://<IP>/cgi-bin/camera.cgi action=setFrequency freq = Response Comment Method POST - 93 -...
  • Page 103: Getfrequency

    2.14 getFrequency ActionEvent: getFrequency Request http://<IP>/cgi-bin/camera.cgi?action=getFrequency Response freq= Comment Method 2.15 setEffect ActionEvent: setEffect Request http://<IP>/cgi-bin/camera.cgi action=setEffect effectMode = Response Comment Method POST 2.16 getEffect ActionEvent: getEffect Request http://<IP>/cgi-bin/camera.cgi?action=getEffect Response effectMode= Comment Method - 94 -...
  • Page 104: Setenvmode

    2.17 setEnvMode ActionEvent: setEnvMode Request http://<IP>/cgi-bin/camera.cgi action=setEnvMode envMode = Response Comment Method POST 2.18 getEnvMode ActionEvent: getEnvMode Request http://<IP>/cgi-bin/camera.cgi?action=getEnvMode Response envMode= Comment Method 2.19 setIRCutFilter ActionEvent: setIRCutFilter Request http://<IP>/cgi-bin/camera.cgi action=setIRCutFilter mode= thresholdLevel= Response Comment POST Method - 95 -...
  • Page 105: Getircutfilter

    2.20 getIRCutFilter ActionEvent: getIRCutFilter Request http://<IP>/cgi-bin/camera.cgi?action=getIRCutFilter Response mode= thresholdLevel= Comment Method 2.21 setIRLED ActionEvent: setIRLED http://<IP>/cgi-bin/camera.cgi Request action=setIRLED mode= thresholdLevel= Response Comment Method POST 2.22 getIRLED ActionEvent: getIRLED Request http://<IP>/cgi-bin/camera.cgi?action=getIRLED Response mode= thresholdLevel= Comment Method - 96 -...
  • Page 106: Setvideooverlay

    2.23 setVideoOverlay ActionEvent: setVideoOverlay Request http://<IP>/cgi-bin/camera.cgi 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 2.24 getVideoOverlay ActionEvent: getVideoOverlay Request http://<IP>/cgi-bin/camera.cgi?action=getVideoOverlay Response useTimestamp= displayString= useImage= useText= osdPalette1.y= - 97 -...
  • Page 107: Setautoiris

    osdPalette1.Cb= osdPalette1.Cr= osdPalette2.y= osdPalette2.Cb= osdPalette2.Cr= osdWindow1.x= osdWindow1.y= osdWindow1.transparent= osdWindow2.x= osdWindow2.y= osdWindow2.transparent= Comment Method 2.25 setAutoIris ActionEvent: setAutoIris Request http://<IP>/cgi-bin/camera.cgi action= setAutoIris enabled Response Comment POST Method 2.26 getAutoIris ActionEvent: getAutoIris Request http://<IP>/cgi-bin/camera.cgi?action= getAutoIris Response enabled= Comment Method - 98 -...
  • Page 108: Setcamerasetting

    2.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 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 - 99 -...
  • Page 109: Getcamerasetting

    Response Comment Method POST 2.28 getCameraSetting ActionEvent: getCameraSetting Request http://<IP>/cgi-bin/camera.cgi?action=getCameraSetting Response 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 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 - 100 -...
  • Page 110 videoOverlay.osdWindow2.x=0 videoOverlay.osdWindow2.y=0 videoOverlay.osdWindow2.transparent=0 Comment Method - 101 -...
  • Page 111: Audio Api

    Audio API Audio API allows applications to 1) set/get the audio device setting 2) set/get the audio volume of the device Data structures Data Structure Description SAudioDeviceSetting Basic audio device setting /* SAudioDeviceSetting */ typedef struct _audioDeviceSetting { int muted; // True (muted), False (un-muted) int level;...
  • Page 112: Setaudiodevice

    3.1 setAudioDevice ActionEvent: setAudioDevice http://<IP>/cgi-bin/audio.cgi Request action=setAudioDevice muted= level = voiceSource = Response Comment Method POST 3.2 getAudioDevice ActionEvent: getAudioDevice Request http://<IP>/cgi-bin/ audio.cgi?action=getAudioDevice muted = Response level = voiceSource = Comment Method 3.3 setAudioMuteState ActionEvent: setAudioMuteState Request http://<IP>/cgi-bin/audio.cgi action=setAudioMuteState muted= Response Comment Method...
  • Page 113: Getaudiomutestate

    3.4 getAudioMuteState ActionEvent: getAudioMuteState Request http://<IP>/cgi-bin/audio.cgi?action=getAudioMuteState Response muted= Comment Method 3.5 setAudioVolume ActionEvent: setAudioVolume Request http://<IP>/cgi-bin/audio.cgi action=setAudioVolume level= Response Comment Method POST 3.6 getAudioVolume ActionEvent: getAudioVolume Request http://<IP>/cgi-bin/audio.cgi?action=getAudioVolume level= Response Comment Method - 104 -...
  • Page 114: Network Api

    Network API Network API allows applications to set/get the network-related settings including IP address, WIFI network, etc. Data structures Data Structure Description SBasicNetworkSetting Basic network setting such as IP address, netmask, etc. SUPnPSetting UPnP setting for SSDP advertisement SDDNSSetting DDNS setting SEthernetSetting Ethernet (802.3?) setting SWIFISetting...
  • Page 115 typedef struct _BasicNetworkSetting int addressType; // enum NetAddressType char ipv4Address[16]; char subnetMask[16]; char gatewayAddress[16]; char dnsAddress1[16]; char dnsAddress2[16]; SDHCPSetting dhcp; SPPPoESetting pppoe; // TBD: IPv6, …. } SBasicNetworkSetting; /* SUPnPSetting */ typedef struct _UPnPSetting { int enabled; char upnpName[128]; } SUPnPSetting; /* SDDNSSetting */ enum ddnsServerType{ DYNDNS = 0,...
  • Page 116 } SDDNSSetting; /* SEthernetSetting */ enum EthernetMediaType { ETHER_MEDIA_TYPE_AUTO=0, ETHER_MEDIA_TYPE_10_HALF_DUPLEX, ETHER_MEDIA_TYPE_10_FULL_DUPLEX, ETHER_MEDIA_TYPE_100_HALF_DUPLEX, ETHER_MEDIA_TYPE_100_FULL_DUPLEX, ETHER_MEDIA_TYPE_1000_FULL_DUPLEX, typedef struct _EthernetSetting { Int mediaType; // enum EthernetMediaType } SEthernetSetting; /* SWIFISetting */ enum WIFIWPA_algorithmType { WL_TKIP=0, WL_AES, WL_TKIP_AES, enum WIFIWEP__authenticationType { WL_OPEN=0, WL_SHARED, WL_WEPAUTO, enum WIFISecurityMode { WL_NONE=0, WL_WEP,...
  • Page 117 enum WIFIAccessMode { WIFI_ACCESS_MODE_INFRASTRUCTURE=0, WIFI_ACCESS_MODE_ADHOC, enum WIFIOperationMode { WIFI_OP_MODE_AUTO=0, WIFI_OP_MODE_11G_ONLY, WIFI_OP_MODE_11B_ONLY, WIFI_OP_MODE_11N_ONLY, WIFI_OP_MODE_11BG_MIXED, WIFI_OP_MODE_11GN_MIXED, WIFI_OP_MODE_11BGN_MIXED, enum WIFIPreambleType { WIFI_PREAMBLE_TYPE_LONG=0, WIFI_PREAMBLE_TYPE_SHORT, enum WIFIAuthenticationType { WIFI_AUTHENTICATION_TYPE_OPEN=0, WIFI_AUTHENTICATION_TYPE_SHARED_KEY, enum WIFIchannelBandWidth { FORTY_MHZ=0, TWENTY_MHZ, enum WIFIWPSMode { NONE=0, PIN, PBC, - 108 -...
  • Page 118 typedef struct _SSWPS { int WPSMode; // enum WIFIWPSMode char PINCode[64]; }SWPS; typedef struct _SSWPA { int algorithmType; // enum WIFIWPA_algorithmType char sharedKey[64]; }SWPA; typedef struct _SSKeyentry { char encryptionKey[64]; }SKeyentry; typedef struct _SSEncryptionKeyList { int size; SKeyentry keyEntry[4]; }SEncryptionKeyList; typedef struct _SSWEP { int authenticationType;...
  • Page 119 //authenticationMethod enum IEEE_802_1x_authenticationMethod { WL_MSCHAP=0, WL_MSCHAPV2, WL_PAP, WL_EAP_MD5, //innerEAPProtocolType enum IEEE_802_1x_innerEAPProtocolType { WL_INNER_EAP_TLS=0, WL_EAP_OTP, typedef struct _IEEE_802_1xSetting { int enabled; int authenticationProtocolType; //enum authenticationProtocolType int innerTTLSAuthenticationMethod; //enum authenticationMethod int innerEAPProtocolType;//enum innerEAPProtocolType int validateServerEnabled; char userName[65]; char password[65]; char anonymousID[65]; int autoPACProvisioningEnabled; int caline;...
  • Page 120 int channelBandWidth; // enum WIFIchannelBandWidth int securityMode; // enum WIFISecurityMode SWEP WEP; SWPA WPA; SWPS WPS; SIEEE_802_1xSetting wl_802_1x; } SWIFISetting; enum IPFilterPermissionType { Deny=0, Allow, typedef struct _SSFilterAddressEntry { int enabled; char startIP[16]; char endIP[16]; }SFilterAddressEntry; typedef struct _SSFilterAddressList { int size;...
  • Page 121: Setbasicnetwork

    setUPnP Set UPnP setting getUPnP Get UPnP setting setDDNS Set DDNS setting getDDNS Get DDNS setting setEthernet Set Ethernet setting getEthernet Get Ethernet setting setWIFI Set WIFI setting getWIFI Get WIFI setting setIPFilter Set IPFilter setting getIPFilter Get IPFilter setting 4.1 setBasicNetwork ActionEvent: setBasicNetwork Request...
  • Page 122: Getbasicnetwork

    4.2 getBasicNetwork ActionEvent: getBasicNetwork Request http://<IP>/cgi-bin/basicNetwork.cgi?action=get Response addressType= (0=Static,1=DHCP, 2=PPPoE) ipv4Address= subnetMask= gatewayAddress= dnsAddress1= dnsAddress2= pppoe.username= pppoe.password= Comment Method 4.3 setUPnP ActionEvent: setUPnP Request http://<IP>/cgi-bin/upnp.cgi action=set enabled= name= Response Comment Method POST 4.4 getUPnP ActionEvent: getUPnP Request http://<IP>/cgi-bin/upnp.cgi?action=get Response enabled= name= Comment Method...
  • Page 123: Setddns

    4.5 setDDNS ActionEvent: setDDNS http://<IP>/cgi-bin/ddns.cgi Request action=set dyndnsEnabled= dyndns.wildcardEnabled= dyndns.username= dyndns.password= dyndns.hostname= tzodnsEnabled= tzodns.wildcardEnabled= tzodns.username= tzodns.password= tzodns.hostname= Response Comment Method POST - 114 -...
  • Page 124: Getddns

    4.6 getDDNS ActionEvent: getDDNS Request http://<IP>/cgi-bin/ddns.cgi? action=get Response dyndnsEnabled=0 dyndns.wildcardEnabled= dyndns.username= dyndns.password= dyndns.hostname= tzodnsEnabled= tzodns.wildcardEnabled= tzodns.username= tzodns.password= tzodns.hostname= Comment Method 4.7 setEthernet ActionEvent: setEthernet Request http://<IP>/cgi-bin/ethernet.cgi action=set mediaType= Response Comment POST Method - 115 -...
  • Page 125: Getethernet

    4.8 getEthernet ActionEvent: getEthernet Request http://<IP>/cgi-bin/ethernet.cgi?action=get Response mediaType= Comment Method 4.9 setWIFI ActionEvent: setWIFI Request 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.
  • Page 126: Getwifi

    Response Comment Method POST 4.10 getWIFI ActionEvent: getWIFI Request http://<IP>/cgi-bin/wifi.cgi? action=get enabled= Response 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.
  • Page 127: Setipfilter

    WPS.WPSMode= WPS.PINCode Comment Method 4.11 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 POST - 118 -...
  • Page 128: Getipfilter

    4.12 getIPFilter ActionEvent: getIPFilter Request http://<IP>/cgi-bin/ IPFilter.cgi? action=get Response enabled= permissionType= allow.size= allow.enabled1= allow.startIP1= allow.endIP1= allow.enabled2= allow.startIP2= allow.endIP2= ……. deny.size= deny.enabled1= deny.startIP1= deny.endIP1= deny.enabled2= deny.startIP2= deny.endIP2= Comment Method - 119 -...
  • Page 129: Storage Api (Tbd)

    Storage API (TBD) Storage API allows applications to configure the storage devices reachable by the IPCAM unit. Data structures Data Structure Description ActionEvents ActionEvent Description ActionEvent: Request http://<IP>/cgi-bin/stream. l?action= Response Comment Method - 120 -...
  • Page 130: System Api

    System API System API allows applications to configure miscellaneous system settings not covered by any other category. These settings include Time, Syslog, and etc. // NOTE: In the future, we may switch to rsyslog instead of syslogd. Data structures Data Structure Description SDeviceInfo IP Camera device info...
  • Page 131 /* STimeSetting */ enum TimeConfigType { TIME_CONFIG_TYPE_NONE=0, TIME_CONFIG_TYPE_MANUAL, TIME_CONFIG_TYPE_NTP, // TODO: TBD. enum 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 - 122 -...
  • Page 132 // Reserved for internal use... typedef struct _TimeZone { int id; // Time zone id. Char TZSyntax[128]; } STimeZone; typedef struct _TimeZoneList { int size; STimeZone timezone[60]; } STimeZoneList; typedef struct _ManualTimeSetting { int year; int month; int day; int hour; int minute;...
  • Page 133 // Note, these values are taken from manpage for syslog (3). enum LogPriority { SLOG_EMERG=0, // system is unusable SLOG_ALERT, // action must be taken immediately SLOG_CRIT, // critical conditions SLOG_ERR, // error conditions SLOG_WARNING, // warning conditions SLOG_NOTICE, // normal, but significant, condition SLOG_INFO, // informational message SLOG_DEBUG,...
  • Page 134: Getdeviceinfo

    ActionEvents ActionEvent Description getDeviceInfo Get device info setTimeSetting Set time setting getTimeSetting Get time setting setSyslogSetting Set syslog setting getSyslogSetting Get syslog setting getSyslogFile Get syslog file. SyslogClear Clear syslog. getSystemStatus Get system status 5.1 getDeviceInfo ActionEvent: getDeviceInfo Request http://<IP>/cgi-bin/system.cgi?action=get Response chipVersion= sensorID=...
  • Page 135: Gettimesetting

    ================================================= type=1 enableDST= timezoneID= manual.year= manual.month= manual.day= manual.hour= manual.minute= manual.second= ================================================= type=2 enableDST= timezoneID= ntp.ntpServerLoc1= ntp.ntpServerLoc2= Response Comment Method POST 5.3 getTimeSetting ActionEvent: getTimeSetting Request http://<IP>/cgi-bin/time.cgi?action=get Response type= enableDST= timezoneID= manual.year= manual.month= manual.day= manual.hour= manual.minute= manual.second= enableDST= timezoneID= ntp.ntpServerLoc1= - 126 -...
  • Page 136: Setsyslogsetting

    ntp.ntpServerLoc2= Comment Method 5.4 setSyslogSetting ActionEvent: setSyslogSetting Request http://<IP>/cgi-bin/syslog.cgi action=set localLogLevel= useRemoteLog= addressingFormatType= remoteServerAddress= remoteServerPort= Response Comment POST Method 5.5 getSyslogSetting ActionEvent: getSyslogSetting Request http://<IP>/cgi-bin/syslog.cgi ?action=get Response localLogLevel= useRemoteLog= addressingFormatType= remoteServerAddress= remoteServerPort= Comment Method - 127 -...
  • Page 137: Getsyslogfile

    5.6 getSyslogFile ActionEvent: getSyslogFile Request http://<IP>/syslog.dump Response Content of syslog. Comment Method 5.7 syslogClear ActionEvent: syslogClear Request http://<IP>/cgi-bin/syslog.cgi?action=clear Response Comment Clear syslog. Method ActionEvent: getSystemStatus Request http://<IP>/cgi-bin/systemStatus.cgi?action=get Response Comment Method - 128 -...
  • Page 138: Admin Api

    Admin API Admin API enables applications to perform administrative tasks on the IPCAM unit. The tasks include add/delete users, upgrade firmware, etc. Data structures Data Structure Description SUserSetting Setting for a user account SUserSetSetting All user accounts SHTTPSetting HTTP setting SHTTPSSetting HTTPS setting ActionEvents...
  • Page 139 setPWDComplexity Set password Complexity. getPWDComplexity Get password Complexity. enum UserPrivilegeType { USER_PRIVILEGE_VIEW=0, USER_PRIVILEGE_ADMIN, USER_PRIVILEGE_REMOTE_VIEW, /* SUserSetting */ typedef struct _userSetting { int index; char username[30]; // Unique key. char password[30]; int privilege; // Administration, Viewer } SUserSetting; /* SUserSetSetting */ typedef struct _userSetList { int size;...
  • Page 140: Adduser

    int port; } SHTTPSetting; /* SHTTPSSetting */ typedef struct _HTTPSSetting { int enabled; int port; } SHTTPSSetting; typedef struct _FWUPGRADE{ char filename[64]; int status; } SFWUPGRADE; typedef struct _ConfigFile{ char filename[64]; } SConfigFile; /* SComplexityPWDSetting */ typedef struct _SSComplexityPWDSetting { int pwdRule1Enabled;...
  • Page 141: Deleteuser

    Response Comment Method POST 6.2 deleteUser ActionEvent: deleteUser Request http://<IP>/cgi-bin/users.cgi action=delete username=<username> Response Comment Method POST 6.3 getUsers ActionEvent: getUsers Request http://<IP>/cgi-bin/users.cgi?action=getUsers Size= Response User1.index= User1.username= User1.password= User1.privilege= … User2.username= User2.password= User2.privilege= Comment Method - 132 -...
  • Page 142: Updateuser

    6.4 updateUser ActionEvent: updateUser Request http://<IP>/cgi-bin/users.cgi action= update index= username=<xxxx> password= privilege= Response Comment POST Method 6.5 setHTTP ActionEvent: setHTTP Request http://<IP>/cgi-bin/http.cgi action= set enabled= port= Response Comment Method POST - 133 -...
  • Page 143: Sethttp/Https

    6.6 setHTTP/HTTPS ActionEvent: setHTTP/HTTPS Request http://<IP>/cgi-bin/http.cgi action= setAll enabled= port= httpsEnabled= httpsPort= Response Comment POST Method 6.7 getHTTP ActionEvent: getHTTP Request http://<IP>/cgi-bin/http.cgi?action= get Response enabled= port= Comment Method 6.8 setHTTPS ActionEvent: setHTTPS Request http://<IP>/cgi-bin/https.cgi action= set enabled= port= Response Comment Method POST - 134 -...
  • Page 144: Gethttps

    6.9 getHTTPS ActionEvent: getHTTPS Request http://<IP>/cgi-bin/https.cgi?action= get Response enabled= port= Comment Method 6.10 resetToDefault ActionEvent: resetToDefault Request http://<IP>/cgi-bin/reset.cgi?action= reset Response Comment Reset all settings to factory default Method 6.11 upgradeFirmware ActionEvent: upgradeFirmware Request http://<IP>/cgi-bin/upgradeFirmware.cgi action= upgrade Followed by the IPCam firmware Response Comment Upgrade the system firmware upon this request...
  • Page 145: Importconfigfile

    GET/POST Method 6.13 importConfigFile ActionEvent: importConfigFile Request http://<IP>/cgi-bin/ConfigFile.cgi action= set filename = Response Comment Method POST 6.14 exportConfigFile ActionEvent: exportConfigFile Request http://<IP>/cgi-bin/ConfigFile.cgi?action= get Response Comment Method 6.15 setPWDComplexity ActionEvent: setPWDComplexity Request http://<IP>/cgi-bin/complexity.cgi action= set pwdRule1Enabled = pwdRule2Enabled = pwdRule3Enabled = Response Comment Method...
  • Page 146: Getpwdcomplexity

    6.16 getPWDComplexity ActionEvent: getPWDComplexity Request http://<IP>/cgi-bin/complexity.cgi?action= get Response pwdRule1Enabled = pwdRule2Enabled = pwdRule3Enabled = Comment Method - 137 -...
  • Page 147: Capability Api (Tbd)

    Capability API (TBD) ActionEvents ActionEvent Description getCapability Get camera Capability. 7.1 getCapability ActionEvent: getCapability Request http://<IP>/cgi-bin/Capability.cgi?action= get Response Streaming.VideoCodec.size=2 Streaming.VideoCodec1=h264 Streaming.VideoCodec2=mjpeg Streaming.name1=h264 Streaming.name1.resolution.size=3 Streaming.name1. resolutionWidth1=320 Streaming.name1. resolutionHeight1=192 Streaming.name1. resolutionWidth2=640 Streaming.name1. resolutionHeight2=400 Streaming.name1. resolutionWidth3=1280 Streaming.name1. resolutionHeight3=800 Streaming.name2=mjpeg Streaming.name2.resolution.size=3 Streaming.name2. resolutionWidth1=320 Streaming.name2. resolutionHeight1=192 Streaming.name2.
  • Page 148 Audio.codec.size=3 Audio.codec1=PCMA Audio.codec2=PCMU Audio.codec3=G.726 Network.Type.size=2 Network.Type1=Wire Network.Type2=Wireless Comment Method - 139 -...
  • Page 149: Motion Detection Api

    Motion detection API Motion detection API allows applications to 1) set/get the motion detection setting Data structures Data Structure Description SMotionDetectionSetti Basic motion detection setting. SMDList List of detection channels. SChannelMotionDetec Keep the information of detection channels. tion SMDRegionList List of detection regions. SMDRegion Keep the information of detection regions.
  • Page 150 typedef struct _MDEntry { int enabled; int channelIndex; //match stream channel index , (Unique) 0: reserved. 1+: valid index int detectionInterval; // The time interval to carry out another MD after previous one. SMDRegionList MDRList; } SMDEntry; typedef struct _MDList { int size;...
  • Page 151: Setmotiondetection

    8.1 setMotionDetection ActionEvent: setMotionDetection Request http://<IP>/cgi-bin/motiondetection.cgi 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 Method POST - 142 -...
  • Page 152: Getmotiondetection

    8.2 getMotionDetection ActionEvent: getMotionDetection Request http://<IP>/cgi-bin/ motiondetection.cgi?action=getMD&index=<index> Response enabled=1 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 Method - 143 -...
  • Page 153: Getmotiondetections

    8.3 getMotionDetections ActionEvent: getMotionDetections Request http://<IP>/cgi-bin/ motiondetection.cgi?action=get Response size= 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 - 144 -...
  • Page 154: Event Api

    Event API Event API allows applications to 1) set/get the event setting 2) set/get the notification setting Data structures Data Structure Description SEventPolicySetting General setting for events. SEventRuleSettingList List of event rules. SEventRuleSetting Details the setting of each event. SEventScheduleSettin Set up the schedule for triggering events SEmailSetting Details the setting of email.
  • Page 155 Mon:0900-1700,Tue:0900-1700,Wed:0900-1700,Thu:0900-1700,Fri:0900-1700,Sat:0900-170 0,Sun:0900-1700 } SEventScheduleSetting; #define ACTION_NAME_FTP "ftp" #define ACTION_NAME_EMAIL "smtp" #define ACTION_NAME_SAMBA "samba" typedef struct _eventRuleSetting { index; //unique id enabled; char name[10]; unsigned int eventID; /* type of event */ SEventScheduleSetting sched; char actions[128]; /* list of references to action names separated by comma ',' } SEventRuleSetting;...
  • Page 156 /* SEmailSetting */ typedef struct _emailSetting { unsigned char senderAddress[64]; //=> XXX@gmail.com unsigned char receiverAddress1[64]; //=> XXX@brickcom.com.tw // if NULL, disable unsigned char receiverAddress2[64]; //=> YYY@brickcom.com.tw // if NULL, disable unsigned char senderName[64]; //=> IPCAM unsigned char subject[64]; //=> "IPCAM Alert"...
  • Page 157 unsigned int uploadVideoClipEnabled; SFTPServer primary; SFTPServer secondary; } SFTPSetting; /* SAlarmMediaInfo */ typedef struct _mediaInfo { unsigned int snapShotEnabled; unsigned int videoClipEnabled; unsigned int preAlarmInterval; unsigned int postAlarmInterval; } SAlarmMediaInfo; enum EVENT_TYPE_DATA { EVENT_NONE, EVENT_MD, EVENT_IO, EVENT_NETWORK, EVENT_RESOURCE, EVENT_DAEMON, enum NOTIFICATION_METHOD_DATA{ NOTIFICATION_NONE, NOTIFICATION_FTP, NOTIFICATION_MAIL,...
  • Page 158 unsigned char UserName[16]; unsigned char Password[16]; unsigned int AddressType; unsigned char Preserve[12]; unsigned char workGroup[32]; unsigned char shareDIR[32]; } SambaServer; ////////////////////// // Event notification ////////////////////// /* Event subscription */ enum _eventTransportMode { EVENT_TRANSPORT_MODE_PUSH=0, EVENT_TRANSPORT_MODE_PULL=1, /* Event transport type */ enum _eventTransportProtocol { EVENT_TRANSPORT_PROTOCOL_RESERVED=0, EVENT_TRANSPORT_PROTOCOL_UDP=1, EVENT_TRANSPORT_PROTOCOL_TCP=2,...
  • Page 159 unsigned short destPort; } SEventTransportSetting; typedef struct _eventSubscriptionSetting { unsigned int id; /* Subscription ID (unique across system) */ unsigned int leaseTime; /* 0: always active, lease time in second */ // TODO: How to represent time.. SEventTransportSetting transport; } SEventSubscriptionSetting; typedef struct _eventSubscriptionSettingList { int size;...
  • Page 160: Seteventsetting

    9.1 setEventSetting ActionEvent: setEventSetting Request http://<IP>/cgi-bin/event.cgi action= setEventSetting R1index= R1enabled= R1name= R1eventID= R1sched.type= R1sched.time= R1actions= R2index=… … Response Comment Method POST - 151 -...
  • Page 161: Addeventsetting

    9.2 addEventSetting ActionEvent: addEventSetting Request http://<IP>/cgi-bin/event.cgi action= addEventSetting index= enabled= name= eventID= sched.type= sched.time= actions= Response Comment POST Method 9.3 updateEventSetting ActionEvent: updateEventSetting Request http://<IP>/cgi-bin/event.cgi action= updateEventSetting index= enabled= name= eventID= sched.type= sched.time= actions= Response Comment POST Method - 152 -...
  • Page 162: Removeeventsetting

    9.4 removeEventSetting ActionEvent: removeEventSetting http://<IP>/cgi-bin/event.cgi Request action= removeEventSetting index= Response Comment POST Method 9.5 getEventPolicy ActionEvent: getEventPolicy Request http://<IP>/cgi-bin/event.cgi?action=getEventPolicy Response size= R1index= R1enabled= R1name= R1eventID= R1sched.type= R1sched.time= R1actions= R2index=… Comment Method 9.6 getEventRule ActionEvent: getEventRule Request http://<IP>/cgi-bin/event.cgi?action=getEventRule Response index=0 enabled=0 name= eventID=0 - 153 -...
  • Page 163: Setemailsetting

    sched.type=0 sched.time= actions= Comment Method 9.7 setEmailSetting ActionEvent: setEmailSetting Request http://<IP>/cgi-bin/event.cgi action=setEmailSetting senderAddress= receiverAddress1= receiverAddress2= senderName= subject= attachedVideoURLEnabled= attachedSnapShotEnabled= attachedVideoClipEnabled= authenticationMode1= port1= smtpServerHostName1 accountName1= password1= authenticationMode2= port2= smtpServerHostName2= accountName2= password2= Response Comment Method POST - 154 -...
  • Page 164: Getemailsetting

    9.8 getEmailSetting ActionEvent: getEmailSetting Request http://<IP>/cgi-bin/event.cgi?action=getEmailSetting Response senderAddress= receiverAddress1= receiverAddress2= senderName= subject= attachedVideoURLEnabled= attachedSnapShotEnabled= attachedVideoClipEnabled= authenticationMode1= port1= smtpServerHostName1 accountName1= password1= authenticationMode2= port2= smtpServerHostName2= accountName2= password2= Comment Method 9.9 setFTPSetting ActionEvent: setFTPSetting Request http://<IP>/cgi-bin/event.cgi action= setFTPSetting uploadSnapShotEnabled= uploadVideoClipEnabled= addressType1= hostName1= ipAddress1= ipv6Address1= - 155 -...
  • Page 165: Getftpsetting

    port1= accountName1= password1= passiveMode1= addressType2= hostName2= ipAddress2= ipv6Address2= port2= accountName2= password2= passiveMode2= Response Comment Method POST 9.10 getFTPSetting ActionEvent: getFTPSetting Request http://<IP>/cgi-bin/event.cgi?action= getFTPSetting Response uploadSnapShotEnabled= uploadVideoClipEnabled= addressType1= hostName1= ipAddress1= ipv6Address1= port1= accountName1= password1= passiveMode1= addressType2= hostName2= ipAddress2= ipv6Address2= port2= accountName2= - 156 -...
  • Page 166: Setalarmmediainfo

    password2= passiveMode2= Comment Method 9.11 setAlarmMediaInfo ActionEvent: setAlarmMediaInfo Request http://<IP>/cgi-bin/event.cgi action= setAlarmMediaInfo snapShotEnabled = videoClipEnabled = timeBeforeEvent= timeAfterEvent= Response Comment POST Method 9.12 getAlarmMediaInfo ActionEvent: getAlarmMediaInfo Request http://<IP>/cgi-bin/event.cgi?action= getAlarmMediaInfo Response snapShotEnabled = videoClipEnabled = timeBeforeEvent= timeAfterEvent= Comment Method - 157 -...
  • Page 167: Setsamba

    9.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 POST 9.14 getSamba ActionEvent: getSamba Request http://<IP>/cgi-bin/event.cgi?action= getSamba addressType= Response hostDns= ipAddress= ipv6Address= userName= password= preserve= shareDIR= workGroup= Comment Method - 158 -...
  • Page 168: I/O Control Api

    I/O Control API I/O Control API allows applications to 1) set/get the GPIO setting Data structures Data Structure Description SGPIO General I/O setting. /*GOPI */ enum{ GPIO_DIR_IN, GPIO_DIR_OUT, enum{ GPIO_STATUS_LOW, GPIO_STATUS_HIGH, ActionEvents ActionEvent Description setGPIOSetting Set GPIO setting getGPIOSetting Get GPIO setting getGPIOStatus Get GPIO status 10.1 setGPIOSetting...
  • Page 169: Getgpiosetting

    POST Method 10.2 getGPIOSetting ActionEvent: getGPIOSetting Request http://<IP>/cgi-bin/event.cgi?action= get Response Comment Method 10.3 getGPIOStatus ActionEvent: getGPIOStatus Request http://<IP>/cgi-bin/event.cgi?action= getStatus Response Comment Method - 160 -...
  • Page 170: Msn Api

    MSN API MSN API allows applications to 1) set/get the IP Camera MSNBot setting Data structures Data Structure Description SMsnbot Details the setting of MSNBot. SMsnBuddyList List of msn buddy. MsnBuddy Details the buddy information. /*MSNbot */ typedef struct _MsnBuddy{ int enabled;...
  • Page 171: Setmsnbot

    }SMsnbot; ActionEvents ActionEvent Description setMSNBot Set MSNBot setting getMSNBot Get MSNBot setting 11.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 Method...
  • Page 172: Getmsnbot

    11.2 getMSNBot ActionEvent: getMSNBot Request http://<IP>/cgi-bin/msn.cgi?action= get Response 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= Comment Method - 163 -...

Table of Contents