- Created by Sergii Kirik, last modified by Andrii Kravchenko on 2024-02-05
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
Peer | Release | Origin-Realm | Origin-Host | IP address | Transport | Port |
---|---|---|---|---|---|---|
OCS | MR66-0 | portaone.com | ocs.portaone.com | 193.xxx.xxx.167 | TCP | 3868 |
P-GW | epc.mnc001.mcc001.3gppnetwork.org | ucn.epc.mnc001.mcc001.3gppnetwork.org | 83.xxx.xxx.79 | TCP | random |
2.2 User Identification
Attribute | |
---|---|
User-Name | - |
END_USER_E164 | 882801004 |
2.3 Predefined Charging Rule Names
Name | Notes |
---|---|
- | - |
2.4 Predefined Rating Group names
Name | Gy Value | Notes |
---|---|---|
RG1 | 1 | Paid |
RG2 | 2 | Free |
2 Test Cases
# | Test Script ID | Case Name | Description | Result | Tester | Comments/Bugs | Date |
---|---|---|---|---|---|---|---|
1. | CER | Connection Establishment and Capabilities Exchange (CER/CEA) | Verify that a Diameter peer is successfully established. | PASSED | Marian | 05.12.2017 | |
2. | DPR | Disconnect Peer (DPR/DPA) | Verify that disconnect between peers is properly acknowledged. | PASSED | Marian | 05.12.2017 | |
3. | TS01 | 3G session - diameter/interconnectivity | 3G session - diameter/interconnectivity | PASSED | Marian | 05.12.2017 | |
4. | TS02 | 3G session - establish connection | 3G session - establish connection | PASSED | Marian | 05.12.2017 | |
5. | TS03 | 3G session - rejected connection for nonexistent subscriber | 3G session - rejected connection for nonexistent subscriber | PASSED | Marian | 05.12.2017 | |
6. | TS03.a | 3G session - hotlined connection for expired, blocked, suspended subscriber | 3G session - hotlined connection for expired, blocked, suspended subscriber | PASSED | Marian | 07.12.2017 | |
7. | TS04 | 3G session - billing session | 3G session - billing session | PASSED | Marian | 05.12.2017 | |
8. | TS04.a | 3G session - billing for multiple rating groups within a session | 3G session - billing for multiple rating groups within a session | PASSED | Marian | 05.12.2017 | |
9. | TS05 | 3G session – session is hotlined once quota is depleted | 3G session – session is hotlined once quota is depleted | PASSED | Marian | 07.12.2017 | |
10. | TS06 | 3G session - hotlined connection when insufficient funds | 3G session - hotlined connection when insufficient funds | PASSED | Marian | 07.12.2017 | |
11. | TS07 | 3G session - Validity-Time support | 3G session - Validity-Time support | PASSED | Marian | 05.12.2017 | |
12. | TS08 | 3G session - Session re-establishment upon payment | 3G session - Session re-establishment upon payment | PASSED | Marian | 07.12.2017 | |
13. | TS09 | 3G session - Volume-Quota-Threshold support | 3G session - Volume-Quota-Threshold support | PASSED | Marian | 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 ID | Test Data Specification | REALM | Step description | Expected Results | Result Data |
---|---|---|---|---|---|
1 | Subscriber identification: # / | make a user to establish a session | Diameter 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 present | The 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 client | GW is able to decode the response | 75636E2E 6570632E 6D6E6330 C830061F |
3.4 Establish connection
To check that user can use some traffic.
Step ID | Test Data Specification | REALM | Step description | Expected Results | Result Data |
---|---|---|---|---|---|
1 | Subscriber identification: # / | make a user to establish a session | Diameter 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 | the 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 session | GW allows the user to connect | 75636E2E 6570632E 6D6E6330 C830061F |
3.5 Rejected connection for nonexistent subscriber
To check that service cannot be provided for nonexistent user.
Step ID | Test Data Specification | REALM | Step description | Expected Results | Result Data |
---|---|---|---|---|---|
1 | Subscriber identification: # / | make a user to establish a session | Diameter 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 provided | the 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 connect | SAE-GW rejects the connection | 75636E2E 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 ID | Test Data Specification | REALM | Step description | Expected Results | Result Data |
---|---|---|---|---|---|
1 | Subscriber identification: # / | make a user to establish a session | Diameter 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 provided | the 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 connect | Upon any web browsing attempt user is redirected to the hotlining server; all other network traffic is blocked | 75636E2E 6570632E 6D6E6330 A0CDE86E |
3.7 Billing session
To check that session is billed properly and xDRs are shown properly on WI.
Step ID | Test Data Specification | REALM | Step description | Expected Results | Result Data |
---|---|---|---|---|---|
1 | Subscriber identification: # / | make a user to establish a session | Diameter 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 | the 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 session | the user is able to use the service | 75636E2E 6570632E 6D6E6330 CCC5D622 | ||
4 | User performs some data transfers (1-10MBs) | Check if the session generates UPDATE reauthorizations | 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 = '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' | |
5 | User terminates the session | Check if the session generates TERMINATE CCR | final 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 ID | Test Data Specification | REALM | Step description | Expected Results | Result 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: # / | make a user to establish a session | Diameter 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 granted | the 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 session | the user is able to use the service | 75636E2E 6570632E 6D6E6330 2AEC1D66 | ||
5 | User 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 reauthorizations | billing 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' | |
6 | User terminates the session | Check if the session generates TERMINATE CCR | final 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 ID | Test Data Specification | REALM | Step description | Expected Results | Result Data |
---|---|---|---|---|---|
1 | Subscriber identification: # / | make a user to establish a session | Diameter 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 | the 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 session | the user is able to use the service | 75636E2E 6570632E 6D6E6330 A4383853 | ||
4 | User performs some data transfers (1-10MBs) | Check if the session generates UPDATE reauthorizations | 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 = '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' | |
5 | User runs out of available funds | Check if CCA limits the requested quota | the 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' | |
6 | GW reports final usage | Check if CCR-U provides USU | billing 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' | |
7 | User has access only to free services | Check if the session generates UPDATE reauthorizations | CCR-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 ID | Test Data Specification | REALM | Step description | Expected Results | Result Data |
---|---|---|---|---|---|
1 | Subscriber identification: # / | make a user to establish a session | Diameter 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 provided | Result-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-Address | OCS 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 ID | Test Data Specification | REALM | Step description | Expected Results | Result Data |
---|---|---|---|---|---|
1 | Subscriber identification: # / | make a user to establish a session | Diameter 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 provided | the 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 session | the user is able to use the service | 75636E2E 6570632E 6D6E6330 34252DD5 | ||
4 | User performs some data transfers (1-10MBs) | Check if the session generates UPDATE reauthorizations | 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 = '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-Time | the 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' | ||
6 | User performs too low/no consumption | Check if the session generates UPDATE reauthorizations on Validity-Time expiration | 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 = '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' | |
7 | User terminates the session | Check if the session generates TERMINATE CCR | final 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 ID | Test Data Specification | REALM | Step description | Expected Results | Result Data |
---|---|---|---|---|---|
1 | Subscriber identification: # / | End-user with depleted funds connects | Diameter 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 provided | the 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 connect | Upon 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-GW | RAR 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 PortaBilling | User 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 ID | Test Data Specification | REALM | Step description | Expected Results | Result Data |
---|---|---|---|---|---|
1 | Subscriber identification: # / | make a user to establish a session | Diameter 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 provided | the 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 session | the user is able to use the service | 75636E2E 6570632E 6D6E6330 E2E32C7C | ||
4 | User performs some data transfers (1-10MBs) | Check if the session generates UPDATE reauthorizations | 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 = '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 AVP | the 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' | ||
6 | User 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' | |
7 | User terminates the session | Check if the session generates TERMINATE CCR | final 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