diff -r 267e1b1adf0c -r 2a28ef775f15 multimediacommsengine/mmcesrv/mmcemediamanager/src/mcesrvstream.cpp --- a/multimediacommsengine/mmcesrv/mmcemediamanager/src/mcesrvstream.cpp Wed Mar 31 22:14:10 2010 +0300 +++ b/multimediacommsengine/mmcesrv/mmcemediamanager/src/mcesrvstream.cpp Wed Apr 14 16:21:36 2010 +0300 @@ -898,20 +898,24 @@ MCEMM_DEBUG("CMceSrvStream::RequireSignalling(): codec requires signalling"); action = KMceRequiresSignalling; } - else if ( LocalMediaPort() != aCurrent.LocalMediaPort() || - Data().RemoteMediaPortChanged( aCurrent.Data().RemoteMediaPort() ) ) + else if ( LocalMediaPort() != aCurrent.LocalMediaPort() ) //local port has changed => needs new media session & signaling { MCEMM_DEBUG("CMceSrvStream::RequireSignalling(): local port changed. requires signalling"); action = KMceRequiresSignalling; } + else if ( Data().RemoteMediaPortChanged( aCurrent.Data().RemoteMediaPort() ) ) + { + MCEMM_DEBUG("CMceSrvStream::RequireSignalling(): Remote port changed. requires signalling"); + action = KMceRequiresSipSignallingOnly; + } else if ( Data().RemoteRTCPAddressChanged(aCurrent.Data().iRemoteRtcpPort, aCurrent.Data().iRemoteRtcpAddress)) { MCEMM_DEBUG("CMceSrvStream::RequireSignalling(): Remote Rtcp Port changed, requires signalling"); - action = KMceRequiresSignalling; + action = KMceRequiresSipSignallingOnly; } else if ( Data().iIsEnabled != aCurrent.Data().iIsEnabled )