IPI-TWAMP-SESSION-MIB DEFINITIONS ::= BEGIN

IMPORTS
      OBJECT-TYPE, MODULE-IDENTITY,
      Gauge32, Counter32, Integer32, Unsigned32,
      IpAddress, Counter64,
      TimeTicks, NOTIFICATION-TYPE
          FROM SNMPv2-SMI
      DateAndTime, DisplayString,
      PhysAddress, RowStatus, TEXTUAL-CONVENTION
          FROM SNMPv2-TC
      MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
          FROM SNMPv2-CONF
      snmpTraps
          FROM SNMPv2-MIB
      enterprises, OBJECT-IDENTITY
          FROM SNMPv2-SMI
      Ipv6Address
          FROM IPV6-TC
      ipi  FROM IPI-MODULE-MIB;

ipi-twamp-session MODULE-IDENTITY
   LAST-UPDATED "202505150000Z"

ORGANIZATION "IP Infusion"
CONTACT-INFO "support@ipinfusion.com"
   DESCRIPTION 
      "This MIB module is for managing This module provides TWAMP Session configuration"

   REVISION      "202505150000Z"
   DESCRIPTION 
      "Default value of the VRF set to default"

   REVISION      "202505020000Z"
   DESCRIPTION 
      "Fixed types for time value leaves"

   REVISION      "202503260000Z"
   DESCRIPTION 
      "Removed CLI shut all"

   REVISION      "202503220000Z"
   DESCRIPTION 
      "Updated sender-ip and reflector-ip datatype and added pattern for vrf-name"

   REVISION      "202503130000Z"
   DESCRIPTION 
      "Initial Version"
   ::= { ipi  1604 } 


ipiTwampSessionSessionssessionTable OBJECT-TYPE 
	SYNTAX SEQUENCE OF IpiTwampSessionSessionssessionEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION 
		"This table provides information for TWAMP Session list"
	::= { ipi-twamp-session 1 }

ipiTwampSessionSessionssessionEntry OBJECT-TYPE
	SYNTAX IpiTwampSessionSessionssessionEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION 
		"An entry containing information for TWAMP Session list"
	INDEX { ipiTwampSessionSessionSessionName }
	::= { ipiTwampSessionSessionssessionTable 1 }

IpiTwampSessionSessionssessionEntry::= SEQUENCE { 
	ipiTwampSessionSessionSessionName OCTET STRING,
	ipiTwampSessionSessionStartTime DateAndTime,
	ipiTwampSessionSessionElapsedTime Unsigned32,
	ipiTwampSessionLastCalculatedCalculationTime DateAndTime,
	ipiTwampSessionLastCalculatedMinimumDelay Counter64,
	ipiTwampSessionLastCalculatedMaximumDelay Counter64,
	ipiTwampSessionLastCalculatedAverageDelay Counter64,
	ipiTwampSessionLastCalculatedMinimumDelayVariation Counter64,
	ipiTwampSessionLastCalculatedMaximumDelayVariation Counter64,
	ipiTwampSessionLastCalculatedAverageDelayVariation Counter64,
	ipiTwampSessionLastCalculatedPacketsSent Counter64,
	ipiTwampSessionLastCalculatedPacketsReceived Counter64,
	ipiTwampSessionLastCalculatedPacketsTimeout Counter64,
	ipiTwampSessionLastCalculatedPacketLoss INTEGER,
	ipiTwampSessionLastNotifiedTimeNotifiedPacketLoss DateAndTime,
	ipiTwampSessionLastNotifiedPacketLoss INTEGER,
	ipiTwampSessionLastNotifiedTimeNotifiedAverageDelay DateAndTime,
	ipiTwampSessionLastNotifiedAverageDelay Counter64,
	ipiTwampSessionPacketsPacketsSent Counter64,
	ipiTwampSessionPacketsPacketsReceived Counter64,
	ipiTwampSessionPacketsPacketLoss INTEGER,
	ipiTwampSessionRoundTripDelayMinimum Counter64,
	ipiTwampSessionRoundTripDelayMaximum Counter64,
	ipiTwampSessionRoundTripDelayAverage Counter64,
	ipiTwampSessionRoundForwardDelayMinimum Counter64,
	ipiTwampSessionRoundForwardDelayMaximum Counter64,
	ipiTwampSessionRoundForwardDelayAverage Counter64,
	ipiTwampSessionReverseDelayMinimum Counter64,
	ipiTwampSessionReverseDelayMaximum Counter64,
	ipiTwampSessionReverseDelayAverage Counter64,
	ipiTwampSessionRoundTripDelayVariationMinimum Counter64,
	ipiTwampSessionRoundTripDelayVariationMaximum Counter64,
	ipiTwampSessionRoundTripDelayVariationAverage Counter64,
	ipiTwampSessionForwardDelayVariationMinimum Counter64,
	ipiTwampSessionForwardDelayVariationMaximum Counter64,
	ipiTwampSessionForwardDelayVariationAverage Counter64,
	ipiTwampSessionReverseDelayVariationMinimum Counter64,
	ipiTwampSessionReverseDelayVariationMaximum Counter64,
	ipiTwampSessionReverseDelayVariationAverage Counter64	}

ipiTwampSessionSessionSessionName OBJECT-TYPE
	SYNTAX OCTET STRING 
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"TWAMP End-to-End Session name"
	::= { ipiTwampSessionSessionssessionEntry 1 }

ipiTwampSessionSessionStartTime OBJECT-TYPE
	SYNTAX DateAndTime 
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This attribute represents the start time of a Test Session"
	::= { ipiTwampSessionSessionssessionEntry 2 }

ipiTwampSessionSessionElapsedTime OBJECT-TYPE
	SYNTAX Unsigned32 
	UNITS "milliseconds"
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This attribute represents the elapsed time of a Test Session"
	::= { ipiTwampSessionSessionssessionEntry 3 }

ipiTwampSessionLastCalculatedCalculationTime OBJECT-TYPE
	SYNTAX DateAndTime 
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This attribute represents the time at which a calculation was made"
	::= { ipiTwampSessionSessionssessionEntry 4 }

ipiTwampSessionLastCalculatedMinimumDelay OBJECT-TYPE
	SYNTAX Counter64 
	UNITS "microseconds"
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This attribute represents the minimum delay value"
	::= { ipiTwampSessionSessionssessionEntry 5 }

ipiTwampSessionLastCalculatedMaximumDelay OBJECT-TYPE
	SYNTAX Counter64 
	UNITS "microseconds"
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This attribute represents the maximum delay value"
	::= { ipiTwampSessionSessionssessionEntry 6 }

ipiTwampSessionLastCalculatedAverageDelay OBJECT-TYPE
	SYNTAX Counter64 
	UNITS "microseconds"
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This attribute represents the average delay value"
	::= { ipiTwampSessionSessionssessionEntry 7 }

ipiTwampSessionLastCalculatedMinimumDelayVariation OBJECT-TYPE
	SYNTAX Counter64 
	UNITS "microseconds"
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This attribute represents the minimum delay variation value"
	::= { ipiTwampSessionSessionssessionEntry 8 }

ipiTwampSessionLastCalculatedMaximumDelayVariation OBJECT-TYPE
	SYNTAX Counter64 
	UNITS "microseconds"
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This attribute represents the maximum delay variation value"
	::= { ipiTwampSessionSessionssessionEntry 9 }

ipiTwampSessionLastCalculatedAverageDelayVariation OBJECT-TYPE
	SYNTAX Counter64 
	UNITS "microseconds"
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This attribute represents the average delay variation value"
	::= { ipiTwampSessionSessionssessionEntry 10 }

ipiTwampSessionLastCalculatedPacketsSent OBJECT-TYPE
	SYNTAX Counter64 
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This attribute represents the amount of sent packets in a measurement interval"
	::= { ipiTwampSessionSessionssessionEntry 11 }

ipiTwampSessionLastCalculatedPacketsReceived OBJECT-TYPE
	SYNTAX Counter64 
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This attribute represents the amount of received packets in a measurement interval"
	::= { ipiTwampSessionSessionssessionEntry 12 }

ipiTwampSessionLastCalculatedPacketsTimeout OBJECT-TYPE
	SYNTAX Counter64 
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This attribute represents the amount of lost packets in a measurement interval"
	::= { ipiTwampSessionSessionssessionEntry 13 }

ipiTwampSessionLastCalculatedPacketLoss OBJECT-TYPE
	SYNTAX INTEGER 
	UNITS "0.000100"
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This attribute represents the percentage of lost packets in a measurement interval"
	::= { ipiTwampSessionSessionssessionEntry 14 }

ipiTwampSessionLastNotifiedTimeNotifiedPacketLoss OBJECT-TYPE
	SYNTAX DateAndTime 
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This attribute represents the time at which the packet loss was notified"
	::= { ipiTwampSessionSessionssessionEntry 15 }

ipiTwampSessionLastNotifiedPacketLoss OBJECT-TYPE
	SYNTAX INTEGER 
	UNITS "0.000100"
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This attribute represents the amount of lost packets for a Session that has been notified"
	::= { ipiTwampSessionSessionssessionEntry 16 }

ipiTwampSessionLastNotifiedTimeNotifiedAverageDelay OBJECT-TYPE
	SYNTAX DateAndTime 
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This attribute represents the time at which the average delay was notified"
	::= { ipiTwampSessionSessionssessionEntry 17 }

ipiTwampSessionLastNotifiedAverageDelay OBJECT-TYPE
	SYNTAX Counter64 
	UNITS "microseconds"
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This attribute represents the average delay value that has been notified"
	::= { ipiTwampSessionSessionssessionEntry 18 }

ipiTwampSessionPacketsPacketsSent OBJECT-TYPE
	SYNTAX Counter64 
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This attribute represents the amount of sent packets for a session"
	::= { ipiTwampSessionSessionssessionEntry 19 }

ipiTwampSessionPacketsPacketsReceived OBJECT-TYPE
	SYNTAX Counter64 
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This attribute represents the amount of received packets for a session"
	::= { ipiTwampSessionSessionssessionEntry 20 }

ipiTwampSessionPacketsPacketLoss OBJECT-TYPE
	SYNTAX INTEGER 
	UNITS "0.000100"
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This attribute represents the amount of lost packets for a session"
	::= { ipiTwampSessionSessionssessionEntry 21 }

ipiTwampSessionRoundTripDelayMinimum OBJECT-TYPE
	SYNTAX Counter64 
	UNITS "microseconds"
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This attribute represents the minimum value within the statistics"
	::= { ipiTwampSessionSessionssessionEntry 22 }

ipiTwampSessionRoundTripDelayMaximum OBJECT-TYPE
	SYNTAX Counter64 
	UNITS "microseconds"
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This attribute represents the maximum value within the statistics"
	::= { ipiTwampSessionSessionssessionEntry 23 }

ipiTwampSessionRoundTripDelayAverage OBJECT-TYPE
	SYNTAX Counter64 
	UNITS "microseconds"
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This attribute represents the average value within the statistics"
	::= { ipiTwampSessionSessionssessionEntry 24 }

ipiTwampSessionRoundForwardDelayMinimum OBJECT-TYPE
	SYNTAX Counter64 
	UNITS "microseconds"
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This attribute represents the minimum value within the statistics"
	::= { ipiTwampSessionSessionssessionEntry 25 }

ipiTwampSessionRoundForwardDelayMaximum OBJECT-TYPE
	SYNTAX Counter64 
	UNITS "microseconds"
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This attribute represents the maximum value within the statistics"
	::= { ipiTwampSessionSessionssessionEntry 26 }

ipiTwampSessionRoundForwardDelayAverage OBJECT-TYPE
	SYNTAX Counter64 
	UNITS "microseconds"
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This attribute represents the average value within the statistics"
	::= { ipiTwampSessionSessionssessionEntry 27 }

ipiTwampSessionReverseDelayMinimum OBJECT-TYPE
	SYNTAX Counter64 
	UNITS "microseconds"
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This attribute represents the minimum value within the statistics"
	::= { ipiTwampSessionSessionssessionEntry 28 }

ipiTwampSessionReverseDelayMaximum OBJECT-TYPE
	SYNTAX Counter64 
	UNITS "microseconds"
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This attribute represents the maximum value within the statistics"
	::= { ipiTwampSessionSessionssessionEntry 29 }

ipiTwampSessionReverseDelayAverage OBJECT-TYPE
	SYNTAX Counter64 
	UNITS "microseconds"
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This attribute represents the average value within the statistics"
	::= { ipiTwampSessionSessionssessionEntry 30 }

ipiTwampSessionRoundTripDelayVariationMinimum OBJECT-TYPE
	SYNTAX Counter64 
	UNITS "microseconds"
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This attribute represents the minimum value within the statistics"
	::= { ipiTwampSessionSessionssessionEntry 31 }

ipiTwampSessionRoundTripDelayVariationMaximum OBJECT-TYPE
	SYNTAX Counter64 
	UNITS "microseconds"
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This attribute represents the maximum value within the statistics"
	::= { ipiTwampSessionSessionssessionEntry 32 }

ipiTwampSessionRoundTripDelayVariationAverage OBJECT-TYPE
	SYNTAX Counter64 
	UNITS "microseconds"
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This attribute represents the average value within the statistics"
	::= { ipiTwampSessionSessionssessionEntry 33 }

ipiTwampSessionForwardDelayVariationMinimum OBJECT-TYPE
	SYNTAX Counter64 
	UNITS "microseconds"
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This attribute represents the minimum value within the statistics"
	::= { ipiTwampSessionSessionssessionEntry 34 }

ipiTwampSessionForwardDelayVariationMaximum OBJECT-TYPE
	SYNTAX Counter64 
	UNITS "microseconds"
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This attribute represents the maximum value within the statistics"
	::= { ipiTwampSessionSessionssessionEntry 35 }

ipiTwampSessionForwardDelayVariationAverage OBJECT-TYPE
	SYNTAX Counter64 
	UNITS "microseconds"
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This attribute represents the average value within the statistics"
	::= { ipiTwampSessionSessionssessionEntry 36 }

ipiTwampSessionReverseDelayVariationMinimum OBJECT-TYPE
	SYNTAX Counter64 
	UNITS "microseconds"
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This attribute represents the minimum value within the statistics"
	::= { ipiTwampSessionSessionssessionEntry 37 }

ipiTwampSessionReverseDelayVariationMaximum OBJECT-TYPE
	SYNTAX Counter64 
	UNITS "microseconds"
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This attribute represents the maximum value within the statistics"
	::= { ipiTwampSessionSessionssessionEntry 38 }

ipiTwampSessionReverseDelayVariationAverage OBJECT-TYPE
	SYNTAX Counter64 
	UNITS "microseconds"
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This attribute represents the average value within the statistics"
	::= { ipiTwampSessionSessionssessionEntry 39 }


--
-- Notifications
--

ipiCMLSEPtwampCMLSEPsessionNotificationsPrefix OBJECT IDENTIFIER ::=
        { ipi-twamp-session 0 }

twampsessionmeasurementthresholdcrossed NOTIFICATION-TYPE
   OBJECTS { ipiTwampSessionSessionSessionName, ipiTwampSessionLastCalculatedAverageDelay }
   STATUS  current
   DESCRIPTION
           "Indicates that the TWAMP Session Measurement has crossed the configured threshold"
   ::= { ipiCMLSEPtwampCMLSEPsessionNotificationsPrefix 1 }

twampsessionmeasurementlosschanged NOTIFICATION-TYPE
   OBJECTS { ipiTwampSessionSessionSessionName, ipiTwampSessionLastCalculatedPacketLoss }
   STATUS  current
   DESCRIPTION
           "Indicates that the TWAMP Session Measurement loss has changed"
   ::= { ipiCMLSEPtwampCMLSEPsessionNotificationsPrefix 2 }
END
