Version 6.02.14
Date: 2014/07/08 by Anne

1. Modify DI Event trigger: "tns1:Device/IO/VirtualPort\ " to "tns1:Device/IO/VirtualPort"
#########################################################################################
Version 6.02.13
Date: 2014/07/04 by Anne

1. Fixed the bug: After sending Event trigger notify, the msg counter failed to reset to zero.
2. Add sem_wait before sending Notify for preventing soap be freed by another Notify thread.
3. Extend DI numbers to eight.
#########################################################################################
Version 6.02.12
Date: 2014/07/01 by Anne

1. Fixed the bug: Replace malloc to soap_malloc for preventing memory leak.
#########################################################################################
Version 6.02.11
Date: 2014/06/30 by Anne

1. Modify the Renew function & architecture of Event thread.
2. Modify response of ProbeMatch: Company Name, Camera Model, and Uri
3. Fixed the bug of parsing Preset Point Token & Name in GotoPreset function.
4. Fixed the length of token string for soap_malloc in SetPreset function.
#########################################################################################
Version 6.02.10
Date: 2014/06/18 by Anne

1. Add RelativeMove: include RelativePanTiltTranslationSpace & RelativeZoomTranslationSpace
#########################################################################################
Version 6.02.09
Date: 2014/06/09 by Anne

1. Modify Event Device Capability: change value of WSSubscriptionPolicySupport, WSPullPointSupport,
   and WSPausableSubscriptionManagerInterfaceSupport from false to true.
#########################################################################################
Version 6.02.08
Date: 2014/06/06 by Anne

1. Modify Event architecture: Add a queue to save the events for PullMessage.
2. Modify the response value of UtcTime: Add usec in Message_tt structure and create a new 
   function to generate the UtcTime string with microsecond for PullMessage & Event Notify.
3. Modify ProbeMatch for Discovery: Add the Http Port number in the Device Service Address.
4. Modify Device Capability of Media with RTP_RTSP_TCP = False to close the test item 
   RTSS-1-1-29 of Onvif Testing tool v13.12.
#########################################################################################
Version 6.02.07
Date: 2014/05/21 by Anne

1. Remove <tnsacti> namespace of Event function
#########################################################################################
Version 6.02.06
Date: 2014/05/09 by Anne

1. Modify Data name <SimpleItemDescription item> from 'motion' to 'state' in MessageDescription of MotionDetection.
2. Redesign Subscription Notify & PullPoint architecture of event function.
#########################################################################################
Version 6.02.05
Date: 2014/05/05 by Anne

1. Add OnvifChangeVideoStreamNum() API for Single/Dual Stream switching to change onvif.conf.
#########################################################################################
Version 6.02.04
Date: 2014/04/23 by Anne

1. Fixed the bug in line 4300
        L1("error. create OnvifEventThread for scription[%d]\n"), i;
2. Modify the response of GetCapabilities in Media.
	 RTP_TCP --> true
	 RTP_RTSP_TCP --> true
#########################################################################################
Version 6.02.03
Date: 2014/04/14 by Anne

1. Change Onvif Version from V2.4 to V2.2
#########################################################################################
Version 6.02.02
Date: 2014/04/11 by Anne

1. Add a global flag (gOnvifCloseVideoSource2) to close Video source 2 for Avigilon NVR License. 
   (It's a working around solution. We will provide another way to fix out this issue by URL & WebUI later)
2. Modify BitRate 1.500M --> 1.5M
3. Add "gOnvifConf.AudioEnable == false_" to avoid clients asking Audio Configures
   as Camera does not support Audio function.
4. Modify MAX_TOKEN_STRLEN to 32
5. Modify MAX_PROFILE_STR to 32
#########################################################################################
Version 6.02.01
Date: 2014/03/25

1. force the EncodingInterval to 1. The range of EncodingInterval is form 1 to 1 as well.
2. Change the supported Onvif version from v2.0 to v2.4 in GetServicesResponse and 
   DeviceCapabilities.
#########################################################################################
Version 6.02.00
Date: 2014/02/27 by MingYoung

1. Use Audio = 0 or not to set the audio function is available or not. The original 
   method is checking AUDIO_CAP is None.
2. Set the length of PTZ preset points based on the platform. TCM and A1 are using 256
   preset points and KCM is using 64 preset points.
3. Support video image settings on VIDEO_BRIGHTNESS, VIDEO_CONTRAST and VIDEO_SATURATION
#########################################################################################
Version 6.01.25
Date: 2014/02/10 by MingYoung

1. Make sure the socket fd was reansferred to the thread_onvif_handler() then leave the
   soap_handler(). That could avoid to accessing illegle address of socket fd when the
   firmware is busy to execute the thread_onvif_handler() before socket fd was released
   by soap_handler().
#########################################################################################
Version 6.01.24
Date: 2014/02/05 by MingYoung

1. Set keep alive of a poll point service when there is no InitialTerminationTime in the
   CreatePullPointSubscription. No termination time in the CreatePullPointResponse then.
2. skip the prefix when check the soap->tag in the CheckAccessClass().
#########################################################################################
Version 6.01.23
Date: 2014/1/23 by MingYoung

1. change the trt__GetStreamUriResponse->MediaUri->InvalidAfterConnect = false_ in
   GetStreamUri to fit Vicon onvif integration
2. Not show security info in the soap header in the reply packet to solve the compatible
   issue.
3. NVC might not have soap header in the Onvif packet. the soap->head will be NULL when
   soap handler needs to set the response. Add the check soap->head before use it.
4. add "GetEventProperties" command to PRE_AUTH list
#########################################################################################
Version 6.01.22
Date: 2014/1/13 by MingYoung

1. use the same token name in the Video SourceToken[] and vsConf[]
2. fixed video resolution cap in GetCompatibleVideoEncoderConfigurations command when
   the video source is 2 in the assigned media profile.
3. show available video encoder configurations based on vsIdx in the media profile in
   GetCompatibleVideoEncoderConfigurations commands.
4. correct PTZ address normalization and denormalization
5. Set the MaxPTZDelay to 1 sec for camera has RS485.
6. Not create ContinueMoveTimerHandler thread if the PTZ timer is lower than 1 sec.
7. reply video resolution range based on configuration token in the request command in
   GetVideoSourceConfigurationOptions().
#########################################################################################
Version 6.01.21
Date: 2014/1/02 by MingYoung

1. NOT check the absolute pan/tilt/zoom positions and pan,tilt,zoom speed settings with
   PTEnabled and ZoomEanbled capability in the AbsoluteMove command. But, no send the
   URLs to streaming server if PT or Zoom function is not available even the Onvif PTZ
   settings are in the AbsoluteMove command.
#########################################################################################
Version 6.01.20
Date: 2013/12/31 by MingYoung

1. check the absolute pan/tilt/zoom positions and pan,tilt,zoom speed settings with
   PTEnabled and ZoomEanbled capability in the AbsoluteMove command.
#########################################################################################
Version 6.01.19
Date: 2013/12/30 by MingYoung

1. remove the printf(); in the __tptz__GetStatus(). This prinf() causes firmware crash
   if the camera is not a PTZ and RS485 but has zoom lens.
2. Add AbsolutePanTiltPositionSpace for workarouund Onvif Test Tool v13.06 PTZ-7-4-4 test,
   it needs pan/tilt absolute position address space for zoom lens only camera
   refer to PreparePTZSpace() in OnvifAPI.c
#########################################################################################
Version 6.01.18
Date: 2013/12/27 by MingYoung

1. update zoom position/speed spece with ZOOM_CAP_GET.
#########################################################################################
Version 6.01.17
Date: 2013/12/24 bu MingYoung

1. Correct the multicast IP address record.
2. use stream mode to set the number of video streams. Original design use VIDEO2_RESOLUTION_CAP.

#########################################################################################
Version 6.01.16
Date: 2013/12/18 by MingYoung

1. more compatible with Onvif 2.4 (audio function and PTZ).
   for Audio, The RTSP library has to be updated.
2. Patch the resolution 1920x1080 to 1920x1072 for Platform T/K
3. Fixed the profile.valid update when received delete profile command.
4. extend the profile entry for platformT and K.
5. support single video streaming mode
6. not save video source configurations. Use camera's setting when onvif is brought up.
7. fix the reference count of video encoder configurations.
8. correcting the SetRelayOutputState's delay timer thread handler.
9. correcting the subscription thread state management
10. To fit the RTP extension with higher 2040x2040 MJPEG video streaming, I created two
    RTSP URIs, onvif-stream for unicast and multicast/onvif-stream for multicast.
	The RTSP library has to updated to handle these two URIs.
#########################################################################################
Version 6.01.15
Date: 2013/11/22 by MingYoung

1. fix the onvif.conf read issue found in the 6.01.14. The onvif.conf could not be saved
   in the /etc/config
2. more compatible design for Onvif 2.4
#########################################################################################
Version 6.01.14
Date: 2013/11/01 by MingYoung

1. support video stream 2 video encoder configurations and play video stream 2.
2. fixed multicast streaming functions
3. fixed PTZ preset functions
4. support RS485 to PTZ functions
5. Match HTTP LIB 1.02.00, single entry of HTTP request handler.
#########################################################################################
Version 6.01.13
Date: 2013/07/26 by MingYoung

1. Calloff 6.01.12 because the garbage in the OnvifAPI.c causes compiler error.
2. Modified 6.01.12 to fit Onvif Device Manager Tool.

[modified]
1. move URL command sender and setting range translation between URL and Onvif in OnvifUrl.c
   I found the Onvif Devive Manager Tool sends XML packet without body message somwtimes.
   That causes soap_recv blocks itself in reading tcp socket. Therefore, the onvif command
   is blocked as well. Use this timer to force the soap_recv to giveup tcp receiving in this
   case.
2. remove conn form struct soap { } due to useless in soap process and no need to read the
   packet data in soap_handler() for soap_serve().

[bug fixed]
1. in PTZ, move=stop and zoom=stop based on onvif velocity values in continue move command
   is not correct. And the velocity to PTZ speed thanslation is not correct. That causes PT
   move does not work in single direction.
   when velocity space is not in the continuous move command, not response this command is
   allowed based on Onvif Spec. I think that more makes sense in PTZ control. So, I remove
   original design.
#########################################################################################
Version 6.01.12
Date: 2013/07/25 by MingYoung

[modified]
1. move URL command sender and setting range translation between URL and Onvif in OnvifUrl.c

[bug fixed]
1. in PTZ, move=stop and zoom=stop based on onvif velocity values in continue move command
   is not correct. And the velocity to PTZ speed thanslation is not correct. That causes PT
   move does not work in single direction.
   when velocity space is not in the continuous move command, not response this command is
   allowed based on Onvif Spec. I think that more makes sense in PTZ control. So, I remove
   original design.
#########################################################################################
Version 6.01.11
Date: 2013/06/19 by MingYoung

[modified]
1. there is no state setting in the return of PTZ_PRESET_GET.
#########################################################################################
#Version 6.01.10
[Applicable Platform]
A1/T/K
[Changes]
Don't answer if ONVIF thread has closed (ONVIF_STATE=0).

#Version 6.01.09
[Applicable Platform]
A1/T/K
[Changes]
Solve a problem if there is no VIDEO2_RESOLUTION_CAP.

#Version 6.01.08
[Applicable Platform]
A1/T/K
[Changes]
1. URL "encoder?CHANNEL=1&VIDEO_ENCODER&CHANNEL=2&VIDEO_ENCODER" is not allowed.
2. Disable debug message of memory leak(soap_init/soap_free)

#Version 6.01.07
[Applicable Platform]
A1/T/K
[Changes]
Fixed two bugs that found by Anne.Chen :
1. Wrong FrameRateLimit
2. Lost the new added media profile

#Version 6.01.06
[Applicable Platform]
A1/T/K
[Changes]
Revised for negative/positive cases of Probe.

#Version 6.01.05
[Applicable Platform]
A1/T/K
[Changes]
1.Remarked Digest log (HA1/HA2:...)
2.Add prototype 'DecideVideoSourceVideoEncoder(void)' in apps/onvif.h .
3.print requested video resolution (width and height) when user requests SetVideoEncoderConfiguration.

#Version 6.01.04
[Applicable Platform]
A1/T/K
[Changes]
Fixed the Memory Leak in Gsoap library.
1. Free unused memory (by MY)
2. Reivsed the Probe Service Thread. 
   Recieving probe request from UDP socket handled on our own.
   This means Probe service don't use Gsoap library since this release.
#Version 6.01.03
[Applicable Platform]
A1/T/K
[Changes]
Fixed an issue raised by FAE Lingy - D54 always reboots into debug mode (ONVIF 2.2).
This issue crashed A1 D54 when user's NVR send Onvif request SetVideoEncoderConfiguration.
In last release, we didn't check if encoding type and the specified video configuration are not match. 
If user send a request with EncodingType=H264 and MPEG4 video configuration, 
then server would crash due to refer to H264 video configuration.
This revision fixed this issue, and in above case, server will return a SOAP_REQUIRED message to 
user.

#Version 6.01.02
[Applicable Platform]
A1/T/K
[Changes]
Fixed an issue raised by FAE Lingy - D54 always reboots into debug mode (ONVIF 2.2).
This issue crashed A1 D54 when user's NVR send Onvif request SetVideoEncoderConfiguration.

In Gsoap/Onvif data structures, there are quite many required and optional elements 
in different Onvif commands.
When the user sends a command with no optional elements, the Gsoap/Onvif thread has to check
if elements are valid (not nil). 
An another question: 
	Suppose that the Gsoap library verify if each request is qualified. 
	Why the request SetNetworkInterface without IPv4Address crashed system?

So we learned Gsoap library has no checking if required elements is valid.
This revision checks all required and optional elements (in OnvifAPIs.c) before using them.

#Version 6.01.01
[Applicable Platform]
A1/T/K
[Changes]
1. This release revised for an issue that raised by Vicon Industries Inc. . 
   They use onvif tool to request scopes information of KCM-3911B with f/w v5.09.08-NB,
     and got model scope "onvif://www.onvif.org/name/KCM3911". They want show their model name.

   In this revision, if the device is a nonbrand ip camera, the model scope followed by OEM_MODEL_NAME.
   If OEM_MODEL_NAME is empty, the model scope followed by a specific string "IPDev".

   Don't forget to run factory default to purge the old model scope.
#Version 6.01.00
[Applicable Platform]
A1/T/K
[Changes]
For downsizing Gsoap static image, replace -O6 to -O2 and use Gsoap Macro WITH_NOIDREF.

#Version 6.00.06
[Applicable Platform]
A1/T/K
[Changes]
1. Fixed a bug that there is memory leak when restarting onvif thread
2. Fixed a bug that onvif thread cannot finish normally.
	This occurred when onvif thread was requested to shutdown (eg, system reboot or ONVIF_STATE=0) and it might sometimes fail.
	That's because the close handler always waiting for all event subscription states become ONVIF_STATE_CLOSE.
 	
#Version 6.00.05
[Applicable Platform]
A1/T/K
[Changes]
1. Fixed a bug found on KCM-8111 that "PTZ Absolute Move" always went to wrong position.
   This bug due to Onvif get upside-down P/T position. 

#Version 6.00.04
[Applicable Platform]
A1/K
[Changes]
1. init (struct) OnvifDB to avoid exception.

#Version 6.00.03
[Applicable Platform]
A1/K
[Changes]
1. Fixed some ptz bugs
2. Revised __tptz__GetPreset
3. Revised OnvifParserSystemInfo for avoiding emtpy string.
4. Revised Auxiliary function
5. Fixed a bug that lost media profile '0' and '1'
6. Revised for an issue that raised by China customer would like to have GetStreamUri with different uri. 
	(Forwarded by Claude.Huang and George Tsai)
7. Follow the change of PTZ_PRESET_SET: Current Zoom Position = 65535

#Version 6.00.02
[Applicable Platform]
A1
[Changes]
1. Replaced data struct of ptz and imaging functions .
2. Revised each memory allocation of IPv4Address.
3. Fixed an issue that closed thread was not clean.
4. Fixed a logical issue of GetHostname. This function doesn't 
	support Get hostname from DHCP(URL: LAN_HOSTNAME).

#Version 6.00.01
[Applicable Platform]
A1
[Changes]
Fixed a few bugs:
1. Event timeout cannot be expired as user's request sometimes.
2. Access Class READ_SYSTEM require athentication.
3. Fixed Unsubscribe Failed.
4. Add a macro symbol "HAVE_ONVIF_DEBUG" for enable/disable debug messages of OnvifAPIs.c .
	Please firmware owner assgin this macro when compiling OnvifAPI.c, 
	if your firmware use Gsoap/Onvif release V6.00.XX (Onvif Core Spec V2.2).
5. Remove relative directory of some header includes from apps/onvif.h:
        #include "Http.h"
        ##include "debug.h"
        ##include "log.h"

#Version 6.00.00
[Applicable Platform]
A1
[Changes]
This is first release follows Onvif Core Spec V2.2 .
There are a few difference between V2.0 and V2.2:
1. Check Access Class:
	/* PRE_AUTH  */
        "GetWsdlUrl",
        "GetServices",
        "GetServiceCapabilities",
        "GetCapabilities",
        "GetHostname",
        "SetHostname",
        "GetSystemDateAndTime",
	/* READ_SYSTEM*/
        "GetDNS",
        //"GetNTP",
        "GetDynamicDNS",
        "GetNetworkInterfaces",
        "GetNetworkProtocols",
        "GetNetworkDefaultGateway",
        "GetZeroConfiguration",
        "GetDeviceInformation",
        "GetScopes",
        "GetDiscoveryMode",
        "SetDiscoveryMode"
2. Imaging:
	Brightness
	ColorSaturation
	Contrast
	Focus
	Exposure
	Sharpness
	IrCutFilter
	WDR
	WhiteBalance
3. Start and Stop Multicast Streaming
	Send a/v streaming to a multicast ip
4. Force Persistence

#Version 5.0.12
This release fixed PTZ issues raised by Teletec:
1. Normalization/Denormalization
2. Default Action: use specified media profile
    Currently, All media profiles apply the same action: RIGHT, UP and TELE.
3. PAN/TILT: 
    0~1: RIGHT/UP
    -1~0: LEFT/DOWN
4. ZOOM: 
     0~1: TELE
     -1~0: WIDE
5.  P/T/Z Speed == 0 : STOP
6. Home Position
     If SetHomePosition Failed, the PTZ camera is Fixed Home Position.
The original request posted below:
----------------------- ----------------------- ----------------------- -----------------------
• GetNode returns a response that 
is invalid in several aspects according to 
http://www.onvif.org/specs/srv/ptz/ONVIF-PTZ-Service-Spec-v220.pdf .
For example, the definition of ZoomSpeedSpace is incorrect. Section 5.7.4.2 states that the ZoomGenericSpeedSpace shall be normalized to the range 0 (stopped) to 1 (full speed). The same rules applies to all generic spaces, they should all be normalized.
----------------------- ----------------------- ----------------------- -----------------------
#Version 5.0.11
This release fixed one issue raised by Inaxsys Security Systems Inc. 
1. Fixed the wrong MAC Address response
	They use ExacqVision NVR to send ONVIF request to ACTi's IP Camera with Non-brand firmware KCM V5.08.02
	and cannot get right MAC address. 
The following is the original request from FAE.
By the way, the first issue mentioned is not our problem. 
----------------------- ----------------------- ----------------------- -----------------------
Hi MY,

FW 5.08.02 is still having below problems:

1. Cannot be connected on Exacq NVR
2. MAC address is 4 digits short. Same as 5.07.05.

Network trace is attached for your reference.
172.16.26.126 -> camera
172.16.26.187 -> Exacq

Regards,
Claude
----------------------- ----------------------- ----------------------- -----------------------
#Version 5.0.10
This release fixed some issues raised by Teletec:
1. Fixed error mapping between video encoder profile and encoding info. (r9855)
2. Added Auxiliary Operations: AlarmOutputOn/ AlarmOutputOff. 
3. Revised the wrong namespaces of PTZ configurations. (r9855)

some of original requests are posted below:
----------------------- ----------------------- ----------------------- -----------------------
•	Camera profile names does not match encoding used in profiles (see attached Wireshark trace), i.e. profile with name ‘HighResolution H264’ uses JPEG encoding according to GetProfiles response from camera.
•	GetNode returns a response that is invalid in several aspects according to http://www.onvif.org/specs/srv/ptz/ONVIF-PTZ-Service-Spec-v220.pdf .
•	GetStatus returns a namespace not defined according to ONVIF PTZ documentation (http://www.onvif.org/onvif/ver20/ptz/wsdl/ptz.wsdl)
----------------------- ----------------------- ----------------------- -----------------------

#Version 5.0.09
remove '#include WanDaemon/wan_daemon_api.h"'. 

#Version 5.0.08
This release is mainly for fixing some issues raised by teletec.
1. Fixed the wrong encoding info of video encoder configurations.
2. Fixed the wrong namespace of PTZ configurations.
3. Added Auxiliary operations and Auxiliary Command in Device Capabilities.

The following is the original request from them.
----------------------- ----------------------- ----------------------- -----------------------
1.
Camera profile names does not match encoding used in profiles (see attached Wireshark trace), i.e. profile with name ‘HighResolution H264’ uses JPEG encoding according to GetProfiles response from camera.
2. 
GetStatus returns a namespace not defined according to ONVIF PTZ documentation (http://www.onvif.org/onvif/ver20/ptz/wsdl/ptz.wsdl).
3.
GetNode returns a response that is invalid in several aspects according to http://www.onvif.org/specs/srv/ptz/ONVIF-PTZ-Service-Spec-v220.pdf .
----------------------- ----------------------- ----------------------- -----------------------


#Version 5.0.07
1. Revised for wrong multicast address/TTL/port number.
   This issue is raised by Indigo Vision. 
   The following is the original request from them.
----------------------- ----------------------- ----------------------- -----------------------
Hi Hannah,
 
Finally Onvif work between Indigo Vision NVR and Acti cameras, but we have some problems with multicasting.
 
Indigo works so that it have to get multicast address from camera…There is no possibility to set multicast address to NVR and in attachments you can see that we set multicast address to camera but somehow NVR get only 0.0.0.0 multicast address and then multicast can`t work.
 
Do you have any ideas? Please get back ASAP.
 
Kind regards,
 
Oy Hedengren Security Ab
Mikko Valtari
Technical Product Manager (CCTV)
----------------------- ----------------------- ----------------------- -----------------------

#Version 5.0.06
1. Replace WanInfo by V2_WAN_STATUS & DDNS & DNS

#Version 5.0.05
1. Fix bug of GetStreamerURI
   (if veIdx = -1)
2. Add PTEnable & ZoomEnable for check PTZ or Zoom suport Only
3. Add PreparePTZConfig 
4. Add PreparePTZSpace
 
#Version 5.0.04
1. Modify PTZ cmds fo Pan & Tilt
GetCapabilities
GetProfiles 
GetNodes
GetNode
GetConfigurations
GetConfiguration
GetConfigurationOptions
SetConfiguration
AbsoluteMove
ContinuousMove
Stop
GetStatus
SetPreset
GetPresets
GotoPreset
RemovePreset
AbsolutePositionSpaces
ContinuousVelocitySpaces
SpeedSpaces

2. Add Continus Move & remove Relative Move 
3. Remove HAVE_PTZ flag

#Version 5.0.03
1. Modify soap_handle for receiving large packets
2. Fix bug of GetStreaming

#Version 5.0.02
1. Modify DO inactive action
2. Modify soap_handle for receiving large packets

#Version 5.0.01
1. Add SetRelayOutputSettings
2. Modify SetRelayOutputStatus
3. Modify PullMessage for waiting

#Version 5.0.00
1. Add RelayOutput
2. Add HAVE_PTZ define
3. Modify GetSnapshotUri

#Version 4.0.00
1. Add Audio cmds 
Base	
		GetCapabilities
		CreateProfile
Audio Source	
		GetAudioSources
		GetAudioSourceConfiguration
		GetAudioSourceConfigurations
		GetAudioSourceConfigurationOptions
		SetAudioSourceConfiguration
		AddAudioSourceConfiguration
		RemoveAudioSourceConfiguration
		GetCompatibleAudioSourceConfigurations
Audio Encoder	
		GetAudioEncoderConfiguration
		GetAudioEncoderConfigurations
		GetAudioEncoderConfigurationOptions
		SetAudioEncoderConfiguration
		AddAudioEncoderConfiguration
		RemoveAudioEncoderConfiguration
		GetCompatibleAudioEncoderConfigurations
Audio Streaming	
		RTSP over UDP
		RTSP over Http
		RTSP over TCP

2. Modify GetUri for Audio & Video

#Version 3.0.00
1. Add PTZ cmds (only for Zoom)
Base	
	GetCapabilities
	GetProfiles 
	GetMetadataConfigurationOptions
	GetMetadataConfiguration
	SetMetadataConfiguration
PTZ Node
 	GetNodes
	GetNode
PTZ Configuration 	
	GetConfigurations
	GetConfiguration
	GetConfigurationOptions
	SetConfiguration
	AddPTZConfiguration
	RemovePTZConfiguration
Move Operations 	
	AbsoluteMove
	ContinuousMove
	Stop
	GetStatus
Preset operations 	
	SetPreset
	GetPresets
	GotoPreset
	RemovePreset
Home Position operations	
	GotoHomePosition
	SetHomePosition
Predefined PTZ spaces	
	AbsolutePositionSpaces
	ContinuousVelocitySpaces
	SpeedSpaces

2. fixed resolution bug of init for 6 VGA of KPL

#Version 2.0.02
1. Fix crash bug
#0  0x4017db20 in free () from /usr/src/TPL/target/tplfs-cpio/lib/libc.so.0
(gdb) bt
#0  0x4017db20 in free () from /usr/src/TPL/target/tplfs-cpio/lib/libc.so.0
#1  0x00055dd4 in DiscoveryUnicastThread (arg=0x2b02c0) at OnvifAPIs.c:861
#2  0x40012a74 in ?? ()
Backtrace stopped: frame did not save the PC
(gdb) up
#1  0x00055dd4 in DiscoveryUnicastThread (arg=0x2b02c0) at OnvifAPIs.c:861
861                             free (received_id[i]);
(gdb) list
856     static void free_received (void)
857     {
858             int i;
859             for (i = 0; i < MAX_HISTORY; i++) {
860                     if (received_id[i])
861                             free (received_id[i]);
862             }
863             last_received = 0;
864     }
865

#Version 2.0.01
1. define HAVE_PRCTL for TPL
2. Check ONVIF_STATE_RUN before create Onvif Thread

#Version 2.0.00
1. Replace all onvifcmds by sending URL CMD to Get value or Set value
	GetNetworkInterfaces
	SetNetworkInterfaces
	GetZeroConfiguration
	SetZeroConfiguration
	SystemReboot 
	GetHostname
	SetHostname
	GetDNS
	SetDNS
	GetNTP
	SetNTP
	GetNetworkProtocols
	SetNetworkProtocols
	GetSystemDateAndTime
	SetSystemDateAndTime
	SetSystemFactoryDefault
	GetDeviceInformation
	GetVideoEncoderConfigurationOptions
	SetVideoEncoderConfigurationOptions
	GetStreamUri
	GetCapabilities
	GetNetworkDefaultGateway
	SetNetworkDefaultGateway
2. It Works both on KPL & TPL.
3. Modify ThreadOnvifCreate() to receive HttpPort for sending URL cmds. 
4. Rewrite OnvifconfInit to get value by sending URL CMD. (FrameRate, DNS, Resolution...)

#Version 1.0.10
1. Modify Root value of GetUser cmd
2. Add GetSystemLog cmd
3. Modify UseCount value of VideoSourceConfiguration cmd
   Modify UseCount value of VideoEncoderConfiguration cmd 
   Modify UseCount value of MetaDataConfiguration cmd
4. Modify default value of FrameRateLimit in VideoEncoderConfiguration
5. Add PTZStatusFilterOptions into GetMetadataConfigurationOptions
6. Modify OnvifCmdSend & OnvifUrlCmdWaitReply   (add Maxlen)
7. Add VideoSourceTokensAvailable in VideoSourceConfigurationOptions
8. Modify GetNetworkInterface by URL cmd

#Version 1.0.09
1. Add search Domain name func 6.2.5
2. Modify SetDNS & GetDNS by using URL CMD
2. Modify SetHostname & GetHostname by using URL CMD

#Version 1.0.08
1. Modify SetNTP() for Set NTP from DHCP
2. Modify SetNetworkProtocols() for change RTSP status

#Version 1.0.07
1. Modify "DeleteUsers" for root
2. Modify strcpy bug

#Version 1.0.06
[Modified]
1. Add protection for loading config, especially for Event ID.
2. Modify ThreadOnvifCreate() for receving root Account & Pwd
3. Create New functin "OnvifRootAccountChange" 
4. Modify Renew time setting.

#Version 1.0.05
[Modified]
1. Firmware upgrade from old onvif.conf to new onvif.conf
   especially for video source/encoder config

#Version 1.0.04
[Modified]
1. Add video streaming method: Rtp over RTSP in OnvifAPIs.c
2. Modify ThreadOnvifClose in OnvifIF.c

#Version 1.0.03
[Modified]
1. Create OnvifCmdSend to handle url cmd
2. Replace GetUser, CreateUset, DeleteUser, SetUser by OnvifCmdSend
3. Media profile & stream uri modify
4. Event Handle (Subscribe, Unscribe, Renew, Notify, PullMessage, PullPointSubscription)
5. Metadata
6. Security Test Cases - USER TOKEN PROFILE
7. Onvif IF for Sending Msg to Onvif Thread

#Version 1.0.02
[Modified]
1. Modify the soap_handler() and add a parameter.
#Version 1.0.01
[Added]
1. Support Basic Http Authentiction in Gsoap parsing handler, only 
 the "root" account can access ONVIF commands.
[Modified]
1. Changed ONVIF funnction default config was "Disable".

#Version 1.0.00
[Added]
1.Created by Cathy
