The objective of this proposal is to extend Magma components to add support for settlement interfaces to bridge the gap between traditional roaming settlement based on Gy interface on Home PGW and new requirements of packet purchasing managed by the Magma core.
Currently, the Magma Access Gateway (AGW) implements a merged SGW+PGW (SPGW) task with support for inbound roaming. The goal of this proposal is to involve sessiond task to support Gy CCR-I/CCR-U messages for roaming subscribers in AGW and FeG.
Software built to accomplish this will be open source under BSD-3-Clause license and will be committed to the Magma software repository under the governance of the Linux foundation, such that it can be effectively maintained in the future releases.
2. Implementation Scope
2.1 Network Architecture
The planned network architecture to use sessiond for generate an initial CCR. The initial CCR should be generated to check IMSI balance before establish default bearer.
S6a: No changes for S6a are planned in this proposal.
S8 Control Plane: Only one change is planned in this proposal: MME session setup logic should be changed to send Create Session Request after/when Sessiond received quota from OCS. In case of no quota has been received the S1 session should be terminated by the MME.
S8 User Plane: No changes for S8 User Plane are planned in this proposal. We are still going to use MME to install the Table 0 for roaming subscribers.
Sessiond: The main change we are planning to make here is to involve sessiond in the inbound roaming call flow.
The new logic should be added to the MME task:
Before sending Create Session Create request to S8 Proxy the MME should send “Create Session” message to the Sessiond. This message will be trigger to generate CCR-I message towards session-proxy with first volume quota request. When the quota has been received from OCS the sessiond should send "Create Session Response" towards MME to allow S8 crate session procedure. In case of no quota has been received from OCS the sessiond should trigger session termination to the MME.
Once MME received Create Bearer Request and Table0 has been provisioned to the OVS the MME should sent "Final Create Session Request" towards sessiond to start get stats procedure from OVS. After reaching the configurable volume threshold on sessiond the sessiond should generate CCR-U to ask the next quota in OCS. This is an existing procedure for home subscribers but we should add the procedure to the inbound roaming call flow.
2.1 Call Flows
The colour scheme in the diagram is as follows:
Black: The existing messages for inbound roaming
Red: The new expected messages
Blue: The existing messages for local users which have to be added to the inbound roaming procedure
2.1.1 UE Attach call flow (successful case)
2.1.2 UE Attach call flow (unsuccessful case)
The behaviour if quota has not been received from OCS.
Note: In case if quota has not been received from OCS the MME should terminate the established session using standard GTP-С termination procedure.
2.1.3 Quota Update Call Flow
2.1.4 Session Termination due to quota exhausted call flow
The session termination procedure should be the same as is for local subscribers.
3. Testing approach
Main critical parts of the solution will be covered with unit tests
Lab with inbound roaming will be established for e2e tests
E2E tests will be done manually in the lab, test scenarios will be upstreamed to Magma repos
4. Security
This functionality does not provide any big changes to Magma AGW or Magma Orc8r. Changes will follow common Magma approaches:
Magma extensions for inbound roaming
1. Background and Objective
The objective of this proposal is to extend Magma components to add support for settlement interfaces to bridge the gap between traditional roaming settlement based on Gy interface on Home PGW and new requirements of packet purchasing managed by the Magma core.
Currently, the Magma Access Gateway (AGW) implements a merged SGW+PGW (SPGW) task with support for inbound roaming. The goal of this proposal is to involve sessiond task to support Gy CCR-I/CCR-U messages for roaming subscribers in AGW and FeG. Software built to accomplish this will be open source under BSD-3-Clause license and will be committed to the Magma software repository under the governance of the Linux foundation, such that it can be effectively maintained in the future releases.
2. Implementation Scope
2.1 Network Architecture
The planned network architecture to use sessiond for generate an initial CCR. The initial CCR should be generated to check IMSI balance before establish default bearer.
S6a: No changes for S6a are planned in this proposal. S8 Control Plane: Only one change is planned in this proposal: MME session setup logic should be changed to send Create Session Request after/when Sessiond received quota from OCS. In case of no quota has been received the S1 session should be terminated by the MME. S8 User Plane: No changes for S8 User Plane are planned in this proposal. We are still going to use MME to install the Table 0 for roaming subscribers. Sessiond: The main change we are planning to make here is to involve sessiond in the inbound roaming call flow. The new logic should be added to the MME task: Before sending Create Session Create request to S8 Proxy the MME should send “Create Session” message to the Sessiond. This message will be trigger to generate CCR-I message towards session-proxy with first volume quota request. When the quota has been received from OCS the sessiond should send "Create Session Response" towards MME to allow S8 crate session procedure. In case of no quota has been received from OCS the sessiond should trigger session termination to the MME. Once MME received Create Bearer Request and Table0 has been provisioned to the OVS the MME should sent "Final Create Session Request" towards sessiond to start get stats procedure from OVS. After reaching the configurable volume threshold on sessiond the sessiond should generate CCR-U to ask the next quota in OCS. This is an existing procedure for home subscribers but we should add the procedure to the inbound roaming call flow.
2.1 Call Flows
The colour scheme in the diagram is as follows: Black: The existing messages for inbound roaming Red: The new expected messages Blue: The existing messages for local users which have to be added to the inbound roaming procedure
2.1.1 UE Attach call flow (successful case)
2.1.2 UE Attach call flow (unsuccessful case)
The behaviour if quota has not been received from OCS.
Note: In case if quota has not been received from OCS the MME should terminate the established session using standard GTP-С termination procedure.
2.1.3 Quota Update Call Flow
2.1.4 Session Termination due to quota exhausted call flow
The session termination procedure should be the same as is for local subscribers.
3. Testing approach
4. Security
This functionality does not provide any big changes to Magma AGW or Magma Orc8r. Changes will follow common Magma approaches:
5. Team
https://github.com/just-now https://github.com/Arsenii-Oganov https://github.com/jpad-freedomfi
6. Roadmap and schedule
SWE hours approximately for proposal: 230