diff -r 2a28ef775f15 -r 5bf83dc720b3 multimediacommsengine/mmcesrv/mmcemediamanager/src/mcemediasdpcodec.cpp --- a/multimediacommsengine/mmcesrv/mmcemediamanager/src/mcemediasdpcodec.cpp Wed Apr 14 16:21:36 2010 +0300 +++ b/multimediacommsengine/mmcesrv/mmcemediamanager/src/mcemediasdpcodec.cpp Tue Apr 27 17:02:55 2010 +0300 @@ -1121,17 +1121,31 @@ // did we try old school hold? if ( oldSchool ) { - if ( !isNullAddress ) - { - // ignore that other party didn't understand us - // and full cancel of old school process - sSession.iOOldSchool = 0; - sSession.iOOldSchoolProceeding = 0; - sSession.iOOldSchoolCompleted = 0; - } + if ( loc_direction == SdpCodecStringConstants::EAttributeSendrecv ) + { + if ( !isNullAddress ) + { + rmt_direction = SdpCodecStringConstants::EAttributeSendrecv; + } + else + { + rmt_direction = SdpCodecStringConstants::EAttributeRecvonly; + } + } + else + { + if ( !isNullAddress ) + { + // ignore that other party didn't understand us + // and full cancel of old school process + sSession.iOOldSchool = 0; + sSession.iOOldSchoolProceeding = 0; + sSession.iOOldSchoolCompleted = 0; + } - rmt_direction = SdpCodecStringConstants::EAttributeRecvonly; - oldSchool = 0; + rmt_direction = SdpCodecStringConstants::EAttributeRecvonly; + } + oldSchool = 0; } else // didn't try old school yet {