Commands flags are not decoded properly
Command flags like Request, Proxy, Err, Ret are not decoded properly
Sender
Packet is constructed as
ccr_i_request: tuple = (
Avp("Session-Id", 'smf.localdomain;1672806886;1;app_gx'),
Avp("Origin-Realm", "pcef.anon"),
Avp("Origin-Host", "gx.pcef.anon"),
Avp("Origin-Host", "gx.pcrf.tools"),
Avp("Auth-Application-Id", 16777238),
Avp("CC-Request-Type", 'INITIAL_REQUEST'),
Avp("CC-Request-Number", 1),
Avp("Subscription-Id", (
Avp("Subscription-Id-Type", 'END_USER_IMSI'),
Avp("Subscription-Id-Data", '002011234565946'),
)),
Avp('Supported-Features', (
Avp('Feature-List-ID', 1),
Avp('Feature-List', 0x0000000b),
)),
Avp('Network-Request-Support', 'NETWORK_REQUEST_SUPPORTED'),
Avp('Framed-IP-Address', '10.0.0.1'),
Avp('IP-CAN-Type', '3GPP-EPS'),
Avp('RAT-Type', 'EUTRAN'),
Avp('QoS-Information', (
Avp('APN-Aggregate-Max-Bitrate-UL', 1073741000),
Avp('APN-Aggregate-Max-Bitrate-DL', 1073741000),
)),
Avp('Default-EPS-Bearer-QoS', (
Avp('QoS-Class-Identifier', 'QCI_9'),
Avp('Allocation-Retention-Priority', (
Avp('Priority-Level', 8),
Avp('Pre-emption-Capability', 'PRE-EMPTION_CAPABILITY_DISABLED'),
Avp('Pre-emption-Vulnerability', 'PRE-EMPTION_VULNERABILITY_DISABLED'),
)),
)),
Avp('3GPP-User-Location-Info', binascii.unhexlify('8200f210303900f2100123a30a000000')),
)
header: DiameterHeader = DiameterHeader(application_id=16777238, command_code=272,
avp_set=ccr_i_request,
command_flag_req=True, command_flag_proxy=True)
Dump
DiameterHeader(application_id=16777238, command_code=272, avp_set=(Avp(name='Session-Id', data='smf.localdomain;1672806886;1;app_gx'), Avp(name='Origin-Realm', data='pcef.anon'), Avp(name='Origin-Host', data='gx.pcef.anon'), Avp(name='Origin-Host', data='gx.pcrf.tools'), Avp(name='Auth-Application-Id', data=16777238), Avp(name='CC-Request-Type', data='INITIAL_REQUEST'), Avp(name='CC-Request-Number', data=1), Avp(name='Subscription-Id', data=(Avp(name='Subscription-Id-Type', data='END_USER_IMSI'), Avp(name='Subscription-Id-Data', data='002011234565946'))), Avp(name='Supported-Features', data=(Avp(name='Feature-List-ID', data=1), Avp(name='Feature-List', data=11))), Avp(name='Network-Request-Support', data='NETWORK_REQUEST_SUPPORTED'), Avp(name='Framed-IP-Address', data='10.0.0.1'), Avp(name='IP-CAN-Type', data='3GPP-EPS'), Avp(name='RAT-Type', data='EUTRAN'), Avp(name='QoS-Information', data=(Avp(name='APN-Aggregate-Max-Bitrate-UL', data=1073741000), Avp(name='APN-Aggregate-Max-Bitrate-DL', data=1073741000))), Avp(name='Default-EPS-Bearer-QoS', data=(Avp(name='QoS-Class-Identifier', data='QCI_9'), Avp(name='Allocation-Retention-Priority', data=(Avp(name='Priority-Level', data=8), Avp(name='Pre-emption-Capability', data='PRE-EMPTION_CAPABILITY_DISABLED'), Avp(name='Pre-emption-Vulnerability', data='PRE-EMPTION_VULNERABILITY_DISABLED'))))), Avp(name='3GPP-User-Location-Info', data=b'\x82\x00\xf2\x1009\x00\xf2\x10\x01#\xa3\n\x00\x00\x00')), hop_by_hop_identifier=1261674682, end_to_end_identifier=1789988382, command_flag_req=True, command_flag_proxy=True, command_flag_err=False, command_flag_ret=False, version=1, length=0)
Receiver
decoded as
decoded_header: DiameterHeader = diameter.decode(self.data)
Dump
DiameterHeader(application_id=16777238, command_code=272, avp_set=(Avp(name='Session-Id', data='smf.localdomain;1672806886;1;app_gx'), Avp(name='Origin-Realm', data='pcef.anon'), Avp(name='Origin-Host', data='gx.pcef.anon'), Avp(name='Origin-Host', data='gx.pcrf.tools'), Avp(name='Auth-Application-Id', data=16777238), Avp(name='CC-Request-Type', data='INITIAL_REQUEST'), Avp(name='CC-Request-Number', data=1), Avp(name='Subscription-Id', data=(Avp(name='Subscription-Id-Type', data='END_USER_IMSI'), Avp(name='Subscription-Id-Data', data='002011234565946'))), Avp(name='Supported-Features', data=(Avp(name='Feature-List-ID', data=1), Avp(name='Feature-List', data=11))), Avp(name='Network-Request-Support', data='NETWORK_REQUEST_SUPPORTED'), Avp(name='Framed-IP-Address', data='10.0.0.1'), Avp(name='IP-CAN-Type', data='3GPP-EPS'), Avp(name='RAT-Type', data='EUTRAN'), Avp(name='QoS-Information', data=(Avp(name='APN-Aggregate-Max-Bitrate-UL', data=1073741000), Avp(name='APN-Aggregate-Max-Bitrate-DL', data=1073741000))), Avp(name='Default-EPS-Bearer-QoS', data=(Avp(name='QoS-Class-Identifier', data='QCI_9'), Avp(name='Allocation-Retention-Priority', data=(Avp(name='Priority-Level', data=8), Avp(name='Pre-emption-Capability', data='PRE-EMPTION_CAPABILITY_DISABLED'), Avp(name='Pre-emption-Vulnerability', data='PRE-EMPTION_VULNERABILITY_DISABLED'))))), Avp(name='3GPP-User-Location-Info', data='8200f210303900f2100123a30a000000')), hop_by_hop_identifier=3960853771, end_to_end_identifier=3757814625, command_flag_req=False, command_flag_proxy=False, command_flag_err=False, command_flag_ret=False, version=1, length=472)