@@ -3070,6 +3070,8 @@ def Answer_16777236_265(self, packet_vars, avps):
3070
3070
aarOriginHost = bytes .fromhex (aarOriginHost ).decode ('ascii' )
3071
3071
aarOriginRealm = self .get_avp_data (avps , 296 )[0 ]
3072
3072
aarOriginRealm = bytes .fromhex (aarOriginRealm ).decode ('ascii' )
3073
+ aarSessionID = self .get_avp_data (avps , 263 )[0 ]
3074
+ aarSessionID = bytes .fromhex (aarSessionID ).decode ('ascii' )
3073
3075
#Check if we have a record-route set as that's where we'll need to send the response
3074
3076
try :
3075
3077
#Get first record-route header, then parse it
@@ -3266,7 +3268,7 @@ def Answer_16777236_265(self, packet_vars, avps):
3266
3268
"gbr_ul" : ulBandwidth ,
3267
3269
"precedence" : 40 ,
3268
3270
"arp_priority" : 15 ,
3269
- "rule_name" : "GBR-Voice" ,
3271
+ "rule_name" : "GBR-Voice_" + str ( aarSessionID ) ,
3270
3272
"arp_preemption_vulnerability" : arpPreemptionVulnerability ,
3271
3273
"gbr_dl" : dlBandwidth ,
3272
3274
"tft_group_id" : 1 ,
@@ -3457,14 +3459,21 @@ def Answer_16777236_275(self, packet_vars, avps):
3457
3459
servingPgwRealm = emergencySubscriberData .get ('gx_origin_realm' , None )
3458
3460
servingPgw = emergencySubscriberData .get ('serving_pgw' , None ).split (';' )[0 ]
3459
3461
3462
+ try :
3463
+ aarSessionID = self .get_avp_data (avps , 263 )[0 ]
3464
+ aarSessionID = bytes .fromhex (aarSessionID ).decode ('ascii' )
3465
+ self .logTool .log (service = 'HSS' , level = 'debug' , message = f"[diameter.py] [Answer_16777236_275] [STA] Got Origional SessionID: { aarSessionID } " , redisClient = self .redisMessaging )
3466
+ except :
3467
+ self .logTool .log (service = 'HSS' , level = 'debug' , message = f"[diameter.py] [Answer_16777236_275] [STA] Error getting Origional SessionID: { traceback .format_exc ()} " , redisClient = self .redisMessaging )
3468
+ aarSessionID = ""
3460
3469
if servingApn is not None or emergencySubscriberData :
3461
3470
reAuthAnswer = self .awaitDiameterRequestAndResponse (
3462
3471
requestType = 'RAR' ,
3463
3472
hostname = servingPgwPeer ,
3464
3473
sessionId = pcrfSessionId ,
3465
3474
servingPgw = servingPgw ,
3466
3475
servingRealm = servingPgwRealm ,
3467
- chargingRuleName = 'GBR-Voice' ,
3476
+ chargingRuleName = 'GBR-Voice_' + str ( aarSessionID ) ,
3468
3477
chargingRuleAction = 'remove'
3469
3478
)
3470
3479
0 commit comments