|
1 // Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). |
|
2 // All rights reserved. |
|
3 // This component and the accompanying materials are made available |
|
4 // under the terms of "Eclipse Public License v1.0" |
|
5 // which accompanies this distribution, and is available |
|
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
7 // |
|
8 // Initial Contributors: |
|
9 // Nokia Corporation - initial contribution. |
|
10 // |
|
11 // Contributors: |
|
12 // |
|
13 // Description: |
|
14 // Test step definitions for the MultimediaCallControl functional unit. |
|
15 // |
|
16 // |
|
17 |
|
18 /** |
|
19 @internalTechnology |
|
20 */ |
|
21 |
|
22 #include "cctsyintegrationtestmultimediacallcontrol.h" |
|
23 #include "cctsyinidata.h" |
|
24 |
|
25 /* |
|
26 _LIT8(KWriteTestData, "Some data"); |
|
27 */ |
|
28 |
|
29 CCTSYIntegrationTestMultimediaCallControlBase::CCTSYIntegrationTestMultimediaCallControlBase(CEtelSessionMgr& aEtelSessionMgr) |
|
30 : CCTSYIntegrationTestSuiteStepBase(aEtelSessionMgr), |
|
31 iNetworkTestHelper(*this), |
|
32 iCallControlTestHelper(*this) |
|
33 /** |
|
34 * Constructor |
|
35 */ |
|
36 { |
|
37 } |
|
38 |
|
39 CCTSYIntegrationTestMultimediaCallControlBase::~CCTSYIntegrationTestMultimediaCallControlBase() |
|
40 /* |
|
41 * Destructor |
|
42 */ |
|
43 { |
|
44 } |
|
45 |
|
46 |
|
47 CCTSYIntegrationTestMultimediaCallControl0001::CCTSYIntegrationTestMultimediaCallControl0001(CEtelSessionMgr& aEtelSessionMgr) |
|
48 : CCTSYIntegrationTestMultimediaCallControlBase(aEtelSessionMgr) |
|
49 /** |
|
50 * Constructor. |
|
51 */ |
|
52 { |
|
53 SetTestStepName(CCTSYIntegrationTestMultimediaCallControl0001::GetTestStepName()); |
|
54 } |
|
55 |
|
56 CCTSYIntegrationTestMultimediaCallControl0001::~CCTSYIntegrationTestMultimediaCallControl0001() |
|
57 /** |
|
58 * Destructor. |
|
59 */ |
|
60 { |
|
61 } |
|
62 |
|
63 TVerdict CCTSYIntegrationTestMultimediaCallControl0001::doTestStepL() |
|
64 /** |
|
65 * @SYMTestCaseID BA-CTSY-INT-MMCC-0001 |
|
66 * @SYMFssID BA/CTSY/MMCC-0001 |
|
67 * @SYMTestCaseDesc Ensure a video call can be made. |
|
68 * @SYMTestPriority High |
|
69 * @SYMTestActions RCall::LoanDataPort, RCall::RecoverDataPort, RCall:HangUp, RCall::DialCancel, RCall::GetCallParams |
|
70 * @SYMTestExpectedResults Pass - Dialling multimedia call is successful when parameters are correct. Cancelling dial is successful. |
|
71 * @SYMTestType CIT |
|
72 * @SYMTestCaseDependencies live/manual |
|
73 * |
|
74 * |
|
75 * @return - TVerdict code |
|
76 */ |
|
77 { |
|
78 |
|
79 // |
|
80 // SET UP |
|
81 // |
|
82 |
|
83 |
|
84 // Ensure phone is camped on a valid cell. |
|
85 RMobilePhone& phone = iEtelSessionMgr.GetPhoneL(KMainServer,KMainPhone); |
|
86 CHECK_EQUALS_L(iNetworkTestHelper.WaitForRegisteredOnHomeNetworkL(phone), KErrNone, _L("TNetworkTsyTestHelper::WaitForRegisteredOnHomeNetworkL returned with an error")); |
|
87 |
|
88 // Get data line 1. |
|
89 RMobileLine& mobileLine= iEtelSessionMgr.GetLineL(KMainServer, KMainPhone, KDataLine); |
|
90 |
|
91 // Get call 1. |
|
92 RMobileCall& call1= iEtelSessionMgr.GetCallL(KMainServer, KMainPhone, KDataLine, KCall1); |
|
93 |
|
94 // Check current networkmode returns ENetworkModeWcdma |
|
95 RMobilePhone::TMobilePhoneNetworkMode mode; |
|
96 CHECK_EQUALS_L(phone.GetCurrentMode(mode), KErrNone, _L("RMobilePhone::GetCurrentMode returned with an error")); |
|
97 CHECK_EQUALS_L(mode, RMobilePhone::ENetworkModeWcdma, _L("RMobilePhone::GetCurrentMode did not return ENetworkModeWcdma as expected")); |
|
98 |
|
99 // |
|
100 // SET UP END |
|
101 // |
|
102 |
|
103 StartTest(); |
|
104 |
|
105 // |
|
106 // TEST START |
|
107 // |
|
108 |
|
109 |
|
110 // 1. Set up multimedia mobile data call parameters. |
|
111 RMobileCall::TMobileHscsdCallParamsV1 multimediaParams; |
|
112 RMobileCall::TMobileHscsdCallParamsV1Pckg checkParamsPkg(multimediaParams); |
|
113 |
|
114 // valid parameters |
|
115 multimediaParams.iIdRestrict = RMobileCall::ESendMyId; |
|
116 multimediaParams.iAckTimer = 20; |
|
117 multimediaParams.iMSToModemWindowSize = 2; |
|
118 multimediaParams.iModemToMSWindowSize = 2; |
|
119 multimediaParams.iProtocol = RMobileCall::EProtocolPstnMultimedia; |
|
120 multimediaParams.iQoS = RMobileCall::EQoSNonTransparent; |
|
121 multimediaParams.iRLPVersion = RMobileCall::ERLPSingleLinkVersion0; |
|
122 multimediaParams.iResequencingPeriod = 1; |
|
123 multimediaParams.iRetransmissionAttempts = 2; |
|
124 multimediaParams.iService = RMobileCall::EServiceDataCircuitAsync; |
|
125 multimediaParams.iSpeed = RMobileCall::ESpeed64000; |
|
126 multimediaParams.iUseEdge = EFalse; |
|
127 multimediaParams.iV42bisCodewordsNum = 0; |
|
128 multimediaParams.iV42bisMaxStringLength = 0; |
|
129 multimediaParams.iV42bisReq = RMobileCall::EV42bisNeitherDirection; |
|
130 multimediaParams.iAsymmetry = RMobileCall::EAsymmetryDownlink; |
|
131 multimediaParams.iCodings = RMobileCall::KCapsAiurCoding144; |
|
132 multimediaParams.iUserInitUpgrade = EFalse; |
|
133 multimediaParams.iMaxTimeSlots = 15; |
|
134 multimediaParams.iWantedRxTimeSlots = 15; |
|
135 multimediaParams.iWantedAiur = RMobileCall::EAiurBpsUnspecified; |
|
136 |
|
137 // post a notifier for RLine::NotifyStatusChange |
|
138 TCoreEtelRequestStatus<RLine> notifyStatusChangeStatus (mobileLine,&RLine::NotifyStatusChangeCancel); |
|
139 CleanupStack::PushL(notifyStatusChangeStatus); |
|
140 RCall::TStatus lineStatus; |
|
141 mobileLine.NotifyStatusChange(notifyStatusChangeStatus,lineStatus); |
|
142 |
|
143 // Dial a number that answers. |
|
144 TPtrC number; |
|
145 ASSERT_TRUE(GetStringFromConfig(KIniDataNumSection, KIniDataNumber1, number) != EFalse, _L("CTestStep::GetStringFromConfig did not complete as expected")); |
|
146 TCoreEtelRequestStatus<RCall> dialStatus(call1, &RCall::DialCancel); |
|
147 CleanupStack::PushL(dialStatus); |
|
148 |
|
149 // Failing CSD calls (see $CTSYProblem described below). |
|
150 // code can be added in after multimedia calls are working. |
|
151 |
|
152 // $CTSYProblem: dial returns -18 or -6 depending of selected parametes (protocol) |
|
153 // EProtocolPstnMultimedia = -6, EProtocolV34 = -18 |
|
154 // All CSD call are currently failing, this is not a CTSY problem because CTSY has no control over this issue |
|
155 /* |
|
156 call1.Dial(dialStatus, checkParamsPkg, number); |
|
157 TEST_CHECK_POINT_L(_L("Couldn't dial a call, no point continuing.")); |
|
158 ASSERT_EQUALS(WaitForRequestWithTimeOut(dialStatus, ETimeMedium), KErrNone, _L("RCall::Dial timed-out")); |
|
159 ASSERT_EQUALS(dialStatus.Int(), KErrNone, _L("RCall::Dial returned with an error")); |
|
160 |
|
161 // Verify line status goes from ringing to connected. |
|
162 RCall::TStatus expectedLineStatus = RCall::EStatusRinging; |
|
163 const TInt expectedStatus = KErrNone; |
|
164 |
|
165 iCallControlTestHelper.WaitForLineNotifyStatusChange(mobileLine, |
|
166 notifyStatusChangeStatus, |
|
167 lineStatus, |
|
168 expectedLineStatus, |
|
169 expectedStatus); |
|
170 |
|
171 mobileLine.NotifyStatusChange(notifyStatusChangeStatus,lineStatus); |
|
172 expectedLineStatus = RCall::EStatusConnected; |
|
173 iCallControlTestHelper.WaitForLineNotifyStatusChange(mobileLine, |
|
174 notifyStatusChangeStatus, |
|
175 lineStatus, |
|
176 expectedLineStatus, |
|
177 expectedStatus); |
|
178 // Loan comm port. |
|
179 RCall::TCommPort commPort; |
|
180 ASSERT_EQUALS(call1.LoanDataPort(commPort), KErrNone, _L("RCall::LoanCommPort returned an error")); |
|
181 |
|
182 // Get call parameters with RMobileCall::TMobileDataCallParamsVx and verify it is as expected. |
|
183 ASSERT_EQUALS(call1.GetCallParams(checkParamsPkg), KErrNone, _L("RCall::GetCallParams returned an error")); |
|
184 ASSERT_TRUE(multimediaParams.iSpeed = RMobileCall::ESpeed64000, _L("RCall::GetCallParams returned wrongly RMobileCall::ESpeedUnspecified")); |
|
185 ASSERT_TRUE(multimediaParams.iProtocol = RMobileCall::EProtocolPstnMultimedia, _L("TMobileDataCallParamsV1 returns aParams.iProtocol")); |
|
186 ASSERT_EQUALS(multimediaParams.iService, RMobileCall::EServiceDataCircuitAsync, _L("RCall::GetCallParams service was not the same that used in dial")); |
|
187 |
|
188 // Send some data. |
|
189 RCommServ cs; |
|
190 cs.Connect(); |
|
191 RComm port; |
|
192 port.Open(cs, commPort.iPort, ECommShared); |
|
193 TRequestStatus writeStatus; |
|
194 port.Write(writeStatus, KWriteTestData); |
|
195 port.Close(); |
|
196 cs.Close(); |
|
197 |
|
198 // Recover comm port. |
|
199 ASSERT_EQUALS(call1.RecoverDataPort(), KErrNone, _L("RMobileCall::RecoverDataPort() returned an error")); |
|
200 |
|
201 // Hang up. |
|
202 */ |
|
203 TCoreEtelRequestStatus<RCall> hangUpStatus (call1, &RCall::HangUpCancel); |
|
204 CleanupStack::PushL(hangUpStatus); |
|
205 |
|
206 /* |
|
207 call1.HangUp(hangUpStatus); |
|
208 ASSERT_EQUALS(WaitForRequestWithTimeOut(hangUpStatus, ETimeLong), KErrNone, _L("RCall::HangUp timed-out")); |
|
209 ASSERT_EQUALS(hangUpStatus.Int(), KErrNone, _L("RCall::HangUp returned an error")); |
|
210 */ |
|
211 |
|
212 // 2. Set up multimedia mobile data call parameters. |
|
213 RMobileCall::TMobileHscsdCallParamsV1 multimediaParams2; |
|
214 RMobileCall::TMobileHscsdCallParamsV1Pckg checkParamsPkg2(multimediaParams2); |
|
215 |
|
216 // valid parameters |
|
217 multimediaParams2.iIdRestrict = RMobileCall::ESendMyId; |
|
218 multimediaParams2.iAckTimer = 20; |
|
219 multimediaParams2.iMSToModemWindowSize = 2; |
|
220 multimediaParams2.iModemToMSWindowSize = 2; |
|
221 multimediaParams2.iProtocol = RMobileCall::EProtocolPstnMultimedia; |
|
222 multimediaParams2.iQoS = RMobileCall::EQoSNonTransparent; |
|
223 multimediaParams2.iRLPVersion = RMobileCall::ERLPSingleLinkVersion0; |
|
224 multimediaParams2.iResequencingPeriod = 1; |
|
225 multimediaParams2.iRetransmissionAttempts = 2; |
|
226 multimediaParams2.iService = RMobileCall::EServiceDataCircuitAsync; |
|
227 multimediaParams2.iSpeed = RMobileCall::ESpeed64000; |
|
228 multimediaParams2.iUseEdge = EFalse; |
|
229 multimediaParams2.iV42bisCodewordsNum = 0; |
|
230 multimediaParams2.iV42bisMaxStringLength = 0; |
|
231 multimediaParams2.iV42bisReq = RMobileCall::EV42bisNeitherDirection; |
|
232 multimediaParams.iMaxTimeSlots = 15; |
|
233 multimediaParams.iWantedRxTimeSlots = 15; |
|
234 multimediaParams.iWantedAiur = RMobileCall::EAiurBpsUnspecified; |
|
235 |
|
236 // post notifier for RCall::NotifyStatusChange |
|
237 RCall::TStatus callStatus; |
|
238 TCoreEtelRequestStatus<RCall> notifyCallStatusChangeStatus (call1,&RCall::NotifyStatusChangeCancel); |
|
239 CleanupStack::PushL(notifyCallStatusChangeStatus); |
|
240 call1.NotifyStatusChange(notifyCallStatusChangeStatus,callStatus); |
|
241 |
|
242 /* |
|
243 // post a notifier for RLine::NotifyStatusChange |
|
244 mobileLine.NotifyStatusChange(notifyStatusChangeStatus,lineStatus); |
|
245 |
|
246 // Dial a number which does not answer. |
|
247 ASSERT_TRUE(GetStringFromConfig(KIniDataNumSection, KIniDataNumber2, number) != EFalse, _L("CTestStep::GetStringFromConfig did not complete as expected")); |
|
248 // $CTSYProblem: dial returns -18 or -6 depending of selected parametes (protocol) |
|
249 // EProtocolPstnMultimedia = -6, EProtocolV34 = -18 |
|
250 // All CSD call are currently failing, this is not a CTSY problem because CTSY has no control over this issue |
|
251 |
|
252 call1.Dial(dialStatus, checkParamsPkg2, number); |
|
253 TEST_CHECK_POINT_L(_L("Couldn't dial a call, no point continuing.")); |
|
254 ASSERT_EQUALS(WaitForRequestWithTimeOut(dialStatus, ETimeMedium), KErrNone, _L("RCall::Dial timed-out")); |
|
255 ASSERT_EQUALS(dialStatus.Int(), KErrNone, _L("RCall::Dial returned with an error")); |
|
256 |
|
257 // Verify line status goes to ringing. |
|
258 expectedLineStatus = RCall::EStatusRinging; |
|
259 iCallControlTestHelper.WaitForLineNotifyStatusChange(mobileLine, |
|
260 notifyStatusChangeStatus, |
|
261 lineStatus, |
|
262 expectedLineStatus, |
|
263 expectedStatus); |
|
264 |
|
265 // Cancel dialling. |
|
266 call1.DialCancel(); |
|
267 |
|
268 |
|
269 // Verify call and line status is idle. |
|
270 RCall::TStatus expectedCallStatus = RCall::EStatusIdle; |
|
271 iCallControlTestHelper.WaitForCallNotifyStatusChange(call1, |
|
272 notifyCallStatusChangeStatus, |
|
273 callStatus, |
|
274 expectedCallStatus, |
|
275 expectedStatus); |
|
276 |
|
277 mobileLine.NotifyStatusChange(notifyStatusChangeStatus,lineStatus); |
|
278 expectedLineStatus = RCall::EStatusIdle; |
|
279 iCallControlTestHelper.WaitForLineNotifyStatusChange(mobileLine, |
|
280 notifyStatusChangeStatus, |
|
281 lineStatus, |
|
282 expectedLineStatus, |
|
283 expectedStatus); |
|
284 */ |
|
285 |
|
286 // 3. Set up multimedia mobile data call with bad parameters in TMobileDataCallParamsVx. |
|
287 RMobileCall::TMobileHscsdCallParamsV1 multimediaParams3; |
|
288 RMobileCall::TMobileHscsdCallParamsV1Pckg checkParamsPkg3(multimediaParams3); |
|
289 |
|
290 // valid parameters with invalid iProtocol parameter |
|
291 multimediaParams3.iIdRestrict = RMobileCall::ESendMyId; |
|
292 multimediaParams3.iAckTimer = 20; |
|
293 multimediaParams3.iMSToModemWindowSize = 2; |
|
294 multimediaParams3.iModemToMSWindowSize = 2; |
|
295 multimediaParams3.iProtocol = RMobileCall::EProtocolPstnMultimedia; |
|
296 multimediaParams3.iQoS = RMobileCall::EQoSNonTransparent; |
|
297 multimediaParams3.iRLPVersion = RMobileCall::ERLPSingleLinkVersion0; |
|
298 multimediaParams3.iResequencingPeriod = 1; |
|
299 multimediaParams3.iRetransmissionAttempts = 2; |
|
300 multimediaParams3.iService = RMobileCall::EServiceDataCircuitSync; |
|
301 multimediaParams3.iSpeed = RMobileCall::ESpeed64000; |
|
302 multimediaParams3.iUseEdge = EFalse; |
|
303 multimediaParams3.iV42bisCodewordsNum = 0; |
|
304 multimediaParams3.iV42bisMaxStringLength = 0; |
|
305 multimediaParams3.iV42bisReq = RMobileCall::EV42bisNeitherDirection; |
|
306 multimediaParams.iMaxTimeSlots = 15; |
|
307 multimediaParams.iWantedRxTimeSlots = 15; |
|
308 multimediaParams.iWantedAiur = RMobileCall::EAiurBpsUnspecified; |
|
309 |
|
310 // Dial a number that answers. |
|
311 ASSERT_TRUE(GetStringFromConfig(KIniDataNumSection, KIniDataNumber1, number) != EFalse, _L("CTestStep::GetStringFromConfig did not complete as expected")); |
|
312 // $CTSYProblem: dial returns -18 or -6 depending of selected parametes (protocol) |
|
313 // EProtocolPstnMultimedia = -6, EProtocolV34 = -18 |
|
314 // All CSD call are currently failing, this is not a CTSY problem because CTSY |
|
315 // has no control over this issue |
|
316 call1.Dial(dialStatus, checkParamsPkg2, number); |
|
317 |
|
318 // Verify dialling fails. |
|
319 ASSERT_TRUE((dialStatus.Int()!= KErrNone), _L("RCall::Dial did not returned with an error")); |
|
320 |
|
321 // |
|
322 // TEST END |
|
323 // |
|
324 |
|
325 StartCleanup(); |
|
326 |
|
327 |
|
328 // Pop |
|
329 // notifyStatusChangeStatus |
|
330 // dialStatus |
|
331 // hangUpStatus |
|
332 // notifyCallStatusChangeStatus |
|
333 CleanupStack::PopAndDestroy(4, ¬ifyStatusChangeStatus); |
|
334 |
|
335 |
|
336 return TestStepResult(); |
|
337 } |
|
338 |
|
339 TPtrC CCTSYIntegrationTestMultimediaCallControl0001::GetTestStepName() |
|
340 /** |
|
341 * @return The test step name. |
|
342 */ |
|
343 { |
|
344 return _L("CCTSYIntegrationTestMultimediaCallControl0001"); |
|
345 } |
|
346 |
|
347 |
|
348 |
|
349 CCTSYIntegrationTestMultimediaCallControl0002::CCTSYIntegrationTestMultimediaCallControl0002(CEtelSessionMgr& aEtelSessionMgr) |
|
350 : CCTSYIntegrationTestMultimediaCallControlBase(aEtelSessionMgr) |
|
351 /** |
|
352 * Constructor. |
|
353 */ |
|
354 { |
|
355 SetTestStepName(CCTSYIntegrationTestMultimediaCallControl0002::GetTestStepName()); |
|
356 } |
|
357 |
|
358 CCTSYIntegrationTestMultimediaCallControl0002::~CCTSYIntegrationTestMultimediaCallControl0002() |
|
359 /** |
|
360 * Destructor. |
|
361 */ |
|
362 { |
|
363 } |
|
364 |
|
365 TVerdict CCTSYIntegrationTestMultimediaCallControl0002::doTestStepL() |
|
366 /** |
|
367 * @SYMTestCaseID BA-CTSY-INT-MMCC-0002 |
|
368 * @SYMFssID BA/CTSY/MMCC-0002 |
|
369 * @SYMTestCaseDesc Ensure a video call can be hung up by originator. |
|
370 * @SYMTestPriority High |
|
371 * @SYMTestActions RMobileCall::GetMobileCallInfo, RLine::NotifyStatusChange, RCall::HangUp, RCall::GetCallParams |
|
372 * @SYMTestExpectedResults Pass - Video call is hung up. |
|
373 * @SYMTestType CIT |
|
374 * @SYMTestCaseDependencies live/manual |
|
375 * |
|
376 |
|
377 * |
|
378 * @return - TVerdict code |
|
379 */ |
|
380 { |
|
381 |
|
382 // |
|
383 // SET UP |
|
384 // |
|
385 |
|
386 |
|
387 // Ensure phone is camped on a valid cell. |
|
388 RMobilePhone& phone = iEtelSessionMgr.GetPhoneL(KMainServer,KMainPhone); |
|
389 CHECK_EQUALS_L(iNetworkTestHelper.WaitForRegisteredOnHomeNetworkL(phone), KErrNone, _L("TNetworkTsyTestHelper::WaitForRegisteredOnHomeNetworkL returned with an error")); |
|
390 |
|
391 // Get data line 1. |
|
392 RMobileLine& mobileLine= iEtelSessionMgr.GetLineL(KMainServer, KMainPhone, KDataLine); |
|
393 |
|
394 // Get call 1. |
|
395 RMobileCall& call1= iEtelSessionMgr.GetCallL(KMainServer, KMainPhone, KDataLine, KCall1); |
|
396 |
|
397 // Check current networkmode returns ENetworkModeWcdma |
|
398 RMobilePhone::TMobilePhoneNetworkMode mode; |
|
399 CHECK_EQUALS_L(phone.GetCurrentMode(mode), KErrNone, _L("RMobilePhone::GetCurrentMode returned with an error")); |
|
400 CHECK_EQUALS_L(mode, RMobilePhone::ENetworkModeWcdma, _L("RMobilePhone::GetCurrentMode did not return ENetworkModeWcdma as expected")); |
|
401 |
|
402 // |
|
403 // SET UP END |
|
404 // |
|
405 |
|
406 StartTest(); |
|
407 |
|
408 // |
|
409 // TEST START |
|
410 // |
|
411 |
|
412 |
|
413 // Set up multimedia mobile data call parameters for a multimedia call. |
|
414 RMobileCall::TMobileHscsdCallParamsV1 multimediaParams; |
|
415 RMobileCall::TMobileHscsdCallParamsV1Pckg checkParamsPkg(multimediaParams); |
|
416 |
|
417 // valid parameters |
|
418 multimediaParams.iIdRestrict = RMobileCall::ESendMyId; |
|
419 multimediaParams.iAckTimer = 20; |
|
420 multimediaParams.iMSToModemWindowSize = 2; |
|
421 multimediaParams.iModemToMSWindowSize = 2; |
|
422 multimediaParams.iProtocol = RMobileCall::EProtocolV34; |
|
423 multimediaParams.iQoS = RMobileCall::EQoSNonTransparent; |
|
424 multimediaParams.iRLPVersion = RMobileCall::ERLPSingleLinkVersion0; |
|
425 multimediaParams.iResequencingPeriod = 1; |
|
426 multimediaParams.iRetransmissionAttempts = 2; |
|
427 multimediaParams.iService = RMobileCall::EServiceDataCircuitAsync; |
|
428 multimediaParams.iSpeed = RMobileCall::ESpeed64000; |
|
429 multimediaParams.iUseEdge = EFalse; |
|
430 multimediaParams.iV42bisCodewordsNum = 0; |
|
431 multimediaParams.iV42bisMaxStringLength = 0; |
|
432 multimediaParams.iV42bisReq = RMobileCall::EV42bisNeitherDirection; |
|
433 multimediaParams.iAsymmetry = RMobileCall::EAsymmetryDownlink; |
|
434 multimediaParams.iCodings = RMobileCall::KCapsAiurCoding144; |
|
435 multimediaParams.iUserInitUpgrade = EFalse; |
|
436 multimediaParams.iMaxTimeSlots = 15; |
|
437 multimediaParams.iWantedRxTimeSlots = 15; |
|
438 multimediaParams.iWantedAiur = RMobileCall::EAiurBpsUnspecified; |
|
439 |
|
440 // post a notifier for RLine::NotifyStatusChange |
|
441 TCoreEtelRequestStatus<RLine> notifyStatusChangeStatus(mobileLine,&RLine::NotifyStatusChangeCancel); |
|
442 CleanupStack::PushL(notifyStatusChangeStatus); |
|
443 RCall::TStatus lineStatus; |
|
444 mobileLine.NotifyStatusChange(notifyStatusChangeStatus,lineStatus); |
|
445 |
|
446 // Dial a number that answers. |
|
447 TPtrC number; |
|
448 ASSERT_TRUE(GetStringFromConfig(KIniDataNumSection, KIniDataNumber1, number) != EFalse, _L("CTestStep::GetStringFromConfig did not complete as expected")); |
|
449 TCoreEtelRequestStatus<RCall> dialStatus(call1, &RCall::DialCancel); |
|
450 CleanupStack::PushL(dialStatus); |
|
451 |
|
452 // Failing CSD calls (see $CTSYProblem described below). |
|
453 // Code can be added in after multimedia calls are working. |
|
454 |
|
455 // $CTSYProblem: dial returns -18 or -6 depending of selected parametes (protocol) |
|
456 // EProtocolPstnMultimedia = -6, EProtocolV34 = -18 |
|
457 // All CSD call are currently failing, this is not a CTSY problem because CTSY has no control over this issue |
|
458 /* |
|
459 call1.Dial(dialStatus, checkParamsPkg, number); |
|
460 TEST_CHECK_POINT_L(_L("Couldn't dial a call, no point continuing.")); |
|
461 ASSERT_EQUALS(WaitForRequestWithTimeOut(dialStatus, ETimeMedium), KErrNone, _L("RCall::Dial timed-out")); |
|
462 ASSERT_EQUALS(dialStatus.Int(), KErrNone, _L("RCall::Dial returned with an error")); |
|
463 |
|
464 // Verify line status goes from ringing to connected |
|
465 RCall::TStatus expectedLineStatus = RCall::EStatusRinging; |
|
466 const TInt expectedStatus = KErrNone; |
|
467 |
|
468 iCallControlTestHelper.WaitForLineNotifyStatusChange(mobileLine, |
|
469 notifyStatusChangeStatus, |
|
470 lineStatus, |
|
471 expectedLineStatus, |
|
472 expectedStatus); |
|
473 |
|
474 mobileLine.NotifyStatusChange(notifyStatusChangeStatus,lineStatus); |
|
475 expectedLineStatus = RCall::EStatusConnected; |
|
476 iCallControlTestHelper.WaitForLineNotifyStatusChange(mobileLine, |
|
477 notifyStatusChangeStatus, |
|
478 lineStatus, |
|
479 expectedLineStatus, |
|
480 expectedStatus); |
|
481 |
|
482 // Get call information and verify it is as expected. |
|
483 RMobileCall::TMobileCallInfoV1 mobileCallInfo; |
|
484 RMobileCall::TMobileCallInfoV1Pckg callInfoPckg(mobileCallInfo); |
|
485 ASSERT_EQUALS(call1.GetMobileCallInfo(callInfoPckg), KErrNone, _L("RMobileCall::GetMobileCallInfo returned an error")); |
|
486 ASSERT_TRUE(mobileCallInfo.iCallName.Length() >0, _L("RMobileCall::GetMobileCallInfo returned an invalid callName")); |
|
487 ASSERT_TRUE(mobileCallInfo.iLineName.Length() >0, _L("RMobileCall::GetMobileCallInfo returned an invalid line name")); |
|
488 |
|
489 // Get call params and verify it is as expected. |
|
490 ASSERT_EQUALS(call1.GetCallParams(checkParamsPkg), KErrNone, _L("RCall::GetCallParams returned an error")); |
|
491 ASSERT_TRUE(multimediaParams.iSpeed = RMobileCall::ESpeed64000, _L("RCall::GetCallParams returned wrongly RMobileCall::ESpeedUnspecified")); |
|
492 ASSERT_TRUE(multimediaParams.iProtocol = RMobileCall::EProtocolPstnMultimedia, _L("TMobileDataCallParamsV1 returns aParams.iProtocol")); |
|
493 ASSERT_EQUALS(multimediaParams.iService, RMobileCall::EServiceDataCircuitAsync, _L("RCall::GetCallParams service was not the same that used in dial")); |
|
494 */ |
|
495 // Hang up. |
|
496 TCoreEtelRequestStatus<RCall> hangUpStatus (call1, &RCall::HangUpCancel); |
|
497 CleanupStack::PushL(hangUpStatus); |
|
498 /* |
|
499 call1.HangUp(hangUpStatus); |
|
500 ASSERT_EQUALS(WaitForRequestWithTimeOut(hangUpStatus, ETimeLong), KErrNone, _L("RCall::HangUp timed-out")); |
|
501 ASSERT_EQUALS(hangUpStatus.Int(), KErrNone, _L("RCall::HangUp returned an error")); |
|
502 */ |
|
503 |
|
504 // |
|
505 // TEST END |
|
506 // |
|
507 |
|
508 StartCleanup(); |
|
509 |
|
510 //notifyStatusChangeStatus |
|
511 //dialStatus |
|
512 //hangUpStatus |
|
513 CleanupStack::PopAndDestroy(3, ¬ifyStatusChangeStatus); |
|
514 |
|
515 return TestStepResult(); |
|
516 } |
|
517 |
|
518 TPtrC CCTSYIntegrationTestMultimediaCallControl0002::GetTestStepName() |
|
519 /** |
|
520 * @return The test step name. |
|
521 */ |
|
522 { |
|
523 return _L("CCTSYIntegrationTestMultimediaCallControl0002"); |
|
524 } |
|
525 |
|
526 |
|
527 |
|
528 CCTSYIntegrationTestMultimediaCallControl0003::CCTSYIntegrationTestMultimediaCallControl0003(CEtelSessionMgr& aEtelSessionMgr) |
|
529 : CCTSYIntegrationTestMultimediaCallControlBase(aEtelSessionMgr) |
|
530 /** |
|
531 * Constructor. |
|
532 */ |
|
533 { |
|
534 SetTestStepName(CCTSYIntegrationTestMultimediaCallControl0003::GetTestStepName()); |
|
535 } |
|
536 |
|
537 CCTSYIntegrationTestMultimediaCallControl0003::~CCTSYIntegrationTestMultimediaCallControl0003() |
|
538 /** |
|
539 * Destructor. |
|
540 */ |
|
541 { |
|
542 } |
|
543 |
|
544 TVerdict CCTSYIntegrationTestMultimediaCallControl0003::doTestStepL() |
|
545 /** |
|
546 * @SYMTestCaseID BA-CTSY-INT-MMCC-0003 |
|
547 * @SYMFssID BA/CTSY/MMCC-0003 |
|
548 * @SYMTestCaseDesc Ensure a video call can be hung up by remote party. |
|
549 * @SYMTestPriority High |
|
550 * @SYMTestActions RMobileCall::GetMobileCallInfo, RLine::NotifyIncomingCall, RCall::HangUp, RCall::AnswerIncomingCall, RCall::GetCallParams |
|
551 * @SYMTestExpectedResults Pass - Video call is hung up. |
|
552 * @SYMTestType CIT |
|
553 * @SYMTestCaseDependencies live/manual |
|
554 * |
|
555 |
|
556 * |
|
557 * @return - TVerdict code |
|
558 */ |
|
559 { |
|
560 |
|
561 // |
|
562 // SET UP |
|
563 // |
|
564 |
|
565 |
|
566 // Ensure phone is camped on a valid cell. |
|
567 RMobilePhone& phone = iEtelSessionMgr.GetPhoneL(KMainServer,KMainPhone); |
|
568 CHECK_EQUALS_L(iNetworkTestHelper.WaitForRegisteredOnHomeNetworkL(phone), KErrNone, _L("TNetworkTsyTestHelper::WaitForRegisteredOnHomeNetworkL returned with an error")); |
|
569 |
|
570 // Get data line 1. |
|
571 RMobileLine& mobileLine= iEtelSessionMgr.GetLineL(KMainServer, KMainPhone, KDataLine); |
|
572 |
|
573 |
|
574 // |
|
575 // SET UP END |
|
576 // |
|
577 |
|
578 StartTest(); |
|
579 |
|
580 // |
|
581 // TEST START |
|
582 // |
|
583 |
|
584 |
|
585 // Make an incoming call to the board. |
|
586 |
|
587 // post notifier for RLine::NotifyIncomingCall |
|
588 TCoreEtelRequestStatus<RLine> notifyIncomingCallStatus (mobileLine,&RLine::NotifyIncomingCallCancel); |
|
589 CleanupStack::PushL(notifyIncomingCallStatus); |
|
590 TName name; |
|
591 mobileLine.NotifyIncomingCall(notifyIncomingCallStatus,name); |
|
592 |
|
593 // Failing CSD calls (see $CTSYProblem described below). |
|
594 // Code can be added in after multimedia calls are working. |
|
595 |
|
596 // $CTSYProblem: The line is not notifying tester to answer the incoming call ( notifier never completes). |
|
597 // CTSY does not receive anykind of signal from line about incoming call thus it cannot be answered. |
|
598 // All CSD call are currently failing, this is not a CTSY problem because CTSY has no control over this issue |
|
599 |
|
600 /* |
|
601 // Remote party invokes an incoming video call. |
|
602 DisplayUserInteractionPromptL(_L("You should now dial a multimedia call to this board from some other mobilephone"), ETimeLong); |
|
603 |
|
604 // Check RLine::NotifyIncomingCall completes with valid call name. |
|
605 ASSERT_EQUALS(WaitForRequestWithTimeOut(notifyIncomingCallStatus,ETimeMedium), KErrNone, _L("RLine::NotifyIncomingCall did not complete without error")); |
|
606 ASSERT_EQUALS(notifyIncomingCallStatus.Int(), KErrNone, _L("RLine::NotifyIncomingCall set requestStatus to an error")); |
|
607 ASSERT_TRUE(name.Length() > 0, _L("RLine::NotifyIncomingCall did not set the name")); |
|
608 |
|
609 // Get call 1. |
|
610 TCallId incomingCallId; |
|
611 RMobileCall& dataCall = iEtelSessionMgr.GetIncomingCallL(KMainServer, KMainPhone, KDataLine, name, incomingCallId); |
|
612 |
|
613 // post notifier for RCall::NotifyStatusChange for incoming call |
|
614 TCoreEtelRequestStatus<RCall> notifyCallStatusChangeStatus (dataCall, &RCall::NotifyStatusChangeCancel); |
|
615 CleanupStack::PushL(notifyCallStatusChangeStatus); |
|
616 RCall::TStatus callStatus; |
|
617 dataCall.NotifyStatusChange(notifyCallStatusChangeStatus, callStatus); |
|
618 |
|
619 // Answer incoming call. |
|
620 TCoreEtelRequestStatus<RCall> answerIncomingStatus(dataCall, &RCall::AnswerIncomingCallCancel); |
|
621 CleanupStack::PushL(answerIncomingStatus); |
|
622 |
|
623 dataCall.AnswerIncomingCall(answerIncomingStatus); |
|
624 ASSERT_EQUALS(WaitForRequestWithTimeOut(answerIncomingStatus, ETimeMedium), KErrNone, _L("RMobileCall::AnswerIncomingCall timed-out")); |
|
625 ASSERT_EQUALS(answerIncomingStatus.Int(), KErrNone, _L("RMobileCall::AnswerIncomingCall returned with an error")); |
|
626 |
|
627 // Verify call connected. |
|
628 RCall::TStatus expectedCallStatus = RCall::EStatusConnected; |
|
629 |
|
630 iCallControlTestHelper.WaitForCallNotifyStatusChange(dataCall, |
|
631 notifyCallStatusChangeStatus, |
|
632 callStatus, |
|
633 expectedCallStatus, |
|
634 KErrNone); |
|
635 |
|
636 // Get call information and verify it is as expected. |
|
637 RMobileCall::TMobileCallInfoV1 mobileCallInfo; |
|
638 RMobileCall::TMobileCallInfoV1Pckg callInfoPckg(mobileCallInfo); |
|
639 ASSERT_EQUALS(dataCall.GetMobileCallInfo(callInfoPckg), KErrNone, _L("RMobileCall::GetMobileCallInfo returned an error")); |
|
640 ASSERT_TRUE(mobileCallInfo.iCallName.Length() >0, _L("RMobileCall::GetMobileCallInfo returned an invalid callName")); |
|
641 ASSERT_TRUE(mobileCallInfo.iLineName.Length() >0, _L("RMobileCall::GetMobileCallInfo returned an invalid line name")); |
|
642 |
|
643 // Get call params and verify it is as expected. |
|
644 RMobileCall::TMobileDataCallParamsV1 multimediaParams; |
|
645 RMobileCall::TMobileCallParamsV1Pckg checkParamsPkg(multimediaParams); |
|
646 ASSERT_EQUALS(dataCall.GetCallParams(checkParamsPkg), KErrNone, _L("RCall::GetCallParams returned an error")); |
|
647 ASSERT_TRUE(multimediaParams.iSpeed = RMobileCall::ESpeed64000, _L("RCall::GetCallParams returned wrongly RMobileCall::ESpeedUnspecified")); |
|
648 ASSERT_TRUE(multimediaParams.iProtocol = RMobileCall::EProtocolPstnMultimedia, _L("TMobileDataCallParamsV1 returns aParams.iProtocol")); |
|
649 ASSERT_EQUALS(multimediaParams.iService, RMobileCall::EServiceDataCircuitAsync, _L("RCall::GetCallParams service was not the same that used in dial")); |
|
650 |
|
651 // post a notifier for RLine::NotifyStatusChange |
|
652 TCoreEtelRequestStatus<RLine> notifyStatusChangeStatus (mobileLine,&RLine::NotifyStatusChangeCancel); |
|
653 CleanupStack::PushL(notifyStatusChangeStatus); |
|
654 RCall::TStatus lineStatus; |
|
655 mobileLine.NotifyStatusChange(notifyStatusChangeStatus,lineStatus); |
|
656 |
|
657 // post notify for RCall::NotifyStatusChange |
|
658 dataCall.NotifyStatusChange(notifyCallStatusChangeStatus, callStatus); |
|
659 |
|
660 // Hang up. |
|
661 TCoreEtelRequestStatus<RCall> hangUpStatus (dataCall, &RCall::HangUpCancel); |
|
662 CleanupStack::PushL(hangUpStatus); |
|
663 dataCall.HangUp(hangUpStatus); |
|
664 ASSERT_EQUALS(WaitForRequestWithTimeOut(hangUpStatus, ETimeLong), KErrNone, _L("RCall::HangUp timed-out")); |
|
665 ASSERT_EQUALS(hangUpStatus.Int(), KErrNone, _L("RCall::HangUp returned an error")); |
|
666 |
|
667 // Verify call and line are idle. |
|
668 expectedCallStatus = RCall::EStatusIdle; |
|
669 iCallControlTestHelper.WaitForCallNotifyStatusChange(dataCall, |
|
670 notifyCallStatusChangeStatus, |
|
671 callStatus, |
|
672 expectedCallStatus, |
|
673 KErrNone); |
|
674 |
|
675 RCall::TStatus expectedLineStatus = RCall::EStatusIdle; |
|
676 iCallControlTestHelper.WaitForLineNotifyStatusChange(mobileLine, |
|
677 notifyStatusChangeStatus, |
|
678 lineStatus, |
|
679 expectedLineStatus, |
|
680 KErrNone); |
|
681 */ |
|
682 |
|
683 // |
|
684 // TEST END |
|
685 // |
|
686 |
|
687 StartCleanup(); |
|
688 |
|
689 // Pop |
|
690 // notifyIncomingCallStatus |
|
691 // notifyCallStatusChangeStatus |
|
692 // answerIncomingStatus |
|
693 // notifyStatusChangeStatus |
|
694 // hangUpStatus |
|
695 CleanupStack::PopAndDestroy(1, ¬ifyIncomingCallStatus); |
|
696 |
|
697 return TestStepResult(); |
|
698 } |
|
699 |
|
700 TPtrC CCTSYIntegrationTestMultimediaCallControl0003::GetTestStepName() |
|
701 /** |
|
702 * @return The test step name. |
|
703 */ |
|
704 { |
|
705 return _L("CCTSYIntegrationTestMultimediaCallControl0003"); |
|
706 } |
|
707 |
|
708 |
|
709 |
|
710 CCTSYIntegrationTestMultimediaCallControl0004::CCTSYIntegrationTestMultimediaCallControl0004(CEtelSessionMgr& aEtelSessionMgr) |
|
711 : CCTSYIntegrationTestMultimediaCallControlBase(aEtelSessionMgr) |
|
712 /** |
|
713 * Constructor. |
|
714 */ |
|
715 { |
|
716 SetTestStepName(CCTSYIntegrationTestMultimediaCallControl0004::GetTestStepName()); |
|
717 } |
|
718 |
|
719 CCTSYIntegrationTestMultimediaCallControl0004::~CCTSYIntegrationTestMultimediaCallControl0004() |
|
720 /** |
|
721 * Destructor. |
|
722 */ |
|
723 { |
|
724 } |
|
725 |
|
726 TVerdict CCTSYIntegrationTestMultimediaCallControl0004::doTestStepL() |
|
727 /** |
|
728 * @SYMTestCaseID BA-CTSY-INT-MMCC-0004 |
|
729 * @SYMFssID BA/CTSY/MMCC-0004 |
|
730 * @SYMTestCaseDesc Test hanging up a video call before the line starts ringing. |
|
731 * @SYMTestPriority High |
|
732 * @SYMTestActions RCall::DialCancel, RCall::GetStatus, RLine::GetStatus |
|
733 * @SYMTestExpectedResults Pass - Video call dialling is cancelled. |
|
734 * @SYMTestType CIT |
|
735 * @SYMTestCaseDependencies live/manual |
|
736 * |
|
737 |
|
738 * |
|
739 * @return - TVerdict code |
|
740 */ |
|
741 { |
|
742 |
|
743 // |
|
744 // SET UP |
|
745 // |
|
746 |
|
747 |
|
748 // Ensure phone is camped on a valid cell. |
|
749 |
|
750 // Get data line 1. |
|
751 |
|
752 // Get call 1. |
|
753 |
|
754 |
|
755 // |
|
756 // SET UP END |
|
757 // |
|
758 |
|
759 StartTest(); |
|
760 |
|
761 // |
|
762 // TEST START |
|
763 // |
|
764 |
|
765 |
|
766 // Set up multimedia mobile data call parameters for a multimedia call. |
|
767 |
|
768 // Dial. |
|
769 |
|
770 // Cancel dial. |
|
771 |
|
772 // Verify call and line are idle. |
|
773 |
|
774 |
|
775 // |
|
776 // TEST END |
|
777 // |
|
778 |
|
779 StartCleanup(); |
|
780 |
|
781 // Put any required test clean up here, then remove this comment |
|
782 |
|
783 return TestStepResult(); |
|
784 } |
|
785 |
|
786 TPtrC CCTSYIntegrationTestMultimediaCallControl0004::GetTestStepName() |
|
787 /** |
|
788 * @return The test step name. |
|
789 */ |
|
790 { |
|
791 return _L("CCTSYIntegrationTestMultimediaCallControl0004"); |
|
792 } |
|
793 |
|
794 |
|
795 |
|
796 CCTSYIntegrationTestMultimediaCallControl0005::CCTSYIntegrationTestMultimediaCallControl0005(CEtelSessionMgr& aEtelSessionMgr) |
|
797 : CCTSYIntegrationTestMultimediaCallControlBase(aEtelSessionMgr) |
|
798 /** |
|
799 * Constructor. |
|
800 */ |
|
801 { |
|
802 SetTestStepName(CCTSYIntegrationTestMultimediaCallControl0005::GetTestStepName()); |
|
803 } |
|
804 |
|
805 CCTSYIntegrationTestMultimediaCallControl0005::~CCTSYIntegrationTestMultimediaCallControl0005() |
|
806 /** |
|
807 * Destructor. |
|
808 */ |
|
809 { |
|
810 } |
|
811 |
|
812 TVerdict CCTSYIntegrationTestMultimediaCallControl0005::doTestStepL() |
|
813 /** |
|
814 * @SYMTestCaseID BA-CTSY-INT-MMCC-0005 |
|
815 * @SYMFssID BA/CTSY/MMCC-0005 |
|
816 * @SYMTestCaseDesc Test hanging up a video call while the line is ringing. |
|
817 * @SYMTestPriority High |
|
818 * @SYMTestActions RLine::NotifyStatusChange, RCall::HangUp, RCall::GetStatus, RLine::GetStatus |
|
819 * @SYMTestExpectedResults Pass - Video call is hung up. |
|
820 * @SYMTestType CIT |
|
821 * @SYMTestCaseDependencies live/manual |
|
822 * |
|
823 |
|
824 * |
|
825 * @return - TVerdict code |
|
826 */ |
|
827 { |
|
828 |
|
829 // |
|
830 // SET UP |
|
831 // |
|
832 |
|
833 |
|
834 // Ensure phone is camped on a valid cell. |
|
835 |
|
836 // Get data line 1. |
|
837 |
|
838 // Get call 1. |
|
839 |
|
840 |
|
841 // |
|
842 // SET UP END |
|
843 // |
|
844 |
|
845 StartTest(); |
|
846 |
|
847 // |
|
848 // TEST START |
|
849 // |
|
850 |
|
851 |
|
852 // Set up multimedia mobile data call parameters for a multimedia call. |
|
853 |
|
854 // Dial a number that won't answer. |
|
855 |
|
856 // Verify line goes to ringing. |
|
857 |
|
858 // Hang up. |
|
859 |
|
860 |
|
861 // |
|
862 // TEST END |
|
863 // |
|
864 |
|
865 StartCleanup(); |
|
866 |
|
867 // Put any required test clean up here, then remove this comment |
|
868 |
|
869 return TestStepResult(); |
|
870 } |
|
871 |
|
872 TPtrC CCTSYIntegrationTestMultimediaCallControl0005::GetTestStepName() |
|
873 /** |
|
874 * @return The test step name. |
|
875 */ |
|
876 { |
|
877 return _L("CCTSYIntegrationTestMultimediaCallControl0005"); |
|
878 } |
|
879 |
|
880 |
|
881 |
|
882 CCTSYIntegrationTestMultimediaCallControl0006::CCTSYIntegrationTestMultimediaCallControl0006(CEtelSessionMgr& aEtelSessionMgr) |
|
883 : CCTSYIntegrationTestMultimediaCallControlBase(aEtelSessionMgr) |
|
884 /** |
|
885 * Constructor. |
|
886 */ |
|
887 { |
|
888 SetTestStepName(CCTSYIntegrationTestMultimediaCallControl0006::GetTestStepName()); |
|
889 } |
|
890 |
|
891 CCTSYIntegrationTestMultimediaCallControl0006::~CCTSYIntegrationTestMultimediaCallControl0006() |
|
892 /** |
|
893 * Destructor. |
|
894 */ |
|
895 { |
|
896 } |
|
897 |
|
898 TVerdict CCTSYIntegrationTestMultimediaCallControl0006::doTestStepL() |
|
899 /** |
|
900 * @SYMTestCaseID BA-CTSY-INT-MMCC-0006 |
|
901 * @SYMFssID BA/CTSY/MMCC-0006 |
|
902 * @SYMTestCaseDesc Test handling of time out when remote party does not answer the video call. |
|
903 * @SYMTestPriority High |
|
904 * @SYMTestActions RLine::NotifyStatusChange |
|
905 * @SYMTestExpectedResults Pass - Call does not connect. |
|
906 * @SYMTestType CIT |
|
907 * @SYMTestCaseDependencies live/manual |
|
908 * |
|
909 |
|
910 * |
|
911 * @return - TVerdict code |
|
912 */ |
|
913 { |
|
914 |
|
915 // |
|
916 // SET UP |
|
917 // |
|
918 |
|
919 |
|
920 // Ensure phone is camped on a valid cell. |
|
921 |
|
922 // Get data line 1. |
|
923 |
|
924 // Get call 1. |
|
925 |
|
926 |
|
927 // |
|
928 // SET UP END |
|
929 // |
|
930 |
|
931 StartTest(); |
|
932 |
|
933 // |
|
934 // TEST START |
|
935 // |
|
936 |
|
937 |
|
938 // Set up multimedia mobile data call parameters for a multimedia call. |
|
939 |
|
940 // Dial a number that won't answer. |
|
941 |
|
942 // Cancel dial. |
|
943 |
|
944 |
|
945 // |
|
946 // TEST END |
|
947 // |
|
948 |
|
949 StartCleanup(); |
|
950 |
|
951 // Put any required test clean up here, then remove this comment |
|
952 |
|
953 return TestStepResult(); |
|
954 } |
|
955 |
|
956 TPtrC CCTSYIntegrationTestMultimediaCallControl0006::GetTestStepName() |
|
957 /** |
|
958 * @return The test step name. |
|
959 */ |
|
960 { |
|
961 return _L("CCTSYIntegrationTestMultimediaCallControl0006"); |
|
962 } |
|
963 |
|
964 |
|
965 |
|
966 CCTSYIntegrationTestMultimediaCallControl0007::CCTSYIntegrationTestMultimediaCallControl0007(CEtelSessionMgr& aEtelSessionMgr) |
|
967 : CCTSYIntegrationTestMultimediaCallControlBase(aEtelSessionMgr) |
|
968 /** |
|
969 * Constructor. |
|
970 */ |
|
971 { |
|
972 SetTestStepName(CCTSYIntegrationTestMultimediaCallControl0007::GetTestStepName()); |
|
973 } |
|
974 |
|
975 CCTSYIntegrationTestMultimediaCallControl0007::~CCTSYIntegrationTestMultimediaCallControl0007() |
|
976 /** |
|
977 * Destructor. |
|
978 */ |
|
979 { |
|
980 } |
|
981 |
|
982 TVerdict CCTSYIntegrationTestMultimediaCallControl0007::doTestStepL() |
|
983 /** |
|
984 * @SYMTestCaseID BA-CTSY-INT-MMCC-0007 |
|
985 * @SYMFssID BA/CTSY/MMCC-0007 |
|
986 * @SYMTestCaseDesc Test handling of video call when called party is busy. |
|
987 * @SYMTestPriority High |
|
988 * @SYMTestActions |
|
989 * @SYMTestExpectedResults Pass - Error returned when dialling busy number. |
|
990 * @SYMTestType CIT |
|
991 * @SYMTestCaseDependencies live/manual |
|
992 * |
|
993 |
|
994 * |
|
995 * @return - TVerdict code |
|
996 */ |
|
997 { |
|
998 |
|
999 // |
|
1000 // SET UP |
|
1001 // |
|
1002 |
|
1003 |
|
1004 // Ensure phone is camped on a valid cell. |
|
1005 RMobilePhone& phone = iEtelSessionMgr.GetPhoneL(KMainServer,KMainPhone); |
|
1006 CHECK_EQUALS_L(iNetworkTestHelper.WaitForRegisteredOnHomeNetworkL(phone), KErrNone, _L("TNetworkTsyTestHelper::WaitForRegisteredOnHomeNetworkL returned with an error")); |
|
1007 |
|
1008 // Get data line 1. |
|
1009 RMobileLine& line = iEtelSessionMgr.GetLineL(KMainServer, KMainPhone, KDataLine); |
|
1010 |
|
1011 // Get call 1. |
|
1012 RMobileCall& call = iEtelSessionMgr.GetCallL(KMainServer, KMainPhone, KDataLine, KCall1); |
|
1013 |
|
1014 // Ensure call waiting is deactivated. |
|
1015 RMobilePhone::TMobileService mobileService = RMobilePhone::EAllServices; |
|
1016 RMobilePhone::TMobilePhoneServiceAction mobilePhoneServiceAction = RMobilePhone::EServiceActionDeactivate; |
|
1017 TExtEtelRequestStatus mobilePhoneSetCallWaitingStatus(phone, EMobilePhoneSetCallWaitingStatus); |
|
1018 CleanupStack::PushL(mobilePhoneSetCallWaitingStatus); |
|
1019 phone.SetCallWaitingStatus(mobilePhoneSetCallWaitingStatus, mobileService, mobilePhoneServiceAction); |
|
1020 CHECK_EQUALS_L(WaitForRequestWithTimeOut(mobilePhoneSetCallWaitingStatus, ETimeMedium), KErrNone, _L("RMobilePhone::SetCallWaitingStatus timed-out")) |
|
1021 CHECK_EQUALS_L(mobilePhoneSetCallWaitingStatus.Int(), KErrNone, _L("RMobilePhone::SetCallWaitingStatus returned with an error")) |
|
1022 |
|
1023 |
|
1024 // |
|
1025 // SET UP END |
|
1026 // |
|
1027 |
|
1028 StartTest(); |
|
1029 |
|
1030 // |
|
1031 // TEST START |
|
1032 // |
|
1033 |
|
1034 |
|
1035 // Set up multimedia mobile data call parameters for a multimedia call. |
|
1036 RMobileCall::TMobileHscsdCallParamsV1 mobileHscsdCallParams; |
|
1037 RMobileCall::TMobileHscsdCallParamsV1Pckg mobileHscsdCallParamsPckg(mobileHscsdCallParams); |
|
1038 mobileHscsdCallParams.iIdRestrict = RMobileCall::ESendMyId; |
|
1039 mobileHscsdCallParams.iAckTimer = 20; |
|
1040 mobileHscsdCallParams.iMSToModemWindowSize = 2; |
|
1041 mobileHscsdCallParams.iModemToMSWindowSize = 2; |
|
1042 mobileHscsdCallParams.iProtocol = RMobileCall::EProtocolPstnMultimedia; |
|
1043 mobileHscsdCallParams.iQoS = RMobileCall::EQoSNonTransparent; |
|
1044 mobileHscsdCallParams.iRLPVersion = RMobileCall::ERLPSingleLinkVersion0; |
|
1045 mobileHscsdCallParams.iResequencingPeriod = 1; |
|
1046 mobileHscsdCallParams.iRetransmissionAttempts = 2; |
|
1047 mobileHscsdCallParams.iService = RMobileCall::EServiceDataCircuitAsync; |
|
1048 mobileHscsdCallParams.iSpeed = RMobileCall::ESpeed64000; |
|
1049 mobileHscsdCallParams.iUseEdge = EFalse; |
|
1050 mobileHscsdCallParams.iV42bisCodewordsNum = 0; |
|
1051 mobileHscsdCallParams.iV42bisMaxStringLength = 0; |
|
1052 mobileHscsdCallParams.iV42bisReq = RMobileCall::EV42bisNeitherDirection; |
|
1053 mobileHscsdCallParams.iAsymmetry = RMobileCall::EAsymmetryDownlink; |
|
1054 mobileHscsdCallParams.iCodings = RMobileCall::KCapsAiurCoding144; |
|
1055 mobileHscsdCallParams.iUserInitUpgrade = EFalse; |
|
1056 mobileHscsdCallParams.iMaxTimeSlots = 15; |
|
1057 mobileHscsdCallParams.iWantedRxTimeSlots = 15; |
|
1058 mobileHscsdCallParams.iWantedAiur = RMobileCall::EAiurBpsUnspecified; |
|
1059 |
|
1060 // Dial a number which is engaged. |
|
1061 DisplayUserInteractionPromptL(_L("Please be sure that DataNumber1 is currently engaged"), ETimeMedium); |
|
1062 TPtrC number; |
|
1063 ASSERT_TRUE(GetStringFromConfig(KIniDataNumSection, KIniDataNumber1, number) != EFalse, _L("GetStringFromConfig did not complete as expected")); |
|
1064 DEBUG_PRINTF2(_L("Board is now dialling: %S"), &number); |
|
1065 TCoreEtelRequestStatus<RMobileCall> dialStatus(call, &RMobileCall::DialCancel); |
|
1066 CleanupStack::PushL(dialStatus); |
|
1067 |
|
1068 // Failing CSD calls (see $CTSYProblem described below). |
|
1069 // Code can be added in after multimedia calls are working. |
|
1070 |
|
1071 // $CTSYProblem: dial returns -18 or -6 depending of selected parametes (protocol) |
|
1072 // EProtocolPstnMultimedia = -6, EProtocolV34 = -18 |
|
1073 // All CSD call are currently failing, this is not a CTSY problem because CTSY has no control over this issue |
|
1074 /* |
|
1075 call.Dial(dialStatus, mobileHscsdCallParamsPckg, number); |
|
1076 ASSERT_EQUALS(WaitForRequestWithTimeOut(dialStatus, ETimeMedium), KErrNone, _L("RMobileCall::Dial timed-out")); |
|
1077 |
|
1078 // Verify dial fails. |
|
1079 ASSERT_TRUE(dialStatus.Int() != KErrNone, _L("RMobileCall::Dial did not return error as expected")); |
|
1080 */ |
|
1081 // |
|
1082 // TEST END |
|
1083 // |
|
1084 |
|
1085 StartCleanup(); |
|
1086 |
|
1087 // Pop |
|
1088 // mobilePhoneSetCallWaitingStatus |
|
1089 // dialStatus |
|
1090 CleanupStack::PopAndDestroy(2, &mobilePhoneSetCallWaitingStatus); |
|
1091 |
|
1092 return TestStepResult(); |
|
1093 } |
|
1094 |
|
1095 TPtrC CCTSYIntegrationTestMultimediaCallControl0007::GetTestStepName() |
|
1096 /** |
|
1097 * @return The test step name. |
|
1098 */ |
|
1099 { |
|
1100 return _L("CCTSYIntegrationTestMultimediaCallControl0007"); |
|
1101 } |
|
1102 |
|
1103 |
|
1104 |
|
1105 CCTSYIntegrationTestMultimediaCallControl0008::CCTSYIntegrationTestMultimediaCallControl0008(CEtelSessionMgr& aEtelSessionMgr) |
|
1106 : CCTSYIntegrationTestMultimediaCallControlBase(aEtelSessionMgr) |
|
1107 /** |
|
1108 * Constructor. |
|
1109 */ |
|
1110 { |
|
1111 SetTestStepName(CCTSYIntegrationTestMultimediaCallControl0008::GetTestStepName()); |
|
1112 } |
|
1113 |
|
1114 CCTSYIntegrationTestMultimediaCallControl0008::~CCTSYIntegrationTestMultimediaCallControl0008() |
|
1115 /** |
|
1116 * Destructor. |
|
1117 */ |
|
1118 { |
|
1119 } |
|
1120 |
|
1121 TVerdict CCTSYIntegrationTestMultimediaCallControl0008::doTestStepL() |
|
1122 /** |
|
1123 * @SYMTestCaseID BA-CTSY-INT-MMCC-0008 |
|
1124 * @SYMFssID BA/CTSY/MMCC-0008 |
|
1125 * @SYMTestCaseDesc Test making a video call after temporary deactivation of CLIR. |
|
1126 * @SYMTestPriority High |
|
1127 * @SYMTestActions RLine::NotifyStatusChange, RMobilePhone::SetIdentityServiceStatus, RMobilePhone::NotifyIdentityServiceStatus |
|
1128 * @SYMTestExpectedResults Pass - Caller ID retrieved when CLIR deactivated. |
|
1129 * @SYMTestType CIT |
|
1130 * @SYMTestCaseDependencies live/manual |
|
1131 * |
|
1132 |
|
1133 * |
|
1134 * @return - TVerdict code |
|
1135 */ |
|
1136 { |
|
1137 |
|
1138 // |
|
1139 // SET UP |
|
1140 // |
|
1141 |
|
1142 |
|
1143 // Ensure phone is camped on a valid cell. |
|
1144 |
|
1145 // Get data line 1. |
|
1146 |
|
1147 // Get call 1. |
|
1148 |
|
1149 |
|
1150 // |
|
1151 // SET UP END |
|
1152 // |
|
1153 |
|
1154 StartTest(); |
|
1155 |
|
1156 // |
|
1157 // TEST START |
|
1158 // |
|
1159 |
|
1160 |
|
1161 // Deactivate CLIR. |
|
1162 |
|
1163 // Set up multimedia mobile data call parameters for a multimedia call. |
|
1164 |
|
1165 // Dial a number from the board. |
|
1166 |
|
1167 // Verify that caller ID is available for incoming call. |
|
1168 |
|
1169 // Answer that call. |
|
1170 |
|
1171 // Verify call is answered and line status notifications produced. |
|
1172 |
|
1173 |
|
1174 // |
|
1175 // TEST END |
|
1176 // |
|
1177 |
|
1178 StartCleanup(); |
|
1179 |
|
1180 // Put any required test clean up here, then remove this comment |
|
1181 |
|
1182 return TestStepResult(); |
|
1183 } |
|
1184 |
|
1185 TPtrC CCTSYIntegrationTestMultimediaCallControl0008::GetTestStepName() |
|
1186 /** |
|
1187 * @return The test step name. |
|
1188 */ |
|
1189 { |
|
1190 return _L("CCTSYIntegrationTestMultimediaCallControl0008"); |
|
1191 } |
|
1192 |
|
1193 |
|
1194 |
|
1195 CCTSYIntegrationTestMultimediaCallControl0009::CCTSYIntegrationTestMultimediaCallControl0009(CEtelSessionMgr& aEtelSessionMgr) |
|
1196 : CCTSYIntegrationTestMultimediaCallControlBase(aEtelSessionMgr) |
|
1197 /** |
|
1198 * Constructor. |
|
1199 */ |
|
1200 { |
|
1201 SetTestStepName(CCTSYIntegrationTestMultimediaCallControl0009::GetTestStepName()); |
|
1202 } |
|
1203 |
|
1204 CCTSYIntegrationTestMultimediaCallControl0009::~CCTSYIntegrationTestMultimediaCallControl0009() |
|
1205 /** |
|
1206 * Destructor. |
|
1207 */ |
|
1208 { |
|
1209 } |
|
1210 |
|
1211 TVerdict CCTSYIntegrationTestMultimediaCallControl0009::doTestStepL() |
|
1212 /** |
|
1213 * @SYMTestCaseID BA-CTSY-INT-MMCC-0009 |
|
1214 * @SYMFssID BA/CTSY/MMCC-0009 |
|
1215 * @SYMTestCaseDesc Test making a video call with CLIR activated. |
|
1216 * @SYMTestPriority High |
|
1217 * @SYMTestActions RLine::NotifyStatusChange, RMobilePhone::SetIdentityServiceStatus, RMobilePhone::NotifyIdentityServiceStatus |
|
1218 * @SYMTestExpectedResults Pass - Caller ID not available when CLIR active. |
|
1219 * @SYMTestType CIT |
|
1220 * @SYMTestCaseDependencies live/manual |
|
1221 * |
|
1222 |
|
1223 * |
|
1224 * @return - TVerdict code |
|
1225 */ |
|
1226 { |
|
1227 |
|
1228 // |
|
1229 // SET UP |
|
1230 // |
|
1231 |
|
1232 |
|
1233 // Ensure phone is camped on a valid cell. |
|
1234 |
|
1235 // Get data line 1. |
|
1236 |
|
1237 // Get call 1. |
|
1238 |
|
1239 |
|
1240 // |
|
1241 // SET UP END |
|
1242 // |
|
1243 |
|
1244 StartTest(); |
|
1245 |
|
1246 // |
|
1247 // TEST START |
|
1248 // |
|
1249 |
|
1250 |
|
1251 // Activate CLIR. |
|
1252 |
|
1253 // Set up multimedia mobile data call parameters for a multimedia call. |
|
1254 |
|
1255 // Dial a number which answers. |
|
1256 |
|
1257 // Verifies that caller ID is not available for incoming call. |
|
1258 |
|
1259 // Answer the call. |
|
1260 |
|
1261 // Verify call is answered and line status notifications produced. |
|
1262 |
|
1263 |
|
1264 // |
|
1265 // TEST END |
|
1266 // |
|
1267 |
|
1268 StartCleanup(); |
|
1269 |
|
1270 // Put any required test clean up here, then remove this comment |
|
1271 |
|
1272 return TestStepResult(); |
|
1273 } |
|
1274 |
|
1275 TPtrC CCTSYIntegrationTestMultimediaCallControl0009::GetTestStepName() |
|
1276 /** |
|
1277 * @return The test step name. |
|
1278 */ |
|
1279 { |
|
1280 return _L("CCTSYIntegrationTestMultimediaCallControl0009"); |
|
1281 } |
|
1282 |
|
1283 |
|
1284 |
|
1285 CCTSYIntegrationTestMultimediaCallControl0010::CCTSYIntegrationTestMultimediaCallControl0010(CEtelSessionMgr& aEtelSessionMgr) |
|
1286 : CCTSYIntegrationTestMultimediaCallControlBase(aEtelSessionMgr) |
|
1287 /** |
|
1288 * Constructor. |
|
1289 */ |
|
1290 { |
|
1291 SetTestStepName(CCTSYIntegrationTestMultimediaCallControl0010::GetTestStepName()); |
|
1292 } |
|
1293 |
|
1294 CCTSYIntegrationTestMultimediaCallControl0010::~CCTSYIntegrationTestMultimediaCallControl0010() |
|
1295 /** |
|
1296 * Destructor. |
|
1297 */ |
|
1298 { |
|
1299 } |
|
1300 |
|
1301 TVerdict CCTSYIntegrationTestMultimediaCallControl0010::doTestStepL() |
|
1302 /** |
|
1303 * @SYMTestCaseID BA-CTSY-INT-MMCC-0010 |
|
1304 * @SYMFssID BA/CTSY/MMCC-0010 |
|
1305 * @SYMTestCaseDesc Test attempt to make a video call to a GSM mobile. |
|
1306 * @SYMTestPriority High |
|
1307 * @SYMTestActions |
|
1308 * @SYMTestExpectedResults Pass - Dialling video call to GSM phone fails. |
|
1309 * @SYMTestType CIT |
|
1310 * @SYMTestCaseDependencies live/manual |
|
1311 * |
|
1312 |
|
1313 * |
|
1314 * @return - TVerdict code |
|
1315 */ |
|
1316 { |
|
1317 |
|
1318 // |
|
1319 // SET UP |
|
1320 // |
|
1321 |
|
1322 |
|
1323 // Ensure phone is camped on a valid cell. |
|
1324 |
|
1325 // Get data line 1. |
|
1326 |
|
1327 // Get call 1. |
|
1328 |
|
1329 |
|
1330 // |
|
1331 // SET UP END |
|
1332 // |
|
1333 |
|
1334 StartTest(); |
|
1335 |
|
1336 // |
|
1337 // TEST START |
|
1338 // |
|
1339 |
|
1340 |
|
1341 // Set up multimedia mobile data call parameters for a multimedia call. |
|
1342 |
|
1343 // Dial GSM phone. |
|
1344 |
|
1345 // Verify dial fails with error that called party is busy. |
|
1346 |
|
1347 |
|
1348 // |
|
1349 // TEST END |
|
1350 // |
|
1351 |
|
1352 StartCleanup(); |
|
1353 |
|
1354 // Put any required test clean up here, then remove this comment |
|
1355 |
|
1356 return TestStepResult(); |
|
1357 } |
|
1358 |
|
1359 TPtrC CCTSYIntegrationTestMultimediaCallControl0010::GetTestStepName() |
|
1360 /** |
|
1361 * @return The test step name. |
|
1362 */ |
|
1363 { |
|
1364 return _L("CCTSYIntegrationTestMultimediaCallControl0010"); |
|
1365 } |
|
1366 |
|
1367 |
|
1368 |
|
1369 CCTSYIntegrationTestMultimediaCallControl0011::CCTSYIntegrationTestMultimediaCallControl0011(CEtelSessionMgr& aEtelSessionMgr) |
|
1370 : CCTSYIntegrationTestMultimediaCallControlBase(aEtelSessionMgr) |
|
1371 /** |
|
1372 * Constructor. |
|
1373 */ |
|
1374 { |
|
1375 SetTestStepName(CCTSYIntegrationTestMultimediaCallControl0011::GetTestStepName()); |
|
1376 } |
|
1377 |
|
1378 CCTSYIntegrationTestMultimediaCallControl0011::~CCTSYIntegrationTestMultimediaCallControl0011() |
|
1379 /** |
|
1380 * Destructor. |
|
1381 */ |
|
1382 { |
|
1383 } |
|
1384 |
|
1385 TVerdict CCTSYIntegrationTestMultimediaCallControl0011::doTestStepL() |
|
1386 /** |
|
1387 * @SYMTestCaseID BA-CTSY-INT-MMCC-0011 |
|
1388 * @SYMFssID BA/CTSY/MMCC-0011 |
|
1389 * @SYMTestCaseDesc Test attempt to make a video call to a PSTN number. |
|
1390 * @SYMTestPriority High |
|
1391 * @SYMTestActions |
|
1392 * @SYMTestExpectedResults Pass - Dialling video call to PSTN number fails. |
|
1393 * @SYMTestType CIT |
|
1394 * @SYMTestCaseDependencies live/manual |
|
1395 * |
|
1396 |
|
1397 * |
|
1398 * @return - TVerdict code |
|
1399 */ |
|
1400 { |
|
1401 |
|
1402 // |
|
1403 // SET UP |
|
1404 // |
|
1405 |
|
1406 |
|
1407 // Ensure phone is camped on a valid cell. |
|
1408 |
|
1409 // Get data line 1. |
|
1410 |
|
1411 // Get call 1. |
|
1412 |
|
1413 |
|
1414 // |
|
1415 // SET UP END |
|
1416 // |
|
1417 |
|
1418 StartTest(); |
|
1419 |
|
1420 // |
|
1421 // TEST START |
|
1422 // |
|
1423 |
|
1424 |
|
1425 // Set up multimedia mobile data call parameters for a multimedia call. |
|
1426 |
|
1427 // Dial PSTN number. |
|
1428 |
|
1429 // Verify dial fails with an error indicating video calls not supported. |
|
1430 |
|
1431 |
|
1432 // |
|
1433 // TEST END |
|
1434 // |
|
1435 |
|
1436 StartCleanup(); |
|
1437 |
|
1438 // Put any required test clean up here, then remove this comment |
|
1439 |
|
1440 return TestStepResult(); |
|
1441 } |
|
1442 |
|
1443 TPtrC CCTSYIntegrationTestMultimediaCallControl0011::GetTestStepName() |
|
1444 /** |
|
1445 * @return The test step name. |
|
1446 */ |
|
1447 { |
|
1448 return _L("CCTSYIntegrationTestMultimediaCallControl0011"); |
|
1449 } |
|
1450 |
|
1451 |
|
1452 |
|
1453 CCTSYIntegrationTestMultimediaCallControl0012::CCTSYIntegrationTestMultimediaCallControl0012(CEtelSessionMgr& aEtelSessionMgr) |
|
1454 : CCTSYIntegrationTestMultimediaCallControlBase(aEtelSessionMgr) |
|
1455 /** |
|
1456 * Constructor. |
|
1457 */ |
|
1458 { |
|
1459 SetTestStepName(CCTSYIntegrationTestMultimediaCallControl0012::GetTestStepName()); |
|
1460 } |
|
1461 |
|
1462 CCTSYIntegrationTestMultimediaCallControl0012::~CCTSYIntegrationTestMultimediaCallControl0012() |
|
1463 /** |
|
1464 * Destructor. |
|
1465 */ |
|
1466 { |
|
1467 } |
|
1468 |
|
1469 TVerdict CCTSYIntegrationTestMultimediaCallControl0012::doTestStepL() |
|
1470 /** |
|
1471 * @SYMTestCaseID BA-CTSY-INT-MMCC-0012 |
|
1472 * @SYMFssID BA/CTSY/MMCC-0012 |
|
1473 * @SYMTestCaseDesc Ensure that a video call can be made whilst roaming. |
|
1474 * @SYMTestPriority High |
|
1475 * @SYMTestActions RLine::NotifyStatusChange, RCall::NotifyStatusChange, RCall::GetCallParams |
|
1476 * @SYMTestExpectedResults Pass - Video call established when roaming. |
|
1477 * @SYMTestType CIT |
|
1478 * @SYMTestCaseDependencies live/manual |
|
1479 * |
|
1480 |
|
1481 * |
|
1482 * @return - TVerdict code |
|
1483 */ |
|
1484 { |
|
1485 |
|
1486 // |
|
1487 // SET UP |
|
1488 // |
|
1489 |
|
1490 |
|
1491 // Insert roaming SIM. |
|
1492 |
|
1493 // Ensure phone is camped on roaming network. |
|
1494 |
|
1495 // Get data line 1. |
|
1496 |
|
1497 // Get call 1. |
|
1498 |
|
1499 |
|
1500 // |
|
1501 // SET UP END |
|
1502 // |
|
1503 |
|
1504 StartTest(); |
|
1505 |
|
1506 // |
|
1507 // TEST START |
|
1508 // |
|
1509 |
|
1510 |
|
1511 // Set up multimedia mobile data call parameters for a multimedia call. |
|
1512 |
|
1513 // Dial a video call to mobile in the same country which answers. |
|
1514 |
|
1515 // Verify call is answers and call is connected. |
|
1516 |
|
1517 // Repeat test dialling a video call to mobile in the same country using + international format instead. |
|
1518 |
|
1519 // Repeat test dialling a video call to mobile in a different country using + international format instead. |
|
1520 |
|
1521 |
|
1522 // |
|
1523 // TEST END |
|
1524 // |
|
1525 |
|
1526 StartCleanup(); |
|
1527 |
|
1528 // Put any required test clean up here, then remove this comment |
|
1529 |
|
1530 return TestStepResult(); |
|
1531 } |
|
1532 |
|
1533 TPtrC CCTSYIntegrationTestMultimediaCallControl0012::GetTestStepName() |
|
1534 /** |
|
1535 * @return The test step name. |
|
1536 */ |
|
1537 { |
|
1538 return _L("CCTSYIntegrationTestMultimediaCallControl0012"); |
|
1539 } |
|
1540 |
|
1541 |
|
1542 |
|
1543 CCTSYIntegrationTestMultimediaCallControl0013::CCTSYIntegrationTestMultimediaCallControl0013(CEtelSessionMgr& aEtelSessionMgr) |
|
1544 : CCTSYIntegrationTestMultimediaCallControlBase(aEtelSessionMgr) |
|
1545 /** |
|
1546 * Constructor. |
|
1547 */ |
|
1548 { |
|
1549 SetTestStepName(CCTSYIntegrationTestMultimediaCallControl0013::GetTestStepName()); |
|
1550 } |
|
1551 |
|
1552 CCTSYIntegrationTestMultimediaCallControl0013::~CCTSYIntegrationTestMultimediaCallControl0013() |
|
1553 /** |
|
1554 * Destructor. |
|
1555 */ |
|
1556 { |
|
1557 } |
|
1558 |
|
1559 TVerdict CCTSYIntegrationTestMultimediaCallControl0013::doTestStepL() |
|
1560 /** |
|
1561 * @SYMTestCaseID BA-CTSY-INT-MMCC-0013 |
|
1562 * @SYMFssID BA/CTSY/MMCC-0013 |
|
1563 * @SYMTestCaseDesc Test handling of incoming video call when there is already an active multimedia call. |
|
1564 |
|
1565 |
|
1566 * @SYMTestPriority High |
|
1567 * @SYMTestActions RLine::NotifyStatusChange |
|
1568 * @SYMTestExpectedResults Pass - 2nd video call answered. 1st video call dropped. |
|
1569 * @SYMTestType CIT |
|
1570 * @SYMTestCaseDependencies live/manual |
|
1571 * |
|
1572 |
|
1573 * |
|
1574 * @return - TVerdict code |
|
1575 */ |
|
1576 { |
|
1577 |
|
1578 // |
|
1579 // SET UP |
|
1580 // |
|
1581 |
|
1582 // Ensure phone is camped on a valid cell. |
|
1583 RMobilePhone& phone = iEtelSessionMgr.GetPhoneL(KMainServer,KMainPhone); |
|
1584 CHECK_EQUALS_L(iNetworkTestHelper.WaitForRegisteredOnHomeNetworkL(phone), KErrNone, _L("TNetworkTsyTestHelper::WaitForRegisteredOnHomeNetworkL returned with an error")); |
|
1585 |
|
1586 // Get data line 1. |
|
1587 RMobileLine& mobileLine= iEtelSessionMgr.GetLineL(KMainServer, KMainPhone, KDataLine); |
|
1588 |
|
1589 // Get call 1. |
|
1590 RMobileCall& dataCall1= iEtelSessionMgr.GetCallL(KMainServer, KMainPhone, KDataLine, KCall1); |
|
1591 |
|
1592 // Ensure call waiting is activated. |
|
1593 TExtEtelRequestStatus mobilePhoneSetCallWaitingStatus(phone, EMobilePhoneSetCallWaitingStatus); |
|
1594 CleanupStack::PushL(mobilePhoneSetCallWaitingStatus); |
|
1595 RMobilePhone::TMobileService mobileService = RMobilePhone::EAllServices; |
|
1596 RMobilePhone::TMobilePhoneServiceAction mobilePhoneServiceAction = RMobilePhone::EServiceActionActivate; |
|
1597 phone.SetCallWaitingStatus(mobilePhoneSetCallWaitingStatus, mobileService, mobilePhoneServiceAction); |
|
1598 CHECK_EQUALS_L(WaitForRequestWithTimeOut(mobilePhoneSetCallWaitingStatus, ETimeMedium), KErrNone, _L("RMobilePhone::SetCallWaitingStatus timed-out")); |
|
1599 CHECK_EQUALS_L(mobilePhoneSetCallWaitingStatus.Int(), KErrNone, _L("RMobilePhone::SetCallWaitingStatus returned with an error")); |
|
1600 |
|
1601 // |
|
1602 // SET UP END |
|
1603 // |
|
1604 |
|
1605 StartTest(); |
|
1606 |
|
1607 // |
|
1608 // TEST START |
|
1609 // |
|
1610 |
|
1611 // Set up multimedia mobile data call parameters for a multimedia call. |
|
1612 RMobileCall::TMobileHscsdCallParamsV1 multimediaParams; |
|
1613 RMobileCall::TMobileHscsdCallParamsV1Pckg checkParamsPkg(multimediaParams); |
|
1614 |
|
1615 // valid parameters |
|
1616 multimediaParams.iIdRestrict = RMobileCall::ESendMyId; |
|
1617 multimediaParams.iAckTimer = 20; |
|
1618 multimediaParams.iMSToModemWindowSize = 2; |
|
1619 multimediaParams.iModemToMSWindowSize = 2; |
|
1620 multimediaParams.iProtocol = RMobileCall::EProtocolV34; |
|
1621 multimediaParams.iQoS = RMobileCall::EQoSNonTransparent; |
|
1622 multimediaParams.iRLPVersion = RMobileCall::ERLPSingleLinkVersion0; |
|
1623 multimediaParams.iResequencingPeriod = 1; |
|
1624 multimediaParams.iRetransmissionAttempts = 2; |
|
1625 multimediaParams.iService = RMobileCall::EServiceDataCircuitAsync; |
|
1626 multimediaParams.iSpeed = RMobileCall::ESpeed64000; |
|
1627 multimediaParams.iUseEdge = EFalse; |
|
1628 multimediaParams.iV42bisCodewordsNum = 0; |
|
1629 multimediaParams.iV42bisMaxStringLength = 0; |
|
1630 multimediaParams.iV42bisReq = RMobileCall::EV42bisNeitherDirection; |
|
1631 multimediaParams.iAsymmetry = RMobileCall::EAsymmetryDownlink; |
|
1632 multimediaParams.iCodings = RMobileCall::KCapsAiurCoding144; |
|
1633 multimediaParams.iUserInitUpgrade = EFalse; |
|
1634 multimediaParams.iMaxTimeSlots = 15; |
|
1635 multimediaParams.iWantedRxTimeSlots = 15; |
|
1636 multimediaParams.iWantedAiur = RMobileCall::EAiurBpsUnspecified; |
|
1637 |
|
1638 // post notifier for RCall::NotifyStatusChange |
|
1639 TCoreEtelRequestStatus<RCall> notifyCallStatusChangeStatus (dataCall1, &RCall::NotifyStatusChangeCancel); |
|
1640 CleanupStack::PushL(notifyCallStatusChangeStatus); |
|
1641 RCall::TStatus callStatus; |
|
1642 dataCall1.NotifyStatusChange(notifyCallStatusChangeStatus, callStatus); |
|
1643 |
|
1644 // Dial a video call to remote party 1. |
|
1645 TPtrC number; |
|
1646 ASSERT_TRUE(GetStringFromConfig(KIniDataNumSection, KIniDataNumber1, number) != EFalse, _L("CTestStep::GetStringFromConfig did not complete as expected")); |
|
1647 TCoreEtelRequestStatus<RCall> dialStatus(dataCall1, &RCall::DialCancel); |
|
1648 CleanupStack::PushL(dialStatus); |
|
1649 |
|
1650 // Failing CSD calls (see $CTSYProblem described below). |
|
1651 // Code can be added in after multimedia calls are working. |
|
1652 |
|
1653 // $CTSYProblem: dial returns -18 or -6 depending of selected parametes (protocol) |
|
1654 // EProtocolPstnMultimedia = -6, EProtocolV34 = -18 |
|
1655 // All CSD call are currently failing, this is not a CTSY problem because CTSY has no control over this issue |
|
1656 /* |
|
1657 dataCall1.Dial(dialStatus, checkParamsPkg, number); |
|
1658 TEST_CHECK_POINT_L(_L("Couldn't dial a call, no point continuing.")); |
|
1659 ASSERT_EQUALS(WaitForRequestWithTimeOut(dialStatus, ETimeMedium), KErrNone, _L("RCall::Dial timed-out")); |
|
1660 ASSERT_EQUALS(dialStatus.Int(), KErrNone, _L("RCall::Dial returned with an error")); |
|
1661 |
|
1662 // Verify that remote party 1 can see incoming caller ID. |
|
1663 DisplayUserInteractionPromptL(_L("Verify that remote party 1 can see incoming caller ID"), ETimeLong); |
|
1664 |
|
1665 // Remote party 1 can answer call and call is connected. |
|
1666 RCall::TStatus expectedCallStatus = RCall::EStatusConnected; |
|
1667 const TInt expectedStatus = KErrNone; |
|
1668 iCallControlTestHelper.WaitForCallNotifyStatusChange(dataCall1, |
|
1669 notifyCallStatusChangeStatus, |
|
1670 callStatus, |
|
1671 expectedCallStatus, |
|
1672 expectedStatus); |
|
1673 |
|
1674 // Get data line 2. |
|
1675 RMobileLine& mobileLine2 = iEtelSessionMgr.GetLineL(KMainServer, KMainPhone, KDataLine); |
|
1676 |
|
1677 // post notifier for RLine::NotifyIncomingCall |
|
1678 TCoreEtelRequestStatus<RLine> notifyIncomingCallStatus (mobileLine2,&RLine::NotifyIncomingCallCancel); |
|
1679 CleanupStack::PushL(notifyIncomingCallStatus); |
|
1680 TName name; |
|
1681 mobileLine2.NotifyIncomingCall(notifyIncomingCallStatus,name); |
|
1682 |
|
1683 // $CTSYProblem: The line is not notifying tester to answer the incoming call ( notifier never completes). |
|
1684 // CTSY does not receive anykind of signal from line about incoming call thus it cannot be answered. |
|
1685 // All CSD call are currently failing, this is not a CTSY problem because CTSY has no control over this issue |
|
1686 |
|
1687 // Remote party 2 invokes an incoming video call. |
|
1688 DisplayUserInteractionPromptL(_L("You should now dial a multimedia call to this board from some other mobilephone"), ETimeLong); |
|
1689 |
|
1690 // Check RLine::NotifyIncomingCall completes with valid call name. |
|
1691 ASSERT_EQUALS(WaitForRequestWithTimeOut(notifyIncomingCallStatus,ETimeMedium), KErrNone, _L("RLine::NotifyIncomingCall did not complete without error")); |
|
1692 ASSERT_EQUALS(notifyIncomingCallStatus.Int(), KErrNone, _L("RLine::NotifyIncomingCall set requestStatus to an error")); |
|
1693 ASSERT_TRUE(name.Length() > 0, _L("RLine::NotifyIncomingCall did not set the name")); |
|
1694 |
|
1695 // Get call 2 |
|
1696 TCallId incomingCallId; |
|
1697 RMobileCall& dataCall2 = iEtelSessionMgr.GetIncomingCallL(KMainServer, KMainPhone, KDataLine, name, incomingCallId); |
|
1698 |
|
1699 // post notifier for RCall::NotifyStatusChange for dataCall2 |
|
1700 TCoreEtelRequestStatus<RCall> notifyCallStatusChangeStatus2 (dataCall2, &RCall::NotifyStatusChangeCancel); |
|
1701 CleanupStack::PushL(notifyCallStatusChangeStatus2); |
|
1702 RCall::TStatus callStatus2; |
|
1703 dataCall2.NotifyStatusChange(notifyCallStatusChangeStatus2, callStatus2); |
|
1704 |
|
1705 // Answer video call 2 and verify video call 2 is connected and call 1 is dropped. |
|
1706 TCoreEtelRequestStatus<RCall> answerIncomingStatus(dataCall2, &RCall::AnswerIncomingCallCancel); |
|
1707 CleanupStack::PushL(answerIncomingStatus); |
|
1708 dataCall2.AnswerIncomingCall(answerIncomingStatus); |
|
1709 ASSERT_EQUALS(WaitForRequestWithTimeOut(answerIncomingStatus, ETimeMedium), KErrNone, _L("RMobileCall::AnswerIncomingCall timed-out")); |
|
1710 ASSERT_EQUALS(answerIncomingStatus.Int(), KErrNone, _L("RMobileCall::AnswerIncomingCall returned with an error")); |
|
1711 |
|
1712 // Check RCall::NotifyStatusChange completes with EStatusIdle (call 1) |
|
1713 expectedCallStatus = RCall::EStatusIdle; |
|
1714 iCallControlTestHelper.WaitForCallNotifyStatusChange(dataCall1, |
|
1715 notifyCallStatusChangeStatus, |
|
1716 callStatus, |
|
1717 expectedCallStatus, |
|
1718 KErrNone); |
|
1719 |
|
1720 // Check RCall::NotifyStatusChange completes with EStatusConnected (call 2) |
|
1721 RCall::TStatus expectedCallStatus2 = RCall::EStatusConnected; |
|
1722 iCallControlTestHelper.WaitForCallNotifyStatusChange(dataCall2, |
|
1723 notifyCallStatusChangeStatus2, |
|
1724 callStatus2, |
|
1725 expectedCallStatus2, |
|
1726 KErrNone); |
|
1727 */ |
|
1728 |
|
1729 // |
|
1730 // TEST END |
|
1731 // |
|
1732 |
|
1733 // Deactivate call waiting with RMobilePhone::SetCallWaitingStatus with aServiceGroup=EAllServices and aAction=EServiceActionDeactivate |
|
1734 mobilePhoneServiceAction = RMobilePhone::EServiceActionDeactivate; |
|
1735 phone.SetCallWaitingStatus(mobilePhoneSetCallWaitingStatus, mobileService, mobilePhoneServiceAction); |
|
1736 ASSERT_EQUALS(WaitForRequestWithTimeOut(mobilePhoneSetCallWaitingStatus, ETimeMedium), KErrNone, _L("RMobilePhone::SetCallWaitingStatus timed-out")); |
|
1737 ASSERT_EQUALS(mobilePhoneSetCallWaitingStatus.Int(), KErrNone, _L("RMobilePhone::SetCallWaitingStatus returned with an error")); |
|
1738 |
|
1739 /* |
|
1740 dataCall2.HangUp(); |
|
1741 */ |
|
1742 StartCleanup(); |
|
1743 |
|
1744 // Pop |
|
1745 // mobilePhoneSetCallWaitingStatus |
|
1746 // notifyCallStatusChangeStatus |
|
1747 // dialStatus |
|
1748 // notifyIncomingCallStatus |
|
1749 // notifyCallStatusChangeStatus2 |
|
1750 // answerIncomingStatus |
|
1751 CleanupStack::PopAndDestroy(3, &mobilePhoneSetCallWaitingStatus); |
|
1752 |
|
1753 return TestStepResult(); |
|
1754 } |
|
1755 |
|
1756 TPtrC CCTSYIntegrationTestMultimediaCallControl0013::GetTestStepName() |
|
1757 /** |
|
1758 * @return The test step name. |
|
1759 */ |
|
1760 { |
|
1761 return _L("CCTSYIntegrationTestMultimediaCallControl0013"); |
|
1762 } |
|
1763 |
|
1764 |
|
1765 |
|
1766 CCTSYIntegrationTestMultimediaCallControl0014::CCTSYIntegrationTestMultimediaCallControl0014(CEtelSessionMgr& aEtelSessionMgr) |
|
1767 : CCTSYIntegrationTestMultimediaCallControlBase(aEtelSessionMgr) |
|
1768 /** |
|
1769 * Constructor. |
|
1770 */ |
|
1771 { |
|
1772 SetTestStepName(CCTSYIntegrationTestMultimediaCallControl0014::GetTestStepName()); |
|
1773 } |
|
1774 |
|
1775 CCTSYIntegrationTestMultimediaCallControl0014::~CCTSYIntegrationTestMultimediaCallControl0014() |
|
1776 /** |
|
1777 * Destructor. |
|
1778 */ |
|
1779 { |
|
1780 } |
|
1781 |
|
1782 TVerdict CCTSYIntegrationTestMultimediaCallControl0014::doTestStepL() |
|
1783 /** |
|
1784 * @SYMTestCaseID BA-CTSY-INT-MMCC-0014 |
|
1785 * @SYMFssID BA/CTSY/MMCC-0014 |
|
1786 * @SYMTestCaseDesc Test handling of incoming voice/video call when there is already an active video call. |
|
1787 * @SYMTestPriority High |
|
1788 * @SYMTestActions RLine::NotifyStatusChange, RCall::AnswerIncomingCall, RCall::HangUp, RMobileCall::Hold, RMobileCall::Resume |
|
1789 * @SYMTestExpectedResults Pass - Incoming video call can be answered when active voice call is held. |
|
1790 * @SYMTestType CIT |
|
1791 * @SYMTestCaseDependencies live/manual |
|
1792 * |
|
1793 |
|
1794 * |
|
1795 * @return - TVerdict code |
|
1796 */ |
|
1797 { |
|
1798 |
|
1799 // |
|
1800 // SET UP |
|
1801 // |
|
1802 |
|
1803 |
|
1804 // Ensure phone is camped on a valid cell. |
|
1805 RMobilePhone& phone = iEtelSessionMgr.GetPhoneL(KMainServer,KMainPhone); |
|
1806 CHECK_EQUALS_L(iNetworkTestHelper.WaitForRegisteredOnHomeNetworkL(phone), KErrNone, _L("TNetworkTsyTestHelper::WaitForRegisteredOnHomeNetworkL returned with an error")); |
|
1807 |
|
1808 // Get voice line 1. |
|
1809 RMobileLine& voiceLine1= iEtelSessionMgr.GetLineL(KMainServer, KMainPhone, KVoiceLine); |
|
1810 |
|
1811 // Get data line 2. |
|
1812 RMobileLine& dataLine2= iEtelSessionMgr.GetLineL(KMainServer, KMainPhone, KDataLine); |
|
1813 |
|
1814 // Ensure call waiting is activated. |
|
1815 TExtEtelRequestStatus mobilePhoneSetCallWaitingStatus(phone, EMobilePhoneSetCallWaitingStatus); |
|
1816 CleanupStack::PushL(mobilePhoneSetCallWaitingStatus); |
|
1817 RMobilePhone::TMobileService mobileService = RMobilePhone::EAllServices; |
|
1818 RMobilePhone::TMobilePhoneServiceAction mobilePhoneServiceAction = RMobilePhone::EServiceActionActivate; |
|
1819 phone.SetCallWaitingStatus(mobilePhoneSetCallWaitingStatus, mobileService, mobilePhoneServiceAction); |
|
1820 CHECK_EQUALS_L(WaitForRequestWithTimeOut(mobilePhoneSetCallWaitingStatus, ETimeMedium), KErrNone, _L("RMobilePhone::SetCallWaitingStatus timed-out")); |
|
1821 CHECK_EQUALS_L(mobilePhoneSetCallWaitingStatus.Int(), KErrNone, _L("RMobilePhone::SetCallWaitingStatus returned with an error")); |
|
1822 |
|
1823 |
|
1824 // |
|
1825 // SET UP END |
|
1826 // |
|
1827 |
|
1828 StartTest(); |
|
1829 |
|
1830 // |
|
1831 // TEST START |
|
1832 // |
|
1833 |
|
1834 // post notifier for RLine::NotifyIncomingCall |
|
1835 TCoreEtelRequestStatus<RLine> notifyIncomingCallStatus (voiceLine1,&RLine::NotifyIncomingCallCancel); |
|
1836 CleanupStack::PushL(notifyIncomingCallStatus); |
|
1837 TName name; |
|
1838 voiceLine1.NotifyIncomingCall(notifyIncomingCallStatus,name); |
|
1839 |
|
1840 // Dial the board (voice call, call 1) |
|
1841 DisplayUserInteractionPromptL(_L("You should now dial a voice call to this board from some other mobilephone"), ETimeLong); |
|
1842 |
|
1843 // Check RLine::NotifyIncomingCall completes with valid call name. |
|
1844 ASSERT_EQUALS(WaitForRequestWithTimeOut(notifyIncomingCallStatus,ETimeMedium), KErrNone, _L("RLine::NotifyIncomingCall did not complete without error")); |
|
1845 ASSERT_EQUALS(notifyIncomingCallStatus.Int(), KErrNone, _L("RLine::NotifyIncomingCall set requestStatus to an error")); |
|
1846 ASSERT_TRUE(name.Length() > 0, _L("RLine::NotifyIncomingCall did not set the name")); |
|
1847 |
|
1848 // Get call 1 |
|
1849 TCallId incomingCallId; |
|
1850 RMobileCall& voiceCall1= iEtelSessionMgr.GetIncomingCallL(KMainServer, KMainPhone, KVoiceLine, name, incomingCallId); |
|
1851 |
|
1852 // post a notifier for RMobileLine::NotifyMobileLineStatusChange |
|
1853 RMobileCall::TMobileCallStatus mobileLineStatus; |
|
1854 TExtEtelRequestStatus notifyMobileLineChangeStatus(voiceLine1, EMobileLineNotifyMobileLineStatusChange); |
|
1855 CleanupStack::PushL(notifyMobileLineChangeStatus); |
|
1856 voiceLine1.NotifyMobileLineStatusChange(notifyMobileLineChangeStatus, mobileLineStatus); |
|
1857 |
|
1858 // Answer voice call 1 |
|
1859 TCoreEtelRequestStatus<RCall> answerIncomingStatus(voiceCall1, &RCall::AnswerIncomingCallCancel); |
|
1860 CleanupStack::PushL(answerIncomingStatus); |
|
1861 voiceCall1.AnswerIncomingCall(answerIncomingStatus); |
|
1862 ASSERT_EQUALS(WaitForRequestWithTimeOut(answerIncomingStatus, ETimeMedium), KErrNone, _L("RMobileCall::AnswerIncomingCall timed-out")); |
|
1863 ASSERT_EQUALS(answerIncomingStatus.Int(), KErrNone, _L("RMobileCall::AnswerIncomingCall returned with an error")); |
|
1864 |
|
1865 // Verify line status goes to connected. |
|
1866 RMobileCall::TMobileCallStatus expectedLineStatus = RMobileCall::EStatusConnected; |
|
1867 voiceLine1.NotifyMobileLineStatusChange(notifyMobileLineChangeStatus, mobileLineStatus); |
|
1868 iCallControlTestHelper.WaitForMobileLineNotifyMobileLineStatusChange(voiceLine1, |
|
1869 notifyMobileLineChangeStatus, |
|
1870 mobileLineStatus, |
|
1871 expectedLineStatus, |
|
1872 KErrNone); |
|
1873 |
|
1874 // Failing CSD calls (see $CTSYProblem described below). |
|
1875 // Code can be added in after multimedia calls are working. |
|
1876 |
|
1877 // $CTSYProblem: The line is not notifying tester to answer the incoming call ( notifier never completes). |
|
1878 // CTSY does not receive anykind of signal from line about incoming call thus it cannot be answered. |
|
1879 // All CSD call are currently failing, this is not a CTSY problem because CTSY has no control over this issue |
|
1880 |
|
1881 /* |
|
1882 // post notifier for RLine::NotifyIncomingCall |
|
1883 TCoreEtelRequestStatus<RLine> notifyIncomingCallStatus2 (dataLine2,&RLine::NotifyIncomingCallCancel); |
|
1884 CleanupStack::PushL(notifyIncomingCallStatus2); |
|
1885 TName name2; |
|
1886 dataLine2.NotifyIncomingCall(notifyIncomingCallStatus2,name2); |
|
1887 |
|
1888 // Dial the board (video call, call 2) |
|
1889 DisplayUserInteractionPromptL(_L("You should now dial a multimedia call to this board from some other mobilephone"), ETimeLong); |
|
1890 |
|
1891 // Verify incoming call notification completes. |
|
1892 ASSERT_EQUALS(WaitForRequestWithTimeOut(notifyIncomingCallStatus2,ETimeMedium), KErrNone, _L("RLine::NotifyIncomingCall did not complete without error")); |
|
1893 ASSERT_EQUALS(notifyIncomingCallStatus2.Int(), KErrNone, _L("RLine::NotifyIncomingCall set requestStatus to an error")); |
|
1894 ASSERT_TRUE(name2.Length() > 0, _L("RLine::NotifyIncomingCall did not set the name")); |
|
1895 */ |
|
1896 |
|
1897 // Hold call 1. |
|
1898 TExtEtelRequestStatus holdStatus(voiceCall1, EMobileCallHold); |
|
1899 CleanupStack::PushL(holdStatus); |
|
1900 voiceCall1.Hold(holdStatus); |
|
1901 ASSERT_EQUALS(WaitForRequestWithTimeOut(holdStatus, ETimeMedium), KErrNone, _L("RMobileCall::Hold timed out")); |
|
1902 ASSERT_EQUALS(holdStatus.Int(), KErrNone, _L("RMobileCall::Hold returned with an error")); |
|
1903 |
|
1904 /* |
|
1905 // Get call 2 |
|
1906 TCallId incomingCallId2; |
|
1907 RMobileCall& dataCall2 = iEtelSessionMgr.GetIncomingCallL(KMainServer, KMainPhone, KDataLine, name2, incomingCallId2); |
|
1908 |
|
1909 // post notifier for RMobileCall::NotifyMobileCallStatusChange for dataCall2 |
|
1910 TExtEtelRequestStatus notifyMobileCallStatusChangeStatus2(dataCall2, EMobileCallNotifyMobileCallStatusChange); |
|
1911 CleanupStack::PushL(notifyMobileCallStatusChangeStatus2); |
|
1912 RMobileCall::TMobileCallStatus mobileCallStatus2; |
|
1913 dataCall2.NotifyMobileCallStatusChange(notifyMobileCallStatusChangeStatus2, mobileCallStatus2); |
|
1914 |
|
1915 // Answer incoming video call on call 2. |
|
1916 TCoreEtelRequestStatus<RCall> answerIncomingStatus2(dataCall2, &RCall::AnswerIncomingCallCancel); |
|
1917 CleanupStack::PushL(answerIncomingStatus2); |
|
1918 dataCall2.AnswerIncomingCall(answerIncomingStatus2); |
|
1919 ASSERT_EQUALS(WaitForRequestWithTimeOut(answerIncomingStatus2, ETimeMedium), KErrNone, _L("RMobileCall::AnswerIncomingCall timed-out")); |
|
1920 ASSERT_EQUALS(answerIncomingStatus2.Int(), KErrNone, _L("RMobileCall::AnswerIncomingCall returned with an error")); |
|
1921 |
|
1922 // Verify call 2 connected. |
|
1923 RMobileCall::TMobileCallStatus expectedCallStatus2 = RMobileCall::EStatusConnected; |
|
1924 iCallControlTestHelper.WaitForMobileCallNotifyMobileCallStatusChange(dataCall2, |
|
1925 notifyMobileCallStatusChangeStatus2, |
|
1926 mobileCallStatus2, |
|
1927 expectedCallStatus2, |
|
1928 KErrNone); |
|
1929 |
|
1930 // post a notifier for RMobileLine::NotifyMobileLineStatusChange (call 2) |
|
1931 RMobileCall::TMobileCallStatus mobileLineStatus2; |
|
1932 TExtEtelRequestStatus notifyMobileLineChangeStatus2(dataLine2, EMobileLineNotifyMobileLineStatusChange); |
|
1933 CleanupStack::PushL(notifyMobileLineChangeStatus2); |
|
1934 dataLine2.NotifyMobileLineStatusChange(notifyMobileLineChangeStatus2, mobileLineStatus2); |
|
1935 |
|
1936 // Hang up call 2. |
|
1937 TCoreEtelRequestStatus<RCall> hangUpStatus2 (dataCall2, &RCall::HangUpCancel); |
|
1938 CleanupStack::PushL(hangUpStatus2); |
|
1939 dataCall2.HangUp(hangUpStatus2); |
|
1940 ASSERT_EQUALS(WaitForRequestWithTimeOut(hangUpStatus2, ETimeMedium), KErrNone, _L("RCall::HangUp timed-out")); |
|
1941 ASSERT_EQUALS(hangUpStatus2.Int(), KErrNone, _L("RCall::HangUp returned an error")); |
|
1942 |
|
1943 */ |
|
1944 //remove this delay when Code is added in again. |
|
1945 // delay is needed for the moment because call1 doesn't have time to change it's status to RMobileCall::EStatusHold |
|
1946 // This is because Code. |
|
1947 User::After(ETimeShort); |
|
1948 // Verify call 1 still on hold. |
|
1949 RMobileCall::TMobileCallStatus getCallStatus; |
|
1950 ASSERT_EQUALS(voiceCall1.GetMobileCallStatus(getCallStatus), KErrNone, _L("RMobileCall::GetMobileCallStatus returned an Error")); |
|
1951 ASSERT_EQUALS(getCallStatus, RMobileCall::EStatusHold, _L("RMobileCall::GetMobileCallStatus did not return EStatusHold")); |
|
1952 |
|
1953 // post notifier for RMobileCall::NotifyMobileCallStatusChange for voice call1 |
|
1954 TExtEtelRequestStatus notifyMobileCallStatusChangeStatus(voiceCall1, EMobileCallNotifyMobileCallStatusChange); |
|
1955 CleanupStack::PushL(notifyMobileCallStatusChangeStatus); |
|
1956 RMobileCall::TMobileCallStatus mobileCallStatus; |
|
1957 voiceCall1.NotifyMobileCallStatusChange(notifyMobileCallStatusChangeStatus, mobileCallStatus); |
|
1958 |
|
1959 // Resume call 1. |
|
1960 TExtEtelRequestStatus resumeStatus(voiceCall1, EMobileCallResume); |
|
1961 CleanupStack::PushL(resumeStatus); |
|
1962 voiceCall1.Resume(resumeStatus); |
|
1963 ASSERT_EQUALS(WaitForRequestWithTimeOut(resumeStatus, ETimeMedium), KErrNone, _L("RMobileCall::Resume timed-out")); |
|
1964 ASSERT_EQUALS(resumeStatus.Int(), KErrNone, _L("RMobileCall::Resume resumeStatus completed with incorrect error")); |
|
1965 |
|
1966 // Verify call 1 connected. |
|
1967 RMobileCall::TMobileCallStatus expectedCallStatus = RMobileCall::EStatusConnected; |
|
1968 iCallControlTestHelper.WaitForMobileCallNotifyMobileCallStatusChange(voiceCall1, |
|
1969 notifyMobileCallStatusChangeStatus, |
|
1970 mobileCallStatus, |
|
1971 expectedCallStatus, |
|
1972 KErrNone); |
|
1973 |
|
1974 // post notifier for RMobileLine::NotifyMobileLineStatusChange (call 1) |
|
1975 voiceLine1.NotifyMobileLineStatusChange(notifyMobileLineChangeStatus, mobileLineStatus); |
|
1976 |
|
1977 // Hang up call 1. |
|
1978 TCoreEtelRequestStatus<RCall> hangUpStatus (voiceCall1, &RCall::HangUpCancel); |
|
1979 CleanupStack::PushL(hangUpStatus); |
|
1980 voiceCall1.HangUp(hangUpStatus); |
|
1981 ASSERT_EQUALS(WaitForRequestWithTimeOut(hangUpStatus, ETimeMedium), KErrNone, _L("RCall::HangUp timed-out")); |
|
1982 ASSERT_EQUALS(hangUpStatus.Int(), KErrNone, _L("RCall::HangUp returned an error")); |
|
1983 |
|
1984 // Verify both lines are idle. |
|
1985 expectedLineStatus = RMobileCall::EStatusIdle; |
|
1986 ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 50001); |
|
1987 iCallControlTestHelper.WaitForMobileLineNotifyMobileLineStatusChange(voiceLine1, |
|
1988 notifyMobileLineChangeStatus, |
|
1989 mobileLineStatus, |
|
1990 expectedLineStatus, |
|
1991 KErrNone); |
|
1992 /* |
|
1993 iCallControlTestHelper.WaitForMobileLineNotifyMobileLineStatusChange(dataLine2, |
|
1994 notifyMobileLineChangeStatus2, |
|
1995 mobileLineStatus2, |
|
1996 expectedLineStatus, |
|
1997 KErrNone); |
|
1998 */ |
|
1999 |
|
2000 // |
|
2001 // TEST END |
|
2002 // |
|
2003 |
|
2004 // Deactivate call waiting with RMobilePhone::SetCallWaitingStatus with aServiceGroup=EAllServices and aAction=EServiceActionDeactivate |
|
2005 mobilePhoneServiceAction = RMobilePhone::EServiceActionDeactivate; |
|
2006 phone.SetCallWaitingStatus(mobilePhoneSetCallWaitingStatus, mobileService, mobilePhoneServiceAction); |
|
2007 ASSERT_EQUALS(WaitForRequestWithTimeOut(mobilePhoneSetCallWaitingStatus, ETimeMedium), KErrNone, _L("RMobilePhone::SetCallWaitingStatus timed-out")); |
|
2008 ASSERT_EQUALS(mobilePhoneSetCallWaitingStatus.Int(), KErrNone, _L("RMobilePhone::SetCallWaitingStatus returned with an error")); |
|
2009 |
|
2010 StartCleanup(); |
|
2011 |
|
2012 // Pop |
|
2013 // mobilePhoneSetCallWaitingStatus |
|
2014 // notifyIncomingCallStatus |
|
2015 // notifyMobileLineChangeStatus |
|
2016 // answerIncomingStatus |
|
2017 // notifyIncomingCallStatus2 |
|
2018 // holdStatus |
|
2019 // notifyMobileCallStatusChangeStatus2 |
|
2020 // answerIncomingStatus2 |
|
2021 // notifyMobileLineChangeStatus2 |
|
2022 // hangUpStatus2 |
|
2023 // notifyMobileCallStatusChangeStatus |
|
2024 // resumeStatus |
|
2025 // hangUpStatus |
|
2026 |
|
2027 CleanupStack::PopAndDestroy(8, &mobilePhoneSetCallWaitingStatus); |
|
2028 |
|
2029 return TestStepResult(); |
|
2030 } |
|
2031 |
|
2032 TPtrC CCTSYIntegrationTestMultimediaCallControl0014::GetTestStepName() |
|
2033 /** |
|
2034 * @return The test step name. |
|
2035 */ |
|
2036 { |
|
2037 return _L("CCTSYIntegrationTestMultimediaCallControl0014"); |
|
2038 } |
|
2039 |
|
2040 |
|
2041 |
|
2042 CCTSYIntegrationTestMultimediaCallControl0015::CCTSYIntegrationTestMultimediaCallControl0015(CEtelSessionMgr& aEtelSessionMgr) |
|
2043 : CCTSYIntegrationTestMultimediaCallControlBase(aEtelSessionMgr) |
|
2044 /** |
|
2045 * Constructor. |
|
2046 */ |
|
2047 { |
|
2048 SetTestStepName(CCTSYIntegrationTestMultimediaCallControl0015::GetTestStepName()); |
|
2049 } |
|
2050 |
|
2051 CCTSYIntegrationTestMultimediaCallControl0015::~CCTSYIntegrationTestMultimediaCallControl0015() |
|
2052 /** |
|
2053 * Destructor. |
|
2054 */ |
|
2055 { |
|
2056 } |
|
2057 |
|
2058 TVerdict CCTSYIntegrationTestMultimediaCallControl0015::doTestStepL() |
|
2059 /** |
|
2060 * @SYMTestCaseID BA-CTSY-INT-MMCC-0015 |
|
2061 * @SYMFssID BA/CTSY/MMCC-0015 |
|
2062 * @SYMTestCaseDesc Test getting CLIP information for incoming and outgoing video calls. |
|
2063 * @SYMTestPriority High |
|
2064 * @SYMTestActions RMobilePhone::NotifyIdentityServiceStatus, RMobilePhone::GetIdentityServiceStatus, RCall::Dial, RCall::GetStatus |
|
2065 * @SYMTestExpectedResults Pass - CLIP information presented when CLIP active. |
|
2066 * @SYMTestType CIT |
|
2067 * @SYMTestCaseDependencies live/manual |
|
2068 * |
|
2069 |
|
2070 * |
|
2071 * @return - TVerdict code |
|
2072 */ |
|
2073 { |
|
2074 |
|
2075 // |
|
2076 // SET UP |
|
2077 // |
|
2078 |
|
2079 |
|
2080 // Ensure phone is camped on a valid cell. |
|
2081 |
|
2082 // Get data line 1. |
|
2083 |
|
2084 // Get call 1. |
|
2085 |
|
2086 |
|
2087 // |
|
2088 // SET UP END |
|
2089 // |
|
2090 |
|
2091 StartTest(); |
|
2092 |
|
2093 // |
|
2094 // TEST START |
|
2095 // |
|
2096 |
|
2097 |
|
2098 // 1. Outgoing calls |
|
2099 |
|
2100 // Deactivate CLIR and verify it is deactivated. |
|
2101 |
|
2102 // Set up multimedia mobile data call parameters for a multimedia call. |
|
2103 |
|
2104 // Dial a video call to a number you can answer. |
|
2105 |
|
2106 // Check that calling number can be retrieved from incoming call. |
|
2107 |
|
2108 // Answer the call. |
|
2109 |
|
2110 // Verify call is connected. |
|
2111 |
|
2112 // 2. Incoming calls |
|
2113 |
|
2114 // Activate CLIP and verify it is active. |
|
2115 |
|
2116 // Dial the board with a video call. |
|
2117 |
|
2118 // Verify CLIP information can be retrieved from incoming call. |
|
2119 |
|
2120 // Verify call can be answered and call is connected. |
|
2121 |
|
2122 |
|
2123 // |
|
2124 // TEST END |
|
2125 // |
|
2126 |
|
2127 StartCleanup(); |
|
2128 |
|
2129 // Put any required test clean up here, then remove this comment |
|
2130 |
|
2131 return TestStepResult(); |
|
2132 } |
|
2133 |
|
2134 TPtrC CCTSYIntegrationTestMultimediaCallControl0015::GetTestStepName() |
|
2135 /** |
|
2136 * @return The test step name. |
|
2137 */ |
|
2138 { |
|
2139 return _L("CCTSYIntegrationTestMultimediaCallControl0015"); |
|
2140 } |
|
2141 |
|
2142 |
|
2143 |
|
2144 CCTSYIntegrationTestMultimediaCallControl0016::CCTSYIntegrationTestMultimediaCallControl0016(CEtelSessionMgr& aEtelSessionMgr) |
|
2145 : CCTSYIntegrationTestMultimediaCallControlBase(aEtelSessionMgr) |
|
2146 /** |
|
2147 * Constructor. |
|
2148 */ |
|
2149 { |
|
2150 SetTestStepName(CCTSYIntegrationTestMultimediaCallControl0016::GetTestStepName()); |
|
2151 } |
|
2152 |
|
2153 CCTSYIntegrationTestMultimediaCallControl0016::~CCTSYIntegrationTestMultimediaCallControl0016() |
|
2154 /** |
|
2155 * Destructor. |
|
2156 */ |
|
2157 { |
|
2158 } |
|
2159 |
|
2160 TVerdict CCTSYIntegrationTestMultimediaCallControl0016::doTestStepL() |
|
2161 /** |
|
2162 * @SYMTestCaseID BA-CTSY-INT-MMCC-0016 |
|
2163 * @SYMFssID BA/CTSY/MMCC-0016 |
|
2164 * @SYMTestCaseDesc Test incoming call with CLIP deactivated. |
|
2165 * @SYMTestPriority High |
|
2166 * @SYMTestActions RMobilePhone::NotifyIdentityServiceStatus, RMobilePhone::GetIdentityServiceStatus, RCall::Dial, RLine::NotifyIncomingCall, RCall::AnswerIncomingCall, RMobileCall::GetMobileCallInfo, RCall::GetStatus |
|
2167 * @SYMTestExpectedResults Pass - CLIP information not presented. |
|
2168 * @SYMTestType CIT |
|
2169 * @SYMTestCaseDependencies live/manual |
|
2170 * |
|
2171 |
|
2172 * |
|
2173 * @return - TVerdict code |
|
2174 */ |
|
2175 { |
|
2176 |
|
2177 // |
|
2178 // SET UP |
|
2179 // |
|
2180 |
|
2181 |
|
2182 // Ensure phone is camped on a valid cell. |
|
2183 |
|
2184 // Get data line 1. |
|
2185 |
|
2186 // Get call 1. |
|
2187 |
|
2188 |
|
2189 // |
|
2190 // SET UP END |
|
2191 // |
|
2192 |
|
2193 StartTest(); |
|
2194 |
|
2195 // |
|
2196 // TEST START |
|
2197 // |
|
2198 |
|
2199 |
|
2200 // Deactivate CLIP and verify CLIP is deactivated. |
|
2201 |
|
2202 // Dial a board with a video call. |
|
2203 |
|
2204 // Verify caller ID (CLIP information) not present for incoming call. |
|
2205 |
|
2206 // Verify call can be answered and call is connected. |
|
2207 |
|
2208 |
|
2209 // |
|
2210 // TEST END |
|
2211 // |
|
2212 |
|
2213 StartCleanup(); |
|
2214 |
|
2215 // Put any required test clean up here, then remove this comment |
|
2216 |
|
2217 return TestStepResult(); |
|
2218 } |
|
2219 |
|
2220 TPtrC CCTSYIntegrationTestMultimediaCallControl0016::GetTestStepName() |
|
2221 /** |
|
2222 * @return The test step name. |
|
2223 */ |
|
2224 { |
|
2225 return _L("CCTSYIntegrationTestMultimediaCallControl0016"); |
|
2226 } |
|
2227 |
|
2228 |
|
2229 |
|
2230 CCTSYIntegrationTestMultimediaCallControl0017::CCTSYIntegrationTestMultimediaCallControl0017(CEtelSessionMgr& aEtelSessionMgr) |
|
2231 : CCTSYIntegrationTestMultimediaCallControlBase(aEtelSessionMgr) |
|
2232 /** |
|
2233 * Constructor. |
|
2234 */ |
|
2235 { |
|
2236 SetTestStepName(CCTSYIntegrationTestMultimediaCallControl0017::GetTestStepName()); |
|
2237 } |
|
2238 |
|
2239 CCTSYIntegrationTestMultimediaCallControl0017::~CCTSYIntegrationTestMultimediaCallControl0017() |
|
2240 /** |
|
2241 * Destructor. |
|
2242 */ |
|
2243 { |
|
2244 } |
|
2245 |
|
2246 TVerdict CCTSYIntegrationTestMultimediaCallControl0017::doTestStepL() |
|
2247 /** |
|
2248 * @SYMTestCaseID BA-CTSY-INT-MMCC-0017 |
|
2249 * @SYMFssID BA/CTSY/MMCC-0017 |
|
2250 * @SYMTestCaseDesc Test activation of call barring with video calls. |
|
2251 * @SYMTestPriority High |
|
2252 * @SYMTestActions RCall::Dial |
|
2253 * @SYMTestExpectedResults Pass - Barred number cannot be dialled. |
|
2254 * @SYMTestType CIT |
|
2255 * @SYMTestCaseDependencies live/manual |
|
2256 * |
|
2257 |
|
2258 * |
|
2259 * @return - TVerdict code |
|
2260 */ |
|
2261 { |
|
2262 |
|
2263 // |
|
2264 // SET UP |
|
2265 // |
|
2266 |
|
2267 |
|
2268 // Ensure phone has the following capabilities: KCapsNotifyCBStatus, KCapsSetCBStatus, KCapsBarAllOutgoing, KCapsBarOutgoingInternational, KCapsBarOutgoingInternationalExHC, and KCapsBarAllCases |
|
2269 |
|
2270 // Ensure phone is camped on a valid cell. |
|
2271 |
|
2272 // Get data line 1. |
|
2273 |
|
2274 // Get call 1. |
|
2275 |
|
2276 |
|
2277 // |
|
2278 // SET UP END |
|
2279 // |
|
2280 |
|
2281 StartTest(); |
|
2282 |
|
2283 // |
|
2284 // TEST START |
|
2285 // |
|
2286 |
|
2287 |
|
2288 // For each of the outgoing call barring conditions and 'call barring all cases' in TMobilePhoneCBCondition: |
|
2289 |
|
2290 // Activate the call barring condition for video calls. |
|
2291 |
|
2292 // Make an outgoing video call to a barred number. |
|
2293 |
|
2294 // Verify dial fails due to number being barred. |
|
2295 |
|
2296 |
|
2297 // |
|
2298 // TEST END |
|
2299 // |
|
2300 |
|
2301 StartCleanup(); |
|
2302 |
|
2303 // Put any required test clean up here, then remove this comment |
|
2304 |
|
2305 return TestStepResult(); |
|
2306 } |
|
2307 |
|
2308 TPtrC CCTSYIntegrationTestMultimediaCallControl0017::GetTestStepName() |
|
2309 /** |
|
2310 * @return The test step name. |
|
2311 */ |
|
2312 { |
|
2313 return _L("CCTSYIntegrationTestMultimediaCallControl0017"); |
|
2314 } |
|
2315 |
|
2316 |
|
2317 |
|
2318 CCTSYIntegrationTestMultimediaCallControl0018::CCTSYIntegrationTestMultimediaCallControl0018(CEtelSessionMgr& aEtelSessionMgr) |
|
2319 : CCTSYIntegrationTestMultimediaCallControlBase(aEtelSessionMgr) |
|
2320 /** |
|
2321 * Constructor. |
|
2322 */ |
|
2323 { |
|
2324 SetTestStepName(CCTSYIntegrationTestMultimediaCallControl0018::GetTestStepName()); |
|
2325 } |
|
2326 |
|
2327 CCTSYIntegrationTestMultimediaCallControl0018::~CCTSYIntegrationTestMultimediaCallControl0018() |
|
2328 /** |
|
2329 * Destructor. |
|
2330 */ |
|
2331 { |
|
2332 } |
|
2333 |
|
2334 TVerdict CCTSYIntegrationTestMultimediaCallControl0018::doTestStepL() |
|
2335 /** |
|
2336 * @SYMTestCaseID BA-CTSY-INT-MMCC-0018 |
|
2337 * @SYMFssID BA/CTSY/MMCC-0018 |
|
2338 * @SYMTestCaseDesc Test call forwarding of video calls if there is no reply. |
|
2339 * @SYMTestPriority High |
|
2340 * @SYMTestActions RMobilePhone::SetCallForwardingStatus, RMobilePhone::NotifyCallForwardingActive |
|
2341 * @SYMTestExpectedResults Pass - Incoming call is forwarded. |
|
2342 * @SYMTestType CIT |
|
2343 * @SYMTestCaseDependencies live/manual |
|
2344 * |
|
2345 |
|
2346 * |
|
2347 * @return - TVerdict code |
|
2348 */ |
|
2349 { |
|
2350 |
|
2351 // |
|
2352 // SET UP |
|
2353 // |
|
2354 |
|
2355 |
|
2356 // Ensure phone has the following capabilities: KCapsSetCFStatus, KCapsNotifyCFStatus. |
|
2357 |
|
2358 // Ensure phone is camped on a valid cell. |
|
2359 |
|
2360 // Get data line 1. |
|
2361 |
|
2362 // Get call 1. |
|
2363 |
|
2364 |
|
2365 // |
|
2366 // SET UP END |
|
2367 // |
|
2368 |
|
2369 StartTest(); |
|
2370 |
|
2371 // |
|
2372 // TEST START |
|
2373 // |
|
2374 |
|
2375 |
|
2376 // Activate call forwarding if no reply (ECallForwardingNoReply) for video calls and verify call forwarding status change notification completes. |
|
2377 |
|
2378 // Dial the board with a video call. |
|
2379 |
|
2380 // Board does not answer call. |
|
2381 |
|
2382 // Verify call forwarding active notification completes and call is forwarded to number specified when activating call forwarding. |
|
2383 |
|
2384 |
|
2385 // |
|
2386 // TEST END |
|
2387 // |
|
2388 |
|
2389 StartCleanup(); |
|
2390 |
|
2391 // Put any required test clean up here, then remove this comment |
|
2392 |
|
2393 return TestStepResult(); |
|
2394 } |
|
2395 |
|
2396 TPtrC CCTSYIntegrationTestMultimediaCallControl0018::GetTestStepName() |
|
2397 /** |
|
2398 * @return The test step name. |
|
2399 */ |
|
2400 { |
|
2401 return _L("CCTSYIntegrationTestMultimediaCallControl0018"); |
|
2402 } |
|
2403 |
|
2404 |
|
2405 |
|
2406 CCTSYIntegrationTestMultimediaCallControl0019::CCTSYIntegrationTestMultimediaCallControl0019(CEtelSessionMgr& aEtelSessionMgr) |
|
2407 : CCTSYIntegrationTestMultimediaCallControlBase(aEtelSessionMgr) |
|
2408 /** |
|
2409 * Constructor. |
|
2410 */ |
|
2411 { |
|
2412 SetTestStepName(CCTSYIntegrationTestMultimediaCallControl0019::GetTestStepName()); |
|
2413 } |
|
2414 |
|
2415 CCTSYIntegrationTestMultimediaCallControl0019::~CCTSYIntegrationTestMultimediaCallControl0019() |
|
2416 /** |
|
2417 * Destructor. |
|
2418 */ |
|
2419 { |
|
2420 } |
|
2421 |
|
2422 TVerdict CCTSYIntegrationTestMultimediaCallControl0019::doTestStepL() |
|
2423 /** |
|
2424 * @SYMTestCaseID BA-CTSY-INT-MMCC-0019 |
|
2425 * @SYMFssID BA/CTSY/MMCC-0019 |
|
2426 * @SYMTestCaseDesc Test unconditional call forwarding with video calls. |
|
2427 * @SYMTestPriority High |
|
2428 * @SYMTestActions RMobilePhone::SetCallForwardingStatus, RMobilePhone::NotifyCallForwardingActive |
|
2429 * @SYMTestExpectedResults Pass - Incoming call is forwarded. |
|
2430 * @SYMTestType CIT |
|
2431 * @SYMTestCaseDependencies live/manual |
|
2432 * |
|
2433 |
|
2434 * |
|
2435 * @return - TVerdict code |
|
2436 */ |
|
2437 { |
|
2438 |
|
2439 // |
|
2440 // SET UP |
|
2441 // |
|
2442 |
|
2443 |
|
2444 // Ensure phone has the following capabilities: KCapsSetCFStatus, KCapsNotifyCFStatus. |
|
2445 |
|
2446 // Ensure phone is camped on a valid cell. |
|
2447 |
|
2448 // Get data line 1. |
|
2449 |
|
2450 // Get call 1. |
|
2451 |
|
2452 |
|
2453 // |
|
2454 // SET UP END |
|
2455 // |
|
2456 |
|
2457 StartTest(); |
|
2458 |
|
2459 // |
|
2460 // TEST START |
|
2461 // |
|
2462 |
|
2463 |
|
2464 // Activate unconditional call forwarding for video calls and verify call forwarding status change notification completes. |
|
2465 |
|
2466 // Dial the board. |
|
2467 |
|
2468 // Verify call forwarding active notification completes and call is forwarded to number specified when activating call forwarding. |
|
2469 |
|
2470 |
|
2471 // |
|
2472 // TEST END |
|
2473 // |
|
2474 |
|
2475 StartCleanup(); |
|
2476 |
|
2477 // Put any required test clean up here, then remove this comment |
|
2478 |
|
2479 return TestStepResult(); |
|
2480 } |
|
2481 |
|
2482 TPtrC CCTSYIntegrationTestMultimediaCallControl0019::GetTestStepName() |
|
2483 /** |
|
2484 * @return The test step name. |
|
2485 */ |
|
2486 { |
|
2487 return _L("CCTSYIntegrationTestMultimediaCallControl0019"); |
|
2488 } |
|
2489 |
|
2490 |
|
2491 |
|
2492 CCTSYIntegrationTestMultimediaCallControl0020::CCTSYIntegrationTestMultimediaCallControl0020(CEtelSessionMgr& aEtelSessionMgr) |
|
2493 : CCTSYIntegrationTestMultimediaCallControlBase(aEtelSessionMgr) |
|
2494 /** |
|
2495 * Constructor. |
|
2496 */ |
|
2497 { |
|
2498 SetTestStepName(CCTSYIntegrationTestMultimediaCallControl0020::GetTestStepName()); |
|
2499 } |
|
2500 |
|
2501 CCTSYIntegrationTestMultimediaCallControl0020::~CCTSYIntegrationTestMultimediaCallControl0020() |
|
2502 /** |
|
2503 * Destructor. |
|
2504 */ |
|
2505 { |
|
2506 } |
|
2507 |
|
2508 TVerdict CCTSYIntegrationTestMultimediaCallControl0020::doTestStepL() |
|
2509 /** |
|
2510 * @SYMTestCaseID BA-CTSY-INT-MMCC-0020 |
|
2511 * @SYMFssID BA/CTSY/MMCC-0020 |
|
2512 * @SYMTestCaseDesc Test call forwarding when busy with video calls. |
|
2513 * @SYMTestPriority High |
|
2514 * @SYMTestActions RMobilePhone::SetCallForwardingStatus, RMobilePhone::NotifyCallForwardingActive, RCall::Dial |
|
2515 * @SYMTestExpectedResults Pass - Call forwarded when phone is busy. |
|
2516 * @SYMTestType CIT |
|
2517 * @SYMTestCaseDependencies live/manual |
|
2518 * |
|
2519 |
|
2520 * |
|
2521 * @return - TVerdict code |
|
2522 */ |
|
2523 { |
|
2524 |
|
2525 // |
|
2526 // SET UP |
|
2527 // |
|
2528 |
|
2529 |
|
2530 // Ensure phone has the following capabilities: KCapsSetCFStatus, KCapsNotifyCFStatus. |
|
2531 |
|
2532 // Ensure phone is camped on a valid cell. |
|
2533 |
|
2534 // Get voice line 1. |
|
2535 |
|
2536 // Get call 1. |
|
2537 |
|
2538 // Get data line 2. |
|
2539 |
|
2540 // Get call 2. |
|
2541 |
|
2542 |
|
2543 // |
|
2544 // SET UP END |
|
2545 // |
|
2546 |
|
2547 StartTest(); |
|
2548 |
|
2549 // |
|
2550 // TEST START |
|
2551 // |
|
2552 |
|
2553 |
|
2554 // Activate call forwarding if busy for video calls and verify call forwarding status change notification completes. |
|
2555 |
|
2556 // Dial a number that answers on voice line 1. |
|
2557 |
|
2558 // Verify call is active. |
|
2559 |
|
2560 // Request notification of an incoming call on data line 2. |
|
2561 |
|
2562 // Dial the board with a data call on data line 2. |
|
2563 |
|
2564 // Verify call forwarding active notification completes and call is forwarded to number specified when activating call forwarding. |
|
2565 |
|
2566 |
|
2567 // |
|
2568 // TEST END |
|
2569 // |
|
2570 |
|
2571 StartCleanup(); |
|
2572 |
|
2573 // Put any required test clean up here, then remove this comment |
|
2574 |
|
2575 return TestStepResult(); |
|
2576 } |
|
2577 |
|
2578 TPtrC CCTSYIntegrationTestMultimediaCallControl0020::GetTestStepName() |
|
2579 /** |
|
2580 * @return The test step name. |
|
2581 */ |
|
2582 { |
|
2583 return _L("CCTSYIntegrationTestMultimediaCallControl0020"); |
|
2584 } |
|
2585 |
|
2586 |
|
2587 |
|
2588 CCTSYIntegrationTestMultimediaCallControl0021::CCTSYIntegrationTestMultimediaCallControl0021(CEtelSessionMgr& aEtelSessionMgr) |
|
2589 : CCTSYIntegrationTestMultimediaCallControlBase(aEtelSessionMgr) |
|
2590 /** |
|
2591 * Constructor. |
|
2592 */ |
|
2593 { |
|
2594 SetTestStepName(CCTSYIntegrationTestMultimediaCallControl0021::GetTestStepName()); |
|
2595 } |
|
2596 |
|
2597 CCTSYIntegrationTestMultimediaCallControl0021::~CCTSYIntegrationTestMultimediaCallControl0021() |
|
2598 /** |
|
2599 * Destructor. |
|
2600 */ |
|
2601 { |
|
2602 } |
|
2603 |
|
2604 TVerdict CCTSYIntegrationTestMultimediaCallControl0021::doTestStepL() |
|
2605 /** |
|
2606 * @SYMTestCaseID BA-CTSY-INT-MMCC-0021 |
|
2607 * @SYMFssID BA/CTSY/MMCC-0021 |
|
2608 * @SYMTestCaseDesc Test call forwarding when not reachable with video calls. |
|
2609 * @SYMTestPriority High |
|
2610 * @SYMTestActions |
|
2611 * @SYMTestExpectedResults Pass |
|
2612 * @SYMTestType CIT |
|
2613 * @SYMTestCaseDependencies live/manual |
|
2614 * |
|
2615 |
|
2616 * |
|
2617 * @return - TVerdict code |
|
2618 */ |
|
2619 { |
|
2620 |
|
2621 // |
|
2622 // SET UP |
|
2623 // |
|
2624 |
|
2625 |
|
2626 // Ensure phone has the following capabilities: KCapsSetCFStatus, KCapsNotifyCFStatus. |
|
2627 |
|
2628 // Ensure phone is camped on a valid cell. |
|
2629 |
|
2630 // Get data line 1. |
|
2631 |
|
2632 // Get call 1. |
|
2633 |
|
2634 |
|
2635 // |
|
2636 // SET UP END |
|
2637 // |
|
2638 |
|
2639 StartTest(); |
|
2640 |
|
2641 // |
|
2642 // TEST START |
|
2643 // |
|
2644 |
|
2645 |
|
2646 // Activate call forwarding when not reachable for video calls and verify call forwarding status change notification completes. |
|
2647 |
|
2648 |
|
2649 // |
|
2650 // TEST END |
|
2651 // |
|
2652 |
|
2653 StartCleanup(); |
|
2654 |
|
2655 // Put any required test clean up here, then remove this comment |
|
2656 |
|
2657 return TestStepResult(); |
|
2658 } |
|
2659 |
|
2660 TPtrC CCTSYIntegrationTestMultimediaCallControl0021::GetTestStepName() |
|
2661 /** |
|
2662 * @return The test step name. |
|
2663 */ |
|
2664 { |
|
2665 return _L("CCTSYIntegrationTestMultimediaCallControl0021"); |
|
2666 } |
|
2667 |
|
2668 |
|
2669 |
|
2670 CCTSYIntegrationTestMultimediaCallControl0022::CCTSYIntegrationTestMultimediaCallControl0022(CEtelSessionMgr& aEtelSessionMgr) |
|
2671 : CCTSYIntegrationTestMultimediaCallControlBase(aEtelSessionMgr) |
|
2672 /** |
|
2673 * Constructor. |
|
2674 */ |
|
2675 { |
|
2676 SetTestStepName(CCTSYIntegrationTestMultimediaCallControl0022::GetTestStepName()); |
|
2677 } |
|
2678 |
|
2679 CCTSYIntegrationTestMultimediaCallControl0022::~CCTSYIntegrationTestMultimediaCallControl0022() |
|
2680 /** |
|
2681 * Destructor. |
|
2682 */ |
|
2683 { |
|
2684 } |
|
2685 |
|
2686 TVerdict CCTSYIntegrationTestMultimediaCallControl0022::doTestStepL() |
|
2687 /** |
|
2688 * @SYMTestCaseID BA-CTSY-INT-MMCC-0022 |
|
2689 * @SYMFssID BA/CTSY/MMCC-0022 |
|
2690 * @SYMTestCaseDesc Test receiving an SMS whilst engaged in a video call. |
|
2691 * @SYMTestPriority High |
|
2692 * @SYMTestActions RLine::NotifyStatusChange, RCall::GetStatus, RMobileSmsMessaging::ReceiveMessage |
|
2693 * @SYMTestExpectedResults Pass - SMS reception does not affect active video call. |
|
2694 * @SYMTestType CIT |
|
2695 * @SYMTestCaseDependencies live/manual |
|
2696 * |
|
2697 |
|
2698 * |
|
2699 * @return - TVerdict code |
|
2700 */ |
|
2701 { |
|
2702 |
|
2703 // |
|
2704 // SET UP |
|
2705 // |
|
2706 |
|
2707 |
|
2708 // Ensure phone is camped on a valid cell. |
|
2709 |
|
2710 // Get data line 1. |
|
2711 |
|
2712 // Get call 1. |
|
2713 |
|
2714 |
|
2715 // |
|
2716 // SET UP END |
|
2717 // |
|
2718 |
|
2719 StartTest(); |
|
2720 |
|
2721 // |
|
2722 // TEST START |
|
2723 // |
|
2724 |
|
2725 |
|
2726 // Set up multimedia mobile data call parameters for a multimedia call. |
|
2727 |
|
2728 // Dial a video call. Answer that call. |
|
2729 |
|
2730 // Verify call is connected. |
|
2731 |
|
2732 // Gets call information and verifies it is correct. |
|
2733 |
|
2734 // Send an SMS to the baord. |
|
2735 |
|
2736 // Verify SMS received. |
|
2737 |
|
2738 // Verify video call is still connected. |
|
2739 |
|
2740 // Hang up video call. |
|
2741 |
|
2742 // Verify SMS message content is correct. |
|
2743 |
|
2744 // Repeat with a message longer than with the maximum number of concatenated messages supported. |
|
2745 |
|
2746 // Repeat with a message which is longer than the maximum number of concatenations supported. |
|
2747 |
|
2748 |
|
2749 // |
|
2750 // TEST END |
|
2751 // |
|
2752 |
|
2753 StartCleanup(); |
|
2754 |
|
2755 // Put any required test clean up here, then remove this comment |
|
2756 |
|
2757 return TestStepResult(); |
|
2758 } |
|
2759 |
|
2760 TPtrC CCTSYIntegrationTestMultimediaCallControl0022::GetTestStepName() |
|
2761 /** |
|
2762 * @return The test step name. |
|
2763 */ |
|
2764 { |
|
2765 return _L("CCTSYIntegrationTestMultimediaCallControl0022"); |
|
2766 } |
|
2767 |
|
2768 |
|
2769 |
|
2770 CCTSYIntegrationTestMultimediaCallControl0023::CCTSYIntegrationTestMultimediaCallControl0023(CEtelSessionMgr& aEtelSessionMgr) |
|
2771 : CCTSYIntegrationTestMultimediaCallControlBase(aEtelSessionMgr) |
|
2772 /** |
|
2773 * Constructor. |
|
2774 */ |
|
2775 { |
|
2776 SetTestStepName(CCTSYIntegrationTestMultimediaCallControl0023::GetTestStepName()); |
|
2777 } |
|
2778 |
|
2779 CCTSYIntegrationTestMultimediaCallControl0023::~CCTSYIntegrationTestMultimediaCallControl0023() |
|
2780 /** |
|
2781 * Destructor. |
|
2782 */ |
|
2783 { |
|
2784 } |
|
2785 |
|
2786 TVerdict CCTSYIntegrationTestMultimediaCallControl0023::doTestStepL() |
|
2787 /** |
|
2788 * @SYMTestCaseID BA-CTSY-INT-MMCC-0023 |
|
2789 * @SYMFssID BA/CTSY/MMCC-0023 |
|
2790 * @SYMTestCaseDesc Test receiving an MMS whilst engaged in a video call. |
|
2791 * @SYMTestPriority High |
|
2792 * @SYMTestActions RLine::NotifyStatusChange, RCall::GetStatus, RMobileSmsMessaging::ReceiveMessage |
|
2793 * @SYMTestExpectedResults Pass - MMS reception does not affect active video call. |
|
2794 * @SYMTestType CIT |
|
2795 * @SYMTestCaseDependencies live/manual |
|
2796 * |
|
2797 |
|
2798 * |
|
2799 * @return - TVerdict code |
|
2800 */ |
|
2801 { |
|
2802 |
|
2803 // |
|
2804 // SET UP |
|
2805 // |
|
2806 |
|
2807 |
|
2808 // Ensure phone is camped on a valid cell. |
|
2809 |
|
2810 // Get data line 1. |
|
2811 |
|
2812 // Get call 1. |
|
2813 |
|
2814 |
|
2815 // |
|
2816 // SET UP END |
|
2817 // |
|
2818 |
|
2819 StartTest(); |
|
2820 |
|
2821 // |
|
2822 // TEST START |
|
2823 // |
|
2824 |
|
2825 |
|
2826 // Set up multimedia mobile data call parameters for a multimedia call. |
|
2827 |
|
2828 // Dial a video call. Answer it. |
|
2829 |
|
2830 // Verify call is connected. |
|
2831 |
|
2832 // Get the call information and verify it is correct. |
|
2833 |
|
2834 // Send an MMS to the phone. |
|
2835 |
|
2836 // Verify MMS received. |
|
2837 |
|
2838 // Verify video call is still connected. |
|
2839 |
|
2840 // Hang up video call. |
|
2841 |
|
2842 // Verify MMS message content is correct. |
|
2843 |
|
2844 |
|
2845 // |
|
2846 // TEST END |
|
2847 // |
|
2848 |
|
2849 StartCleanup(); |
|
2850 |
|
2851 // Put any required test clean up here, then remove this comment |
|
2852 |
|
2853 return TestStepResult(); |
|
2854 } |
|
2855 |
|
2856 TPtrC CCTSYIntegrationTestMultimediaCallControl0023::GetTestStepName() |
|
2857 /** |
|
2858 * @return The test step name. |
|
2859 */ |
|
2860 { |
|
2861 return _L("CCTSYIntegrationTestMultimediaCallControl0023"); |
|
2862 } |
|
2863 |
|
2864 |
|
2865 |
|
2866 CCTSYIntegrationTestMultimediaCallControl0024::CCTSYIntegrationTestMultimediaCallControl0024(CEtelSessionMgr& aEtelSessionMgr) |
|
2867 : CCTSYIntegrationTestMultimediaCallControlBase(aEtelSessionMgr) |
|
2868 /** |
|
2869 * Constructor. |
|
2870 */ |
|
2871 { |
|
2872 SetTestStepName(CCTSYIntegrationTestMultimediaCallControl0024::GetTestStepName()); |
|
2873 } |
|
2874 |
|
2875 CCTSYIntegrationTestMultimediaCallControl0024::~CCTSYIntegrationTestMultimediaCallControl0024() |
|
2876 /** |
|
2877 * Destructor. |
|
2878 */ |
|
2879 { |
|
2880 } |
|
2881 |
|
2882 TVerdict CCTSYIntegrationTestMultimediaCallControl0024::doTestStepL() |
|
2883 /** |
|
2884 * @SYMTestCaseID BA-CTSY-INT-MMCC-0024 |
|
2885 * @SYMFssID BA/CTSY/MMCC-0024 |
|
2886 * @SYMTestCaseDesc iTest.Printf(_L("1\tReceive a MT multimedia call and transfer data\n")); |
|
2887 * @SYMTestPriority High |
|
2888 * @SYMTestActions |
|
2889 * @SYMTestExpectedResults Pass - See TRP test |
|
2890 * @SYMTestType CIT |
|
2891 * @SYMTestCaseDependencies live/manual |
|
2892 * |
|
2893 |
|
2894 * |
|
2895 * @return - TVerdict code |
|
2896 */ |
|
2897 { |
|
2898 |
|
2899 // |
|
2900 // SET UP |
|
2901 // |
|
2902 |
|
2903 |
|
2904 |
|
2905 // |
|
2906 // SET UP END |
|
2907 // |
|
2908 |
|
2909 StartTest(); |
|
2910 |
|
2911 // |
|
2912 // TEST START |
|
2913 // |
|
2914 |
|
2915 |
|
2916 // See TRP test |
|
2917 |
|
2918 |
|
2919 // |
|
2920 // TEST END |
|
2921 // |
|
2922 |
|
2923 StartCleanup(); |
|
2924 |
|
2925 // Put any required test clean up here, then remove this comment |
|
2926 |
|
2927 return TestStepResult(); |
|
2928 } |
|
2929 |
|
2930 TPtrC CCTSYIntegrationTestMultimediaCallControl0024::GetTestStepName() |
|
2931 /** |
|
2932 * @return The test step name. |
|
2933 */ |
|
2934 { |
|
2935 return _L("CCTSYIntegrationTestMultimediaCallControl0024"); |
|
2936 } |
|
2937 |
|
2938 |
|
2939 |
|
2940 CCTSYIntegrationTestMultimediaCallControl0025::CCTSYIntegrationTestMultimediaCallControl0025(CEtelSessionMgr& aEtelSessionMgr) |
|
2941 : CCTSYIntegrationTestMultimediaCallControlBase(aEtelSessionMgr) |
|
2942 /** |
|
2943 * Constructor. |
|
2944 */ |
|
2945 { |
|
2946 SetTestStepName(CCTSYIntegrationTestMultimediaCallControl0025::GetTestStepName()); |
|
2947 } |
|
2948 |
|
2949 CCTSYIntegrationTestMultimediaCallControl0025::~CCTSYIntegrationTestMultimediaCallControl0025() |
|
2950 /** |
|
2951 * Destructor. |
|
2952 */ |
|
2953 { |
|
2954 } |
|
2955 |
|
2956 TVerdict CCTSYIntegrationTestMultimediaCallControl0025::doTestStepL() |
|
2957 /** |
|
2958 * @SYMTestCaseID BA-CTSY-INT-MMCC-0025 |
|
2959 * @SYMFssID BA/CTSY/MMCC-0025 |
|
2960 * @SYMTestCaseDesc iTest.Printf(_L("2\tReject the incoming multimedia call\n")); |
|
2961 * @SYMTestPriority High |
|
2962 * @SYMTestActions |
|
2963 * @SYMTestExpectedResults Pass - See TRP test |
|
2964 * @SYMTestType CIT |
|
2965 * @SYMTestCaseDependencies live/manual |
|
2966 * |
|
2967 |
|
2968 * |
|
2969 * @return - TVerdict code |
|
2970 */ |
|
2971 { |
|
2972 |
|
2973 // |
|
2974 // SET UP |
|
2975 // |
|
2976 |
|
2977 // Ensure phone is camped on a valid cell. |
|
2978 RMobilePhone& phone = iEtelSessionMgr.GetPhoneL(KMainServer,KMainPhone); |
|
2979 CHECK_EQUALS_L(iNetworkTestHelper.WaitForRegisteredOnHomeNetworkL(phone), KErrNone, _L("TNetworkTsyTestHelper::WaitForRegisteredOnHomeNetworkL returned with an error")); |
|
2980 |
|
2981 // Get data line 1. |
|
2982 RMobileLine& mobileLine= iEtelSessionMgr.GetLineL(KMainServer, KMainPhone, KDataLine); |
|
2983 |
|
2984 |
|
2985 // |
|
2986 // SET UP END |
|
2987 // |
|
2988 |
|
2989 StartTest(); |
|
2990 |
|
2991 // |
|
2992 // TEST START |
|
2993 // |
|
2994 |
|
2995 |
|
2996 // Dial the board (video call, call 1) |
|
2997 // post notifier for RLine::NotifyIncomingCall |
|
2998 TCoreEtelRequestStatus<RLine> notifyIncomingCallStatus (mobileLine,&RLine::NotifyIncomingCallCancel); |
|
2999 CleanupStack::PushL(notifyIncomingCallStatus); |
|
3000 TName name; |
|
3001 mobileLine.NotifyIncomingCall(notifyIncomingCallStatus,name); |
|
3002 |
|
3003 // Failing CSD calls (see $CTSYProblem described below). |
|
3004 // Code can be added in after multimedia calls are working. |
|
3005 |
|
3006 // $CTSYProblem: The line is not notifying tester to answer the incoming call ( notifier never completes). |
|
3007 // CTSY does not receive anykind of signal from line about incoming call thus it cannot be answered. |
|
3008 // All CSD call are currently failing, this is not a CTSY problem because CTSY has no control over this issue |
|
3009 |
|
3010 /* |
|
3011 // Remote party invokes an incoming video call. |
|
3012 DisplayUserInteractionPromptL(_L("You should now dial a multimedia call to this board from some other mobilephone"), ETimeLong); |
|
3013 |
|
3014 // Verify incoming call notification completes. |
|
3015 ASSERT_EQUALS(WaitForRequestWithTimeOut(notifyIncomingCallStatus,ETimeMedium), KErrNone, _L("RLine::NotifyIncomingCall did not complete without error")); |
|
3016 ASSERT_EQUALS(notifyIncomingCallStatus.Int(), KErrNone, _L("RLine::NotifyIncomingCall set requestStatus to an error")); |
|
3017 ASSERT_TRUE(name.Length() > 0, _L("RLine::NotifyIncomingCall did not set the name")); |
|
3018 |
|
3019 TCallId incomingCallId; |
|
3020 RMobileCall& incomingCall = iEtelSessionMgr.GetIncomingCallL(KMainServer, KMainPhone, KVoiceLine, name, incomingCallId); |
|
3021 |
|
3022 // post a notifier for RMobileCall::NotifyMobileCallStatusChange |
|
3023 TExtEtelRequestStatus notifyMobileCallChangeStatus(incomingCall, EMobileCallNotifyMobileCallStatusChange); |
|
3024 CleanupStack::PushL(notifyMobileCallChangeStatus); |
|
3025 RMobileCall::TMobileCallStatus mobileCallStatus; |
|
3026 incomingCall.NotifyMobileCallStatusChange(notifyMobileCallChangeStatus, mobileCallStatus); |
|
3027 |
|
3028 // Reject incoming video call on call 1. |
|
3029 // HangupCall |
|
3030 TCoreEtelRequestStatus<RCall> hangUpStatus (incomingCall, &RCall::HangUpCancel); |
|
3031 CleanupStack::PushL(hangUpStatus); |
|
3032 incomingCall.HangUp(hangUpStatus); |
|
3033 ASSERT_EQUALS(WaitForRequestWithTimeOut(hangUpStatus, ETimeLong), KErrNone, _L("RCall::HangUp timed-out")); |
|
3034 ASSERT_EQUALS(hangUpStatus.Int(), KErrNone, _L("RCall::HangUp returned an error")); |
|
3035 |
|
3036 |
|
3037 // Verify call1 goes -> disconnecting -> idle. |
|
3038 // RMobileCall::NotifyMobileCallStatusChange completes with EStatusConnected. |
|
3039 RMobileCall::TMobileCallStatus expectedMobileCallStatus = RMobileCall::EStatusDisconnecting; |
|
3040 TInt expectedStatus = KErrNone; |
|
3041 iCallControlTestHelper.WaitForMobileCallNotifyMobileCallStatusChange(incomingCall, |
|
3042 notifyMobileCallChangeStatus, |
|
3043 mobileCallStatus, |
|
3044 expectedMobileCallStatus, |
|
3045 expectedStatus); |
|
3046 |
|
3047 incomingCall.NotifyMobileCallStatusChange(notifyMobileCallChangeStatus, mobileCallStatus); |
|
3048 expectedMobileCallStatus = RMobileCall::EStatusIdle; |
|
3049 iCallControlTestHelper.WaitForMobileCallNotifyMobileCallStatusChange(incomingCall, |
|
3050 notifyMobileCallChangeStatus, |
|
3051 mobileCallStatus, |
|
3052 expectedMobileCallStatus, |
|
3053 expectedStatus); |
|
3054 */ |
|
3055 |
|
3056 // |
|
3057 // TEST END |
|
3058 // |
|
3059 |
|
3060 StartCleanup(); |
|
3061 |
|
3062 // Pop |
|
3063 // notifyIncomingCallStatus |
|
3064 // notifyMobileCallChangeStatus |
|
3065 CleanupStack::PopAndDestroy(1, ¬ifyIncomingCallStatus); |
|
3066 |
|
3067 |
|
3068 return TestStepResult(); |
|
3069 } |
|
3070 |
|
3071 TPtrC CCTSYIntegrationTestMultimediaCallControl0025::GetTestStepName() |
|
3072 /** |
|
3073 * @return The test step name. |
|
3074 */ |
|
3075 { |
|
3076 return _L("CCTSYIntegrationTestMultimediaCallControl0025"); |
|
3077 } |
|
3078 |
|
3079 |
|
3080 |
|
3081 CCTSYIntegrationTestMultimediaCallControl0026::CCTSYIntegrationTestMultimediaCallControl0026(CEtelSessionMgr& aEtelSessionMgr) |
|
3082 : CCTSYIntegrationTestMultimediaCallControlBase(aEtelSessionMgr) |
|
3083 /** |
|
3084 * Constructor. |
|
3085 */ |
|
3086 { |
|
3087 SetTestStepName(CCTSYIntegrationTestMultimediaCallControl0026::GetTestStepName()); |
|
3088 } |
|
3089 |
|
3090 CCTSYIntegrationTestMultimediaCallControl0026::~CCTSYIntegrationTestMultimediaCallControl0026() |
|
3091 /** |
|
3092 * Destructor. |
|
3093 */ |
|
3094 { |
|
3095 } |
|
3096 |
|
3097 TVerdict CCTSYIntegrationTestMultimediaCallControl0026::doTestStepL() |
|
3098 /** |
|
3099 * @SYMTestCaseID BA-CTSY-INT-MMCC-0026 |
|
3100 * @SYMFssID BA/CTSY/MMCC-0026 |
|
3101 * @SYMTestCaseDesc iTest.Printf(_L("3\tAnswer the incoming multimedia call as voice\n")); |
|
3102 * @SYMTestPriority High |
|
3103 * @SYMTestActions |
|
3104 * @SYMTestExpectedResults Pass - See TRP test |
|
3105 * @SYMTestType CIT |
|
3106 * @SYMTestCaseDependencies live/manual |
|
3107 * |
|
3108 |
|
3109 * |
|
3110 * @return - TVerdict code |
|
3111 */ |
|
3112 { |
|
3113 |
|
3114 // |
|
3115 // SET UP |
|
3116 // |
|
3117 |
|
3118 |
|
3119 // Ensure phone is camped on a valid cell. |
|
3120 RMobilePhone& phone = iEtelSessionMgr.GetPhoneL(KMainServer,KMainPhone); |
|
3121 CHECK_EQUALS_L(iNetworkTestHelper.WaitForRegisteredOnHomeNetworkL(phone), KErrNone, _L("TNetworkTsyTestHelper::WaitForRegisteredOnHomeNetworkL returned with an error")); |
|
3122 |
|
3123 // Get data line 1. |
|
3124 RMobileLine& mobileLine= iEtelSessionMgr.GetLineL(KMainServer, KMainPhone, KDataLine); |
|
3125 |
|
3126 // |
|
3127 // SET UP END |
|
3128 // |
|
3129 |
|
3130 StartTest(); |
|
3131 |
|
3132 // |
|
3133 // TEST START |
|
3134 // |
|
3135 |
|
3136 // Dial the board (video call, call 1) |
|
3137 |
|
3138 // post notifier for RLine::NotifyIncomingCall |
|
3139 TCoreEtelRequestStatus<RLine> notifyIncomingCallStatus (mobileLine,&RLine::NotifyIncomingCallCancel); |
|
3140 CleanupStack::PushL(notifyIncomingCallStatus); |
|
3141 TName name; |
|
3142 mobileLine.NotifyIncomingCall(notifyIncomingCallStatus,name); |
|
3143 |
|
3144 // Failing CSD calls (see $CTSYProblem described below). |
|
3145 // Code can be added in after multimedia calls are working. |
|
3146 |
|
3147 // $CTSYProblem: The line is not notifying tester to answer the incoming call ( notifier never completes). |
|
3148 // CTSY does not receive anykind of signal from line about incoming call thus it cannot be answered. |
|
3149 // All CSD call are currently failing, this is not a CTSY problem because CTSY has no control over this issue |
|
3150 |
|
3151 /* |
|
3152 // Remote party invokes an incoming video call. |
|
3153 DisplayUserInteractionPromptL(_L("You should now dial a multimedia call to this board from some other mobilephone"), ETimeLong); |
|
3154 |
|
3155 // Verify incoming call notification completes. |
|
3156 ASSERT_EQUALS(WaitForRequestWithTimeOut(notifyIncomingCallStatus,ETimeMedium), KErrNone, _L("RLine::NotifyIncomingCall did not complete without error")); |
|
3157 ASSERT_EQUALS(notifyIncomingCallStatus.Int(), KErrNone, _L("RLine::NotifyIncomingCall set requestStatus to an error")); |
|
3158 ASSERT_TRUE(name.Length() > 0, _L("RLine::NotifyIncomingCall did not set the name")); |
|
3159 |
|
3160 // Get call 1. |
|
3161 TCallId incomingCallId; |
|
3162 RMobileCall& call1 = iEtelSessionMgr.GetIncomingCallL(KMainServer, KMainPhone, KDataLine, name, incomingCallId); |
|
3163 |
|
3164 // post notifier for RCall::NotifyStatusChange for incoming call |
|
3165 TCoreEtelRequestStatus<RCall> notifyCallStatusChangeStatus (call1, &RCall::NotifyStatusChangeCancel); |
|
3166 CleanupStack::PushL(notifyCallStatusChangeStatus); |
|
3167 RCall::TStatus callStatus; |
|
3168 call1.NotifyStatusChange(notifyCallStatusChangeStatus, callStatus); |
|
3169 |
|
3170 // Answer incoming call as a voice call. |
|
3171 TCoreEtelRequestStatus<RCall> answerIncomingStatus(call1, &RCall::AnswerIncomingCallCancel); |
|
3172 CleanupStack::PushL(answerIncomingStatus); |
|
3173 RMobileCall::TMobileDataCallParamsV1 callParams; |
|
3174 RMobileCall::TMobileCallParamsV1Pckg callParamsPckg(callParams); |
|
3175 TName voiceName; |
|
3176 call1.AnswerMultimediaCallAsVoice(answerIncomingStatus, callParamsPckg, voiceName); |
|
3177 ASSERT_EQUALS(WaitForRequestWithTimeOut(answerIncomingStatus, ETimeMedium), KErrNone, _L("RMobileCall::AnswerIncomingCall timed-out")); |
|
3178 ASSERT_EQUALS(answerIncomingStatus.Int(), KErrNone, _L("RMobileCall::AnswerIncomingCall returned with an error")); |
|
3179 ASSERT_EQUALS(call1.OpenExistingCall(mobileLine, voiceName), KErrNone, _L("RMobileCall::OpenExistingCall returned with an error")); |
|
3180 |
|
3181 // Check that call is connected and that status goes to EStatusConnected |
|
3182 RCall::TStatus expectedCallStatus = RCall::EStatusConnected; |
|
3183 iCallControlTestHelper.WaitForCallNotifyStatusChange(call1, |
|
3184 notifyCallStatusChangeStatus, |
|
3185 callStatus, |
|
3186 expectedCallStatus, |
|
3187 KErrNone); |
|
3188 |
|
3189 // Check RMobilePhone::GetMobileCallInfo completes with TMobileService::EVoiceService |
|
3190 RMobileCall::TMobileCallInfoV1 mobileCallInfo; |
|
3191 RMobileCall::TMobileCallInfoV1Pckg callInfoPckg(mobileCallInfo); |
|
3192 ASSERT_EQUALS(call1.GetMobileCallInfo(callInfoPckg), KErrNone, _L("RMobileCall::GetMobileCallInfo returned an error")); |
|
3193 ASSERT_EQUALS(mobileCallInfo.iService, RMobilePhone::EVoiceService, _L("RMobileCall::GetMobileCallInfo did not return RMobilePhone::EVoiceService as expected")); |
|
3194 |
|
3195 // HangupCall |
|
3196 TCoreEtelRequestStatus<RCall> hangUpStatus (call1, &RCall::HangUpCancel); |
|
3197 CleanupStack::PushL(hangUpStatus); |
|
3198 call1.HangUp(hangUpStatus); |
|
3199 ASSERT_EQUALS(WaitForRequestWithTimeOut(hangUpStatus, ETimeLong), KErrNone, _L("RCall::HangUp timed-out")); |
|
3200 ASSERT_EQUALS(hangUpStatus.Int(), KErrNone, _L("RCall::HangUp returned an error")); |
|
3201 */ |
|
3202 |
|
3203 // |
|
3204 // TEST END |
|
3205 // |
|
3206 |
|
3207 StartCleanup(); |
|
3208 |
|
3209 //notifyIncomingCallStatus |
|
3210 //notifyCallStatusChangeStatus |
|
3211 //answerIncomingStatus |
|
3212 //hangUpStatus |
|
3213 CleanupStack::PopAndDestroy(1, ¬ifyIncomingCallStatus); |
|
3214 |
|
3215 return TestStepResult(); |
|
3216 |
|
3217 } |
|
3218 |
|
3219 TPtrC CCTSYIntegrationTestMultimediaCallControl0026::GetTestStepName() |
|
3220 /** |
|
3221 * @return The test step name. |
|
3222 */ |
|
3223 { |
|
3224 return _L("CCTSYIntegrationTestMultimediaCallControl0026"); |
|
3225 } |
|
3226 |
|
3227 |
|
3228 |
|
3229 CCTSYIntegrationTestMultimediaCallControl0027::CCTSYIntegrationTestMultimediaCallControl0027(CEtelSessionMgr& aEtelSessionMgr) |
|
3230 : CCTSYIntegrationTestMultimediaCallControlBase(aEtelSessionMgr) |
|
3231 /** |
|
3232 * Constructor. |
|
3233 */ |
|
3234 { |
|
3235 SetTestStepName(CCTSYIntegrationTestMultimediaCallControl0027::GetTestStepName()); |
|
3236 } |
|
3237 |
|
3238 CCTSYIntegrationTestMultimediaCallControl0027::~CCTSYIntegrationTestMultimediaCallControl0027() |
|
3239 /** |
|
3240 * Destructor. |
|
3241 */ |
|
3242 { |
|
3243 } |
|
3244 |
|
3245 TVerdict CCTSYIntegrationTestMultimediaCallControl0027::doTestStepL() |
|
3246 /** |
|
3247 * @SYMTestCaseID BA-CTSY-INT-MMCC-0027 |
|
3248 * @SYMFssID BA/CTSY/MMCC-0027 |
|
3249 * @SYMTestCaseDesc iTest.Printf(_L("4\tRetrieve the params negotiated for the MT call\n")); |
|
3250 * @SYMTestPriority High |
|
3251 * @SYMTestActions |
|
3252 * @SYMTestExpectedResults Pass - See TRP test |
|
3253 * @SYMTestType CIT |
|
3254 * @SYMTestCaseDependencies live/manual |
|
3255 * |
|
3256 |
|
3257 * |
|
3258 * @return - TVerdict code |
|
3259 */ |
|
3260 { |
|
3261 |
|
3262 // |
|
3263 // SET UP |
|
3264 // |
|
3265 |
|
3266 |
|
3267 |
|
3268 // |
|
3269 // SET UP END |
|
3270 // |
|
3271 |
|
3272 StartTest(); |
|
3273 |
|
3274 // |
|
3275 // TEST START |
|
3276 // |
|
3277 |
|
3278 |
|
3279 // See TRP test |
|
3280 |
|
3281 |
|
3282 // |
|
3283 // TEST END |
|
3284 // |
|
3285 |
|
3286 StartCleanup(); |
|
3287 |
|
3288 // Put any required test clean up here, then remove this comment |
|
3289 |
|
3290 return TestStepResult(); |
|
3291 } |
|
3292 |
|
3293 TPtrC CCTSYIntegrationTestMultimediaCallControl0027::GetTestStepName() |
|
3294 /** |
|
3295 * @return The test step name. |
|
3296 */ |
|
3297 { |
|
3298 return _L("CCTSYIntegrationTestMultimediaCallControl0027"); |
|
3299 } |
|
3300 |
|
3301 |
|
3302 |
|
3303 CCTSYIntegrationTestMultimediaCallControl0028::CCTSYIntegrationTestMultimediaCallControl0028(CEtelSessionMgr& aEtelSessionMgr) |
|
3304 : CCTSYIntegrationTestMultimediaCallControlBase(aEtelSessionMgr) |
|
3305 /** |
|
3306 * Constructor. |
|
3307 */ |
|
3308 { |
|
3309 SetTestStepName(CCTSYIntegrationTestMultimediaCallControl0028::GetTestStepName()); |
|
3310 } |
|
3311 |
|
3312 CCTSYIntegrationTestMultimediaCallControl0028::~CCTSYIntegrationTestMultimediaCallControl0028() |
|
3313 /** |
|
3314 * Destructor. |
|
3315 */ |
|
3316 { |
|
3317 } |
|
3318 |
|
3319 TVerdict CCTSYIntegrationTestMultimediaCallControl0028::doTestStepL() |
|
3320 /** |
|
3321 * @SYMTestCaseID BA-CTSY-INT-MMCC-0028 |
|
3322 * @SYMFssID BA/CTSY/MMCC-0028 |
|
3323 * @SYMTestCaseDesc iTest.Printf(_L("1\tNotify MO multimedia call voice fallback\n")); |
|
3324 * @SYMTestPriority High |
|
3325 * @SYMTestActions |
|
3326 * @SYMTestExpectedResults Pass - See TRP test |
|
3327 * @SYMTestType CIT |
|
3328 * @SYMTestCaseDependencies live/manual |
|
3329 * |
|
3330 |
|
3331 * |
|
3332 * @return - TVerdict code |
|
3333 */ |
|
3334 { |
|
3335 |
|
3336 // |
|
3337 // SET UP |
|
3338 // |
|
3339 |
|
3340 |
|
3341 |
|
3342 // |
|
3343 // SET UP END |
|
3344 // |
|
3345 |
|
3346 StartTest(); |
|
3347 |
|
3348 // |
|
3349 // TEST START |
|
3350 // |
|
3351 |
|
3352 |
|
3353 // See TRP test |
|
3354 |
|
3355 |
|
3356 // |
|
3357 // TEST END |
|
3358 // |
|
3359 |
|
3360 StartCleanup(); |
|
3361 |
|
3362 // Put any required test clean up here, then remove this comment |
|
3363 |
|
3364 return TestStepResult(); |
|
3365 } |
|
3366 |
|
3367 TPtrC CCTSYIntegrationTestMultimediaCallControl0028::GetTestStepName() |
|
3368 /** |
|
3369 * @return The test step name. |
|
3370 */ |
|
3371 { |
|
3372 return _L("CCTSYIntegrationTestMultimediaCallControl0028"); |
|
3373 } |
|
3374 |
|
3375 |
|
3376 |