Revision: 201033 RCL_3
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 31 Aug 2010 15:32:57 +0300
branchRCL_3
changeset 19 b5e99d8877c7
parent 18 f54bfd820e04
child 20 0dcb073356a5
Revision: 201033 Kit: 201035
ipappprotocols_plat/rtprtcp_api/inc/rtpapi.h
ipappprotocols_plat/rtprtcp_api/inc/rtpdef.h
package_definition.xml
package_definition_v2.xml
realtimenetprots/rtp/cfrtp/group/bld.inf
realtimenetprots/rtp/cfrtp/test/rtpscpr_dummy/group/dummy_cfrtp.mmp
realtimenetprots/rtp/cfrtp/test/te_cfrtp/group/te_cfrtpsuite.mmp
realtimenetprots/rtp/group/bld.inf
realtimenetprots/rtp/rtpcore/group/bld.inf
realtimenetprots/rtp/rtpcore/group/rtpcore.mmp
realtimenetprots/rtp/rtpcore/test/te_ut_rtpcollisionmgr/group/te_ut_rtpcollisionmgrsuite.mmp
realtimenetprots/rtp/rtpcore/test/trtpcore/group/trtp2.mmp
realtimenetprots/rtp/rtpcore/test/trtpsocket/group/trtpsocket.mmp
realtimenetprots/rtp/rtpcore/test/trtpsocket/src/trtpcoreserver.h
realtimenetprots/rtp/shimrtp/bwins/rtpmu.def
realtimenetprots/rtp/shimrtp/group/bld.inf
realtimenetprots/rtp/shimrtp/group/rtpremoved.mmp
realtimenetprots/rtp/shimrtp/test/rtpfilestreamer/group/rtpfilestreamer.mmp
realtimenetprots/rtp/shimrtp/test/te_rtcp/group/te_rtcpsuite.mmp
realtimenetprots/rtp/shimrtp/test/te_rtp/group/te_rtpsuite.mmp
realtimenetprots/rtp/shimrtp/test/trtp/group/trtp.mmp
realtimenetprots/sipfw/Group/bld.inf
realtimenetprots/sipfw/ProfileAgent/AlrMonitor/src/sipalrmonitor.cpp
realtimenetprots/sipfw/ProfileAgent/AlrMonitor/src/sipalrsnapmonitor.cpp
realtimenetprots/sipfw/ProfileAgent/ApnManager/src/sipapnconfigurationhandler.cpp
realtimenetprots/sipfw/ProfileAgent/ApnManager/src/sipapnmanager.cpp
realtimenetprots/sipfw/ProfileAgent/Group/sipprofileserver.mmp
realtimenetprots/sipfw/ProfileAgent/IETF_Agent/src/Sipietfprofilecontext.cpp
realtimenetprots/sipfw/ProfileAgent/IMS_Agent/Inc/sipphoneregistrationmonitor.h
realtimenetprots/sipfw/ProfileAgent/IMS_Agent/Inc/sipphoneregistrationobserver.h
realtimenetprots/sipfw/ProfileAgent/IMS_Agent/Src/Sipimsprofilecontext.cpp
realtimenetprots/sipfw/ProfileAgent/IMS_Agent/Src/Sipimsprofileusimprovider.cpp
realtimenetprots/sipfw/ProfileAgent/IMS_Agent/Src/sipphoneregistrationmonitor.cpp
realtimenetprots/sipfw/ProfileAgent/PluginMgr/Src/Sipplugindirector.cpp
realtimenetprots/sipfw/ProfileAgent/Server/Inc/SipProfileCacheItem.h
realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileCacheItem.cpp
realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileServerCore.cpp
realtimenetprots/sipfw/ProfileAgent/Server/Src/sipalrmigrationcontroller.cpp
realtimenetprots/sipfw/SIP/ConnectionMgr/src/CSipConnection.cpp
realtimenetprots/sipfw/SIP/NATTraversalController/example_plugin/group/nattraversalcontrollerexample.mmp
realtimenetprots/sipfw/SIP/NATTraversalController/example_plugin/src/dllentry.cpp
realtimenetprots/sipfw/SIP/SystemStateMonitor/example_plugin/group/sipsystemstatemonitor.mmp
realtimenetprots/sipfw/SIP/SystemStateMonitor/example_plugin/src/implementationproxy.cpp
realtimenetprots/sipfw/SampleApp/gameUI_techview/Group/ui.mmp
realtimenetprots/sipfw/SampleApp/gameengine/Group/gameengine.mmp
realtimenetprots/sipfw/SampleApp/resolverplugin/Group/resolverplugin.mmp
realtimenetprots/sipfw/SampleApp/sipengine/group/SIPExSIPEngine.mmp
realtimenetprots/sipfw/SampleApp/socketengine/Group/SIPExSocketEngine.mmp
realtimenetprots/sipfw/rom/sipsw.iby
rtp/rtpstack/bwins/rtpserviceu.def
rtp/rtpstack/eabi/rtpserviceu.def
rtp/rtpstack/inc/rtpmanager.h
rtp/rtpstack/inc/rtppacketparam.h
rtp/rtpstack/inc/rtpsession.h
rtp/rtpstack/inc/rtpsessionsrtp.h
rtp/rtpstack/inc/rtptranstream.h
rtp/rtpstack/src/rtpapi.cpp
rtp/rtpstack/src/rtpmanager.cpp
rtp/rtpstack/src/rtppacket.cpp
rtp/rtpstack/src/rtppacketparam.cpp
rtp/rtpstack/src/rtprecvstream.cpp
rtp/rtpstack/src/rtpsession.cpp
rtp/rtpstack/src/rtpsessionsrtp.cpp
rtp/rtpstack/src/rtptranstream.cpp
rtp/rtpstack/tsrc/ut_rtpstack/inc/UT_CRtpAPI.h
rtp/rtpstack/tsrc/ut_rtpstack/inc/UT_CRtpComm.h
rtp/rtpstack/tsrc/ut_rtpstack/inc/UT_CRtpManager.h
rtp/rtpstack/tsrc/ut_rtpstack/inc/UT_CRtpSDES.h
rtp/rtpstack/tsrc/ut_rtpstack/inc/UT_CRtpSession.h
rtp/rtpstack/tsrc/ut_rtpstack/inc/UT_CRtpSessionSRTP.h
rtp/rtpstack/tsrc/ut_rtpstack/inc/UT_CRtpStream.h
rtp/rtpstack/tsrc/ut_rtpstack/src/UT_CRtpAPI.cpp
rtp/rtpstack/tsrc/ut_rtpstack/src/UT_CRtpComm.cpp
rtp/rtpstack/tsrc/ut_rtpstack/src/UT_CRtpManager.cpp
rtp/rtpstack/tsrc/ut_rtpstack/src/UT_CRtpPacket.cpp
rtp/rtpstack/tsrc/ut_rtpstack/src/UT_CRtpSDES.cpp
rtp/rtpstack/tsrc/ut_rtpstack/src/UT_CRtpSession.cpp
rtp/rtpstack/tsrc/ut_rtpstack/src/UT_CRtpSessionSRTP.cpp
rtp/rtpstack/tsrc/ut_rtpstack/src/UT_CRtpStpPacket.cpp
rtp/rtpstack/tsrc/ut_rtpstack/src/UT_CRtpStream.cpp
rtp/rtpstack/tsrc/ut_rtpstack/src/UT_CRtpTranStream.cpp
rtp/rtpstack/tsrc/ut_rtpstack/stubs/inc/es_sock.h
rtp/srtpstack/inc/srtputils.h
rtp/srtpstack/tsrc/ut_srtpstack/inc/UT_CSRTPCryptoContext.h
rtp/srtpstack/tsrc/ut_srtpstack/inc/UT_CSRTPCryptoHandlerSRTCP.h
rtp/srtpstack/tsrc/ut_srtpstack/inc/UT_CSRTPCryptoHandlerSRTP.h
rtp/srtpstack/tsrc/ut_srtpstack/inc/UT_CSRTPKeyDerivation_AESCM128.h
rtp/srtpstack/tsrc/ut_srtpstack/inc/UT_CSRTPSession.h
rtp/srtpstack/tsrc/ut_srtpstack/inc/UT_CSRTPStream.h
rtp/srtpstack/tsrc/ut_srtpstack/inc/UT_CSRTPStreamIn.h
rtp/srtpstack/tsrc/ut_srtpstack/inc/UT_CSRTPStreamOut.h
rtp/srtpstack/tsrc/ut_srtpstack/inc/UT_CSrtpAuthentication_RCC.h
rtp/srtpstack/tsrc/ut_srtpstack/inc/UT_SRTPAuthentication_HMAC_SHA1.h
rtp/srtpstack/tsrc/ut_srtpstack/inc/UT_SRTPAuthentication_NULL.h
rtp/srtpstack/tsrc/ut_srtpstack/src/UT_CSRTPCryptoContext.cpp
rtp/srtpstack/tsrc/ut_srtpstack/src/UT_CSRTPCryptoHandler.cpp
rtp/srtpstack/tsrc/ut_srtpstack/src/UT_CSRTPCryptoHandlerSRTCP.cpp
rtp/srtpstack/tsrc/ut_srtpstack/src/UT_CSRTPCryptoHandlerSRTP.cpp
rtp/srtpstack/tsrc/ut_srtpstack/src/UT_CSRTPKeyDerivation_AESCM128.cpp
rtp/srtpstack/tsrc/ut_srtpstack/src/UT_CSRTPMasterKey.cpp
rtp/srtpstack/tsrc/ut_srtpstack/src/UT_CSRTPMasterSalt.cpp
rtp/srtpstack/tsrc/ut_srtpstack/src/UT_CSRTPSession.cpp
rtp/srtpstack/tsrc/ut_srtpstack/src/UT_CSRTPStream.cpp
rtp/srtpstack/tsrc/ut_srtpstack/src/UT_CSRTPStreamIn.cpp
rtp/srtpstack/tsrc/ut_srtpstack/src/UT_CSRTPStreamOut.cpp
rtp/srtpstack/tsrc/ut_srtpstack/src/UT_CSrtpAuthentication_RCC.cpp
rtp/srtpstack/tsrc/ut_srtpstack/src/UT_SRTPAuthentication_HMAC_SHA1.cpp
rtp/srtpstack/tsrc/ut_srtpstack/src/UT_SRTPAuthentication_NULL.cpp
sipplugins/group/bld.inf
sipplugins/sippdevmgmtsipadapter/tsrc/UT_CNSmlDmSIPAdapter/Group/ut_cnsmldmsipadapter.mmp
sipplugins/sippsipadapter/tsrc/ut_cwpsipadapter/group/T_SIPAdapter.mmp
sipplugins/sippsipsettingsui/inc/gssipsettingsplugin.hrh
sipplugins/sippsipsettingsui/inc/sipsettingscontainer.h
sipplugins/sippsipsettingsui/sis/sipsettingsui_stub.SIS
sipplugins/sippsipsettingsui/sis/sipsettingsui_stub.pkg
sipplugins/sippsipsettingsui/src/SIPSettIntegerSetPage.cpp
sipplugins/sippsipsettingsui/src/SipSettIntegerEditItem.cpp
sipplugins/sippsipsettingsui/src/gssipmodel.cpp
sipplugins/sippsipsettingsui/src/sipsettingscontainer.cpp
sipplugins/sippsipsettingsui/src/sipsettingsmodel.cpp
sipplugins/sippsipsettingsui/src/sipsettingsplugin.cpp
sipplugins/sippsipsettingsui/src/sipsettlistsipprofsetcontainer.cpp
sipplugins/sippsipsettingsui/src/sipsettlistsipprofsetitemlist.cpp
sipplugins/sippsipsettingsui/src/sipsettlistsipsrvsetcontainer.cpp
sipproviderplugins/sipprovider/sipconnectionplugins/group/bld.inf
sipproviderplugins/sipprovider/sipconnectionplugins/inc/SIP_subconevents.h
sipproviderplugins/sipprovider/sipconnectionplugins/inc/SIP_subconparams.h
sipproviderplugins/sipprovider/sipconnectionplugins/inc/sipconnpref.h
sipproviderplugins/sipprovider/sipdummyprt/group/bld.inf
sipproviderplugins/sipprovider/sipstatemachine/group/bld.inf
--- a/ipappprotocols_plat/rtprtcp_api/inc/rtpapi.h	Thu Aug 19 10:16:25 2010 +0300
+++ b/ipappprotocols_plat/rtprtcp_api/inc/rtpapi.h	Tue Aug 31 15:32:57 2010 +0300
@@ -334,7 +334,15 @@
                                      const TRtpSendHeader& aHeaderInfo,
                                      const TDesC8& aPayloadData,
                                      TRequestStatus& aStatus );
-
+       
+        /**
+        * Send an RTP data packet, with a given CSRC list.
+        * @param aHeaderInfo - [input] TRtpSendPktParam and CSRC list.
+        * @return KErrNone if successful; system wide error code otherwise
+        */
+        IMPORT_C TInt SendRtpPacket( const TRtpSendPktParams&  aSendPktParam, 
+                                     TArray<TRtpCSRC>   aCSRCList);
+ 
 
         /**
         * Send a non-RTP (control) data packet asynchronously
@@ -533,8 +541,30 @@
         * @return KErrNone.
         */
         IMPORT_C TInt NotInUseSetNonRTPDataObserver( );
-                                    
-
+        
+        
+        /**
+        * Register a callback object for Send RTP data packets from an RTP
+        * Session. Only one Sender callback object is allowed to be
+        * registered for one Session.
+        * MRTPPacketObserver::ReadyToSendRtpPacket function from aRtpObserver object is
+        * called when an RTP data packet is received.
+        * @param aSessionId - [input] RTP Session ID
+        * @param aRtpObserver - [input] Callback object to receive RTP packets
+        * @return KErrNone if successful; system wide error code otherwise
+        */
+        IMPORT_C TInt RegisterRtpPostProcessingObserver( TRtpId aSessionId,
+                MRtpPostProcessingObserver& aRtpObserver );
+        
+        
+        /**
+        * Unregister RTP Packet observer callback object associated with an RTP
+        * session.
+        * @param aSessionId - [input] RTP Session ID
+        * @return None
+        */
+        IMPORT_C void UnregisterRtpPostProcessingObserver( TRtpId aSessionId );
+        
     private:
         /**
         * C++ default constructor.
--- a/ipappprotocols_plat/rtprtcp_api/inc/rtpdef.h	Thu Aug 19 10:16:25 2010 +0300
+++ b/ipappprotocols_plat/rtprtcp_api/inc/rtpdef.h	Tue Aug 31 15:32:57 2010 +0300
@@ -34,6 +34,7 @@
 const TUint KMaxSdesItemSize = 255;
 const TUint KSocketBufSize = 4096;
 const TInt KMinRtpHeaderSize = 12; // 96 bits in header, 96/8 = 12
+const TInt KMaxCsrcIdentifiers = 15;
 
 // DATA TYPES
 
@@ -41,6 +42,7 @@
 const TRtpId KNullId = 0xffffffff;
 
 typedef TUint32 TRtpSSRC;       //
+typedef TUint32 TRtpCSRC;       //
 typedef TUint8 TRtpPayloadType; // payload type of the RTP packet
 typedef TUint16 TRtpSequence;   // sequence number of the RTP packet
 typedef TUint32 TRtpTimeStamp;  // timestamp of the RTP packet
@@ -55,6 +57,7 @@
 // FORWARD DECLARATIONS
 class TRtpSendHeader;
 class TRtpRecvHeader;
+class TRtpSendPktParams;
 
 // CLASS DECLARATION
 
@@ -206,6 +209,30 @@
     };
 
 
+/**
+*  Header class for sending RTP Packets
+*
+*  @lib RtpService.dll
+*/
+class TRtpSendPktParams
+    {
+public:
+    
+    TRtpSendPktParams(TRtpSendHeader &aHeaderInfo);
+
+    TRtpId iTranStreamId;           // Transtream Id
+    TRtpSendHeader  &iHeaderInfo;   // Standard fixed header of RTP packet to send.
+    TPtrC8 iPayloadData;            // Payload
+    TRequestStatus *iStatus;
+    TRtpSequence *iSequenceNum;     // Sequence Number
+    };
+
+inline TRtpSendPktParams::TRtpSendPktParams(TRtpSendHeader &aHeaderInfo) : iTranStreamId( 0 ), 
+                                                  iHeaderInfo( aHeaderInfo ),
+                                                  iStatus( 0 ),
+                                                  iSequenceNum( 0 )
+    {
+    };
 
 /**
  * An interface to the callback functions for asynchronous event
@@ -318,4 +345,23 @@
 
     };
 
+
+/**
+*  callback functions for Send RTP packets. 
+*
+*  @lib RtpService.dll
+*/
+class MRtpPostProcessingObserver
+    {
+    public:
+        /**
+        * Callback function to receive a handle to RTP packet which is ready to send.
+        * @param TRtpId aTranStreamId - Transimission stream id
+        * @param TPtr8 &aPacket -  RTP packet Ready to send
+        * @return None
+        */
+        virtual void ReadyToSendRtpPacket( TRtpId aTranStreamId, TPtr8 &aPacket ) = 0;
+
+    };
+
 #endif // __RTPDEF_H
--- a/package_definition.xml	Thu Aug 19 10:16:25 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<SystemDefinition schema="3.0.0">
-  <package id="ipappprotocols" name="IP App Protocols" levels="plugin conn server if">
-    <collection id="rtp" name="RTP" level="server">
-      <component id="rtpstack" filter="s60" name="RTP Stack">
-        <unit bldFile="rtp/rtpstack/group"/>
-        <!-- <unit bldFile="rtp/rtpstack/tsrc/ut_rtpstack/group"/> -->
-      </component>
-    </collection>
-    <collection id="sipplugins" name="SIP Plugins" level="plugin">
-      <component id="sippwlanplugin" filter="s60" name="SIP WLAN Plugin" class="plugin">
-        <unit bldFile="sipplugins/sippwlanplugin/group"/>
-      </component>
-      <component id="sippsipsettingsui" filter="s60" name="SIP Settings UI" class="plugin">
-        <unit bldFile="sipplugins/sippsipsettingsui/group"/>
-        <!-- <unit bldFile="sipplugins/sippsipsettingsui/tsrc/ut_sipsettingsui/group"/> -->
-      </component>
-      <component id="sippdevmgmtsipadapter" filter="s60" name="Device Management SIP Settings Adapter" class="plugin">
-        <unit bldFile="sipplugins/sippdevmgmtsipadapter/group"/>
-        <!-- <unit bldFile="sipplugins/sippdevmgmtsipadapter/tsrc/ut_cnsmldmsipadapter/group"/> -->
-      </component>
-      <component id="sippsystemstatemonitor" filter="s60" name="SIP System State Monitor" class="plugin">
-        <unit bldFile="sipplugins/sippsystemstatemonitor/group"/>
-      </component>
-      <component id="srtpstack" filter="s60" name="SRTP Stack">
-        <unit bldFile="rtp/srtpstack/group"/>
-        <!-- <unit bldFile="rtp/srtpstack/tsrc/ut_srtpstack/group"/> -->
-      </component>
-    </collection>
-    <collection id="realtimenetprots" name="Real Time Net Protocols" level="server">
-      <component id="symrtp" name="RTP" introduced="9.0" purpose="optional">
-        <!-- Real Time Data Protocol -->
-        <unit bldFile="realtimenetprots/rtp/group" mrp="realtimenetprots/rtp/group/mm-protocols_rtp.mrp"/>
-      </component>
-      <component id="sipfw" name="SIP Framework" introduced="9.2" purpose="optional">
-        <unit version="2" bldFile="realtimenetprots/sipfw/Group" mrp="realtimenetprots/sipfw/Group/mm-protocols_SIP2_Com.mrp"/>
-      </component>
-    </collection>
-    <collection id="sipproviderplugins" name="SIP Provider Plugins" level="conn">
-      <component id="sipprovider" name="SIP Provider" introduced="^2" purpose="optional" class="plugin">
-        <unit bldFile="sipproviderplugins/sipprovider/group" mrp="sipproviderplugins/sipprovider/group/mm-protocols_SipProvider.mrp"/>
-      </component>
-    </collection>
-    <collection id="ipappprotocols_info" name="IP App Protocols Info" level="if">
-      <component id="ipappprotocols_plat" filter="s60" name="IP App Protocols Platform Interfaces" class="api">
-        <unit bldFile="ipappprotocols_plat/group"/>
-      </component>
-      <component id="ipappprotocols_metadata" name="IP App Protocols Metadata" class="config" introduced="^2" purpose="development" target="desktop">
-        <unit mrp="ipappprotocols_info/ipappprotocols_metadata/ipappprotocols_metadata.mrp"/>
-      </component>
-    </collection>
-  </package>
-</SystemDefinition>
--- a/package_definition_v2.xml	Thu Aug 19 10:16:25 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<SystemDefinition schema="3.0.0">
-  <package id="ipappprotocols" name="IP App Protocols" levels="plugin conn server if">
-    <collection id="rtp" name="RTP" level="server">
-      <component id="rtpstack" filter="s60" name="RTP Stack">
-        <unit bldFile="rtp/rtpstack/group"/>
-        <!-- <unit bldFile="rtp/rtpstack/tsrc/ut_rtpstack/group"/> -->
-      </component>
-    </collection>
-    <collection id="sipplugins" name="SIP Plugins" level="plugin">
-      <component id="sippwlanplugin" filter="s60" name="SIP WLAN Plugin" class="plugin">
-        <unit bldFile="sipplugins/sippwlanplugin/group"/>
-      </component>
-      <component id="sippsipsettingsui" filter="s60" name="SIP Settings UI" class="plugin">
-        <unit bldFile="sipplugins/sippsipsettingsui/group"/>
-        <!-- <unit bldFile="sipplugins/sippsipsettingsui/tsrc/ut_sipsettingsui/group"/> -->
-      </component>
-      <component id="sippdevmgmtsipadapter" filter="s60" name="Device Management SIP Settings Adapter" class="plugin">
-        <unit bldFile="sipplugins/sippdevmgmtsipadapter/group"/>
-        <!-- <unit bldFile="sipplugins/sippdevmgmtsipadapter/tsrc/ut_cnsmldmsipadapter/group"/> -->
-      </component>
-      <component id="sippsystemstatemonitor" filter="s60" name="SIP System State Monitor" class="plugin">
-        <unit bldFile="sipplugins/sippsystemstatemonitor/group"/>
-      </component>
-      <component id="srtpstack" filter="s60" name="SRTP Stack">
-        <unit bldFile="rtp/srtpstack/group"/>
-        <!-- <unit bldFile="rtp/srtpstack/tsrc/ut_srtpstack/group"/> -->
-      </component>
-    </collection>
-    <collection id="realtimenetprots" name="Real Time Net Protocols" level="server">
-      <component id="symrtp" name="RTP" introduced="9.0" purpose="optional">
-        <!-- Real Time Data Protocol -->
-        <unit bldFile="realtimenetprots/rtp/group" mrp="realtimenetprots/rtp/group/mm-protocols_rtp.mrp"/>
-      </component>
-      <component id="srtp" name="Secure RTP" introduced="^4" purpose="optional">
-        <unit bldFile="realtimenetprots/srtp/group" mrp="realtimenetprots/srtp/group/mm-protocols_srtp.mrp"/>
-      </component>
-      <component id="sipfw" name="SIP Framework" introduced="9.2" purpose="optional">
-        <unit version="2" bldFile="realtimenetprots/sipfw/Group" mrp="realtimenetprots/sipfw/Group/mm-protocols_SIP2_Com.mrp"/>
-      </component>
-    </collection>
-    <collection id="sipproviderplugins" name="SIP Provider Plugins" level="conn">
-      <component id="sipprovider" name="SIP Provider" introduced="^2" purpose="optional" class="plugin">
-        <unit bldFile="sipproviderplugins/sipprovider/group" mrp="sipproviderplugins/sipprovider/group/mm-protocols_SipProvider.mrp"/>
-      </component>
-    </collection>
-    <collection id="ipappprotocols_info" name="IP App Protocols Info" level="if">
-      <component id="ipappprotocols_plat" filter="s60" name="IP App Protocols Platform Interfaces" class="api">
-        <unit bldFile="ipappprotocols_plat/group"/>
-      </component>
-      <component id="ipappprotocols_metadata" name="IP App Protocols Metadata" class="config" introduced="^2" purpose="development" target="desktop">
-        <unit mrp="ipappprotocols_info/ipappprotocols_metadata/ipappprotocols_metadata.mrp"/>
-      </component>
-    </collection>
-  </package>
-</SystemDefinition>
--- a/realtimenetprots/rtp/cfrtp/group/bld.inf	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/rtp/cfrtp/group/bld.inf	Tue Aug 31 15:32:57 2010 +0300
@@ -27,7 +27,7 @@
 ../inc/rtp_proto_id.h		SYMBIAN_MW_LAYER_PLATFORM_EXPORT_PATH(rtp_proto_id.h)
 #ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
 ../inc/rtp_subconparams.h	SYMBIAN_MW_LAYER_PLATFORM_EXPORT_PATH(rtp_subconparams.h)
-./cfrtp.iby          /epoc32/rom/include/cfrtp.iby
+./cfrtp.iby          CORE_MW_LAYER_IBY_EXPORT_PATH(cfrtp.iby)
 
 PRJ_MMPFILES
 cfrtp.mmp
--- a/realtimenetprots/rtp/cfrtp/test/rtpscpr_dummy/group/dummy_cfrtp.mmp	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/rtp/cfrtp/test/rtpscpr_dummy/group/dummy_cfrtp.mmp	Tue Aug 31 15:32:57 2010 +0300
@@ -39,10 +39,7 @@
 USERINCLUDE   ../../../inc
 
 
-SYSTEMINCLUDE  /epoc32/include/ecom
-SYSTEMINCLUDE  /epoc32/include
-SYSTEMINCLUDE  /epoc32/include/comms-infras
-SYSTEMINCLUDE  /epoc32/include/networking
+MW_LAYER_SYSTEMINCLUDE
 
 START RESOURCE A0008AA9.rss
 TARGET dummy_rtpscpr.rsc
--- a/realtimenetprots/rtp/cfrtp/test/te_cfrtp/group/te_cfrtpsuite.mmp	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/rtp/cfrtp/test/te_cfrtp/group/te_cfrtpsuite.mmp	Tue Aug 31 15:32:57 2010 +0300
@@ -33,9 +33,7 @@
 USERINCLUDE     ../../../inc
 USERINCLUDE     ../../rtpscpr_dummy/inc
 
-SYSTEMINCLUDE   /epoc32/include
-SYSTEMINCLUDE   /epoc32/include/test
-SYSTEMINCLUDE   /epoc32/include/comms-infras
+MW_LAYER_SYSTEMINCLUDE
 
 LIBRARY		testexecuteutils.lib 
 LIBRARY		testexecutelogclient.lib 
--- a/realtimenetprots/rtp/group/bld.inf	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/rtp/group/bld.inf	Tue Aug 31 15:32:57 2010 +0300
@@ -25,10 +25,10 @@
 
 
 PRJ_EXPORTS
-./rtp.iby  /epoc32/rom/include/rtp.iby
+./rtp.iby  CORE_MW_LAYER_IBY_EXPORT_PATH(rtp.iby)
 
 PRJ_TESTEXPORTS
-./te_rtp.iby  /epoc32/rom/include/te_rtp.iby
+./te_rtp.iby	/epoc32/rom/include/te_rtp.iby
 ./rtptest.xml	z:/testdata/configs/rtp/rtptest.xml
 
 
--- a/realtimenetprots/rtp/rtpcore/group/bld.inf	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/rtp/rtpcore/group/bld.inf	Tue Aug 31 15:32:57 2010 +0300
@@ -19,7 +19,7 @@
 */
 
 PRJ_EXPORTS
-./rtpcore.iby  /epoc32/rom/include/rtpcore.iby
+./rtpcore.iby  CORE_MW_LAYER_IBY_EXPORT_PATH(rtpcore.iby)
 
 PRJ_MMPFILES
 rtpcore.mmp
--- a/realtimenetprots/rtp/rtpcore/group/rtpcore.mmp	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/rtp/rtpcore/group/rtpcore.mmp	Tue Aug 31 15:32:57 2010 +0300
@@ -30,7 +30,9 @@
 VENDORID 0x70000001
 
 USERINCLUDE ../inc
-MW_LAYER_SYSTEMINCLUDE_SYMBIAN
+
+MW_LAYER_SYSTEMINCLUDE
+OS_LAYER_ESTLIB_SYSTEMINCLUDE
 
 
 SOURCEPATH ../src
@@ -53,9 +55,6 @@
 SOURCE   rtpapi.cpp
 
 
-OS_LAYER_ESTLIB_SYSTEMINCLUDE
-
-
 LIBRARY	                euser.lib esock.lib insock.lib random.lib bluetooth.lib commsfw.lib
 LIBRARY	                hal.lib
 DEBUGLIBRARY            flogger.lib
--- a/realtimenetprots/rtp/rtpcore/test/te_ut_rtpcollisionmgr/group/te_ut_rtpcollisionmgrsuite.mmp	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/rtp/rtpcore/test/te_ut_rtpcollisionmgr/group/te_ut_rtpcollisionmgrsuite.mmp	Tue Aug 31 15:32:57 2010 +0300
@@ -47,9 +47,7 @@
 USERINCLUDE   ../src
 USERINCLUDE   ../../../inc
 
-SYSTEMINCLUDE /epoc32/include
-SYSTEMINCLUDE /epoc32/include/test
-SYSTEMINCLUDE /epoc32/include/libc
+MW_LAYER_SYSTEMINCLUDE
 
 
 LIBRARY     euser.lib esock.lib insock.lib random.lib bluetooth.lib hal.lib charconv.lib
--- a/realtimenetprots/rtp/rtpcore/test/trtpcore/group/trtp2.mmp	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/rtp/rtpcore/test/trtpcore/group/trtp2.mmp	Tue Aug 31 15:32:57 2010 +0300
@@ -52,9 +52,7 @@
 USERINCLUDE 	../../../src/
 USERINCLUDE 	../../../inc/
 
-SYSTEMINCLUDE /epoc32/include
-SYSTEMINCLUDE /epoc32/include/test
-SYSTEMINCLUDE /epoc32/include/libc
+MW_LAYER_SYSTEMINCLUDE
 
 
 LIBRARY     euser.lib testexecuteutils.lib esock.lib insock.lib 
--- a/realtimenetprots/rtp/rtpcore/test/trtpsocket/group/trtpsocket.mmp	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/rtp/rtpcore/test/trtpsocket/group/trtpsocket.mmp	Tue Aug 31 15:32:57 2010 +0300
@@ -59,15 +59,7 @@
 USERINCLUDE		../../../inc
 USERINCLUDE		../../../src
 
-
-SYSTEMINCLUDE /epoc32/include
-SYSTEMINCLUDE /epoc32/include/comms-infras
-SYSTEMINCLUDE /epoc32/include/test
-SYSTEMINCLUDE /epoc32/include/libc
-
-
-
-
+MW_LAYER_SYSTEMINCLUDE
 
 LIBRARY     euser.lib testexecuteutils.lib esock.lib insock.lib
 LIBRARY		testexecutelogclient.lib netmeta.lib
--- a/realtimenetprots/rtp/rtpcore/test/trtpsocket/src/trtpcoreserver.h	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/rtp/rtpcore/test/trtpsocket/src/trtpcoreserver.h	Tue Aug 31 15:32:57 2010 +0300
@@ -124,7 +124,7 @@
   	iSSRC = 0;					// synchronization source
   	}
 
-class CRtpFixedHeader
+class CRtpFixedHeader : public CBase
    	{
    public:
    	CRtpFixedHeader(TDes8& packet);
@@ -238,7 +238,7 @@
        } specific;
    };
 
-class CRtcpPacketTest
+class CRtcpPacketTest : public CBase
    	{
    public:
    	CRtcpPacketTest(TDes8& aPacket);
--- a/realtimenetprots/rtp/shimrtp/bwins/rtpmu.def	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/rtp/shimrtp/bwins/rtpmu.def	Tue Aug 31 15:32:57 2010 +0300
@@ -112,4 +112,5 @@
 	?SetPrePostProcessingRegisterCallback@RRtpSession_Internal@@QAEXPAVMPrePostProcessingCallback@@@Z @ 111 NONAME ; void RRtpSession_Internal::SetPrePostProcessingRegisterCallback(class MPrePostProcessingCallback *)
 	?RtcpStatistics@RRtpSession_Internal@@QAEHKAAVTRtcpStatistics@@@Z @ 112 NONAME ; int RRtpSession_Internal::RtcpStatistics(unsigned long, class TRtcpStatistics &)
 	?Close@RRtpSendPacket@@QAEXXZ @ 113 NONAME ; void RRtpSendPacket::Close(void)
+	?SenderSSRC@RRtcpRRItem@@QBEIXZ @ 114 NONAME ; unsigned int RRtcpRRItem::SenderSSRC(void) const
 
--- a/realtimenetprots/rtp/shimrtp/group/bld.inf	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/rtp/shimrtp/group/bld.inf	Tue Aug 31 15:32:57 2010 +0300
@@ -21,7 +21,7 @@
 
 PRJ_EXPORTS
 
-./shimrtp.iby  /epoc32/rom/include/shimrtp.iby
+./shimrtp.iby  CORE_MW_LAYER_IBY_EXPORT_PATH(shimrtp.iby)
 ../inc/rtp.h		SYMBIAN_MW_LAYER_PUBLIC_EXPORT_PATH(rtp.h)
 #ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
 ../inc/rtpsession_internal.h	SYMBIAN_MW_LAYER_PLATFORM_EXPORT_PATH(rtpsession_internal.h)
--- a/realtimenetprots/rtp/shimrtp/group/rtpremoved.mmp	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/rtp/shimrtp/group/rtpremoved.mmp	Tue Aug 31 15:32:57 2010 +0300
@@ -36,9 +36,11 @@
 
 USERINCLUDE ../inc
 USERINCLUDE ../../rtpcore/inc
-MW_LAYER_SYSTEMINCLUDE_SYMBIAN
 USERINCLUDE   ../src/rtp
 
+MW_LAYER_SYSTEMINCLUDE
+
+
 SOURCEPATH ../src/stubs
 SOURCE events_stub.cpp  
 SOURCE receivestream_stub.cpp 
--- a/realtimenetprots/rtp/shimrtp/test/rtpfilestreamer/group/rtpfilestreamer.mmp	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/rtp/shimrtp/test/rtpfilestreamer/group/rtpfilestreamer.mmp	Tue Aug 31 15:32:57 2010 +0300
@@ -28,7 +28,9 @@
 SOURCE		demoapp.cpp
 
 USERINCLUDE	../inc
-SYSTEMINCLUDE	/epoc32/include
+
+MW_LAYER_SYSTEMINCLUDE
+
 LIBRARY		euser.lib
 LIBRARY		esock.lib
 LIBRARY		insock.lib
--- a/realtimenetprots/rtp/shimrtp/test/te_rtcp/group/te_rtcpsuite.mmp	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/rtp/shimrtp/test/te_rtcp/group/te_rtcpsuite.mmp	Tue Aug 31 15:32:57 2010 +0300
@@ -35,9 +35,7 @@
 USERINCLUDE   ../../../inc
 USERINCLUDE   ../../../src/rtp
 
-SYSTEMINCLUDE /epoc32/include
-SYSTEMINCLUDE /epoc32/include/comms-infras
-SYSTEMINCLUDE /epoc32/include/test
+MW_LAYER_SYSTEMINCLUDE
 
 //Please add your system include under here. 
 
--- a/realtimenetprots/rtp/shimrtp/test/te_rtp/group/te_rtpsuite.mmp	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/rtp/shimrtp/test/te_rtp/group/te_rtpsuite.mmp	Tue Aug 31 15:32:57 2010 +0300
@@ -33,9 +33,7 @@
 USERINCLUDE   ../src
 USERINCLUDE   ../../../inc
 
-SYSTEMINCLUDE /epoc32/include
-SYSTEMINCLUDE /epoc32/include/test
-SYSTEMINCLUDE /epoc32/include/comms-infras
+MW_LAYER_SYSTEMINCLUDE
 
 //Please add your system include under here. 
 
--- a/realtimenetprots/rtp/shimrtp/test/trtp/group/trtp.mmp	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/rtp/shimrtp/test/trtp/group/trtp.mmp	Tue Aug 31 15:32:57 2010 +0300
@@ -36,10 +36,7 @@
 SOURCE		trtpstep.cpp	
 
 
-SYSTEMINCLUDE /epoc32/include/comms-infras
-SYSTEMINCLUDE /epoc32/include
-SYSTEMINCLUDE /epoc32/include/test
-SYSTEMINCLUDE /epoc32/include/libc
+MW_LAYER_SYSTEMINCLUDE
 
 
 LIBRARY     euser.lib estlib.lib
--- a/realtimenetprots/sipfw/Group/bld.inf	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/sipfw/Group/bld.inf	Tue Aug 31 15:32:57 2010 +0300
@@ -44,8 +44,8 @@
 ../conf/sipframework_2001f889.crml   MW_LAYER_EXPORTS_CRML(sipframework_2001f889.crml)
 
 // SIP iby-files
-../rom/sipsw.iby /epoc32/rom/include/sipsw.iby
-../rom/siph2lanbearermonitor.iby /epoc32/rom/include/siph2lanbearermonitor.iby
+../rom/sipsw.iby	CORE_MW_LAYER_IBY_EXPORT_PATH(sipsw.iby)
+../rom/siph2lanbearermonitor.iby	CORE_MW_LAYER_IBY_EXPORT_PATH(siph2lanbearermonitor.iby)
 
 // SDP Codec API
 ../SDP/api/SdpAttributeField.h SYMBIAN_MW_LAYER_PUBLIC_EXPORT_PATH(sdpattributefield.h)
--- a/realtimenetprots/sipfw/ProfileAgent/AlrMonitor/src/sipalrmonitor.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/sipfw/ProfileAgent/AlrMonitor/src/sipalrmonitor.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -188,16 +188,20 @@
 //
 void CSipAlrMonitor::FreeResources ( MSipAlrObserver& aObserver )
     {
+    CSipAlrSnapMonitor* monitor= 0;
 	for ( TInt i = iSnapMonitors.Count()-1; i >= 0; i-- )
 		{
 		TBool last = iSnapMonitors[i]->DetachObserver ( aObserver );
 		if ( last ) 
 			{
-			delete iSnapMonitors[i];
-			iSnapMonitors.Remove ( i );
+            monitor = iSnapMonitors[i];
+			iSnapMonitors.Remove(i);
+			delete monitor;
+			monitor = NULL;
 			PROFILE_DEBUG1( "CSipAlrMonitor::FreeResources monitor deleted" )
 			}
 		}
+	iSnapMonitors.Compress();
     }
 
 // -----------------------------------------------------------------------------
--- a/realtimenetprots/sipfw/ProfileAgent/AlrMonitor/src/sipalrsnapmonitor.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/sipfw/ProfileAgent/AlrMonitor/src/sipalrsnapmonitor.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -300,6 +300,7 @@
 			iObservers.Remove( i );	
 			}
 		}
+	iObservers.Compress();
 
 	return iObservers.Count() == 0;
 	}
@@ -485,7 +486,7 @@
 
     DestroyMobilityAo();
     Cancel();
-    iConnection.Close();
+//    iConnection.Close();
     iMigrationAllowedByClient = EFalse;
     iConnectionActive = EFalse;
     iPreferredCarrierAvailableCalled = EFalse;
--- a/realtimenetprots/sipfw/ProfileAgent/ApnManager/src/sipapnconfigurationhandler.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/sipfw/ProfileAgent/ApnManager/src/sipapnconfigurationhandler.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -312,6 +312,7 @@
 	iIsFailed = EFalse;
 	iIsFatalFailure = EFalse;
 	iCellularDataBlocked = EFalse;
+	iApnUseSecureAuthProposal = EFalse;
 	}
 
 // -----------------------------------------------------------------------------
@@ -829,7 +830,7 @@
             if ( aIsFailed )
                 {
                 TRAP( err, SetApnL( 
-                    SecondaryApn(), ETrue, ETrue) );
+                    SecondaryApn(), EFalse, ETrue) );
                 }
             else if ( !iIsFatalFailure )
                 {
--- a/realtimenetprots/sipfw/ProfileAgent/ApnManager/src/sipapnmanager.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/sipfw/ProfileAgent/ApnManager/src/sipapnmanager.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -106,11 +106,8 @@
 // CSIPApnManager::WriteApnL
 // ----------------------------------------------------------------------------
 //
-void CSIPApnManager::WriteApnL( TUint32 aIapId, TBool aIsPrimaryApn, const TDesC8* aApn )
+void CSIPApnManager::WriteApnL( TUint32 aIapId, TBool /*aIsPrimaryApn*/, const TDesC8* aApn )
 	{
-	PROFILE_DEBUG3( "CSIPApnManager::WriteApnL isPrimary", aIsPrimaryApn )
-	TBool useSecureAuth = aIsPrimaryApn ? EFalse : ETrue;
-
 	CSIPApnConfigurationHandler* handler = FindIapIdHandler( aIapId );
 	    if (!handler)
 	        {
@@ -118,7 +115,7 @@
 	        handler = FindIapIdHandler(aIapId);
 	        }
 	    
-	    handler->SetApnL( *aApn, useSecureAuth, ETrue);
+	    handler->SetApnL( *aApn, EFalse, ETrue);
 	}
 
 // ----------------------------------------------------------------------------
--- a/realtimenetprots/sipfw/ProfileAgent/Group/sipprofileserver.mmp	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/sipfw/ProfileAgent/Group/sipprofileserver.mmp	Tue Aug 31 15:32:57 2010 +0300
@@ -94,8 +94,7 @@
 LIBRARY           commsdat.lib 
 LIBRARY           featmgr.lib
 LIBRARY 	  commdb.lib
-LIBRARY       extendedconnpref.lib  
-LIBRARY 	  netmeta.lib
+LIBRARY       extendedconnpref.lib
 
 VENDORID 0x70000001
 
--- a/realtimenetprots/sipfw/ProfileAgent/IETF_Agent/src/Sipietfprofilecontext.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/sipfw/ProfileAgent/IETF_Agent/src/Sipietfprofilecontext.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -491,7 +491,9 @@
 //	
 TBool CSIPIetfProfileContext::ShouldRetryRegistration( TInt aError )
 	{
-	return (aError == K503ServiceUnavailable || 
+	return (iProfile && 
+	        AgentObserver().ProceedRegistration(*iProfile, aError) &&
+	        (aError == K503ServiceUnavailable || 
 	        aError == K408TimeOut ||
 	        aError == K500ServerInternalError ||
 		    aError == KErrTimedOut ||
@@ -499,7 +501,7 @@
 		      aError == KErrSIPTransportFailure ||
 		      aError == KErrSIPICMPFailure ||
 		      aError == KErrSIPOutboundProxyNotResponding ) && 
-			 iConnection.State() != CSIPConnection::ESuspended));
+			 iConnection.State() != CSIPConnection::ESuspended)));
 	}
 
 // -----------------------------------------------------------------------------
@@ -562,10 +564,12 @@
         PROFILE_DEBUG3("SIPIetfProfileContext::IncomingResponse", ProfileId())
         aHandled = ETrue;
         const CSIPResponseElements* response = aTransaction.ResponseElements();
-        TUint responseCode = response->StatusCode();
+        TInt responseCode  = KErrGeneral;
         TBool retry = EFalse;
         if (response)
             {
+                responseCode = response->StatusCode();
+                
                 retry = RetryRegister( &aTransaction,  responseCode);
                 if( !retry )
                 {
--- a/realtimenetprots/sipfw/ProfileAgent/IMS_Agent/Inc/sipphoneregistrationmonitor.h	Thu Aug 19 10:16:25 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-* Name        : sipphoneregistrationmonitor.h
-* Part of     : SIP Profile Agent / SIP IMS Agent
-* Version     : %version: 2 %
-*
-*/
-
-
-
-
-/**
- @internalComponent
-*/
-
-#ifndef CSIPPHONEREGISTRATIONMONITOR_H
-#define CSIPPHONEREGISTRATIONMONITOR_H
-
-// INCLUDES
-#include <etelmm.h>
-
-// FORWARD DECLARATIONS
-class MSipPhoneRegistrationObserver;
-
-// CLASS DEFINITION
-/**
- * Monitors the status of the phone's network registration.
- * Notifies when the status changes. 
- */
-class CSipPhoneRegistrationMonitor : public CActive
-	{
-	public:
-
-        /** Phone registration status */
-        enum TStatus
-            {
-            ENotRegistered,
-            ERegisteredOnHomeNetwork,
-		    ERegisteredRoaming  
-            };
-
-		static CSipPhoneRegistrationMonitor* NewL( 
-		    RTelServer& aTelServer,
-		    const RTelServer::TPhoneInfo& aPhoneInfo,
-		    MSipPhoneRegistrationObserver& aObserver );
-
-		~CSipPhoneRegistrationMonitor();
-
-	public: // New methods
-
-		TStatus Status() const;
-
-	protected: // From CActive
-	
-		void DoCancel();
-		void RunL();
-		TInt RunError(TInt aError);
-
-	private: // Constructors
-
-		/// Constructor
-		CSipPhoneRegistrationMonitor(		 
-		    MSipPhoneRegistrationObserver& aObserver );
-		
-		/// Default constructor, not implemented.
-		CSipPhoneRegistrationMonitor();
-
-		/// 2nd phase constructor
-		void ConstructL( 
-		    RTelServer& aTelServer,
-		    const RTelServer::TPhoneInfo& aPhoneInfo );
-		
-		void MonitorStatus();
-
-	private: // Data
-
-		MSipPhoneRegistrationObserver& iObserver;
-		RMobilePhone iPhone;
-		RMobilePhone::TMobilePhoneRegistrationStatus iRegistrationStatus;
-
-
-#ifdef CPPUNIT_TEST	
-	    friend class CSIPIMSProfileAgentTest;
-#endif				
-	};
-
-#endif // CSIPPHONEREGISTRATIONMONITOR_H
--- a/realtimenetprots/sipfw/ProfileAgent/IMS_Agent/Inc/sipphoneregistrationobserver.h	Thu Aug 19 10:16:25 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-* Name        : sipphoneregistrationobserver.h
-* Part of     : SIP Profile Agent / SIP IMS Agent
-* Version     : %version: 2 %
-*
-*/
-
-
-
-
-/**
- @internalComponent
-*/
-
-#ifndef MSIPPHONEREGISTRATIONOBSERVER_H
-#define MSIPPHONEREGISTRATIONOBSERVER_H
-
-// INCLUDES
-#include <e32def.h>
-
-// CLASS DECLARATION
-/**
-* MSipPhoneRegistrationObserver defines an internal interface for observing 
-* phone's network registration status.
-*/
-class MSipPhoneRegistrationObserver
-    {
-    public: // Abstract methods
-
-        /**
-         * Called when the phone's network registration status changes.
-         */
-        virtual void PhoneRegistrationStatusChangedL() = 0;
-
-        /**
-         * Called when there is a fatal failure when monitoring
-         * the phone's network registration status.
-         * The user should delete the monitor.
-         * @param aError the failure reason
-         */
-        virtual void PhoneRegistrationStatusError( TInt aError ) = 0;
-    };
-
-#endif // MSIPPHONEREGISTRATIONOBSERVER_H
--- a/realtimenetprots/sipfw/ProfileAgent/IMS_Agent/Src/Sipimsprofilecontext.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/sipfw/ProfileAgent/IMS_Agent/Src/Sipimsprofilecontext.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -781,7 +781,9 @@
 //	
 TBool CSIPIMSProfileContext::ShouldRetryRegistration( TInt aError )
 	{
-	return (aError == K503ServiceUnavailable ||
+	return (iProfile &&
+	        AgentObserver().ProceedRegistration(*iProfile, aError) &&
+	        (aError == K503ServiceUnavailable ||
 	        aError == K408TimeOut ||
 	        aError == K480TemporarilyUnavailable ||
 	        aError == K500ServerInternalError ||
@@ -791,7 +793,7 @@
 		      aError == KErrSIPTransportFailure ||
 		      aError == KErrSIPICMPFailure ||
 		      aError == KErrSIPOutboundProxyNotResponding ) && 
-			 iConnection.State() != CSIPConnection::ESuspended));
+			 iConnection.State() != CSIPConnection::ESuspended)));
 	}
 
 // -----------------------------------------------------------------------------
--- a/realtimenetprots/sipfw/ProfileAgent/IMS_Agent/Src/Sipimsprofileusimprovider.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/sipfw/ProfileAgent/IMS_Agent/Src/Sipimsprofileusimprovider.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -402,7 +402,10 @@
 	iObserver.UpdateRegistrationsL();
   	if (!iProfileSIMRecord.PrivateIdentity().Length())
   		{   
+  		if(iAuthorization)
+  			{	
     	iAuthorization->RequestL();
+   			}
   		}
 	}
 
--- a/realtimenetprots/sipfw/ProfileAgent/IMS_Agent/Src/sipphoneregistrationmonitor.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,172 +0,0 @@
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// Name        : sipphoneregistrationmonitor.cpp
-// Part of     : SIP Profile Agent / IMS Agent
-// Version     : %version: 2 %
-//
-
-
-#include "sipphoneregistrationmonitor.h"
-#include "sipphoneregistrationobserver.h"
-
-// -----------------------------------------------------------------------------
-// CSipPhoneRegistrationMonitor::NewL
-// -----------------------------------------------------------------------------
-//
-CSipPhoneRegistrationMonitor* CSipPhoneRegistrationMonitor::NewL(
-    RTelServer& aTelServer,
-    const RTelServer::TPhoneInfo& aPhoneInfo, 
-    MSipPhoneRegistrationObserver& aObserver )
-	{
-	CSipPhoneRegistrationMonitor* self 
-	    = new( ELeave ) CSipPhoneRegistrationMonitor( aObserver );
-	CleanupStack::PushL( self );
-	self->ConstructL( aTelServer, aPhoneInfo );
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-// -----------------------------------------------------------------------------
-// CSipPhoneRegistrationMonitor::CSipPhoneRegistrationMonitor
-// -----------------------------------------------------------------------------
-//
-CSipPhoneRegistrationMonitor::CSipPhoneRegistrationMonitor( 
-    MSipPhoneRegistrationObserver& aObserver )
-	: CActive( CActive::EPriorityStandard ),
-	  iObserver( aObserver ),
-	  iRegistrationStatus( RMobilePhone::ERegistrationUnknown )
-	{
-	CActiveScheduler::Add( this );
-	}
-
-// -----------------------------------------------------------------------------
-// CSipPhoneRegistrationMonitor::ConstructL
-// -----------------------------------------------------------------------------
-//
-#ifdef __WINSCW__
-
-void CSipPhoneRegistrationMonitor::ConstructL( 
-    RTelServer& /*aTelServer*/,
-    const RTelServer::TPhoneInfo& /*aPhoneInfo*/ )
-	{
-    iRegistrationStatus = RMobilePhone::ERegisteredOnHomeNetwork;
-	}
-
-#else
-
-void CSipPhoneRegistrationMonitor::ConstructL( 
-    RTelServer& aTelServer,
-    const RTelServer::TPhoneInfo& aPhoneInfo )
-	{
-	
-	User::LeaveIfError( iPhone.Open( aTelServer, aPhoneInfo.iName ) );
-
-    // Get current status
-    TRequestStatus status;
-    iPhone.GetNetworkRegistrationStatus( status, iRegistrationStatus );	
-    User::WaitForRequest( status );
-    User::LeaveIfError( status.Int() );
-		
-    // Start to monitor the status
-    MonitorStatus();
-	}
-    
-#endif
-
-// -----------------------------------------------------------------------------
-// CSipPhoneRegistrationMonitor::~CSipPhoneRegistrationMonitor
-// -----------------------------------------------------------------------------
-//
-CSipPhoneRegistrationMonitor::~CSipPhoneRegistrationMonitor()
-	{
-	Cancel();
-	iPhone.Close();
-	}
-
-// -----------------------------------------------------------------------------
-// CSipPhoneRegistrationMonitor::Status
-// -----------------------------------------------------------------------------
-//
-CSipPhoneRegistrationMonitor::TStatus 
-CSipPhoneRegistrationMonitor::Status() const
-	{
-	TStatus status = ENotRegistered;
-	switch ( iRegistrationStatus )
-	    {
-	    case RMobilePhone::ERegisteredOnHomeNetwork:
-	        status = ERegisteredOnHomeNetwork;
-	        break;
-	    case RMobilePhone::ERegisteredRoaming:
-	        status = ERegisteredRoaming;
-	        break;
-	    default:
-	        break;
-	    }
-	return status;
-	}
-
-// -----------------------------------------------------------------------------
-// CSipPhoneRegistrationMonitor::DoCancel
-// -----------------------------------------------------------------------------
-//
-void CSipPhoneRegistrationMonitor::DoCancel()
-	{
-	iPhone.CancelAsyncRequest( 
-	    EMobilePhoneNotifyNetworkRegistrationStatusChange );
-	}
-
-// -----------------------------------------------------------------------------
-// CSipPhoneRegistrationMonitor::RunL
-// -----------------------------------------------------------------------------
-//
-void CSipPhoneRegistrationMonitor::RunL()
-	{
-	TInt err = iStatus.Int();
-	
-	if ( err )
-	    {
-	    iObserver.PhoneRegistrationStatusError( err );
-	    }
-	else
-	    {
-	    MonitorStatus();
-	    iObserver.PhoneRegistrationStatusChangedL();	
-	    }
-	}
-
-// -----------------------------------------------------------------------------
-// CSipPhoneRegistrationMonitor::RunError
-// -----------------------------------------------------------------------------
-//
-TInt CSipPhoneRegistrationMonitor::RunError(TInt aError)
-    {
-    iObserver.PhoneRegistrationStatusError( aError );
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CSipPhoneRegistrationMonitor::MonitorStatus
-// -----------------------------------------------------------------------------
-//	
-void CSipPhoneRegistrationMonitor::MonitorStatus()
-	{
-#ifndef __WINSCW__
-
-	// Request further notification from ETel
-	iPhone.NotifyNetworkRegistrationStatusChange( iStatus,
-												  iRegistrationStatus );
-	SetActive();
-	
-#endif	
-	}
--- a/realtimenetprots/sipfw/ProfileAgent/PluginMgr/Src/Sipplugindirector.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/sipfw/ProfileAgent/PluginMgr/Src/Sipplugindirector.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -305,6 +305,7 @@
 			}//if
 
 		}//for
+	iSIPProfileAgents.Compress();
 	}
 
 // -----------------------------------------------------------------------------
--- a/realtimenetprots/sipfw/ProfileAgent/Server/Inc/SipProfileCacheItem.h	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/sipfw/ProfileAgent/Server/Inc/SipProfileCacheItem.h	Tue Aug 31 15:32:57 2010 +0300
@@ -571,6 +571,8 @@
 		* Function returns the Bearer ID for the Profile. 
 		*/
 		TUint32 BearerID();
+
+		TBool HasQueuedUpdate()const;
 	private:
 
 	    /**
--- a/realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileCacheItem.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileCacheItem.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -366,6 +366,7 @@
 	if (index != KErrNotFound)
 		{
 		iObservers.Remove(index);
+		iObservers.Compress();
 		}
 
 	RemoveFromPendingObservers(aObserver);
@@ -402,6 +403,7 @@
 	if (index != KErrNotFound)
 		{
 		iUsers.Remove(index);
+		iUsers.Compress();
 		CheckProfileEnabledState();
 		}
 	}
@@ -1256,6 +1258,7 @@
 	if (index != KErrNotFound)
 		{
 		iObserversWaitedForPermission.Remove(index);
+		iObserversWaitedForPermission.Compress();
 		}
 	}
 
@@ -1416,3 +1419,14 @@
     LatestProfile().ExtensionParameter(KBearerType , bearerId);
     return bearerId;
 }
+
+// -----------------------------------------------------------------------------
+// CSIPProfileCacheItem::HasQueuedUpdate
+// This function will return true if profile updated and not yet processed
+// false otherwise 
+// -----------------------------------------------------------------------------
+//
+TBool CSIPProfileCacheItem::HasQueuedUpdate() const
+    {
+    return (iQueuedProfile != NULL);
+    }
--- a/realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileServerCore.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileServerCore.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -396,7 +396,14 @@
     	{
     	return EFalse;
     	}
-
+    
+      if((aError != KErrNone) && item->HasQueuedUpdate())
+        {
+        PROFILE_DEBUG4("ProfileServerCore::ProceedRegistration HasQueuedUpdate, err",
+			item->HasQueuedUpdate(), aError)
+        return EFalse;
+        }
+    
     if ( ShouldChangeIap(item->UsedProfile(), aError) && 
     	 !item->SnapRetryCountReached() )
         {
@@ -1546,6 +1553,7 @@
     if (index != KErrNotFound)
         {
         iObservers.Remove(index);
+        iObservers.Compress();
         }
 
     for (TInt i = 0; i < iProfileCache.Count(); i ++)
@@ -1926,6 +1934,7 @@
     if (index >= 0)
     	{
     	iProfileCache.Remove(index);
+    	iProfileCache.Compress();
     	}
 	}
 
@@ -1942,7 +1951,9 @@
 			{
 			CSipAlrMigrationController* unused = iMigrationControllers[i];
 			iMigrationControllers.Remove(i);
+			iMigrationControllers.Compress();
 			delete unused;
+			unused = NULL;
 			}
 		}
 	}
--- a/realtimenetprots/sipfw/ProfileAgent/Server/Src/sipalrmigrationcontroller.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/sipfw/ProfileAgent/Server/Src/sipalrmigrationcontroller.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -178,6 +178,7 @@
 	if (index != KErrNotFound)
 		{
 		iObservers.Remove(index);
+		iObservers.Compress();
 		}
 
 	if (iObservers.Count() == 0)
--- a/realtimenetprots/sipfw/SIP/ConnectionMgr/src/CSipConnection.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/sipfw/SIP/ConnectionMgr/src/CSipConnection.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -622,7 +622,10 @@
 	        	//Message is response. Host part will be extracted from the top
 	        	//Via header
 	            CSIPViaHeader* viaHeader = TopViaHeader( &aMessage );
-	            domainName = viaHeader->SentByHostPort().Host().AllocL();	            
+	            if(viaHeader)
+	            	{
+	            	domainName = viaHeader->SentByHostPort().Host().AllocL();	
+	            	}            
 	        }
 	        transport = static_cast<CTransportTls*>(FindTransport( aParams, 
 	        	        								SIPStrings::StringF( SipStrConsts::ETLS ),
--- a/realtimenetprots/sipfw/SIP/NATTraversalController/example_plugin/group/nattraversalcontrollerexample.mmp	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/sipfw/SIP/NATTraversalController/example_plugin/group/nattraversalcontrollerexample.mmp	Tue Aug 31 15:32:57 2010 +0300
@@ -30,8 +30,7 @@
 TARGET nattraversalcontrollerexample.rsc                                       
 END
 
-SYSTEMINCLUDE   /epoc32/include
-SYSTEMINCLUDE   /epoc32/include/ecom
+MW_LAYER_SYSTEMINCLUDE
 
 USERINCLUDE     ../src
 
--- a/realtimenetprots/sipfw/SIP/NATTraversalController/example_plugin/src/dllentry.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/sipfw/SIP/NATTraversalController/example_plugin/src/dllentry.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -18,7 +18,7 @@
 
 
 
-#include <implementationproxy.h>
+#include <ecom/implementationproxy.h>
 #include "CNATTraversalControllerExample.h"
 
 
--- a/realtimenetprots/sipfw/SIP/SystemStateMonitor/example_plugin/group/sipsystemstatemonitor.mmp	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/sipfw/SIP/SystemStateMonitor/example_plugin/group/sipsystemstatemonitor.mmp	Tue Aug 31 15:32:57 2010 +0300
@@ -33,8 +33,7 @@
 TARGET sipsystemstatemonitor.rsc                                       
 END
 
-SYSTEMINCLUDE   /epoc32/include
-SYSTEMINCLUDE   /epoc32/include/ecom
+MW_LAYER_SYSTEMINCLUDE
 
 USERINCLUDE     ../inc
 
--- a/realtimenetprots/sipfw/SIP/SystemStateMonitor/example_plugin/src/implementationproxy.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/sipfw/SIP/SystemStateMonitor/example_plugin/src/implementationproxy.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -19,7 +19,7 @@
 
 
 #include "sipsystemstatemonitorimpl.h"
-#include <ImplementationProxy.h>
+#include <ecom/ImplementationProxy.h>
 
 const TImplementationProxy ImplementationTable[] =
     {
--- a/realtimenetprots/sipfw/SampleApp/gameUI_techview/Group/ui.mmp	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/sipfw/SampleApp/gameUI_techview/Group/ui.mmp	Tue Aug 31 15:32:57 2010 +0300
@@ -58,9 +58,7 @@
 USERINCLUDE     ../../sipengine/inc
 USERINCLUDE		  ../../../SIP/Codec/inc
 
-SYSTEMINCLUDE   /epoc32/include
-SYSTEMINCLUDE	/epoc32/include/techview
-SYSTEMINCLUDE   /epoc32/include/oem
+MW_LAYER_SYSTEMINCLUDE
 
 LIBRARY         euser.lib apparc.lib cone.lib eikcore.lib
 LIBRARY         eikcoctl.lib bafl.lib 
--- a/realtimenetprots/sipfw/SampleApp/gameengine/Group/gameengine.mmp	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/sipfw/SampleApp/gameengine/Group/gameengine.mmp	Tue Aug 31 15:32:57 2010 +0300
@@ -37,7 +37,7 @@
 USERINCLUDE     ../../sipengine/inc
 USERINCLUDE	    ../../socketengine/Inc
 
-SYSTEMINCLUDE   /epoc32/include
+MW_LAYER_SYSTEMINCLUDE
 
 LIBRARY         euser.lib 
 LIBRARY         sipexsocketengine.lib
--- a/realtimenetprots/sipfw/SampleApp/resolverplugin/Group/resolverplugin.mmp	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/sipfw/SampleApp/resolverplugin/Group/resolverplugin.mmp	Tue Aug 31 15:32:57 2010 +0300
@@ -26,7 +26,7 @@
 
 USERINCLUDE 	../Inc
 
-SYSTEMINCLUDE 	/epoc32/include /epoc32/include/ecom
+MW_LAYER_SYSTEMINCLUDE
 
 START RESOURCE  ../Data/A00001EC.rss
 TARGET          sipexresolverplugin.rsc                                          
--- a/realtimenetprots/sipfw/SampleApp/sipengine/group/SIPExSIPEngine.mmp	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/sipfw/SampleApp/sipengine/group/SIPExSIPEngine.mmp	Tue Aug 31 15:32:57 2010 +0300
@@ -34,7 +34,7 @@
 
 USERINCLUDE     ../inc
 
-SYSTEMINCLUDE   /epoc32/include
+MW_LAYER_SYSTEMINCLUDE
 
 LIBRARY		    euser.lib
 LIBRARY	    	estor.lib
--- a/realtimenetprots/sipfw/SampleApp/socketengine/Group/SIPExSocketEngine.mmp	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/sipfw/SampleApp/socketengine/Group/SIPExSocketEngine.mmp	Tue Aug 31 15:32:57 2010 +0300
@@ -29,7 +29,7 @@
 
 USERINCLUDE     ../Inc
 
-SYSTEMINCLUDE   /epoc32/include
+MW_LAYER_SYSTEMINCLUDE
 
 LIBRARY         euser.lib 
 LIBRARY         esock.lib   // RSocketServ
--- a/realtimenetprots/sipfw/rom/sipsw.iby	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/sipfw/rom/sipsw.iby	Tue Aug 31 15:32:57 2010 +0300
@@ -77,7 +77,7 @@
 
 ECOM_PLUGIN(siptls.dll,siptls.rsc)
 
-#ifdef SYMBIAN_EXCLUDE_IPSEC
+#ifndef __IPSEC
 REM Feature IPSEC not included in this rom
 #else
 ECOM_PLUGIN(sipipsec.dll,sipipsec.rsc)
--- a/rtp/rtpstack/bwins/rtpserviceu.def	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/rtpstack/bwins/rtpserviceu.def	Tue Aug 31 15:32:57 2010 +0300
@@ -44,4 +44,7 @@
 	?UnregisterRtpObserver@CRtpAPI@@QAEXK@Z @ 43 NONAME ; void CRtpAPI::UnregisterRtpObserver(unsigned long)
 	?Version@CRtpAPI@@QBE?AVTVersion@@XZ @ 44 NONAME ; class TVersion CRtpAPI::Version(void) const
 	?CreateSessionL@CRtpAPI@@QAEKABVTCreateSessionParams@@AAIHPBVTRtcpParams@@AAVCSRTPSession@@@Z @ 45 NONAME ; unsigned long CRtpAPI::CreateSessionL(class TCreateSessionParams const &, unsigned int &, int, class TRtcpParams const *, class CSRTPSession &)
+	?SendRtpPacket@CRtpAPI@@QAEHABVTRtpSendPktParams@@V?$TArray@K@@@Z @ 46 NONAME ; int CRtpAPI::SendRtpPacket(class TRtpSendPktParams const &, class TArray<unsigned long>)
+	?RegisterRtpPostProcessingObserver@CRtpAPI@@QAEHKAAVMRtpPostProcessingObserver@@@Z @ 47 NONAME ; int CRtpAPI::RegisterRtpPostProcessingObserver(unsigned long, class MRtpPostProcessingObserver &)
+	?UnregisterRtpPostProcessingObserver@CRtpAPI@@QAEXK@Z @ 48 NONAME ; void CRtpAPI::UnregisterRtpPostProcessingObserver(unsigned long)
 
--- a/rtp/rtpstack/eabi/rtpserviceu.def	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/rtpstack/eabi/rtpserviceu.def	Tue Aug 31 15:32:57 2010 +0300
@@ -74,3 +74,7 @@
 	_ZTI12CRtpSendItem @ 73 NONAME ; #<TI>#
 	_ZTI15CRtpSessionSrtp @ 74 NONAME ; #<TI>#
 	_ZTV15CRtpSessionSrtp @ 75 NONAME ; #<VT>#
+	_ZN7CRtpAPI13SendRtpPacketERK17TRtpSendPktParams6TArrayImE @ 76 NONAME
+	_ZN7CRtpAPI33RegisterRtpPostProcessingObserverEmR26MRtpPostProcessingObserver @ 77 NONAME
+	_ZN7CRtpAPI35UnregisterRtpPostProcessingObserverEm @ 78 NONAME
+
--- a/rtp/rtpstack/inc/rtpmanager.h	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/rtpstack/inc/rtpmanager.h	Tue Aug 31 15:32:57 2010 +0300
@@ -135,24 +135,31 @@
         TInt RegisterRtpObserver( TRtpId aSessionId, MRtpObserver& aObserver );
 
         void UnregisterRtpObserver( TRtpId aSessionId );
+        
+        TInt RegisterRtpPostProcessingObserver( TRtpId aSessionId, MRtpPostProcessingObserver& aRtpObserver );
+
+        void UnregisterRtpPostProcessingObserver( TRtpId aSessionId );
 
         TInt SetNonRTPDataObserver( TRtpId aSessionId, 
                                     MNonRTPDataObserver* aNonRTPDataObserver );
         
         TInt SendRtpPacket( TRtpId aTranStreamId, 
                             const TRtpSendHeader& aHeaderInfo, 
-                            const TDesC8& aPayloadData );
+                            const TDesC8& aPayloadData,
+                            const TArray<TRtpCSRC> *aCsrcList = NULL );
 
         TInt SendRtpPacket( TRtpId aTranStreamId,
                             const TRtpSendHeader& aHeaderInfo,
                             const TDesC8& aPayloadData,
-                            TRequestStatus& aStatus );
+                            TRequestStatus& aStatus,
+                            const TArray<TRtpCSRC> *aCsrcList = NULL );
 
         TInt SendRtpPacket( TRtpId aTranStreamId,
                             TRtpSequence aSequenceNum,
                             const TRtpSendHeader& aHeaderInfo,
                             const TDesC8& aPayloadData,
-                            TRequestStatus& aStatus );
+                            TRequestStatus& aStatus,
+                            const TArray<TRtpCSRC> *aCsrcList = NULL );
 
         void SendDataL( TRtpId aSessionId,
                        TBool aUseRTPSocket,
--- a/rtp/rtpstack/inc/rtppacketparam.h	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/rtpstack/inc/rtppacketparam.h	Tue Aug 31 15:32:57 2010 +0300
@@ -184,6 +184,7 @@
                 TUint32* CSRCarray;
                 TUint8* payloadData;
                 TInt payloadDataLen;
+                const TArray<TRtpCSRC> *iCsrcList;
              
              public://Nested class
                /**
--- a/rtp/rtpstack/inc/rtpsession.h	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/rtpstack/inc/rtpsession.h	Tue Aug 31 15:32:57 2010 +0300
@@ -108,16 +108,20 @@
 
         TInt RegisterRtpObserver( MRtpObserver& aObserver );
         void UnregisterRtpObserver();
+        
+        TInt RegisterRtpPostProcessingObserver( MRtpPostProcessingObserver& aObserver );
+        void UnregisterRtpPostProcessingObserver();
 
         TInt SetNonRTPDataObserver( MNonRTPDataObserver* aNonRTPDataObserver );
 
         TInt SendRtpPacket( TRtpId aTranStreamId, const TRtpSendHeader& aHeaderInfo, 
-                            const TDesC8& aPayloadData );
+                            const TDesC8& aPayloadData, const TArray<TRtpCSRC> *aCsrcList = NULL );
 
         TInt SendRtpPacket( TRtpId aTranStreamId,
                             const TRtpSendHeader& aHeaderInfo,
                             const TDesC8& aPayloadData,
-                            TRequestStatus& aStatus );
+                            TRequestStatus& aStatus,
+                            const TArray<TRtpCSRC> *aCsrcList = NULL );
 
         TInt SendRtpPacket( const TRtpSendHeader& aHeaderInfo, const TDesC8& aPayloadData );
 
@@ -128,7 +132,8 @@
                             TRtpSequence aSequenceNum,
                             const TRtpSendHeader& aHeaderInfo,
                             const TDesC8& aPayloadData,
-                            TRequestStatus& aStatus );
+                            TRequestStatus& aStatus,
+                            const TArray<TRtpCSRC> *aCsrcList = NULL );
 
         void SendData( TBool aUseRTPSocket,
                             const TDesC8& aData, 
@@ -162,6 +167,8 @@
         * disabled; system wide error code otherwise
         */
         TInt IsRtcpSendingSuspended( TBool& aAutoSending );
+        
+        void ReadyToSendRtpPacket(TRtpId aTranStreamId);
 
     public: // from MSsrcCheckCallback
         /**
@@ -454,6 +461,7 @@
         MNonRTPDataObserver* iNonRTPDataObserver;
         MRtpErrNotify& iErrNotify;
         MRtpAsignUniqueID& iAssignUniqueID;
+        MRtpPostProcessingObserver* iRtpPacketObserver;
         
         
         TBool iSessionStarted;
--- a/rtp/rtpstack/inc/rtpsessionsrtp.h	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/rtpstack/inc/rtpsessionsrtp.h	Tue Aug 31 15:32:57 2010 +0300
@@ -55,19 +55,21 @@
         ~CRtpSessionSrtp();
 
         TInt SendRtpPacket( TRtpId aTranStreamId, const TRtpSendHeader& aHeaderInfo, 
-                            const TDesC8& aPayloadData );
+                            const TDesC8& aPayloadData, const TArray<TRtpCSRC> *aCsrcList = NULL );
 
         TInt SendRtpPacket( TRtpId aTranStreamId,
                             const TRtpSendHeader& aHeaderInfo,
                             const TDesC8& aPayloadData,
-                            TRequestStatus& aStatus );
+                            TRequestStatus& aStatus,
+                            const TArray<TRtpCSRC> *aCsrcList = NULL);
 
         
         TInt SendRtpPacket( TRtpId aTranStreamId,
                             TRtpSequence aSequenceNum,
                             const TRtpSendHeader& aHeaderInfo,
                             const TDesC8& aPayloadData,
-                            TRequestStatus& aStatus );
+                            TRequestStatus& aStatus,
+                            const TArray<TRtpCSRC> *aCsrcList = NULL );
 
         //TInt SendRtcpByePacket( TRtpId aTranStreamId, const TDesC8& aReason );
         //TInt SendRtcpAppPacket( TRtpId aTranStreamId, const TRtcpApp& aApp );
--- a/rtp/rtpstack/inc/rtptranstream.h	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/rtpstack/inc/rtptranstream.h	Tue Aug 31 15:32:57 2010 +0300
@@ -49,7 +49,8 @@
                              const TDesC8& aPayloadData,
                              TRtpSequence aSeqNum,
                              TBool aSetSeqNum,
-                             CRtpPacket* aPktSnd );
+                             CRtpPacket* aPktSnd,
+                             const TArray<TRtpCSRC> *aCsrcList = NULL);
 
         TInt BuildRtcpBYEPacket( const TDesC8& aReason,
                                  CRtpPacket* aPktRtcpSnd );
--- a/rtp/rtpstack/src/rtpapi.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/rtpstack/src/rtpapi.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -389,6 +389,56 @@
     {
     return iManager->SendRtpPacket( aTranStreamId, aHeaderInfo, aPayloadData, aStatus );
     }
+	
+
+// ---------------------------------------------------------------------------
+// TInt CRtpAPI::RegisterRtpPostProcessingObserver()
+// 
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TInt CRtpAPI::RegisterRtpPostProcessingObserver( TRtpId aSessionId,
+                                    MRtpPostProcessingObserver& aRtpPacketObserver )
+    {
+    return iManager->RegisterRtpPostProcessingObserver( aSessionId, aRtpPacketObserver );
+    }
+
+
+// ---------------------------------------------------------------------------
+// CRtpAPI::UnregisterRtpPostProcessingObserver()
+// 
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CRtpAPI::UnregisterRtpPostProcessingObserver( TRtpId aSessionId )
+    {
+    iManager->UnregisterRtpPostProcessingObserver( aSessionId );
+    }   
+
+
+// ---------------------------------------------------------------------------
+// TInt CRtpAPI::SendRtpPacket()
+// 
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TInt CRtpAPI::SendRtpPacket(const TRtpSendPktParams& aSendPktParam , TArray<TRtpCSRC> aCSRCList)
+    {
+    if(!aSendPktParam.iStatus)
+        {
+		//SYNC Version
+        return iManager->SendRtpPacket( aSendPktParam.iTranStreamId, aSendPktParam.iHeaderInfo, 
+                                              aSendPktParam.iPayloadData, &aCSRCList );
+        }
+    else if (!aSendPktParam.iSequenceNum) //ASYNC Versions With and Without SEQ Number
+        {
+        return iManager->SendRtpPacket( aSendPktParam.iTranStreamId, aSendPktParam.iHeaderInfo, 
+                                              aSendPktParam.iPayloadData, *aSendPktParam.iStatus, &aCSRCList  );
+        }
+    else
+        {
+        return iManager->SendRtpPacket( aSendPktParam.iTranStreamId, *aSendPktParam.iSequenceNum, aSendPktParam.iHeaderInfo, 
+                                              aSendPktParam.iPayloadData, *aSendPktParam.iStatus, &aCSRCList );
+        }
+    }
+
 
 // ---------------------------------------------------------------------------
 // TInt CRtpAPI::SendData()
--- a/rtp/rtpstack/src/rtpmanager.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/rtpstack/src/rtpmanager.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -721,6 +721,47 @@
     return result;
     }
 
+
+// ---------------------------------------------------------------------------
+// TInt CRtpManager::RegisterRtpPostProcessingObserver()
+//
+// ---------------------------------------------------------------------------
+//
+TInt CRtpManager::RegisterRtpPostProcessingObserver( TRtpId aSessionId, MRtpPostProcessingObserver& aRtpPacketObserver )
+    {
+    CRtpSession* session = GetSession( aSessionId ); 
+    TInt result( KErrGeneral );
+    if ( session )
+        {
+        result = session->RegisterRtpPostProcessingObserver( aRtpPacketObserver );
+        }
+    else
+        {
+        RTP_DEBUG_DETAIL( "CRtpManager::RegisterRtpPostProcessingObserver, Session not found" );
+        }
+    return result;
+    }
+
+
+// ---------------------------------------------------------------------------
+// CRtpManager::UnregisterRtpPostProcessingObserver()
+//
+// ---------------------------------------------------------------------------
+//
+void CRtpManager::UnregisterRtpPostProcessingObserver( TRtpId aSessionId )
+    {
+    CRtpSession* session = GetSession( aSessionId ); 
+
+    if ( session )
+        {
+        session->UnregisterRtpPostProcessingObserver();
+        }
+    else
+        {
+        RTP_DEBUG_DETAIL( "CRtpManager::UnregisterRtpPostProcessingObserver, Session not found" );
+        }
+    }
+    
 // ---------------------------------------------------------------------------
 // CRtpManager::UnregisterRtpObserver()
 //
@@ -773,7 +814,8 @@
 //
 TInt CRtpManager::SendRtpPacket( TRtpId aTranStreamId,
                                  const TRtpSendHeader& aHeaderInfo, 
-                                 const TDesC8& aPayloadData )
+                                 const TDesC8& aPayloadData,
+                                 const TArray<TRtpCSRC> *aCsrcList)
     {
     CRtpSession* rtpSession = GetSession( aTranStreamId );
 
@@ -786,13 +828,13 @@
             	
  		        return static_cast<CRtpSessionSrtp*>
  		        	(rtpSession)->SendRtpPacket( aTranStreamId, aHeaderInfo,
-                                             	 aPayloadData );
+                                             	 aPayloadData, aCsrcList );
  	
             	}
             else
             	{
             	return rtpSession->SendRtpPacket( aTranStreamId, aHeaderInfo,
-             		                                 aPayloadData );
+             		                                 aPayloadData, aCsrcList );
             	}
             }
         else
@@ -815,7 +857,8 @@
 TInt CRtpManager::SendRtpPacket( TRtpId aTranStreamId,
                                  const TRtpSendHeader& aHeaderInfo,
                                  const TDesC8& aPayloadData,
-                                 TRequestStatus& aStatus )
+                                 TRequestStatus& aStatus,
+                                 const TArray<TRtpCSRC> *aCsrcList)
     {
     CRtpSession* rtpSession = GetSession( aTranStreamId ); 
 
@@ -828,13 +871,13 @@
             	
  		        return static_cast<CRtpSessionSrtp*>
  		        	(rtpSession)->SendRtpPacket( aTranStreamId, aHeaderInfo,
-                                              aPayloadData, aStatus );
+                                              aPayloadData, aStatus, aCsrcList );
  	
             	}
             else
             	{
             	return rtpSession->SendRtpPacket( aTranStreamId, aHeaderInfo,
-                                              aPayloadData, aStatus );
+                                              aPayloadData, aStatus, aCsrcList );
             	}
            
             }
@@ -860,7 +903,8 @@
                                  TRtpSequence aSequenceNum,
                                  const TRtpSendHeader& aHeaderInfo,
                                  const TDesC8& aPayloadData,
-                                 TRequestStatus& aStatus )
+                                 TRequestStatus& aStatus,
+                                 const TArray<TRtpCSRC> *aCsrcList )
     {
     CRtpSession* rtpSession = GetSession( aTranStreamId ); 
     TInt result( KErrNone );
@@ -874,14 +918,14 @@
 	 		        result = static_cast<CRtpSessionSrtp*>
 	 		        	(rtpSession)->SendRtpPacket( aTranStreamId, aSequenceNum,
 	                                              aHeaderInfo, aPayloadData,
-	                                              aStatus );
+	                                              aStatus, aCsrcList );
 	 	
 	            	}
 	            else
 	            	{
 	            	result =  rtpSession->SendRtpPacket( aTranStreamId, aSequenceNum,
 	                                              aHeaderInfo, aPayloadData,
-	                                              aStatus );
+	                                              aStatus, aCsrcList );
 	            	}	            
 	            
 	            }
--- a/rtp/rtpstack/src/rtppacket.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/rtpstack/src/rtppacket.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -123,8 +123,8 @@
      *                          *
      *    2 bit = version       *
      *    1 bit = padding       *
-     *    1 bit = CRSRC Count   *
-     *    4 bit = extension     *
+     *    1 bit = extension     *
+     *    4 bit = CRSRC Count   *
      ****************************/
     
     //version (2 bit)
@@ -143,13 +143,17 @@
         dataP[0] |= ( 1 << 4 );
         }
 
-    // CC = 0 (1 bit)
+    // CC 4 bit)
+    if( aInitParam->TRTP.numCSRC)
+        {
+        dataP[0] |= aInitParam->TRTP.numCSRC;
+        }
     
     /****************************
      * dataP[1] = 8 bit         *
      *                          *
      *    1 bit = marker        *
-     *    1 bit = payload type  *
+     *    7 bits = payload type  *
      ****************************/
     
     // marker (1 bit)
@@ -182,6 +186,15 @@
 
     //set the pointer to point to the first bit after SSRC
     dataP += 4;
+    
+    
+    //Set CSRC if Present
+    for(TInt count = 0; count<aInitParam->TRTP.numCSRC; count++)
+        {
+        Write32( dataP, (*aInitParam->TRTP.iCsrcList)[count]);
+        dataP += 4;
+        }
+    
 
     if ( aInitParam->TRTP.fHeaderExtension )
         {
@@ -675,7 +688,7 @@
         // Originally Allocate memory for all CSRC:s
         //it will have memeory resouce problem so only allocate when
         // CSRC<2
-        if ( aExtractParam->TRTP.numCSRC < KCSRCListMax )
+        if ( aExtractParam->TRTP.numCSRC <= KCSRCListMax )
         	{
         	if ( !aExtractParam->TRTP.CSRCarray )
 	        	{
--- a/rtp/rtpstack/src/rtppacketparam.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/rtpstack/src/rtppacketparam.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -115,6 +115,7 @@
     CSRCarray( NULL ),
     payloadData( NULL ),
     payloadDataLen( 0 ),
+	iCsrcList(0),
     extension()
     {
     }
--- a/rtp/rtpstack/src/rtprecvstream.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/rtpstack/src/rtprecvstream.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -241,6 +241,11 @@
     iHdr.iPadding = extractParam.TRTP.padding;
     iHdr.iExtension = extractParam.TRTP.fHeaderExtension;
     iHdr.iCsrcCount = extractParam.TRTP.numCSRC;
+    
+    if ( iHdr.iCsrcCount )
+        {
+        iHdr.iCsrcList = extractParam.TRTP.CSRCarray;
+        }
 
     iHdr.iMarker = extractParam.TRTP.marker;
     iHdr.iTimestamp = streamParam.TRTP.timeStamp;
--- a/rtp/rtpstack/src/rtpsession.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/rtpstack/src/rtpsession.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -573,6 +573,23 @@
             }
     }
 
+
+// ---------------------------------------------------------------------------
+// TInt CRtpSession::ReadyToSendRtpPacket()
+// 
+// ---------------------------------------------------------------------------
+//
+void CRtpSession::ReadyToSendRtpPacket(TRtpId aTranStreamId)
+    {
+    if ( iRtpPacketObserver )
+        {
+        RTP_DEBUG_DETAIL("Giving ReadyToSendRtpPacket() Call Back " );
+        TPtr8 pktPtr(iPktSnd->Data(), iPktSnd->Size(), iPktSnd->Size());
+        iRtpPacketObserver->ReadyToSendRtpPacket( aTranStreamId , pktPtr );
+        }   
+    }
+
+
 // ---------------------------------------------------------------------------
 // TInt CRtpSession::SendRtpPacket()
 // 
@@ -580,7 +597,8 @@
 //
 TInt CRtpSession::SendRtpPacket( TRtpId aTranStreamId,
                                  const TRtpSendHeader& aHeaderInfo, 
-                                 const TDesC8& aPayloadData )
+                                 const TDesC8& aPayloadData,
+                                 const TArray<TRtpCSRC> *aCsrcList )
     {
     if ( static_cast<TUint> (aPayloadData.Size()) > iCommNet->MaxSocketSize() )
     	{
@@ -595,12 +613,16 @@
         {
         CRtpTranStream* tempStream = ( CRtpTranStream* ) streamAddress;
         tempStream->BuildRtpPacket( aHeaderInfo, aPayloadData, 0, EFalse,
-                                    iPktSnd );
+                                    iPktSnd, aCsrcList );
+        
+        ReadyToSendRtpPacket(aTranStreamId);
+        
         ret = iCommNet->Send( ERTPPort, iPktSnd->Des() );
         }
     return ret;
     }
 
+
 // ---------------------------------------------------------------------------
 // TInt CRtpSession::SendRtpPacket()
 // 
@@ -609,7 +631,8 @@
 TInt CRtpSession::SendRtpPacket( TRtpId aTranStreamId,
                                  const TRtpSendHeader& aHeaderInfo,
                                  const TDesC8& aPayloadData,
-                                 TRequestStatus& aStatus )
+                                 TRequestStatus& aStatus,
+                                 const TArray<TRtpCSRC> *aCsrcList )
     {
     if ( static_cast<TUint>( aPayloadData.Size() ) > iCommNet->MaxSocketSize() )
     	{
@@ -625,7 +648,10 @@
         CRtpTranStream* tempStream =
             reinterpret_cast<CRtpTranStream*>( streamAddress );
         tempStream->BuildRtpPacket( aHeaderInfo, aPayloadData, 0, EFalse,
-                                    iPktSnd );
+                                    iPktSnd, aCsrcList );
+									
+        ReadyToSendRtpPacket(aTranStreamId);
+			
         iCommNet->Send( ERTPPort, iPktSnd->Des(), aStatus );
         }
     return ret;
@@ -707,7 +733,8 @@
                                  TRtpSequence aSequenceNum,
                                  const TRtpSendHeader& aHeaderInfo,
                                  const TDesC8& aPayloadData,
-                                 TRequestStatus& aStatus )
+                                 TRequestStatus& aStatus,
+                                 const TArray<TRtpCSRC> *aCsrcList )
     {
     if ( static_cast<TUint>( aPayloadData.Size() ) > iCommNet->MaxSocketSize() )
     	{
@@ -723,7 +750,10 @@
         CRtpTranStream* tempStream =
             reinterpret_cast<CRtpTranStream*>( streamAddress );
         tempStream->BuildRtpPacket( aHeaderInfo, aPayloadData, aSequenceNum,
-                                    ETrue, iPktSnd );
+                                    ETrue, iPktSnd, aCsrcList );
+        
+        ReadyToSendRtpPacket(aTranStreamId);								
+									
         iCommNet->Send( ERTPPort, iPktSnd->Des(), aStatus );
         }
     return ret;
@@ -1146,6 +1176,29 @@
         }                   
     }
 
+
+// ---------------------------------------------------------------------------
+// TInt CRtpSession::RegisterRtpPostProcessingObserver()
+// 
+// ---------------------------------------------------------------------------
+//
+TInt CRtpSession::RegisterRtpPostProcessingObserver( MRtpPostProcessingObserver& aRTPPacketObserver )
+    {
+    iRtpPacketObserver = &aRTPPacketObserver;  
+    
+    return KErrNone;
+    }
+
+// ---------------------------------------------------------------------------
+// CRtpSession::UnregisterRtpPostProcessingObserver()
+// 
+// ---------------------------------------------------------------------------
+//
+void CRtpSession::UnregisterRtpPostProcessingObserver()
+    {
+    iRtpPacketObserver = NULL;
+    }
+
 // ---------------------------------------------------------------------------
 // TInt CRtpSession::RegisterRtcpObserver()
 // 
--- a/rtp/rtpstack/src/rtpsessionsrtp.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/rtpstack/src/rtpsessionsrtp.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -117,7 +117,8 @@
             
 TInt CRtpSessionSrtp::SendRtpPacket( TRtpId aTranStreamId, 
 						const TRtpSendHeader& aHeaderInfo, 
-                        const TDesC8& aPayloadData )
+                        const TDesC8& aPayloadData,
+                        const TArray<TRtpCSRC> *aCsrcList )
 	{
     if ( static_cast<TUint> (aPayloadData.Size()) > iCommNet->MaxSocketSize() )
     	{
@@ -132,7 +133,7 @@
         {
         CRtpTranStream* tempStream = ( CRtpTranStream* ) streamAddress;
         tempStream->BuildRtpPacket( aHeaderInfo, aPayloadData, 0, EFalse,
-                                    iPktSnd );
+                                    iPktSnd, aCsrcList );
  
 		if(iSndPacket)
 			{
@@ -159,7 +160,8 @@
 TInt CRtpSessionSrtp::SendRtpPacket( TRtpId aTranStreamId,
                             const TRtpSendHeader& aHeaderInfo,
                             const TDesC8& aPayloadData,
-                            TRequestStatus& aStatus )
+                            TRequestStatus& aStatus,
+                            const TArray<TRtpCSRC> *aCsrcList )
 	{
 	if ( static_cast<TUint> (aPayloadData.Size()) > iCommNet->MaxSocketSize() )
     	{
@@ -174,7 +176,7 @@
         {
         CRtpTranStream* tempStream = ( CRtpTranStream* ) streamAddress;
         tempStream->BuildRtpPacket( aHeaderInfo, aPayloadData, 0, EFalse,
-                                    iPktSnd );
+                                    iPktSnd, aCsrcList );
         if(iSndPacket)
         	{
         	delete iSndPacket;
@@ -202,7 +204,8 @@
                             TRtpSequence aSequenceNum,
                             const TRtpSendHeader& aHeaderInfo,
                             const TDesC8& aPayloadData,
-                            TRequestStatus& aStatus )
+                            TRequestStatus& aStatus,
+                            const TArray<TRtpCSRC> *aCsrcList )
 	{
     if ( static_cast<TUint>( aPayloadData.Size() ) > iCommNet->MaxSocketSize() )
     	{
@@ -218,7 +221,7 @@
         CRtpTranStream* tempStream =
             reinterpret_cast<CRtpTranStream*>( streamAddress );
         tempStream->BuildRtpPacket( aHeaderInfo, aPayloadData, aSequenceNum,
-                                    ETrue, iPktSnd );
+                                    ETrue, iPktSnd, aCsrcList );
         if(iSndPacket)
         	{
         	delete iSndPacket;
--- a/rtp/rtpstack/src/rtptranstream.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/rtpstack/src/rtptranstream.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -187,7 +187,8 @@
                                      const TDesC8& aPayloadData,
                                      TRtpSequence aSeqNum,
                                      TBool aSetSeqNum,
-                                     CRtpPacket* aPktSnd )
+                                     CRtpPacket* aPktSnd,
+                                     const TArray<TRtpCSRC> *aCsrcList)
     {
     TRtpPacketStreamParam streamParam;
     TRtpPacketIOParam inParam;
@@ -234,6 +235,21 @@
 
     inParam.TRTP.payloadData = const_cast<TUint8*>( aPayloadData.Ptr() );
     inParam.TRTP.payloadDataLen = aPayloadData.Length();
+    
+    if(aCsrcList && aCsrcList->Count())
+        {
+        // Maxm 15 CSRC identifiers will be supported
+        if( aCsrcList->Count() <= KMaxCsrcIdentifiers )
+            {
+            inParam.TRTP.numCSRC = (TUint8)aCsrcList->Count();
+            }
+        else
+            {
+            inParam.TRTP.numCSRC = KMaxCsrcIdentifiers;
+            }
+        
+        inParam.TRTP.iCsrcList = aCsrcList;
+        }
 
     streamParam.TRTP.payload = aHeaderInfo.iPayloadType;
 
--- a/rtp/rtpstack/tsrc/ut_rtpstack/inc/UT_CRtpAPI.h	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/rtpstack/tsrc/ut_rtpstack/inc/UT_CRtpAPI.h	Tue Aug 31 15:32:57 2010 +0300
@@ -65,7 +65,8 @@
      public MRtpObserver,
      public MNonRTPDataObserver,
      public MRtcpObserver,
-      public MSRTPReKeyingObserver
+     public MSRTPReKeyingObserver,
+     public MRtpPostProcessingObserver
     {
     public:     // Constructors and destructors
 
@@ -103,6 +104,8 @@
 		void SRTPMasterKeyStaleEvent(const CSRTPSession&  aSession);
 		void SRTPMasterKeyStaleEvent(const CSRTPStream&  aStream);
 		
+        void ReadyToSendRtpPacket( TRtpId aTranStreamId, TPtr8 &aPacket );
+		
     private:    // New methods
 
          void SetupL();
@@ -119,7 +122,7 @@
          void UT_CRtpAPI_StartConnectionL();
         
         
-         void UT_CRtpAPI_StartConnection_1L();
+         void UT_CRtpAPI_StartConnection_OneL();
         
         
          void UT_CRtpAPI_CancelStartL();
@@ -180,7 +183,7 @@
         
          void UT_CRtpAPI_SendRtpPacket_2L();
         
-         void UT_CRtpAPI_SendRtpPacket_3L();	
+         void UT_CRtpAPI_SendRtpPacket_ThreeL();	
         
          void UT_CRtpAPI_SendDataLL();
         
@@ -240,7 +243,12 @@
         
         
          void UT_CRtpAPI_VersionL();
-        
+         
+         void UT_CRtpAPI_RegisterRtpPostProcessingObserverL();
+         
+         void UT_CRtpAPI_SendRtpPacketWithCSRCL();
+         
+         void UT_CRtpAPI_UnregisterRtpPostProcessingObserverL();
 
     private:    // Data
 
@@ -256,8 +264,9 @@
 		TBuf8<32>       iMKI;
 		TBuf8<32> iRFC3711_TestMasterKey128bits;	     
 	    TBuf8<32> iRFC3711_TestMasterSalt112bits;
-	           TBuf8<32>       iSalt;
+	    TBuf8<32>       iSalt;
         TBuf8<32>       iKey;
+        TBool iIsCallBackReceived;
     };
 
 #endif      //  __UT_CRTPAPI_H__
--- a/rtp/rtpstack/tsrc/ut_rtpstack/inc/UT_CRtpComm.h	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/rtpstack/tsrc/ut_rtpstack/inc/UT_CRtpComm.h	Tue Aug 31 15:32:57 2010 +0300
@@ -124,7 +124,7 @@
          
          void UT_CRtpComm_CommReceiveL(  );
          
-         void UT_CRtpComm_MaxSocketSize();
+         void UT_CRtpComm_MaxSocketSizeL();
          
     private:
     	static TInt StopScheduler( TAny* aThis );
--- a/rtp/rtpstack/tsrc/ut_rtpstack/inc/UT_CRtpManager.h	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/rtpstack/tsrc/ut_rtpstack/inc/UT_CRtpManager.h	Tue Aug 31 15:32:57 2010 +0300
@@ -98,9 +98,9 @@
          void UT_CRtpManager_StartConnectionL();
         
         
-         void UT_CRtpManager_StartConnection_1L();
+         void UT_CRtpManager_StartConnection_OneL();
         
-         void UT_CRtpManager_StartConnection_2L();
+         void UT_CRtpManager_StartConnection_TwoL();
         
          void UT_CRtpManager_CancelStartL();
         
--- a/rtp/rtpstack/tsrc/ut_rtpstack/inc/UT_CRtpSDES.h	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/rtpstack/tsrc/ut_rtpstack/inc/UT_CRtpSDES.h	Tue Aug 31 15:32:57 2010 +0300
@@ -74,7 +74,7 @@
          void UT_CRtpSDES_NewLL();
         
         
-         void UT_CRtpSDES_NewL_1L();
+         void UT_CRtpSDES_NewL_OneL();
         
         
          void UT_CRtpSDES_GetSDESL();
--- a/rtp/rtpstack/tsrc/ut_rtpstack/inc/UT_CRtpSession.h	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/rtpstack/tsrc/ut_rtpstack/inc/UT_CRtpSession.h	Tue Aug 31 15:32:57 2010 +0300
@@ -158,10 +158,10 @@
          void UT_CRtpSession_SendRtpPacketL();
         
         
-         void UT_CRtpSession_SendRtpPacket_1L();
+         void UT_CRtpSession_SendRtpPacket_OneL();
         
         
-         void UT_CRtpSession_SendRtpPacket_2L();
+         void UT_CRtpSession_SendRtpPacket_TwoL();
         
         
          void UT_CRtpSession_SendRtpPacket_3L();
@@ -243,7 +243,7 @@
         
          void UT_CRtpSession_OnExpiredL();
         
-         void UT_CRtpSession_ScheduleRtcpSend();
+         void UT_CRtpSession_ScheduleRtcpSendL();
         
          void UT_CRtpSession_OnRtpReceivedLL();
         
--- a/rtp/rtpstack/tsrc/ut_rtpstack/inc/UT_CRtpSessionSRTP.h	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/rtpstack/tsrc/ut_rtpstack/inc/UT_CRtpSessionSRTP.h	Tue Aug 31 15:32:57 2010 +0300
@@ -158,19 +158,19 @@
         
          void UT_CRtpSessionSrtp_SendRtpPacket1L(  );
         
-         void UT_CRtpSessionSrtp_SendRtpPacket_1L();
-         void UT_CRtpSessionSrtp_SendRtpPacket_1AL(  );
+         void UT_CRtpSessionSrtp_SendRtpPacket_OneL();
+         void UT_CRtpSessionSrtp_SendRtpPacket_OneAL(  );
         
          void UT_CRtpSessionSrtp_SendRtpPacket_2L();
-         void UT_CRtpSessionSrtp_SendRtpPacket_2AL();
+         void UT_CRtpSessionSrtp_SendRtpPacket_TwoAL();
         
         
          void UT_CRtpSessionSrtp_OnRtpReceivedL();
          
-         void UT_CRtpSessionSrtp_OnRtpReceived_1L(  );
-         void UT_CRtpSessionSrtp::UT_CRtpSessionSrtp_SendSRTCPReport();
+         void UT_CRtpSessionSrtp_OnRtpReceived_OneL(  );
+         void UT_CRtpSessionSrtp::UT_CRtpSessionSrtp_SendSRTCPReportL();
 	
-		void UT_CRtpSessionSrtp_OnRtcpReceived();
+		void UT_CRtpSessionSrtp_OnRtcpReceivedL();
 	
         
 
--- a/rtp/rtpstack/tsrc/ut_rtpstack/inc/UT_CRtpStream.h	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/rtpstack/tsrc/ut_rtpstack/inc/UT_CRtpStream.h	Tue Aug 31 15:32:57 2010 +0300
@@ -129,16 +129,16 @@
         
          void UT_CRtpStream_RtpStreamCreateRtcpReportSectionL();
         
-         void UT_CRtpStream_UpdateParam();
+         void UT_CRtpStream_UpdateParamL();
          	
-         void UT_CRtpStream_RtpByeAppMethods();
+         void UT_CRtpStream_RtpByeAppMethodsL();
          
-         void UT_CRtpStream_TestRtpSRMethods();
+         void UT_CRtpStream_TestRtpSRMethodsL();
          
-         void UT_CRtpStream_TestRtpRRMethods();
+         void UT_CRtpStream_TestRtpRRMethodsL();
          
          void UT_CRtpStream_TestStreamStatAndSdesMethods();
-         void UT_CRtpStream_RtpStreamProcessRtpPacket();
+         void UT_CRtpStream_RtpStreamProcessRtpPacketL();
          
          void Hex(HBufC8& aString);
 
--- a/rtp/rtpstack/tsrc/ut_rtpstack/src/UT_CRtpAPI.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/rtpstack/tsrc/ut_rtpstack/src/UT_CRtpAPI.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -68,6 +68,8 @@
 #endif
 
 _LIT8(KHello, "hello...testing");
+_LIT8(KNoCName, "");
+
 // CONSTRUCTION
 UT_CRtpAPI* UT_CRtpAPI::NewL()
     {
@@ -140,10 +142,12 @@
     {
     iRtpAPI->Close();
     delete iRtpAPI;
+	iRtpAPI = NULL;
 
     iStpAPI->Close();
     delete iStpAPI;
-    }
+    iStpAPI = NULL;
+	}
 
 void UT_CRtpAPI::UT_CRtpAPI_NewLL(  )
     {
@@ -194,7 +198,7 @@
 	iRtpAPI->CancelStart();
     }
 
-void UT_CRtpAPI::UT_CRtpAPI_StartConnection_1L(  )
+void UT_CRtpAPI::UT_CRtpAPI_StartConnection_OneL(  )
     {
     //Synchronize
     TInt result(KErrNone);
@@ -980,7 +984,7 @@
     EUNIT_ASSERT( KErrNone == status.Int() );
 	}
 
-void UT_CRtpAPI::UT_CRtpAPI_SendRtpPacket_3L()
+void UT_CRtpAPI::UT_CRtpAPI_SendRtpPacket_ThreeL()
     {
     TInt result(KErrNone);
     TRtpSdesParams params;
@@ -1420,6 +1424,7 @@
 	{
 	iErr= aErrCode;
 	}
+	
 //from Obs	
 void UT_CRtpAPI::RtpPacketReceived( TRtpId /*aStreamId*/, 
                                         const TRtpRecvHeader& /*aHeaderInfo*/, 
@@ -1469,6 +1474,279 @@
 {
 	
 }
+
+void UT_CRtpAPI::ReadyToSendRtpPacket( TRtpId /*aTranStreamId*/, TPtr8 &/*aPacket*/ )
+    {
+    // RTP Packet Callback received
+    iIsCallBackReceived = ETrue;
+    }
+
+
+void UT_CRtpAPI::UT_CRtpAPI_RegisterRtpPostProcessingObserverL(  )
+    {
+    TInt result(KErrNone);
+    TRtpSdesParams params;
+    
+    result = iRtpAPI->OpenL( params, NULL, NULL, NULL );
+    EUNIT_ASSERT(result==KErrNone);
+    
+    TRequestStatus status;
+    result = iRtpAPI->StartConnection( status, KDefaultIap2 ); // KDefaultIap
+    RTP_EUNIT_ASSERT_EQUALS ( result, KErrNone );
+ // Wait until the connection is really up
+    User::WaitForRequest( status );
+
+    //create session
+    TCreateSessionParams sessionParams;
+    sessionParams.iPriority = TCreateSessionParams::EPriorityStandard;
+    sessionParams.iSocketBufSize = KSocketBufSize;
+    TUint port( 5000 );
+    TBool enableRtcp( EFalse );
+    TRtcpParams rtcpParams;
+    rtcpParams.iRtcpFraction = 0.10;
+    rtcpParams.iRtcpTimeOut = 0;
+    rtcpParams.iSessionBWidth = 32000;
+
+    TRtpId error( KNullId );
+    error = iRtpAPI->CreateSessionL( sessionParams,
+                                    port,
+                                    enableRtcp,
+                                    &rtcpParams );
+    RTP_EUNIT_ASSERT_RTP_ID( error );
+    
+    TRcvStreamParams recvparams;
+    recvparams.iPayloadType = 0;
+
+    TRtpId error2( KNullId );
+    TInt err( KErrNone );
+    error2 = iRtpAPI->CreateReceiveStreamL( error /*session id*/, recvparams );
+    RTP_EUNIT_ASSERT_RTP_ID ( error2 );
+        
+    
+    err = iRtpAPI->RegisterRtpPostProcessingObserver( error, *this );
+    EUNIT_ASSERT ( err == KErrNone )
+    }
+
+
+void UT_CRtpAPI::UT_CRtpAPI_SendRtpPacketWithCSRCL()
+    {
+    TInt result(KErrNone);
+    TRtpSdesParams params;
+    
+    result = iRtpAPI->OpenL( params, NULL, NULL, NULL );
+    RTP_EUNIT_ASSERT_EQUALS(result, KErrNone);
+    
+    TRequestStatus status;
+    result = iRtpAPI->StartConnection( status, KDefaultIap ); // KDefaultIap
+    RTP_EUNIT_ASSERT_EQUALS ( result, KErrNone );
+ // Wait until the connection is really up
+    User::WaitForRequest( status );
+
+    //create session
+    TCreateSessionParams sessionParams;
+    sessionParams.iPriority = TCreateSessionParams::EPriorityStandard;
+    sessionParams.iSocketBufSize = KSocketBufSize;
+    TUint port( 5000 );
+    TBool enableRtcp( EFalse );
+    TRtcpParams rtcpParams;
+    rtcpParams.iRtcpFraction = 0.10;
+    rtcpParams.iRtcpTimeOut = 0;
+    rtcpParams.iSessionBWidth = 32000;
+
+    TRtpId error( KNullId );
+    error = iRtpAPI->CreateSessionL( sessionParams,
+                                    port,
+                                    enableRtcp,
+                                    &rtcpParams );
+    RTP_EUNIT_ASSERT_RTP_ID( error );
+    
+    TTranStreamParams transparams;
+    transparams.iPayloadType = 0;
+    TRtpSSRC ssrc( 0 );
+    
+    TInt err( KErrNone );
+    err = iRtpAPI->RegisterRtpPostProcessingObserver( error, *this );
+    EUNIT_ASSERT ( err == KErrNone )
+
+
+    err = iRtpAPI->CreateTransmitStreamL( error /*session id*/, transparams, ssrc );
+    RTP_EUNIT_ASSERT_RTP_ID ( err );
+    
+    
+    TRtpSendHeader header; 
+    header.iHeaderExtension = NULL;
+    header.iMarker = 0;
+    header.iPadding = 0;
+    header.iPayloadType = 0;
+    header.iTimestamp = 10;
+
+    HBufC8* data = HBufC8::NewLC(KLength);
+    data->Des().Copy(KHello);
+    CleanupStack::Pop(data);
+
+    TRtpSendPktParams *headerinfo = new(ELeave) TRtpSendPktParams(header);
+    headerinfo->iTranStreamId = err;
+    headerinfo->iPayloadData.Set(data->Des()); 
+    
+    const TUint KArrayGranularity = 15;
+    
+    CArrayFixFlat<TUint32>* fix;
+    fix = new(ELeave) CArrayFixFlat<TUint32>(KArrayGranularity);
+    
+    fix->AppendL(123456);
+    fix->AppendL(999999);
+     
+    TInt error2( KErrNone );
+    iIsCallBackReceived = EFalse;
+    // Try sending synchronously with Csrc
+    error2 = iRtpAPI->SendRtpPacket(*headerinfo, fix->Array());
+    RTP_EUNIT_ASSERT_EQUALS ( error2, KErrNone );
+    
+    CRtpSession* rtpSession = iRtpAPI->iManager->GetSession( err );
+    User::WaitForRequest( rtpSession->iCommNet->iSender[ERTPPort]->iStatus );
+    rtpSession->iCommNet->iSender[ERTPPort]->RunL();
+    rtpSession->iCommNet->iSender[ERTPPort]->iStatus = TRequestStatus();
+    EUNIT_ASSERT(iIsCallBackReceived == ETrue);
+    
+    iIsCallBackReceived = EFalse;
+    // Try sending asynchronously with CSRC
+    headerinfo->iStatus = &status;
+    error2 = iRtpAPI->SendRtpPacket(*headerinfo, fix->Array());
+    RTP_EUNIT_ASSERT_EQUALS ( error2, KErrNone );
+    EUNIT_ASSERT( KRequestPending == status.Int() );
+    User::WaitForRequest( rtpSession->iCommNet->iSender[ERTPPort]->iStatus );
+    rtpSession->iCommNet->iSender[ERTPPort]->RunL();
+    rtpSession->iCommNet->iSender[ERTPPort]->iStatus = TRequestStatus();
+    User::WaitForRequest( status );
+    EUNIT_ASSERT( KErrNone == status.Int() );
+    // Is call back received check
+    EUNIT_ASSERT(iIsCallBackReceived == ETrue);
+    
+    iIsCallBackReceived = EFalse;
+    // Try sending asynchronously, specifying the sequence number with CSRC
+	TRtpSequence seqNum = 42;
+    headerinfo->iSequenceNum = &seqNum;
+    error2 = iRtpAPI->SendRtpPacket(*headerinfo, fix->Array());
+    RTP_EUNIT_ASSERT_EQUALS ( error2, KErrNone );
+    EUNIT_ASSERT( KRequestPending == status.Int() );
+    User::WaitForRequest( rtpSession->iCommNet->iSender[ERTPPort]->iStatus );
+    rtpSession->iCommNet->iSender[ERTPPort]->RunL();
+    rtpSession->iCommNet->iSender[ERTPPort]->iStatus = TRequestStatus();
+    User::WaitForRequest( status );
+    EUNIT_ASSERT( KErrNone == status.Int() );
+    EUNIT_ASSERT(iIsCallBackReceived == ETrue);
+    
+    delete fix;
+    delete headerinfo;
+    delete data;
+    }
+
+
+void UT_CRtpAPI::UT_CRtpAPI_UnregisterRtpPostProcessingObserverL(  )
+    {
+    TInt result(KErrNone);
+    TRtpSdesParams params;
+    
+    result = iRtpAPI->OpenL( params, NULL, NULL, NULL );
+    EUNIT_ASSERT(result==KErrNone);
+    
+    TRequestStatus status;
+    result = iRtpAPI->StartConnection( status, KDefaultIap2 ); // KDefaultIap
+    RTP_EUNIT_ASSERT_EQUALS ( result, KErrNone );
+ // Wait until the connection is really up
+    User::WaitForRequest( status );
+
+    //create session
+    TCreateSessionParams sessionParams;
+    sessionParams.iPriority = TCreateSessionParams::EPriorityStandard;
+    sessionParams.iSocketBufSize = KSocketBufSize;
+    TUint port( 5000 );
+    TBool enableRtcp( EFalse );
+    TRtcpParams rtcpParams;
+    rtcpParams.iRtcpFraction = 0.10;
+    rtcpParams.iRtcpTimeOut = 0;
+    rtcpParams.iSessionBWidth = 32000;
+
+    TRtpId error( KNullId );
+    error = iRtpAPI->CreateSessionL( sessionParams,
+                                    port,
+                                    enableRtcp,
+                                    &rtcpParams );
+    RTP_EUNIT_ASSERT_RTP_ID( error );
+    
+    TRcvStreamParams recvparams;
+    recvparams.iPayloadType = 0;
+
+    TRtpId error2( KNullId );
+    TInt err( KErrNone );
+    error2 = iRtpAPI->CreateReceiveStreamL( error /*session id*/, recvparams );
+    RTP_EUNIT_ASSERT_RTP_ID ( error2 );
+        
+    TTranStreamParams transparams;
+    transparams.iPayloadType = 0;
+    TRtpSSRC ssrc( 0 );
+    
+    err = iRtpAPI->RegisterRtpPostProcessingObserver( error, *this );
+    EUNIT_ASSERT ( err == KErrNone )
+    
+    err = iRtpAPI->CreateTransmitStreamL( error /*session id*/, transparams, ssrc );
+    RTP_EUNIT_ASSERT_RTP_ID ( err );
+    
+    
+    TRtpSendHeader header; 
+    header.iHeaderExtension = NULL;
+    header.iMarker = 0;
+    header.iPadding = 0;
+    header.iPayloadType = 0;
+    header.iTimestamp = 10;
+
+    HBufC8* data = HBufC8::NewLC(KLength);
+    data->Des().Copy(KHello);
+    CleanupStack::Pop(data);
+
+    TRtpSendPktParams *headerinfo = new(ELeave) TRtpSendPktParams(header);
+    headerinfo->iTranStreamId = err;
+    headerinfo->iPayloadData.Set(data->Des()); 
+    
+    const TUint KArrayGranularity = 15;
+    
+    CArrayFixFlat<TUint32>* fix;
+    fix = new(ELeave) CArrayFixFlat<TUint32>(KArrayGranularity);
+    
+    fix->AppendL(123456);
+    fix->AppendL(999999);
+     
+    TInt error3( KErrNone );
+    iIsCallBackReceived = EFalse;
+    // Try sending synchronously with Csrc
+    error3 = iRtpAPI->SendRtpPacket(*headerinfo, fix->Array());
+    RTP_EUNIT_ASSERT_EQUALS ( error3, KErrNone );
+    
+    CRtpSession* rtpSession = iRtpAPI->iManager->GetSession( err );
+    User::WaitForRequest( rtpSession->iCommNet->iSender[ERTPPort]->iStatus );
+    rtpSession->iCommNet->iSender[ERTPPort]->RunL();
+    rtpSession->iCommNet->iSender[ERTPPort]->iStatus = TRequestStatus();
+    EUNIT_ASSERT(iIsCallBackReceived == ETrue);
+    
+    // Unregister callback
+    iRtpAPI->UnregisterRtpPostProcessingObserver(error);
+    
+    iIsCallBackReceived = EFalse;
+    error3 = KErrNone;
+    // Try sending synchronously with Csrc
+    error3 = iRtpAPI->SendRtpPacket(*headerinfo, fix->Array());
+    RTP_EUNIT_ASSERT_EQUALS ( error3, KErrNone );
+    
+    User::WaitForRequest( rtpSession->iCommNet->iSender[ERTPPort]->iStatus );
+    rtpSession->iCommNet->iSender[ERTPPort]->RunL();
+    rtpSession->iCommNet->iSender[ERTPPort]->iStatus = TRequestStatus();
+    EUNIT_ASSERT(iIsCallBackReceived == EFalse);
+    
+    delete fix;
+    delete headerinfo;
+    delete data;
+    }
+
 //  TEST TABLE
 
 EUNIT_BEGIN_TEST_TABLE(
@@ -1502,7 +1780,7 @@
     "CRtpAPI",
     "StartConnection",
     "FUNCTIONALITY",
-    SetupL, UT_CRtpAPI_StartConnection_1L, Teardown)
+    SetupL, UT_CRtpAPI_StartConnection_OneL, Teardown)
 
 EUNIT_TEST(
     "CancelStart - test ",
@@ -1656,7 +1934,7 @@
     "CRtpAPI",
     "SendRtpPacket",
     "FUNCTIONALITY",
-    SetupL, UT_CRtpAPI_SendRtpPacket_3L, Teardown)
+    SetupL, UT_CRtpAPI_SendRtpPacket_ThreeL, Teardown)
 
 EUNIT_TEST(
     "SendDataL - test ",
@@ -1797,8 +2075,30 @@
     "Version",
     "FUNCTIONALITY",
     SetupL, UT_CRtpAPI_VersionL, Teardown)
+    
+EUNIT_TEST(
+    "RegisterRtpPostProcessingObserver - test ",
+    "CRtpAPI",
+    "RegisterRtpPostProcessingObserver",
+    "FUNCTIONALITY",
+    SetupL, UT_CRtpAPI_RegisterRtpPostProcessingObserverL, Teardown)    
 
 
+EUNIT_TEST(
+    "SendRtpPacketWithCSRC - test ",
+    "CRtpAPI",
+    "SendRtpPacket",
+    "FUNCTIONALITY",
+    SetupL, UT_CRtpAPI_SendRtpPacketWithCSRCL, Teardown)   
+    
+EUNIT_TEST(
+    "UnregisterRtpPostProcessingObserver - test ",
+    "CRtpAPI",
+    "UnregisterRtpPostProcessingObserver",
+    "FUNCTIONALITY",
+    SetupL, UT_CRtpAPI_UnregisterRtpPostProcessingObserverL, Teardown)  
+
+    
 EUNIT_END_TEST_TABLE
 
 //  END OF FILE
--- a/rtp/rtpstack/tsrc/ut_rtpstack/src/UT_CRtpComm.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/rtpstack/tsrc/ut_rtpstack/src/UT_CRtpComm.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -604,7 +604,7 @@
     delete iRtpComm; iRtpComm=NULL;
     }
 
-void UT_CRtpComm::UT_CRtpComm_MaxSocketSize()
+void UT_CRtpComm::UT_CRtpComm_MaxSocketSizeL()
     {
     TCreateSessionParams params;
     params.iSocketBufSize = 10000;
@@ -804,7 +804,7 @@
     "CRtpComm",
     "MaxSocketSize",
     "FUNCTIONALITY",
-    SetupL, UT_CRtpComm_MaxSocketSize, Teardown)
+    SetupL, UT_CRtpComm_MaxSocketSizeL, Teardown)
     
 EUNIT_END_TEST_TABLE
 
--- a/rtp/rtpstack/tsrc/ut_rtpstack/src/UT_CRtpManager.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/rtpstack/tsrc/ut_rtpstack/src/UT_CRtpManager.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -174,7 +174,7 @@
     iRtpManager->Close();
     }
 
-void UT_CRtpManager::UT_CRtpManager_StartConnection_1L(  )
+void UT_CRtpManager::UT_CRtpManager_StartConnection_OneL(  )
     {
     TInt result(KErrNone);
     TRtpSdesParams params;
@@ -186,7 +186,7 @@
     iRtpManager->Close();
     }
 
-void UT_CRtpManager::UT_CRtpManager_StartConnection_2L(  )
+void UT_CRtpManager::UT_CRtpManager_StartConnection_TwoL(  )
     {
     TInt result(KErrNone);
     TRtpSdesParams params;
@@ -937,7 +937,7 @@
     "CRtpManager",
     "StartConnection 1",
     "FUNCTIONALITY",
-    SetupL, UT_CRtpManager_StartConnection_1L, Teardown)
+    SetupL, UT_CRtpManager_StartConnection_OneL, Teardown)
 
 
 EUNIT_TEST(
@@ -945,7 +945,7 @@
     "CRtpManager",
     "StartConnection2",
     "FUNCTIONALITY",
-    SetupL, UT_CRtpManager_StartConnection_2L, Teardown)
+    SetupL, UT_CRtpManager_StartConnection_TwoL, Teardown)
 
 EUNIT_TEST(
     "CancelStart - test ",
--- a/rtp/rtpstack/tsrc/ut_rtpstack/src/UT_CRtpPacket.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/rtpstack/tsrc/ut_rtpstack/src/UT_CRtpPacket.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -172,7 +172,12 @@
 	delete iPktSnd;
     delete iPktRtcpSnd;
     delete iTooLongData;
-    }
+    
+	iPktSnd = NULL;
+	iPktRtcpSnd = NULL;
+	iTooLongData = NULL;
+	
+	}
 
 void UT_CRtpPacket::UT_CRtpPacket_NewLL(  )
     {
--- a/rtp/rtpstack/tsrc/ut_rtpstack/src/UT_CRtpSDES.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/rtpstack/tsrc/ut_rtpstack/src/UT_CRtpSDES.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -121,7 +121,7 @@
     
     }
 
-void UT_CRtpSDES::UT_CRtpSDES_NewL_1L(  )
+void UT_CRtpSDES::UT_CRtpSDES_NewL_OneL(  )
     {
     TInt result( KErrNone );
     TBuf8<16> cName;
@@ -419,7 +419,7 @@
     "CRtpSDES",
     "NewL",
     "FUNCTIONALITY",
-    SetupL, UT_CRtpSDES_NewL_1L, Teardown)
+    SetupL, UT_CRtpSDES_NewL_OneL, Teardown)
 
 EUNIT_TEST(
     "GetSDES - test ",
--- a/rtp/rtpstack/tsrc/ut_rtpstack/src/UT_CRtpSession.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/rtpstack/tsrc/ut_rtpstack/src/UT_CRtpSession.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -1012,7 +1012,7 @@
     iSession->iCommNet->iSender[ERTPPort]->iStatus = TRequestStatus();
     }
 
-void UT_CRtpSession::UT_CRtpSession_SendRtpPacket_1L(  )
+void UT_CRtpSession::UT_CRtpSession_SendRtpPacket_OneL(  )
     {
     TCreateSessionParams sessionParams;
     TRtcpParams rtcpParams;
@@ -1082,7 +1082,7 @@
   
     }
 
-void UT_CRtpSession::UT_CRtpSession_SendRtpPacket_2L(  )
+void UT_CRtpSession::UT_CRtpSession_SendRtpPacket_TwoL(  )
     {
     TInt error( KErrNone );
 
@@ -2275,7 +2275,7 @@
     
     // "CRtpSession::OnExpired() - passed" ) );
     }
-void UT_CRtpSession::UT_CRtpSession_ScheduleRtcpSend()
+void UT_CRtpSession::UT_CRtpSession_ScheduleRtcpSendL()
     {
     //"") );
     // "Test description: Test scheduling RTCP transmission" ) );
@@ -3287,7 +3287,7 @@
     "CRtpSession",
     "SendRtpPacket",
     "FUNCTIONALITY",
-    SetupL, UT_CRtpSession_SendRtpPacket_1L, Teardown)
+    SetupL, UT_CRtpSession_SendRtpPacket_OneL, Teardown)
 */
 
 EUNIT_TEST(
@@ -3295,7 +3295,7 @@
     "CRtpSession",
     "SendRtpPacket",
     "FUNCTIONALITY",
-    Setup2L, UT_CRtpSession_SendRtpPacket_2L, Teardown)
+    Setup2L, UT_CRtpSession_SendRtpPacket_TwoL, Teardown)
 
 EUNIT_TEST(
     "SendRtpPacket3 - test ",
@@ -3448,7 +3448,7 @@
     "CRtpSession",
     "ScheduleRtcpSend",
     "FUNCTIONALITY",
-    SetupL, UT_CRtpSession_ScheduleRtcpSend, Teardown)
+    SetupL, UT_CRtpSession_ScheduleRtcpSendL, Teardown)
     
 
 EUNIT_TEST(
--- a/rtp/rtpstack/tsrc/ut_rtpstack/src/UT_CRtpSessionSRTP.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/rtpstack/tsrc/ut_rtpstack/src/UT_CRtpSessionSRTP.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -521,14 +521,29 @@
     delete iTestMKI128Bits;
     delete iTestAuthTag80Bits;
 
+	iDecryptedPayload = NULL;
+    iTestPayload160Bits = NULL;
+    iTestMKI128Bits = NULL;
+    iTestAuthTag80Bits = NULL;
+	
     delete iStreamIn;
     delete iStreamOut;
     delete iSRTPSession;    
-
+    
+	iStreamIn = NULL;
+    iStreamOut = NULL;
+    iSRTPSession = NULL;
+	
     delete iRFC3711_SessionEncrKey128bits;
     delete iRFC3711_SessionSaltKey128bits;
     delete iRFC3711_SessionAuthKey128bits;    
-    iRFC3711_TestMasterKey128bits.Zero();
+    
+	iRFC3711_SessionEncrKey128bits = NULL;
+    iRFC3711_SessionSaltKey128bits = NULL;
+    iRFC3711_SessionAuthKey128bits = NULL;   
+	
+	
+	iRFC3711_TestMasterKey128bits.Zero();
     iRFC3711_TestMasterSalt112bits.Zero();
     iMKI.Zero();
 
@@ -647,7 +662,7 @@
  	RTP_EUNIT_ASSERT_EQUALS(status, KErrNone)
     }
 
-void UT_CRtpSessionSrtp::UT_CRtpSessionSrtp_SendRtpPacket_1L(  )
+void UT_CRtpSessionSrtp::UT_CRtpSessionSrtp_SendRtpPacket_OneL(  )
     {
     //Test more branch
        TInt error( KErrNone );
@@ -683,7 +698,7 @@
  	RTP_EUNIT_ASSERT_EQUALS(status, KErrNone)
     }
  
-void UT_CRtpSessionSrtp::UT_CRtpSessionSrtp_SendRtpPacket_1AL(  )
+void UT_CRtpSessionSrtp::UT_CRtpSessionSrtp_SendRtpPacket_OneAL(  )
     {
        TInt error( KErrNone );
 
@@ -757,7 +772,7 @@
  	
     }
   
-  void UT_CRtpSessionSrtp::UT_CRtpSessionSrtp_SendRtpPacket_2AL(  )
+  void UT_CRtpSessionSrtp::UT_CRtpSessionSrtp_SendRtpPacket_TwoAL(  )
     {
        TInt error( KErrNone );
 
@@ -871,7 +886,7 @@
     
     }
     
-void UT_CRtpSessionSrtp::UT_CRtpSessionSrtp_OnRtpReceived_1L(  )
+void UT_CRtpSessionSrtp::UT_CRtpSessionSrtp_OnRtpReceived_OneL(  )
     {
     
     //cover more branch
@@ -922,7 +937,7 @@
     
     }    
 
-void UT_CRtpSessionSrtp::UT_CRtpSessionSrtp_SendSRTCPReport()
+void UT_CRtpSessionSrtp::UT_CRtpSessionSrtp_SendSRTCPReportL()
 	{
 	TInt error( KErrNone );
 	TRtpSSRC ssrcOut( 1234 );
@@ -990,7 +1005,7 @@
 	
 	}
 	
-void UT_CRtpSessionSrtp::UT_CRtpSessionSrtp_OnRtcpReceived()
+void UT_CRtpSessionSrtp::UT_CRtpSessionSrtp_OnRtcpReceivedL()
 	{
 	HBufC8* encSrtcpPacket =HBufC8::NewLC(KRTCPPacket().Length());
 	*encSrtcpPacket=KRTCPPacket;
@@ -1104,14 +1119,14 @@
     "CRtpSessionSrtp",
     "SendRtpPacket",
     "FUNCTIONALITY",
-    SetupL, UT_CRtpSessionSrtp_SendRtpPacket_1L, Teardown)
+    SetupL, UT_CRtpSessionSrtp_SendRtpPacket_OneL, Teardown)
 
 EUNIT_TEST(
     "SendRtpPacket4 - test ",
     "CRtpSessionSrtp",
     "SendRtpPacket",
     "FUNCTIONALITY",
-    SetupL, UT_CRtpSessionSrtp_SendRtpPacket_1AL, Teardown)
+    SetupL, UT_CRtpSessionSrtp_SendRtpPacket_OneAL, Teardown)
 
 EUNIT_TEST(
     "SendRtpPacket5 - test ",
@@ -1125,7 +1140,7 @@
     "CRtpSessionSrtp",
     "SendRtpPacket",
     "FUNCTIONALITY",
-    SetupL, UT_CRtpSessionSrtp_SendRtpPacket_2AL, Teardown)
+    SetupL, UT_CRtpSessionSrtp_SendRtpPacket_TwoAL, Teardown)
 
 EUNIT_TEST(
     "OnRtpReceived1 - test ",
@@ -1139,20 +1154,20 @@
     "CRtpSessionSrtp",
     "OnRtpReceived",
     "FUNCTIONALITY",
-    SetupL, UT_CRtpSessionSrtp_OnRtpReceived_1L, Teardown)
+    SetupL, UT_CRtpSessionSrtp_OnRtpReceived_OneL, Teardown)
 
 EUNIT_TEST(
     "SendSRTCPReport ",
     "CRtpSessionSrtp",
     "SendSRTCPReport",
     "FUNCTIONALITY",
-    SetupL, UT_CRtpSessionSrtp_SendSRTCPReport, Teardown)
+    SetupL, UT_CRtpSessionSrtp_SendSRTCPReportL, Teardown)
 EUNIT_TEST(
     "OnRtcpReceived ",
     "CRtpSessionSrtp",
     "OnRtcpReceived",
     "FUNCTIONALITY",
-    SetupL, UT_CRtpSessionSrtp_OnRtcpReceived, Teardown)
+    SetupL, UT_CRtpSessionSrtp_OnRtcpReceivedL, Teardown)
 
   
 EUNIT_END_TEST_TABLE
--- a/rtp/rtpstack/tsrc/ut_rtpstack/src/UT_CRtpStpPacket.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/rtpstack/tsrc/ut_rtpstack/src/UT_CRtpStpPacket.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -75,10 +75,8 @@
 void UT_CRtpStpPacket::SetupL(  )
     {
  	iRtpStpPacket = new(ELeave) CRtpStpPacket();
-        
-    CleanupStack::PushL(iRtpStpPacket);
     iRtpStpPacket->ConstructL( KMaxRtpPacketSize, 1 );
-    CleanupStack::Pop();
+
     }
 
 void UT_CRtpStpPacket::Teardown(  )
--- a/rtp/rtpstack/tsrc/ut_rtpstack/src/UT_CRtpStream.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/rtpstack/tsrc/ut_rtpstack/src/UT_CRtpStream.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -123,6 +123,9 @@
     {
     delete iRecvStream;
     delete iTranStream;
+	
+	iRecvStream = NULL;
+    iTranStream = NULL;
     }
 
 void UT_CRtpStream::UT_CRtpStream_ResetStreamStatL(  )
@@ -885,7 +888,7 @@
     CleanupStack::PopAndDestroy( packet );
     }
     
-void UT_CRtpStream::UT_CRtpStream_UpdateParam()
+void UT_CRtpStream::UT_CRtpStream_UpdateParamL()
     {
   
     // "Test description: Test update of statistics" ) );
@@ -964,7 +967,7 @@
     EUNIT_ASSERT(ETrue);
     }    
 
-void UT_CRtpStream::UT_CRtpStream_RtpByeAppMethods()
+void UT_CRtpStream::UT_CRtpStream_RtpByeAppMethodsL()
     {
     //"") );
     // "Test description: Test creating a BYE packet" ) );
@@ -1023,7 +1026,7 @@
   	EUNIT_ASSERT(ETrue);
     }
  
-void UT_CRtpStream::UT_CRtpStream_TestRtpSRMethods()
+void UT_CRtpStream::UT_CRtpStream_TestRtpSRMethodsL()
     {
     //"") );
     // "Test description: Test creating and parsing an SR packet" ) );
@@ -1106,7 +1109,7 @@
     EUNIT_ASSERT(ETrue);
     }  
     
-void UT_CRtpStream::UT_CRtpStream_TestRtpRRMethods()
+void UT_CRtpStream::UT_CRtpStream_TestRtpRRMethodsL()
     {
     //"") );
     // "Test description: Test creating and parsing an RR packet" ) );
@@ -1314,7 +1317,7 @@
     EUNIT_ASSERT(ETrue);
     }
 
-void UT_CRtpStream::UT_CRtpStream_RtpStreamProcessRtpPacket()
+void UT_CRtpStream::UT_CRtpStream_RtpStreamProcessRtpPacketL()
 	{
 	TInt result(KErrNone);
 	TInt error(KErrNone);
@@ -1542,27 +1545,27 @@
     "CRtpStream",
     "UT_CRtpStream_UpdateParam",
     "FUNCTIONALITY",
-    SetupL, UT_CRtpStream_UpdateParam, Teardown)    
+    SetupL, UT_CRtpStream_UpdateParamL, Teardown)    
 EUNIT_TEST(
     "RtpByeAppMethods",
     "CRtpStream",
     "RtpByeAppMethods",
     "FUNCTIONALITY",
-    SetupL, UT_CRtpStream_RtpByeAppMethods, Teardown)     
+    SetupL, UT_CRtpStream_RtpByeAppMethodsL, Teardown)     
 
 EUNIT_TEST(
     "TestRtpSRMethods",
     "CRtpStream",
     "TestRtpSRMethods",
     "FUNCTIONALITY",
-    SetupL, UT_CRtpStream_TestRtpSRMethods, Teardown)    
+    SetupL, UT_CRtpStream_TestRtpSRMethodsL, Teardown)    
 
 EUNIT_TEST(
     "TestRtpRRMethods",
     "CRtpStream",
     "TestRtpRRMethods",
     "FUNCTIONALITY",
-    SetupL, UT_CRtpStream_TestRtpRRMethods, Teardown)   
+    SetupL, UT_CRtpStream_TestRtpRRMethodsL, Teardown)   
 
 EUNIT_TEST(
     "TestRtpRRMethods",
@@ -1575,7 +1578,7 @@
     "CRtpStream",
     "RtpStreamProcessRtpPacket",
     "FUNCTIONALITY",
-    SetupL, UT_CRtpStream_RtpStreamProcessRtpPacket, Teardown)      
+    SetupL, UT_CRtpStream_RtpStreamProcessRtpPacketL, Teardown)      
     
 
 
--- a/rtp/rtpstack/tsrc/ut_rtpstack/src/UT_CRtpTranStream.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/rtpstack/tsrc/ut_rtpstack/src/UT_CRtpTranStream.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -139,6 +139,7 @@
 void UT_CRtpTranStream::Teardown(  )
     {
  	delete iTranStream;
+    iTranStream = NULL;
     }
 
 void UT_CRtpTranStream::UT_CRtpTranStream_NewLL(  )
--- a/rtp/rtpstack/tsrc/ut_rtpstack/stubs/inc/es_sock.h	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/rtpstack/tsrc/ut_rtpstack/stubs/inc/es_sock.h	Tue Aug 31 15:32:57 2010 +0300
@@ -1216,7 +1216,7 @@
 	TUint32 iReserved[4];
 	};
 
-class CSubConParameterSet : public SMetaDataECom
+class CSubConParameterSet : public CBase, public SMetaDataECom
 /** Base class for all RSubConnection parameter sets.
 
 @publishedAll
@@ -1408,7 +1408,7 @@
 	IMPORT_C TUint32 Id() const;
 	};
 
-class CSubConNotificationEvent : public SMetaDataECom
+class CSubConNotificationEvent : public CBase, public SMetaDataECom
 	{
 public:
 	IMPORT_C static CSubConNotificationEvent* NewL(const STypeId& aTypeId);
--- a/rtp/srtpstack/inc/srtputils.h	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/srtpstack/inc/srtputils.h	Tue Aug 31 15:32:57 2010 +0300
@@ -29,6 +29,7 @@
 
 #include <e32std.h>
 #include <f32file.h>
+#include <e32hal.h>
 
 #ifdef SRTP_UNIT_TEST_COVERAGE
 
--- a/rtp/srtpstack/tsrc/ut_srtpstack/inc/UT_CSRTPCryptoContext.h	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/srtpstack/tsrc/ut_srtpstack/inc/UT_CSRTPCryptoContext.h	Tue Aug 31 15:32:57 2010 +0300
@@ -111,7 +111,7 @@
          
          void TestSetRCCm3SyncL();
          
-         void TestIsValid();
+         void TestIsValidL();
 
     private:    // Data
         //TBuf8<32>       iSalt;
--- a/rtp/srtpstack/tsrc/ut_srtpstack/inc/UT_CSRTPCryptoHandlerSRTCP.h	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/srtpstack/tsrc/ut_srtpstack/inc/UT_CSRTPCryptoHandlerSRTCP.h	Tue Aug 31 15:32:57 2010 +0300
@@ -81,7 +81,7 @@
          void UT_CSRTPCryptoHandlerSRTCP_NewLCL();
         
         
-         void UT_DeriveSessionKeysL_1L();
+         void UT_DeriveSessionKeysL_OneL();
          
          
          void UT_PerformAuthenticationLL();         
--- a/rtp/srtpstack/tsrc/ut_srtpstack/inc/UT_CSRTPCryptoHandlerSRTP.h	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/srtpstack/tsrc/ut_srtpstack/inc/UT_CSRTPCryptoHandlerSRTP.h	Tue Aug 31 15:32:57 2010 +0300
@@ -109,7 +109,7 @@
          HBufC8* BuildPacketL(TBool aSrtp, TPayloadDetails& details);
                   
                   
-         void UT_DeriveSessionKeysL_1L();
+         void UT_DeriveSessionKeysL_OneL();
          
 
          void UT_UpdateROCL();         
--- a/rtp/srtpstack/tsrc/ut_srtpstack/inc/UT_CSRTPKeyDerivation_AESCM128.h	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/srtpstack/tsrc/ut_srtpstack/inc/UT_CSRTPKeyDerivation_AESCM128.h	Tue Aug 31 15:32:57 2010 +0300
@@ -75,7 +75,7 @@
 
          void UT_RFC3711_Session_Auth_Key_TestL();
 
-        void UT_ErronousInput_1L();
+        void UT_ErronousInput_OneL();
          
         void UT_ErronousInput_2L();
          
--- a/rtp/srtpstack/tsrc/ut_srtpstack/inc/UT_CSRTPSession.h	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/srtpstack/tsrc/ut_srtpstack/inc/UT_CSRTPSession.h	Tue Aug 31 15:32:57 2010 +0300
@@ -79,10 +79,10 @@
         
          void Teardown();
         
-         void UT_CSRTPSession_NewL_1L();
+         void UT_CSRTPSession_NewL_OneL();
         
         
-         void UT_CSRTPSession_NewL_2L();
+         void UT_CSRTPSession_NewL_TwoL();
         
         
          void UT_CSRTPSession_RemoveStreamL();
--- a/rtp/srtpstack/tsrc/ut_srtpstack/inc/UT_CSRTPStream.h	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/srtpstack/tsrc/ut_srtpstack/inc/UT_CSRTPStream.h	Tue Aug 31 15:32:57 2010 +0300
@@ -101,8 +101,8 @@
          void UT_CSRTPStream_GetCryptoContextL();
          void UT_CSRTPStream_SetSSRCL(  );
          void Hex(HBufC8& aString);    
-         void UT_CSRTPStream_ReKeyNeeded_1L(  );
-         void UT_CSRTPStream_ReKeyNeeded_2L(  );
+         void UT_CSRTPStream_ReKeyNeeded_OneL(  );
+         void UT_CSRTPStream_ReKeyNeeded_TwoL(  );
          void UT_CSRTPStream_TestNewL(  );
          void UT_CSRTPStream_IsContextSetL();
 
--- a/rtp/srtpstack/tsrc/ut_srtpstack/inc/UT_CSRTPStreamIn.h	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/srtpstack/tsrc/ut_srtpstack/inc/UT_CSRTPStreamIn.h	Tue Aug 31 15:32:57 2010 +0300
@@ -100,10 +100,10 @@
         
          void Teardown();
         
-         void UT_CSRTPStreamIn_NewL_1L();
-         void UT_CSRTPStreamIn_NewL_2L();
-         void UT_CSRTPStreamIn_NewL_3L();
-         void UT_CSRTPStreamIn_NewL_4L();
+         void UT_CSRTPStreamIn_NewL_OneL();
+         void UT_CSRTPStreamIn_NewL_TwoL();
+         void UT_CSRTPStreamIn_NewL_ThreeL();
+         void UT_CSRTPStreamIn_NewL_FourL();
         
         
          void UT_CSRTPStreamIn_UnprotectSrtpLL();
@@ -115,7 +115,7 @@
          void UT_CSRTPStreamIn_StateTestsL();
 	 	 void UT_CSRTPStreamIn_StateTests2L();
          HBufC8* BuildPacketL(TBool aSrtp, TPayloadDetails& details);    
-         void UT_CSRTPStreamIn_NewL_5L(  );
+         void UT_CSRTPStreamIn_NewL_FiveL(  );
          void UT_CSRTPStreamIn_SetCryptoInL(  );
 
          void Hex(HBufC8& aString);             
--- a/rtp/srtpstack/tsrc/ut_srtpstack/inc/UT_CSRTPStreamOut.h	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/srtpstack/tsrc/ut_srtpstack/inc/UT_CSRTPStreamOut.h	Tue Aug 31 15:32:57 2010 +0300
@@ -96,12 +96,12 @@
         
          void Teardown();
         
-         void UT_CSRTPStreamOut_NewL_1L();
+         void UT_CSRTPStreamOut_NewL_OneL();
         
         
-         void UT_CSRTPStreamOut_NewL_2L();
+         void UT_CSRTPStreamOut_NewL_TwoL();
         
-         void UT_CSRTPStreamOut_NewL_3L(  );
+         void UT_CSRTPStreamOut_NewL_ThreeL(  );
          
          void UT_CSRTPStreamOut_SetCryptoOutLL(  );
          
--- a/rtp/srtpstack/tsrc/ut_srtpstack/inc/UT_CSrtpAuthentication_RCC.h	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/srtpstack/tsrc/ut_srtpstack/inc/UT_CSrtpAuthentication_RCC.h	Tue Aug 31 15:32:57 2010 +0300
@@ -79,21 +79,21 @@
         
          void UT_CSrtpAuthentication_RCC_AuthenticateLL();
          void Hex(HBufC8& aString);
-         void UT_AuthenticateL_RFC2202_Test1_80L();
-         void UT_AuthenticateL_RFC2202_Test1_32L();
-         void UT_AuthenticateL_RFC2202_Test2_80L();
-         void UT_AuthenticateL_RFC2202_Test2_32L();
-         void UT_AuthenticateL_RFC2202_Test3_80L();
-         void UT_AuthenticateL_RFC2202_Test3_32L();
-         void UT_AuthenticateL_RFC2202_Test4_80L();
-         void UT_AuthenticateL_RFC2202_Test4_32L();
-         void UT_AuthenticateL_RFC2202_Test5_80L();
-         void UT_AuthenticateL_RFC2202_Test5_32L();
-         void UT_AuthenticateL_RFC2202_Test6_80L();
-         void UT_AuthenticateL_RFC2202_Test6_32L();
-         void UT_AuthenticateL_RFC2202_Test7_80L();
-         void UT_AuthenticateL_RFC2202_Test7_32L();
-         void UT_AuthenticateL_Test8_32L(  );
+         void UT_AuthenticateL_RFC2202_Test1_EightyL();
+         void UT_AuthenticateL_RFC2202_Test1_ThirtyTwoL();
+         void UT_AuthenticateL_RFC2202_Test2_EightyL();
+         void UT_AuthenticateL_RFC2202_Test2_ThirtyTwoL();
+         void UT_AuthenticateL_RFC2202_Test3_EightyL();
+         void UT_AuthenticateL_RFC2202_Test3_ThirtyTwoL();
+         void UT_AuthenticateL_RFC2202_Test4_EightyL();
+         void UT_AuthenticateL_RFC2202_Test4_ThirtyTwoL();
+         void UT_AuthenticateL_RFC2202_Test5_EightyL();
+         void UT_AuthenticateL_RFC2202_Test5_ThirtyTwoL();
+         void UT_AuthenticateL_RFC2202_Test6_EightyL();
+         void UT_AuthenticateL_RFC2202_Test6_ThirtyTwoL();
+         void UT_AuthenticateL_RFC2202_Test7_EightyL();
+         void UT_AuthenticateL_RFC2202_Test7_ThirtyTwoL();
+         void UT_AuthenticateL_Test8_ThirtyTwoL(  );
          void UT_AuthenticateL_Test_KeyChangedL();
          
     private:    // Data
--- a/rtp/srtpstack/tsrc/ut_srtpstack/inc/UT_SRTPAuthentication_HMAC_SHA1.h	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/srtpstack/tsrc/ut_srtpstack/inc/UT_SRTPAuthentication_HMAC_SHA1.h	Tue Aug 31 15:32:57 2010 +0300
@@ -67,21 +67,21 @@
         
          void Teardown();
         
-         void UT_AuthenticateL_RFC2202_Test1_80L();
-         void UT_AuthenticateL_RFC2202_Test1_32L();
-         void UT_AuthenticateL_RFC2202_Test2_80L();
-         void UT_AuthenticateL_RFC2202_Test2_32L();
-         void UT_AuthenticateL_RFC2202_Test3_80L();
-         void UT_AuthenticateL_RFC2202_Test3_32L();
-         void UT_AuthenticateL_RFC2202_Test4_80L();
-         void UT_AuthenticateL_RFC2202_Test4_32L();
-         void UT_AuthenticateL_RFC2202_Test5_80L();
-         void UT_AuthenticateL_RFC2202_Test5_32L();
-         void UT_AuthenticateL_RFC2202_Test6_80L();
-         void UT_AuthenticateL_RFC2202_Test6_32L();
-         void UT_AuthenticateL_RFC2202_Test7_80L();
-         void UT_AuthenticateL_RFC2202_Test7_32L();
-         void UT_AuthenticateL_Test8_32L(  );
+         void UT_AuthenticateL_RFC2202_Test1_EightyL();
+         void UT_AuthenticateL_RFC2202_Test1_ThirtyTwoL();
+         void UT_AuthenticateL_RFC2202_Test2_EightyL();
+         void UT_AuthenticateL_RFC2202_Test2_ThirtyTwoL();
+         void UT_AuthenticateL_RFC2202_Test3_EightyL();
+         void UT_AuthenticateL_RFC2202_Test3_ThirtyTwoL();
+         void UT_AuthenticateL_RFC2202_Test4_EightyL();
+         void UT_AuthenticateL_RFC2202_Test4_ThirtyTwoL();
+         void UT_AuthenticateL_RFC2202_Test5_EightyL();
+         void UT_AuthenticateL_RFC2202_Test5_ThirtyTwoL();
+         void UT_AuthenticateL_RFC2202_Test6_EightyL();
+         void UT_AuthenticateL_RFC2202_Test6_ThirtyTwoL();
+         void UT_AuthenticateL_RFC2202_Test7_EightyL();
+         void UT_AuthenticateL_RFC2202_Test7_ThirtyTwoL();
+         void UT_AuthenticateL_Test8_ThirtyTwoL(  );
          void UT_AuthenticateL_Test_KeyChangedL();
          
          void Hex(HBufC8& aString);                                  
--- a/rtp/srtpstack/tsrc/ut_srtpstack/inc/UT_SRTPAuthentication_NULL.h	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/srtpstack/tsrc/ut_srtpstack/inc/UT_SRTPAuthentication_NULL.h	Tue Aug 31 15:32:57 2010 +0300
@@ -67,7 +67,7 @@
         
          void Teardown();
         
-         void UT_AuthenticateL_RFC2202_Test1_80L();
+         void UT_AuthenticateL_RFC2202_Test1_EightyL();
          
          void Hex(HBufC8& aString);                                  
 
--- a/rtp/srtpstack/tsrc/ut_srtpstack/src/UT_CSRTPCryptoContext.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/srtpstack/tsrc/ut_srtpstack/src/UT_CSRTPCryptoContext.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -228,6 +228,12 @@
     delete iSRTPSession; 
 	
     delete iContext2;
+	
+	iStreamIn = NULL;
+    iStreamOut = NULL; 
+    iSRTPSession = NULL; 
+	
+    iContext2 = NULL;
     			
     }
 
@@ -250,22 +256,22 @@
 
     TSrtpCryptoParams params;
     //test constructL  
-    iMasterKey3 = CSRTPMasterKey::NewLC( *masterKey3, *mki3,
+    iMasterKey3 = CSRTPMasterKey::NewL( *masterKey3, *mki3,
     							    KSRTPDefSessionEncryptionKeyLength, 
     							    KSRTPDefSessionAuthenticationKeyLength );
     iMasterSalt3 = CSRTPMasterSalt::NewL( *masterSalt3, 1100 );
-    CleanupStack::Pop( iMasterKey3 );
+   
     CleanupStack::PopAndDestroy( mki3 );
 	
     CleanupStack::PopAndDestroy( masterSalt3 );
     CleanupStack::PopAndDestroy( masterKey3 ); 
-    CleanupStack::PushL( iMasterKey3 );
-    CleanupStack::PushL( iMasterSalt3 );
+    
+  
     params.iSrtcpAuthTagLen=80;
    	RTP_EUNIT_ASSERT_SPECIFIC_LEAVE( iContext3= CSRTPCryptoContext::NewL(iMasterKey3,iMasterSalt3, params ),
    		 KErrArgument );
-   	CleanupStack::Pop( iMasterSalt3 );
-    CleanupStack::Pop( iMasterKey3 );
+   	
+  
    	delete iContext3;	 
    	
     }
@@ -288,25 +294,20 @@
  
 
     TSrtpCryptoParams params;
-   	iMasterKey3 = CSRTPMasterKey::NewLC( *masterKey3, *mki3,
+   	iMasterKey3 = CSRTPMasterKey::NewL( *masterKey3, *mki3,
     							    KSRTPDefSessionEncryptionKeyLength, 
     							    KSRTPDefSessionAuthenticationKeyLength );
     iMasterSalt3 = CSRTPMasterSalt::NewL( *masterSalt3, 1100 );
-    CleanupStack::Pop( iMasterKey3 );
+   
     CleanupStack::PopAndDestroy( mki3 );
 	CleanupStack::PopAndDestroy( masterSalt3 );
     CleanupStack::PopAndDestroy( masterKey3 ); 
     
     params.iSrtcpAuthTagLen=80;
-    
-    CleanupStack::PushL( iMasterKey3 );
-    CleanupStack::PushL( iMasterSalt3 );
-   	RTP_EUNIT_ASSERT_SPECIFIC_LEAVE( iContext3= CSRTPCryptoContext::NewL(iMasterKey3,iMasterSalt3, params ),
+    RTP_EUNIT_ASSERT_SPECIFIC_LEAVE( iContext3= CSRTPCryptoContext::NewL(iMasterKey3,iMasterSalt3, params ),
    		 KErrArgument );
    	
-   	CleanupStack::Pop( iMasterSalt3 );
-    CleanupStack::Pop( iMasterKey3 );	 
-   	delete iContext3;	 
+    delete iContext3;	 
    
 	}
 	
@@ -324,18 +325,18 @@
 	*mki = K128bitMKITest1;
 	Hex(*mki);
 	
-	iMasterKey4 = CSRTPMasterKey::NewLC( *masterKey, *mki,
+	iMasterKey4 = CSRTPMasterKey::NewL( *masterKey, *mki,
 									KSRTPDefSessionEncryptionKeyLength, 
         							KSRTPDefSessionAuthenticationKeyLength );
     iMasterSalt4 = CSRTPMasterSalt::NewL( *masterSalt,KSRTPDefSessionSaltingKeyLength );
-    CleanupStack::Pop( iMasterKey4 );
+   
     CleanupStack::PopAndDestroy( mki );
 	
     CleanupStack::PopAndDestroy( masterSalt );
     CleanupStack::PopAndDestroy( masterKey );  
     
-    CleanupStack::PushL( iMasterKey4 );
-    CleanupStack::PushL( iMasterSalt4 );
+    
+   
      
 	 //invalid authalg
 	 TSrtpCryptoParams params;
@@ -343,8 +344,8 @@
     RTP_EUNIT_ASSERT_SPECIFIC_LEAVE(iContext4=CSRTPCryptoContext::NewL(iMasterKey4,iMasterSalt4, params),
      KErrArgument );
      
-    CleanupStack::Pop( iMasterSalt4 );
-    CleanupStack::Pop( iMasterKey4 );
+    
+  
     }
 
 void UT_CSRTPCryptoContext::UT_CSRTPCryptoContext_Test4L(  )
@@ -361,17 +362,17 @@
 	*mki = K128bitMKITest1;
 	Hex(*mki);
 	
-	iMasterKey5 = CSRTPMasterKey::NewLC( *masterKey, *mki,
+	iMasterKey5 = CSRTPMasterKey::NewL( *masterKey, *mki,
 									KSRTPDefSessionEncryptionKeyLength, 
         							KSRTPDefSessionAuthenticationKeyLength);
     iMasterSalt5 = CSRTPMasterSalt::NewL( *masterSalt,KSRTPDefSessionSaltingKeyLength ); 
-    CleanupStack::Pop( iMasterKey5 );
+    
    	CleanupStack::PopAndDestroy( mki );
 	CleanupStack::PopAndDestroy( masterSalt );
     CleanupStack::PopAndDestroy( masterKey );   
 	
-	CleanupStack::PushL( iMasterKey5 );
-    CleanupStack::PushL( iMasterSalt5 );
+	
+    
     
 	TSrtpCryptoParams params;
 	 //invalid auth tag length in context5
@@ -379,8 +380,7 @@
 	 RTP_EUNIT_ASSERT_SPECIFIC_LEAVE( iContext5=CSRTPCryptoContext::NewL(iMasterKey5,iMasterSalt5,params ),
      KErrArgument );
      
-     CleanupStack::Pop( iMasterSalt5 );
-     CleanupStack::Pop( iMasterKey5 );
+ 
 	 }
 
 void UT_CSRTPCryptoContext::UT_CSRTPCryptoContext_Test5L(  )
@@ -396,26 +396,24 @@
     CleanupStack::PushL( mki);
 	*mki = K128bitMKITest1;
 	Hex(*mki);
-	iMasterKey6 = CSRTPMasterKey::NewLC( *masterKey, *mki,
+	iMasterKey6 = CSRTPMasterKey::NewL( *masterKey, *mki,
 									KSRTPDefSessionEncryptionKeyLength, 
         							KSRTPDefSessionAuthenticationKeyLength );
     iMasterSalt6 = CSRTPMasterSalt::NewL( *masterSalt,KSRTPDefSessionSaltingKeyLength );
-    CleanupStack::Pop( iMasterKey6 );
+  
 	TSrtpCryptoParams params;
 	CleanupStack::PopAndDestroy( mki );
 	CleanupStack::PopAndDestroy( masterSalt );
     CleanupStack::PopAndDestroy( masterKey );   
 	
-	CleanupStack::PushL( iMasterKey6 );
-    CleanupStack::PushL( iMasterSalt6 );
+	
     
 	//invalid prefix length in context6
 	params.iPrefixLen=10;
 	RTP_EUNIT_ASSERT_SPECIFIC_LEAVE( iContext6=CSRTPCryptoContext::NewL(iMasterKey6,iMasterSalt6, params )  ,
      KErrArgument ); 
      
-	CleanupStack::Pop( iMasterSalt6 );
-    CleanupStack::Pop( iMasterKey6 );
+	
      
 	}
 void UT_CSRTPCryptoContext::UT_MasterKey_Test1L(  )
@@ -536,26 +534,26 @@
 
     TSrtpCryptoParams params;
     //test constructL  
-    iMasterKey3 = CSRTPMasterKey::NewLC( *masterKey3, *mki3 );
+    iMasterKey3 = CSRTPMasterKey::NewL( *masterKey3, *mki3 );
     iMasterSalt3 = CSRTPMasterSalt::NewL( *masterSalt3);
-    CleanupStack::Pop( iMasterKey3 );
+    
     CleanupStack::PopAndDestroy( mki3 );
 	
     CleanupStack::PopAndDestroy( masterSalt3 );
     CleanupStack::PopAndDestroy( masterKey3 ); 
     
-    CleanupStack::PushL( iMasterKey3 );
-    CleanupStack::PushL( iMasterSalt3 );
+ 
     
    	iContext3= CSRTPCryptoContext::NewL(iMasterKey3,iMasterSalt3, params );
-   	CleanupStack::Pop( iMasterSalt3 );
-    CleanupStack::Pop( iMasterKey3 );
+ 
+ 
      
    	params.iSrtpAuthTagLen=112;
    	iContext3->UpdateCryptoParams(params );
    	EUNIT_ASSERT(iContext->IsEqual(*iContext3)==EFalse);
    
-   	delete iContext3;	 
+   	delete iContext3;
+	iContext3 = NULL;
    	//test only param is different
    	HBufC8* masterKey1 = HBufC8::NewL(K128bitMasterKey1().Length());
     CleanupStack::PushL( masterKey1 );
@@ -571,22 +569,22 @@
 	*mki = K128bitMKITest1;
 	Hex(*mki);
 
-	iMasterKey = CSRTPMasterKey::NewLC( *masterKey1, *mki,
+	iMasterKey = CSRTPMasterKey::NewL( *masterKey1, *mki,
 									KSRTPDefSessionEncryptionKeyLength, 
         							KSRTPDefSessionAuthenticationKeyLength );
     iMasterSalt = CSRTPMasterSalt::NewL( *masterSalt1,KSRTPDefSessionSaltingKeyLength );
-    CleanupStack::Pop( iMasterKey );
+  
     CleanupStack::PopAndDestroy( mki );
     CleanupStack::PopAndDestroy( masterSalt1 );
     CleanupStack::PopAndDestroy( masterKey1 );
     TSrtpCryptoParams params2;
     params2.iSrtpAuthTagLen=32;
-    CleanupStack::PushL( iMasterKey );
-    CleanupStack::PushL( iMasterSalt );
+  
+ 
     CSRTPCryptoContext* context = CSRTPCryptoContext::NewL(iMasterKey, iMasterSalt,params2   );
     EUNIT_ASSERT(!iContext->IsEqual(*context));
-    CleanupStack::Pop( iMasterSalt );
-    CleanupStack::Pop( iMasterKey );
+    
+ 
     params2.iSrtpAuthTagLen=80;
     params2.iMasterKeysLifeTime = 0;
     context->UpdateCryptoParams(params2 );
@@ -602,7 +600,7 @@
 	EUNIT_ASSERT(iContext->CryptoParams().iIsRCCm3Sync);
 	}
 	
-void UT_CSRTPCryptoContext::TestIsValid()
+void UT_CSRTPCryptoContext::TestIsValidL()
 	{
 	TSrtpCryptoParams params;
 	//TEst cases 1 about Encryption method
@@ -665,23 +663,20 @@
 	*mki3 = K128bitMKITest3;
 	Hex(*mki3);
  
-    iMasterKey3 = CSRTPMasterKey::NewLC( *masterKey3, *mki3,
+    iMasterKey3 = CSRTPMasterKey::NewL( *masterKey3, *mki3,
     								KSRTPDefSessionAuthenticationKeyLength, 
     							    KSRTPDefSessionEncryptionKeyLength
     							    );
     iMasterSalt3 = CSRTPMasterSalt::NewL( *masterSalt3, 1100 );
-    CleanupStack::Pop( iMasterKey3 );
+   
     CleanupStack::PopAndDestroy( mki3 );
 	
     CleanupStack::PopAndDestroy( masterSalt3 );
     CleanupStack::PopAndDestroy( masterKey3 ); 
-    CleanupStack::PushL( iMasterKey3 );
-    CleanupStack::PushL( iMasterSalt3 );
+  
    	RTP_EUNIT_ASSERT_SPECIFIC_LEAVE( iContext3= CSRTPCryptoContext::NewL(iMasterKey3,iMasterSalt3, params ),
    		 KErrArgument );
    
-	CleanupStack::Pop( iMasterSalt3 );
-    CleanupStack::Pop( iMasterKey3 );
 	}
 	
 void UT_CSRTPCryptoContext::SRTPMasterKeyStaleEvent(const CSRTPStream& /*aStream*/)
@@ -828,7 +823,7 @@
     "CSRTPCryptoContext",
     "TestIsValid",
     "FUNCTIONALITY",
-    SetupL, TestIsValid, Teardown)  
+    SetupL, TestIsValidL, Teardown)  
     
 EUNIT_END_TEST_TABLE
 
--- a/rtp/srtpstack/tsrc/ut_srtpstack/src/UT_CSRTPCryptoHandler.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/srtpstack/tsrc/ut_srtpstack/src/UT_CSRTPCryptoHandler.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -193,6 +193,12 @@
 
     delete iStreamOut;
     delete iSRTPSession; 
+	
+	iTestAuthTag80Bits = NULL;
+    iStreamIn = NULL;
+
+    iStreamOut = NULL;
+    iSRTPSession = NULL; 
     
     iResult.Zero();        
     iRFCTestSalt112bits.Zero();
--- a/rtp/srtpstack/tsrc/ut_srtpstack/src/UT_CSRTPCryptoHandlerSRTCP.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/srtpstack/tsrc/ut_srtpstack/src/UT_CSRTPCryptoHandlerSRTCP.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -228,14 +228,26 @@
     delete iTestPayload160Bits;
     delete iTestMKI128Bits;
     delete iTestAuthTag80Bits;
+	
+	iDecryptedPayload = NULL;
+    iTestPayload160Bits = NULL;
+    iTestMKI128Bits = NULL;
+    iTestAuthTag80Bits = NULL;
 
     delete iStreamIn;
-    delete iSRTPSession;    
+    delete iSRTPSession;   
+
+    iStreamIn = NULL;
+    iSRTPSession = NULL;	
 
     
     delete iRFC3711_SessionEncrKey128bits;
     delete iRFC3711_SessionSaltKey128bits;
-    delete iRFC3711_SessionAuthKey128bits;    
+    delete iRFC3711_SessionAuthKey128bits;   
+
+    iRFC3711_SessionEncrKey128bits = NULL;
+    iRFC3711_SessionSaltKey128bits = NULL;
+    iRFC3711_SessionAuthKey128bits = NULL; 	
 
     }
 
@@ -251,7 +263,7 @@
 
 
 
-void UT_CSRTPCryptoHandlerSRTCP::UT_DeriveSessionKeysL_1L()
+void UT_CSRTPCryptoHandlerSRTCP::UT_DeriveSessionKeysL_OneL()
 	{
 	HBufC8* encSrtcpPacket =HBufC8::NewLC(KSRTCPPacket().Length());
 	*encSrtcpPacket=KSRTCPPacket;
@@ -644,7 +656,7 @@
     "CSRTPCryptoHandlerSRTCP",
     "DeriveSessionKeys",
     "FUNCTIONALITY",
-    SetupL, UT_DeriveSessionKeysL_1L, Teardown)
+    SetupL, UT_DeriveSessionKeysL_OneL, Teardown)
     
 EUNIT_TEST(
     "Authentication1",
--- a/rtp/srtpstack/tsrc/ut_srtpstack/src/UT_CSRTPCryptoHandlerSRTP.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/srtpstack/tsrc/ut_srtpstack/src/UT_CSRTPCryptoHandlerSRTP.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -221,14 +221,26 @@
     delete iTestPayload160Bits;
     delete iTestMKI128Bits;
     delete iTestAuthTag80Bits;
+	
+    iDecryptedPayload = NULL;
+    iTestPayload160Bits = NULL;
+    iTestMKI128Bits = NULL;
+    iTestAuthTag80Bits = NULL;
 
     delete iStreamIn;
     delete iSRTPSession;    
+	
+	iStreamIn = NULL;
+    iSRTPSession = NULL; 
 
     
     delete iRFC3711_SessionEncrKey128bits;
     delete iRFC3711_SessionSaltKey128bits;
     delete iRFC3711_SessionAuthKey128bits;    
+	
+	iRFC3711_SessionEncrKey128bits = NULL;
+    iRFC3711_SessionSaltKey128bits = NULL;
+    iRFC3711_SessionAuthKey128bits = NULL;  
 
     }
 
@@ -428,7 +440,7 @@
 
 
 
-void UT_CSRTPCryptoHandlerSRTP::UT_DeriveSessionKeysL_1L(  )
+void UT_CSRTPCryptoHandlerSRTP::UT_DeriveSessionKeysL_OneL(  )
     {
     //Create the packet firest 
      TInt authTagLenInBytes = iContext->CryptoParams().iSrtpAuthTagLen/8;
@@ -1628,7 +1640,7 @@
     "CSRTPCryptoHandlerSRTP",
     "DeriveSessionKeysL",
     "FUNCTIONALITY",
-    SetupL, UT_DeriveSessionKeysL_1L, Teardown)
+    SetupL, UT_DeriveSessionKeysL_OneL, Teardown)
 
 EUNIT_TEST(
     "UpdateROC - 1 ",
--- a/rtp/srtpstack/tsrc/ut_srtpstack/src/UT_CSRTPKeyDerivation_AESCM128.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/srtpstack/tsrc/ut_srtpstack/src/UT_CSRTPKeyDerivation_AESCM128.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -228,7 +228,7 @@
     }
 
 
-void UT_CSRTPKeyDerivation_AESCM128::UT_ErronousInput_1L()
+void UT_CSRTPKeyDerivation_AESCM128::UT_ErronousInput_OneL()
     {    
         
     TInt err = KErrNone;
@@ -332,14 +332,14 @@
     "CSRTPKeyDerivation_AESCM128",
     "PRF_128L",
     "FUNCTIONALITY",
-    SetupL, UT_ErronousInput_1L, Teardown)
+    SetupL, UT_ErronousInput_OneL, Teardown)
 
 EUNIT_END_TEST_TABLE
 
 //  END OF FILE
 
 /*
-void UT_CSRTPKeyDerivation_AESCM128::UT_ErronousInput_1L()
+void UT_CSRTPKeyDerivation_AESCM128::UT_ErronousInput_OneL()
     {
     TInt err = KErrNone;
     HBufC8* result = NULL;
--- a/rtp/srtpstack/tsrc/ut_srtpstack/src/UT_CSRTPMasterKey.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/srtpstack/tsrc/ut_srtpstack/src/UT_CSRTPMasterKey.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -144,6 +144,12 @@
 	delete iMasterKey4;
 	delete iMasterKey5;
 	
+    iMasterKey = NULL;
+	iMasterKey2 = NULL;
+	iMasterKey3 = NULL;
+	iMasterKey4 = NULL;
+	iMasterKey5 = NULL;
+	
 	iTestKey128bits.Zero();
     iTestKey128bits_dehexed.Zero();    
     }
--- a/rtp/srtpstack/tsrc/ut_srtpstack/src/UT_CSRTPMasterSalt.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/srtpstack/tsrc/ut_srtpstack/src/UT_CSRTPMasterSalt.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -100,6 +100,12 @@
 	delete iMasterSalt2;
 	delete iMasterSalt3;
 	delete iMasterSalt4;
+	
+    iMasterSalt = NULL;
+	iMasterSalt2 = NULL;
+	iMasterSalt3 = NULL;
+	iMasterSalt4 = NULL;
+	
 	iRFCTestSalt112bits.Zero();
     iRFCTestSalt112bits_dehexed.Zero();      
     }
--- a/rtp/srtpstack/tsrc/ut_srtpstack/src/UT_CSRTPSession.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/srtpstack/tsrc/ut_srtpstack/src/UT_CSRTPSession.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -151,14 +151,14 @@
     iContext=NULL;
     }
 
-void UT_CSRTPSession::UT_CSRTPSession_NewL_1L(  )
+void UT_CSRTPSession::UT_CSRTPSession_NewL_OneL(  )
     {
     CSRTPSession* srtpSession = CSRTPSession::NewL( iDestination); 
     EUNIT_ASSERT(srtpSession);
     delete srtpSession;
     }
 
-void UT_CSRTPSession::UT_CSRTPSession_NewL_2L(  )
+void UT_CSRTPSession::UT_CSRTPSession_NewL_TwoL(  )
     {
                             
     CSRTPSession* srtpSession = CSRTPSession::NewL(iDestination,
@@ -630,14 +630,14 @@
     "CSRTPSession",
     "NewL",
     "FUNCTIONALITY",
-    SetupL, UT_CSRTPSession_NewL_1L, Teardown)
+    SetupL, UT_CSRTPSession_NewL_OneL, Teardown)
 
 EUNIT_TEST(
     "NewL - test ",
     "CSRTPSession",
     "NewL",
     "FUNCTIONALITY",
-    SetupL, UT_CSRTPSession_NewL_2L, Teardown)
+    SetupL, UT_CSRTPSession_NewL_TwoL, Teardown)
 EUNIT_TEST(
     "ConstructL ",
     "CSRTPSession",
--- a/rtp/srtpstack/tsrc/ut_srtpstack/src/UT_CSRTPStream.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/srtpstack/tsrc/ut_srtpstack/src/UT_CSRTPStream.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -230,13 +230,25 @@
     delete iTestPayload160Bits;
     delete iTestMKI128Bits;
     delete iTestAuthTag80Bits;
+	
+	iDecryptedPayload = NULL;
+    iTestPayload160Bits = NULL;
+    iTestMKI128Bits = NULL;
+    iTestAuthTag80Bits = NULL;
 
     delete iStreamIn;
-    delete iSRTPSession;    
+    delete iSRTPSession;  
+
+    iStreamIn = NULL;
+    iSRTPSession = NULL;	
 
     delete iRFC3711_SessionEncrKey128bits;
     delete iRFC3711_SessionSaltKey128bits;
     delete iRFC3711_SessionAuthKey128bits;    
+	
+	iRFC3711_SessionEncrKey128bits = NULL;
+    iRFC3711_SessionSaltKey128bits = NULL;
+    iRFC3711_SessionAuthKey128bits = NULL;    
 
     }
     
@@ -348,7 +360,7 @@
     delete streamIn;
     }
  
- void UT_CSRTPStream::UT_CSRTPStream_ReKeyNeeded_1L(  )
+ void UT_CSRTPStream::UT_CSRTPStream_ReKeyNeeded_OneL(  )
     {
     iReKeyCalled= EFalse;
     CSRTPStreamIn* streamIn = CSRTPStreamIn::NewL(*iSRTPSession, (TUint)0);
@@ -357,7 +369,7 @@
     delete streamIn;
     }   
 
-void UT_CSRTPStream::UT_CSRTPStream_ReKeyNeeded_2L(  )
+void UT_CSRTPStream::UT_CSRTPStream_ReKeyNeeded_TwoL(  )
     {
     iReKeyCalled= EFalse;
     HBufC8* masterKey = HBufC8::NewL(KRFC3711_TestMasterKey128bits().Length());
@@ -432,13 +444,13 @@
     "CSRTPStream",
     "ReKey",
     "FUNCTIONALITY",
-    SetupL, UT_CSRTPStream_ReKeyNeeded_1L, Teardown)    
+    SetupL, UT_CSRTPStream_ReKeyNeeded_OneL, Teardown)    
 EUNIT_TEST(
     "ReKey2 ",
     "CSRTPStream",
     "ReKey",
     "FUNCTIONALITY",
-    SetupL, UT_CSRTPStream_ReKeyNeeded_2L, Teardown)    
+    SetupL, UT_CSRTPStream_ReKeyNeeded_TwoL, Teardown)    
 
 EUNIT_TEST(
     "TestNewL",
--- a/rtp/srtpstack/tsrc/ut_srtpstack/src/UT_CSRTPStreamIn.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/srtpstack/tsrc/ut_srtpstack/src/UT_CSRTPStreamIn.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -347,11 +347,19 @@
     {
     delete iDecryptedPayload;
     delete iTestPayload160Bits;
+	
+	iDecryptedPayload = NULL;
+    iTestPayload160Bits = NULL;
+
 
 
     delete iStreamIn;
     delete iStreamInLateBD;
     delete iSRTPSession;    
+	
+	iStreamIn = NULL;
+    iStreamInLateBD = NULL;
+    iSRTPSession = NULL; 
 
    
     delete iRFC3711_SessionEncrKey128bits;
@@ -360,16 +368,23 @@
     delete iRFC3711_RtcpEncrKey128bits;
 	delete iRFC3711_RtcpSaltKey128bits;
 	delete iRFC3711_RtcpAuthKey128bits;
+	
+	iRFC3711_SessionEncrKey128bits = NULL;
+    iRFC3711_SessionSaltKey128bits = NULL;
+    iRFC3711_SessionAuthKey128bits = NULL;    
+    iRFC3711_RtcpEncrKey128bits = NULL;
+	iRFC3711_RtcpSaltKey128bits = NULL;
+	iRFC3711_RtcpAuthKey128bits = NULL;
     }
 
-void UT_CSRTPStreamIn::UT_CSRTPStreamIn_NewL_1L(  )
+void UT_CSRTPStreamIn::UT_CSRTPStreamIn_NewL_OneL(  )
     {        
     CSRTPStreamIn* tempStreamIn = CSRTPStreamIn::NewL(*iSRTPSession, (TUint)1);
     EUNIT_ASSERT(tempStreamIn->SSRC()== 1);
     delete tempStreamIn;
     }
 
-void UT_CSRTPStreamIn::UT_CSRTPStreamIn_NewL_2L(  )
+void UT_CSRTPStreamIn::UT_CSRTPStreamIn_NewL_TwoL(  )
     {
     HBufC8* masterKey = HBufC8::NewL(KRFC3711_TestMasterKey128bits().Length());
     CleanupStack::PushL( masterKey );
@@ -406,7 +421,7 @@
      CleanupStack::PopAndDestroy( srtpSession );                   
     }
 
-void UT_CSRTPStreamIn::UT_CSRTPStreamIn_NewL_3L(  )
+void UT_CSRTPStreamIn::UT_CSRTPStreamIn_NewL_ThreeL(  )
     {
     HBufC8* masterKey = HBufC8::NewL(KRFC3711_TestMasterKey128bits().Length());
     CleanupStack::PushL( masterKey );
@@ -442,7 +457,7 @@
     delete tempStreamIn;   
     CleanupStack::PopAndDestroy( srtpSession );                   
     }
-void UT_CSRTPStreamIn::UT_CSRTPStreamIn_NewL_4L(  )
+void UT_CSRTPStreamIn::UT_CSRTPStreamIn_NewL_FourL(  )
     {
      HBufC8* masterKey = HBufC8::NewL(KRFC3711_TestMasterKey128bits().Length());
     CleanupStack::PushL( masterKey );
@@ -479,7 +494,7 @@
     CleanupStack::PopAndDestroy( srtpSession );
     }
     
-void UT_CSRTPStreamIn::UT_CSRTPStreamIn_NewL_5L(  )
+void UT_CSRTPStreamIn::UT_CSRTPStreamIn_NewL_FiveL(  )
     {
      HBufC8* masterKey = HBufC8::NewL(KRFC3711_TestMasterKey128bits().Length());
     CleanupStack::PushL( masterKey );
@@ -1036,35 +1051,35 @@
     "CSRTPStreamIn",
     "NewL1",
     "FUNCTIONALITY",
-    SetupL, UT_CSRTPStreamIn_NewL_1L, Teardown)
+    SetupL, UT_CSRTPStreamIn_NewL_OneL, Teardown)
 
 EUNIT_TEST(
     "NewL2 - test ",
     "CSRTPStreamIn",
     "NewL2",
     "FUNCTIONALITY",
-    SetupL, UT_CSRTPStreamIn_NewL_2L, Teardown)
+    SetupL, UT_CSRTPStreamIn_NewL_TwoL, Teardown)
 
 EUNIT_TEST(
     "NewL3 - test ",
     "CSRTPStreamIn",
     "NewL3",
     "FUNCTIONALITY",
-    SetupL, UT_CSRTPStreamIn_NewL_3L, Teardown)
+    SetupL, UT_CSRTPStreamIn_NewL_ThreeL, Teardown)
     
 EUNIT_TEST(
     "NewL4 - test ",
     "CSRTPStreamIn",
     "NewL4",
     "FUNCTIONALITY",
-    SetupL, UT_CSRTPStreamIn_NewL_4L, Teardown)    
+    SetupL, UT_CSRTPStreamIn_NewL_FourL, Teardown)    
 
 EUNIT_TEST(
     "NewL5 - test ",
     "CSRTPStreamIn",
     "NewL5",
     "FUNCTIONALITY",
-    SetupL, UT_CSRTPStreamIn_NewL_5L, Teardown)    
+    SetupL, UT_CSRTPStreamIn_NewL_FiveL, Teardown)    
 EUNIT_TEST(
     "UnprotectSrtpL - test ",
     "CSRTPStreamIn",
--- a/rtp/srtpstack/tsrc/ut_srtpstack/src/UT_CSRTPStreamOut.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/srtpstack/tsrc/ut_srtpstack/src/UT_CSRTPStreamOut.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -334,10 +334,16 @@
     {
     delete iDecryptedPayload;
     delete iTestPayload160Bits;
+	
+	iDecryptedPayload = NULL;
+    iTestPayload160Bits = NULL;
     //delete iTestMKI128Bits;
 
     delete iStreamOut;
     delete iSRTPSession;    
+	
+	iStreamOut = NULL;
+    iSRTPSession = NULL; 
 
     
     delete iRFC3711_SessionEncrKey128bits;
@@ -346,17 +352,23 @@
     delete iRFC3711_RtcpEncrKey128bits;
 	delete iRFC3711_RtcpSaltKey128bits;
 	delete iRFC3711_RtcpAuthKey128bits;    
-
+    
+	iRFC3711_SessionEncrKey128bits = NULL;
+    iRFC3711_SessionSaltKey128bits = NULL;
+    iRFC3711_SessionAuthKey128bits = NULL;    
+    iRFC3711_RtcpEncrKey128bits = NULL;
+	iRFC3711_RtcpSaltKey128bits = NULL;
+	iRFC3711_RtcpAuthKey128bits = NULL;
     }
 
-void UT_CSRTPStreamOut::UT_CSRTPStreamOut_NewL_1L(  )
+void UT_CSRTPStreamOut::UT_CSRTPStreamOut_NewL_OneL(  )
     {
     CSRTPStreamOut* tempStreamOut = CSRTPStreamOut::NewL(*iSRTPSession, (TUint)1);
     EUNIT_ASSERT(tempStreamOut->SSRC()== 1);
     delete tempStreamOut;
     }
 
-void UT_CSRTPStreamOut::UT_CSRTPStreamOut_NewL_2L(  )
+void UT_CSRTPStreamOut::UT_CSRTPStreamOut_NewL_TwoL(  )
     {
         HBufC8* masterKey = HBufC8::NewL(KRFC3711_TestMasterKey128bits().Length());
     CleanupStack::PushL( masterKey );
@@ -399,7 +411,7 @@
     delete srtpSession;                     
     }
 
-void UT_CSRTPStreamOut::UT_CSRTPStreamOut_NewL_3L(  )
+void UT_CSRTPStreamOut::UT_CSRTPStreamOut_NewL_ThreeL(  )
     {
         HBufC8* masterKey = HBufC8::NewL(KRFC3711_TestMasterKey128bits().Length());
     CleanupStack::PushL( masterKey );
@@ -764,20 +776,20 @@
     "CSRTPStreamOut",
     "NewL",
     "FUNCTIONALITY",
-    SetupL, UT_CSRTPStreamOut_NewL_1L, Teardown)
+    SetupL, UT_CSRTPStreamOut_NewL_OneL, Teardown)
 
 EUNIT_TEST(
     "NewL2 - test ",
     "CSRTPStreamOut",
     "NewL2",
     "FUNCTIONALITY",
-    SetupL, UT_CSRTPStreamOut_NewL_2L, Teardown)
+    SetupL, UT_CSRTPStreamOut_NewL_TwoL, Teardown)
 EUNIT_TEST(
     "NewL3 - test ",
     "CSRTPStreamOut",
     "NewL3",
     "FUNCTIONALITY",
-    SetupL, UT_CSRTPStreamOut_NewL_3L, Teardown)
+    SetupL, UT_CSRTPStreamOut_NewL_ThreeL, Teardown)
 
 EUNIT_TEST(
     "ProtectRtpL - test ",
--- a/rtp/srtpstack/tsrc/ut_srtpstack/src/UT_CSrtpAuthentication_RCC.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/srtpstack/tsrc/ut_srtpstack/src/UT_CSrtpAuthentication_RCC.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -315,49 +315,91 @@
 void UT_CSrtpAuthentication_RCC::Teardown(  )
     {
     delete iAuthenticator;
+	iAuthenticator = NULL;
     
 	delete iRFC2202_Test1_Key_160bits;
 	delete iRFC2202_Test1_Data_16bits;
 	delete iRFC2202_Test1_Tag_80bits;
 	delete iRFC2202_Test1_Tag_32bits;
+	
+	iRFC2202_Test1_Key_160bits = NULL;
+	iRFC2202_Test1_Data_16bits = NULL;
+	iRFC2202_Test1_Tag_80bits = NULL;
+	iRFC2202_Test1_Tag_32bits = NULL;
 
 	delete iRFC2202_Test2_Key;
 	delete iRFC2202_Test2_Data_28bits;
 	delete iRFC2202_Test2_Tag_80bits;
 	delete iRFC2202_Test2_Tag_32bits;
+	
+	iRFC2202_Test2_Key = NULL;
+	iRFC2202_Test2_Data_28bits = NULL;
+	iRFC2202_Test2_Tag_80bits = NULL;
+	iRFC2202_Test2_Tag_32bits = NULL;
 
 	delete iRFC2202_Test3_Key_160bits;
 	delete iRFC2202_Test3_Data_400bits;
 	delete iRFC2202_Test3_Tag_80bits;
 	delete iRFC2202_Test3_Tag_32bits;
+	
+	iRFC2202_Test3_Key_160bits = NULL;
+	iRFC2202_Test3_Data_400bits = NULL;
+	iRFC2202_Test3_Tag_80bits = NULL;
+	iRFC2202_Test3_Tag_32bits = NULL;
 
     delete iRFC2202_Test4_Key_200bits;
     delete iRFC2202_Test4_Data_400bits;
     delete iRFC2202_Test4_Tag_80bits;
     delete iRFC2202_Test4_Tag_32bits;
+	
+	iRFC2202_Test4_Key_200bits = NULL;
+    iRFC2202_Test4_Data_400bits = NULL;
+    iRFC2202_Test4_Tag_80bits = NULL;
+    iRFC2202_Test4_Tag_32bits = NULL;
 
     delete iRFC2202_Test5_Key_160bits;
     delete iRFC2202_Test5_Data;
     delete iRFC2202_Test5_Tag_80bits;
     delete iRFC2202_Test5_Tag_32bits;
+	
+	iRFC2202_Test5_Key_160bits = NULL;
+    iRFC2202_Test5_Data = NULL;
+    iRFC2202_Test5_Tag_80bits = NULL;
+    iRFC2202_Test5_Tag_32bits = NULL;
 
 	delete iRFC2202_Test6_Key_640bits;
 	delete iRFC2202_Test6_Data_54bits;
 	delete iRFC2202_Test6_Tag_80bits;
 	delete iRFC2202_Test6_Tag_32bits;
+	
+	iRFC2202_Test6_Key_640bits = NULL;
+	iRFC2202_Test6_Data_54bits = NULL;
+	iRFC2202_Test6_Tag_80bits = NULL;
+	iRFC2202_Test6_Tag_32bits = NULL;
 
 	delete iRFC2202_Test7_Key_640bits;
 	delete iRFC2202_Test7_Data_73bits;
 	delete iRFC2202_Test7_Tag_80bits;
 	delete iRFC2202_Test7_Tag_32bits;
+	
+	iRFC2202_Test7_Key_640bits = NULL;
+	iRFC2202_Test7_Data_73bits = NULL;
+	iRFC2202_Test7_Tag_80bits = NULL;
+	iRFC2202_Test7_Tag_32bits = NULL;
+	
 	delete iTest8_Key_160bits;
 	delete iTest8_Data_168bits;
 	delete iTest8_Data2_32bits;
 	delete iTest8_Tag_80bits;
+	
+	iTest8_Key_160bits = NULL;
+	iTest8_Data_168bits = NULL;
+	iTest8_Data2_32bits = NULL;
+	iTest8_Tag_80bits = NULL;
     }
 
 
-void UT_CSrtpAuthentication_RCC::UT_AuthenticateL_RFC2202_Test1_80L(  )
+void UT_CSrtpAuthentication_RCC::UT_AuthenticateL_RFC2202_Test1_EightyL(  )
     {
  	HBufC8* result = iAuthenticator->AuthenticateL(80, *iRFC2202_Test1_Key_160bits, 
  	                                         *iRFC2202_Test1_Data_16bits,
@@ -371,7 +413,7 @@
  	delete result;     	 	 	
     }
 
-void UT_CSrtpAuthentication_RCC::UT_AuthenticateL_RFC2202_Test1_32L(  )
+void UT_CSrtpAuthentication_RCC::UT_AuthenticateL_RFC2202_Test1_ThirtyTwoL(  )
     {
  	EUNIT_ASSERT_SPECIFIC_LEAVE( iAuthenticator->AuthenticateL(32, *iRFC2202_Test1_Key_160bits, 
  	                                         *iRFC2202_Test1_Data_16bits,
@@ -380,7 +422,7 @@
     }
 
 
-void UT_CSrtpAuthentication_RCC::UT_AuthenticateL_RFC2202_Test2_80L(  )
+void UT_CSrtpAuthentication_RCC::UT_AuthenticateL_RFC2202_Test2_EightyL(  )
     {
  	HBufC8* result = iAuthenticator->AuthenticateL(80, *iRFC2202_Test2_Key, 
  	                                         *iRFC2202_Test2_Data_28bits,
@@ -394,7 +436,7 @@
  	delete result;    
     }
 
-void UT_CSrtpAuthentication_RCC::UT_AuthenticateL_RFC2202_Test2_32L(  )
+void UT_CSrtpAuthentication_RCC::UT_AuthenticateL_RFC2202_Test2_ThirtyTwoL(  )
     {
  	EUNIT_ASSERT_SPECIFIC_LEAVE( iAuthenticator->AuthenticateL(32, *iRFC2202_Test2_Key, 
  	                                         *iRFC2202_Test2_Data_28bits,
@@ -403,7 +445,7 @@
     }
 
 
-void UT_CSrtpAuthentication_RCC::UT_AuthenticateL_RFC2202_Test3_80L(  )
+void UT_CSrtpAuthentication_RCC::UT_AuthenticateL_RFC2202_Test3_EightyL(  )
     {
  	HBufC8* result = iAuthenticator->AuthenticateL(80, *iRFC2202_Test3_Key_160bits, 
  	                                         *iRFC2202_Test3_Data_400bits,
@@ -417,7 +459,7 @@
  	delete result;    
     }
 
-void UT_CSrtpAuthentication_RCC::UT_AuthenticateL_RFC2202_Test3_32L(  )
+void UT_CSrtpAuthentication_RCC::UT_AuthenticateL_RFC2202_Test3_ThirtyTwoL(  )
     {
  	EUNIT_ASSERT_SPECIFIC_LEAVE( iAuthenticator->AuthenticateL(32, *iRFC2202_Test3_Key_160bits, 
  	                                         *iRFC2202_Test3_Data_400bits,
@@ -425,7 +467,7 @@
 
     }
 
-void UT_CSrtpAuthentication_RCC::UT_AuthenticateL_RFC2202_Test4_80L(  )
+void UT_CSrtpAuthentication_RCC::UT_AuthenticateL_RFC2202_Test4_EightyL(  )
     {
  	HBufC8* result = iAuthenticator->AuthenticateL(80, *iRFC2202_Test4_Key_200bits, 
  	                                         *iRFC2202_Test4_Data_400bits,
@@ -439,7 +481,7 @@
  	delete result;    
     }
 
-void UT_CSrtpAuthentication_RCC::UT_AuthenticateL_RFC2202_Test4_32L(  )
+void UT_CSrtpAuthentication_RCC::UT_AuthenticateL_RFC2202_Test4_ThirtyTwoL(  )
     {
  	EUNIT_ASSERT_SPECIFIC_LEAVE(  iAuthenticator->AuthenticateL(32, *iRFC2202_Test4_Key_200bits, 
  	                                         *iRFC2202_Test4_Data_400bits,
@@ -447,7 +489,7 @@
 
     }
 
-void UT_CSrtpAuthentication_RCC::UT_AuthenticateL_RFC2202_Test5_80L(  )
+void UT_CSrtpAuthentication_RCC::UT_AuthenticateL_RFC2202_Test5_EightyL(  )
     {
  	HBufC8* result = iAuthenticator->AuthenticateL(80, *iRFC2202_Test5_Key_160bits, 
  	                                         *iRFC2202_Test5_Data,
@@ -461,7 +503,7 @@
  	delete result;    
     }
 
-void UT_CSrtpAuthentication_RCC::UT_AuthenticateL_RFC2202_Test5_32L(  )
+void UT_CSrtpAuthentication_RCC::UT_AuthenticateL_RFC2202_Test5_ThirtyTwoL(  )
     {
  	EUNIT_ASSERT_SPECIFIC_LEAVE( iAuthenticator->AuthenticateL(32, *iRFC2202_Test5_Key_160bits, 
  	                                         *iRFC2202_Test5_Data,
@@ -469,7 +511,7 @@
 
     }
 
-void UT_CSrtpAuthentication_RCC::UT_AuthenticateL_RFC2202_Test6_80L(  )
+void UT_CSrtpAuthentication_RCC::UT_AuthenticateL_RFC2202_Test6_EightyL(  )
     {
  	HBufC8* result = iAuthenticator->AuthenticateL(80, *iRFC2202_Test6_Key_640bits, 
  	                                         *iRFC2202_Test6_Data_54bits,
@@ -483,7 +525,7 @@
  	delete result;    
     }
 
-void UT_CSrtpAuthentication_RCC::UT_AuthenticateL_RFC2202_Test6_32L(  )
+void UT_CSrtpAuthentication_RCC::UT_AuthenticateL_RFC2202_Test6_ThirtyTwoL(  )
     {
  	EUNIT_ASSERT_SPECIFIC_LEAVE(  iAuthenticator->AuthenticateL(32, *iRFC2202_Test6_Key_640bits, 
  	                                         *iRFC2202_Test6_Data_54bits,
@@ -491,7 +533,7 @@
 
     }
 
-void UT_CSrtpAuthentication_RCC::UT_AuthenticateL_RFC2202_Test7_80L(  )
+void UT_CSrtpAuthentication_RCC::UT_AuthenticateL_RFC2202_Test7_EightyL(  )
     {
  	HBufC8* result = iAuthenticator->AuthenticateL(80, *iRFC2202_Test7_Key_640bits, 
  	                                         *iRFC2202_Test7_Data_73bits,
@@ -505,7 +547,7 @@
  	delete result;    
     }
 
-void UT_CSrtpAuthentication_RCC::UT_AuthenticateL_RFC2202_Test7_32L(  )
+void UT_CSrtpAuthentication_RCC::UT_AuthenticateL_RFC2202_Test7_ThirtyTwoL(  )
     {
  	EUNIT_ASSERT_SPECIFIC_LEAVE(  iAuthenticator->AuthenticateL(32, *iRFC2202_Test7_Key_640bits, 
  	                                         *iRFC2202_Test7_Data_73bits,
@@ -514,7 +556,7 @@
     }
 
 
-void UT_CSrtpAuthentication_RCC::UT_AuthenticateL_Test8_32L(  )
+void UT_CSrtpAuthentication_RCC::UT_AuthenticateL_Test8_ThirtyTwoL(  )
     {
     TBuf8<20> buf; 
     TBuf8<19> buf2;
@@ -593,8 +635,8 @@
 
 void UT_CSrtpAuthentication_RCC::UT_AuthenticateL_Test_KeyChangedL()
 {
-    UT_AuthenticateL_RFC2202_Test2_80L();
-    UT_AuthenticateL_RFC2202_Test3_80L();
+    UT_AuthenticateL_RFC2202_Test2_EightyL();
+    UT_AuthenticateL_RFC2202_Test3_EightyL();
 }
 
 void UT_CSrtpAuthentication_RCC::Hex(HBufC8& aString)
@@ -630,104 +672,104 @@
     "CSrtpAuthentication_RCC",
     "AuthenticateL",
     "FUNCTIONALITY",
-    SetupL, UT_AuthenticateL_RFC2202_Test1_80L, Teardown)
+    SetupL, UT_AuthenticateL_RFC2202_Test1_EightyL, Teardown)
 
 EUNIT_TEST(
     "AuthenticateL - 1 32 bits",
     "CSrtpAuthentication_RCC",
     "AuthenticateL",
     "FUNCTIONALITY",
-    SetupL, UT_AuthenticateL_RFC2202_Test1_32L, Teardown)
+    SetupL, UT_AuthenticateL_RFC2202_Test1_ThirtyTwoL, Teardown)
 
 EUNIT_TEST(
     "AuthenticateL - 2 80 bits",
     "CSrtpAuthentication_RCC",
     "AuthenticateL",
     "FUNCTIONALITY",
-    SetupL, UT_AuthenticateL_RFC2202_Test2_80L, Teardown)
+    SetupL, UT_AuthenticateL_RFC2202_Test2_EightyL, Teardown)
 
 EUNIT_TEST(
     "AuthenticateL - 2 32 bits",
     "CSrtpAuthentication_RCC",
     "AuthenticateL",
     "FUNCTIONALITY",
-    SetupL, UT_AuthenticateL_RFC2202_Test2_32L, Teardown)
+    SetupL, UT_AuthenticateL_RFC2202_Test2_ThirtyTwoL, Teardown)
 
 EUNIT_TEST(
     "AuthenticateL - 3 80 bits",
     "CSrtpAuthentication_RCC",
     "AuthenticateL",
     "FUNCTIONALITY",
-    SetupL, UT_AuthenticateL_RFC2202_Test3_80L, Teardown)
+    SetupL, UT_AuthenticateL_RFC2202_Test3_EightyL, Teardown)
 
 EUNIT_TEST(
     "AuthenticateL - 3 32 bits",
     "CSrtpAuthentication_RCC",
     "AuthenticateL",
     "FUNCTIONALITY",
-    SetupL, UT_AuthenticateL_RFC2202_Test3_32L, Teardown)
+    SetupL, UT_AuthenticateL_RFC2202_Test3_ThirtyTwoL, Teardown)
 
 EUNIT_TEST(
     "AuthenticateL - 4 80 bits",
     "CSrtpAuthentication_RCC",
     "AuthenticateL",
     "FUNCTIONALITY",
-    SetupL, UT_AuthenticateL_RFC2202_Test4_80L, Teardown)
+    SetupL, UT_AuthenticateL_RFC2202_Test4_EightyL, Teardown)
 
 EUNIT_TEST(
     "AuthenticateL - 4 32 bits",
     "CSrtpAuthentication_RCC",
     "AuthenticateL",
     "FUNCTIONALITY",
-    SetupL, UT_AuthenticateL_RFC2202_Test4_32L, Teardown)
+    SetupL, UT_AuthenticateL_RFC2202_Test4_ThirtyTwoL, Teardown)
 
 EUNIT_TEST(
     "AuthenticateL - 5 80 bits",
     "CSrtpAuthentication_RCC",
     "AuthenticateL",
     "FUNCTIONALITY",
-    SetupL, UT_AuthenticateL_RFC2202_Test5_80L, Teardown)
+    SetupL, UT_AuthenticateL_RFC2202_Test5_EightyL, Teardown)
 
 EUNIT_TEST(
     "AuthenticateL - 5 32 bits",
     "CSrtpAuthentication_RCC",
     "AuthenticateL",
     "FUNCTIONALITY",
-    SetupL, UT_AuthenticateL_RFC2202_Test5_32L, Teardown)
+    SetupL, UT_AuthenticateL_RFC2202_Test5_ThirtyTwoL, Teardown)
 
 EUNIT_TEST(
     "AuthenticateL - 6 80 bits",
     "CSrtpAuthentication_RCC",
     "AuthenticateL",
     "FUNCTIONALITY",
-    SetupL, UT_AuthenticateL_RFC2202_Test6_80L, Teardown)
+    SetupL, UT_AuthenticateL_RFC2202_Test6_EightyL, Teardown)
 
 EUNIT_TEST(
     "AuthenticateL - 6 32 bits",
     "CSrtpAuthentication_RCC",
     "AuthenticateL",
     "FUNCTIONALITY",
-    SetupL, UT_AuthenticateL_RFC2202_Test6_32L, Teardown)
+    SetupL, UT_AuthenticateL_RFC2202_Test6_ThirtyTwoL, Teardown)
 
 EUNIT_TEST(
     "AuthenticateL - 7 80 bits",
     "CSrtpAuthentication_RCC",
     "AuthenticateL",
     "FUNCTIONALITY",
-    SetupL, UT_AuthenticateL_RFC2202_Test7_80L, Teardown)
+    SetupL, UT_AuthenticateL_RFC2202_Test7_EightyL, Teardown)
 
 EUNIT_TEST(
     "AuthenticateL - 7 32 bits",
     "CSrtpAuthentication_RCC",
     "AuthenticateL",
     "FUNCTIONALITY",
-    SetupL, UT_AuthenticateL_RFC2202_Test7_32L, Teardown)
+    SetupL, UT_AuthenticateL_RFC2202_Test7_ThirtyTwoL, Teardown)
 EUNIT_TEST(
     "AuthenticateL - RealPacket",
     "CSrtpAuthentication_RCC",
     "AuthenticateL with Real Packet",
     "FUNCTIONALITY",
-    SetupL, UT_AuthenticateL_Test8_32L, Teardown)
+    SetupL, UT_AuthenticateL_Test8_ThirtyTwoL, Teardown)
   
 EUNIT_TEST(
     "AuthenticateL - KeyChanged",
--- a/rtp/srtpstack/tsrc/ut_srtpstack/src/UT_SRTPAuthentication_HMAC_SHA1.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/srtpstack/tsrc/ut_srtpstack/src/UT_SRTPAuthentication_HMAC_SHA1.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -312,36 +312,67 @@
 void UT_SRTPAuthentication_HMAC_SHA1::Teardown(  )
     {
     delete iAuthenticator;
-    
+    iAuthenticator = NULL;
+	
 	delete iRFC2202_Test1_Key_160bits;
 	delete iRFC2202_Test1_Data_16bits;
 	delete iRFC2202_Test1_Tag_80bits;
 	delete iRFC2202_Test1_Tag_32bits;
+	
+	iRFC2202_Test1_Key_160bits = NULL;
+	iRFC2202_Test1_Data_16bits = NULL;
+	iRFC2202_Test1_Tag_80bits = NULL;
+	iRFC2202_Test1_Tag_32bits = NULL;
 
 	delete iRFC2202_Test2_Key;
 	delete iRFC2202_Test2_Data_28bits;
 	delete iRFC2202_Test2_Tag_80bits;
 	delete iRFC2202_Test2_Tag_32bits;
+	
+    iRFC2202_Test2_Key = NULL;
+	iRFC2202_Test2_Data_28bits = NULL;
+	iRFC2202_Test2_Tag_80bits = NULL;
+	iRFC2202_Test2_Tag_32bits = NULL;
 
 	delete iRFC2202_Test3_Key_160bits;
 	delete iRFC2202_Test3_Data_400bits;
 	delete iRFC2202_Test3_Tag_80bits;
 	delete iRFC2202_Test3_Tag_32bits;
+	
+    iRFC2202_Test3_Key_160bits = NULL;
+	iRFC2202_Test3_Data_400bits = NULL;
+	iRFC2202_Test3_Tag_80bits = NULL;
+	iRFC2202_Test3_Tag_32bits = NULL;
 
     delete iRFC2202_Test4_Key_200bits;
     delete iRFC2202_Test4_Data_400bits;
     delete iRFC2202_Test4_Tag_80bits;
     delete iRFC2202_Test4_Tag_32bits;
+	
+	iRFC2202_Test4_Key_200bits = NULL;
+    iRFC2202_Test4_Data_400bits = NULL;
+    iRFC2202_Test4_Tag_80bits = NULL;
+    iRFC2202_Test4_Tag_32bits = NULL;
 
     delete iRFC2202_Test5_Key_160bits;
     delete iRFC2202_Test5_Data;
     delete iRFC2202_Test5_Tag_80bits;
     delete iRFC2202_Test5_Tag_32bits;
 
+	iRFC2202_Test5_Key_160bits = NULL;
+    iRFC2202_Test5_Data = NULL;
+    iRFC2202_Test5_Tag_80bits = NULL;
+    iRFC2202_Test5_Tag_32bits = NULL;
+	
 	delete iRFC2202_Test6_Key_640bits;
 	delete iRFC2202_Test6_Data_54bits;
 	delete iRFC2202_Test6_Tag_80bits;
 	delete iRFC2202_Test6_Tag_32bits;
+	
+    iRFC2202_Test6_Key_640bits = NULL;
+	iRFC2202_Test6_Data_54bits = NULL;
+	iRFC2202_Test6_Tag_80bits = NULL;
+	iRFC2202_Test6_Tag_32bits = NULL;
 
 	delete iRFC2202_Test7_Key_640bits;
 	delete iRFC2202_Test7_Data_73bits;
@@ -351,10 +382,19 @@
 	delete iTest8_Data_168bits;
 	delete iTest8_Data2_32bits;
 	delete iTest8_Tag_80bits;
+	
+    iRFC2202_Test7_Key_640bits = NULL;
+	iRFC2202_Test7_Data_73bits = NULL;
+	iRFC2202_Test7_Tag_80bits = NULL;
+	iRFC2202_Test7_Tag_32bits = NULL;
+	iTest8_Key_160bits = NULL;
+	iTest8_Data_168bits = NULL;
+	iTest8_Data2_32bits = NULL;
+	iTest8_Tag_80bits = NULL;
     }
 
 
-void UT_SRTPAuthentication_HMAC_SHA1::UT_AuthenticateL_RFC2202_Test1_80L(  )
+void UT_SRTPAuthentication_HMAC_SHA1::UT_AuthenticateL_RFC2202_Test1_EightyL(  )
     {
  	HBufC8* result = iAuthenticator->AuthenticateL(80, *iRFC2202_Test1_Key_160bits, 
  	                                         *iRFC2202_Test1_Data_16bits,
@@ -368,7 +408,7 @@
  	delete result;     	 	 	
     }
 
-void UT_SRTPAuthentication_HMAC_SHA1::UT_AuthenticateL_RFC2202_Test1_32L(  )
+void UT_SRTPAuthentication_HMAC_SHA1::UT_AuthenticateL_RFC2202_Test1_ThirtyTwoL(  )
     {
  	HBufC8* result = iAuthenticator->AuthenticateL(32, *iRFC2202_Test1_Key_160bits, 
  	                                         *iRFC2202_Test1_Data_16bits,
@@ -383,7 +423,7 @@
     }
 
 
-void UT_SRTPAuthentication_HMAC_SHA1::UT_AuthenticateL_RFC2202_Test2_80L(  )
+void UT_SRTPAuthentication_HMAC_SHA1::UT_AuthenticateL_RFC2202_Test2_EightyL(  )
     {
  	HBufC8* result = iAuthenticator->AuthenticateL(80, *iRFC2202_Test2_Key, 
  	                                         *iRFC2202_Test2_Data_28bits,
@@ -397,7 +437,7 @@
  	delete result;    
     }
 
-void UT_SRTPAuthentication_HMAC_SHA1::UT_AuthenticateL_RFC2202_Test2_32L(  )
+void UT_SRTPAuthentication_HMAC_SHA1::UT_AuthenticateL_RFC2202_Test2_ThirtyTwoL(  )
     {
  	HBufC8* result = iAuthenticator->AuthenticateL(32, *iRFC2202_Test2_Key, 
  	                                         *iRFC2202_Test2_Data_28bits,
@@ -412,7 +452,7 @@
     }
 
 
-void UT_SRTPAuthentication_HMAC_SHA1::UT_AuthenticateL_RFC2202_Test3_80L(  )
+void UT_SRTPAuthentication_HMAC_SHA1::UT_AuthenticateL_RFC2202_Test3_EightyL(  )
     {
  	HBufC8* result = iAuthenticator->AuthenticateL(80, *iRFC2202_Test3_Key_160bits, 
  	                                         *iRFC2202_Test3_Data_400bits,
@@ -426,7 +466,7 @@
  	delete result;    
     }
 
-void UT_SRTPAuthentication_HMAC_SHA1::UT_AuthenticateL_RFC2202_Test3_32L(  )
+void UT_SRTPAuthentication_HMAC_SHA1::UT_AuthenticateL_RFC2202_Test3_ThirtyTwoL(  )
     {
  	HBufC8* result = iAuthenticator->AuthenticateL(32, *iRFC2202_Test3_Key_160bits, 
  	                                         *iRFC2202_Test3_Data_400bits,
@@ -440,7 +480,7 @@
  	delete result;    
     }
 
-void UT_SRTPAuthentication_HMAC_SHA1::UT_AuthenticateL_RFC2202_Test4_80L(  )
+void UT_SRTPAuthentication_HMAC_SHA1::UT_AuthenticateL_RFC2202_Test4_EightyL(  )
     {
  	HBufC8* result = iAuthenticator->AuthenticateL(80, *iRFC2202_Test4_Key_200bits, 
  	                                         *iRFC2202_Test4_Data_400bits,
@@ -454,7 +494,7 @@
  	delete result;    
     }
 
-void UT_SRTPAuthentication_HMAC_SHA1::UT_AuthenticateL_RFC2202_Test4_32L(  )
+void UT_SRTPAuthentication_HMAC_SHA1::UT_AuthenticateL_RFC2202_Test4_ThirtyTwoL(  )
     {
  	HBufC8* result = iAuthenticator->AuthenticateL(32, *iRFC2202_Test4_Key_200bits, 
  	                                         *iRFC2202_Test4_Data_400bits,
@@ -468,7 +508,7 @@
  	delete result;    
     }
 
-void UT_SRTPAuthentication_HMAC_SHA1::UT_AuthenticateL_RFC2202_Test5_80L(  )
+void UT_SRTPAuthentication_HMAC_SHA1::UT_AuthenticateL_RFC2202_Test5_EightyL(  )
     {
  	HBufC8* result = iAuthenticator->AuthenticateL(80, *iRFC2202_Test5_Key_160bits, 
  	                                         *iRFC2202_Test5_Data,
@@ -482,7 +522,7 @@
  	delete result;    
     }
 
-void UT_SRTPAuthentication_HMAC_SHA1::UT_AuthenticateL_RFC2202_Test5_32L(  )
+void UT_SRTPAuthentication_HMAC_SHA1::UT_AuthenticateL_RFC2202_Test5_ThirtyTwoL(  )
     {
  	HBufC8* result = iAuthenticator->AuthenticateL(32, *iRFC2202_Test5_Key_160bits, 
  	                                         *iRFC2202_Test5_Data,
@@ -496,7 +536,7 @@
  	delete result;    
     }
 
-void UT_SRTPAuthentication_HMAC_SHA1::UT_AuthenticateL_RFC2202_Test6_80L(  )
+void UT_SRTPAuthentication_HMAC_SHA1::UT_AuthenticateL_RFC2202_Test6_EightyL(  )
     {
  	HBufC8* result = iAuthenticator->AuthenticateL(80, *iRFC2202_Test6_Key_640bits, 
  	                                         *iRFC2202_Test6_Data_54bits,
@@ -510,7 +550,7 @@
  	delete result;    
     }
 
-void UT_SRTPAuthentication_HMAC_SHA1::UT_AuthenticateL_RFC2202_Test6_32L(  )
+void UT_SRTPAuthentication_HMAC_SHA1::UT_AuthenticateL_RFC2202_Test6_ThirtyTwoL(  )
     {
  	HBufC8* result = iAuthenticator->AuthenticateL(32, *iRFC2202_Test6_Key_640bits, 
  	                                         *iRFC2202_Test6_Data_54bits,
@@ -524,7 +564,7 @@
  	delete result;    
     }
 
-void UT_SRTPAuthentication_HMAC_SHA1::UT_AuthenticateL_RFC2202_Test7_80L(  )
+void UT_SRTPAuthentication_HMAC_SHA1::UT_AuthenticateL_RFC2202_Test7_EightyL(  )
     {
  	HBufC8* result = iAuthenticator->AuthenticateL(80, *iRFC2202_Test7_Key_640bits, 
  	                                         *iRFC2202_Test7_Data_73bits,
@@ -538,7 +578,7 @@
  	delete result;    
     }
 
-void UT_SRTPAuthentication_HMAC_SHA1::UT_AuthenticateL_RFC2202_Test7_32L(  )
+void UT_SRTPAuthentication_HMAC_SHA1::UT_AuthenticateL_RFC2202_Test7_ThirtyTwoL(  )
     {
  	HBufC8* result = iAuthenticator->AuthenticateL(32, *iRFC2202_Test7_Key_640bits, 
  	                                         *iRFC2202_Test7_Data_73bits,
@@ -553,7 +593,7 @@
     }
 
 
-void UT_SRTPAuthentication_HMAC_SHA1::UT_AuthenticateL_Test8_32L(  )
+void UT_SRTPAuthentication_HMAC_SHA1::UT_AuthenticateL_Test8_ThirtyTwoL(  )
     {
     TBuf8<20> buf; 
     TBuf8<19> buf2;
@@ -632,8 +672,8 @@
 
 void UT_SRTPAuthentication_HMAC_SHA1::UT_AuthenticateL_Test_KeyChangedL(  )
     {
-    UT_AuthenticateL_RFC2202_Test1_80L();
-    UT_AuthenticateL_RFC2202_Test1_32L();
+    UT_AuthenticateL_RFC2202_Test1_EightyL();
+    UT_AuthenticateL_RFC2202_Test1_ThirtyTwoL();
     }
 
 void UT_SRTPAuthentication_HMAC_SHA1::Hex(HBufC8& aString)
@@ -669,104 +709,104 @@
     "SRTPAuthentication_HMAC_SHA1",
     "AuthenticateL",
     "FUNCTIONALITY",
-    SetupL, UT_AuthenticateL_RFC2202_Test1_80L, Teardown)
+    SetupL, UT_AuthenticateL_RFC2202_Test1_EightyL, Teardown)
 
 EUNIT_TEST(
     "AuthenticateL - 1 32 bits",
     "SRTPAuthentication_HMAC_SHA1",
     "AuthenticateL",
     "FUNCTIONALITY",
-    SetupL, UT_AuthenticateL_RFC2202_Test1_32L, Teardown)
+    SetupL, UT_AuthenticateL_RFC2202_Test1_ThirtyTwoL, Teardown)
 
 EUNIT_TEST(
     "AuthenticateL - 2 80 bits",
     "SRTPAuthentication_HMAC_SHA1",
     "AuthenticateL",
     "FUNCTIONALITY",
-    SetupL, UT_AuthenticateL_RFC2202_Test2_80L, Teardown)
+    SetupL, UT_AuthenticateL_RFC2202_Test2_EightyL, Teardown)
 
 EUNIT_TEST(
     "AuthenticateL - 2 32 bits",
     "SRTPAuthentication_HMAC_SHA1",
     "AuthenticateL",
     "FUNCTIONALITY",
-    SetupL, UT_AuthenticateL_RFC2202_Test2_32L, Teardown)
+    SetupL, UT_AuthenticateL_RFC2202_Test2_ThirtyTwoL, Teardown)
 
 EUNIT_TEST(
     "AuthenticateL - 3 80 bits",
     "SRTPAuthentication_HMAC_SHA1",
     "AuthenticateL",
     "FUNCTIONALITY",
-    SetupL, UT_AuthenticateL_RFC2202_Test3_80L, Teardown)
+    SetupL, UT_AuthenticateL_RFC2202_Test3_EightyL, Teardown)
 
 EUNIT_TEST(
     "AuthenticateL - 3 32 bits",
     "SRTPAuthentication_HMAC_SHA1",
     "AuthenticateL",
     "FUNCTIONALITY",
-    SetupL, UT_AuthenticateL_RFC2202_Test3_32L, Teardown)
+    SetupL, UT_AuthenticateL_RFC2202_Test3_ThirtyTwoL, Teardown)
 
 EUNIT_TEST(
     "AuthenticateL - 4 80 bits",
     "SRTPAuthentication_HMAC_SHA1",
     "AuthenticateL",
     "FUNCTIONALITY",
-    SetupL, UT_AuthenticateL_RFC2202_Test4_80L, Teardown)
+    SetupL, UT_AuthenticateL_RFC2202_Test4_EightyL, Teardown)
 
 EUNIT_TEST(
     "AuthenticateL - 4 32 bits",
     "SRTPAuthentication_HMAC_SHA1",
     "AuthenticateL",
     "FUNCTIONALITY",
-    SetupL, UT_AuthenticateL_RFC2202_Test4_32L, Teardown)
+    SetupL, UT_AuthenticateL_RFC2202_Test4_ThirtyTwoL, Teardown)
 
 EUNIT_TEST(
     "AuthenticateL - 5 80 bits",
     "SRTPAuthentication_HMAC_SHA1",
     "AuthenticateL",
     "FUNCTIONALITY",
-    SetupL, UT_AuthenticateL_RFC2202_Test5_80L, Teardown)
+    SetupL, UT_AuthenticateL_RFC2202_Test5_EightyL, Teardown)
 
 EUNIT_TEST(
     "AuthenticateL - 5 32 bits",
     "SRTPAuthentication_HMAC_SHA1",
     "AuthenticateL",
     "FUNCTIONALITY",
-    SetupL, UT_AuthenticateL_RFC2202_Test5_32L, Teardown)
+    SetupL, UT_AuthenticateL_RFC2202_Test5_ThirtyTwoL, Teardown)
 
 EUNIT_TEST(
     "AuthenticateL - 6 80 bits",
     "SRTPAuthentication_HMAC_SHA1",
     "AuthenticateL",
     "FUNCTIONALITY",
-    SetupL, UT_AuthenticateL_RFC2202_Test6_80L, Teardown)
+    SetupL, UT_AuthenticateL_RFC2202_Test6_EightyL, Teardown)
 
 EUNIT_TEST(
     "AuthenticateL - 6 32 bits",
     "SRTPAuthentication_HMAC_SHA1",
     "AuthenticateL",
     "FUNCTIONALITY",
-    SetupL, UT_AuthenticateL_RFC2202_Test6_32L, Teardown)
+    SetupL, UT_AuthenticateL_RFC2202_Test6_ThirtyTwoL, Teardown)
 
 EUNIT_TEST(
     "AuthenticateL - 7 80 bits",
     "SRTPAuthentication_HMAC_SHA1",
     "AuthenticateL",
     "FUNCTIONALITY",
-    SetupL, UT_AuthenticateL_RFC2202_Test7_80L, Teardown)
+    SetupL, UT_AuthenticateL_RFC2202_Test7_EightyL, Teardown)
 
 EUNIT_TEST(
     "AuthenticateL - 7 32 bits",
     "SRTPAuthentication_HMAC_SHA1",
     "AuthenticateL",
     "FUNCTIONALITY",
-    SetupL, UT_AuthenticateL_RFC2202_Test7_32L, Teardown)
+    SetupL, UT_AuthenticateL_RFC2202_Test7_ThirtyTwoL, Teardown)
 EUNIT_TEST(
     "AuthenticateL - RealPacket",
     "SRTPAuthentication_HMAC_SHA1",
     "AuthenticateL with Real Packet",
     "FUNCTIONALITY",
-    SetupL, UT_AuthenticateL_Test8_32L, Teardown)
+    SetupL, UT_AuthenticateL_Test8_ThirtyTwoL, Teardown)
     
 EUNIT_TEST(
     "AuthenticateL - KeyChanged",
--- a/rtp/srtpstack/tsrc/ut_srtpstack/src/UT_SRTPAuthentication_NULL.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/rtp/srtpstack/tsrc/ut_srtpstack/src/UT_SRTPAuthentication_NULL.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -98,13 +98,18 @@
 void UT_SRTPAuthentication_NULL::Teardown(  )
     {
     delete iAuthenticator;
-    
+    iAuthenticator = NULL;
+	
 	delete iRFC2202_Test1_Key_160bits;
 	delete iRFC2202_Test1_Data_16bits;
 	delete iRFC2202_Test1_Tag_80bits;
+	
+    iRFC2202_Test1_Key_160bits = NULL;
+	iRFC2202_Test1_Data_16bits = NULL;
+	iRFC2202_Test1_Tag_80bits = NULL;
     }
 
-void UT_SRTPAuthentication_NULL::UT_AuthenticateL_RFC2202_Test1_80L(  )
+void UT_SRTPAuthentication_NULL::UT_AuthenticateL_RFC2202_Test1_EightyL(  )
     {
  	HBufC8* result = iAuthenticator->AuthenticateL(80, *iRFC2202_Test1_Key_160bits, 
  	                                         *iRFC2202_Test1_Data_16bits,
@@ -150,7 +155,7 @@
     "SRTPAuthentication_NULL",
     "AuthenticateL",
     "FUNCTIONALITY",
-    SetupL, UT_AuthenticateL_RFC2202_Test1_80L, Teardown)
+    SetupL, UT_AuthenticateL_RFC2202_Test1_EightyL, Teardown)
 
 
 EUNIT_END_TEST_TABLE
--- a/sipplugins/group/bld.inf	Thu Aug 19 10:16:25 2010 +0300
+++ b/sipplugins/group/bld.inf	Tue Aug 31 15:32:57 2010 +0300
@@ -19,7 +19,6 @@
 
 
 #include "../sippwlanplugin/group/bld.inf"
-#include "../sippsipsettingsui/group/bld.inf"
 #include "../sippdevmgmtsipadapter/group/bld.inf"
 #include "../sippsystemstatemonitor/group/bld.inf"
 #include "../sippsipadapter/group/bld.inf"
--- a/sipplugins/sippdevmgmtsipadapter/tsrc/UT_CNSmlDmSIPAdapter/Group/ut_cnsmldmsipadapter.mmp	Thu Aug 19 10:16:25 2010 +0300
+++ b/sipplugins/sippdevmgmtsipadapter/tsrc/UT_CNSmlDmSIPAdapter/Group/ut_cnsmldmsipadapter.mmp	Tue Aug 31 15:32:57 2010 +0300
@@ -41,11 +41,6 @@
 USERINCLUDE             ../../../inc 
 USERINCLUDE             ../inc
 
-#if defined ( OS_LAYER_SYSTEMINCLUDE )
-OS_LAYER_SYSTEMINCLUDE
-#else
-SYSTEMINCLUDE     /epoc32/include
-#endif
 MW_LAYER_SYSTEMINCLUDE
 
 LIBRARY                 bafl.lib
--- a/sipplugins/sippsipadapter/tsrc/ut_cwpsipadapter/group/T_SIPAdapter.mmp	Thu Aug 19 10:16:25 2010 +0300
+++ b/sipplugins/sippsipadapter/tsrc/ut_cwpsipadapter/group/T_SIPAdapter.mmp	Tue Aug 31 15:32:57 2010 +0300
@@ -36,12 +36,6 @@
 USERINCLUDE             ../inc
 USERINCLUDE             ../../../inc
 
-#if defined ( OS_LAYER_SYSTEMINCLUDE )
-OS_LAYER_SYSTEMINCLUDE
-#else
-SYSTEMINCLUDE     /epoc32/include
-#endif
-
 MW_LAYER_SYSTEMINCLUDE
 
 LIBRARY                 EUnit.lib
--- a/sipplugins/sippsipsettingsui/inc/gssipsettingsplugin.hrh	Thu Aug 19 10:16:25 2010 +0300
+++ b/sipplugins/sippsipsettingsui/inc/gssipsettingsplugin.hrh	Tue Aug 31 15:32:57 2010 +0300
@@ -34,7 +34,8 @@
 enum TGSRegistrationMode
     {
     EGSWhenNeeded = 0,
-    EGSAlwaysOn
+    EGSAlwaysOn,
+    EGSAlwaysOnHome
     };
 
 // Security negotiation choices
--- a/sipplugins/sippsipsettingsui/inc/sipsettingscontainer.h	Thu Aug 19 10:16:25 2010 +0300
+++ b/sipplugins/sippsipsettingsui/inc/sipsettingscontainer.h	Tue Aug 31 15:32:57 2010 +0300
@@ -103,12 +103,6 @@
         * @return feature id.
         */
         TInt CurrentFeatureId( );
-        
-        /**
-        * Retrieves the DrawerFlags
-        * @return feature id.
-        */       
-        TInt DrawerFlags( );
 
         /**
         * Defines observer for the middle softkey label changes.
Binary file sipplugins/sippsipsettingsui/sis/sipsettingsui_stub.SIS has changed
--- a/sipplugins/sippsipsettingsui/sis/sipsettingsui_stub.pkg	Thu Aug 19 10:16:25 2010 +0300
+++ b/sipplugins/sippsipsettingsui/sis/sipsettingsui_stub.pkg	Tue Aug 31 15:32:57 2010 +0300
@@ -37,10 +37,10 @@
 ;	SIP Settings UI
 ; /////////////////////////
 ""	-	"z:\sys\bin\GSSIPSettingsPlugin.dll"
-""	-	"z:\resource\plugins\GSSIPSettingsPlugin.r*"
+""	-	"z:\resource\plugins\GSSIPSettingsPlugin.r??"
 ""  - "z:\resource\apps\GSSIPSettingsPlugin.mif"
 
 ; /////////////////////////
 ;	SIP Settings UI resources
 ; /////////////////////////
-""  - "z:\resource\GSSIPSettingsPluginRsc.R*"
+""  - "z:\resource\GSSIPSettingsPluginRsc.R??"
--- a/sipplugins/sippsipsettingsui/src/SIPSettIntegerSetPage.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/sipplugins/sippsipsettingsui/src/SIPSettIntegerSetPage.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -27,6 +27,7 @@
 #include    "gssippluginlogger.h"
 
 _LIT( NULLString,"" );
+_LIT16( ZeroString,"-1" );
 // ============================ MEMBER FUNCTIONS ===============================
 
 // -----------------------------------------------------------------------------
@@ -71,18 +72,23 @@
         }
        TextControl()->GetText( intText );
        lex.Assign( intText.Ptr() );
-       lex.Val( value );   	   
-       if( intText == NULLString )
-	       {
-           TextControl()->SetTextL(&NULLString);
-	       }
-       UpdateSettingL();  
+       lex.Val( value );
+       if( value >= 0 && value <= 65535 || intText == NULLString )
+    	   {
+           if( intText == NULLString )
+    	       {
+               TextControl()->SetTextL(&ZeroString);
+    	       }
+           UpdateSettingL();  
             
-       // Everything OK, save setting and exit page
-       AcceptSettingL();	   
-	   ret = ETrue;
-    	   
-      
+           // Everything OK, save setting and exit page
+           AcceptSettingL();	   
+    	   ret = ETrue;
+    	   }
+       else
+    	   {
+    	   ret = EFalse;
+    	   }
         
         return ret;    
     }
--- a/sipplugins/sippsipsettingsui/src/SipSettIntegerEditItem.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/sipplugins/sippsipsettingsui/src/SipSettIntegerEditItem.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -45,7 +45,8 @@
     lex.Assign(aInteger.Ptr());
     lex.Val(value);
     iValue = value;
-    AknTextUtils::DisplayTextLanguageSpecificNumberConversion( aInteger );
+    
+ 
     
     }
 
@@ -88,7 +89,6 @@
         	{
         	TBuf<KMaxServerPortLength> ValueString;
         	ValueString.AppendNum( iValue );
-			AknTextUtils::DisplayTextLanguageSpecificNumberConversion( ValueString );
         	InternalTextPtr().Copy( ValueString );
         	}
         	
--- a/sipplugins/sippsipsettingsui/src/gssipmodel.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/sipplugins/sippsipsettingsui/src/gssipmodel.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -1205,9 +1205,7 @@
         {
         profile->GetParameter( KSIPDefaultProfile, aDefault );
         profile->GetParameter( KSIPProfileLocked, aLocked );
-        TUint32 profileId;
-        profile->GetParameter( KSIPProfileId, profileId );        
-        aIsUse = CheckIsProfileInUseL( profileId );
+        aIsUse = iEngine->IsInUseL( *profile );
         } 
     __GSLOGSTRING("CGSSIPModel::CheckProfileForDeleteL End" )
     }
@@ -1226,10 +1224,6 @@
     if ( profile )
         {
         profile->GetParameter( KSIPProfileRegistered, inUse );
-        if ( !inUse )
-        	{
-            inUse = iEngine->IsInUseL( *profile );
-        	}
         }
     
     return inUse;    
--- a/sipplugins/sippsipsettingsui/src/sipsettingscontainer.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/sipplugins/sippsipsettingsui/src/sipsettingscontainer.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -18,7 +18,7 @@
 
 // INCLUDE FILES
 #include    <aknlists.h>
-#include    <csxhelp/cp.hlp.hrh>
+#include    <cshelp/conset.hlp.hrh>
 #include    <gsfwviewuids.h>
 #include    <gssipsettingspluginrsc.rsg>
 #include    <gssipsettingsplugin.mbg>
@@ -389,16 +389,6 @@
     }
 
 // ---------------------------------------------------------------------------
-// CSIPSettingsContainer::DrawerFlags()
-//
-// ---------------------------------------------------------------------------
-//
-TInt CSIPSettingsContainer::DrawerFlags()
-	{
-	return iListBox->View()->ItemDrawer()->Flags();
-	}
-	
-// ---------------------------------------------------------------------------
 // Sets observer for MSK label updations.
 // ---------------------------------------------------------------------------
 //
--- a/sipplugins/sippsipsettingsui/src/sipsettingsmodel.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/sipplugins/sippsipsettingsui/src/sipsettingsmodel.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -112,8 +112,6 @@
     {
     __GSLOGSTRING1("CSIPSettingsModel::SetDefaultProfileL index: %d", aIndex)
     TRAPD(err, iHandler->SetDefaultProfileL( aIndex ));		
-    if( err != KErrNone )
-        {
       if ( err == KErrInUse )
     	  {
           HBufC* txtErr = StringLoader::LoadLC( R_QTN_SIP_ERROR_PROFILE_USED );
@@ -125,7 +123,6 @@
     	  {
           User::Leave( err );
     	  }
-        }
     }
 
 // -----------------------------------------------------------------------------
--- a/sipplugins/sippsipsettingsui/src/sipsettingsplugin.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/sipplugins/sippsipsettingsui/src/sipsettingsplugin.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -496,40 +496,30 @@
 void CSIPSettingsPlugin::ChangeDefaultProfileL()
     {
     __GSLOGSTRING("CSIPSettingsPlugin::ChangeDefaultProfileL Start " )
-    		
-    TInt aFlage = iContainer->DrawerFlags();	
-    if( aFlage & CTextListItemDrawer::EDisableMarquee )
-    	{
-		TInt selectedIndex = iContainer->CurrentIndex();
-		iModel->SetDefaultProfileL( selectedIndex );
-    	}
-    else 
-    	{		
-		TInt selectedIndex = iModel->DefaultProfileIndex();  
-		TInt oldProfileIndex = selectedIndex;  
-		
-		// Get the array of the profile names, ownership changes
-		CDesCArray* array = iModel->ListOfProfileNamesL();    
-		CleanupStack::PushL( array );
-		
-		// Create and display the pop-up list
-		CAknRadioButtonSettingPage* defaultPopUp = 
-			new ( ELeave ) CAknRadioButtonSettingPage( 
-				R_SIP_PROFILE_LIST_VIEW_DEFAULT_SETTING_PAGE,
-				selectedIndex,
-				array );
-		if ( defaultPopUp->ExecuteLD( CAknSettingPage::EUpdateWhenChanged ) )
-			{
-			if ( selectedIndex != oldProfileIndex )
-				{
-				// User has changed the default profile, set new setting
-				// to persistent storage
-				iModel->SetDefaultProfileL( selectedIndex );
-				}
-			}
+    TInt selectedIndex = iModel->DefaultProfileIndex();  
+    TInt oldProfileIndex = selectedIndex;  
+    
+    // Get the array of the profile names, ownership changes
+    CDesCArray* array = iModel->ListOfProfileNamesL();    
+    CleanupStack::PushL( array );
+    
+    // Create and display the pop-up list
+    CAknRadioButtonSettingPage* defaultPopUp = 
+        new ( ELeave ) CAknRadioButtonSettingPage( 
+            R_SIP_PROFILE_LIST_VIEW_DEFAULT_SETTING_PAGE,
+            selectedIndex,
+            array );
+    if ( defaultPopUp->ExecuteLD( CAknSettingPage::EUpdateWhenChanged ) )
+        {
+        if ( selectedIndex != oldProfileIndex )
+            {
+            // User has changed the default profile, set new setting
+            // to persistent storage
+            iModel->SetDefaultProfileL( selectedIndex );
+            }
+        }
 
     CleanupStack::PopAndDestroy( array );  // array
-    	}
     __GSLOGSTRING("CSIPSettingsPlugin::ChangeDefaultProfileL End" )
     }
 
--- a/sipplugins/sippsipsettingsui/src/sipsettlistsipprofsetcontainer.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/sipplugins/sippsipsettingsui/src/sipsettlistsipprofsetcontainer.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -19,7 +19,7 @@
 // INCLUDE FILES
 #include    <eikappui.h>
 #include    <eikenv.h>
-#include    <csxhelp/cp.hlp.hrh>
+#include    <cshelp/conset.hlp.hrh>
 #include    <gsfwviewuids.h>
 #include    <aknsettingitemlist.h>
 #include    "sipsettlistsipprofsetcontainer.h"
--- a/sipplugins/sippsipsettingsui/src/sipsettlistsipprofsetitemlist.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/sipplugins/sippsipsettingsui/src/sipsettlistsipprofsetitemlist.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -266,8 +266,7 @@
             }
         else if ( currentIndex == EGSItemServiceProfile ||
             currentIndex == EGSItemCompression ||
-            currentIndex == EGSItemSecurity ||
-            currentIndex == EGSItemRegistration )   
+            currentIndex == EGSItemSecurity )
             {
             SetNextSettingItemL( currentIndex );
             aListBox->ActivateL();    
@@ -536,21 +535,6 @@
             iSecurity->LoadL();
             iSecurity->UpdateListBoxTextL();        
             break;
-            
-        case EGSItemRegistration:       
-        	iRegistration->StoreL();
-            if ( iProfileData.iRegistrationMode == EGSWhenNeeded )
-                {
-                iProfileData.iRegistrationMode = EGSAlwaysOn;
-                }
-            else
-                {
-                iProfileData.iRegistrationMode = EGSWhenNeeded;
-                }
-            iRegistration->LoadL();
-            iRegistration->UpdateListBoxTextL();        
-            break;
-            
         default:                    // Other setting items are not supported.
             User::Leave( KErrNotSupported );
             break;
--- a/sipplugins/sippsipsettingsui/src/sipsettlistsipsrvsetcontainer.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/sipplugins/sippsipsettingsui/src/sipsettlistsipsrvsetcontainer.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -20,7 +20,7 @@
 // INCLUDE FILES
 
 #include    <aknview.h>
-#include    <csxhelp/cp.hlp.hrh>
+#include    <cshelp/conset.hlp.hrh>
 #include    <gsfwviewuids.h>
 #include    <gssipsettingspluginrsc.rsg> //GUI Resource
 #include    "sipsettlistsipsrvsetcontainer.h"
--- a/sipproviderplugins/sipprovider/sipconnectionplugins/group/bld.inf	Thu Aug 19 10:16:25 2010 +0300
+++ b/sipproviderplugins/sipprovider/sipconnectionplugins/group/bld.inf	Tue Aug 31 15:32:57 2010 +0300
@@ -26,7 +26,7 @@
 
 ../data/esock_sip.cmi      			z:/private/101f7988/esock_sip.cmi
 
-../group/sipproviders.iby            /epoc32/rom/include/sipproviders.iby
+../group/sipproviders.iby            CORE_MW_LAYER_IBY_EXPORT_PATH(sipproviders.iby)
 
 PRJ_MMPFILES
 sipproviders.mmp
--- a/sipproviderplugins/sipprovider/sipconnectionplugins/inc/SIP_subconevents.h	Thu Aug 19 10:16:25 2010 +0300
+++ b/sipproviderplugins/sipprovider/sipconnectionplugins/inc/SIP_subconevents.h	Tue Aug 31 15:32:57 2010 +0300
@@ -21,6 +21,7 @@
  @publishedAll
  @released since v9.2
 */
+#warning "SIPProvider APIs are deprecated, use SIP Client Library APIs instead."
  
 #ifndef SIPSCPR_SUBCONEVENTS_H
 #define SIPSCPR_SUBCONEVENTS_H
@@ -44,7 +45,8 @@
 /** CSubConSIPResponseEvent is used to get and set the response elements of the most recent response  
 
 @publishedAll
-@released since v9.2 */
+@deprecated 
+*/
 	{
 public:
 	/**
@@ -77,7 +79,8 @@
 /** CSubConSIPAuthenticationRequiredEvent is used  when SIP authentication is required
 
 @publishedAll
-@released since v9.2 */
+@deprecated 
+*/
 	{
 public:
         
@@ -102,7 +105,8 @@
 /** CSubConSIPNotificationEvent is used for receiving SIP event notifications 
 
 @publishedAll
-@released since v9.2 */
+@deprecated
+ */
 	{
 public:
   	inline static CSubConSIPNotificationEvent* NewL();
@@ -126,13 +130,13 @@
 /** Factory used to create instances of the SIP SubConnection Extension Events
 
 @publishedAll
-@released since v9.2 
+@deprecated
 */
 	{
 public:
 	static CSubConNotificationEvent* NewL(TAny* aConstructionParameters);
 	};
 
-#include "SIP_subconevents.inl"
+#include "sip_subconevents.inl"
 
 #endif // SIPSCPR_SUBCONEVENTS_H
--- a/sipproviderplugins/sipprovider/sipconnectionplugins/inc/SIP_subconparams.h	Thu Aug 19 10:16:25 2010 +0300
+++ b/sipproviderplugins/sipprovider/sipconnectionplugins/inc/SIP_subconparams.h	Tue Aug 31 15:32:57 2010 +0300
@@ -21,7 +21,7 @@
  @publishedAll
  @released since v9.2
 */
-
+#warning "SIPProvider APIs are deprecated, use SIP Client Library APIs instead."
 #ifndef SIP_SUBCONPARAMS_H
 #define SIP_SUBCONPARAMS_H
 
@@ -45,7 +45,7 @@
 This contains the SIP Invite parameters that will be passed via subconnection
 to the SIP stack
 @publishedAll
-@released since v9.2 
+@deprecated 
 */
 {
 public:
@@ -123,7 +123,7 @@
 This contains the SIP Subscribe parameters that will be passed via subconnection
 to the SIP stack
 @publishedAll
-@released since v9.2 
+@deprecated 
 */
 {
 public:
@@ -212,7 +212,7 @@
 This contains the SIP Authenticate parameters that will be passed via subconnection
 to the SIP stack
 @publishedAll
-@released since v9.2 
+@deprecated 
 */
 {
 public:
@@ -265,13 +265,13 @@
 /** Factory used to create instances of the SIP SubConnection Parameter Extension Sets.
 
 @publishedAll
-@released since v9.2 
+@depricated 
 */
 	{
 public:
 	static CSubConExtensionParameterSet* NewL(TAny* aConstructionParameters);
 	};
 
-#include "SIP_subconparams.inl"
+#include "sip_subconparams.inl"
 
 #endif // SIP_SUBCONPARAMS_H
--- a/sipproviderplugins/sipprovider/sipconnectionplugins/inc/sipconnpref.h	Thu Aug 19 10:16:25 2010 +0300
+++ b/sipproviderplugins/sipprovider/sipconnectionplugins/inc/sipconnpref.h	Tue Aug 31 15:32:57 2010 +0300
@@ -20,6 +20,7 @@
  @publishedAll
  @released since v9.2
 */
+#warning "SIPProvider APIs are deprecated, use SIP Client Library APIs instead."
 
 
 #ifndef SIPCONNPREFS_H
@@ -48,7 +49,7 @@
 /** 
 This contains the information about the type of the connection preferences used by the SIP in the form of the profiles
 @publishedAll
-@released since v9.2 
+@deprecated 
 */
 	{
 public:
--- a/sipproviderplugins/sipprovider/sipdummyprt/group/bld.inf	Thu Aug 19 10:16:25 2010 +0300
+++ b/sipproviderplugins/sipprovider/sipdummyprt/group/bld.inf	Tue Aug 31 15:32:57 2010 +0300
@@ -21,13 +21,13 @@
 */
 
 PRJ_EXPORTS
-../group/SIPDummyPRT.iby   /epoc32/rom/include/sipdummyprt.iby
+../group/SIPDummyPRT.iby   CORE_MW_LAYER_IBY_EXPORT_PATH(sipdummyprt.iby)
 ../data/sip.providers.esk  z:/private/101f7989/esock/sip.providers.esk
 
 
 #ifndef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
 
-../group/siphlapi.iby      /epoc32/rom/include/siphlapi.iby
+../group/siphlapi.iby      CORE_MW_LAYER_IBY_EXPORT_PATH(siphlapi.iby)
 ../data/esock_sip.cmi      z:/private/101f7988/esock_sip.cmi
 
 #endif // SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
--- a/sipproviderplugins/sipprovider/sipstatemachine/group/bld.inf	Thu Aug 19 10:16:25 2010 +0300
+++ b/sipproviderplugins/sipprovider/sipstatemachine/group/bld.inf	Tue Aug 31 15:32:57 2010 +0300
@@ -25,5 +25,5 @@
 SipStateMachine.mmp
 
 PRJ_EXPORTS
-../group/SipStateMachine.iby /epoc32/rom/include/sipstatemachine.iby
+../group/SipStateMachine.iby	CORE_MW_LAYER_IBY_EXPORT_PATH(sipstatemachine.iby)
 ../inc/siphlerr.h 	SYMBIAN_MW_LAYER_PUBLIC_EXPORT_PATH(siphlerr.h)
\ No newline at end of file