Brickcom WFB-100A Megapixel Wireless Fixed Box Network Camera User Manual um FB 100A series en V2 05 03082010

Brickcom Corporation Megapixel Wireless Fixed Box Network Camera um FB 100A series en V2 05 03082010

User Manual

              Megapixel Day & Night   Fixed Box Network Camera FB-100A Series User’s Manual Quality Service Group
                          Product name:  Network Camera (FB-100A Series) Release Date:  2010/03   Manual Revision:  V2.05   Web site:  www.brickcom.com     Email:  technical@brickcom.com info@brickcom.com  Made in Taiwan.  ©2010 Brickcom Corporation. All Rights Reserved
 Table of Contents Before You Use This Product............................................................................................. 0 Package Contents.............................................................................................................. 0 Fixed Box Network Camera Overview ............................................................................... 1 Device Appearance Description.........................................................................................3 LED Behavior..................................................................................................................... 5 Installation.......................................................................................................................... 8 Hardware Installation...................................................................................................... 8 System Requirements .................................................................................................. 10 Camera Connection...................................................................................................... 11 Basic Connection (Without PoE)......................................................................... 11 Power over Ethernet (PoE) Connection..............................................................12 Software Installation ..................................................................................................... 13 EasyConfig .........................................................................................................20 Access to the Network Camera........................................................................................29 Check Network Settings ............................................................................................... 29 Add Password to prevent Unauthorized Access........................................................... 29 Authentication............................................................................................................... 30 Installing plug-in............................................................................................................ 31 Live View.......................................................................................................................... 32 Configuration.................................................................................................................... 35 Camera/Video/Audio..................................................................................................... 35 Camera............................................................................................................... 35 Video...................................................................................................................37 Audio...................................................................................................................40 Multicast.............................................................................................................. 41 Network ........................................................................................................................ 42 IP Settings .......................................................................................................... 42 UPnP .................................................................................................................. 43 DDNS (dynamic domain name service).............................................................. 43 Wireless.............................................................................................................. 45 HTTP/HTTPS...................................................................................................... 52 Event  54 Motion Detection.................................................................................................54 Notification settings............................................................................................. 55 Scheduled Event................................................................................................. 59 DI/DO.................................................................................................................. 60 System.......................................................................................................................... 61 System Log......................................................................................................... 61 Date & Time........................................................................................................ 62 Device Information..............................................................................................63 Storage Management ......................................................................................... 64 Maintenance................................................................................................................. 65 User Management .............................................................................................. 65 IP Filter ............................................................................................................... 66 Firmware Upgrade .............................................................................................. 66 Configuration ......................................................................................................66 Reset to default................................................................................................... 67 Reboot ................................................................................................................ 67
    Regulatory Information..................................................................................................... 68 BRICKCOM IPCAM HTTP API ........................................................................................ 69 Preface ......................................................................................................................... 69 Overview....................................................................................................................... 69 HTTP API Transaction ..................................................................................................... 70 API Categories................................................................................................................. 72 Streaming API .................................................................................................................. 73 1.1  getChannels ...................................................................................................... 76 1.2  getChannel ........................................................................................................ 77 1.3  addChannel ....................................................................................................... 78 1.4  updateChannel .................................................................................................. 79 1.5  updateChannels ................................................................................................ 80 1.6  getStream .......................................................................................................... 81 Camera API......................................................................................................................82 2.1  setWhiteBalance................................................................................................ 86 2.2  getWhiteBalance ............................................................................................... 86 2.3  setBrightness..................................................................................................... 87 2.4  getBrightness..................................................................................................... 87 2.5  setColorSaturation............................................................................................. 87 2.6  getColorSaturation............................................................................................. 87 2.7  setMirrorFlip....................................................................................................... 87 2.8  getMirrorFlip ...................................................................................................... 87 2.9  setSharpness..................................................................................................... 88 2.10  getSharpness .................................................................................................... 88 2.11  setContrast ........................................................................................................ 89 2.12  getContrast........................................................................................................ 89 2.13  setFrequcny....................................................................................................... 89 2.14  getFrequency..................................................................................................... 89 2.15  setEffect............................................................................................................. 89 2.16  getEffect ............................................................................................................ 89 2.17  setEnvMode....................................................................................................... 90 2.18  getEnvMode ...................................................................................................... 90 2.19  setIRCutFilter..................................................................................................... 90 2.20  getIRCutFilter .................................................................................................... 91 2.21  setIRLED ........................................................................................................... 91 2.22  getIRLED........................................................................................................... 91 2.23  setVideoOverlay ................................................................................................ 91 2.24  getVideoOverlay ................................................................................................ 92 2.25  setAutoIris.......................................................................................................... 92 2.26  getAutoIris ......................................................................................................... 92 2.27  setCameraSetting.............................................................................................. 93 2.28  getCameraSetting.............................................................................................. 94 Audio API......................................................................................................................... 95 3.1  setAudioDevice.................................................................................................. 96 3.2  getAudioDevice ................................................................................................. 96 3.3  setAudioMuteState............................................................................................. 96 3.4  getAudioMuteState ............................................................................................ 96 3.5  setAudioVolume................................................................................................. 97 3.6  getAudioVolume ................................................................................................ 97 Network API..................................................................................................................... 98
    4.1  setBasicNetwork.............................................................................................. 103 4.2  getBasicNetwork.............................................................................................. 104 4.3  setUPnP .......................................................................................................... 105 4.4  getUPnP .......................................................................................................... 105 4.5  setDDNS.......................................................................................................... 105 4.6  getDDNS ......................................................................................................... 106 4.7  setEthernet ...................................................................................................... 106 4.8  getEthernet...................................................................................................... 106 4.9  setWIFI ............................................................................................................ 107 4.10  getWIFI............................................................................................................ 108 4.11  setIPFilter ........................................................................................................ 109 4.12  getIPFilter .........................................................................................................110 Storage API (TBD) ..........................................................................................................111 System API .................................................................................................................... 112 5.1  getDeviceInfo....................................................................................................115 5.2  setTimeSetting..................................................................................................115 5.3  getTimeSetting..................................................................................................116 5.4  setSyslogSetting...............................................................................................116 5.5  getSyslogSetting...............................................................................................116 5.6  getSyslogFile....................................................................................................116 5.7  syslogClear.......................................................................................................117 Admin API...................................................................................................................... 118 6.1  addUser........................................................................................................... 120 6.2  deleteUser ....................................................................................................... 120 6.3  getUsers .......................................................................................................... 120 6.4  updateUser...................................................................................................... 121 6.5  setHTTP .......................................................................................................... 121 6.6  setHTTP/HTTPS.............................................................................................. 121 6.7  getHTTP .......................................................................................................... 121 6.8  setHTTPS........................................................................................................ 122 6.9  getHTTPS........................................................................................................ 122 6.10  resetToDefault ................................................................................................. 122 6.11  upgradeFirmware ............................................................................................ 122 6.12  reboot .............................................................................................................. 122 6.13  importConfigFile .............................................................................................. 123 6.14  exportConfigFile .............................................................................................. 123 6.15  setPWDComplexity.......................................................................................... 123 6.16  getPWDComplexity.......................................................................................... 123 Capability API (TBD) ...................................................................................................... 124 7.1  getCapability.................................................................................................... 124 Motion detection API......................................................................................................125 8.1  setMotionDetection.......................................................................................... 126 8.2  getMotionDetection.......................................................................................... 127 8.3  getMotionDetections........................................................................................ 128 Event API ....................................................................................................................... 129 9.1  setEventSetting ............................................................................................... 133 9.2  addEventSetting .............................................................................................. 133 9.3  updateEventSetting ......................................................................................... 134 9.4  removeEventSetting ........................................................................................ 134 9.5  getEventPolicy................................................................................................. 134
    9.6  getEventRule................................................................................................... 135 9.7  setEmailSetting................................................................................................ 135 9.8  getEmailSetting ............................................................................................... 136 9.9  setFTPSetting.................................................................................................. 137 9.10  getFTPSetting.................................................................................................. 137 9.11  setAlarmMediaInfo........................................................................................... 138 9.12  getAlarmMediaInfo........................................................................................... 138 9.13  setSamba ........................................................................................................ 138 9.14  getSamba ........................................................................................................ 139 I/O Control API............................................................................................................... 139 10.1  setGPIOSetting................................................................................................ 139 10.2  getGPIOSetting ............................................................................................... 140 10.3  getGPIOStatus................................................................................................. 140 MSN API ........................................................................................................................141 11.1  setMSNBot ...................................................................................................... 142 11.2  getMSNBot ...................................................................................................... 143
 0   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.    It is important to first verify that all contents received are complete according to the list in the "Package Contents" chapter. Take notice of the warnings in “Quick installation guide” before the Network Camera is installed, then carefully read and follow the instructions in the “Installation” chapter to avoid damages due to faulty assembly and installation.
 0   Package Contentsa. FB-100A  b. CS mount Lens (Optional)  c. Product CD  d. Camera Stand  e. Warranty Card  f. Power Adapter  g. Detachable Antenna (WFB-100A)  h. Quick Guide
 1     Fixed Box Network Camera Overview  Brickcom FB-100A series offers highly efficient H.264 video compression, which reduce bandwidth and storage requirements without compromising image quality. Furthermore, M-JPEG and MPEG-4 are also supported for flexibility. FB-100A series offers the reliable and excellent video quality solution for 24-hour surveillance application that allow users to view live, motion image from anywhere by web browser or mobile phone via Internet or 3G network  respectively.  With  the  mega  pixel  progressive  sensor  and  built-in  removable IR-cut Filter, it delivers extremely clear and detailed images that CCTV cameras cannot offer.  Also,  FB-100A  series  supports  SD/SDHC  memory  card  slot,  which  allows  for backup  local  storage  if  data  connection  is  lost.  In  addition,  the  FB-100A  series  can transmit the video to portable devices via other technology, for instance, WiMax, 3G cell phone, NAS, Digital Frame and power line. FB-100A series receives power through the same cable as for data transmission. This made for easy installation without external power supply- as easy as the PoE does. For easy setup, “EasyConfig.” makes the configuration simple even for users without any IT  background.  The  Brickcom  FB-100A  series  simplifies  the  hardware  and  software installation by flexible design and multiple applications. With IEEE 802.11 b/g/n compliance, network Installation will not be restricted by location and landforms. WFB-100A series can be set in coverage of wireless. It is very convenient in particular site such as remote districts and historic spots. Other  than  the  motion  detection  function,  the  FB-100Aa  Series  can  also  support intelligence surveillance such as object tracking, people counting, forbidden region alarm, and so on.
                                                                                2
                                                                                3  Device Appearance Description <Front Panel>        <Rear Panel>           Light Sensor WPS LED (WFB-100A Only)  Status LED Built-in Microphone WPS Button (WFB-100A Only)  Ethernet RJ45 10/100 Socket (Link/Power LED embedded) Power Connector (AC24V in) (WFB-100Ae/FB-100Ae do not support)  Power Connector (DC12V in) SD/SDHC Card Slot (WFB-100Ae/FB-100Ae do not support)  Reset Button Microphone/Line In  Audio Out Detachable  Antenna (WFB-100A Only) Auto Iris Connector   (WFB-100Ae/FB-100Ae do not support)  Extension I/O Terminal Block
                                                                                4  <CS Mount Lens> <Optional Lens> <Vari-focal Lens with Manual Iris>        <Optional Lens> <Vari-focal Lens with Auto Iris (DC Drive)>            Zoom Controller (WFB-100Ae/FB-100Ae do not support) Focus Controller  Zoom Controller  Focus Controller  Iris Controller (WFB-100Ae/FB-100Ae do not support)
                                                                                5  LED Behavior   Function LED Behavior  Description Remark WPS  WPS in progress WFB-100AFront Right (Blue) WPS  WPS Error  WFB-100AFront Right (Blue) WPS  Session overlap detected WFB-100AFront Right (Blue) WPS Steady on WPS Success WFB-100AFront Right (Blue) Status  Hardware failure  Front Left (Green) Status Steady On 1.  Restoring settings 2.  Normal Operation Front Left (Green) Status Unlighted 1.  Power Off 2.  Power On till System setup The LED can be configured to be unlighted during normal operation (Green) Status  While F/W upgrading  Front Left (Green) Link Blinking  Blinking while network connection in progress Rear Left (Orange) Link Unlighted  No connection Rear Left (Orange) Power Steady On  Normal Operation  Rear Right (Green) Power Unlighted  Power off  Rear Right (Green)
                                                                                6 Extension I/O Terminal Block The Network Camera provides an extension I/O terminal block which is used to connect external input/output devices. The pin definitions are listed as below.       DI/DO Diagram  Pin  Function 1  Power +4.5V 2  Digital Output 3  Digital Input 4  Ground 5  RS-485 - 6  RS-485 +
                                                                                7  Hardware Reset     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. If the problems remain after reset, please restore the factory settings and install it again. Reboot: Please press and release the indented reset button within 1 second with paper clip or thin object. Wait for the network camera to reboot.  Restore: Please press and hold the reset button until the status of LED turns off. It takes about 10  seconds. Please note that all settings will be restored to factory default. Upon successful restore, the status of LED will be green again during normal operation.  SD Card Capacity (WFB-100Ae/FB-100Ae do not support)  The network camera is compliant with SD/SDHC (Maximum 32GB) cards.  Reset Button
                                                                                8 Installation  Hardware Installation  Mounting the CS-Mount Lens to the Camera <Vari-focal Lens with Manual Iris> --- Optional Lens  1.  Mount  the  CS-mount  lens  by  turning  it  clockwise  onto  the  camera  mount  until  it stops.   2.  If it’s necessary, please turn the lens counterclockwise slowly until it gets the best position.    1.  Turn  the  iris  ring  controller  counterclockwise  or  clockwise  until  it  gets  the  best performance. 2.  Unscrew the zoom controller to adjust the zoom factor. Upon completion, tighten the zoom controller. 3.  Unscrew the focus controller to adjust the focus range. Upon completion, tighten the focus controller.
                                                                                9  <Vari-focal Lens with Auto Iris> --- Optional Lens  1.  Mount  the  CS-mount  lens  by  turning  it  clockwise  onto  the  camera  mount  until  it stops.   2.  If it’s necessary, please turn the lens counterclockwise slowly until it gets the best position. 3.  Connect the lens cable plug (DC Iris control cable) to the camera side connector.     1.  Unscrew the zoom controller to adjust the zoom factor. Upon completion, tighten the zoom controller. 2.  Unscrew the focus controller to adjust the focus range. Upon completion, tighten the focus controller.     # For further information of vari-focal lens with auto iris, please refer to the supplied lens’ instruction manual.
                                                                                10  System Requirements Operating System:   Microsoft Windows XP Home Edition SP2   Microsoft Windows XP Professional SP2   Computer:   IBM PC/AT Compatible CPU:   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:   Microsoft Internet Explorer 6.0 SP2 CD-ROM Drive:   It is necessary to read the operating instructions in the provided CD-ROM. Adobe Reader:   It is necessary to read the operating instructions in the provided CD-ROM.   Audio function will not be working if a sound card is uninstalled on PC. Audio may be interrupted depending on the network environment.
                                                                                11  Camera Connection Basic Connection (Without PoE) 1.  If  you  have  external  devices  such  as  sensors  and  alarms,  please  make connections with extension I/O terminal block. 2.  Connect the camera to a switch via Ethernet cable. 3.  Connect the supplied power cable from the camera to the power outlet.   Please check your product package contains all the accessories listed in the foregoing Package  Contents.    Depending  on  the  user’s  application,  an  Ethernet  cable  may  be needed. The Ethernet cable should meet the specs of UTP Category 5 and not exceed 100 meters in length. Upon powering up, the power LED will become lighted first and then the device will go through booting process. The link LED will be steady amber for getting IP address. After getting IP Address, the link LED will blink orange while network connection is processing.
                                                                                12  Power over Ethernet (PoE) Connection 1.  When connecting to PoE-enabled switch The camera is PoE compliant and please connects the camera to a PoE-enabled switch via single Ethernet cable.    2.  When connecting to a non-PoE switch Please connect the camera to a non-PoE switch via PoE Injector (optional).
                                                                                13 Software Installation In  this  manual,  "User"  refers  to  whoever  has  access  to  the  Network  Camera,  and "Administrator"  refers to the person who can configure the Network Camera and grant user access to the camera. After hardware connection checking, the users can run the Installation Wizard program included in the product CDROM to automatically search for the Network Camera in the Intranet.  There  may  be  many  Network  Cameras  in  the  local  network.  Users  can differentiate the Network Cameras with the serial number. The serial number is printed on the labels on the carton and the bottom of the Network Camera body.    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. Click  “Install”  and  follow  the  steps  to  install  the  easy  configuration  wizard  on  user’s computer.
                                                                                14  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.
                                                                                15  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. Check the option “Complete”, and then click <Next>. All program features will be installed.
                                                                                16  Display the installation information. Click <Next> to continue.   Select either EasyConfig or PC-NVR to launch.
                                                                                17  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.
                                                                                18  Select to create the EasyConfig shortcuts, click <Next> to continue.        Select to create the PC-NVR Lite shortcuts, click <Next> to continue.
                                                                                19  Display the installation information. Click <Next> to continue.  Select either EasyConfig or PC-NVR to launch. If user would like to launch the PC-NVR program, please refer to the PC-NVR user manual.
                                                                                20  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.    Click <Start> to continue.
                                                                                21
                                                                                22    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.
                                                                                23    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.
                                                                                24  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.
                                                                                25  If <Set IP Address Configuration manually> is selected, the following pages will be displayed.
                                                                                26  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 – there is no need to configure your router to open up ports or remember hard-to-memorize Internet addresses. As a mybrickcom-enabled device, the camera can be accessed anytime; anywhere you have an Internet connection by simply logging on to the mybrickcom website and selecting your camera.   Click to enable and enter the domain name, which length should be between 5-32 characters. Select refresh time from the drop-down menu to confirm the connection status. Click <Skip> to skip this setting or click <Next> to continue.
                                                                                27  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> to view the live video of connected IP Camera. Click <PC-NVR> to start the PC-NVR program. If user would like to launch the PC-NVR program, please refer to the PC-NVR user manual.   If DHCP is selected, the failure page will be displayed as below.
                                                                                28  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.
                                                                                29 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.  Ask  your  network  administrator  or  Internet  service  provider  for  the detail information.  Add Password to prevent Unauthorized Access The Administrator should immediately implement a new password as a matter of prudent  security  practice.  The  user  name  and  password  for  the  Administrator  are assigned as “admin/admin”. Once the Administrator’s password is saved, the Network Camera will ask for the user’s name and password before each access. The Administrator can  set  up  a maximum  of  ten (10) user accounts. Each user can access the  Network Camera  except  to  perform  system  configuration.    Once  the  password  is  changed,  the browser will display an  authentication  window  to  ask for the new password.  Once the password  is  set,  there  is  no  provision  to  recover  the  Administrator’s  password.   The only option is to restore to the original factory default settings.
                                                                                30  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.  The  foreground  is  the  login  window  and  the  background  shows  the  message  if authentication fails. The user may check the option box to save the password for future convenience.    This option is not available to the Administrator for obvious reason.
                                                                                31  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. This plug-in has been registered for certificate and is used to display the video in the browser. Users may click on    to proceed. If the web browser does not allow  the  user  to  continue  to  install,  check  the  Internet  security  option  and  lower  the security levels or contact your IT or networking supervisor for help.     NOTE – If error or fail occurred, it is because of the version of the Electronic Signature is newly released, VeriSign has not submitted to Microsoft Windows update for validation.   Therefore, user default will not have its root certificate.    If IE discovers that there is no root  certificate  after  user’s  PC  connected  to  IPCam,  it  will  automatically  redirect  to VeriSign Web site to download and install the latest root certificate to make the installation successfully.    If the user’s computer is able to connect to IPCam, but unable to access to the internet, then it would not be able to download the latest root certificate, therefore the installation will fail.    This problem can be resolved if computer can be connected to both internet and IPCam at the same time and will not recur when Windows update patches become available.
                                                                                32 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  the  codec  compression  and  video  resolution,  please  go  to  the Configuration->Camera/video/audio->Video  to make  the  changes, or  refer  to  the  Video configuration on page 37.  TCP/UDP protocol   TCP - This protocol guarantees the complete delivery of streaming data and thus provides better  video  quality.  Nevertheless,  the  downside  with  this  protocol  is  that  its  real-time effect is not as good as that of the UDP protocol. 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.
                                                                                33  /   Recording on/off - shows the status of recording video /   MIC on /off - shows the status of MIC volume /   Speaker on/off - shows the status of Speaker /   MD on/off - shows the status of Motion Detection   Brightness - Drag the slider bar to adjust the image brightness level.    Mic volume - Drag the slider bar to adjust the Mic volume.    Speaker  volume  -  The  external  speaker  plays  the  sound  of  an  audio  clip  from computer MIC when it is enabled. For more Audio setting, please refer to the Audio configuration on page 40.   Play or Stop - Click this button to play or stop the video.       Recording - Click this button to record video to your computer.     Snapshot - Click this button to capture and save still images.   Digital Zoom - Click this button to enable the zoom operation.     Mirror - horizontally reflect the display of the live video.       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.    Motion  Detection  Alert  -  Click  this  button to enable  motion detection  alert function.   Mute – No sound.
                                                                                34    Talk – Click this button to speak to the computer MIC.   Set Default – Click this button to reset to default setting. NOTE - The <Camera Control Panel> function has no effect on the recorded video. Whatever  changes  made  to  the  <Camera  Control  Panel>  will  not  be  applied  to  the recorded video.
                                                                                35 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  Camera Setting Brightness - Drag the slider bar to adjust the image brightness level, which ranges from -5 to +5.   Contrast - Drag the slider bar to adjust the image contrast level, which ranges from -5 to +5.   Sharpness - Drag the slider bar to adjust the image sharpness level, which ranges from -5 to +5. Saturation - Drag the slider bar to adjust the image saturation level, which ranges from -5 to +5.
                                                                                36  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. However, higher gain rate may cause bigger judder on fast moving images or blurring problems. Shutter Speed  Fast – As sport exposure function.   Normal – As normal exposure function.   Slow – As night vision exposure function. AE Lock (Auto Exposure) The camera fixed the auto exposure even when change of the ambient light.  Auto Iris (WFB-100Ae/FB-100Ae do not support)- Enable when the auto Iris lens is installed. Manual Iris lens is the default lens.  Mirror and Flip Mirror - Enable to horizontally reflect the display of the live video. Flip - Enable to vertically reflect the display of the live video.  Flicker-Free – eliminate the problem of flicker.   Click radio button to select either outdoor or indoor mode based on the environment.  True Day & Night (WFB-100Ae-20/FB-100Ae-20 do not support) Auto - The Network Camera automatically removes the filter by judging the level of ambient light. Manual - In day mode, enable the IR CUT to switches on the IR cut filter at all times to  block  the  infrared  light  from  reaching  the  sensor  so  that  the  colors  will  not  be distorted. In night mode, disable the IR CUT to switches off the IR cut filter at all times for the sensor to accept the infrared light, thus helps improve low light sensitivity.  Color Effect - Select to display colorful or black and white video streams. Click Apply or Reset to take effect.
                                                                                37  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 (WFB-100Ae/FB-100Ae  do  not  support),  MPEG-4  and MJPEG.   Video Resolution - Select from the drop-down menu to choose the best resolution that fit your need. Frame Rate - Select from the drop-down menu of the frame rate, which ranges from 2 to 30 fps when H.264 or MJPEG is selected. Only 3 to 15 fps can be chosen when MPEG-4 is selected. Set the frame rate higher for a smoother video quality. Video quality and bit rate - User can either choose “quality” or “bitrate” to control the           video  quality  with video  codec  at H.264  or  MPEG4.  Only  “quality”  can  be  chosen when 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.
                                                                                38  HTTP Transport – Enable to use HTTP protocol for video/audio communication. Click Apply or Reset to take effect.   NOTE  -  For  best  recording  experience,  configure  your  IP  camera  to  one  of  the following frame rates based on the Flicker-Free setting:        Flicker-Free                            Frame Rate                                 ------------------------------------              ---------------------------------- Outdoor               25, 10, 7, 5, 3, 2     Indoor (50/60 Hz )        25, 20, 10, 7, 5, 3, 2  Video Overlay  Check to enable the timestamp function and select display position from the drop-down menu if user wants date and time to be shown on the screen of the live video. User may also enable and enter the video description in text box; and select display position from the drop-down menu if user wants to make a note about the network camera. Click Apply or Reset to take effect.  NOTE - The video overlay only takes effect in stream 1.
                                                                                39  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. If DIGEST authentication is selected, user credentials are encrypted using MD5 algorithm, thus providing better protection against unauthorized access. Save file folder  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.
                                                                                40  Audio You  can  set  up  two  separate  streams  for  the  Network  Camera  for  different  viewing devices. User can either enable or disable the audio function. If audio enable is selected, select the Audio codec from the drop-down menu.  Advanced Settings  Mic  Type  –  The  Network  Camera  supports  two  way  audio  communications  so  that operators can transmit and receive audio simultaneously. By using the Network Camera’s built-in or line in microphone and an external speaker, you can communicate with people around the Network Camera.   Camera Speaker – If speaker enable is selected, select the volume from the drop-down menu. Echo cancellation Enabled - Enable to avoid an echo. Click Apply or Reset to take effect.
                                                                                41  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. Click to enable Multicast stream 1 / Multicast stream 2. The default value for multicast address and port are 234.1.2.3 and 10000. Use different port number for different stream. Use default value is recommended if you are not sure how to setting.    Note - Using the IP address of the camera enables you to view the video. Example: rtsp://192.168.1.1/channel1 Click Apply or Reset to take effect.
                                                                                42  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 IP. The third way is to use PPPoE. Select IP settings from the drop-down menu.  DHCP  -  Get  IP  address  automatically.  Select  this  option  to  obtain  an  available dynamic IP address assigned by a DHCP server each time the camera is connected to the LAN.  Static IP - Select this option to manually assign a static IP address to the Network Camera. Enter the static IP address, Subnet mask, Default Gateway, Primary and Secondary DNS provided by your ISP.
                                                                                43   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.  UPnP Only  UPnP  discovery  supported.  Enable  this  function  to  allow  the  user  to  search  for devices of interest on the network. Enter the UPnP name as you wish to show on the intranet.  Click Apply or Reset to take effect. 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. Click Apply or Reset to take effect.
                                                                                44  TZO  TZO  is  one  kind  of  the  DDNS  providers.  User  can  refer  to  the  TZO.com:  visit http://www.tzo.com/  to  apply  a  dynamic  domain  account  when  selecting  this  DDNS provider. Enter the e-mail address, password and domain name when enabled the TZO. Click Apply or Reset to take effect.
                                                                                45  Wireless  These  settings  control how the camera interacts with  the  wireless  network. Apart from identifying the wireless network, it is also possible to enable wireless encryption. (Note  –  For  WFB  Models  only);  With  the  W-  variants  optionally  offering  wireless connectivity for added flexibility.  Basic Settings  Network Name (SSID) -  The SSID is the network name shared among all points in a wireless network. The SSID must be identical for all devices in the wireless network. It is case-sensitive and  can be up to 32 characters in length. Make sure this setting is the same for all points in your wireless network.   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 network from other wireless networks that may exist around you, but do not use personal information, because this information may be available for anyone to see when browsing for wireless networks.
                                                                                46  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  of  security  for  wireless  communication.  A  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.   Site Survey SSID Broadcast, when wireless clients survey the local area for wireless networks to associate with, they will detect the SSID broadcast of the camera.  WEP 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. The default is 64 bits 10 hex digits. Key 1-4 - Enter the WEP key(s) manually.
                                                                                47  Authentication - The default is set to open system, which allows either Shared Key or Auto authentication to be used. With Open System authentication, the sender and the recipient do NOT use a WEP key for authentication. With Shared Key authentication, the sender and recipient use a WEP key for authentication. Click Apply or Reset to take effect.
                                                                                48  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. Click Apply or Reset to take effect.
                                                                                49  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.
                                                                                50  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.  If  you  have  only Wireless-B devices, select Wireless-B Only. If you have only Wireless-G devices, select Wireless-G Only. If you have only Wireless-N (2.4GHz) devices, select Wireless-N Only. Radio Band - The settings are available for the Auto-20/40MHz channel and Standard-20 MHz channel. The Auto-20/40MHz channel set up a network using the 20/40MHz band, and the Standard-20 MHz channel set up a network using the 20 MHz band. Enable WMM (802.1e QoS) - WMM is a wireless Quality of Service feature that improves quality for audio, video, and voice applications by prioritizing wireless traffic. To use this feature, your wireless client devices in your network must support Wireless WMM. If you would like to disable this feature, select Disabled. Otherwise, keep the default, Enabled.
                                                                                51  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.
                                                                                52  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). It helps protect streaming data transmission over the Internet on higher security level. Click to enable and click Apply or Reset to take effect. To enable HTTPS, you have to create and install certificate first. Click “Continue to this website” to install.
                                                                                53   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.
                                                                                54  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. Easier to trigger event by higher the sensitivity value and lower the Threshold value.
                                                                                55  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,  HTTP  or  DO  as  notifications.  In  this  page,  you  can  specify  which notification messages will be sent when a trigger is activated.    Besides, you can select to enable the Digital Output when a trigger is activated. Click Apply or Reset to take effect. Notification settings When an event is triggered, you can specify what kind of action will be performed. You can attach video clip to your email address, FTP site, samba and use URL to send HTTP requests or DO as notification.   FTP  -  File  Transfer  Protocol  (FTP)  is  often  used  as  an  application  component  to automatically transfer files for program internal functions. Select to send the media files  to  a  FTP  server  when  a  trigger  is  activated.  Enter  the  FTP  IP  address  or hostname; by default, the FTP port server is set to 21, enter account name, password and  FTP  Path  to  configure  the  setting.    There  are  two  choices  of  media  types available; video clip and SnapShot.  Click Apply or Reset to take effect.
                                                                                56  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. Attachment  -  There  are  two  choices  of  media  types  available;  video  Clip  and SnapShot.  SMTP Server and port number - Enter the server host name and port number of the email server. Authentication - Select the authentication type from the drop-down menu. Email Account - Enter the user name of the email account if necessary. Email Password - Enter the password of the email account if necessary.   Click Apply or Reset to take effect.
                                                                                57  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. Workgroup - Enter the workgroup of the samba server. Share DIR - Enter the share DIR of the samba server. Attachment  -  There  are  two  choices  of  media  types  available;  video  Clip  and SnapShot.  Click Apply or Reset to take effect.
                                                                                58  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 – type the notification parameter if necessary.  Example URL - http://192.168.1.1/xxxx.cgi Message - name1=value1&name2=vlaue2 Result - http://192.168.1.1/xxxx.cgi? name1=value1&name2=vlaue2 Ex: https://192.168.1.1/notification.cgi?event=MD&camera=FB-100A Message  -  Enter  the  message  notification  that  informs  you  when  a  trigger  is activated. Enter the user name and password if necessary. Click Apply or Reset to take effect.
                                                                                59  Scheduled Event  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. Time - Specify the recording duration. ■ Select the time for recording in 24-hr time format. End time must be more than start time. ■ Select the days on weekly basis.  When completed, Click Add to have recording name appears in the recording list on the recording page. Select Enabled; the system begins recording and send recorded file to the  Network  Storage.  To  edit  a  recording  setting;  click  Edit  to  modify.  Upon  the completion, click update to finish the modification. To remove a recording setting from the list, select a recording name from the list and then click Delete. Click New to add more events.
                                                                                60  DI/DO   Digital input - Select High or Low to define normal status of the digital input. The Network Camera will report the current status. Digital output - Select Grounded or Open and enter the duration to define normal status of the digital output.
                                                                                61  System  System Log 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.
                                                                                62  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. NTP  -  Select  to  update  the  time  with  the  NTP  server  on  hourly,  daily,  weekly,  or monthly basis. Time Zone - According to your local time zone, select one from the drop-down menu. NTP Server 1 and Server 2 - Enter the address of the NTP server. Daylight Saving - Enable this option to retain the Daylight Saving Time changes automatically.  Click Apply or Reset to take effect.
                                                                                63  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.
                                                                                64  Storage Management   (WFB-100Ae/FB-100Ae do not support) To view the entire recorded files in the SD card.  Click Remove to safely remove the storage device. Click Delete to delete the recorded file. Click Reload to view the list. Click Download to save the file in the desired folder.  Advanced Settings  Automatic Recycle – Enable to automatically overwritten when size of SD card is full. 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.
                                                                                65  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. Access  rights are  sorted  as following  (Viewer,  Administrator  and  Remote  Viewer). Only administrators can access the Configuration page. Viewers can access the main page for live viewing only. The privilege of Remote Viewer is same as viewer except TCP protocol can only be selected for live viewing page.    Administrators can add up to 10 user accounts.    Administrator also can change user’s access rights or delete user accounts. Select an existing account to modify and make necessary changes; then click Update or Delete to take effect.
                                                                                66  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. It takes about few minutes to complete the process. Note that do not power off the Network Camera during the upgrade. Upgrade  -  Click  Browse…  and  specify  the  firmware  file.  Click  Upgrade.  The Network Camera starts to upgrade and will reboot automatically when the upgrade completes.   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.
                                                                                67  Reset to default Click Reset to restore the network camera to factory default setting.  Reboot  This feature allows you to reboot the Network Camera, which takes about one minute to complete. When completed, the live video page will be displayed in your browser. The following message will show during the rebooting process.
                                                                                68  Regulatory Information  Federal Communication Commission Interference Statement  This  equipment  has  been  tested  and  found  to  comply  with  the  limits for  a  Class  B digital device, pursuant to Part 15 of the FCC Rules.    These limits are designed to provide reasonable protection against harmful interference in a residential installation. This  equipment  generates  uses  and  can  radiate  radio frequency  energy and,  if  not installed and used in accordance with the instructions, may cause harmful interference to radio communications.    However, there is no guarantee that interference will not occur in a particular installation.    If this equipment does cause harmful interference to radio or television reception, which can be determined by turning the equipment off and on, the user is encouraged to try to correct the interference by one of the following measures:  - Reorient or relocate the receiving antenna. - Increase the separation between the equipment and receiver. - Connect  the  equipment  into  an  outlet  on  a  circuit  different  from  that  to  which  the receiver is connected. - Consult the dealer or an experienced radio/TV technician for help.  FCC  Caution:  Any  changes  or  modifications  not  expressly  approved  by  the  party responsible for compliance could void the user's authority to operate this equipment.  This  device  complies  with  Part  15  of  the  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 operation.  IMPORTANT NOTE: FCC Radiation Exposure Statement: This  equipment  complies  with  FCC  radiation  exposure  limits  set  forth  for  an uncontrolled  environment.  This  equipment  should  be  installed  and  operated  with minimum distance 20cm between the radiator & your body. This  transmitter  must  not  be  co-located  or  operating  in  conjunction  with  any  other antenna or transmitter. The  availability  of  some  specific  channels  and/or  operational  frequency  bands  are country dependent and are firmware programmed at the factory to match the intended destination. The firmware setting is not accessible by the end user.
                                                                                69 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.  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 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.   Figure 1, Illustration of API generic transactions
                                                                                70 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:   HTTP GET: Normally used to retrieve the settings or status of the IP Camera   HTTP POST: Normally used to configure the settings of the IP Camera  If the request is successfully received by the IP Camera, the response will contain a HTTP header with a 200 OK response code and the HTTP body with the actual response data or other value if error occurs. An example is provided for each request type below:  Illustration 1, Get the network setting from the IP Camera  Client request GET http://<IP Camera address>/network.cgi HTTP/1.0 …  Server response HTTP/1.0 200 OK Content-Type: text/plain  IPAddress=192.168.1.1 SubnetMask=255.255.255.0 …  Illustration 2, Set the network setting from the IP Camera  Client request POST http://<IP Camera address>/network.cgi HTTP/1.0  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 reason, an appropriate HTTP status  code  400  Bad Request  is  returned  accompanied  with  an  error  code  and  error string that explains the failure.
                                                                                71  Client request GET/POST …  Server response HTTP/1.0 400 Bad Request … ErrorCode=XXX ErrorString=Invalid IP Address
                                                                                72 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. Audio  Enable user to set/get the audio devices’ setting. Network  Enable users to set/get the network setting. Event  Enable users to register to listen for notification coming from IPCAM. Storage  Enable users to configure storage device for storing media content. System  Enable users to set/get miscellaneous system settings. Admin  Enables  users  to  perform  administrative  tasks  over  the  IP Camera. Capability  Provide users with the list of available features supported by the IP Camera. Motion detection  Enable  user  to  set/get  the  motion  detection  setting  and add/delete/update detection region. Event  Enable  user  to  set/get  the  event  setting  and  set/get  the notification setting. I/O control  Enable user to control I/O status  Ps: Fields marked in gray are reserved.
                                                                                73 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. SVideoSessionSetting The  selected  setting  of  video  session  used  for streaming SAudioSessionSetting The  selected  setting  of  audio  session  used  for streaming SChannelSetting  The selected setting of media session (audio+video) used for aggregate streaming. SChannelSetSetting  The set of available channels on this IPCam  enum _ConstantBitrate{   VBR = 0,   CBR, };   enum _bitrateKbps{   kbps_64 = 64,   kbps_128 = 128,   kbps_256 = 256,   kbps_384 = 384,   kbps_512= 512,   kbps_768 = 768,   kbps_1500 = 1500,   kbps_2000 = 2000,   kbps_4000 = 4000,   kbps_6000 = 6000,   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;
                                                                                74   int resolutionHeight;   int quality;            // JPEG Specific   int frameRate;        // FPS   int gop;            // (reserved)  } SVideoFormatSetting;   typedef struct _audioFormatSetting {   int sourceDevice;     // reserved   char codecType[16];        // G711   char codecSubType[16];      // AUTO   int numberOfChannel;     // (reserved) Mono, Stereo    =>0   int sampleRate;        // (reserved) 8KHZ   int frameIntervalMS;      //(reserved) 10MS   int sampleSizeBit;       //(reserved)16 Bit  } SAudioFormatSetting;  /* SMetaFormatSetting */ typedef struct _metaFormatSetting {   int mdAlarmEnabled; } SMetaFormatSetting;   /* 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;       SAudioFormatSetting format;   STransportSetting transport; } SAudioSessionSetting;   /* SMetaSessionSetting */ typedef struct _metaSessionSetting {
                                                                                75   int enabled;         SMetaFormatSetting format;   STransportSetting transport; } SMetaSessionSetting;   /* SChannelSetting */ typedef struct _channelSetting {   int enabled;   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];   int transportType;   // enum _TransportType   SVideoSessionSetting video;   SAudioSessionSetting audio;     SMetaSessionSetting meta; } SChannelSetting;   typedef struct _SChannelSetList {   int size;     SChannelSetting channels[5]; }SChannelSetList;   /* SChannelSetSetting */ typedef struct _channelSetSetting {     SChannelSetList channelList; } SChannelSetSetting;
                                                                                76  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  http://<IP>/cgi-bin/channels.cgi&action=get Response    size =   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=
                                                                                77 Ch2.index=2 ….   Comment   Method  GET  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= 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  GET
                                                                                78  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= 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
                                                                                79  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= Response     Comment   Method  POST
                                                                                80  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=& 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
                                                                                81  1.6  getStream    ActionEvent: getStream Request  rtsp://<IP>/channel<index> Response     Comment  <Index> is the index number of the SChannelSetting. Method
                                                                                82 Camera API The 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 SColorSaturationSetting  Color Saturation setting of the Camera SMirrorFlipSetting  MirrorFlip setting of the Camera   SSharpnessSetting  Sharpness setting of the Camera SContrastSetting  Contrast setting of the Camera SFrequencySetting  50Hz / 60Hz switching SEffectSetting  Special Effect switching SEnvModeSetting  Indoors / Outdoor switching SIRCutFilterSetting  IR cut-off filter setting SIRLEDSetting  IR LED setting SVideoOverlaySetting Video overlay setting   /* SWhiteBalanceSetting */ enum WhiteBalanceMode {   WB_MODE_OFF=0,   WB_MODE_SIMPLE,      WB_MODE_ADVANCED,    }; /* SAutoExposureSetting */ enum AutoExposureMode {   AE_MODE_OFF=0,   AE_MODE_AEC,      AE_MODE_AGC, };     /* SExposureSetting */ typedef struct _ExposureSetting    {   int mode;            // enum AutoExposureMode   } SExposureSetting;  /* SWhiteBalanceSetting */ typedef struct _whiteBalanceSetting    {   int mode;          // enum WhiteBalanceMode     int level;         //   } SWhiteBalanceSetting;  /* SBrightnessSetting */
                                                                                83 typedef struct _brightnessSetting {   int level;              //   } SBrightnessSetting;  /* SColorSaturationSetting */ typedef struct _colorSaturationSetting {   int level;                //   } SColorSaturationSetting;  /* MirrorFlipSetting */ typedef struct _MirrorFlipSetting {   int mirror_enabled;   int flip_enabled; } SMirrorFlipSetting;  /* SSharpnessSetting */ typedef struct _sharpnessSetting {   int level;             //   } SSharpnessSetting;  /* SContrastSetting */ typedef struct _contrastSetting    {   int level;             //   } SContrastSetting;  enum Frequency {   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;
                                                                                84 typedef struct _EnvModeSetting    {   int envMode;             // enum IndoorOutdoorMode } SEnvModeSetting;   /* SIRCutFilterSetting */ enum IRCutMode {   IRCUT_MODE_OFF=0,   IRCUT_MODE_ON,   IRCUT_MODE_AUTO, };  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,   AUTOIRIS_ENABLED, }; typedef struct _autoIris {   int enabled;          //enum AutoIrisMode }SAutoIris;   /* SVideoOverlaySetting */ enum TimeStampMOde{   TimeStamp_off=0,   TimeStamp_on, }; enum UseImage{   NO_IMAGE = 0,   UPLOAD_IMAGE, };
                                                                                85   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;      // 0: no timestamp, 1: use timestamp         char displayString[50];          int useImage;            // 0: no image, 1: use uploaded image.   int enabled;         SOsdPalette osdPalette1;         SOsdPalette osdPalette2;         SOsdWindow osdWindow1;         SOsdWindow osdWindow2;  } SVideoOverlaySetting;   ActionEvents  ActionEvent  Description setWhiteBalance  Set white balance   getWhiteBalance  Get white balance setBrightness  Set brightness   getBrightness  Get brightness setColorSaturation Set Color Saturation getColorSaturation Get Color Saturation 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  Set IR LED
                                                                                86 getIRLED  Get IR LED setVideoOverlay  Set video overlay getVideoOverlay  Get video overlay setCameraSetting  Set all camera setting. getCameraSetting Get all camera setting.  2.1  setWhiteBalance   ActionEvent: setWhiteBalance Request  http://<IP>/cgi-bin/camera.cgi action=setWhiteBalance mode= level= Response     Comment   Method  POST  2.2  getWhiteBalance   ActionEvent: getWhiteBalance Request  http://<IP>/cgi-bin/camera.cgi?action=getWhiteBalance Response    mode= level= Comment   Method  GET
                                                                                87  2.3  setBrightness   ActionEvent: setBrightness Request  http://<IP>/cgi-bin/camera.cgi 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  GET  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  GET  2.7  setMirrorFlip   ActionEvent: setMirrorFlip Request  http://<IP>/cgi-bin/camera.cgi action= setMirrorFlip mirrorEnabled = flipEnabled= Response     Comment   Method  POST  2.8  getMirrorFlip   ActionEvent: getMirrorFlip Request  http://<IP>/cgi-bin/camera.cgi?action= getMirrorFlip Response    flipEnabled= mirrorEnabled =  Comment   Method  GET
                                                                                88  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  GET
                                                                                89  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  GET  2.13 setFrequcny   ActionEvent: setFrequcny Request  http://<IP>/cgi-bin/camera.cgi action=setFrequency freq = Response     Comment   Method  POST  2.14 getFrequency   ActionEvent: getFrequency Request  http://<IP>/cgi-bin/camera.cgi?action=getFrequency Response    freq= Comment   Method  GET  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  GET
                                                                                90  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  GET  2.19 setIRCutFilter   ActionEvent: setIRCutFilter Request  http://<IP>/cgi-bin/camera.cgi action=setIRCutFilter mode= thresholdLevel= Response     Comment   Method  POST
                                                                                91  2.20 getIRCutFilter   ActionEvent: getIRCutFilter Request  http://<IP>/cgi-bin/camera.cgi?action=getIRCutFilter Response    mode= thresholdLevel= Comment   Method  GET  2.21 setIRLED   ActionEvent: setIRLED Request  http://<IP>/cgi-bin/camera.cgi 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  GET  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
                                                                                92  2.24 getVideoOverlay   ActionEvent: getVideoOverlay Request  http://<IP>/cgi-bin/camera.cgi?action=getVideoOverlay Response    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=  Comment   Method  GET    2.25 setAutoIris ActionEvent: setAutoIris Request  http://<IP>/cgi-bin/camera.cgi action= setAutoIris enabled Response     Comment   Method  POST 2.26 getAutoIris ActionEvent: getAutoIris Request  http://<IP>/cgi-bin/camera.cgi?action= getAutoIris Response    enabled= Comment   Method  GET
                                                                                93  2.27 setCameraSetting   ActionEvent: setCameraSetting Request  http://<IP>/cgi-bin/camera.cgi 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 Response     Comment   Method  POST
                                                                                94  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 videoOverlay.osdWindow2.x=0 videoOverlay.osdWindow2.y=0 videoOverlay.osdWindow2.transparent=0 Comment   Method  GET
                                                                                95 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;           // volume level 1-100   int mediaType;        // (reserved) Full=0, Half duplex=1   int voiceSource;         // voice MIC/Line in =>0/1 =>0 } SAudioDeviceSetting;   ActionEvents  ActionEvent  Description setAudioDevice  Set audio device setting getAudioDevice  Get audio device setting setAudioMuteState Mute or un-mute audio getAudioMuteState Get the mute state of audio setAudioVolume  Set audio volume setting getAudioVolume  Get audio volume setting
                                                                                96  3.1  setAudioDevice   ActionEvent: setAudioDevice Request  http://<IP>/cgi-bin/audio.cgi action=setAudioDevice muted= level = voiceSource = Response     Comment   Method  POST  3.2  getAudioDevice   ActionEvent: getAudioDevice Request  http://<IP>/cgi-bin/ audio.cgi?action=getAudioDevice Response    muted = level = voiceSource = Comment   Method  GET  3.3  setAudioMuteState   ActionEvent: setAudioMuteState Request  http://<IP>/cgi-bin/audio.cgi action=setAudioMuteState muted= Response     Comment   Method  POST  3.4  getAudioMuteState   ActionEvent: getAudioMuteState Request  http://<IP>/cgi-bin/audio.cgi?action=getAudioMuteState Response    muted= Comment   Method  GET
                                                                                97  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 Response    level= Comment   Method  GET
                                                                                98 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    802.11 WLAN setting SIPFilterSetting  IPFilter setting   /* SBasicNetworkSetting */ enum NetAddressType {   NET_ADDRESS_TYPE_STATIC=0,   NET_ADDRESS_TYPE_DHCP,   NET_ADDRESS_TYPE_PPPOE, };   typedef struct _DHCPSetting {   // Currently reserved } SDHCPSetting;  typedef struct _PPPoESetting {   char username[128];   char password[128]; } SPPPoESetting;  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;
                                                                                99 char upnpName[128]; } SUPnPSetting;  /* SDDNSSetting */ enum ddnsServerType{   DYNDNS = 0,   TZO, };  typedef struct _SDDNSEntry{   int wildcardEnabled;//0:disable 1:enable   char username[128];   char password[128];   char hostname[128]; }SDDNSEntry;   typedef struct _DDNSSetting {       int dyndnsEnabled;   int tzodnsEnabled;   SDDNSEntry dyndns;   SDDNSEntry tzodns; } 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,
                                                                                100   WL_WEPAUTO, };  enum WIFISecurityMode {     WL_NONE=0,   WL_WEP,     WL_WPAPSK,     WL_WPA2PSK,     //WL_WPA_ENTERPRISE,     //WL_WPA2_ENTERPRISE, };  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, };
                                                                                101  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;                  // enum WIFIWEP__authenticationType     int defaultTransmitKeyIndex;     int wepKeyLength;     SEncryptionKeyList encryptionKeyList; }SWEP;  //================= IEEE 802.1X ======================= //authenticationProtocolType enum IEEE_802_1x_authenticationProtocolType {   WL_EAP_TLS=0,   WL_EAP_TTLS,   WL_EAP_PEAP,   WL_EAP_FAST,   WL_EAP_LEAP, }; //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,   };
                                                                                102  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;     int clientline;     int PACline; } SIEEE_802_1xSetting;  typedef struct _WIFISetting {   int enabled;   int mode;          // enum WIFIAccessMode     int operationMode;      // WIFIOperationMode   int channel;          // (0) Auto,     int wmm;          // 0:disabled 1:enabled   char SSID[31];               int preamble;       // enum WIFIPreambleType     int    rtsThreshold;       //   int fragmentationThreshold;     int authentication;     // enum WIFIAuthenticationType   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;     SFilterAddressEntry filterEntry[16]; }SFilterAddressList;  typedef struct _SSIPFilterSetting {
                                                                                103      int enabled;         int permissionType;   SFilterAddressList allowList;     SFilterAddressList denyList; }SIPFilterSetting;   ActionEvents  ActionEvent  Description setBasicNetwork  Set the basic network setting getBasicNetwork Get the basic network setting 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  http://<IP>/cgi-bin/basicNetwork.cgi action= set //STATIC addressType=0 ipv4Address= subnetMask= gatewayAddress= dnsAddress1= dnsAddress2= // DHCP, addressType=1 // PPPOE addresssType=2 pppoe.username= pppoe.password= Response     Comment   Method  POST
                                                                                104  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  GET
                                                                                105  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  GET  4.5  setDDNS   ActionEvent: setDDNS Request  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= Response     Comment   Method  POST
                                                                                106  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  GET  4.7  setEthernet   ActionEvent: setEthernet Request  http://<IP>/cgi-bin/ethernet.cgi action=set mediaType= Response     Comment   Method  POST  4.8  getEthernet   ActionEvent: getEthernet Request  http://<IP>/cgi-bin/ethernet.cgi?action=get Response    mediaType= Comment   Method  GET
                                                                                107  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. encryptionKeyList. Keyentry3.encryptionKey= WEP. encryptionKeyList. Keyentry4.encryptionKey= WPA. algorithmType= WPA.sharedKey= WPS.WPSMode= WPS.PINCode=  Response     Comment   Method  POST
                                                                                108  4.10 getWIFI   ActionEvent: getWIFI Request  http://<IP>/cgi-bin/wifi.cgi? action=get Response    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  GET
                                                                                109  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
                                                                                110 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  GET
                                                                                111 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
                                                                                112System 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 STimeSetting  Time setting   SSyslogSetting  Syslog setting SSystemStatus  Structure containing system status info   /* SDeviceInfo */ typedef struct _SSDeviceInfo { char chipVersion[65]; char sensorID[65]; char macAddress[17]; char firmwareVersion[65]; char firmwareReleasedDate[65]; char InternalName[65]; char ProductName[65]; char ModelNumber[16]; char CompanyName[32]; char Comments[128]; } SDeviceInfo;    /* 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,
                                                                                113                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 };    // 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;   int second; } SManualTimeSetting;   typedef struct _NTPTimeSetting {   char ntpServerLoc1[100];  // IP address or FQDN of NTP server   char ntpServerLoc2[100]; } SNTPTimeSetting;   typedef struct _TimeSetting {   int type;        // enum TimeConfigType   int enableDST;      // Daylight saving.    (0: disabled, 1: enabled)        int timezoneID;      // enum TimeZoneID
                                                                                114  SManualTimeSetting  manual;   SNTPTimeSetting ntp; } STimeSetting;  /* SSyslogSetting */ // 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,    // debug-level message }; enum AddressFormatType {   IP_TYPE,       HOSTNAME_TYPE,     };  Typedef struct _SyslogSetting {   int localLogLevel;      // Log with LogPriority value smaller than this is logged to local file.   Int useRemoteLog;      // 0: disabled, 1: enabled   int addressingFormatType;   char remoteServerAddress[128];  // IP address or FQDN of the syslog server   int remoteServerPort;        // Port number of the syslog server } SSyslogSetting;  Typedef struct _systemStatus {         // TBD } SSystemStatus;
                                                                                115 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= macAddress= firmwareVersion= firmwareReleasedDate= InternalName= ProductName= ModelNumber= CompanyName= Comments= Comment   Method  GET  5.2  setTimeSetting   ActionEvent: setTimeSetting Request  http://<IP>/cgi-bin/time.cgi 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=
                                                                                116Response     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= ntp.ntpServerLoc2= Comment   Method  GET 5.4  setSyslogSetting   ActionEvent: setSyslogSetting Request  http://<IP>/cgi-bin/syslog.cgi action=set localLogLevel= useRemoteLog= addressingFormatType= remoteServerAddress= remoteServerPort= Response     Comment   Method  POST 5.5  getSyslogSetting   ActionEvent: getSyslogSetting Request  http://<IP>/cgi-bin/syslog.cgi ?action=get Response    localLogLevel= useRemoteLog= addressingFormatType= remoteServerAddress= remoteServerPort= Comment   Method  GET 5.6  getSyslogFile ActionEvent: getSyslogFile Request  http://<IP>/syslog.dump Response    Content of syslog. Comment   Method  GET
                                                                                117 5.7  syslogClear ActionEvent: syslogClear Request  http://<IP>/cgi-bin/syslog.cgi?action=clear Response     Comment  Clear syslog. Method  GET   ActionEvent: getSystemStatus Request  http://<IP>/cgi-bin/systemStatus.cgi?action=get   Response     Comment   Method  GET
                                                                                118Admin 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  ActionEvent  Description addUser  Add a user to the system deleteUser  Delete a user from the system updateUser  Update the account of user <username> getUsers  Get all user accounts setHTTP  Set HTTP setting setHTTP/HTTPS  Set HTTP/HTTPS in one request. getHTTP  Get HTTP setting setHTTPS  Set HTTPS setting getHTTPS  Get HTTPS setting resetToDefault  Reset the IPCamera setting to factory default. upgradeFirmware  Upgrade firmware Reboot  Reboot the system. importConfigFile  This  function  is  used  to  upload  configuration  to  the device. exportConfigFile  This  function  is  used  to  get  the  configuration  from  the device. setPWDComplexity Set password Complexity. getPWDComplexity Get password Complexity.
                                                                                119 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;   SUserSetting users[10]; } SUserSetList;  typedef struct _userSetSetting {     SUserSetList userList; }SUserSetSetting;   enum ProtocolMode{   PROTOCOL_HTTP=0,       PROTOCOL_HTTPS,       PROTOCOL_HTTP_HTTPS };  /* SHTTPSetting */ typedef struct _HTTPSetting {   int enabled;   int port; } SHTTPSetting;   /* SHTTPSSetting */ typedef struct _HTTPSSetting {   int enabled;   int port; } SHTTPSSetting;   typedef struct _FWUPGRADE{       char filename[64];       int status; } SFWUPGRADE;  typedef struct _ConfigFile{
                                                                                120       char filename[64]; } SConfigFile;  /* SComplexityPWDSetting */ typedef struct _SSComplexityPWDSetting {     int pwdRule1Enabled;     int pwdRule2Enabled;     int pwdRule3Enabled; }SComplexityPWDSetting;   6.1  addUser   ActionEvent: addUser Request  http://<IP>/cgi-bin/users.cgi action=add index= username=<username> password=<password> privilege=<privilege> 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 Response    Size= User1.index= User1.username= User1.password= User1.privilege= … User2.username= User2.password= User2.privilege=  Comment   Method  GET
                                                                                121  6.4  updateUser   ActionEvent: updateUser Request  http://<IP>/cgi-bin/users.cgi action= update index= username=<xxxx> password= privilege= Response     Comment   Method  POST  6.5  setHTTP   ActionEvent: setHTTP Request  http://<IP>/cgi-bin/http.cgi action= set enabled= port= Response     Comment   Method  POST  6.6  setHTTP/HTTPS ActionEvent: setHTTP/HTTPS Request  http://<IP>/cgi-bin/http.cgi action= setAll enabled= port= httpsEnabled= httpsPort= Response     Comment   Method  POST  6.7  getHTTP   ActionEvent: getHTTP Request  http://<IP>/cgi-bin/http.cgi?action= get Response    enabled= port= Comment   Method  GET
                                                                                122  6.8  setHTTPS   ActionEvent: setHTTPS Request  http://<IP>/cgi-bin/https.cgi action= set enabled= port= Response     Comment   Method  POST  6.9  getHTTPS   ActionEvent: getHTTPS Request  http://<IP>/cgi-bin/https.cgi?action= get Response    enabled= port= Comment   Method  GET  6.10 resetToDefault   ActionEvent: resetToDefault Request  http://<IP>/cgi-bin/reset.cgi?action= reset Response     Comment  Reset all settings to factory default Method  GET  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 Method  POST  6.12 reboot   ActionEvent: reboot Request  http://<IP>/cgi-bin/reboot.cgi?action= reboot Response     Comment  Reboot the system Method  GET/POST
                                                                                123  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  get  6.15 setPWDComplexity   ActionEvent: setPWDComplexity Request  http://<IP>/cgi-bin/complexity.cgi action= set pwdRule1Enabled = pwdRule2Enabled = pwdRule3Enabled = Response     Comment   Method  POST  6.16 getPWDComplexity   ActionEvent: getPWDComplexity Request  http://<IP>/cgi-bin/complexity.cgi?action= get Response    pwdRule1Enabled = pwdRule2Enabled = pwdRule3Enabled = Comment   Method  GET
                                                                                124 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. resolutionWidth2=640 Streaming.name2. resolutionHeight2=400 Streaming.name2. resolutionWidth3=1280 Streaming.name2. resolutionHeight3=800  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  GET
                                                                                125 Motion detection API  Motion detection API allows applications to   1)  set/get the motion detection setting  Data structures    Data Structure  Description SMotionDetectionSetting  Basic motion detection setting. SMDList  List of detection channels. SChannelMotionDetection  Keep the information of detection channels. SMDRegionList  List of detection regions. SMDRegion  Keep the information of detection regions.  /* SMotionDetection */ // Upper left coordinte (x,y), bottom right coordinate (x1, y1) typedef struct _MDRegionEntry {         int enabled;                 int sensitivity;    // 1-100.    (low->high)         int threshold;    // 1-100.    (low->high)         int x;         int y;         int x1;             int y1; } SMDRegionEntry;         /*SMDRegionList*/ typedef struct _MDRegionList    {   int size;   SMDRegionEntry regionEntry[5]; }SMDRegionList;     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;     SMDEntry MDEntry[5];//match stream   }SMDList;
                                                                                126    typedef struct _MotionDetectionSetting {             SMDList MDList; }SMotionDetectionSetting;  ActionEvents  ActionEvent  Description setMotionDetection  Set motion detection setting getMotionDetection  Get motion detection setting getMotionDetections Get all motion detections setting  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
                                                                                127  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  GET
                                                                                128  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  GET
                                                                                129 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. SEventScheduleSetting  Set up the schedule for triggering events SEmailSetting  Details the setting of email. SMailingServerList  List of email servers. SMailingServer  Details the email servers. SFTPSetting  Details the setting of ftp. SFTPServerList  List of ftp servers. SFTPServer  Details the ftp servers. SMediaInfo  Specify the format of media. SambaServer  Details the samba servers.  enum _eventScheduleType {   EVENT_SCHEDULE_ALWAYS=0,   EVENT_SCHEDULE_WEEKLY=1,      // TODO: TBD.   EVENT_SCHEDULE_NEVER=2, };  typedef struct _eventScheduleSetting {   int   type;  /* type of schedule */   char time[128];       /*     Weekly schedule:  Mon:0900-1700,Tue:0900-1700,Wed:0900-1700,Thu:0900-1700,Fri:0900-1700,Sat:0900-1700,Sun:0900-1700   */ } SEventScheduleSetting;  #define ACTION_NAME_FTP    "ftp" #define ACTION_NAME_EMAIL  "smtp" #define ACTION_NAME_SAMBA  "samba"  typedef struct _eventRuleSetting {   int     index;        //unique id   int        enabled;   char   name[10];       unsigned int      eventID;        /* type of event */   SEventScheduleSetting sched;
                                                                                130   char actions[128];     /* list of references to action names separated by comma ','    */ } SEventRuleSetting;  typedef struct _eventRuleSettingList {   int    size;   SEventRuleSetting    rule[10]; } SEventRuleSettingList;  typedef struct _eventPolicySetting {   SEventRuleSettingList ruleList; } SEventPolicySetting;   enum AuthMOde{   PLAIN=0,   LOGIN=1,   LOGIN_TLS=2 };   typedef struct _mailingServer {   unsigned int authenticationMode;// => enum { PLAIN , LOGIN , TLS_LOGIN }   unsigned int portNo; //=> 25   unsigned char smtpServerHostName[64]; //=> smtp.gmail.com   unsigned char accountName[64]; //=> XXXXXX   unsigned char password[64]; //=> XXXXXX } SMailingServer;   /* 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"   unsigned int attachedVideoURLEnabled; //=> 0/1   unsigned int attachedSnapShotEnabled; //=> 0/1   unsigned int attachedVideoClipEnabled; //=> 0/1   SMailingServer primary;   SMailingServer secondary; } SEmailSetting;   /* SFTPServer */ typedef struct _ftpServer  { unsigned int addressType; unsigned char hostname[64]; unsigned char ipAddress[32]; unsigned char ipv6Address[48]; unsigned int portNo;
                                                                                131 unsigned char accountName[64]; unsigned char password[64]; unsigned int passiveModeEnabled; } SFTPServer;   /* SFTPSetting */ typedef struct _ftpSetting  {   unsigned int uploadSnapShotEnabled;   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,   NOTIFICATION_SAMBA, }; enum NOTIFICATION_RECURRENCE_DATA{   RECURRENCE_START,   RECURRENCE_START_AND_END,   RECURRENCE, };  typedef struct _SambaServer { unsigned char HostDns[32]; unsigned char IpAddress[32]; unsigned char Ipv6Address[48]; unsigned char UserName[16]; unsigned char Password[16]; unsigned int AddressType; unsigned char Preserve[12];
                                                                                132 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,   EVENT_TRANSPORT_PROTOCOL_HTTP=3, };  enum _eventTransportDataFormat {   EVENT_TRANSPORT_DATA_FORMAT_BINARY=0,   EVENT_TRANSPORT_DATA_FORMAT_TEXT=1,   EVENT_TRANSPORT_DATA_FORMAT_XML=2,     };  typedef struct _eventTransportSetting {   int mode;    /* Binary (host byte order) or text */   int protocol;    /* UDP, TCP, HTTP */   int dataFormat;       char destIPv4Address[16];   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;   SEventSubscriptionSetting subscription[10];   } SEventSubscriptionSettingList;    ActionEvents
                                                                                133 ActionEvent  Description setEventSetting  Set event setting getEventPolicy  Get event policy getEventRule  Get event rule addEventSetting  Add event setting updateEventSetting Update event setting removeEventSetting Remove event setting setEmailSetting  Set Email setting getEmailSetting  Get Email setting setFTPSetting  Set FTP setting getFTPSetting  Get FTP setting setAlarmMediaInfo  Set alarm media info getAlarmMediaInfo  Get alarm media info setSamba  Set samba server setting. getSamba  Get samba server setting.   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  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   Method  POST
                                                                                134  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   Method  POST  9.4  removeEventSetting ActionEvent: removeEventSetting Request  http://<IP>/cgi-bin/event.cgi action= removeEventSetting index= Response     Comment   Method  POST  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  GET
                                                                                135  9.6  getEventRule ActionEvent: getEventRule Request  http://<IP>/cgi-bin/event.cgi?action=getEventRule Response    index=0 enabled=0 name= eventID=0 sched.type=0 sched.time= actions=  Comment   Method  GET  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
                                                                                136  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  GET
                                                                                137  9.9  setFTPSetting   ActionEvent: setFTPSetting Request  http://<IP>/cgi-bin/event.cgi action= setFTPSetting uploadSnapShotEnabled= uploadVideoClipEnabled= addressType1= hostName1= ipAddress1= ipv6Address1= 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= password2= passiveMode2= Comment   Method  GET
                                                                                138  9.11 setAlarmMediaInfo   ActionEvent: setAlarmMediaInfo Request  http://<IP>/cgi-bin/event.cgi action= setAlarmMediaInfo snapShotEnabled = videoClipEnabled = timeBeforeEvent= timeAfterEvent= Response     Comment   Method  POST  9.12 getAlarmMediaInfo   ActionEvent: getAlarmMediaInfo Request  http://<IP>/cgi-bin/event.cgi?action= getAlarmMediaInfo Response    snapShotEnabled = videoClipEnabled = timeBeforeEvent= timeAfterEvent= Comment   Method  GET  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
                                                                                139  9.14 getSamba ActionEvent: getSamba Request  http://<IP>/cgi-bin/event.cgi?action= getSamba Response    addressType= hostDns= ipAddress= ipv6Address= userName= password= preserve= shareDIR= workGroup= Comment   Method  GET  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    ActionEvent: setGPIOSetting Request  http://<IP>/cgi-bin/gpio.cgi  Response     Comment   Method  POST
                                                                                140  10.2 getGPIOSetting   ActionEvent: getGPIOSetting Request  http://<IP>/cgi-bin/event.cgi?action= get Response     Comment   Method  GET  10.3 getGPIOStatus   ActionEvent: getGPIOStatus Request  http://<IP>/cgi-bin/event.cgi?action= getStatus Response     Comment   Method  GET
                                                                                141 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;           char account[128];                            //msn account         int    isNotifiedAcnt;                    //0:no 1:yes }MsnBuddy;   /*SMsnBuddyList */ typedef struct _MsnBuddyList    {   int size;   MsnBuddy buddy[5]; }SMsnBuddyList;   typedef struct _msnbotSetting{         char account[128];         char passwd[128];         char msnOpPasswd[128];         char friendlyName[128];         int webcamEnabled;                                //0:disable 1:enable         int alarmNotifyEnabled;        //0:disable 1:enable         SMsnBuddyList bList;  }SMsnbot;  ActionEvents ActionEvent  Description setMSNBot  Set MSNBot setting getMSNBot  Get MSNBot setting
                                                                                142  11.1 setMSNBot    ActionEvent: setMSNBot Request  http://<IP>/cgi-bin/msn.cgi 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  POST
                                                                                143  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  GET

Navigation menu