ARRIS-TR143-SPEED-TEST-MIB DEFINITIONS ::= BEGIN

IMPORTS
   MODULE-IDENTITY,
   OBJECT-TYPE,
   Integer32,
   Counter32,
   Counter64,
   IpAddress,
   Unsigned32
      FROM SNMPv2-SMI
   arrisProdIdCM
      FROM ARRIS-MIB
   TruthValue, DisplayString, TimeInterval, TimeStamp, DateAndTime, TEXTUAL-CONVENTION
      FROM SNMPv2-TC
   SnmpAdminString
      FROM SNMP-FRAMEWORK-MIB
   InetAddress,
   InetAddressType,
   InetPortNumber
      FROM INET-ADDRESS-MIB;

   arrisSpeedTestMib MODULE-IDENTITY
      LAST-UPDATED    "1411130000Z"  -- November 13, 2014
      ORGANIZATION    "ARRIS Broadband"
      CONTACT-INFO    "Rodney Osborne
                       Postal: ARRIS Broadband
                       3871 Lakefield Drive
                       Suite 300
                       Suwanee, GA 30024-1242
                       U.S.A.
                       Phone:  +1 770-473-5120
                       E-mail: rodney.osborne@arrisi.com"
      DESCRIPTION
       "This MIB module supplies the basic proprietary 
        management objects for ARRIS modems."

      -- Revision history
	  REVISION "1410290000Z"  -- October 29, 2014
         DESCRIPTION
      "Added arrisTR143Capabilities, arrisTR143DownloadDiagnostics,
	   arrisTR143UploadDiagnostics, arrisTR143UDPEchoConfig"
      REVISION    "1007160000Z"  -- July 16, 2010
         DESCRIPTION
      "Initial version"
::= { arrisProdIdCM 6 }

-- This MIB module contains the following groups.

-- arrisTR143 MIB objects --
arrisTR143MibObjects          OBJECT IDENTIFIER ::= { arrisSpeedTestMib 2 }

arrisTR143DownloadDiagnostics          OBJECT IDENTIFIER ::= { arrisTR143MibObjects 1 }

arrisTR143DownloadDiagnosticsState OBJECT-TYPE
    SYNTAX 	OCTET STRING (SIZE (0..32))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "Indicate the availability of diagnostic data. One of:
	None
	Requested
	Completed
	Error_InitConnectionFailed
	Error_NoResponse
	Error_TransferFailed
	Error_PasswordRequestFailed
	Error_LoginFailed
	Error_NoTransferMode
	Error_NoPASV
	Error_IncorrectSize
	Error_Timeout
	The only allowed value is Requested, when value is setted 
	to Requested,the CPE MUST initiate the corresponding 
	diagnostic test."
    ::= { arrisTR143DownloadDiagnostics 1 }

arrisTR143DownloadInterface OBJECT-TYPE
	SYNTAX 	OCTET STRING (SIZE (0..256))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "Specifies the IP-layer interface over which the test is
	to be performed.The value of this parameter MUST be either
	a valid	interface or an empty string.
	If an empty string is specified, the CPE MUST use
	the default routing interface."
    ::= { arrisTR143DownloadDiagnostics 2 }

arrisTR143DownloadURL OBJECT-TYPE
	SYNTAX 	OCTET STRING (SIZE (0..256))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "The URL for the CPE to perform	the download on. 
	This parameter MUST be in the form of a valid 
	HTTP or FTP URL."
    ::= { arrisTR143DownloadDiagnostics 3 }
	
arrisTR143DownloadTransports OBJECT-TYPE
    SYNTAX 	OCTET STRING (SIZE (0..256))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "Comma-separated list of supported 
	DownloadDiagnostics transport protocols for a CPE 
	device. Each item in the lis is an enumeration of:
	HTTP
	FTP(OPTIONAL)"
    ::= { arrisTR143DownloadDiagnostics 4 }

arrisTR143DownloadDSCP OBJECT-TYPE
	SYNTAX Unsigned32(0..63)
	MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "The DiffServ code point for marking packets
	transmitted in the test.
	The default value SHOULD be zero."
    ::= { arrisTR143DownloadDiagnostics 5 }

arrisTR143DownloadEthernetPriority OBJECT-TYPE
	SYNTAX Unsigned32(0..7)
	MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "Ethernet priority code for marking packets
	transmitted in the test (if applicable).
	The default value SHOULD be zero."
    ::= { arrisTR143DownloadDiagnostics 6 }	
	
arrisTR143DownloadROMTime OBJECT-TYPE
  SYNTAX  OCTET STRING (SIZE (0..31))
	MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "For HTTP this is the time at which the client sends
	the GET command.
	For FTP this is the time at which the client sends the
	RTRV command."
    ::= { arrisTR143DownloadDiagnostics 7 }	

arrisTR143DownloadBOMTime OBJECT-TYPE
  SYNTAX  OCTET STRING (SIZE (0..31))
	MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "For HTTP this is the time at which the first data
	packet is received.
	For FTP this is the time at which the client receives
	the first data packet on the data connection."
    ::= { arrisTR143DownloadDiagnostics 8 }	

arrisTR143DownloadEOMTime OBJECT-TYPE
  SYNTAX  OCTET STRING (SIZE (0..31))
	MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "For HTTP this is the time at which the last data
	packet is received.
	For FTP this is the time at which the client receives
	the last packet on the data connection."
    ::= { arrisTR143DownloadDiagnostics 9 }	

arrisTR143DownloadTestBytesReceived OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "The test traffic received in bytes during the
	FTP/HTTP transaction including FTP/HTTP headers,
	between BOMTime and EOMTime"
    ::= { arrisTR143DownloadDiagnostics 10 }	

arrisTR143DownloadTotalBytesReceived OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "The total number of bytes received on the Interface
	between BOMTime and EOMTime."
    ::= { arrisTR143DownloadDiagnostics 11 }

arrisTR143DownloadTCPOpenRequestTime OBJECT-TYPE
  SYNTAX  OCTET STRING (SIZE (0..31))
	MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "For HTTP this is the time at which the TCP socket
	open (SYN) was sent for the HTTP connection.
	For FTP this is the time at which the TCP socket
	open (SYN) was sent for the data connection."
    ::= { arrisTR143DownloadDiagnostics 12 }

arrisTR143DownloadTCPOpenResponseTime OBJECT-TYPE
  SYNTAX  OCTET STRING (SIZE (0..31))
	MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "For HTTP this is the time at which the TCP ACK to
	the socket opening the HTTP connection was received.
	For FTP this is the time at which the TCP ACK to the
	socket opening the data connection was received"
    ::= { arrisTR143DownloadDiagnostics 13 }

arrisTR143DownloadThroughput OBJECT-TYPE
  SYNTAX  OCTET STRING (SIZE (0..31))
	MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "Indicates the calculated throughput of the most 
    recently completed file transfer.This value is 
    calculated by dividing arrisTR143DownloadTotalBytesReceived 
    by (arrisTR143DownloadEOMTime - arrisTR143DownloadBOMTime)
    with bps as unit."
    ::= { arrisTR143DownloadDiagnostics 14 }

arrisTR143UploadDiagnostics          OBJECT IDENTIFIER ::= { arrisTR143MibObjects 2 }

arrisTR143UploadDiagnosticsState OBJECT-TYPE
    SYNTAX 	OCTET STRING (SIZE (0..32))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "Indicate the availability of diagnostic data. One of:
	None
	Requested
	Completed
	Error_InitConnectionFailed
	Error_NoResponse
	Error_TransferFailed
	Error_PasswordRequestFailed
	Error_LoginFailed
	Error_NoTransferMode
	Error_NoPASV
	Error_IncorrectSize
	Error_Timeout
	The only allowed value is Requested, when value is setted 
	to Requested,the CPE MUST initiate the corresponding 
	diagnostic test."
    ::= { arrisTR143UploadDiagnostics 1 }

arrisTR143UploadInterface OBJECT-TYPE
	SYNTAX 	OCTET STRING (SIZE (0..256))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "Specifies the IP-layer interface over which the test is
	to be performed.The value of this parameter MUST be either
	a valid	interface or an empty string.
	If an empty string is specified, the CPE MUST use
	the default routing interface."
    ::= { arrisTR143UploadDiagnostics 2 }

arrisTR143UploadURL OBJECT-TYPE
	SYNTAX 	OCTET STRING (SIZE (0..256))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "The URL for the CPE to perform	the download on. 
	This parameter MUST be in the form of a valid 
	HTTP or FTP URL."
    ::= { arrisTR143UploadDiagnostics 3 }
	
arrisTR143UploadTransports OBJECT-TYPE
    SYNTAX 	OCTET STRING (SIZE (0..256))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "Comma-separated list of supported 
	UploadDiagnostics transport protocols for a CPE 
	device. Each item in the lis is an enumeration of:
	HTTP
	FTP(OPTIONAL)"
    ::= { arrisTR143UploadDiagnostics 4 }

arrisTR143UploadDSCP OBJECT-TYPE
	SYNTAX Unsigned32(0..63)
	MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "The DiffServ code point for marking packets
	transmitted in the test.
	The default value SHOULD be zero."
    ::= { arrisTR143UploadDiagnostics 5 }

arrisTR143UploadEthernetPriority OBJECT-TYPE
	SYNTAX Unsigned32(0..7)
	MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "Ethernet priority code for marking packets
	transmitted in the test (if applicable).
	The default value SHOULD be zero."
    ::= { arrisTR143UploadDiagnostics 6 }

arrisTR143UploadROMTime OBJECT-TYPE
  SYNTAX  OCTET STRING (SIZE (0..31))
	MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "For HTTP this is the time at which the client sends
	the PUT command.
	For FTP this is the time at which the STOR
	command is sent."
    ::= { arrisTR143UploadDiagnostics 7 }	

arrisTR143UploadBOMTime OBJECT-TYPE
  SYNTAX  OCTET STRING (SIZE (0..31))
	MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "For HTTP this is the time at which the first data
	packet is sent.
	For FTP this is the time at which the client receives
	the ready for transfer notification."
    ::= { arrisTR143UploadDiagnostics 8 }	

arrisTR143UploadEOMTime OBJECT-TYPE
  SYNTAX  OCTET STRING (SIZE (0..31))
	MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "For HTTP this is the time when the HTTP successful
	response code is received.
	For FTP this is the time when the client receives a
	transfer complete."
    ::= { arrisTR143UploadDiagnostics 9 }

arrisTR143UploadTestFileLength OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "The size of the file (in bytes) to be uploaded 
	to the server."
    ::= { arrisTR143UploadDiagnostics 10 }
	
arrisTR143UploadTotalBytesSent OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "The total number of bytes sent on the Interface
	between BOMTime and EOMTime."
    ::= { arrisTR143UploadDiagnostics 11 }	

arrisTR143UploadTCPOpenRequestTime OBJECT-TYPE
  SYNTAX  OCTET STRING (SIZE (0..31))
	MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "For HTTP this is the time at which the TCP socket
	open (SYN) was sent for the HTTP connection.
	For FTP this is the time at which the TCP socket
	open (SYN) was sent for the data connection"
    ::= { arrisTR143UploadDiagnostics 12 }

arrisTR143UploadTCPOpenResponseTime OBJECT-TYPE
  SYNTAX  OCTET STRING (SIZE (0..31))
	MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "For HTTP this is the Time at which the TCP ACK to
	the socket opening the HTTP connection was received.
	For FTP this is the Time at which the TCP ACK to
	the socket opening the Data connection was received."
    ::= { arrisTR143UploadDiagnostics 13 }
    
arrisTR143UploadThroughput OBJECT-TYPE
  SYNTAX  OCTET STRING (SIZE (0..31))
	MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "Indicates the calculated throughput of the most 
    recently completed file transfer.This value is 
    calculated by dividing arrisTR143UploadTotalBytesSent 
    by (arrisTR143UploadEOMTime - arrisTR143UploadBOMTime)
    with bps as unit."
    ::= { arrisTR143UploadDiagnostics 14 }   

	
arrisTR143UDPEchoConfig          OBJECT IDENTIFIER ::= { arrisTR143MibObjects 3 }

arrisTR143UDPEchoEnable OBJECT-TYPE
	SYNTAX TruthValue
	MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "Enable to receive UDP echo. When enabled from 
	a disabled state all related timestamps, 
	statistics and UDP Echo Plus counters are cleared."
    ::= { arrisTR143UDPEchoConfig 1 }

arrisTR143UDPEchoInterface OBJECT-TYPE
	SYNTAX 	OCTET STRING (SIZE (0..256))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "IP-layer interface over which the CPE MUST listen
	and receive UDP echo requests on.
	The value of this parameter MUST be either a valid
	interface or an empty string.
	If an empty string is specified, the CPE MUST use
	the default routing interface."
    ::= { arrisTR143UDPEchoConfig 2 }

arrisTR143UDPEchoSourceIPAddress OBJECT-TYPE
	SYNTAX 	OCTET STRING (SIZE (0..64))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "The Source IP address of the UDP echo packet. 
	The CPE MUST only respond to a UDP echo from this
	source IP address."
    ::= { arrisTR143UDPEchoConfig 3 }

arrisTR143UDPEchoUDPPort OBJECT-TYPE
	SYNTAX      Unsigned32 (1..65535)
	MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "The UDP port on which the UDP server MUST listen
	and respond to UDP echo requests."
    ::= { arrisTR143UDPEchoConfig 4 }

arrisTR143UDPEchoPlusEnabled OBJECT-TYPE
	SYNTAX      TruthValue
	MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "If True the CPE will perform necessary packet
	processing for UDP Echo Plus packets."
    ::= { arrisTR143UDPEchoConfig 5 }

arrisTR143UDPEchoPlusSupported OBJECT-TYPE
	SYNTAX      TruthValue
	MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "True if UDP Echo Plus is supported."
    ::= { arrisTR143UDPEchoConfig 6 }

arrisTR143UDPEchoPacketsReceived OBJECT-TYPE
	SYNTAX      Unsigned32
	MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "Incremented upon each valid UDP echo packet 
	received."
    ::= { arrisTR143UDPEchoConfig 7 }	

arrisTR143UDPEchoPacketsResponded OBJECT-TYPE
	SYNTAX      Unsigned32
	MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "Incremented for each UDP echo response sent."
    ::= { arrisTR143UDPEchoConfig 8	}

arrisTR143UDPEchoBytesReceived OBJECT-TYPE
	SYNTAX      Unsigned32
	MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "The number of UDP received bytes including
	payload and UDP header after the UDPEchoConfig
	is enabled."
    ::= { arrisTR143UDPEchoConfig 9	}

arrisTR143UDPEchoBytesResponded OBJECT-TYPE
	SYNTAX      Unsigned32
	MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "The number of UDP responded bytes, including
	payload and UDP header sent after the
	UDPEchoConfig is enabled."
    ::= { arrisTR143UDPEchoConfig 10 }

arrisTR143UDPEchoTimeFirstPacketReceived OBJECT-TYPE
  SYNTAX  OCTET STRING (SIZE (0..31))
	MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "The time that the server receives the first UDP 
	echo packet after the UDPEchoConfig is enabled."
    ::= { arrisTR143UDPEchoConfig 11 }

arrisTR143UDPEchoTimeLastPacketReceived OBJECT-TYPE
  SYNTAX  OCTET STRING (SIZE (0..31))
	MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "The time that the server receives the most recent
	UDP echo packet."
    ::= { arrisTR143UDPEchoConfig 12 }
    
END
