-- ****************************************************************************
-- ****************************************************************************
--
--             Copyright(c) 2001-2003 Mediatrix Telecom, Inc.
--
--  NOTICE:
--   This document contains information that is confidential and proprietary to
--   Mediatrix Telecom, Inc.
--
--   Mediatrix Telecom, Inc. reserves all rights to this document as well as to
--   the Intellectual Property of the document and the technology and know-how
--   that it includes and represents.
--
--   This publication cannot be reproduced, neither in whole nor in part, in any
--   form whatsoever, without prior written approval by Mediatrix Telecom, Inc.
--
--   Mediatrix Telecom, Inc. reserves the right to revise this publication and
--   make changes at any time and without the obligation to notify any person
--   and/or entity of such revisions and/or changes.
--
-- ****************************************************************************
-- ****************************************************************************

MX-TC
DEFINITIONS ::= BEGIN

IMPORTS
        TEXTUAL-CONVENTION
    FROM SNMPv2-TC
        MODULE-IDENTITY,
        Unsigned32
    FROM SNMPv2-SMI
        mediatrixModules
    FROM MX-SMI;

mxTextualConventions MODULE-IDENTITY
    LAST-UPDATED "0303110000Z"
    ORGANIZATION "Mediatrix Telecom, Inc."
    CONTACT-INFO "Mediatrix Telecom, Inc. 
                  4229, Garlock Street
                  Sherbrooke (Quebec)
                  Canada
                  Phone: (819) 829-8749
                  "
    DESCRIPTION "This MIB describes Mediatrix textual conventions used in
                 Mediatrix enterprise MIBs."
    -- ************************************************************************
    -- Revision history
    -- ************************************************************************
    REVISION    "0303110000Z"
    DESCRIPTION "March 11, 2003
                    Added MxDigitMap and MxSignalingAddress.
                 March 3, 2003
                    Added new type MxActivationState to represent boolean
                    active/inactive states.
                 December 12, 2002
                    Created new type MxEnableState to represent boolean
                    enabled/disabled states. Also changed MxIpAddress and
                    MxIpHostName's sizes to (0..255) and updated
                    MxIpConfigSource's description.
                 February 22, 2002
                    Created new type MxAdvancedIpPort to reinclude zero
                    value for TCP/UPD port number.    
                 October 25, 2001
                    Excluded zero from TCP/UDP port number range.
                 August 07, 2001
                    Creation"
    ::= { mediatrixModules 1 }

MxIpHostName ::= TEXTUAL-CONVENTION
    STATUS    current
    DESCRIPTION
        "Represents an IP address or a domain name."
    SYNTAX OCTET STRING (SIZE (0..255))
    
MxIpAddress ::= TEXTUAL-CONVENTION
    STATUS    current
    DESCRIPTION
        "Represents an IP address."
    SYNTAX OCTET STRING (SIZE (0..255))

MxIpPort ::= TEXTUAL-CONVENTION
    STATUS    current
    DESCRIPTION
        "The TCP or UDP port number range."
    SYNTAX Unsigned32 ( 1..65535 )

MxAdvancedIpPort ::= TEXTUAL-CONVENTION
    STATUS    current
    DESCRIPTION
        "The TCP or UDP port number range.
         The port number value 0 will be used for special
         functionnality which will be defined in the variable
         definition."
    SYNTAX Unsigned32 ( 0..65535 )

MxIpSubnetMask ::= TEXTUAL-CONVENTION
    STATUS    current
    DESCRIPTION
        "Represents an Internet subnet mask."
    SYNTAX OCTET STRING (SIZE (1..255))

MxIpSelectConfigSource ::= TEXTUAL-CONVENTION
    STATUS    current
    DESCRIPTION
        "Indicates the source to use during the next boot sequence
         for the provisioning of the localHost MIB objects.
         
             static  -> static values provided by the user are used
                        such as DNS addresses, router etc.

             dhcp    -> the DHCP (Dynamic host configuration protocol)
                        is used to retrieve the configuration of the
                        localHost MIB objects."
    SYNTAX INTEGER { 
                      static(0),
                      dhcp(1)
                    }

MxIpConfigSource ::= TEXTUAL-CONVENTION
    STATUS    current
    DESCRIPTION
        "Indicates the source used during the last boot sequence
         for the provisioning of the localHost MIB objects.
         
             static  -> static values were provided by the user
                        such as DNS addresses, router etc.

             dhcp    -> the DHCP (Dynamic host configuration protocol)
                        was used to retrieve the configuration of the
                        localHost MIB objects.

             default -> hardcoded values for recovery mode were used."
    SYNTAX INTEGER { 
                      static(0),
                      dhcp(1),
                      default(99)
                    }
MxIpDhcpSiteSpecificCode ::= TEXTUAL-CONVENTION
    STATUS    current
    DESCRIPTION
        "Represents a DHCP site specific code."
    SYNTAX Unsigned32 (0 | 128..254)

MxFloatingPoint ::= TEXTUAL-CONVENTION
    STATUS    current
    DESCRIPTION
        "Represents a floating point number."
    SYNTAX OCTET STRING (SIZE (1..255))

MxEnableState ::= TEXTUAL-CONVENTION
    STATUS    current
    DESCRIPTION
        "Represents an enabled/disabled state (boolean value)."
    SYNTAX INTEGER {
                      disable(0),
                      enable(1)
                   }

MxActivationState ::= TEXTUAL-CONVENTION
    STATUS    current
    DESCRIPTION
        "Represents an active/inactive state (boolean value)."
    SYNTAX INTEGER {
                      inactive(0),
                      active(1)
                   }

MxSignalingAddress ::= TEXTUAL-CONVENTION
    STATUS    current
    DESCRIPTION
        "Represents a valid signaling address.

         This variable's semantics are different depending on protocol and/or
         hardware platforms.
         Please refer to the documentation shipped with your device for more details."
    SYNTAX OCTET STRING (SIZE(0..255))


MxDigitMap ::= TEXTUAL-CONVENTION
    STATUS    current
    DESCRIPTION
        "A digit map is a sequence that is used to determine when the dialing of DTMFs is completed.

         The permitted digit map syntax is taken from the core MGCP specification,
         RFC2705: ftp://ftp.rfc-editor.org/in-notes/rfc2705.txt, section 3.4.

         Legend:
             'x' ==> any digit
             '.' ==> any number of

         DigitMap           = DigitString  / '(' DigitStringList ')' 
         DigitStringList    = DigitString 0*( '|' DigitString )
         DigitString        = 1*(DigitStringElement)
         DigitStringElement = DigitPosition ['.']
         DigitPosition      = DigitMapLetter / DigitMapRange
         DigitMapLetter     = DIGIT / '#' / '*' / 'A' / 'B' / 'C' / 'D' / 'T'
         DigitMapRange      = 'x' / '[' 1*DigitLetter ']'
         DigitLetter        = *((DIGIT '-' DIGIT ) / DigitMapLetter)

         For example, the digit map 'xx' will match after any two DTMFs that are dialed."
    SYNTAX OCTET STRING (SIZE(0..127))

END
