GSM Association Ir32 - pt1
GSM Association Ir32 - pt1
GSM Association Ir32 - pt1
Copyright Notice
Copyright © 2005 GSM Association
GSM™ and the GSM Logo™ are registered and the property of the GSM Association.
Document History
References
GSM CAMEL CAMEL
Specification Phase1 Phase2
3GPP
CAMEL Phase3
Specification
“Customised Applications for Mobile network Enhanced
3GPP TS 22.078 V3.9.0 Logic (CAMEL); Service description, Stage; (Release
1999)”
“Customised Applications for Mobile network Enhanced
3GPP TS 23.078 V3.13.0
Logic (CAMEL) Phase 3 - Stage 2; (Release 1999)”
Other Information
Type Description
Document Owner IREG
Revision Control Semi-annual
Document editor/company Javier Sendin
Feedback
This document is intended for use by the members of GSMA. It is our intention to provide a
quality product for your use. If you find any errors or omissions, please contact us with your
comments. You may notify us at mailto:[email protected]. Your comments or suggestions are
always welcome.
1 Introduction
1.1 Scope of document
This document contains the specification of IREG End-to-end Functional Capability tests
relating to the international roaming of a Mobile Station subscribed to CAMEL services,
belonging to a home PLMN(a), to and within a visited PLMN(b).
The tests specified here do not replace the End-to-end Functional Capability tests for Inter-
PLMN Roaming [see Stage 4: IREG PRD IR24], because not every roamer will be
subscribed to a CAMEL service. This document represents rather an extension to the IR24
tests. The tests should be done after successful Stage 4 testing.
Whilst it is expected that CAMEL-roaming will be a bilateral activity between two PLMNs,
please note that this document is written in an unidirectional context. Hence Roaming is
taking place by a MS(a) to VPLMN(b) only. There is no reference to a Mobile Station MS(b)
visiting PLMN(a) .
To complete IREG End-to-end Functional Capability tests for bilateral CAMEL roaming, it is
necessary to perform the tests in this document twice: the second time the real identities of
PLMN(a) and PLMN(b) are swapped.
IREG Document PRD IR23 defines the scope and purpose of each stage of testing.
The Scope of this issue of the document extends to CAMEL Phase 1 and Phase 2.
1.2 Abbreviations
AAC Automatic Answering Circuit
AACx destination Number of announcement x
ABT TCAP-Abort
AC CAP-Apply Charging
ACgprs CAP-Apply Charging GPRS message
ACR CAP-Apply Charging Report
ACRgprs CAP-Apply Charging Report GPRS message
ANM ISUP-Answer
AoCI Advice of Charge Information
APN Access Point Name
ARI CAP-Assist Request Instructions
METime maxElapsedTime
MM Mobility Management
MS Mobile Station (MS(b) indicates that the MS subscription is managed by
PLMN(b)
MSIN Mobile Subscriber Identification Number
MTVol maxTransferredVolume
PA CAP-Play Announcement
PCCoP PDP Context Change of Position
PCD PDP Context Disconnection
PCE PDP Context Establishment
PDP Packet Data Protocol
PLMN Public Land Mobile Network including RSS ("Radio Sub-System") and NSS
("Network Sub-System") (PLMN(a) indicates the "ath" PLMN)
PSI MAP-Provide Subscriber Information
PSTN Public Switched Telephone Network; PSTN(b) indicates a PSTN telephone in
country b.
RC CAP-Release Call
REL ISUP-Release
Rgprs CAP-Release GPRS message
RIDE Release If Duration Exceeded
RRBE CAP-Request Report BCSM Event
RRgprsE CAP-RequestReportGPRSEvent message
VMSC Visited Mobile Services Switching Centre, including the always co-located
entities MSC ("Mobile Services Switching Centre") and VLR ("Visitor Location
Register").
VolINTS VolumeIfNoTariffSwitch
VolSLTS VolumeSinceLastTariffSwitch
VolTSI VolumeTariffSwitchInterval
VPLMN Visited PLMN
Because the testing is at a top-level, its scope includes checking the correct working of
CAMEL features. The term "CAMEL features" relate to CAMEL Phase 1 and Phase 2
through the document.
The overall objective of the tests is to confirm that the CAMEL features, which are known to
operate correctly within each separate PLMN, will also operate correctly for Inter-PLMN
roaming.
In the test service for CAMEL Phase1 and Phase2 a list of dialled numbers, called
destination list, is included. The numbers listed here are linked to a corresponding action,
which is required for the specific test case.
Additionally the test cases have been drawn up so that it is possible to execute them
automatically.
Figure 1: Schematic representation of the test service for CAMEL Ph1 and Ph2.
General requirements for the implementation of the service logic are detailed below:
The activity of inter PLMN testing will take place more effectively and efficiently if the two
PLMNs have already independently acquired practical expertise in the functions which are
being tested. Accordingly it is recommended that prior to the start of inter-PLMN testing of
CAMEL functionality, the two PLMNs have already achieved the following:
Additionally, it is highly recommended that the service logic be very carefully tested in the
HPLMN(a) before starting International Roaming Tests. This is necessary because the IREG
tester in VPLMN(b) cannot determine, that the service logic for the test case is being
correctly invoked. If there are errors in the service logic, the test results will be unreliable.
HPLMNs are recommended to ensure that there is adequate control within their HLRs and
network infrastructure to allow the following types of roaming to exist simultaneously either
as independent or overlapping sets of VPLMNs:
• “IR24” roaming to be in operation with a VPLMN or set of VPLMNs for
Test SIMs,
• “IR24” roaming to be in operation with a different set of VPLMNs for all
customers,
• “CAMEL” roaming to be in operation with a further set of VPLMNs for Test
SIMs,
• “CAMEL” roaming to be in operation with a fourth set of VPLMNs for all
customers
Warning: Some implementations do not allow to provide CAMEL roaming on a per service
level. This may lead to the situation, that after introduction of CAMEL roaming for test
purposes, all CAMEL services of HPLMN(a) are accessible in VPLMN(b).
2 Test cases
The test configuration is shown in Figure 2 below. It is anticipated that it may be necessary to
monitor both signalling messages and voice calls on any of the Network Entity interfaces
shown in the diagram. However this is not a firm requirement for this test specification.
With the destination numbers of announcement 1 to 3, AAC1 to AAC3, used in the service
logic to select a specific SCF action the corresponding AAC is reached.
Note: In some test cases the AACs are called directly from the MS. In this case, the
international format for type of number shall be used, that is, “+” shall be dialled when setting
up a call.
Idle
Signals to/from the left
are to/from the SSP.
IDP
Analyse
CalledPartyBCDNumber/
CalledPartyNumber *
calledPartyBCDNumber = TestNbr1
o1_1
o1_2
calledPartyBCDNumber = TestNbr2
o1_3
o1_4
calledPartyBCDNumber = AAC1
o1_5
calledPartyBCDNumber = AAC2
o1_6
calledPartyNumber = AAC3
o1_7
calledPartyBCDNumber = TestNbr3
o1_8
* Note: Use Best Fit algorithm to branch into the proper path.
Figure 3: Entry process for originating service logic: CAMEL Phase 1
Idle
Signals to/from the left
are to/from the SSP.
IDP
Analyse
CalledPartyNu
mber
calledPartyNumber consists of CC + NDC of country(a) and
a MSIN which is not included in the destination list
t1_1
updateLocation
ISD(O-CSI)
ISD Res(supportedCamelPhases)
updateLocation Res
Overview:
MS1(a) registers in VPLMN(b). The successful insertion of subscriber data –
example: O-CSI – in the VLR is verified.
Preconditions: MS1(a) contains SIM of HPLMN(a).
No VLR record exists for MS1(a).
HLR record contains basic and supplementary service
information as well as O-CSI.
Action: Power-up MS1(a) and perform location registration on VPLMN(b).
Check VLR record for the IMSI/MSISDN of MS1(a).
Service logic: -
Result: Successful result if at least the following entries are included in
VLR record:
Teleservice TS11 provisioned
SS: BOICexHC : Provisioned
SS: CFNRy : Provisioned
O-CSI
TriggerDetectionPoint: CollectedInfo, DP2
ServiceKey: equal to information provided by
HPLMN(a)
gsmSCFAddress: equal to information provided by
HPLMN(a)
defaultCallHandling: continueCall
Comments: This test case confirms operation of Insert Subscriber Data
procedure including O-CSI and that the required subscriber
profile for MS1(a) is available. If the required subscriber profile is
not included in the VLR, the error has to be sorted out before
continuation of tests.
Overview:
MS2(a) registers in VPLMN(b). It is verified, that the required subscriber
profile for MS2(a) – example: O-CSI – is available.
Message-flow:
SSP(b) SCP(a)
IDP(ServiceKey, TestNbr1 )
(i)
CON(AAC1 )
(ii)
CON(AAC2 )
(ii) If SCF does not receive all parameters within the IDP, the
SCF alters the destination address to be that of Test
Announcement 2.
SCF sends Connect.
Result: (i) Successful result if Test Announcement 1 is played to calling
party.
(ii) If Test Announcement 2 is played to calling party, at least one
parameter of the IDP is missing and the test has failed.
Comments: This test case confirms operation of IDP and Connect and
ensures that all parameters are present in the IDP. If no
announcement is played, a fundamental error has occurred and it
has to be sorted out before continuation of tests.
Idle
Note: Additional parameter may be included in IDP. This still leads to CON(DRA=AAC1).
Message-flow:
IDP(ServiceKey, MS 2(a) )
(i)
CON(AAC1 )
(ii)
CUE
msisdn = IDP.calledPartyBCDNbr
locationInformation
subscriberState
gsmSCFAddress ATI
ATI
Res
No
DRA = AAC1
CON CUE
Idle
Message-flow:
SSP(b) SCP(a)
IDP(ServiceKey, TestNbr2 )
ERB(O_Answer )
t=10 sec.
RC(NormalCallClearing )
destinationRoutingAddress = AAC3
ABT ERB
eventTypeBCSM = oAnswer (7)
miscCallInfo
messageType = notification (1)
Start
Timer
Timer value = 10 sec.
Wait for
Timer
Expiration
Timer
ABT
expired
cause = normalCallClearing
RC
Idle
Message-flow:
SSP(b) SCP(a)
IDP(ServiceKey, MS 3(b) )
CUE
Wait for
ERB eventTypeBCSM = oDisconnect (9)
legID
sendingSide
Leg Type = leg2
miscCallInfo
ABT ERB messageType = notification (1)
Idle
Message-flow:
SSP(b) SCP(a)
IDP(ServiceKey, AACx )
no answer to IDP
o1_5 o1_6
Idle Idle
Note: In case SCP implementation does not allow to send no answer to IDP an Abort
message should be sent.
Message-flow:
GMSC/ MSC/
MSC(b) SCP(a) HLR(a) BSC(b)
SSP(a) VLR(b)
IAM(MS2(a) ) SRI
SRI(T-CSI )
CON(MS2(a), SoA )
SRI(MSRN ) PRN(MSRN )
IAM(MSRN ) Paging
no answer to Paging
no announcement
REL REL
t1_1
destinationRoutingAddress = IDP.calledPartyNumber *)
suppressionOfAnnouncement
CON
Idle
Message-flow:
VLR /
MSC(b) GMSC(a) SCP(a) HLR(a) BSC(b)
SSP(b)
SRI(MSRN ) PRN(MSRN )
IAM(MSRN ) Paging
... Alert
(i)
CON(AAC1 )
(ii)
CON(AAC2 )
(ii) If SCF has not received all required parameter within the IDP, the
SCF alters destination address to that of Test Announcement 2.
SCF sends CON.
Result: (i) Successful result if Test Announcement 1 is played to calling
party.
No
Idle
Message-flow:
SSP(b) SCP(a)
IDP(ServiceKey, TestNbr3 )
CON(DN(c) )
o1_8
DRA = DN(c)
CON
Idle
Message-flow:
SSP(b) SCP(a)
IDP(ServiceKey, TestNbr3 )
CON(DN(c) )
Idle
Signals to/from the left
are to/from the SSP.
IDP
Analyse
CalledPartyBCDNumber/
CalledPartyNumber *
calledPartyBCDNumber = TestNbr4
o2_1
calledPartyBCDNumber = AAC4
o2_2
o2_3
o2_4
calledPartyBCDNumber = TestNbr5
o2_5
calledPartyBCDNumber = TestNbr7
o2_6
calledPartyBCDNumber = TestNbr6
o2_7
* Note: Use Best Fit algorithm to branch into the proper path.
Figure 5: Entry process for originating service logic: CAMEL Phase 2 (part 1 of 2)
calledPartyBCDNumber = TestNbr10
o2_8
calledPartyBCDNumber = AAC1
o2_9
calledPartyBCDNumber = AAC2
o2_10
o2_11
calledPartyBCDNumber = TestNbr9
o2_12
calledPartyBCDNumber = TestNbr11
o2_13
calledPartyBCDNumber = TestNbr12
o2_14
calledPartyBCDNumber = TestNbr13
o2_15
Figure 6: Entry process for originating service logic: CAMEL Phase 2 (part 2 of 2)
Idle
Signals to/from the left
are to/from the SSP.
IDP
Analyse
CalledPartyNu
mber
calledPartyNumber consists of CC + NDC of country(a) and
a MSIN which is not included in the destination list
t2_1
Message-flow:
VLR(b) HLR(a)
updateLocation
ISD(O-CSI)
ISD Res(supportedCamelPhases)
updateLocation Res
Overview:
MS4(a) registers in VPLMN(b). The successful insertion of subscriber data –
example: O-CSI – in the VLR is verified.
Overview:
MS5(a) registers in VPLMN(b). It is verified, that the required subscriber
profile for MS5(a) – example.: O-CSI – is available.
Overview:
MS4(a), registered in VPLMN(b), makes a call to TestNbr4. This TestNbr4 is
of a length which is a predefined criteria for the collected_info trigger detection
point for MS4(a). Depending on the Initial DP contents, either Test
Announcement (AAC1) or Test Announcement 2 (AAC2) is played. The
correct usage of DP criteria is verified.
Or, if the HPLMN does not support DP criteria, an IDP will still be initiated and
the contents verified.
Message-flow:
SSP(b) SCP(a)
IDP(ServiceKey, TestNbr4 )
(i)
CON(AAC1 )
(ii)
CON(AAC2 )
(ii) If SCF does not receive all parameters within the IDP, the SCF
alters the destination address to be that of Test Announcement 2.
SCF sends Connect.
Result: (i) Successful result if Test Announcement 1 is played to calling
party.
(ii) If Test Announcement 2 is played to calling party, at least one
parameter of the IDP is missing. However, the DP criteria has been
successfully implemented.
Comments: This test case confirms operation of the TDP criteria and ensures
that all parameters are present on the IDP.
If no announcement is played, either the criteria for triggering has
not been implemented correctly or a fundamental error has occurred.
If Test 2.1.2 has been successfully carried out previously, it is likely
that the triggering criteria has failed.
Idle
2.2.2.2 Called Number Length not Defined by Destination Number Length List
Overview:
MS4(a), registered in VPLMN(b) makes a call to AAC4. AAC4 is not within the
predefined criteria for the collected_info trigger detection point for MS4(a). No
trigger to the SCF should take place.
If a SCF trigger occurs, Test Announcement 2 (AAC2) is played.
If the HPLMN does not support DP criteria, this test is not valid.
Message-flow:
SSP(b) SCP(a)
(i)
no CAMEL dialog
(ii)
IDP(ServiceKey, AAC4 )
CON(AAC2 )
Preconditions: MS4(a) has location updated successfully in VPLMN(b). HLR entry for
MS4(a) contains "O-CSI, DestinationNumberLengthList = 4, enabling".
[Set by HLR Admin].
Action: MS4(a) attempts a call to AAC4
Service logic: (i) There will be no service logic applicable if the triggering criteria has
been correctly implemented.
o2_2
DRA = AAC2
CON
Idle
Message-flow:
IDP(ServiceKey, MS 4(a) )
(i)
CON(AAC1 )
(ii)
CUE
msisdn = IDP.CalledPartyBCDNbr
locationInformation
subscriberState
gsmSCF-Address ATI
ATI
Res
No
DRA = AAC1
CON CUE
Idle
Message-flow:
SSP(b) SCP(a)
IDP(ServiceKey, TestNbr11 )
ERB(O_Answer )
t=10 sec.
RC(NormalCallClearing )
Preconditions: MS5(a) has location updated successfully in VPLMN(b). HLR entry for
MS5(a) contains "O-CSI". [Set by HLR Admin]
Action: MS5(a) attempts a call to TestNbr11 and waits until the call is
disconnected.
Service logic: IDP.calledPartyBCDNumber consists of TestNbr11:
The SCF alters the destination address to be that of Test
Announcement 3.
SCF sends RRBE([O_Answer, notify], [O_Disc, interrupted, legID=1],
[O_Disc, interrupted, legID=2])+CON. After reception of
ERB(O_Answer) SCF starts a timer of length 10 seconds. SCF sends
RC after expiration of this timer.
Result: Successful result if Test Announcement 3 is played to calling party and
the call is released after 10 ±1 seconds from SCP.
If the connection to Test Announcement 3 is not disconnected after 10 ±
1 seconds, the test has failed.
Comments: This test case checks correctly reporting of EDP-N7, O_Answer, and
the ability to arm EDP-N9, O_Disconnect. Additionally the operation of
RC is checked.
destinationRoutingAddress = AAC3
ABT ERB
eventTypeBCSM = oAnswer (7)
miscCallInfo
messageType = notification (1)
Start
Timer
Timer value = 10 sec.
Wait for
Timer
Expiration
Timer
ABT
expired
cause = normalCallClearing
RC
Idle
MSC
MS3(B)
MAP SRI
gsmSSF Release Release
(cause) (cause)
IDP
Release
Connect
(cause)
CSE
HLR(B)
Message-flow:
SSP(b) SCP(a)
IDP(ServiceKey,MS3(b) )
t=15sec
ERB(O_NoAnswer)
FCI (40byte FreeFormat ) +
CON(AAC1)
Message-flow:
SSP(b) SCP(a)
IDP(ServiceKey,MS3(b) )
Message-flow:
SSP(b) SCP(a)
IDP(ServiceKey,MS3(b) )
Message-flow:
SSP(b) SCP(a)
IDP(ServiceKey,VPLMN B )
ERB(O_RouteSelectFailure )
FCI (40byte FreeFormat ) +
CON(AAC1)
Preconditions: MS5(a) has location updated successfully in VPLMN(b). HLR entry for
MS5(a) contains "O-CSI". [Set by HLR Admin].
Action: MS5(a) attempts a call to a number in the number range of VPLMN B.
Note: The properties of the number to be dialled are described in the
Overview of this test case.
Service logic: CC + NDC of IDP.calledPartyBCDNumber differs from CC + NDC of
country (a): SCF sends RRBE ( [O_NoAnswer, Interrupted, leg2,
15sec], [O_Busy, Interrupted, leg2], [Route_Select_Failure, Interrupted,
leg2])+CUE.
bcsmEvents
bcsmEvent.eventTypeBCSM = oNoAnswer
Signals to/from the left
are to/from the SSP. bcsmEvent.monitorMode = interrupted
Signals to/from the right
are to/from SCP-internal
bcsmEvent.legID.sendingSide.legType = leg2
sub-processes. bcsmEvent.dpSpecificCriteria.applicationTimer = 15 [sec]
o2_4
bcsmEvent.eventTypeBCSM = oCalledPartyBusy
bcsmEvent.monitorMode = interrupted
bcsmEvent.legID.sendingSide.legType = leg2
RRBE + CUE
bcsmEvent.eventTypeBCSM = routeSelectFailure
bcsmEvent.monitorMode = interrupted
bcsmEvent.legID.sendingSide.legType = leg2
ERB
ERB ERB
ERB (oCalledPartyBusy,
(oCalledPartyBusy, (routeSelectFailu
(oNoAnswer) busyCause=notRea
busyCause=busy) re)
chable)
DRA = AAC1
CON
Idle
Message-flow:
SSP(b) SCP(a)
IDP(ServiceKey,TestNbr5 )
CIReq (callAttemptElapsedTime,callStopTime,callConnectedElapsedTime,releaseCause ) +
AC (maxCallPeriodDuration=5sec, TariffSwitchInterval=1sec, PartyToCharge=leg1 ) +
SCI (aOCInitial.CAIElements, aOCSubsequent.CAIElements, PartyToCharge=leg1 ) +
RRBE ([O_Disconnect,Notify,leg1], [O_Disconnect,Interrupted,leg2] ) +
CON(AAC5 )
t>CPD1
ACR (PartyToCharge,TimeIfNoTariffSwitch )
AC (maxCallPeriodDuration=5sec, PartyToCharge=leg1 )
t=CPD2
ACR (PartyToCharge,TimeIfNoTariffSwitch )
AC (maxCallPeriodDuration=5sec,tariffSwitchInterval=2sec, PartyToCharge=leg1 ) +
t=30sec SCI (aOCAfterAnswer.cAIElements, PartyToCharge=leg1 )
t=CPD3
ACR (PartyToCharge,TimeSinceLastTariffSwitch,tariffSwitchInterval )
AC (maxCallPeriodDuration=3600sec, PartyToCharge=leg1 )
t<CPD4
ACR (PartyToCharge,TimeSinceLastTariffSwitch,callActive=false) +
CIRep (callAttemptElapsedTime,callStopTime,callConnectedElapsedTime,releaseCause ) +
ERB (O_Disconnect,Interrupted,leg2 )
(i)
CON (AAC1 )
(ii)
CON (AAC2 )
ERB (O_Disconnect,Notify,leg1 ) *)
(i) When SCF has received ERB and if the correct call periods within the
ACRs and the correct callConnectedElapsedTime=TSIACR+TSLTS2
within CIRep was received, the SCF alters the destination address to be
that of Test Announcement 1 and establishes a reconnection.
(ii) If SCF does not receive the correct values within the ACRs and
CIRep, the SCF alters the destination address to be that of Test
Announcement 2 and establishes a reconnection.
Result: (i) Successful result if Test Announcement 1 is played to calling party
after about 30 seconds.
(ii) If after about 30 seconds Test Announcement 2 is played to calling
party, at least one parameter-value of ACR or CIRep was wrong and the
test has failed.
Comments: This test case confirms the correct reporting of four call periods. One
tariff switch occurs before answering the call and a second one in the
third call period. If AoCI is supported in VPLMN(b) and MS4(a) the
operation of SCI is checked; 12 ± 3 units should be displayed.
Additionally the operation of CIReq/CIRep is tested.
The following figure shows a schematic presentation of the AC- and
ACR-parameters used in this call scenario:
TS TS time
AC-parameter:
TSI1 CPD1
CPD2
CPD3
TSI3
t<CPD4
ACR-parameter:
TINTS1
TINTS2
TSI3
TSLTS3
TSLTS4
SCI.aOCInitial.CAIElements = Tariff_1 *)
Wait for ACR SCI.aOCSubsequent.CAIElements = Tariff_2 *)
SCI.partyToCharge.sendingSideID = leg1
RRBE.bcsmEvents.bcsmEvent.eventTypeBCSM = oDisconnect
RRBE.bcsmEvents.bcsmEvent.monitorMode = notify
ACR RRBE.bcsmEvents.bcsmEvent.legID.sendingSide.LegType=leg1
RRBE.bcsmEvents.bcsmEvent.eventTypeBCSM = oDisconnect
RRBE.bcsmEvents.bcsmEvent.monitorMode = interrupted
RRBE.bcsmEvents.bcsmEvent.legID.sendingSide.LegType=leg2
1 NO
CON.DRA = AAC5
YES
ACR.PartyToCharge = leg1
ACR.TINTS = 50 ± 10 [100 msec]
AC
ACR
ACR.PartyToCharge = leg1
ACR.TINTS = 100 ± 10 [100 msec]
1 NO
AC.timeDurationCharging.CPD = 50 [100 msec]
YES AC.timeDurationCharging.TSI = 2 [sec]
AC.partyToCharge.sendingSideID = leg1
ACR
ACR3.PartyToCharge = leg1
ACR3.TSLTS = 30 ± 30 [100 msec]
ACR3.TSI STORE VALUE
1 NO
AC
ACR4.PartyToCharge = leg1
ACR4.TSLTS + ACR3.TSI = 300 ± 30 [100 msec]
ACR4.CallActive = false
Wait for ACR
CIRep.CallAttemptElapsedTime received?
CIRep.CallStopTime received?
CIRep.CallConnectedElapsedTime = 300 ± 10 [100 msec]
ACR + CIRep CIRep.ReleaseCause received?
+ ERB
ERB.EventTypeBCSM = oDisconnect
ERB.legID.ReceivedSideID = leg2
NO
YES
CON.DRA = AAC2 CON.DRA = AAC1
CON CON
Idle
AC
ACR + CIRep
+ ERB
CON.DRA = AAC2
CON
Idle
Message-flow:
SSP(b) SCP(a)
IDP(ServiceKey,TestNbr7 )
CIReq (callAttemptElapsedTime,callStopTime,callConnectedElapsedTime,releaseCause,leg1 ) +
AC (maxCallPeriodDuration =15sec,TariffSwitchInterval =10sec,PartyToCharge=leg1 ) +
RRBE (O_Disconnect,Interrupted,leg2 ) +
CON (AAC5 )
t>CPD1
ACR (PartyToCharge,TimeSinceLastTariffSwitch,TariffSwitchInterval )
t=30sec
AC (maxCallPeriodDuration =86400sec,TariffSwitchInterval=86390sec, PartyToCharge=leg1)
(i)
CON (AAC1)
(ii)
CON (AAC2)
CIRep (callAttemptElapsedTime,callStopTime,callConnectedElapsedTime,releaseCause,leg1 )
Preconditions: MS4(a) has location updated successfully in VPLMN(b). HLR entry for
MS4(a) contains "O-CSI". [Set by HLR Admin]
Action: MS4(a) attempts a call to TestNbr7.
Service logic: IDP.calledPartyBCDNumber consists of TestNbr7:
The SCF alters the destination address to be that of Test
Announcement 5 and sends CIReq+AC(CPD=15sec,
TSI=10sec)+RRBE+CON. After reception of ACR AC(CPD=86400sec,
TSI=86390sec) is sent.
(i) If SCF receives ERB and if the correct call periods within the ACRs
was received, the SCF alters the destination address to be that of Test
Announcement 1 and establishes a reconnection.
(ii) If SCF does not receive the correct values within the ACRs the SCF
alters the destination address to be that of Test Announcement 2 and
establishes a reconnection.
Result: (i) Successful result if Test Announcement 1 is played to calling party
after about 30 seconds.
TS TS time
AC-parameter:
TSI1
CPD1
TSI2
t<CPD2
ACR-parameter:
TSI1 TSLTS1
TSLTS2
o2_6
CIReq.requestedInformationType.callAttemptElapsedTime
CIReq.requestedInformationType.callStopTime
CIReq.requestedInformationType.callConnectedElapsedTime
CIReq + AC + RRBE CIReq.requestedInformationType.releaseCause
+ CON CIReq.legID.sendingSideID = leg1
RRBE.bcsmEvents.bcsmEvent.eventTypeBCSM = oDisconnect
RRBE.bcsmEvents.bcsmEvent.monitorMode = interrupted
RRBE.bcsmEvents.bcsmEvent.legID.sendingSide.LegType=leg2
ACR
CON.DRA = AAC5
2 NO
ACR1.PartyToCharge = leg1
YES
ACR1.TSLTS + (ACR1.TSI *10) = 150 ± 10 [100 msec]
AC
AC.timeDurationCharging.CPD = 864000 [100 msec]
AC.timeDurationCharging.TSI = 86390 [sec]
AC.partyToCharge.sendingSideID = leg1
Wait for ACR
ERB.EventTypeBCSM = oDisconnect
NO ERB.legID.ReceivedSideID = leg2
YES
CON.DRA = AAC2 CON.DRA = AAC1
CON CON
CIRep
Idle
AC
ACR + ERB
CON.DRA = AAC2
CON
CIRep
Idle
Message-flow:
SSP(b) SCP(a)
IDP(ServiceKey,TestNbr6 )
t>CPD
ACR (PartyToCharge,TimeIfNoTariffSwitch,callActive =false)
Preconditions: MS4(a) has location updated successfully in VPLMN(b). HLR entry for
MS4(a) contains "O-CSI". [Set by HLR Admin]
Action: MS4(a) attempts a call to TestNbr6.
Check if a warning tone is played to calling party after about 10
seconds.
Service logic: IDP.calledPartyBCDNumber consists of TestNbr6:
The SCF alters the destination address to be that of Test
Announcement 3 and sends AC(CPD=40sec, RIDE.Tone) and CON.
Result: Successful result if the call is automatically released after 40±1
seconds.
Comments: This test case confirms that the call is released from VMSC in case
credit is used up and that a warning tone is played.
Due to CAMEL phase 2 a warning tone should be played 30 seconds
before maxCallPeriodDuration expires, if the parameter
“releaseIfDurationExceeded.Tone = true” is included in ApplyCharging
message.
02 7
Signals
t /f th l ft
AC.timeDurationCharging.CPD = 400 [100 msec]
AC.timeDurationCharging.releaseIfDurationExceeded.Ton
AC+ CON e
AC.partyToCharge.sendingSideID = leg1
CON.DRA = AAC3
Wa
ACR.partyToCharge.sendingSideID
ACR ACR.timeIfNoTariffSwitch
ACR.callActive = False
Idle
Message-flow:
IDP(ServiceKey,TestNbr10 )
ETC(assistingSSPIPRoutingAddress )
ISUP-IAM(CdPN = assistingSSPIPRoutingAddress)
ARI(correlationID,iPSSPCapabilities )
CTR(iPRoutingAddress) +
PA(messageID)
ISUP-ANM
SRR
DFC+CON(AAC1 )
ISUP-REL
ISUP-IAM(AAC1)
Preconditions: MS4(a) has location updated successfully in VPLMN(b). HLR entry for
MS4(a) contains "O-CSI". [Set by HLR Admin]
Action: MS4(a) attempts a call to TestNbr10.
Service logic: IDP.calledPartyBCDNumber consists of TestNbr10:
SCP sets up connection to assisting SSF using the operations ETC,
CTR and PA. After reception of ARI the SCP instructs the assisting SSF
to play a PLMN(a) specific IN-announcement via CTR+PA. An
announcement completed indication (SRR) triggers the service logic to
clear the connection to the assisting SSF and to connect to test
announcement 1: DFC+CON(AAC1).
Result: Successful result if calling party is first connected to an PLMN(a)
specific announcement and secondly to AAC1.
Comments: This test case confirms the operation of the assist procedure, in detail
the operation of ETC and DFC. A prerequisite for this IR test is that the
operations ARI, CTR, PA and SRR are tested within PLMN(a) and that
they work properly.
PLMN(a) is responsible to choose a proper IN-announcement and to set
up a proper assistingSSPIPRoutingAddress which will be converted into
the CdPA used in the IAM to set up the call from the SSP(b) to the
assisting SSF(a). HPLMN(a) may use a SRF instead of an assisting
SSF. In this case a CTR-message should not be sent.
It is expected that most networks will not be introducing ISUP2000 for
assistingSSPIPRoutingAddress = adjustable
ETC
correlationID
iPSSPCapabilities
ETCfaild ARI
CTR.resourceAddress CHOICE {
ipRoutingAddress
none
} = adjustable
CTR + PA PA.informationToSend.inbandInfo.messageID.
elementaryMessageID = adjustable
any error
SRR
indication
DFC
Idle
Message-flow:
SSP(b) SCP(a)
IDP(ServiceKey, AACx )
no answer to IDP
o2_9 o2_10
Idle Idle
Note: In case SCP implementation does not allow to send no answer to IDP an Abort
message should be sent.
Message-flow:
GMSC/ MSC/
MSC(b) SCP(a) HLR(a) BSC(b)
SSP(a) VLR(b)
IAM(MS5(a) ) SRI
SRI(T-CSI )
CON(MS5(a), SoA )
SRI(MSRN ) PRN(MSRN )
IAM(MSRN ) Paging
no answer to Paging
no announcement
REL REL
2: The outcome of the test case is only reliable in case PLMN(b) plays
an announcement on no paging response while SoA is not invoked.
t2_1
destinationRoutingAddress = IDP.calledPartyNumber *)
suppressionOfAnnouncement
CON
Idle
In case a HPLMN does not SS-CSI, this test is not valid. The VPLMN testing
personal is assumed to know whether the VPLMN supports the feature and
the test execution is sensible.
Message-flow:
AAC3/
MS4(a) VMSC(b) SSF(b) SCF(a)
AAC5 (a)
Setup (TestNbr12 ) IAM(TestNbr12 ) IDP(ServiceKey, TestNbr12 )
RRBE(O_Disc,interrupted,leg2 )+CON(AAC3 )
IAM(AAC3 )
call hold
CON(AAC5 )
IAM(AAC5 )
SS-Invocation-Notification Result
Disonnect REL RC
Preconditions: MS4(a) has location updated successfully in VPLMN(b). HLR entry for
MS4(a) contains “O-CSI” and “SS-CSI”. [Set by HLR Admin]
Action: MS4(a) makes a call to TestNbr12 and places the call on hold. MS4(a)
then initiates a call to TestNbr13 and invokes a Multi Party call.
Service logic: IDP calledPartyBCDNumber consists of TestNbr12:
The SCF alters the destination address to be that of Test
Announcement 3.
The SCF monitors for the call being disconnected and then sends
Connect.
IMSI = MS4(a)
MSISDN = MS4(a)
SS_Invocation SS-Event = multiPTY
_Notification
SS_Invocation
_Notification_
Result
Start
Timer
Timer value = 10 sec.
Wait for
Timer
Expiration
Timer
expired
cause = normalCallClearing
RC
Idle
Message-flow:
VLR /
MSC(b) GMSC(a) SCP(a) HLR(a) BSC(b)
SSP(b)
IAM(MS5(a) ) SRI
SRI(T-CSI,O-CSI )
IDP(ServiceKey,MS 5(a),TDP12 )
CON(MS5(a),SoA )
SRI PRN
SRI(MSRN ) PRN(MSRN )
IAM(MSRN ) Paging
... Alert
(i)
CON(AAC1 )
(ii)
CON(AAC2 )
(ii) If SCF has not received all required parameter within the IDP, the
SCF alters destination address to that of Test Announcement 2.
SCF sends CON.
Result: (i) Successful result if Test Announcement 1 is played to calling party.
Idle
Message-flow:
SSP(b) SCP(a)
IDP(ServiceKey, TestNbr9 )
CON(DN(c) )
o2_12
DRA = DN(c)
CON
Idle
Message-flow:
SSP(b) SCP(a)
IDP(ServiceKey, TestNbr9 )
CON(DN(c) )
General
For some of the test cases in this chapter the successful transmission of a SM
is required. It is the responsibility of the HPLMN to configure its SMSC to allow
the submission and delivery of SMs from and to the SIMs used for these tests.
The specified tests are valid for a GSM-CS- and a GPRS-environment. To
verify that the mentioned CAMEL Phase 3 information flows work in both
cases it is necessary to execute the tests for the MSC/VLR switching and
SGSN switching, as different elements are involved.
In some of the test cases in this chapter Test Numbers are used for SMSC-
addresses. These Test Numbers are short codes which will be translated to
valid SMSC-addresses by the service logic.
Idle
Signals to/from the left
are to/from the gsmSSP/
gprsSSP.
IDP_SMS
Analyse SMSCAddress
SMSCAddress = TestNbr14
sm3_1
SMSCAddress = TestNbr16
sm3_5
SMSCAddress = HPLMN_SMSC
Analyse
DestinationSubscriberNumber
CC + NDC of DestSubscriberNbr
differs from CC + NDC of country (a)
sm3_4
CC + NDC of
DestSubscriberNbr equals
CC + NDC of country (a)
Analyse
CallingPartyNumber
DestinationSubscriberNumber
equals CallingPartyNumber
sm3_3
DestinationSubscriberNumber
differs from CallingPartyNumber
sm3_2
Message-flow:
VLR(b)/
HLR(a)
SGSN(b)
updateLocation
ISD(SMS-CSI)
ISD Res(supportedCamelPhases)
updateLocation Res
Overview:
MS7(a) registers in VPLMN(b). The successful insertion of subscriber data –
example: SMS-CSI – in the VLR/SGSN is verified.
Overview:
MS8(a) registers in VPLMN(b). It is verified, that the required subscriber profile
for MS8(a) – e.g.: SMS-CSI – is available.
Message-flow:
gsmSSF(b)/ SCF(a)
gprsSSF(b)
(i)
CON_SMS(DestSubscriberNumber=MS8(a), CallingPartyNumber=TestNbr15, SMSCAddress=HPLMN_SMSC)
(ii)
CON_SMS(DestSubscriberNumber=MS7(a), CallingPartyNumber=TestNbr15, SMSCAddress=HPLMN_SMSC)
(ii) If no SM is received the test has failed. If MS7(a) receives the SM, at
least one parameter of the IDP_SMS is missing and the test has failed.
Comments: This test case confirms the operation of InitialDPSMS and ConnectSMS
and ensures that all mandatory parameters are present in InitialDPSMS.
If no SM is received a fundamental error has occurred and it has to be
sorted out before continuation of tests.
Note: The SMSCAddress (TestNbr14) sent by MS8(a) is a short code
that is going to be translated by SCF to a valid SMSCAddress.
Idle
Note: LocationInformation in SGSN and MSC are mutually exclusive. Location information
should always be available - at least the VLR number or SGSN number. Additional
parameter may be included in InitialDPSMS.
Message-flow:
gsmSSF(b)/
SCF(a)
gprsSSF(b)
REL_SMS
RPCause = ShortMessagTransferRejected
REL_
SMS
Idle
Message-flow:
gsmSSF(b)/ SCF(a)
gprsSSF(b)
no answer to IDP
sm3_3
Idle
Note: In case SCF implementation does not allow to send no answer to IDP_SMS an Abort
message should be sent.
Message-flow:
gsmSSF(b)/ SCF(a)
gprsSSF(b)
ER_SMS(O_SMS_Submitted)
CUE_ SMS
ERB_SMS
SCF-initiated SM is supported
NO
Receiver: IDPgprs.mSISDN
YES SM-content: "DP O_SMS_Submitted reported; the
test is passed."
Initiate SM
Idle
2.3.1.6 Barring of outgoing international calls except to HPLMN country for SMS
(BOICexHC) (optional)
Overview:
MS7(a) sends a SM to TestNbr16. The Supplementary Service “Barring of
outgoing international calls except those directed to the HPLMN country”
applies to MS7(a) for SMS (Teleservice 20). SCF alters the SMSC address to
a SMSC located in country(c). It is checked that BOICexHC is executed
correctly after mobile originated CAMEL service invocation.
This test depends on the possibility to use a SMSC not belonging to the
VPLMN nor HPLMN, but which will correctly deliver the messages it receives.
Message-flow:
gsmSSF(b)/ SCF(a)
gprsSSF(b)
ER_SMS(O_SMS_Failure, notify)
SMSEvents
SMSEvent
RR_SMS_ eventTypeSMS = o-smsFailure (2)
Event monitorMode = notifyAndContinue (1)
SMSCAddress = country(c)_SMSC
CON_ SMS
ERB_SMS
SCF-initiated SM is supported
NO
Receiver: IDPgprs.mSISDN
YES SM-content: "DP O_SMS_Failure reported; the test is
passed."
Initiate SM
Idle
There is no requirement for the application to download a certain amount of data. In most of
the tests the SCF will release the PDP context as soon as a certain amount of data is
transmitted. To achieve this the application has to provide the possibility to transfer 50kByte
or more. It should easily be able for the tester to download such an amount of data.
In addition HPLMN(a) should take care to choose an application which does not require very
specific tools to be accessed because these tools have to be used by the tester during
testing. It is recommended to use an Internet access or FTP.
The message flow may marginally differ from the one included in the test cases. This
particularly applies to the TCAP handling.
Idle
Signals to/from the left
are to/from the gprsSSP.
IDP_GPRS
Analyse gprsEventType
gprsEventType = attach
gp3_7
Analyse AccessPointName
APN = TestAPN1
gp3_1
APN = TestAPN2
gp3_2
APN = TestAPN3
gp3_3
APN = TestAPN4
gp3_4
APN = TestAPN5
gp3_5
APN = TestAPN6
gp3_6
1gprs
Figure 9: Entry process for GPRS service logic: CAMEL Phase 3 (part 1 of 2)
APN = TestServer1
gp3
_12
APN = TestAPN10
gp3
_13
APN = TestAPN9
gp3
_14
Figure 9: Entry process for GPRS service logic: CAMEL Phase 3 (part 2 of 2)
2.3.2.1 GPRS-Attach
Message-flow:
SGSN(b) HLR(a)
updateLocation
ISD(GPRS-CSI)
ISD Res(supportedCamelPhases)
updateLocation Res
2.3.2.2.1 Check used Volume, 2 PDP context periods, tariffSwitch after PCD
Overview:
MS7(a), GPRS attached in VPLMN(b), sets up a PDP context to TestAPN1
and is connected to TestServer1. MS7(a) transfers data. If the transferred
volume in the PDP context periods is reported correctly and all mandatory
parameter are included in InitialDPGPRS SCF releases the PDP context after
transmission of 5 Kbytes. Otherwise PDP context is continued. The operation
of the CAP3-information flows FurnishChargingInformationGPRS,
RequestReportGPRSEvent, ConnectGPRS, EventReportGPRS,
ApplyChargingGPRS, ApplyChargingReportGPRS, ContinueGPRS and
ReleaseGPRS is verified.
Message-flow:
gprsSSF(b) SCF(a)
TC_CUE{ERgprs(PCEack, interrupted)}
TC_END
TC_Begin{ACRgprs(VolINTS)}
TC_END
TC_Begin{ACRgprs(VolINTS)}
(i)
TC_CUE{ReturnResult(ACRgprs) + FCIgprs(20 byte FreeFormatData) + Rgprs(GPRSCause)}
TC_END
(ii)
TC_CUE{ReturnResult(ACRgprs) + ACgprs(MTVol=1MByte)}
TC_END
...
(ii) ACgprs(MTVol=1.000.000byte) if
transferred volume values are not received correctly OR
mandatory parameter are missing in IDPgprs
Result: (i) Successful result if data transfer is released after 5000 ± 500 byte.
ERgprs.GPRSEventType =
pdp-ContextEstablishmentAcknowledgement (12)
1 NO
YES
ACgprs.ChargingCharacteristics.maxTransferredVolume =
ReturnResult(ERgprs) + 2500 [byte]
ACgprs + CUEgprs
ACRgprs
ACRgprs.ChargingResult.TransferredVolume.
volumeIfNoTariffSwitch = 2500 ± 250 [byte]
1 NO
YES ACgprs
ChargingCharacteristics
ReturnResult(ACgprs) + maxTransferredVolume = 2500 [byte]
ACgprs tariffSwitchInterval = 3600 [sec]
ACRgprs
ACRgprs.ChargingResult.TransferredVolume.
volumeIfNoTariffSwitch = 5000 ± 500 [byte]
1 NO
YES
Idle
YES
ACgprs.ChargingCharacteristics.maxTransferredVolume =
ReturnResult(ACRgprs) + 1 000 000 [byte]
ACgprs
Idle
Notes:
* Additional parameter may be included in IDPgprs. This still leads to exit “yes”.
* The 10 byte FreeFormatData of the first FCIgprs information flow should differ from the first
10 byte of the second FCIgprs to make clear that the FreeFormatData of first FCIgprs got
overwritten.
2.3.2.2.2 Check used Volume, 3 PDP context periods, tariffSwitch in 2nd period
Overview:
MS7(a), GPRS attached in VPLMN(b), sets up a PDP context to TestAPN2
and is connected to TestServer1. MS7(a) transfers data. A tariff switch occurs
in the second PDP context period. If the transferred volume in the PDP
context periods is reported correctly SCF releases the PDP context after
transmission of 30 Kbytes. Otherwise PDP context is continued.
Message-flow:
gprsSSF(b) SCF(a)
TC_Begin{IDPgprs(ServiceKey, GPRSEventType=PCE, APN=TestAPN2)}
TC_CUE{ERgprs(PCEack, interrupted)}
TC_END
TC_Begin{ACRgprs(VolINTS1) + ACRgprs(TgprsINTS1)}
TC_CUE{ReturnResult(ACRgprsVol) + ReturnResult(ACRgprsTime) +
ACgprs(MTVol=20kByte,TSI=2sec) + ACgprs(METime=3600sec,TSI=2sec)}
TC_END
TC_Begin{ACRgprs(VolSLTS2,VolTSI2) + ACRgprs(TgprsSLTS2,TgprsTSI)}
TC_CUE{ReturnResult(ACRgprsVol) + ReturnResult(ACRgprsTime) +
ACgprs(MTVol=5kByte) + ACgprs(METime=3600sec)}
TC_END
TC_Begin{ACRgprs(VolSLTS3) + ACRgprs(TgprsSLTS3)}
(i)
TC_CUE{ReturnResult(ACRgprsVol) + ReturnResult(ACRgprsTime) + Rgprs(GPRSCause)}
TC_END
TC_END
...
RRgprsE
Signals to/from the left gp3_2 gprsEvent
are to/from the SSP.
GPRSEventType = pdp-ContextEstablishmentAck (12)
MonitorMode = interrupted (0)
RRgprsE + gprsEvent
CONgprs GPRSEventType = disconnect (13)
MonitorMode = interrupted (0)
CONgprs.AccessPointName = TestServer1
Wait for ERgprs
ERgprs
YES ACgprs.ChargingCharacteristics.maxTransferredVolume =
5000 [byte]
ReturnResult(ERgprs) +
ACgprs(Vol) + ACgprs.ChargingCharacteristics.maxElapsedTime =
ACgprs(Time) 3600 [sec]
ACRgprs(Vol) +
ACRgprs(Time) ACRgprs.
chargingResult
TransferredVolume
volumeIfNoTariffSwitch1 = 5000 ± 500 [byte]
1 NO
ACgprs
YES ChargingCharacteristics.maxTransferredVol = 20000 [byte]
tariffSwitchInterval = 2 [sec]
ReturnRes(ACRgprs(Vol)) +
ReturnRes(ACRgprs(Time)) + ACgprs
ACgprs(Vol) +ACgprs(Time) + ChargingCharacteristics.maxElapsedTime = 3600 [sec]
CUEgprs tariffSwitchInterval = 2 [sec]
ACRgprs(Vol) +
ACRgprs(Time)
ACRgprs.TransferredVolume.volumeSinceLastTariffSwitch2 +
ACRgprs.TransferredVolume.volumeTariffSwitchInterval2 =
25000 ± 2500 [byte]
1 NO
YES
ACgprs.ChargingCharacteristics.maxTransferredVolume =
5000 [byte]
ReturnResult(ACRgprs(Vol)) +
ReturnResult(ACRgprs(Time)) ACgprs.ChargingCharacteristics.maxElapsedTime =
+ ACgprs(Vol) +ACgprs(Time) 3600 [sec]
ACRgprs(Vol) +
ACRgprs(Time)
ACRgprs.TransferredVolume.volumeSinceLastTariffSwitch3 +
ACRgprs.TransferredVolume.volumeTariffSwitchInterval2 =
30000 ± 3000 [byte]
1 NO
YES
Idle
ACgprs.ChargingCharacteristics.maxTransferredVolume =
1 000 000 [byte]
ReturnResult(ACRgprs(Vol)) +
ReturnResult(ACRgprs(Time)) ACgprs.ChargingCharacteristics.maxElapsedTime =
+ ACgprs(Vol) +ACgprs(Time) 3600 [sec]
Idle
2.3.2.2.3 Check used Time, 2 PDP context periods, tariffSwitch in 1st period
Overview:
MS7(a), GPRS attached in VPLMN(b), sets up a PDP context to TestAPN3
and is connected to TestServer1. MS7(a) transfers data. A tariff switch occurs
in the first PDP context period. If the elapsed time in the first and the second
PDP context period is reported correctly SCF releases the PDP context after
15 seconds. Otherwise PDP context is continued.
Message-flow:
gprsSSF(b) SCF(a)
TC_CUE{ERgprs(PCEack, interrupted)}
TC_END
TC_Begin{ACRgprs(TgprsSLTS1,TgprsTSI1)}
TC_END
TC_Begin{ACRgprs(TgprsSLTS2)}
(i)
TC_CUE{ReturnResult(ACRgprsTime) + Rgprs(GPRSCause)}
TC_END
TC_CUE{ReturnResult(ACRgprsTime) + ACgprs(METime=3600sec)}
(ii)
TC_END
...
ERgprs.GPRSEventType =
pdp-ContextEstablishmentAcknowledgement (12)
1 NO
YES ACgprs
ChargingCharacteristics.maxElapsedTime = 10 [sec]
ReturnResult(ERgprs) + tariffSwitchInterval = 2 [sec]
ACgprs + CUEgprs
ACRgprs ACRgprs
chargingResult
elapsedTime
timeGPRSIfTariffSwitch
timeGPRSSinceLastTariffSwitch1 = 8 ± 1 [sec]
1 NO timeGPRSTariffSwitchInterval1 = 2 ± 1 [sec]
YES
FCIgprs
FreeFormatData 39 byte
appendFreeFormatData = append (1)
ReturnResult(ACRgprs) +
FCIgprs + ACgprs ACgprs.ChargingCharacteristics.maxElapsedTime = 5 [sec]
ACRgprs
YES
Idle
ACgprs.ChargingCharacteristics.maxElapsedTime =
ReturnResult(ACRgprs) + 3600 [sec]
ACgprs
Idle
2.3.2.2.4 Check used Time, 3 PDP context periods, tariffSwitch in 2nd period
Overview:
MS7(a), GPRS attached in VPLMN(b), sets up a PDP context to TestAPN4
and is connected to TestServer1. MS7(a) transfers data. A tariff switch occurs
in the second PDP context period. If the elapsed time in the first and the
second PDP context periods is reported correctly SCF grants new time and
volume and continues the PDP context. MS7(a) initiates PDP context
disconnection.
Message-flow:
SGSN(b) SCP(a)
TC_CUE{ERgprs(PCEack, interrupted)}
TC_END
TC_Begin{ACRgprs(VolINTS1) + ACRgprs(TgprsINTS1)}
TC_CUE{ReturnResult(ACRgprsVol) + ReturnResult(ACRgprsTime) +
ACgprs(MTVol=100MByte,TSI=2sec) + ACgprs(METime=10sec,TSI=2sec)}
TC_END
TC_Begin{ACRgprs(VolSLTS2,VolTSI2) + ACRgprs(TgprsSLTS2,TgprsTSI2)}
TC_END
TC_END
(ii)
TC_CUE{ReturnResult(ACRgprsVol) + ReturnResult(ACRgprsTime) + Rgprs(GPRSCause)}
TC_END
(ii) Rgprs if the elapsed time values are not reported correctly.
Result: (i) Successful result if PDP context remains active for more than 20
seconds.
Comments: This test case confirms the correct reporting of transferred volume of
two periods within a PDP context. A tariff switch occurs in the second
PDP context period.
It is also possible for the tester to check whether the GPRSevent
Disconnect has been properly reported to the SCF by checking the
ERgprs message after MS7(a) has disconnected the PDP context. For
this it is necessary to use a Protocol Analyser. This part of the test case
is optional.
RRgprsE
Signals to/from the left
are to/from the SSP. gp3_4 gprsEvent
GPRSEventType = pdp-ContextEstablishmentAck (12)
MonitorMode = interrupted (0)
RRgprsE + gprsEvent
CONgprs GPRSEventType = disconnect (13)
MonitorMode = interrupted (0)
CONgprs.AccessPointName = TestServer1
Wait for ERgprs
ERgprs
ERgprs.GPRSEventType =
pdp-ContextEstablishmentAcknowledgement (12)
1 NO
ACgprs
YES
ChargingCharacteristics
maxTransferredVolume = 4 000 000 000 [byte]
ReturnResult(ERgprs) +
ACgprs(Vol) + ACgprs
ACgprs(Time) + CUEgprs ChargingCharacteristics
maxElapsedTime = 5 [sec]
ACRgprs(Vol) +
ACRgprs(Time) ACRgprs
chargingResult
elapsedTime
timeGPRSIfNoTariffSwitch = 5 ± 1 [sec]
1 NO
YES
ACgprs
ReturnResult(ACRgprs(Vol)) + ChargingCharacteristics
ReturnResult(ACRgprs(Time)) + maxTransferredVolume = 100 000 000 [byte]
ACgprs(Vol) + ACgprs(Time) tariffSwitchInterval = 2 [sec]
ACgprs
ChargingCharacteristics
Wait for 2 ACRgprs maxElapsedTime = 10 [sec]
tariffSwitchInterval = 2 [sec]
ACRgprs(Vol) +
ACRgprs(Time)
YES
ReturnResult(ACRgprs(Vol)) + ACgprs
ReturnResult(ACRgprs(Time)) + ChargingCharacteristics
ACgprs(Vol) + ACgprs(Time) maxTransferredVolume = 10 000 000 [byte]
ACgprs
ChargingCharacteristics
Wait for 2 ACRgprs + maxElapsedTime = 86 400 [sec]
ERgprs
ACRgprs(Vol) +
ACRgprs(Time) +
ERgprs
ReturnResult(ACRgprs(Vol)) +
ReturnResult(ACRgprs(Time)) +
ReturnResult(ERgprs) +
CUEgprs
Idle
Idle
Message-flow:
gprsSSF(b) SCF(a)
TC_CUE1{ERgprs(PCEack, interrupted)}
TC_END1
TC_CUE2{ERgprs(PCEack, interrupted)}
TC_END2
TC_Begin1{ACRgprs(VolINTS)}
(i)
TC_CUE1{ReturnResult(ACRgprs) + Rgprs(GPRSCause)}
TC_END1
(ii)
TC_CUE1{ReturnResult(ACRgprs) + ACgprs(MTVol=1MByte)}
TC_END1
...
gprsSSF(b) SCF(a)
TC_Begin2{ACRgprs(VolINTS)}
(i)
TC_CUE2{ReturnResult(ACRgprs) + Rgprs(GPRSCause)}
TC_END2
(ii)
TC_CUE2{ReturnResult(ACRgprs) + ACgprs(MTVol=1MByte)}
TC_END2
...
Preconditions: MS7(a) is GPRS-Attached in VPLMN(b). (MS in STANDBY or READY
state)
No valid PDP contexts are established in MS7(a).
MS7(a) is connected to a device (e.g. a laptop) providing an application
to use the data-transfer-services provided by HPLMN(a) (e.g.
WAP,ftp,WWW).
Action: MS7(a) performs “Activate PDP Context Request” to TestAPN5
MS7(a) performs “Activate PDP Context Request” to TestAPN6
MS7(a) transmits data using a service provided by HPLMN(a) within
PDP Context 1.
MS7(a) transmits data using a service provided by HPLMN(a) within
PDP Context 2.
Service logic: IDPgprs.accessPointName consists of TestAPN5:
The SCF alters the APN to be that of Test Server 1 and sends
RRgprsE + CONgprs.
When ERgprs(PCE-ack) is received SCF sends
ACgprs(MTVol=5.000byte) + CUEgprs.
When ACRgprs(VolINTS) is received SCF sends
RRgprsE + gprsEvent
CONgprs GPRSEventType = disconnect (13)
MonitorMode = interrupted (0)
CONgprs.AccessPointName = TestServer1
Wait for ERgprs
ERgprs
ERgprs.GPRSEventType =
pdp-ContextEstablishmentAcknowledgement (12)
1 NO
YES
ACgprs
ChargingCharacteristics
ReturnResult(ERgprs) + maxTransferredVolume = 5 000 [byte]
ACgprs + CUEgprs
ACRgprs
ACRgprs
chargingResult
transferredVolume
volumeIfNoTariffSwitch = 5 000 ± 500 byte
1 NO
YES
Idle
RRgprsE
Signals to/from the left
are to/from the SSP. gp3_6 gprsEvent
GPRSEventType = pdp-ContextEstablishmentAck (12)
MonitorMode = interrupted (0)
RRgprsE + gprsEvent
CONgprs GPRSEventType = disconnect (13)
MonitorMode = interrupted (0)
CONgprs.AccessPointName = TestServer2
Wait for ERgprs
ERgprs
ERgprs.GPRSEventType =
pdp-ContextEstablishmentAcknowledgement (12)
1 NO
YES
ACgprs
ChargingCharacteristics
ReturnResult(ERgprs) + maxTransferredVolume = 10 000 [byte]
ACgprs + CUEgprs
ACRgprs
ACRgprs
chargingResult
transferredVolume
volumeIfNoTariffSwitch = 10 000 ± 1 000 byte
1 NO
YES
Idle
ACgprs
ChargingCharacteristics
ReturnResult(ACRgprs) + maxTransferredVolume = 1 000 000 [byte]
ACgprs
ACRgprs +
ERgprs
ReturnResult(ACRgprs) +
ReturnResult(ERgprs) +
CUEgprs
Idle
RRgprsE
Signals to/from the left gprsEvent
are to/from the SSP. gp3_7
GPRSEventType = pdp-ContextEstablishmentAck (12)
MonitorMode = interrupted (0)
gprsEvent
RRgprsE +ACgprs + GPRSEventType = detached (3)
CUEgprs MonitorMode = notifyAndContinue (1)
ACgprs
ChargingCharacteristics
Wait for ERgprs maxElapsedTime = 3 600 [sec]
ERgprs
Analyse
AccessPointName and PDPID
gp3_8
gp3_9
gp3
any other case (Error exit) _10
ReturnResult(ERgprs) +
Rgprs
Rgprs
gprsCause = Unspecified (0)
pDPID = ERgprs.pdpID
Idle
Message-flow:
SGSN(b) SCF(a)
TC_Begin{IDPgprs(ServiceKey, GPRSEventType=attach)}
TC_END
TC_END
TC_END
(i)
TC_CUE{ReturnResult(ACRgprs) + Rgprs(GPRSCause, PDPID = 1)}
TC_END
(ii)
TC_CUE{ReturnResult(ACRgprs) + ACgprs(MTVol=1MByte, PDPID = 1)}
TC_END
...
SGSN(b) SCF(a)
(i)
TC_CUE{ReturnResult(ACRgprs) + Rgprs(GPRSCause, PDPID = 2)}
TC_END
(ii)
TC_CUE{ReturnResult(ACRgprs) + ACgprs(MTVol=1MByte, PDPID = 2)}
TC_END
...
TC_Begin{ACRgprs(TgprsINTS)}
TC_END{ReturnResult(ACRgprs)}
ACgprs
ChargingCharacteristics
maxTransferredVolume = 5 000 [byte]
ReturnResult(ERgprs) + pDPID =1
ACgprs + CONgprs
CONgprs.AccessPointName = TestServer1
ACRgprs
ACRgprs
chargingResult
gp3 transferredVolume
NO
_e1 volumeIfNoTariffSwitch = 5 000 ± 500 [byte]
YES
Rgprs
gprsCause = Unspecified (0)
ReturnResult(ACRgprs) +
pDPID =1
Rgprs
gp3
_11
ACgprs
ChargingCharacteristics
maxTransferredVolume = 10 000 [byte]
ReturnResult(ERgprs) + pDPID =2
ACgprs + CONgprs
CONgprs.AccessPointName = TestServer2
ACRgprs
ACRgprs
chargingResult
gp3 transferredVolume
NO
_e1 volumeIfNoTariffSwitch = 10 000 ± 1 000 [byte]
YES
Rgprs
gprsCause = Unspecified (0)
ReturnResult(ACRgprs) +
pDPID =2
Rgprs
gp3
_11
ACgprs
ChargingCharacteristics
ReturnResult(ACRgprs) + maxTransferredVolume = 1 000 000 [byte]
ACgprs pDPID = ACRgprs.PDPID
ReturnResult(ACRgprs)
gp3
_11
ReturnResult(ACRgprs)
SCF-initiated SM is supported
NO YES
Receiver: IDPgprs.mSISDN
SM content: "ACgprs received. SGSN(b) reported
that MS8(a) was attached for
Initiate SM <ACRgprs.TgprsINTS> seconds."
Idle
Message-flow:
SGSN(b) SCF(a)
TC_Begin{IDPgprs(ServiceKey, GPRSEventType=attach)}
TC_END
TC_Abort
TC_Abort
Idle
2.3.2.4 Check Default GPRS handling set to release within CAMEL Scenario 2
Message-flow:
gprsSSF(b) SCF(a)
TC_Abort
TC_Abort
Idle
Message-flow:
gprsSSF(b) SCF(a)
TC_CUE{ERgprs(PCEack, interrupted)}
TC_CUE{ReturnRes(ERgprs) + CUEgprs}
TC_END
t = 10 sec
TC_Abort
RRgprsE + gprsEvent
CONgprs GPRSEventType = pdp-ContextChangeOfPosition (14)
MonitorMode = interrupted (0)
CONgprs.AccessPointName = TestServer1
Wait for ERgprs
ERgprs
ReturnResult(ERgprs) +
CUEgprs
Start
Timer
Timer value = 10 sec
Timer
expired
TC_Abort
Idle
Message-flow:
gprsSSF(b) SCF(a)
TC_END
TC_Begin{ERELgprs(GPRScause)}
TC_CUE{ReturnResult(ERELgprs)}
TC_END
gp3
Signals to/from the left
are to/from the SSP. _14
RRgprsE
gprsEvent
GPRSEventType = pdp-ContextChangeOfPosition (14)
RRgprsE + MonitorMode = notifyAndContinue (1)
CONgprs
CONgprs.AccessPointName = TestServer1
Wait for
ERELgprs
ERELgprs
ReturnResult(ERELgprs)
SCF-initiated SM is supported
Idle
Mobility management features in CAMEL Phase 3 provide notification service from the VLR
to the IN server, based on MAP V3. Following events are used to trigger notification:
• IMSI Attach
• MS initiated IMSI detach (explicit detach)
• Location update in the same VLR service area
• Location update to another VLR service area
• Network initiated IMSI detach (implicit detach).
It is generally understood that the roaming tester is not expected to perform test requiring
change of area or wait for a network initiated IMSI detach. Nevertheless, Mobility
Management features based on physical mobility are proposed to be tested, on bilateral
understanding between HPLMN and VPLMN.
If supported by the gsmSCF, the test result will be sent to the test SIM card using a Short
Message.
Idle
2.3.3.1 IMSI Attach, IMSI Detach and Location update in the same VLR area with
the same LAI
Overview:
MS7(a) registers in VPLMN(b). Afterwards the MS is switched off. The
presence of subscriber data (M-CSI) in the VLR is verified as well as
notification to gsmSCF due to events “IMSI Attach” and “MS initiated IMSI
detach”.
Message flow:
MS switched on
Updating Location Request (IMSI Attach)
InsertSubscriberData(M-CSI)
InsertSubscriberData ack
MS switched off
Note MM Event(event met=IMSI detach)
2.3.3.2 Location update by MS7(a) in the same VLR of VPLMN(b) with different
LAI (optional)
Overview:
MS7(a) registered in VPLMN(b) moves to another Location Area within the
same VLR service area, thus provoking a new update location. Notification to
SCP on update location in the same VLR service area is verified.
Message flow:
MS moves to another LA
within the same VLR
Overview:
MS7(a) registered in VPLMN(b) moves towards a new VLR service area.
Notification to gsmSCF on update location in the new VLR service area is
verified.
Message flow
Send Identification
Cancel Location
InsertSubscriberData(M-CSI)
InsertSubscriberData ack
3 Equipment Requirements
The Equipment described in this section is necessary for undertaking the test cases
described in section 2.
3.1 General
It is expected that manual selection will be used to select VPLMN(b) when using the SIM
cards supplied by HPLMN(a). To facilitate subsequent automatic selection it is required that
bits b6 and b5 of byte 2 of the SIM Service Table (Data-field 38) be set to “1”, and the
chosen VPLMN is in the PLMN Selector (Data-field 30).
In order to replicate the service that normal roamers will encounter, it is required that any SIM
used in the tests shall have one access class out of the classes 0-9 defined. No other access
class (e.g. 10 or 11-15) shall be defined.
It is recommended that on any new SIM the Location Update Status field is set to “Status not
updated” before the tests start (bit b2 set to “0” and bit b1 set to “1”, of byte 11 of Data-field
7E).
The supply of additional SIM cards may be agreed by the HPLMN(a) and VPLMN(b),
typically for the purposes of:
• Spare cards in case of failure
• Allocation from different HLRs
For the service key of the originating and the terminating test service different values have to
be chosen. These service keys have to differ from the service keys used for CAMEL phase 2
testing.
For the service key of the originating and the terminating test service different values have to
be chosen. These service keys have to differ from the service keys used for CAMEL phase 1
testing.
The supply of additional SIM cards may be agreed by the HPLMN(a) and VPLMN(b),
typically for the purposes of:
• spare cards in case of failure
• allocation from different HLRs
The service keys used for SMS originating tests have to differ from the service keys used for
the other tests.
The destination numbers of the Test Announcements: AAC1, AAC2, AAC3, AAC4 and AAC5
The service keys used for the originating and the terminating test service for CAMEL phase 1
and 2
Note: The Test Numbers – TestNbr1, TestNbr2, ... – are predefined numbers specified in the
Annex.
END OF SPECIFICATION
Appendix A
A.1 Protocol information flows and features reference list
Note: “used” means, that the information flow is used inside HPLMN(a) during execution of a
test case but is not tested across the international interface.
Ann. DTMF
Text of announcement Duration Dialled in test case
Number tones
1 01 “Test is passed” Repeat for at least 2.1.6.1
two times
2 02 “Test is failed” Repeat for at least 2.1.6.2, 2.2.8.2
two times
3 03 “Test is proceeding” Repeat for a 2.1.8.1 (CF-Number)
minimum duration
of 1 minute
4 04 “Test is passed” Repeat for at least 2.2.2.2
two times
5 05 “Test is proceeding. The Repeat for a -- (Not dialled)
announcement will be duration of exactly
disconnected after 30 30 seconds
seconds.”
End of Appendix A