diameter.node.NodeManager

 

Classes
       
NodeManager

class NodeManager
    A Node manager.
The NodeManager class manages a Node instance and keeps track of
connections and in-/our-going messages and their end-to-end and
hop-by-hop identifiers.
You can build proxies, redirect agents, servers and clients on top of
it. NodeManager is meant to be subclassed and subclasses should
override handleRequest() and handleAnswer()
 
  Methods defined here:
__init__(self, settings)
Constructor for NodeManager.
A Node instance is constructed using the specified settings, and
the internal state is initialized.
answer(self, answer, connkey)
Answer a request.
The answer is sent to the connection. If the connection has been
lost in the meantime it is ignored.
  answer   The answer message.
  connkey  The connection to send the answer to.
Raises:
  NotARequestError If the answer has the R bit set in the header.
forwardAnswer(self, answer, connkey)
Forward an answer.
Forward the answer to to the specified connection. The answer will
automatically get a route-record added. This method is meant to be
called from handleAnswer().
  answer   The answer to forward
  connkey  The connection to use
Raises:
  NotAnAnswerError
    If the answer has the R bit set in the header.
  NotProxiableError
    If the answer does not have the P bit set in the header. This
    indicates that there is something completely wrong with either
    the message, the peer or your application.
  StaleConnectionError
    If the ConnectionKey refers to a lost connection.
forwardRequest(self, request, connkey, state)
Forward a request.
Forward the request to the specified connection. The request will
automatically get a route-record added if not already present.
This method is meant to be called from handleRequest().
  request  The request to forward
  connkey  The connection to use
  state    A state object that will be passed to handleAnswer()
           when the answer arrives. You should remember the ingoing
           connection and hop-by-hop identifier
Raises:
  NotARequestError
    If the request does not have the R bit set in the header.
  NotProxiableError
    If the request does not have the P bit set in the header.
  StaleConnectionError
    If the ConnectionKey refers to a lost connection.
handleAnswer(self, answer, answer_connkey, state)
Handle an answer.
This method is called when an answer arrives. It is meant to
be overridden in a subclass.
 
Please note that the handleAnswer() method is called by the
networking thread and messages from other peers cannot be received
until the method returns. If the handleAnswer() method needs to do
any lengthy processing then it should implement a message queue,
put the message into the queue, and return. The answers can then be
processed by a worker thread pool without stalling the networking
layer.
  answer          The answer message. Null if the connection broke.
  answer_connkey  The connection from where the answer came.
  state           The state object passed to sendRequest_*() or
                  forwardRequest()
handleRequest(self, request, connkey, peer)
Handle a request.
This method is called when a request arrives. It is meant to be
overridden by a subclass. This implementation rejects all requests.
 
Please note that the handleRequest() method is called by the
networking thread and messages from other peers cannot be received
until the method returns. If the handleRequest() method needs to do
any lengthy processing then it should implement a message queue,
put the message into the queue, and return. The requests can then
be processed by a worker thread pool without stalling the
networking layer.
  request  The incoming request.
  connkey  The connection from where the request came.
  peer     The peer that sent the request. This is not the
           originating peer but the peer directly connected to us
           that sent us the request.
handle_connection(self, connkey, peer, updown)
Handle a a connection state change.
If the connection has been lost this implementation calls
handleAnswer(null,...) for outstanding requests on the connection.
Subclasses should not override this method.
handle_message(self, msg, connkey, peer)
Handle an incoming message.
This implementation calls handleRequest(), or matches an answer to
an outstanding request and calls handleAnswer().
Subclasses should not override this method.
sendRequest_1(self, request, connkey, state)
Initiate a request.
A request initiated by this node is sent to the specified connection.
  request  The request.
  connkey  The connection to use.
  state    A state object that will be passed to handleAnswer() when
           the answer arrives.
Raises:
  NotARequestError
    If the request does not have the R bit set in the header.
  StaleConnectionError
    If the ConnectionKey refers to a lost connection.
sendRequest_any(self, request, peers, state)
Sends a request.
The request is sent to one of the peers and an optional state
object is remembered. Please note that handleAnswer() for this
request may get called before this method returns. This can happen
if the peer is very fast and the OS thread scheduler decides to
schedule the networking thread.
  request  The request to send.
  peers    The candidate peers
  state    A state object to be remembered. This will be passed to
           the handleAnswer() method when the answer arrives.
Raises:
  NotARequestError
    If the request does not have the R bit set in the header.
  NotRoutableError
    If the message could not be sent to any of the peers.
start(self)
Starts the embedded Node.
stop(self, grace_time=0)
Stops the embedded Node and call handleAnswer() with null messages
for outstanding requests.
waitForConnection(self, timeout=None)
Waits until at least one connection to a peer has been established
and capability-exchange has finished.

Data
        DIAMETER_APPLICATION_ACCOUNTING = 3
DIAMETER_APPLICATION_COMMON = 0
DIAMETER_APPLICATION_CREDIT_CONTROL = 4
DIAMETER_APPLICATION_EAP = 5
DIAMETER_APPLICATION_MOBILEIP = 2
DIAMETER_APPLICATION_NASREQ = 1
DIAMETER_APPLICATION_RELAY = 4294967295
DIAMETER_COMMAND_AA = 265
DIAMETER_COMMAND_ABORT_SESSION = 274
DIAMETER_COMMAND_ACCOUNTING = 271
DIAMETER_COMMAND_CAPABILITIES_EXCHANGE = 257
DIAMETER_COMMAND_CC = 272
DIAMETER_COMMAND_DEVICE_WATCHDOG = 280
DIAMETER_COMMAND_DISCONNECT_PEER = 282
DIAMETER_COMMAND_EAP = 268
DIAMETER_COMMAND_REAUTH = 258
DIAMETER_COMMAND_SESSION_TERMINATION = 275
DIAMETER_RESULT_APPLICATION_UNSUPPORTED = 3007
DIAMETER_RESULT_AUTHENTICATION_REJECTED = 4001
DIAMETER_RESULT_AUTHORIZATION_REJECTED = 5003
DIAMETER_RESULT_AVP_NOT_ALLOWED = 5008
DIAMETER_RESULT_AVP_OCCURS_TOO_MANY_TIMES = 5009
DIAMETER_RESULT_AVP_UNSUPPORTED = 5001
DIAMETER_RESULT_COMMAND_UNSUPPORTED = 3001
DIAMETER_RESULT_CONTRADICTING_AVPS = 5007
DIAMETER_RESULT_CREDIT_CONTROL_NOT_APPLICABLE = 4011
DIAMETER_RESULT_CREDIT_LIMIT_REACHED = 4012
DIAMETER_RESULT_ELECTION_LOST = 4003
DIAMETER_RESULT_END_USER_SERVICE_DENIED = 4010
DIAMETER_RESULT_INVALID_AVP_BITS = 3009
DIAMETER_RESULT_INVALID_AVP_BIT_COMBO = 5016
DIAMETER_RESULT_INVALID_AVP_LENGTH = 5014
DIAMETER_RESULT_INVALID_AVP_VALUE = 5004
DIAMETER_RESULT_INVALID_BIT_IN_HEADER = 5013
DIAMETER_RESULT_INVALID_HDR_BITS = 3008
DIAMETER_RESULT_INVALID_MESSAGE_LENGTH = 5015
DIAMETER_RESULT_LIMITED_SUCCESS = 2002
DIAMETER_RESULT_LOOP_DETECTED = 3005
DIAMETER_RESULT_MISSING_AVP = 5005
DIAMETER_RESULT_MULTI_ROUND_AUTH = 1001
DIAMETER_RESULT_NO_COMMON_APPLICATION = 5010
DIAMETER_RESULT_NO_COMMON_SECURITY = 5017
DIAMETER_RESULT_OUT_OF_SPACE = 4002
DIAMETER_RESULT_RATING_FAILED = 5031
DIAMETER_RESULT_REALM_NOT_SERVED = 3003
DIAMETER_RESULT_REDIRECT_INDICATION = 3006
DIAMETER_RESULT_RESOURCES_EXCEEDED = 5006
DIAMETER_RESULT_SUCCESS = 2001
DIAMETER_RESULT_TOO_BUSY = 3004
DIAMETER_RESULT_UNABLE_TO_COMPLY = 5012
DIAMETER_RESULT_UNABLE_TO_DELIVER = 3002
DIAMETER_RESULT_UNKNOWN_PEER = 3010
DIAMETER_RESULT_UNKNOWN_SESSION_ID = 5002
DIAMETER_RESULT_UNSUPPORTED_VERSION = 5011
DIAMETER_RESULT_USER_UNKNOWN = 5030
DI_ACCOUNTING_EAP_AUTH_METHOD = 465
DI_ACCOUNTING_INPUT_OCTETS = 363
DI_ACCOUNTING_INPUT_PACKETS = 365
DI_ACCOUNTING_OUTPUT_OCTETS = 364
DI_ACCOUNTING_OUTPUT_PACKETS = 366
DI_ACCOUNTING_REALTIME_REQUIRED = 483
DI_ACCOUNTING_REALTIME_REQUIRED_DELIVER_AND_GRANT = 1
DI_ACCOUNTING_REALTIME_REQUIRED_GRANT_AND_LOSE = 3
DI_ACCOUNTING_REALTIME_REQUIRED_GRANT_AND_STORE = 2
DI_ACCOUNTING_RECORD_NUMBER = 485
DI_ACCOUNTING_RECORD_TYPE = 480
DI_ACCOUNTING_RECORD_TYPE_EVENT_RECORD = 1
DI_ACCOUNTING_RECORD_TYPE_INTERIM_RECORD = 3
DI_ACCOUNTING_RECORD_TYPE_START_RECORD = 2
DI_ACCOUNTING_RECORD_TYPE_STOP_RECORD = 4
DI_ACCOUNTING_SESSION_ID = 44
DI_ACCOUNTING_SUB_SESSION_ID = 287
DI_ACCT_APPLICATION_ID = 259
DI_ACCT_AUTHENTIC = 45
DI_ACCT_DELAY_TIME = 41
DI_ACCT_INTERIM_INTERVAL = 85
DI_ACCT_LINK_COUNT = 51
DI_ACCT_MULTI_SESSION_ID = 50
DI_ACCT_SESSION_TIME = 46
DI_ACCT_TUNNEL_CONNECTION = 68
DI_ACCT_TUNNEL_PACKETS_LOST = 86
DI_ACOUNTING_AUTH_METHOD = 406
DI_ARAP_CHALLENGE_RESPONSE = 84
DI_ARAP_FEATURES = 71
DI_ARAP_PASSWORD = 70
DI_ARAP_SECURITY = 73
DI_ARAP_SECURITY_DATA = 74
DI_ARAP_ZONE_ACCESS = 72
DI_AUTHORIZATION_LIFETIME = 291
DI_AUTH_APPLICATION_ID = 258
DI_AUTH_GRACE_PERIOD = 276
DI_AUTH_REQUEST_TYPE = 274
DI_AUTH_REQUEST_TYPE_AUTHENTICATE = 3
DI_AUTH_REQUEST_TYPE_AUTHENTICATE_ONLY = 1
DI_AUTH_REQUEST_TYPE_AUTHORIZE_ONLY = 2
DI_AUTH_SESSION_STATE = 277
DI_AUTH_SESSION_STATE_NO_STALE_MAINTAINED = 1
DI_AUTH_SESSION_STATE_STALE_MAINTAINED = 0
DI_CALLBACK_ID = 20
DI_CALLBACK_NUMBER = 19
DI_CALLED_STATION_ID = 30
DI_CALLING_STATION_ID = 31
DI_CC_CORRELATION_ID = 411
DI_CC_INPUT_OCTETS = 412
DI_CC_MONEY = 413
DI_CC_OUTPUT_OCTETS = 414
DI_CC_REQUEST_NUMBER = 415
DI_CC_REQUEST_TYPE = 416
DI_CC_REQUEST_TYPE_EVENT_REQUEST = 4
DI_CC_REQUEST_TYPE_INITIAL_REQUEST = 1
DI_CC_REQUEST_TYPE_TERMINATION_REQUEST = 3
DI_CC_REQUEST_TYPE_UPDATE_REQUEST = 2
DI_CC_SERVICE_SPECIFIC_UNITS = 417
DI_CC_SESSION_FAILOVER = 418
DI_CC_SESSION_FAILOVER_FAILOVER_NOT_SUPPORTED = 0
DI_CC_SESSION_FAILOVER_FAILOVER_SUPPORTED = 1
DI_CC_SUB_SESSION_ID = 419
DI_CC_TIME = 420
DI_CC_TOTAL_OCTETS = 421
DI_CC_UNIT_TYPE = 454
DI_CC_UNIT_TYPE_INPUT_OCTETS = 3
DI_CC_UNIT_TYPE_MONEY = 1
DI_CC_UNIT_TYPE_OUTPUT_OCTETS = 4
DI_CC_UNIT_TYPE_SERVICE_SPECIFIC_UNITS = 5
DI_CC_UNIT_TYPE_TIME = 0
DI_CC_UNIT_TYPE_TOTAL_OCTETS = 2
DI_CHAP_ALGORITHM = 403
DI_CHAP_AUTH = 402
DI_CHAP_CHALLENGE = 60
DI_CHAP_IDENT = 404
DI_CHAP_RESPONSE = 405
DI_CHECK_BALANCE_RESULT = 422
DI_CLASS = 25
DI_CONFIGURATION_TOKEN = 78
DI_CONNECT_INFO = 77
DI_COST_INFORMATION = 423
DI_COST_UNIT = 424
DI_CREDIT_CONTROL = 426
DI_CREDIT_CONTROL_FAILURE_HANDLING = 427
DI_CREDIT_CONTROL_FAILURE_HANDLING_CONTINUE = 1
DI_CREDIT_CONTROL_FAILURE_HANDLING_RETRY_AND_TERMINATE = 2
DI_CREDIT_CONTROL_FAILURE_HANDLING_TERMINATE = 0
DI_CURRENCY_CODE = 425
DI_DESTINATION_HOST = 293
DI_DESTINATION_REALM = 283
DI_DIRECT_DEBITING_FAILURE_HANDLING = 428
DI_DIRECT_DEBITING_FAILURE_HANDLING_CONTINUE = 1
DI_DIRECT_DEBITING_FAILURE_HANDLING_TERMINATE_OR_BUFFER = 0
DI_DISCONNECT_CAUSE = 273
DI_DISCONNECT_CAUSE_BUSY = 1
DI_DISCONNECT_CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU = 2
DI_DISCONNECT_CAUSE_REBOOTING = 0
DI_DI_CHECK_BALANCE_RESULT_ENOUGH_CREDIT = 0
DI_DI_CHECK_BALANCE_RESULT_NO_CREDIT = 1
DI_DI_CREDIT_CONTROL_CREDIT_AUTHORIZATION = 0
DI_DI_CREDIT_CONTROL_RE_AUTHORIZATION = 1
DI_E2E_SEQUENCE_AVP = 300
DI_EAP_KEY_NAME = 102
DI_EAP_MASTER_SESSION_KEY = 464
DI_EAP_PAYLOAD = 462
DI_EAP_REISSUED_PAYLOAD = 463
DI_ERROR_MESSAGE = 281
DI_ERROR_REPORTING_HOST = 294
DI_EVENT_TIMESTAMP = 55
DI_EXPERIMENTAL_RESULT = 297
DI_EXPERIMENTAL_RESULT_CODE = 298
DI_EXPONENT = 429
DI_FAILED_AVP = 279
DI_FILTER_ID = 11
DI_FINAL_UNIT_ACTION = 449
DI_FINAL_UNIT_ACTION_REDIRECT = 1
DI_FINAL_UNIT_ACTION_RESTRICT_ACCESS = 2
DI_FINAL_UNIT_ACTION_TERMINATE = 0
DI_FINAL_UNIT_INDICATION = 430
DI_FIRMWARE_REVISION = 267
DI_FRAMED_APPLETALK_LINK = 37
DI_FRAMED_APPLETALK_NETWORK = 38
DI_FRAMED_APPLETALK_ZONE = 39
DI_FRAMED_COMPRESSION = 13
DI_FRAMED_INTERFACE_ID = 96
DI_FRAMED_IPV6_POOL = 100
DI_FRAMED_IPV6_PREFIX = 97
DI_FRAMED_IPV6_ROUTE = 99
DI_FRAMED_IPX_NETWORK = 23
DI_FRAMED_IP_ADDRESS = 8
DI_FRAMED_IP_NETMASK = 9
DI_FRAMED_MTU = 12
DI_FRAMED_POOL = 88
DI_FRAMED_PROTOCOL = 7
DI_FRAMED_ROUTE = 22
DI_FRAMED_ROUTING = 10
DI_GRANTED_SERVICE_UNIT = 431
DI_G_S_U_POOL_IDENTIFIER = 453
DI_G_S_U_POOL_REFERENCE = 457
DI_HOST_IP_ADDRESS = 257
DI_IDLE_TIMEOUT = 28
DI_INBAND_SECURITY_ID = 299
DI_INBAND_SECURITY_ID_NO_INBAND_SECURITY = 0
DI_INBAND_SECURITY_ID_TLS = 1
DI_LOGIN_IPV6_HOST = 98
DI_LOGIN_IP_HOST = 14
DI_LOGIN_LAT_GROUP = 36
DI_LOGIN_LAT_NODE = 35
DI_LOGIN_LAT_PORT = 63
DI_LOGIN_LAT_SERVICE = 34
DI_LOGIN_SERVICE = 15
DI_LOGIN_TCP_PORT = 16
DI_MULTIPLE_SERVICES_CREDIT_CONTROL = 456
DI_MULTIPLE_SERVICES_INDICATOR = 455
DI_MULTIPLE_SERVICES_INDICATOR_MULTIPLE_SERVICES_NOT_SUPPORTED = 0
DI_MULTIPLE_SERVICES_INDICATOR_MULTIPLE_SERVICES_SUPPORTED = 1
DI_MULTI_ROUND_TIME_OUT = 272
DI_NAS_FILTER_RULE = 400
DI_NAS_PORT = 5
DI_NAS_PORT_ID = 87
DI_NAS_PORT_TYPE = 61
DI_ORIGINATING_LINE_INFO = 94
DI_ORIGIN_HOST = 264
DI_ORIGIN_REALM = 296
DI_ORIGIN_STATE_ID = 278
DI_PASSWORD_RETRY = 75
DI_PORT_LIMIT = 62
DI_PRODUCT_NAME = 269
DI_PROMPT = 76
DI_PROXY_HOST = 280
DI_PROXY_INFO = 284
DI_PROXY_STATE = 33
DI_QOS_FILTER_RULE = 407
DI_RATING_GROUP = 432
DI_REDIRECT_ADDRESS_TYPE = 433
DI_REDIRECT_ADDRESS_TYPE_IPV4_ADDRESS = 0
DI_REDIRECT_ADDRESS_TYPE_IPV6_ADDRESS = 1
DI_REDIRECT_ADDRESS_TYPE_SIP_URL = 3
DI_REDIRECT_ADDRESS_TYPE_URL = 2
DI_REDIRECT_HOST = 292
DI_REDIRECT_HOST_USAGE = 261
DI_REDIRECT_HOST_USAGE_ALL_APPLICATION = 4
DI_REDIRECT_HOST_USAGE_ALL_HOST = 5
DI_REDIRECT_HOST_USAGE_ALL_REALM = 2
DI_REDIRECT_HOST_USAGE_ALL_SESSION = 1
DI_REDIRECT_HOST_USAGE_ALL_USER = 6
DI_REDIRECT_HOST_USAGE_DONT_CACHE = 0
DI_REDIRECT_HOST_USAGE_REALM_AND_APPLICATION = 3
DI_REDIRECT_MAX_CACHE_TIME = 262
DI_REDIRECT_SERVER = 434
DI_REDIRECT_SERVER_ADDRESS = 435
DI_REPLY_MESSAGE = 18
DI_REQUESTED_ACTION = 436
DI_REQUESTED_ACTION_CHECK_BALANCE = 2
DI_REQUESTED_ACTION_DIRECT_DEBITING = 0
DI_REQUESTED_ACTION_PRICE_ENQUIRY = 3
DI_REQUESTED_ACTION_REFUND_ACCOUNT = 1
DI_REQUESTED_SERVICE_UNIT = 437
DI_RESTRICTION_FILTER_RULE = 438
DI_RESULT_CODE = 268
DI_RE_AUTH_REQUEST_TYPE = 285
DI_RE_AUTH_REQUEST_TYPE_AUTHORIZE_AUTHENTICATE = 1
DI_RE_AUTH_REQUEST_TYPE_AUTHORIZE_ONLY = 0
DI_ROUTE_RECORD = 282
DI_SERVICE_CONTEXT_ID = 461
DI_SERVICE_IDENTIFIER = 439
DI_SERVICE_PARAMETER_INFO = 440
DI_SERVICE_PARAMETER_TYPE = 441
DI_SERVICE_PARAMETER_VALUE = 442
DI_SERVICE_TYPE = 6
DI_SESSION_BINDING = 270
DI_SESSION_BINDING_ACCOUNTING = 4
DI_SESSION_BINDING_RE_AUTH = 1
DI_SESSION_BINDING_STR = 2
DI_SESSION_ID = 263
DI_SESSION_SERVER_FAILOVER = 271
DI_SESSION_SERVER_FAILOVER_ALLOW_SERVICE = 2
DI_SESSION_SERVER_FAILOVER_REFUSE_SERVICE = 0
DI_SESSION_SERVER_FAILOVER_TRY_AGAIN = 1
DI_SESSION_SERVER_FAILOVER_TRY_AGAIN_ALLOW_SERVICE = 3
DI_SESSION_TIMEOUT = 27
DI_SUBSCRIPTION_ID = 443
DI_SUBSCRIPTION_ID_DATA = 444
DI_SUBSCRIPTION_ID_TYPE = 450
DI_SUBSCRIPTION_ID_TYPE_END_USER_E164 = 0
DI_SUBSCRIPTION_ID_TYPE_END_USER_IMSI = 1
DI_SUBSCRIPTION_ID_TYPE_END_USER_NAI = 3
DI_SUBSCRIPTION_ID_TYPE_END_USER_PRIVATE = 4
DI_SUBSCRIPTION_ID_TYPE_END_USER_SIP_URI = 2
DI_SUPPORTED_VENDOR_ID = 265
DI_TARIFF_CHANGE_USAGE = 452
DI_TARIFF_CHANGE_USAGE_UNIT_AFTER_TARIFF_CHANGE = 1
DI_TARIFF_CHANGE_USAGE_UNIT_BEFORE_TARIFF_CHANGE = 0
DI_TARIFF_CHANGE_USAGE_UNIT_INDETERMINATE = 2
DI_TARIFF_TIME_CHANGE = 451
DI_TERMINATION_CAUSE = 295
DI_TERMINATION_CAUSE_DIAMETER_ADMINISTRATIVE = 4
DI_TERMINATION_CAUSE_DIAMETER_AUTH_EXPIRED = 6
DI_TERMINATION_CAUSE_DIAMETER_BAD_ANSWER = 3
DI_TERMINATION_CAUSE_DIAMETER_LINK_BROKEN = 5
DI_TERMINATION_CAUSE_DIAMETER_LOGOUT = 1
DI_TERMINATION_CAUSE_DIAMETER_SERVICE_NOT_PROVIDED = 2
DI_TERMINATION_CAUSE_DIAMETER_SESSION_TIMEOUT = 8
DI_TERMINATION_CAUSE_DIAMETER_USER_MOVED = 7
DI_TUNNELING = 401
DI_TUNNEL_ASSIGNMENT_ID = 82
DI_TUNNEL_CLIENT_AUTH_ID = 90
DI_TUNNEL_CLIENT_ENDPOINT = 66
DI_TUNNEL_MEDIUM_TYPE = 65
DI_TUNNEL_PASSWORD = 69
DI_TUNNEL_PREFERENCE = 83
DI_TUNNEL_PRIVATE_GROUP_ID = 81
DI_TUNNEL_SERVER_AUTH_ID = 91
DI_TUNNEL_SERVER_ENDPOINT = 67
DI_TUNNEL_TYPE = 64
DI_UNIT_VALUE = 445
DI_USED_SERVICE_UNIT = 446
DI_USER_EQUIPMENT_INFO = 458
DI_USER_EQUIPMENT_INFO_TYPE = 459
DI_USER_EQUIPMENT_INFO_TYPE_EUI64 = 2
DI_USER_EQUIPMENT_INFO_TYPE_IMEISV = 0
DI_USER_EQUIPMENT_INFO_TYPE_MAC = 1
DI_USER_EQUIPMENT_INFO_TYPE_MODIFIED_EUI64 = 3
DI_USER_EQUIPMENT_INFO_VALUE = 460
DI_USER_NAME = 1
DI_USER_PASSWORD = 2
DI_VALIDITY_TIME = 448
DI_VALUE_DIGITS = 447
DI_VENDOR_ID = 266
DI_VENDOR_SPECIFIC_APPLICATION_ID = 260
__package__ = 'diameter.node'
abnf_asa = [(True, 1, 1, 263), (False, 1, 1, 268), (False, 1, 1, 264), (False, 1, 1, 296), (False, 0, 1, 1), (False, 0, 1, 278), (False, 0, 1, 281), (False, 0, 1, 294), (False, 0, None, 279), (False, 0, None, 292), (False, 0, 1, 261), (False, 0, 1, 262), (False, 0, None, 284), (False, 0, None, None)]
abnf_asr = [(True, 1, 1, 263), (False, 1, 1, 264), (False, 1, 1, 296), (False, 1, 1, 283), (False, 1, 1, 293), (False, 1, 1, 258), (False, 0, 1, 1), (False, 0, 1, 278), (False, 0, None, 284), (False, 0, None, 282), (False, 0, None, None)]
abnf_cea = [(False, 1, 1, 268), (False, 1, 1, 264), (False, 1, 1, 296), (False, 1, None, 257), (False, 1, 1, 266), (False, 1, 1, 269), (False, 0, 1, 278), (False, 0, 1, 281), (False, 0, 1, 279), (False, 0, None, 265), (False, 0, None, 258), (False, 0, None, 299), (False, 0, None, 259), (False, 0, None, 260), (False, 0, 1, 267), (False, 0, None, None)]
abnf_cer = [(False, 1, 1, 264), (False, 1, 1, 296), (False, 1, None, 257), (False, 1, 1, 266), (False, 1, 1, 269), (False, 0, 1, 278), (False, 0, None, 265), (False, 0, None, 258), (False, 0, None, 299), (False, 0, None, 259), (False, 0, None, 260), (False, 0, 1, 267), (False, 0, None, None)]
abnf_dpa = [(False, 1, 1, 268), (False, 1, 1, 264), (False, 1, 1, 296), (False, 0, 1, 281), (False, 0, 1, 279)]
abnf_dpr = [(False, 1, 1, 264), (False, 1, 1, 296), (False, 1, 1, 273)]
abnf_dwa = [(False, 1, 1, 268), (False, 1, 1, 264), (False, 1, 1, 296), (False, 0, 1, 281), (False, 0, 1, 279), (False, 0, 1, 278)]
abnf_dwr = [(False, 1, 1, 264), (False, 1, 1, 296), (False, 0, 1, 278)]
abnf_raa = [(True, 1, 1, 263), (False, 1, 1, 268), (False, 1, 1, 264), (False, 1, 1, 296), (False, 0, None, None)]
abnf_rar = [(True, 1, 1, 263), (False, 1, 1, 264), (False, 1, 1, 296), (False, 1, 1, 283), (False, 1, 1, 293), (False, 0, 1, 258), (False, 0, 1, 285), (False, 0, None, None)]
abnf_sta = [(True, 1, 1, 263), (False, 1, 1, 268), (False, 1, 1, 264), (False, 1, 1, 296), (False, 0, 1, 1), (False, 0, None, 25), (False, 0, 1, 281), (False, 0, 1, 294), (False, 0, None, 279), (False, 0, 1, 278), (False, 0, None, 292), (False, 0, 1, 261), (False, 0, 1, 262), (False, 0, None, 284), (False, 0, None, None)]
abnf_str = [(True, 1, 1, 263), (False, 1, 1, 264), (False, 1, 1, 296), (False, 1, 1, 283), (False, 1, 1, 258), (False, 1, 1, 295), (False, 0, 1, 1), (False, 0, 1, 293), (False, 0, None, 25), (False, 0, 1, 278), (False, 0, None, 284), (False, 0, None, 282), (False, 0, None, None)]
rfc3588_mandatory_codes = frozenset([1, 25, 27, 33, 44, 50, ...])
rfc4006_mandatory_codes = frozenset([412, 413, 414, 415, 416, 417, ...])