Replies: 4 comments 1 reply
-
|
The current approach is to mostly ignore this and just add as many AVPs from as many specs and interfaces as we want. The current implementation for RAR/RAA already contains AVPs from at least three separate specs, The reason why this works is that the python class attributes in This same issue is also present elsewhere, where same command message is shared between multiple specifications. Worst offender probably being I know that @sliva0 has some rudimentary ideas on how to split the command codes so that they can be defined separately for each interface, but I don't know in which direction those ideas would go, and I haven't spent much time on the topic yet either. If you want to implement Gx right now, I'd suggest just going ahead and filling in the missing AVP definitions for the existing Alternatively you can wait until we have splitting in place. If you have ideas how to do that, please share :) |
Beta Was this translation helpful? Give feedback.
-
|
The only way to split command codes that I see is to just start a new folder separate from current As was said in the previous message in this thread current idea is to extend a single |
Beta Was this translation helpful? Give feedback.
-
|
Thanks for the answers! I felt deep inside, that this is the current approach (to put all possible AVPs in the code to support more interfaces) and select what needed, decode what arrived. In this exact case I saw, that this approach makes difficult (or impossible) to follow the standards completely, like: AvpGenDef("re_auth_request_type", AVP_RE_AUTH_REQUEST_TYPE, is_required=True), This makes every RAR message on Rx interface invalid like as follows: RECV rx.pcf-1.default.be.ucore 2026-04-08 17:19:55,355 diameter.node So all-in-all, I need your confirmation, that we can "skip" these |
Beta Was this translation helpful? Give feedback.
-
|
Unfortunately, yes. If one AVP is required in some interface, but not the other, the only option right now is to leave I'll try to put together a proof of concept for splitting the commands based on interfaces somehow. If we get that feature done, then I'd say we'll come back and put the |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello!
I just noticed that re_auth.py, which defines "class ReAuthRequest(ReAuth)" and "class ReAuthAnswer(ReAuth)" message is only good for Gx interface.
My problem is that these messages are available on Rx interface as well, but of course with totally different content.
Rx: 29.214
Message Format:
::= < Diameter Header: 258, REQ, PXY >
< Session-Id >
[ DRMP ]
{ Origin-Host }
{ Origin-Realm }
{ Destination-Realm }
{ Destination-Host }
{ Auth-Application-Id }
*{ Specific-Action }
[ OC-Supported-Features ]
[ Access-Network-Charging-Identifier ]
[ Access-Network-Charging-Address ]
02[ AN-GW-Address ]
[ AN-Trusted ]
*[ Flows ]
*[ Subscription-Id ]
[ Abort-Cause ]
[ IP-CAN-Type ]
[ MA-Information ]
[ NetLoc-Access-Support ]
[ RAT-Type ]
[ Sponsored-Connectivity-Data ]
[ 3GPP-User-Location-Info ]
[ User-Location-Info-Time ]
[ 3GPP-MS-TimeZone ]
[ Serving-Satellite-Identity ]
*[ RAN-NAS-Release-Cause ]
*[ 5GS-RAN-NAS-Release-Cause ]
[ 3GPP-SGSN-MCC-MNC ]
[ NID ]
[ TWAN-Identifier ]
[ TCP-Source-Port ]
[ UDP-Source-Port ]
[ UE-Local-IP-Address ]
[ Wireline-User-Location-Info ]
[ PC-Session-Recovery-Status ]
[ Origin-State-Id ]
*[ Class ]
*[ Proxy-Info ]
*[ Route-Record ]
*[ AVP ]
Gx: 29.212
Message Format:
::= < Diameter Header: 258, REQ, PXY >
< Session-Id >
[ DRMP ]
{ Auth-Application-Id }
{ Origin-Host }
{ Origin-Realm }
{ Destination-Realm }
{ Destination-Host }
{ Re-Auth-Request-Type }
[ Session-Release-Cause ]
[ Origin-State-Id ]
[ OC-Supported-Features ]
*[ Event-Trigger ]
[ Event-Report-Indication ]
*[ Charging-Rule-Remove ]
*[ Charging-Rule-Install ]
[ Default-EPS-Bearer-QoS ]
*[ QoS-Information ]
[ Default-QoS-Information ]
[ Revalidation-Time ]
[ Usage-Monitoring-Information ]
[ PCSCF-Restoration-Indication ]
04[ Conditional-Policy-Information ]
[ Removal-Of-Access ]
[ IP-CAN-Type ]
[ PRA-Install ]
[ PRA-Remove ]
*[ CSG-Information-Reporting ]
[ PC-Session-Recovery-Status ]
*[ Proxy-Info ]
*[ Route-Record ]
*[ AVP ]
How to handle such scenarios in the framework?
Beta Was this translation helpful? Give feedback.
All reactions