equal
deleted
inserted
replaced
32 #include "mcesip.h" |
32 #include "mcesip.h" |
33 #include "mcesipsession.h" |
33 #include "mcesipsession.h" |
34 #include "mcenatmacros.h" |
34 #include "mcenatmacros.h" |
35 #include "mcesdpsession.h" |
35 #include "mcesdpsession.h" |
36 #include "mcesrvlogs.h" |
36 #include "mcesrvlogs.h" |
|
37 #include "mcemediastate.h" |
|
38 #include "mcemediadefs.h" |
|
39 #include "mcemediamanager.h" |
37 |
40 |
38 // ----------------------------------------------------------------------------- |
41 // ----------------------------------------------------------------------------- |
39 // CMceStateOffering::CMceStateOffering |
42 // CMceStateOffering::CMceStateOffering |
40 // ----------------------------------------------------------------------------- |
43 // ----------------------------------------------------------------------------- |
41 // |
44 // |
269 |
272 |
270 TBool IsFork = EFalse; |
273 TBool IsFork = EFalse; |
271 if ( MceSip::ResponseCode( session.Response() ) == KMceSipSessionProgress && |
274 if ( MceSip::ResponseCode( session.Response() ) == KMceSipSessionProgress && |
272 session.ForkedDialogsCount() ) |
275 session.ForkedDialogsCount() ) |
273 { |
276 { |
|
277 if( session.ActiveBody().NegotiationState().Id() == KMceMediaNegotiated || |
|
278 session.ActiveBody().NegotiationState().Id() == KMceOfferingMedia ) |
|
279 { |
274 IsFork = ETrue; |
280 IsFork = ETrue; |
|
281 } |
|
282 else |
|
283 { |
|
284 session.ResetCurrentDialog(); |
|
285 } |
275 } |
286 } |
276 if ( session.Actions().NeedToProcessL( aEvent ) || IsFork ) |
287 if ( session.Actions().NeedToProcessL( aEvent ) || IsFork ) |
277 { |
288 { |
278 if ( MCE_NEED_TO_SEND( session, NULL ) || IsFork ) |
289 if ( MCE_NEED_TO_SEND( session, NULL ) || IsFork ) |
279 { |
290 { |
482 } |
493 } |
483 else // no content |
494 else // no content |
484 { |
495 { |
485 if ( !MCE_NEED_TO_RECEIVE( session ) ) |
496 if ( !MCE_NEED_TO_RECEIVE( session ) ) |
486 { |
497 { |
|
498 if ( session.ActiveBody().SecureSession()) |
|
499 { |
|
500 if( session.ForkedDialogsCount() ) |
|
501 { |
|
502 session.ForceUpdateStreamL(); |
|
503 } |
|
504 } |
487 status = session.Actions().UpdateL(); |
505 status = session.Actions().UpdateL(); |
488 // SDP answer was received before |
506 // SDP answer was received before |
489 // go to established state |
507 // go to established state |
490 session.Actions().StateChanged( KMceStateEstablished ); |
508 session.Actions().StateChanged( KMceStateEstablished ); |
491 //session.Actions().ClientStateChangedL( CMceSession::EEstablished, |
509 //session.Actions().ClientStateChangedL( CMceSession::EEstablished, |