1 Introduction

This document outlines the test plan for testing the interoperability between PortaOne OCS and YateBTS P-GW (TT#603079).   

2 System information

2.1 Peers

PeerRelease

Origin-Realm

Origin-Host

IP address

Transport

Port

OCSMR66-0portaone.comocs.portaone.com
193.xxx.xxx.167
TCP3868
P-GW
epc.mnc001.mcc001.3gppnetwork.orgucn.epc.mnc001.mcc001.3gppnetwork.org83.xxx.xxx.79TCPrandom

2.2 User Identification

Attribute
User-Name-

END_USER_E164

882801004

2.3 Predefined Charging Rule Names

NameNotes
--

2.4 Predefined Rating Group names

NameGy Value

Notes

RG11Paid
RG22Free

2 Test Cases

#Test Script IDCase NameDescriptionResultTesterComments/BugsDate
1.CER

Connection Establishment and Capabilities Exchange (CER/CEA)

Verify that a Diameter peer is successfully established.

PASSED


05.12.2017
2.DPR

Disconnect Peer (DPR/DPA)

Verify that disconnect between peers is properly acknowledged.

PASSED


05.12.2017
3.TS013G session - diameter/interconnectivity3G session - diameter/interconnectivity

PASSED


05.12.2017
4.TS023G session - establish connection3G session - establish connection

PASSED


05.12.2017
5.TS033G session - rejected connection for nonexistent subscriber3G session - rejected connection for nonexistent subscriber

PASSED


05.12.2017
6.TS03.a3G session - hotlined connection for expired, blocked, suspended subscriber3G session - hotlined connection for expired, blocked, suspended subscriber

PASSED


07.12.2017
7.TS043G session - billing session3G session - billing session

PASSED


05.12.2017
8.TS04.a3G session - billing for multiple rating groups within a session3G session - billing for multiple rating groups within a session

PASSED


05.12.2017
9.TS053G session – session is hotlined once quota is depleted3G session – session is hotlined once quota is depleted

PASSED


07.12.2017
10.TS063G session - hotlined connection when insufficient funds3G session - hotlined connection when insufficient funds

PASSED


07.12.2017
11.TS073G session - Validity-Time support3G session - Validity-Time support

PASSED


05.12.2017
12.TS083G session - Session re-establishment upon payment3G session - Session re-establishment upon payment

PASSED


07.12.2017
13.TS093G session - Volume-Quota-Threshold support3G session - Volume-Quota-Threshold support

PASSED


05.12.2017

PASSED - without issues

PASSED (M) - with minor issues (the reason should be described in "Comments/Bugs" column)

PASSED (C) - with critical issues (the reason should be described in "Comments/Bugs" column)

FAILED - issues are too critical (the reason should be described in "Comments/Bugs" column)

PENDING - is not started yet

3 Test Cases description and results

3.1 Connection Establishment and Capabilities Exchange (CER/CEA)

This case is aimed to verify Diameter connection between PortaOne OCS and test P-GW. 

3.2 Disconnect Peer (DPR/DPA)

Disconnect-Peer-Request (DPR) can be originated by any of peers. It is needed to check both cases. 

3.3 Diameter/interconnectivity

In this case basic CC exchange is going to be checked. P-GW should send CCR-I, OCS - CCA-I.

Step IDTest Data SpecificationREALMStep descriptionExpected ResultsResult Data
1

Subscriber identification:
<MDN> #
HA-gw node(s): <Origin-Host/Origin-Realm>

# /


make a user to establish a sessionDiameter request (INITIAL_REQUEST) is received
Session-Id                         = 'ucn.epc.mnc001.mcc001.3gppnetwork.org;1512472363;1;13534854'
Origin-Host                        = 'ucn.epc.mnc001.mcc001.3gppnetwork.org'
Origin-Realm                       = 'epc.mnc001.mcc001.3gppnetwork.org'
Destination-Realm                  = 'epc.mnc001.mcc001.3gppnetwork.org'
Auth-Application-Id                = '4'
Service-Context-Id                 = '32251@3gpp.org'
CC-Request-Type                    = 'INITIAL_REQUEST'
CC-Request-Number                  = '0'
Destination-Host                   = 'ocs.portaone.com'
Event-Timestamp                    = '1512472902'
Subscription-Id                    = 'BEGIN-GROUP'
  Subscription-Id-Type               = 'END_USER_IMSI'
  Subscription-Id-Data               = '001019901000025'
Subscription-Id                    = 'END-GROUP'
Subscription-Id                    = 'BEGIN-GROUP'
  Subscription-Id-Type               = 'END_USER_E164'
  Subscription-Id-Data               = '882801004'
Subscription-Id                    = 'END-GROUP'
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Requested-Service-Unit             = 'BEGIN-GROUP'
    CC-Time                            = '0'
    CC-Total-Octets                    = '0'
    CC-Input-Octets                    = '0'
    CC-Output-Octets                   = '0'
  Requested-Service-Unit             = 'END-GROUP'
  Rating-Group                       = '1'
Multiple-Services-Credit-Control   = 'END-GROUP'
User-Equipment-Info                = 'BEGIN-GROUP'
  User-Equipment-Info-Type           = 'IMEISV'
  User-Equipment-Info-Value          = '3564210740562802'
User-Equipment-Info                = 'END-GROUP'
2

Check, if all required/expected attributes are presentThe request is understood by PortaBilling and responded to client
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Granted-Service-Unit               = 'BEGIN-GROUP'
    CC-Total-Octets                    = '1073741824'
  Granted-Service-Unit               = 'END-GROUP'
  Rating-Group                       = '1'
  Result-Code                        = '2001'
  Validity-Time                      = '598'
Multiple-Services-Credit-Control   = 'END-GROUP'
Origin-Realm                       = 'epc.mnc001.mcc001.3gppnetwork.org'
CC-Request-Number                  = '0'
Session-Id                         = 'ucn.epc.mnc001.mcc001.3gppnetwork.org;1512472363;1;13534854'
CC-Request-Type                    = 'INITIAL_REQUEST'
CC-Session-Failover                = '1'
Auth-Application-Id                = '4'
Origin-Host                        = 'ocs.portaone.com'
Result-Code                        = '2001' 
3

Check response is delivered to HA diameter clientGW is able to decode the response75636E2E 6570632E 6D6E6330 C830061F

3.4 Establish connection

To check that user can use some traffic.

Step IDTest Data SpecificationREALMStep descriptionExpected ResultsResult Data
1

Subscriber identification:
<MDN> #
HA-gw node(s): <Origin-Host/Origin-Realm>

# /



make a user to establish a sessionDiameter request (INITIAL_REQUEST/UPDATE_REQUEST) is received containing Requested-Service-Unit
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Requested-Service-Unit             = 'BEGIN-GROUP'
    CC-Time                            = '0'
    CC-Total-Octets                    = '0'
    CC-Input-Octets                    = '0'
    CC-Output-Octets                   = '0'
  Requested-Service-Unit             = 'END-GROUP'
  Rating-Group                       = '1'
Multiple-Services-Credit-Control   = 'END-GROUP'
2

Check, if session is grantedthe response provides grants to establish the session
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Granted-Service-Unit               = 'BEGIN-GROUP'
    CC-Total-Octets                    = '1073741824'
  Granted-Service-Unit               = 'END-GROUP'
  Rating-Group                       = '1'
  Result-Code                        = '2001'
  Validity-Time                      = '598'
Multiple-Services-Credit-Control   = 'END-GROUP'
3

Check response will allow user to start using the sessionGW allows the user to connect75636E2E 6570632E 6D6E6330 C830061F

3.5 Rejected connection for nonexistent subscriber

To check that service cannot be provided for nonexistent user. 

Step IDTest Data SpecificationREALMStep descriptionExpected ResultsResult Data
1

Subscriber identification:
<MDN> #
HA-gw node(s): <Origin-Host/Origin-Realm>

# /



make a user to establish a sessionDiameter request (INITIAL_REQUEST/UPDATE_REQUEST) is received containing Requested-Service-Unit
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Requested-Service-Unit             = 'BEGIN-GROUP'
    CC-Time                            = '0'
    CC-Total-Octets                    = '0'
    CC-Input-Octets                    = '0'
    CC-Output-Octets                   = '0'
  Requested-Service-Unit             = 'END-GROUP'
  Rating-Group                       = '1'
Multiple-Services-Credit-Control   = 'END-GROUP'
2

Check, if reject response is providedthe CCA denies the session
Origin-Realm                       = 'epc.mnc001.mcc001.3gppnetwork.org'
CC-Request-Number                  = '0'
Session-Id                         = 'ucn.epc.mnc001.mcc001.3gppnetwork.org;1512472363;2;13534854'
CC-Request-Type                    = 'INITIAL_REQUEST'
CC-Session-Failover                = '1'
Auth-Application-Id                = '4'
Origin-Host                        = 'ocs.portaone.com'
Result-Code                        = '5030'
3

Check response will disallow user to connectSAE-GW rejects the connection75636E2E 6570632E 6D6E6330 2307BD1C

3.6 Hotlined connection for expired, blocked, suspended subscriber

To check that expired/blocked/suspended user is redirected to captive portal.

Step IDTest Data SpecificationREALMStep descriptionExpected ResultsResult Data
1

Subscriber identification:
<MDN> #
HA-gw node(s): <Origin-Host/Origin-Realm>

# /



make a user to establish a sessionDiameter request (INITIAL_REQUEST/UPDATE_REQUEST) is received containing Requested-Service-Unit
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Requested-Service-Unit             = 'BEGIN-GROUP'
    CC-Time                            = '0'
    CC-Total-Octets                    = '0'
    CC-Input-Octets                    = '0'
    CC-Output-Octets                   = '0'
  Requested-Service-Unit             = 'END-GROUP'
  Rating-Group                       = '1'
Multiple-Services-Credit-Control   = 'END-GROUP'
2

Check, if reject response is providedthe CCA denies the session and provides the "hotlining" redirect URL
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Final-Unit-Indication              = 'BEGIN-GROUP'
    Final-Unit-Action                  = 'REDIRECT'
    Redirect-Server                    = 'BEGIN-GROUP'
      Redirect-Address-Type              = 'URL'
      Redirect-Server-Address            = 'http://192.168.168.194/redirected'
    Redirect-Server                    = 'END-GROUP'
  Final-Unit-Indication              = 'END-GROUP'
  Rating-Group                       = '1'
  Result-Code                        = '4010'
  Validity-Time                      = '600'
Multiple-Services-Credit-Control   = 'END-GROUP'
3

Check that SAE-GW disallows user to connectUpon any web browsing attempt user is redirected to the hotlining server; all other network traffic is blocked75636E2E 6570632E 6D6E6330 A0CDE86E

3.7 Billing session

To check that session is billed properly and xDRs are shown properly on WI. 

Step IDTest Data SpecificationREALMStep descriptionExpected ResultsResult Data
1

Subscriber identification:
<MDN> #
HA-gw node(s): <Origin-Host/Origin-Realm>

# /



make a user to establish a sessionDiameter request (INITIAL_REQUEST/UPDATE_REQUEST) is received containing Requested-Service-Unit
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Requested-Service-Unit             = 'BEGIN-GROUP'
    CC-Time                            = '0'
    CC-Total-Octets                    = '0'
    CC-Input-Octets                    = '0'
    CC-Output-Octets                   = '0'
  Requested-Service-Unit             = 'END-GROUP'
  Rating-Group                       = '1'
Multiple-Services-Credit-Control   = 'END-GROUP'
2

Check, if session is grantedthe response provides grants to establish the sesion
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Granted-Service-Unit               = 'BEGIN-GROUP'
    CC-Total-Octets                    = '1073741'
  Granted-Service-Unit               = 'END-GROUP'
  Rating-Group                       = '1'
  Result-Code                        = '2001'
  Validity-Time                      = '599'
Multiple-Services-Credit-Control   = 'END-GROUP'
3

Check response will allow user to start using the sessionthe user is able to use the service75636E2E 6570632E 6D6E6330 CCC5D622
4User performs some data transfers (1-10MBs)
Check if the session generates UPDATE reauthorizationsbilling records are produced, usage and session is represented on PB gui
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Requested-Service-Unit             = 'BEGIN-GROUP'
    CC-Time                            = '0'
    CC-Total-Octets                    = '0'
    CC-Input-Octets                    = '0'
    CC-Output-Octets                   = '0'
  Requested-Service-Unit             = 'END-GROUP'
  Used-Service-Unit                  = 'BEGIN-GROUP'
    Reporting-Reason                   = 'QUOTA_EXHAUSTED'
    CC-Total-Octets                    = '1073857'
    CC-Input-Octets                    = '463704'
    CC-Output-Octets                   = '610153'
  Used-Service-Unit                  = 'END-GROUP'
  Rating-Group                       = '1'
Multiple-Services-Credit-Control   = 'END-GROUP' 
5User terminates the session
Check if the session generates TERMINATE CCRfinal billing record is produced, usage and session is cleaned in PortaBilling
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Used-Service-Unit                  = 'BEGIN-GROUP'
    Reporting-Reason                   = 'OTHER_QUOTA_TYPE'
    CC-Total-Octets                    = '59021'
    CC-Input-Octets                    = '26322'
    CC-Output-Octets                   = '32699'
  Used-Service-Unit                  = 'END-GROUP'
  Rating-Group                       = '1'
  Reporting-Reason                   = 'FINAL'
Multiple-Services-Credit-Control   = 'END-GROUP'

3.8 Billing for multiple rating groups within a session

To check that session is billed properly for several rating groups and xDRs are shown properly on WI. 

Step IDTest Data SpecificationREALMStep descriptionExpected ResultsResult Data
1

HA-GW is configured to distinguish between classes of network traffic - e.g. generic Internet and VoIP traffic (to/from IP addresses of PortaSIP servers and provider's VoIP gateways).


Obtain the rating group Ids, assign them as separate entries in the product configuration (rating group = access code)Usage charging definition with multiple groups is created within product
RG1 - paid
RG2 - free
2

Subscriber identification:
<MDN> #
HA-gw node(s): <Origin-Host/Origin-Realm>

# /



make a user to establish a sessionDiameter request (INITIAL_REQUEST/UPDATE_REQUEST) is received containing Requested-Service-Unit
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Requested-Service-Unit             = 'BEGIN-GROUP'
    CC-Time                            = '0'
    CC-Total-Octets                    = '0'
    CC-Input-Octets                    = '0'
    CC-Output-Octets                   = '0'
  Requested-Service-Unit             = 'END-GROUP'
  Rating-Group                       = '1'
Multiple-Services-Credit-Control   = 'END-GROUP'
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Requested-Service-Unit             = 'BEGIN-GROUP'
    CC-Time                            = '0'
    CC-Total-Octets                    = '0'
    CC-Input-Octets                    = '0'
    CC-Output-Octets                   = '0'
  Requested-Service-Unit             = 'END-GROUP'
  Rating-Group                       = '2'
Multiple-Services-Credit-Control   = 'END-GROUP'
3

Check, if session is grantedthe response provides grants to establish the sesion
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Granted-Service-Unit               = 'BEGIN-GROUP'
    CC-Total-Octets                    = '524288'
  Granted-Service-Unit               = 'END-GROUP'
  Rating-Group                       = '1'
  Result-Code                        = '2001'
  Validity-Time                      = '600'
Multiple-Services-Credit-Control   = 'END-GROUP'
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Granted-Service-Unit               = 'BEGIN-GROUP'
    CC-Total-Octets                    = '524288'
  Granted-Service-Unit               = 'END-GROUP'
  Rating-Group                       = '2'
  Result-Code                        = '2001'
  Validity-Time                      = '600'
Multiple-Services-Credit-Control   = 'END-GROUP'
4

Check response will allow user to start using the sessionthe user is able to use the service

75636E2E 6570632E 6D6E6330 2AEC1D66

5User performs some data transfers (1-10MBs) which fall into "chargeable" category and user performs some data transfers (1-10MBs) which fall into "free" category
Check if the session generates UPDATE reauthorizationsbilling records are produced, usage and session is represented on PB gui. Customer's balance is only changed by the value supplied in the "chargeable" rating group.
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Requested-Service-Unit             = 'BEGIN-GROUP'
    CC-Time                            = '0'
    CC-Total-Octets                    = '0'
    CC-Input-Octets                    = '0'
    CC-Output-Octets                   = '0'
  Requested-Service-Unit             = 'END-GROUP'
  Used-Service-Unit                  = 'BEGIN-GROUP'
    Reporting-Reason                   = 'QUOTA_EXHAUSTED'
    CC-Total-Octets                    = '524337'
    CC-Input-Octets                    = '222693'
    CC-Output-Octets                   = '301644'
  Used-Service-Unit                  = 'END-GROUP'
  Rating-Group                       = '1'
Multiple-Services-Credit-Control   = 'END-GROUP'


Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Requested-Service-Unit             = 'BEGIN-GROUP'
    CC-Time                            = '0'
    CC-Total-Octets                    = '0'
    CC-Input-Octets                    = '0'
    CC-Output-Octets                   = '0'
  Requested-Service-Unit             = 'END-GROUP'
  Used-Service-Unit                  = 'BEGIN-GROUP'
    Reporting-Reason                   = 'QUOTA_EXHAUSTED'
    CC-Total-Octets                    = '525423'
    CC-Input-Octets                    = '163880'
    CC-Output-Octets                   = '361543'
  Used-Service-Unit                  = 'END-GROUP'
  Rating-Group                       = '2'
Multiple-Services-Credit-Control   = 'END-GROUP' 
6User terminates the session
Check if the session generates TERMINATE CCRfinal billing record is produced, usage and session is cleaned in PortaBilling
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Used-Service-Unit                  = 'BEGIN-GROUP'
    Reporting-Reason                   = 'OTHER_QUOTA_TYPE'
    CC-Total-Octets                    = '23891'
    CC-Input-Octets                    = '11612'
    CC-Output-Octets                   = '12279'
  Used-Service-Unit                  = 'END-GROUP'
  Rating-Group                       = '1'
  Reporting-Reason                   = 'FINAL'
Multiple-Services-Credit-Control   = 'END-GROUP'
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Used-Service-Unit                  = 'BEGIN-GROUP'
    Reporting-Reason                   = 'OTHER_QUOTA_TYPE'
    CC-Total-Octets                    = '122691'
    CC-Input-Octets                    = '88100'
    CC-Output-Octets                   = '34591'
  Used-Service-Unit                  = 'END-GROUP'
  Rating-Group                       = '2'
  Reporting-Reason                   = 'FINAL'
Multiple-Services-Credit-Control   = 'END-GROUP' 

3.9 Session is hotlined once quota is depleted

To check that user is redirected to captive portal as soon as quota is depleted. Only free services are allowed. 

Step IDTest Data SpecificationREALMStep descriptionExpected ResultsResult Data
1

Subscriber identification:
<MDN> #
HA-gw node(s): <Origin-Host/Origin-Realm>

# /


make a user to establish a sessionDiameter request (INITIAL_REQUEST/UPDATE_REQUEST) is received containing Requested-Service-Unit
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Requested-Service-Unit             = 'BEGIN-GROUP'
    CC-Time                            = '0'
    CC-Total-Octets                    = '0'
    CC-Input-Octets                    = '0'
    CC-Output-Octets                   = '0'
  Requested-Service-Unit             = 'END-GROUP'
  Rating-Group                       = '1'
Multiple-Services-Credit-Control   = 'END-GROUP'
2

Check, if session is grantedthe response provides grants to establish the session
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Granted-Service-Unit               = 'BEGIN-GROUP'
    CC-Total-Octets                    = '500000'
  Granted-Service-Unit               = 'END-GROUP'
  Rating-Group                       = '1'
  Result-Code                        = '2001'
  Validity-Time                      = '599'
Multiple-Services-Credit-Control   = 'END-GROUP'
3

Check response will allow user to start using the sessionthe user is able to use the service

75636E2E 6570632E 6D6E6330 A4383853

4User performs some data transfers (1-10MBs)
Check if the session generates UPDATE reauthorizationsbilling records are produced, usage and session is represented on PB gui
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Requested-Service-Unit             = 'BEGIN-GROUP'
    CC-Time                            = '0'
    CC-Total-Octets                    = '0'
    CC-Input-Octets                    = '0'
    CC-Output-Octets                   = '0'
  Requested-Service-Unit             = 'END-GROUP'
  Used-Service-Unit                  = 'BEGIN-GROUP'
    Reporting-Reason                   = 'QUOTA_EXHAUSTED'
    CC-Total-Octets                    = '500990'
    CC-Input-Octets                    = '212192'
    CC-Output-Octets                   = '288798'
  Used-Service-Unit                  = 'END-GROUP'
  Rating-Group                       = '1'
Multiple-Services-Credit-Control   = 'END-GROUP'



5User runs out of available funds
Check if CCA limits the requested quotathe CCA provides less then allowed resources in granted service units, FUA REDIRECT is present in CCA for chargeable RG
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Final-Unit-Indication              = 'BEGIN-GROUP'
    Final-Unit-Action                  = 'REDIRECT'
    Redirect-Server                    = 'BEGIN-GROUP'
      Redirect-Address-Type              = 'URL'
      Redirect-Server-Address            = 'http://192.168.168.194/redirected'
    Redirect-Server                    = 'END-GROUP'
  Final-Unit-Indication              = 'END-GROUP'
  Granted-Service-Unit               = 'BEGIN-GROUP'
    CC-Total-Octets                    = '95232'
  Granted-Service-Unit               = 'END-GROUP'
  Rating-Group                       = '1'
  Result-Code                        = '2001'
  Validity-Time                      = '600'
Multiple-Services-Credit-Control   = 'END-GROUP'
6GW reports final usage
Check if CCR-U provides USUbilling records are produced, usage and session is represented on PB gui, OCS replies with no GSU AVP for chargeable RG, access only to services related to free RGs
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Used-Service-Unit                  = 'BEGIN-GROUP'
    Reporting-Reason                   = 'QUOTA_EXHAUSTED'
    CC-Total-Octets                    = '95800'
    CC-Input-Octets                    = '38660'
    CC-Output-Octets                   = '57140'
  Used-Service-Unit                  = 'END-GROUP'
  Rating-Group                       = '1'
Multiple-Services-Credit-Control   = 'END-GROUP' 
7User has access only to free services 
Check if the session generates UPDATE reauthorizationsCCR-U only for free RGs. User is able to use free services only
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Requested-Service-Unit             = 'BEGIN-GROUP'
    CC-Time                            = '0'
    CC-Total-Octets                    = '0'
    CC-Input-Octets                    = '0'
    CC-Output-Octets                   = '0'
  Requested-Service-Unit             = 'END-GROUP'
  Used-Service-Unit                  = 'BEGIN-GROUP'
    Reporting-Reason                   = 'QUOTA_EXHAUSTED'
    CC-Total-Octets                    = '500186'
    CC-Input-Octets                    = '129556'
    CC-Output-Octets                   = '370630'
  Used-Service-Unit                  = 'END-GROUP'
  Rating-Group                       = '2'
Multiple-Services-Credit-Control   = 'END-GROUP' 

3.10 Hotlined connection when insufficient funds

To check that user is redirected when account (customer) has no funds. 

Step IDTest Data SpecificationREALMStep descriptionExpected ResultsResult Data
1

Subscriber identification:
<MDN> #
HA-gw node(s): <Origin-Host/Origin-Realm>

# /


make a user to establish a sessionDiameter request (INITIAL_REQUEST/UPDATE_REQUEST) is received containing Requested-Service-Unit
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Requested-Service-Unit             = 'BEGIN-GROUP'
    CC-Time                            = '0'
    CC-Total-Octets                    = '0'
    CC-Input-Octets                    = '0'
    CC-Output-Octets                   = '0'
  Requested-Service-Unit             = 'END-GROUP'
  Rating-Group                       = '1'
Multiple-Services-Credit-Control   = 'END-GROUP'
2

Check, if DIAMETER_CREDIT_LIMIT_REACHED response is providedResult-Code 4012 and FUA REDIRECT is present in CCA
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Final-Unit-Indication              = 'BEGIN-GROUP'
    Final-Unit-Action                  = 'REDIRECT'
    Redirect-Server                    = 'BEGIN-GROUP'
      Redirect-Address-Type              = 'URL'
      Redirect-Server-Address            = 'http://192.168.168.194/redirected'
    Redirect-Server                    = 'END-GROUP'
  Final-Unit-Indication              = 'END-GROUP'
  Rating-Group                       = '1'
  Result-Code                        = '4012'
  Validity-Time                      = '599'
Multiple-Services-Credit-Control   = 'END-GROUP'
3

Check response will allow user to connect only to Redirect-Server-AddressOCS replies with no GSU AVP, access only to URL provided in Redirect-Server-Address

75636E2E 6570632E 6D6E6330 46E4232A

3.11 Validity-Time support

To check whether P-GW supports Validity-Time. 

Step IDTest Data SpecificationREALMStep descriptionExpected ResultsResult Data
1

Subscriber identification:
<MDN> #
HA-gw node(s): <Origin-Host/Origin-Realm>

# /


make a user to establish a sessionDiameter request (INITIAL_REQUEST/UPDATE_REQUEST) is received containing Requested-Service-Unit
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Requested-Service-Unit             = 'BEGIN-GROUP'
    CC-Time                            = '0'
    CC-Total-Octets                    = '0'
    CC-Input-Octets                    = '0'
    CC-Output-Octets                   = '0'
  Requested-Service-Unit             = 'END-GROUP'
  Rating-Group                       = '1'
Multiple-Services-Credit-Control   = 'END-GROUP'
2

Check, if session is granted and Validity-Time is providedthe response provides grants to establish the session and includes Validity-Time AVP (120 seconds)
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Granted-Service-Unit               = 'BEGIN-GROUP'
    CC-Total-Octets                    = '524288'
  Granted-Service-Unit               = 'END-GROUP'
  Rating-Group                       = '1'
  Result-Code                        = '2001'
  Validity-Time                      = '59'
Multiple-Services-Credit-Control   = 'END-GROUP'
3

Check response will allow user to start using the sessionthe user is able to use the service75636E2E 6570632E 6D6E6330 34252DD5


4User performs some data transfers (1-10MBs)
Check if the session generates UPDATE reauthorizationsbilling records are produced, usage and session is represented on PB gui
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Requested-Service-Unit             = 'BEGIN-GROUP'
    CC-Time                            = '0'
    CC-Total-Octets                    = '0'
    CC-Input-Octets                    = '0'
    CC-Output-Octets                   = '0'
  Requested-Service-Unit             = 'END-GROUP'
  Used-Service-Unit                  = 'BEGIN-GROUP'
    Reporting-Reason                   = 'OTHER_QUOTA_TYPE'
    CC-Total-Octets                    = '122691'
    CC-Input-Octets                    = '88100'
    CC-Output-Octets                   = '34591'
  Used-Service-Unit                  = 'END-GROUP'
  Rating-Group                       = '1'
  Reporting-Reason                   = 'VALIDITY_TIME'
Multiple-Services-Credit-Control   = 'END-GROUP'
5

Check if UPDATE CCAs include Validity-Timethe responses provide grants to establish the session and include Validity-Time AVP (120 seconds)
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Granted-Service-Unit               = 'BEGIN-GROUP'
    CC-Total-Octets                    = '524288'
  Granted-Service-Unit               = 'END-GROUP'
  Rating-Group                       = '1'
  Result-Code                        = '2001'
  Validity-Time                      = '60'
Multiple-Services-Credit-Control   = 'END-GROUP'
6User performs too low/no consumption
Check if the session generates UPDATE reauthorizations on Validity-Time expirationbilling records are produced, usage and session is represented on PB gui
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Requested-Service-Unit             = 'BEGIN-GROUP'
    CC-Time                            = '0'
    CC-Total-Octets                    = '0'
    CC-Input-Octets                    = '0'
    CC-Output-Octets                   = '0'
  Requested-Service-Unit             = 'END-GROUP'
  Used-Service-Unit                  = 'BEGIN-GROUP'
    Reporting-Reason                   = 'OTHER_QUOTA_TYPE'
    CC-Total-Octets                    = '0'
    CC-Input-Octets                    = '0'
    CC-Output-Octets                   = '0'
  Used-Service-Unit                  = 'END-GROUP'
  Rating-Group                       = '1'
  Reporting-Reason                   = 'VALIDITY_TIME'
Multiple-Services-Credit-Control   = 'END-GROUP' 
7User terminates the session
Check if the session generates TERMINATE CCRfinal billing record is produced, usage and session is cleaned in PortaBilling
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Used-Service-Unit                  = 'BEGIN-GROUP'
    Reporting-Reason                   = 'OTHER_QUOTA_TYPE'
    CC-Total-Octets                    = '144668'
    CC-Input-Octets                    = '62945'
    CC-Output-Octets                   = '81723'
  Used-Service-Unit                  = 'END-GROUP'
  Rating-Group                       = '1'
  Reporting-Reason                   = 'FINAL'
Multiple-Services-Credit-Control   = 'END-GROUP'

3.12 Session re-establishment upon payment

To check that user is returned from captive portal upon payment. 

Step IDTest Data SpecificationREALMStep descriptionExpected ResultsResult Data
1

Subscriber identification:
<MDN> #
HA-gw node(s): <Origin-Host/Origin-Realm>

# /


End-user with depleted funds connectsDiameter request (INITIAL_REQUEST/UPDATE_REQUEST) is received containing Requested-Service-Unit
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Requested-Service-Unit             = 'BEGIN-GROUP'
    CC-Time                            = '0'
    CC-Total-Octets                    = '0'
    CC-Input-Octets                    = '0'
    CC-Output-Octets                   = '0'
  Requested-Service-Unit             = 'END-GROUP'
  Used-Service-Unit                  = 'BEGIN-GROUP'
    Reporting-Reason                   = 'QUOTA_EXHAUSTED'
    CC-Total-Octets                    = '500421'
    CC-Input-Octets                    = '212532'
    CC-Output-Octets                   = '287889'
  Used-Service-Unit                  = 'END-GROUP'
  Rating-Group                       = '1'
Multiple-Services-Credit-Control   = 'END-GROUP' 
2

Check, if reject response is providedthe CCA denies the session and provides the "hotlining" redirect URL
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Final-Unit-Indication              = 'BEGIN-GROUP'
    Final-Unit-Action                  = 'REDIRECT'
    Redirect-Server                    = 'BEGIN-GROUP'
      Redirect-Address-Type              = 'URL'
      Redirect-Server-Address            = 'http://192.168.168.194/redirected'
    Redirect-Server                    = 'END-GROUP'
  Final-Unit-Indication              = 'END-GROUP'
  Granted-Service-Unit               = 'BEGIN-GROUP'
    CC-Total-Octets                    = '47104'
  Granted-Service-Unit               = 'END-GROUP'
  Rating-Group                       = '1'
  Result-Code                        = '2001'
  Validity-Time                      = '600'
Multiple-Services-Credit-Control   = 'END-GROUP'
3

Check response will disallow user to connectUpon any web browsing attempt user is redirected to the hotlining server; all other network traffic is blocked

75636E2E 6570632E 6D6E6330 A9264814

4

End-user makes a payment / topup on PortaBilling self-care portal (or via external application, which sends the payment info to PortaBilling via API)User's available funds / quota increased

Done

5

RAR is sent from PortaBilling to HA-GWRAR is received and RAA is sent by SAE-GW
Dec 07 12:14:12.303 [5]: ::on_disconnect_schedule_process[diameter]: RAR:
Session-Id=ucn.epc.mnc001.mcc001.3gppnetwork.org;1512574963;25;13534854
Auth-Application-Id=4
Re-Auth-Request-Type=AUTHORIZE_ONLY
Destination-Host=ucn.epc.mnc001.mcc001.3gppnetwork.org
Destination-Realm=epc.mnc001.mcc001.3gppnetwork.org
Rating-Group=1


Dec 07 12:14:12.908 [5]: ::on_disconnect_schedule_process[diameter]: RAA:
Session-Id=ucn.epc.mnc001.mcc001.3gppnetwork.org;1512574963;25;13534854
Result-Code=2002
Origin-Host=ucn.epc.mnc001.mcc001.3gppnetwork.org
Origin-Realm=epc.mnc001.mcc001.3gppnetwork.org
6

UPDATE reauthorization is sent to PortaBillingUser is authorized to use the service normally
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Requested-Service-Unit             = 'BEGIN-GROUP'
    CC-Time                            = '0'
    CC-Total-Octets                    = '0'
    CC-Input-Octets                    = '0'
    CC-Output-Octets                   = '0'
  Requested-Service-Unit             = 'END-GROUP'
  Rating-Group                       = '1'
  Reporting-Reason                   = 'FORCED_REAUTHORISATION'
Multiple-Services-Credit-Control   = 'END-GROUP'

Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Granted-Service-Unit               = 'BEGIN-GROUP'
    CC-Total-Octets                    = '500000'
  Granted-Service-Unit               = 'END-GROUP'
  Rating-Group                       = '1'
  Result-Code                        = '2001'
  Validity-Time                      = '599'
Multiple-Services-Credit-Control   = 'END-GROUP'

3.13 Volume-Quota-Threshold support

To check whether P-GW supports Volume-Quota-Threshold. 

Step IDTest Data SpecificationREALMStep descriptionExpected ResultsResult Data
1

Subscriber identification:
<MDN> #
HA-gw node(s): <Origin-Host/Origin-Realm>

# /


make a user to establish a sessionDiameter requests (INITIAL_REQUEST/UPDATE_REQUEST) is received containing Requested-Service-Unit
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Requested-Service-Unit             = 'BEGIN-GROUP'
    CC-Time                            = '0'
    CC-Total-Octets                    = '0'
    CC-Input-Octets                    = '0'
    CC-Output-Octets                   = '0'
  Requested-Service-Unit             = 'END-GROUP'
  Rating-Group                       = '1'
Multiple-Services-Credit-Control   = 'END-GROUP' 
2

Check, if session is granted and Volume-Quota-Threshold AVP is providedthe response provides grants to establish the session and includes Volume-Quota-Threshold AVP
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Granted-Service-Unit               = 'BEGIN-GROUP'
    CC-Total-Octets                    = '1524288'
  Granted-Service-Unit               = 'END-GROUP'
  Rating-Group                       = '1'
  Result-Code                        = '2001'
  Validity-Time                      = '600'
  Volume-Quota-Threshold             = '524288'
Multiple-Services-Credit-Control   = 'END-GROUP'
3

Check response will allow user to start using the sessionthe user is able to use the service

75636E2E 6570632E 6D6E6330 E2E32C7C

4User performs some data transfers (1-10MBs)
Check if the session generates UPDATE reauthorizationsbilling records are produced, usage and session is represented on PB gui
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Requested-Service-Unit             = 'BEGIN-GROUP'
    CC-Time                            = '0'
    CC-Total-Octets                    = '0'
    CC-Input-Octets                    = '0'
    CC-Output-Octets                   = '0'
  Requested-Service-Unit             = 'END-GROUP'
  Used-Service-Unit                  = 'BEGIN-GROUP'
    Reporting-Reason                   = 'THRESHOLD'
    CC-Total-Octets                    = '1000255'
    CC-Input-Octets                    = '429416'
    CC-Output-Octets                   = '570839'
  Used-Service-Unit                  = 'END-GROUP'
  Rating-Group                       = '1'
Multiple-Services-Credit-Control   = 'END-GROUP' 
5

Check if UPDATE CCAs include Volume-Quota-Threshold AVPthe responses provide grants to establish the session and include Volume-Quota-Threshold AVP
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Granted-Service-Unit               = 'BEGIN-GROUP'
    CC-Total-Octets                    = '1524288'
  Granted-Service-Unit               = 'END-GROUP'
  Rating-Group                       = '1'
  Result-Code                        = '2001'
  Validity-Time                      = '600'
  Volume-Quota-Threshold             = '524288'
Multiple-Services-Credit-Control   = 'END-GROUP'
6User performs too low/no consumption
Check if the session generates UPDATE reauthorizations when the quota contents fall below Volume-Quota-Threshold.HA/PGW sends CCR-U message to BOSS. HA/PGW shall allow service to continue whilst the re-authorization is progress, up to the volume indicated in the original quota. Billing records are produced, usage and session is represented on PB gui
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Requested-Service-Unit             = 'BEGIN-GROUP'
    CC-Time                            = '0'
    CC-Total-Octets                    = '0'
    CC-Input-Octets                    = '0'
    CC-Output-Octets                   = '0'
  Requested-Service-Unit             = 'END-GROUP'
  Used-Service-Unit                  = 'BEGIN-GROUP'
    Reporting-Reason                   = 'THRESHOLD'
    CC-Total-Octets                    = '1000182'
    CC-Input-Octets                    = '428118'
    CC-Output-Octets                   = '572064'
  Used-Service-Unit                  = 'END-GROUP'
  Rating-Group                       = '1'
Multiple-Services-Credit-Control   = 'END-GROUP' 
7User terminates the session
Check if the session generates TERMINATE CCRfinal billing record is produced, usage and session is cleaned in PortaBilling
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Used-Service-Unit                  = 'BEGIN-GROUP'
    Reporting-Reason                   = 'OTHER_QUOTA_TYPE'
    CC-Total-Octets                    = '3003'
    CC-Input-Octets                    = '1576'
    CC-Output-Octets                   = '1427'
  Used-Service-Unit                  = 'END-GROUP'
  Rating-Group                       = '1'
  Reporting-Reason                   = 'FINAL'
Multiple-Services-Credit-Control   = 'END-GROUP'
  • No labels