Management Information Base for Telephony Routing over IP (TRIP)
Extracted elements (27)
The MIB uses the RFC 2788 Network Services Monitoring framework to support multiple TRIP Location Server instances from a single entity. Each TRIP LS is identified by an applIndex from the applTable, allowing per-instance management.
TRIP is modeled after BGP-4 (RFC 1771), so the TRIP MIB managed objects are also modeled after RFC 1657 (BGP-4 MIB using SMIv2). This design choice leverages existing operator familiarity and proven patterns from inter-domain routing management.
If the size of tripRouteTypeAddr exceeds 111 sub-IDs, or tripPeerRemoteAddr exceeds 113 sub-IDs, the resulting OIDs will exceed 128 sub-IDs and cannot be accessed using SNMPv1, SNMPv2c, or SNMPv3.
A TRIP peer MAY send a Cease notification to close its connection at any time; however, the Cease notification MUST NOT be used when a fatal error occurs.
For row creation in tripSupportedCommunityTable, a value for tripSupportedCommunityItad MUST be set; if an instance already exists for a given applIndex the create operation will fail.
If the tripNotificationGroup is implemented, the tripNotifObjectGroup MUST also be implemented, and vice versa. Both groups are OPTIONAL for a compliant TRIP entity.
If tripCfgAdminStatus is down(2), then tripCfgOperStatus SHOULD be down(2). If tripCfgAdminStatus is changed to up(1), then tripCfgOperStatus SHOULD change to up(1) if no fault prevents the TRIP protocol from moving to that state.
The objects in the tripCfgTable SHOULD be nonVolatile and survive a reboot.
The tripCfgDisableTime indicates the interval that the TRIP module of the LS MUST be disabled while routes originated by this LS with high sequence numbers can be removed. Default is 180 seconds.
The tripCfgMaxPurgeTime indicates the interval that the LS MUST maintain routes marked as withdrawn in its database. Default is 10 seconds.
The tripCfgMinItadOriginationInterval specifies the minimum amount of time that MUST elapse between advertisements of update messages reporting changes within the LS's own ITAD. Default is 30 seconds.
The tripPeerConnectRetryInterval SHOULD double after each connection retry attempt up to the value of tripPeerMaxRetryInterval. The retry interval MUST always be less than or equal to tripPeerMaxRetryInterval.
Nine SNMP notifications are defined: tripConnectionEstablished, tripConnectionDropped, tripFSM, tripOpenMessageError, tripUpdateMessageError, tripHoldTimerExpired, tripConnectionCollision, tripCease, and tripNotificationErr, covering all significant TRIP FSM and error events.
The TripAddressFamily textual convention defines four address families for TRIP routes: decimal routing numbers (1), pentadecimal routing numbers (2), E.164 numbers (3), and other (255).
The TripAppProtocol textual convention enumerates application protocols supported by TRIP Location Servers: SIP (1), H.323-H.225.0-Q.931 (2), H.323-H.225.0-RAS (3), H.323-H.225.0-Annex-G (4), and other (255).
The tripCfgTable contains per-LS configuration objects indexed by applIndex, including ITAD, identifier, admin/oper status, address, port, timing intervals (MinItadOriginationInterval, MinRouteAdvertisementInterval, MaxPurgeTime, DisableTime), and send/receive mode.
The TripId textual convention is a 4-octet unsigned integer (Unsigned32) that uniquely identifies a Location Server within its ITAD. It may, but need not, represent an IPv4 address in network-byte order; it does not represent an IPv6 address.
The tripPeerStatisticsTable (augmenting tripPeerEntry) tracks per-peer counters: inbound and outbound UPDATE counts, total message counts, FSM established transition count, established time, elapsed time since last update, and the sysUpTime of the last state change.
The tripPeerTable contains per-peer configuration and state objects including remote address/port, peer identifier, FSM state, admin status, negotiated version, hold time, keepalive intervals, retry intervals, purge time, disable time, and whether the entry was learned or configured.
The tripRouteTable contains reachable route entries keyed by applIndex, application protocol, address family, address prefix, and peer. Each entry exposes TRIB membership (adjTribIns, extTrib, locTrib, adjTribOut), next-hop server, MED, local preference, advertisement path, routed path, atomic aggregate, unknown attributes, withdrawn flag, converted flag, and received time.
The tripRouteTRIBMask is a BITS object indicating which TRIBs (adj-TRIBs-ins, ext-TRIB, loc-TRIB, adj-TRIBs-out) a route entry belongs to, corresponding to RFC 3219 section 3.5.
The TripSendReceiveMode textual convention describes the operational mode of a TRIP entity: sendReceive (1), sendOnly (2), or receiveOnly (3).
Two compliance levels are defined: tripMIBFullCompliance (read-write, for monitoring and configuration) and tripMIBReadOnlyCompliance (read-only, monitoring only). Both require the applRFC2788Group from NETWORK-SERVICES-MIB.
The TRIP Textual Conventions MIB module (TRIP-TC-MIB) is assigned OID mib-2 115. The TRIP MIB module (TRIP-MIB) is assigned OID mib-2 116.
The MIB objects collectively allow tracing and influencing TRIP connections and reveal connection characteristics. Improper manipulation of read-write objects MAY result in denial of service by disrupting a large number of available routes. Implementations should use SNMPv3 with authentication and privacy to restrict access.
The TRIP Peer Finite State Machine defines six states: idle (initial, no connections allowed), connect (waiting for transport connection), active (listening for inbound connection only), openSent (OPEN sent, awaiting remote OPEN), openConfirm (OPEN exchanged and KEEPALIVE sent, awaiting KEEPALIVE or NOTIFICATION), and established (full message exchange permitted).
The tripRouteAdvertisementPath and tripRouteRoutedPath fields are OCTET STRINGs (SIZE 4..252) where each consecutive 4 octets represent one TRIP ITAD (Unsigned32) in network byte order, chosen for SMI compatibility over a native sequence-of-TripItad representation.