multimediacommsengine/mmcesrv/mmcemediamanager/src/mcesdpsession.cpp
branchRCL_3
changeset 11 a5ac35ca6d81
parent 8 2a28ef775f15
child 13 fb1bbf85a302
--- a/multimediacommsengine/mmcesrv/mmcemediamanager/src/mcesdpsession.cpp	Tue Apr 27 17:02:55 2010 +0300
+++ b/multimediacommsengine/mmcesrv/mmcemediamanager/src/mcesdpsession.cpp	Tue May 11 16:34:40 2010 +0300
@@ -95,7 +95,8 @@
             iOOldSchoolProceeding( 0 ),
             iOOldSchoolCompleted( 0 ),
             iIsMaster( ETrue ),
-            iOldLocalMediaPort( 0 )
+            iOldLocalMediaPort( 0 ),
+            iStoreRemoteOrigin ( ETrue )
     {
     iSessionId = GetRandomNumber();
     iSessionVersion = GetRandomNumber();
@@ -508,11 +509,15 @@
         MCEMM_DEBUG("CMceSdpSession::DecodeOfferL(), Exit ")
         return KMceSipWarnIncompatibleMediaFormat;
         }
-        
-    // store the remote o= field
-    StoreRemoteOriginL();
-    // store the remote a= field
-    StoreRemoteMediaFieldsL();
+    
+    //avoid to store the value second time when in nat environment
+    if ( iStoreRemoteOrigin )
+        {
+        // store the remote o= field
+        StoreRemoteOriginL();
+        // store the remote a= field
+        StoreRemoteMediaFieldsL();
+        }
     //set remote ip address
     result = SetRemoteIpAddressL( aSession, aSdpDocument );