1 Introduction

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

2 System information

2.1 Peers

PeerRelease

Origin-Realm

Origin-Host

IP address

Transport

Port

OCSMR95-0portaone.comocs.portaone.com
217.*.*.234
TCP3868
P-GW
gy.system.com
iplook.gy.system.com
112.*.*.238TCPrandom

2.2 User Identification

Attribute
User-Name 

END_USER_E164

18001234010

2.3 Predefined Charging Rule Names

NameNotes


2.4 Predefined Rating Group names

NameGy Value

Notes

RG133133

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

Andrii Kravchenko 
Lucas Liao


18.01.22
2.DPR

Disconnect Peer (DPR/DPA)

Verify that disconnect between peers is properly acknowledged.

PASSED

Andrii Kravchenko 
Lucas Liao


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

PASSED

Andrii Kravchenko 
Lucas Liao


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

PASSED

Andrii Kravchenko 
Lucas Liao


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

PASSED

Andrii Kravchenko 
Lucas Liao


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

FAILED

Andrii Kravchenko 
Lucas Liao

Redirect to hotline URL/IP is not supported18.05.22
7.TS043G session - billing session3G session - billing session

PASSED

Andrii Kravchenko 
Lucas Liao


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

FAILED

Andrii Kravchenko 
Lucas Liao

EPC does not have DPI so impossible to divide traffic to separate RGs18.05.22
9.TS053G session – session is hotlined once quota is depleted3G session – session is hotlined once quota is depleted

FAILED

Andrii Kravchenko 
Lucas Liao

Redirect to hotline URL/IP is not supported. Session is not terminated once quota is depleted - it remains active, but usage is blocked (no access, usage is reported as 0 with Validity-Time periodicity)18.05.22
10.TS063G session - hotlined connection when insufficient funds3G session - hotlined connection when insufficient funds

FAILED

Andrii Kravchenko 
Lucas Liao

Redirect to hotline URL/IP is not supported18.05.22
11.TS073G session - Validity-Time support3G session - Validity-Time support

PASSED

Andrii Kravchenko 
Lucas Liao


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

PASSED

Andrii Kravchenko 
Lucas Liao


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

PASSED

Andrii Kravchenko 
Lucas Liao


18.05.22

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                         = 'pgw_gy1.corenetwork.com;1642494200;1090200010;4283301234560065'
Event-Timestamp                    = '1642495643'
Origin-Host                        = 'pgw_gy1.corenetwork.com'
Origin-Realm                       = 'corenetwork.com'
Service-Context-Id                 = '3gpp_r7_default'
Multiple-Services-Indicator        = 'SUPPORTED'
Destination-Realm                  = 'portaone.com'
Destination-Host                   = 'ocs.portaone.com'
Auth-Application-Id                = '4'
CC-Request-Type                    = 'INITIAL_REQUEST'
CC-Request-Number                  = '0'
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Service-Identifier                 = '11'
  Rating-Group                       = '130'
  Requested-Service-Unit             = 'BEGIN-GROUP'
  Requested-Service-Unit             = 'END-GROUP'
Multiple-Services-Credit-Control   = 'END-GROUP'
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Service-Identifier                 = '0'
  Rating-Group                       = '133'
  Requested-Service-Unit             = 'BEGIN-GROUP'
  Requested-Service-Unit             = 'END-GROUP'
Multiple-Services-Credit-Control   = 'END-GROUP'
Origin-State-Id                    = '4'
Subscription-Id                    = 'BEGIN-GROUP'
  Subscription-Id-Type               = 'END_USER_E164'
  Subscription-Id-Data               = '231220200006'
Subscription-Id                    = 'END-GROUP'
Subscription-Id                    = 'BEGIN-GROUP'
  Subscription-Id-Type               = 'END_USER_IMSI'
  Subscription-Id-Data               = '428330123456006'
Subscription-Id                    = 'END-GROUP'
User-Equipment-Info                = 'BEGIN-GROUP'
  User-Equipment-Info-Type           = 'IMEISV'
  User-Equipment-Info-Value          = 'S7#\144r\009\129\003'
User-Equipment-Info                = 'END-GROUP'
Service-Information                = 'BEGIN-GROUP'
  PS-Information                     = 'BEGIN-GROUP'
    Called-Station-Id                  = 'ltcmobile'
    3GPP-IMSI-MCC-MNC                  = '42833'
    3GPP-Charging-Id                   = '@\251!\202'
    3GPP-PDP-Type                      = '0'
    PDP-Address                        = '11.11.2.65'
    SGSN-Address                       = '172.30.120.73'
    GGSN-Address                       = '172.30.120.74'
    CG-Address                         = '0.0.0.0'
    3GPP-NSAPI                         = '5'
    3GPP-Selection-Mode                = '2'
    3GPP-Charging-Characteristics      = '0C00'
    3GPP-SGSN-MCC-MNC                  = '42833'
    3GPP-User-Location-Info            = '\130$\2483(a$\2483\012\184\221\244'
    3GPP-RAT-Type                      = '\006'
    3GPP-MS-TimeZone                   = '#\000'
    PDP-Context-Type                   = 'PRIMARY'
  PS-Information                     = 'END-GROUP'
Service-Information                = 'END-GROUP'
2

Check, if all required/expected attributes are presentThe request is understood by PortaBilling and responded to client
Jan 18 08:48:14.699 [3]: Authorize::Gy::NETACCESS::CCR-I accept response, attributes:
Session-Id                         = 'pgw_gy1.corenetwork.com;1642494200;1090200010;4283301234560065'
Auth-Application-Id                = '4'
CC-Request-Number                  = '0'
CC-Request-Type                    = 'INITIAL_REQUEST'
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Granted-Service-Unit               = 'BEGIN-GROUP'
    CC-Total-Octets                    = '1073741824'
  Granted-Service-Unit               = 'END-GROUP'
  Rating-Group                       = '130'
  Result-Code                        = '2001'
  Service-Identifier                 = '11'
  Validity-Time                      = '7149'
Multiple-Services-Credit-Control   = 'END-GROUP'
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Granted-Service-Unit               = 'BEGIN-GROUP'
    CC-Total-Octets                    = '104857600'
  Granted-Service-Unit               = 'END-GROUP'
  Rating-Group                       = '133'
  Result-Code                        = '2001'
  Service-Identifier                 = '0'
  Validity-Time                      = '7149'
  Final-Unit-Indication              = 'BEGIN-GROUP'
    Final-Unit-Action                  = 'REDIRECT'
    Redirect-Server                    = 'BEGIN-GROUP'
      Redirect-Address-Type              = 'URL'
      Redirect-Server-Address            = 'https://portaone.com'
    Redirect-Server                    = 'END-GROUP'
  Final-Unit-Indication              = 'END-GROUP'
Multiple-Services-Credit-Control   = 'END-GROUP'
Result-Code                        = '2001'
Origin-Host                        = 'ocs.portaone.com'
Origin-Realm                       = 'portaone.com'
3

Check response is delivered to HA diameter clientGW is able to decode the response7067775F 6779312E 636F7265 E7512D42

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'
  Service-Identifier                 = '11'
  Rating-Group                       = '130'
  Requested-Service-Unit             = 'BEGIN-GROUP'
  Requested-Service-Unit             = 'END-GROUP'
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                       = '130'
  Result-Code                        = '2001'
  Service-Identifier                 = '11'
  Validity-Time                      = '7149'
Multiple-Services-Credit-Control   = 'END-GROUP'
3

Check response will allow user to start using the sessionGW allows the user to connect7067775F 6779312E 636F7265 E7512D42

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'
  Service-Identifier                 = '0'
  Rating-Group                       = '133'
  Requested-Service-Unit             = 'BEGIN-GROUP'
  Requested-Service-Unit             = 'END-GROUP'
Multiple-Services-Credit-Control   = 'END-GROUP'
2

Check, if reject response is providedthe CCA denies the session
Session-Id                         = 'pgw_gy1.corenetwork.com;1642496711;1093200010;4283301234560066'
Auth-Application-Id                = '4'
CC-Request-Number                  = '0'
CC-Request-Type                    = 'INITIAL_REQUEST'
Origin-Host                        = 'ocs.portaone.com'
Origin-Realm                       = 'portaone.com'
Result-Code                        = '5030'
3

Check response will disallow user to connectSAE-GW rejects the connection7067775F 6779312E 636F7265 749CA97C

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

2

Check, if reject response is providedthe CCA denies the session and provides the "hotlining" redirect URL

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 blocked

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'
  Service-Identifier                 = '0'
  Rating-Group                       = '133'
  Requested-Service-Unit             = 'BEGIN-GROUP'
  Requested-Service-Unit             = 'END-GROUP'
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                    = '1073741824'
  Granted-Service-Unit               = 'END-GROUP'
  Rating-Group                       = '133'
  Result-Code                        = '2001'
  Service-Identifier                 = '0'
  Validity-Time                      = '54'
Multiple-Services-Credit-Control   = 'END-GROUP'
3

Check response will allow user to start using the sessionthe user is able to use the service69706C6F 6F6B2E67 792E7379 D853AB88
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'
  Service-Identifier                 = '0'
  Rating-Group                       = '133'
  Requested-Service-Unit             = 'BEGIN-GROUP'
  Requested-Service-Unit             = 'END-GROUP'
  Used-Service-Unit                  = 'BEGIN-GROUP'
    CC-Total-Octets                    = '45081672'
    CC-Input-Octets                    = '2555313'
    CC-Output-Octets                   = '42526359'
    CC-Time                            = '54'
    CC-Service-Specific-Units          = '0'
  Used-Service-Unit                  = 'END-GROUP'
  Reporting-Reason                   = 'VALIDITY_TIME'
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
Session-Id                         = 'iplook.gy.system;1643162541;172200016;4601101234560015'
Event-Timestamp                    = '1643185034'
Origin-Host                        = 'iplook.gy.system'
Origin-Realm                       = 'gy.system'
Service-Context-Id                 = '3gpp_r7_default'
Multiple-Services-Indicator        = 'SUPPORTED'
Termination-Cause                  = 'LOGOUT'
Destination-Host                   = 'ocs.portaone.com'
Destination-Realm                  = 'portaone.com'
Auth-Application-Id                = '4'
CC-Request-Type                    = 'TERMINATION_REQUEST'
CC-Request-Number                  = '9'
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Service-Identifier                 = '11'
  Rating-Group                       = '130'
  Used-Service-Unit                  = 'BEGIN-GROUP'
    CC-Total-Octets                    = '0'
    CC-Input-Octets                    = '0'
    CC-Output-Octets                   = '0'
    CC-Time                            = '46'
    CC-Service-Specific-Units          = '0'
  Used-Service-Unit                  = 'END-GROUP'
  Reporting-Reason                   = 'FINAL'
Multiple-Services-Credit-Control   = 'END-GROUP'
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Service-Identifier                 = '0'
  Rating-Group                       = '133'
  Used-Service-Unit                  = 'BEGIN-GROUP'
    CC-Total-Octets                    = '362402'
    CC-Input-Octets                    = '115341'
    CC-Output-Octets                   = '247061'
    CC-Time                            = '45'
    CC-Service-Specific-Units          = '0'
  Used-Service-Unit                  = 'END-GROUP'
  Reporting-Reason                   = 'FINAL'
Multiple-Services-Credit-Control   = 'END-GROUP'
Origin-State-Id                    = '98'
Subscription-Id                    = 'BEGIN-GROUP'
  Subscription-Id-Type               = 'END_USER_E164'
  Subscription-Id-Data               = '86180123465001'
Subscription-Id                    = 'END-GROUP'
Subscription-Id                    = 'BEGIN-GROUP'
  Subscription-Id-Type               = 'END_USER_IMSI'
  Subscription-Id-Data               = '460110123456001'
Subscription-Id                    = 'END-GROUP'
User-Equipment-Info                = 'BEGIN-GROUP'
  User-Equipment-Info-Type           = 'IMEISV'
  User-Equipment-Info-Value          = 'S7#\144r\009\129\003'
User-Equipment-Info                = 'END-GROUP'
Service-Information                = 'BEGIN-GROUP'
  PS-Information                     = 'BEGIN-GROUP'
    Called-Station-Id                  = 'ctnet'
    3GPP-IMSI-MCC-MNC                  = '46011'
    3GPP-Charging-Id                   = '\010C\144P'
    3GPP-PDP-Type                      = '0'
    PDP-Address                        = '10.218.3.193'
    SGSN-Address                       = '172.26.2.3'
    GGSN-Address                       = '172.26.3.1'
    CG-Address                         = '0.0.0.0'
    3GPP-NSAPI                         = '5'
    3GPP-Session-Stop-Indicator        = '\255'
    3GPP-Selection-Mode                = '0'
    3GPP-Charging-Characteristics      = '0C00'
    3GPP-SGSN-MCC-MNC                  = '46011'
    Charging-Rule-Base-Name            = 'pgw_cbb_service'
    3GPP-User-Location-Info            = '\130d\240\017(ad\240\017\012\184\221\244'
    3GPP-RAT-Type                      = '\006'
    3GPP-MS-TimeZone                   = '\000\000'
  PS-Information                     = 'END-GROUP'
Service-Information                = '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

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

3

Check, if session is grantedthe response provides grants to establish the sesion

4

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


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.

6User terminates the session
Check if the session generates TERMINATE CCRfinal billing record is produced, usage and session is cleaned in PortaBilling

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

2

Check, if session is grantedthe response provides grants to establish the session

3

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


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



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

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

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

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

2

Check, if DIAMETER_CREDIT_LIMIT_REACHED response is providedResult-Code 4012 and FUA REDIRECT is present in CCA

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


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'
  Service-Identifier                 = '0'
  Rating-Group                       = '133'
  Requested-Service-Unit             = 'BEGIN-GROUP'
  Requested-Service-Unit             = 'END-GROUP'
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                    = '1073741824'
  Granted-Service-Unit               = 'END-GROUP'
  Rating-Group                       = '133'
  Result-Code                        = '2001'
  Service-Identifier                 = '0'
  Validity-Time                      = '54'
Multiple-Services-Credit-Control   = 'END-GROUP'
3

Check response will allow user to start using the sessionthe user is able to use the service69706C6F 6F6B2E67 792E7379 D853AB88


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'
  Service-Identifier                 = '0'
  Rating-Group                       = '133'
  Requested-Service-Unit             = 'BEGIN-GROUP'
  Requested-Service-Unit             = 'END-GROUP'
  Used-Service-Unit                  = 'BEGIN-GROUP'
    CC-Total-Octets                    = '45081672'
    CC-Input-Octets                    = '2555313'
    CC-Output-Octets                   = '42526359'
    CC-Time                            = '54'
    CC-Service-Specific-Units          = '0'
  Used-Service-Unit                  = 'END-GROUP'
  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                    = '1073741824'
  Granted-Service-Unit               = 'END-GROUP'
  Rating-Group                       = '133'
  Result-Code                        = '2001'
  Service-Identifier                 = '0'
  Validity-Time                      = '55'
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'
  Service-Identifier                 = '0'
  Rating-Group                       = '133'
  Requested-Service-Unit             = 'BEGIN-GROUP'
  Requested-Service-Unit             = 'END-GROUP'
  Used-Service-Unit                  = 'BEGIN-GROUP'
    CC-Total-Octets                    = '3565195'
    CC-Input-Octets                    = '86748'
    CC-Output-Octets                   = '3478447'
    CC-Time                            = '56'
    CC-Service-Specific-Units          = '0'
  Used-Service-Unit                  = 'END-GROUP'
  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
Session-Id                         = 'iplook.gy.system;1643162541;172200016;4601101234560015'
Event-Timestamp                    = '1643185034'
Origin-Host                        = 'iplook.gy.system'
Origin-Realm                       = 'gy.system'
Service-Context-Id                 = '3gpp_r7_default'
Multiple-Services-Indicator        = 'SUPPORTED'
Termination-Cause                  = 'LOGOUT'
Destination-Host                   = 'ocs.portaone.com'
Destination-Realm                  = 'portaone.com'
Auth-Application-Id                = '4'
CC-Request-Type                    = 'TERMINATION_REQUEST'
CC-Request-Number                  = '9'

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'
  Service-Identifier                 = '0'
  Rating-Group                       = '133'
  Requested-Service-Unit             = 'BEGIN-GROUP'
  Requested-Service-Unit             = 'END-GROUP'
  Used-Service-Unit                  = 'BEGIN-GROUP'
    CC-Total-Octets                    = '443484'
    CC-Input-Octets                    = '13776'
    CC-Output-Octets                   = '429708'
    Reporting-Reason                   = 'THRESHOLD'
  Used-Service-Unit                  = 'END-GROUP'
  Used-Service-Unit                  = 'BEGIN-GROUP'
    Reporting-Reason                   = 'OTHER_QUOTA_TYPE'
    CC-Time                            = '1'
    CC-Service-Specific-Units          = '0'
  Used-Service-Unit                  = 'END-GROUP'
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                  = 'TERMINATE'
  Final-Unit-Indication              = 'END-GROUP'
  Granted-Service-Unit               = 'BEGIN-GROUP'
    CC-Total-Octets                    = '22528'
  Granted-Service-Unit               = 'END-GROUP'
  Rating-Group                       = '133'
  Result-Code                        = '2001'
  Service-Identifier                 = '0'
  Validity-Time                      = '120'
Multiple-Services-Credit-Control   = 'END-GROUP'
Multiple-Services-Credit-Control = 'BEGIN-GROUP'
Service-Identifier = '0'
Rating-Group = '133'
Used-Service-Unit = 'BEGIN-GROUP'
CC-Total-Octets = '503050'
CC-Input-Octets = '12448'
CC-Output-Octets = '490602'
CC-Time = '0'
CC-Service-Specific-Units = '0'
Used-Service-Unit = 'END-GROUP'
Reporting-Reason = 'FINAL'
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


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


5

RAR is sent from PortaBilling to HA-GWRAR is received and RAA is sent by SAE-GW
RAR:
Session-Id=iplook.gy.system.com;1652693002;147600014;4609901234560105
Auth-Application-Id=4
Re-Auth-Request-Type=AUTHORIZE_ONLY
Destination-Host=iplook.gy.system.com
Destination-Realm=gy.system.com

RAA:
Session-Id=iplook.gy.system.com;1652693002;147600014;4609901234560105
Result-Code=2002
Origin-Host=iplook.gy.system.com
Origin-Realm=gy.system.com
Origin-State-Id=38
6

UPDATE reauthorization is sent to PortaBillingUser is authorized to use the service normally
Multiple-Services-Credit-Control   = 'BEGIN-GROUP'
  Service-Identifier                 = '0'
  Rating-Group                       = '133'
  Requested-Service-Unit             = 'BEGIN-GROUP'
  Requested-Service-Unit             = 'END-GROUP'
  Used-Service-Unit                  = 'BEGIN-GROUP'
    CC-Total-Octets                    = '0'
    CC-Input-Octets                    = '0'
    CC-Output-Octets                   = '0'
    CC-Time                            = '0'
    CC-Service-Specific-Units          = '0'
  Used-Service-Unit                  = 'END-GROUP'
  Reporting-Reason                   = 'FORCED_REAUTHORISATION'
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'
  Service-Identifier                 = '0'
  Rating-Group                       = '133'
  Requested-Service-Unit             = 'BEGIN-GROUP'
  Requested-Service-Unit             = 'END-GROUP'
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                    = '1048576'
  Granted-Service-Unit               = 'END-GROUP'
  Rating-Group                       = '133'
  Result-Code                        = '2001'
  Service-Identifier                 = '0'
  Validity-Time                      = '120'
  Volume-Quota-Threshold             = '148576'
Multiple-Services-Credit-Control   = 'END-GROUP'
3

Check response will allow user to start using the sessionthe user is able to use the service69706C6F 6F6B2E67 792E7379 D81E9068


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'
  Service-Identifier                 = '0'
  Rating-Group                       = '133'
  Requested-Service-Unit             = 'BEGIN-GROUP'
  Requested-Service-Unit             = 'END-GROUP'
  Used-Service-Unit                  = 'BEGIN-GROUP'
    CC-Total-Octets                    = '900475'
    CC-Input-Octets                    = '152647'
    CC-Output-Octets                   = '747828'
    Reporting-Reason                   = 'THRESHOLD'
  Used-Service-Unit                  = 'END-GROUP'
  Used-Service-Unit                  = 'BEGIN-GROUP'
    Reporting-Reason                   = 'OTHER_QUOTA_TYPE'
    CC-Time                            = '71'
    CC-Service-Specific-Units          = '0'
  Used-Service-Unit                  = 'END-GROUP'
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                    = '1048576'
  Granted-Service-Unit               = 'END-GROUP'
  Rating-Group                       = '133'
  Result-Code                        = '2001'
  Service-Identifier                 = '0'
  Validity-Time                      = '120'
  Volume-Quota-Threshold             = '148576'
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'
  Service-Identifier                 = '0'
  Rating-Group                       = '133'
  Requested-Service-Unit             = 'BEGIN-GROUP'
  Requested-Service-Unit             = 'END-GROUP'
  Used-Service-Unit                  = 'BEGIN-GROUP'
    CC-Total-Octets                    = '901026'
    CC-Input-Octets                    = '28761'
    CC-Output-Octets                   = '872265'
    Reporting-Reason                   = 'THRESHOLD'
  Used-Service-Unit                  = 'END-GROUP'
  Used-Service-Unit                  = 'BEGIN-GROUP'
    Reporting-Reason                   = 'OTHER_QUOTA_TYPE'
    CC-Time                            = '3'
    CC-Service-Specific-Units          = '0'
  Used-Service-Unit                  = 'END-GROUP'
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
Session-Id                         = 'iplook.gy.system.com;1652693002;147600016;4609901234560105'
Event-Timestamp                    = '1652771546'
Origin-Host                        = 'iplook.gy.system.com'
Origin-Realm                       = 'gy.system.com'
Service-Context-Id                 = '3gpp_r7_default'
Multiple-Services-Indicator        = 'SUPPORTED'
Termination-Cause                  = 'LOGOUT'
Destination-Host                   = 'ocs.portaone.com'
Destination-Realm                  = 'portaone.com'
Auth-Application-Id                = '4'
CC-Request-Type                    = 'TERMINATION_REQUEST'

Logs and tcpdumps.

  • No labels