ADTRAN-GENVOIP-MIB

-- TITLE:     The ADTRAN Generic VoIP MIB
-- PRODUCT:   TA5000, TA1100, TA1200, TA3xx
-- VERSION:   1.0
-- DATE:      10/06/09
-- AUTHOR:    Jason Brock, Peter Kerr, and Peter Som de Cerff
-- STATUS:    PRELIMINARY

-- This MIB defines the object identifiers (OIDs) for the
-- ADTRAN GENVOIP entities.

-- HISTORY:
-- 10/06/2009 PSK STATUS: PRELIMINARY.
-- 2010/01/27 PSK Reordered genVoipTrunk table; began using approved format for history datestamp
-- 2011/03/03 SS Added SPRE Map, Conference and CallWaiting to CoS, Spre Mode and
-- timeout parameters to the Voice Config component.
-- DO NOT MAKE HISTORY COMMENTS HERE!!!! Revision history now in REVISION/DESCRIPTION clauses below
-- *****************************************************************************
DEFINITIONS ::= BEGIN

IMPORTS

   adGenVoip,
   adGenVoipID
      FROM ADTRAN-SHARED-CND-SYSTEM-MIB

   OBJECT-TYPE,
   MODULE-IDENTITY,
   Integer32,
   Unsigned32
      FROM SNMPv2-SMI

   TEXTUAL-CONVENTION,
   DisplayString,
   RowStatus,
   TruthValue
      FROM SNMPv2-TC

   InterfaceIndexOrZero,
   ifIndex
      FROM IF-MIB
   ;

adGenVoipIdentity MODULE-IDENTITY
   LAST-UPDATED "202111020000Z"
   ORGANIZATION "Adtran, Inc."
   CONTACT-INFO
     "CND Tech Support
         Postal: ADTRAN, Inc.
                 901 Explorer Blvd.
                 Huntsville, AL  35806
                 Tel: +1 800 726-8663
                 Fax: +1 256 963 6217
                 E-mail: support@adtran.com"
   DESCRIPTION
      "This MIB defines the objects for VoIP management."

   REVISION "202111020000Z"
   DESCRIPTION
      "Added adGenVoipScalarConnectedTimer."

   REVISION "201910080000Z"
   DESCRIPTION
      "Added adGenVoipUserWarmlineEnabled, adGenVoipUserWarmlineNumber and adGenVoipUserWarmlineDelay."

   REVISION "201907310000Z"
   DESCRIPTION
      "Added adGenVoipUserSipTrunkManualSelect and changed the syntax of adGenVoipScalarDefaultSipTrunk."

   REVISION "201904240000Z"
   DESCRIPTION
      "Added adGenVoipScalarStatusMaxSupportedSipTrunks and adGenVoipScalarStatusNumberOfSipTrunks."

   REVISION "201904040000Z"
   DESCRIPTION
      "Added adGenVoipScalarDefaultSipTrunk."

   REVISION "201804110000Z"
   DESCRIPTION
      "Added adGenVoipSDPGrammarPtime, adGenVoipSDPGrammarSuppressSilenceSupp."

   REVISION "201801080000Z"
   DESCRIPTION
      "Added adGenVoipUserHotlineEnabled and adGenVoipUserHotlineNumber for PLAR feature.
         Also added Voice User Hotline status table."

   REVISION "201709080000Z"
   DESCRIPTION
      "Added adGenVoipUserReverseLookup for JIRA CN-42025"

   REVISION "201410310000Z"
   DESCRIPTION
      "Added adGenVoipUserProvBulkInstance to retrieve bulk voice users"

   REVISION "201409300000Z"
   DESCRIPTION
      "Deprecated adGenVoipDialingProfileProvExt to be replaced with adGenVoipDialingProfileCommonProv,
       which can support creation through a rowstatus entry and contains a profile description string."

   REVISION "201402260000Z"
   DESCRIPTION
      "Updated description of the following OIDs
      adGenVoipMediaProfileProvRtpFramePktization,
      adGenVoipMediaProfileProvRtpPktDelayNominal,
      adGenVoipMediaProfileProvRtpPktDelayMaximum,
      adGenVoipMediaProfileProvRtpDtmfRelay,
      adGenVoipMediaProfileProvRtpQosDscp,
      adGenVoipMediaProfileProvRtpLocalPortMin,
      adGenVoipMediaProfileProvRtpLocalPortMax,
      adGenVoipMediaProfileProvFlashHookMin,
      adGenVoipMediaProfileProvFlashHookMax"

   REVISION "201308280000Z"
   DESCRIPTION
      "Added Call Feature Profile Tables.
       Modified the length of Dialing, Codec and Media Profile to 40 characters.
       Added none(0) to the AdGenVoipCodecProfileType.
       Update description adGenVoipCodecProfileProvPreference."

   REVISION "201305130000Z"
   DESCRIPTION
      "Added Codec and Media Profile Tables."

   REVISION "201211190000Z"
   DESCRIPTION
      "Added dialing profile helper table. This table allows for some
       operations on an entire dialing profile, like finding the number
       of attached voice users or removing the whole profile in one step."

   REVISION "201211080000Z"
   DESCRIPTION
      "Added dialing profile tables. This change adds an oid to the VoIP users
       table for the provisioning of a dialing profile to that user. This
       changes also adds new tables for Dial Plans, SPRE Codes, and External
       Line codes that support being seperated by dialing profile. These new
       tables have different indices than the already existing tables."

   REVISION "201210310000Z"
   DESCRIPTION
      "Added new table for external line code provisioning, this allows for
       external line matching and tone generation upon match. Added External
       Line Code parameter to Dial Plan table. Added tone playback parameter
       to SPRE pattern table. Updated pattern descriptions for dial plans and
       SPRE patterns to include recent changes."

   REVISION "201207230000Z"
   DESCRIPTION
      "Moved the global emergency number On-Hook inhibit/allow (Originator Ringback)
       to the adGenVoipScalarProv and added emergency number ringing timeout value."

   REVISION "201207100000Z"
   DESCRIPTION
      "Added global emergency number On-Hook inhibit/allow (Originator Ringback)
       and object within the dial-plan table to flag templates to use this new
       feature."

   REVISION "201106130000Z"
   DESCRIPTION
      "Added Call-Waiting enable/disable for Voice User."

   REVISION "201103030000Z"
   DESCRIPTION
      "Added SPRE Map, Conference and CallWaiting to CoS, Spre Mode and
       timeout parameters to the Voice Config component."

   REVISION "200910060000Z"
   DESCRIPTION "Created"
::= { adGenVoipID 1 }

--==============================================================================
-- TEXTUAL CONVENTION
--==============================================================================

AdGenVoipTrunkName ::= TEXTUAL-CONVENTION
   STATUS      current
   DESCRIPTION
     "The name of the VoIP trunk. It must be of the form <Txx> (without the
      brackets), and it must be padded at the end with 0x00 so that the table
      index has a fixed length of 10 characters.
      Used to index the generic VoIP trunk table (adGenVoipTrunkProvTable) and
      any trunk table of a specific VoIP type (SIP, for example)."
   SYNTAX      OCTET STRING (SIZE(10))

AdGenVoipCallServiceClassName ::= TEXTUAL-CONVENTION
   STATUS      current
   DESCRIPTION
     "The name for the call class table instance."
   SYNTAX      OCTET STRING (SIZE(1..40))

AdGenVoipUserNumber ::= TEXTUAL-CONVENTION
   STATUS      current
   DESCRIPTION
     "The VoIP user. This must be in the form of an extension or phone number.
      Only digits 0-9 are accepted. It must be padded at the end with 0x00 so
      that the table index has a fixed length of 20 characters.
      Used to index the generic VoIP user table (adGenVoipUserProvTable) and
      any identity table of a specific VoIP type (SIP, for example)."
   SYNTAX      OCTET STRING (SIZE(20))

AdGenVoipDialingProfileName ::= TEXTUAL-CONVENTION
   STATUS       current
   DESCRIPTION
     "The name of a Dialing Profile. An instance of this contains dialing plans,
      spre codes, and external line codes. This name, forward slash (/) delimited
      with the table specific pattern, forms the index for the dial plan table
      (adGenVoipDialingProfileDialPlanProv), the SPRE pattern table
      (adGenVoipDialingProfileSPREPatternProv) and the external line code table
      (adGenVoipDialingProfileExternalLineCodeProv)."
   SYNTAX       OCTET STRING (SIZE(1..40))

AdGenVoipCodecProfileName ::= TEXTUAL-CONVENTION
   STATUS       current
   DESCRIPTION
     "The name of a Codec Profile."
   SYNTAX       OCTET STRING (SIZE(1..40))

AdGenVoipMediaProfileName ::= TEXTUAL-CONVENTION
   STATUS       current
   DESCRIPTION
     "The name of a Media Profile."
   SYNTAX       OCTET STRING (SIZE(1..40))

AdGenVoipCodecProfileType ::= TEXTUAL-CONVENTION
   STATUS      current
   DESCRIPTION "CODEC preference types."
   SYNTAX      INTEGER {
   		          none(0),
                          g711ulaw(1),
                          g711alaw(2),
                          g729(3)
                       }

AdGenVoipCallFeatureProfileName ::= TEXTUAL-CONVENTION
   STATUS       current
   DESCRIPTION
     "The name of a Call Feature Profile."
   SYNTAX       OCTET STRING (SIZE(1..40))

AdGenVoipCallReverseLookupIfIndex ::= TEXTUAL-CONVENTION
   STATUS       current
   DESCRIPTION
     "The fxs port of a connected Voice User."
   SYNTAX       INTEGER(0..1000000000)




--==============================================================================
-- PROVISIONING
--==============================================================================

adGenVoipProvisioning                OBJECT IDENTIFIER ::= {adGenVoip 1}

-- *****************************************************************************
-- Groups in Voip Provisioning
-- *****************************************************************************

adGenVoipTrunkProv            OBJECT IDENTIFIER  ::= { adGenVoipProvisioning 1 }
adGenVoipDialPlanProv         OBJECT IDENTIFIER  ::= { adGenVoipProvisioning 2 }
adGenVoipSPREPatternProv      OBJECT IDENTIFIER  ::= { adGenVoipProvisioning 3 }
adGenVoipCallServiceClassProv OBJECT IDENTIFIER  ::= { adGenVoipProvisioning 4 }
adGenVoipUserProv             OBJECT IDENTIFIER  ::= { adGenVoipProvisioning 5 }
adGenVoipScalarProv           OBJECT IDENTIFIER  ::= { adGenVoipProvisioning 6 }
adGenVoipSPREMapScalarProv    OBJECT IDENTIFIER  ::= { adGenVoipProvisioning 7 }
adGenVoipDialingProfileProv   OBJECT IDENTIFIER  ::= { adGenVoipProvisioning 8 }

adGenVoipCodecProfileNameProv   OBJECT IDENTIFIER ::= { adGenVoipProvisioning 9  }
adGenVoipCodecProfileProv       OBJECT IDENTIFIER ::= { adGenVoipProvisioning 10 }
adGenVoipMediaProfileProv       OBJECT IDENTIFIER ::= { adGenVoipProvisioning 11 }
adGenVoipCallFeatureProfileProv OBJECT IDENTIFIER ::= { adGenVoipProvisioning 12 }
adGenVoipUserReverseLookup      OBJECT IDENTIFIER ::= { adGenVoipProvisioning 13 }
adGenVoipSDPProv                OBJECT IDENTIFIER ::= { adGenVoipProvisioning 14 }

-- *****************************************************************************
-- Groupd in Dialing Profile Prov
-- *****************************************************************************

adGenVoipDialingProfileDialPlanProv         OBJECT IDENTIFIER ::= { adGenVoipDialingProfileProv 1 }
adGenVoipDialingProfileSPREPatternProv      OBJECT IDENTIFIER ::= { adGenVoipDialingProfileProv 2 }
adGenVoipDialingProfileExternalLineCodeProv OBJECT IDENTIFIER ::= { adGenVoipDialingProfileProv 3 }
adGenVoipDialingProfileProvExt              OBJECT IDENTIFIER ::= { adGenVoipDialingProfileProv 4 }
adGenVoipDialingProfileCommonProv           OBJECT IDENTIFIER ::= { adGenVoipDialingProfileProv 5 }

--******************************************************************************
-- This table is for VoIP trunk provisioning.
--******************************************************************************

adGenVoipTrunkProvTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF AdGenVoipTrunkProvEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "This table supports provisioning of generic VoIP trunk parameters. It is
      intended to be used in conjunction with a specific trunk type, such as a
      SIP trunk. This table is instantiated or destroyed in conjunction with the
      row status of the specific trunk table."
   ::= { adGenVoipTrunkProv 1 }

adGenVoipTrunkProvEntry OBJECT-TYPE
   SYNTAX      AdGenVoipTrunkProvEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "An entry in the adGenVoipTrunkProvTable."
   INDEX { adGenVoipTrunkEntryIndex }
   ::= { adGenVoipTrunkProvTable 1 }

AdGenVoipTrunkProvEntry ::=
   SEQUENCE
   {
      adGenVoipTrunkEntryIndex                     AdGenVoipTrunkName,

      adGenVoipTrunkTransfer                       INTEGER

--      adGenVoipTrunkFlashhookMode                  INTEGER,

--      adGenVoipTrunkConferenceMode                 INTEGER,

--      adGenVoipTrunkConfLocalOriginatorFlashhook   INTEGER,
--      adGenVoipTrunkConfLocalOriginatorOnhook      INTEGER,
--      adGenVoipTrunkConfLocalPartyDisconnect       INTEGER
   }


adGenVoipTrunkEntryIndex OBJECT-TYPE
   SYNTAX      AdGenVoipTrunkName
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "The name of the VoIP trunk."
   ::= { adGenVoipTrunkProvEntry 1 }

adGenVoipTrunkTransfer OBJECT-TYPE
   SYNTAX      INTEGER {
                  blind(1),
                  unattended(2)
                  }
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
     "Used to set handling of unattended transfers.
         1 = blind         Converts unattended transfer attempts to
                           RFC 3891-compliant blind transfers.
         2 = unattended    Unattended transfer attempts are not modified."
   ::= { adGenVoipTrunkProvEntry 2 }

--adGenVoipTrunkFlashhookMode OBJECT-TYPE
--   SYNTAX      INTEGER {
--                  interpreted(1),
--                  transparent(2)
--                  }
--   MAX-ACCESS  read-create
--   STATUS      current
--   DESCRIPTION
--     "Used to determine if flashhook events will be interpreted locally or will
--      be forwarded to the far end.
--         1 = interpreted   Allows the local unit to interpret flashhook events.
--         2 = transparent   Specifies flashhook events to be transparent to the
--                           provider."
--   ::= { adGenVoipTrunkProvEntry 3 }

--adGenVoipTrunkConferenceMode OBJECT-TYPE
--   SYNTAX      INTEGER {
--                  network(1),
--                  local(2)
--                  }
--   MAX-ACCESS  read-create
--   STATUS      current
--   DESCRIPTION
--     "Used to determine if three way voice conferencing bridging will be handled
--      within the unit or from a far-end conferencing server.
--         1 = network    Conferencing will be handled by a far-end conferencing
--                        server.
--         2 = local      Conferencing will be handled within the unit."
--   ::= { adGenVoipTrunkProvEntry 4 }

--adGenVoipTrunkConfLocalOriginatorFlashhook OBJECT-TYPE
--   SYNTAX      INTEGER {
--                  drop(1),
--                  ignore(2),
--                  split(3)
--                  }
--   MAX-ACCESS  read-create
--   STATUS      current
--   DESCRIPTION
--     "Specifies the behavior of a three-way conference originator when a
--      flashook is received after the conference has been established.
--         1 = drop    The last party added will be dropped.
--         2 = ignore  The flashook will be ignored.
--         3 = split   The conference will be split into two calls, one between
--                     the originator and the first party and one between the
--                     originator and the second party. When a flashhook is issued
--                     after the split, it will toggle the originator between the
--                     two calls."
--   ::= { adGenVoipTrunkProvEntry 5 }

--adGenVoipTrunkConfLocalOriginatorOnhook OBJECT-TYPE
--   SYNTAX      INTEGER {
--                  persist(1),
--                  terminate(2)
--                  }
--   MAX-ACCESS  read-create
--   STATUS      current
--   DESCRIPTION
--     "Specifies the behavior of a three-way conference originator when the port
--      returns on-hook after the conference has been established.
--         1 = persist    The two remaining parties in the conference are
--                        connected together.
--         2 = terminate  The remaining parties are disconnected."
--   ::= { adGenVoipTrunkProvEntry 6 }

--adGenVoipTrunkConfLocalPartyDisconnect OBJECT-TYPE
--   SYNTAX      INTEGER {
--                  continue(1),
--                  transfer(2)
--                  }
--   MAX-ACCESS  read-create
--   STATUS      current
--   DESCRIPTION
--     "Specifies the behavior of a three-way conference after a member
--      disconnects.
--         1 = continue   The conference is maintained with the remaining parties.
--         2 = transfer   The conference is dropped and a direct connection
--                        between the remaining parties is re-established."
--   ::= { adGenVoipTrunkProvEntry 7 }


--******************************************************************************
-- This table is for the Dial Plan provisioning items for VoIP call routing.
--******************************************************************************

adGenVoipDialPlanProvCurrentNumber OBJECT-TYPE
   SYNTAX      Integer32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
     "Current number of VoIP Dial Plan patterns defined."
   ::= { adGenVoipDialPlanProv 1 }

adGenVoipDialPlanProvLastCreateError OBJECT-TYPE
   SYNTAX      DisplayString
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
     "The reason for the last error that occurred while attempting to create
      an entry in the VoIP Dial Plan provisioning table
      (adGenVoipDialPlanProvTable)."
   ::= { adGenVoipDialPlanProv 2 }

adGenVoipDialPlanProvTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF AdGenVoipDialPlanProvEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "This table supports provisioning of dial plan parameters for the VoIP call
      privilege mechanism."
   ::= { adGenVoipDialPlanProv 3 }

adGenVoipDialPlanProvEntry OBJECT-TYPE
   SYNTAX      AdGenVoipDialPlanProvEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "An entry in the adGenVoipDialPlanProvTable."
   INDEX { IMPLIED adGenVoipDialPlanPatternEntryIndex }
   ::= { adGenVoipDialPlanProvTable 1 }

AdGenVoipDialPlanProvEntry ::=
   SEQUENCE
   {
      adGenVoipDialPlanPatternEntryIndex           DisplayString,
      adGenVoipDialPlanRowStatus                   RowStatus,
      adGenVoipDialPlanLastErrorString             DisplayString,

      adGenVoipDialPlanType                        INTEGER,
      adGenVoipDialPlanEmergencyNumber             INTEGER,
      adGenVoipDialPlanExternalLineCode            INTEGER
   }

adGenVoipDialPlanPatternEntryIndex   OBJECT-TYPE
   SYNTAX      DisplayString (SIZE(1..40))
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "The dial plan table index.  This must be in the form of a phone number or
      dialing pattern containing wildcards. Available wildcards for this index
      are: N=2-9, M=1-8, X=0-9, [abc]=Any digit contained in the bracketed list.
      Ending the Dial Plan with '$' will cause the unit to stop attempting to
      match further input.
      The following rules must be observed:
         1.  Templates MUST have at least one NUMBER or Wildcard.
         2.  '(' ')' and '-' are allowed, but not inside braces '[]'.
         2b.  , are allowed within [], but not elsewhere.
         3.  Wildcards (MNX) are not allowed inside braces [], only
         numbers - order of numbers is not enforced, but ranges are
         not allowed.
         4.  $ is allowed but MUST be the last character or standalone.
         5.  If * and # are entered, they must be the first character.  May not
         be standalone."
   ::= { adGenVoipDialPlanProvEntry 1 }

adGenVoipDialPlanRowStatus OBJECT-TYPE
   SYNTAX      RowStatus
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
     "This object is used to create a new row or delete an existing row in
      this table.  Use createAndWait to add an entry, then set the all variables
      for the entry, then set to active. The writable columns in a row can not
      be changed if the row is active. All columns must have a valid value
      before a row can be activated."
   ::= { adGenVoipDialPlanProvEntry 2 }

adGenVoipDialPlanLastErrorString OBJECT-TYPE
   SYNTAX       DisplayString
   MAX-ACCESS   read-only
   STATUS       current
   DESCRIPTION
     "The reason for the last error that occurred while attempting to create an
      entry in the VoIP dial plan Table."
   ::= { adGenVoipDialPlanProvEntry 3 }

adGenVoipDialPlanType           OBJECT-TYPE
   SYNTAX      INTEGER {
                 alwaysPermitted    (1),
                 extensions         (2),
                 local              (3),
                 national           (4),
                 tollFree           (5),
                 a900Number         (6),
                 international      (7),
                 operatorAssisted   (8),
                 specifyCarrier     (9),
                 user1              (10),
                 user2              (11),
                 user3              (12)
                 }
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
     "Enumerated value indicating which call class this particular dial plan
      entry is associated with.  This object is mandatory for row activation."
   ::= { adGenVoipDialPlanProvEntry 4 }

adGenVoipDialPlanEmergencyNumber OBJECT-TYPE
   SYNTAX      INTEGER {
                 isEmergencyNumber  (1),
                 notEmergencyNumber (2)
                 }
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
     "Identify this plan as being for emergency calls."
   ::= { adGenVoipDialPlanProvEntry 5 }

adGenVoipDialPlanExternalLineCode OBJECT-TYPE
   SYNTAX      INTEGER {
                  optional    (1),
                  prohibited  (2),
                  required    (3)
                  }
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
      "Specify the matching behavior of this dial plan in the presence or
       absence of a matched external line code.

       A value of 'Prohibited' indicates that this dial plan can NOT be matched
       if an external line code has previously been matched in the current
       dialing string.
       A value of 'Required' indicates that this dial plan can ONLY be matched
       if an external line code has previously been matched in the current
       dialing string.
       A value of 'Optional' indicated that this dial plan can be matched
       whether or not an external line code was matched previously in the
       current dialing string.

       The default value for legacy dial plans is 'Optional'."
   ::= {adGenVoipDialPlanProvEntry 6 }


--******************************************************************************
-- This table is for the SPRE pattern provisioning items for VoIP call routing.
--******************************************************************************

adGenVoipSPREPatternProvCurrentNumber OBJECT-TYPE
   SYNTAX      Integer32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
     "Current number of VoIP SPRE codes defined."
   ::= { adGenVoipSPREPatternProv 1 }

adGenVoipSPREPatternProvLastCreateError OBJECT-TYPE
   SYNTAX      DisplayString
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
     "The reason for the last error that occurred while attempting to create
      an entry in the VoIP SPRE pattern provisioning table
      (adGenVoipSPREPatternProvTable)."
   ::= { adGenVoipSPREPatternProv 2 }

adGenVoipSPREPatternProvTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF AdGenVoipSPREPatternProvEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "This table supports provisioning of SPRE pattern parameters."
   ::= { adGenVoipSPREPatternProv 3 }

adGenVoipSPREPatternProvEntry OBJECT-TYPE
   SYNTAX      AdGenVoipSPREPatternProvEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "An entry in the adGenVoipSPREPatternProvTable."
   INDEX { IMPLIED adGenVoipSPREPatternEntryIndex }
   ::= { adGenVoipSPREPatternProvTable 1 }

AdGenVoipSPREPatternProvEntry ::=
   SEQUENCE
   {
      adGenVoipSPREPatternEntryIndex            DisplayString,
      adGenVoipSPREPatternRowStatus             RowStatus,
      adGenVoipSPREPatternLastErrorString       DisplayString,
      adGenVoipSPREPatternTone                  INTEGER
   }

adGenVoipSPREPatternEntryIndex OBJECT-TYPE
   SYNTAX      DisplayString (SIZE(2..44))
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "The SPRE Pattern table index.  This must be in the form of a SPRE code or
      dialing pattern containing wildcards. Available wildcards for this index
      are: N=2-9, M=1-8, X=0-9, [abc]=Any digit contained in the bracketed list.
      Ending the pattern with '&' will cause the unit to also look for a valid
      dial-plan pattern following the SPRE code, however ending it with '$' will
      cause the unit to stop attempting to match further input.
      The following rules must be observed:
         1.  Template must begin with a * or #. * and # are not allowed
             elsewhere in the template.
         2.  Templates MUST have at least one NUMBER.
         3.  ( ) and - are allowed, but not inside braces []
         4.  Wildcards (MNX) are not allowed inside braces [], only numbers - order
             of numbers is not enforced, but ranges are not allowed.
         5.  & or $ is allowed but MUST be the last character.  Cannot be standalone."
   ::= { adGenVoipSPREPatternProvEntry 1 }

adGenVoipSPREPatternRowStatus OBJECT-TYPE
   SYNTAX       RowStatus
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
     "This object is used to create a new row or delete an existing row in this
      table.  Use createAndWait to add an entry, set the available paramaters,
      then activate the entry.."
   ::= { adGenVoipSPREPatternProvEntry 2 }

adGenVoipSPREPatternLastErrorString OBJECT-TYPE
   SYNTAX       DisplayString
   MAX-ACCESS   read-only
   STATUS       current
   DESCRIPTION
     "The reason for the last error that occurred while attempting to create an
      entry in the VoIP SPRE pattern Table."
   ::= { adGenVoipSPREPatternProvEntry 3 }

adGenVoipSPREPatternTone OBJECT-TYPE
   SYNTAX       INTEGER {
                  none           (1),
                  dial           (2),
                  stutterDial   (3)
                  }
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
     "Specify the tone to play back when this SPRE tone is matched.
      NOTE: If the last character of the SPRE code is not a '&' or a '$' this
      oid will fail when attempting a set."
   ::= { adGenVoipSPREPatternProvEntry 4}



--******************************************************************************
-- This table is for the Call Class of Service provisioning items for VoIP
-- calling.
--******************************************************************************

adGenVoipCallServiceClassProvCurrentNumber OBJECT-TYPE
   SYNTAX      Integer32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
     "Current number of VoIP Call Class of Service permission sets."
   ::= { adGenVoipCallServiceClassProv 1 }

adGenVoipCallServiceClassProvLastCreateError OBJECT-TYPE
   SYNTAX      DisplayString
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
     "The reason for the last error that occurred while attempting to create
      an entry in the VoIP Call Class of Service provisioning table
      (adGenVoipCallServiceClassProvTable)."
   ::= { adGenVoipCallServiceClassProv 2 }

adGenVoipCallServiceClassProvTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF AdGenVoipCallServiceClassProvEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "This table supports provisioning of call privilege parameters for the VoIP
      call service class mechanism."
   ::= { adGenVoipCallServiceClassProv 3 }

adGenVoipCallServiceClassProvEntry OBJECT-TYPE
   SYNTAX      AdGenVoipCallServiceClassProvEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "An entry in the adGenVoipCallServiceClassProvTable."
   INDEX { IMPLIED adGenVoipCallServiceClassEntryIndex }
   ::= { adGenVoipCallServiceClassProvTable 1 }

AdGenVoipCallServiceClassProvEntry ::=
   SEQUENCE
   {
      adGenVoipCallServiceClassEntryIndex       AdGenVoipCallServiceClassName,
      adGenVoipCallServiceClassRowStatus        RowStatus,
      adGenVoipCallServiceClassLastErrorString  DisplayString,

      adGenVoipCallServiceClass900Number        TruthValue,
      adGenVoipCallServiceClassExtensions       TruthValue,
      adGenVoipCallServiceClassInternational    TruthValue,
      adGenVoipCallServiceClassLocal            TruthValue,
      adGenVoipCallServiceClassNational         TruthValue,
      adGenVoipCallServiceClassOperatorAssisted TruthValue,
      adGenVoipCallServiceClassSpecifyCarrier   TruthValue,
      adGenVoipCallServiceClassTollFree         TruthValue,
      adGenVoipCallServiceClassUser1            TruthValue,
      adGenVoipCallServiceClassUser2            TruthValue,
      adGenVoipCallServiceClassUser3            TruthValue,
      adGenVoipCallServiceConference            TruthValue,
      adGenVoipCallServiceDisableCallWaiting    TruthValue
   }

adGenVoipCallServiceClassEntryIndex OBJECT-TYPE
   SYNTAX      AdGenVoipCallServiceClassName
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "The name for the call class table instance."
   ::= { adGenVoipCallServiceClassProvEntry 1 }

adGenVoipCallServiceClassRowStatus OBJECT-TYPE
   SYNTAX      RowStatus
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
     "This object is used to create a new row or modify or delete an existing
      row in this table."
   ::= { adGenVoipCallServiceClassProvEntry 2 }

adGenVoipCallServiceClassLastErrorString OBJECT-TYPE
   SYNTAX      DisplayString
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
     "The reason for the last error that occurred while attempting to create an
      entry in the VoIP service class Table."
   ::= { adGenVoipCallServiceClassProvEntry 3 }

adGenVoipCallServiceClass900Number OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
     "Permit 900 number calling."
   ::= { adGenVoipCallServiceClassProvEntry 4 }

adGenVoipCallServiceClassExtensions OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
     "Permit extension number calling."
   ::= { adGenVoipCallServiceClassProvEntry 5 }

adGenVoipCallServiceClassInternational OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
     "Permit international number calling."
   ::= { adGenVoipCallServiceClassProvEntry 6 }

adGenVoipCallServiceClassLocal OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
     "Permit local number calling."
   ::= { adGenVoipCallServiceClassProvEntry 7 }

adGenVoipCallServiceClassNational OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
     "Permit national (long distance) number calling."
   ::= { adGenVoipCallServiceClassProvEntry 8 }

adGenVoipCallServiceClassOperatorAssisted OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
     "Permit operator assisted number calling."
   ::= { adGenVoipCallServiceClassProvEntry 9 }

adGenVoipCallServiceClassSpecifyCarrier OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
     "Permit specify carrier calling."
   ::= { adGenVoipCallServiceClassProvEntry 10 }

adGenVoipCallServiceClassTollFree OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
     "Permit toll free number calling."
   ::= { adGenVoipCallServiceClassProvEntry 11 }

adGenVoipCallServiceClassUser1 OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
     "Permit user defined 1 number calling."
   ::= { adGenVoipCallServiceClassProvEntry 12 }

adGenVoipCallServiceClassUser2 OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
     "Permit user defined 2 number calling."
   ::= { adGenVoipCallServiceClassProvEntry 13 }

adGenVoipCallServiceClassUser3 OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
     "Permit user defined 3 number calling."
   ::= { adGenVoipCallServiceClassProvEntry 14 }

adGenVoipCallServiceConference OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
     "Permit user to initiate 3-way conference. Default: Enable"
   ::= { adGenVoipCallServiceClassProvEntry 15 }

adGenVoipCallServiceDisableCallWaiting OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
     "Permit disabling of call-waiting feature for user. Default: Disable"
   ::= { adGenVoipCallServiceClassProvEntry 16 }

--******************************************************************************
-- This table is for VoIP user provisioning.
--******************************************************************************

adGenVoipUserProvCurrentNumber OBJECT-TYPE
   SYNTAX      Integer32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
     "Current number of VoIP users."
   ::= { adGenVoipUserProv 1 }

adGenVoipUserProvLastCreateError OBJECT-TYPE
   SYNTAX      DisplayString
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
     "The reason for the last error that occurred while attempting to create
      an entry in the VoIP user provisioning table (adGenVoipUserProvTable)."
   ::= { adGenVoipUserProv 2 }

adGenVoipUserProvTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF AdGenVoipUserProvEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "This table supports provisioning of SIP user
      parameters for the SIP client."
   ::= { adGenVoipUserProv 3 }

adGenVoipUserProvBulkInstance OBJECT-TYPE
   SYNTAX      Unsigned32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
     "A get on this OID returns a TLV index that is used as a adTa5kTlvInstance
	 index in adTa5kTlvBulk to retrieve a TLV containing all voice users."
   ::= { adGenVoipUserProv 4 }

adGenVoipUserProvEntry OBJECT-TYPE
   SYNTAX      AdGenVoipUserProvEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "An entry in the adGenVoipUserProvTable."
   INDEX { adGenVoipUserEntryIndex }
   ::= { adGenVoipUserProvTable 1 }

AdGenVoipUserProvEntry ::=
   SEQUENCE
   {
      adGenVoipUserEntryIndex                   AdGenVoipUserNumber,
      adGenVoipUserRowStatus                    RowStatus,
      adGenVoipUserLastErrorString              DisplayString,

      adGenVoipUserFxsPort                      InterfaceIndexOrZero,
      adGenVoipUserCallClass                    AdGenVoipCallServiceClassName,
      adGenVoipUserCallWaiting                  TruthValue,
      adGenVoipUserDialingProfile               AdGenVoipDialingProfileName,
      adGenVoipUserHotlineEnabled               TruthValue,
      adGenVoipUserHotlineNumber                DisplayString,
      adGenVoipUserSipTrunkManualSelect         DisplayString,
      adGenVoipUserWarmlineEnabled              TruthValue,
      adGenVoipUserWarmlineNumber               DisplayString,
      adGenVoipUserWarmlineDelay                Integer32
   }


adGenVoipUserEntryIndex OBJECT-TYPE
   SYNTAX      AdGenVoipUserNumber
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "The VoIP user index."
   ::= { adGenVoipUserProvEntry 1 }

adGenVoipUserRowStatus OBJECT-TYPE
   SYNTAX      RowStatus
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
     "This object is used to create a new row or modify or delete an existing
      row in this table."
   ::= { adGenVoipUserProvEntry 2 }

adGenVoipUserLastErrorString OBJECT-TYPE
   SYNTAX      DisplayString
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
     "The reason for the last error that occurred while attempting to create an
      entry in the VoIP UserProv Table."
   ::= { adGenVoipUserProvEntry 3 }

adGenVoipUserFxsPort OBJECT-TYPE
   SYNTAX      InterfaceIndexOrZero
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
     "The ifIndex of the FXS port associated with this user.  For the Adtran
      VoIP implementation each user can have only a single physical appearance.
      To 'disconnect' a user from its existing FXS port, write a value of '0'."
   ::= { adGenVoipUserProvEntry 4 }

adGenVoipUserCallClass OBJECT-TYPE
   SYNTAX      AdGenVoipCallServiceClassName
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
     "The index of the call privilege class associated with the user. This
      should be identical to the 'adGenVoipCallServiceClassEntryIndex' index of
      the adGenVoipCallServiceClassProvTable."
   ::= { adGenVoipUserProvEntry 5 }

adGenVoipUserCallWaiting OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
     "Permits enabling or disabling of call-waiting feature for the user.
     Permitted values: Call-waiting Enabled for user = True(1),
     Call-waiting Disabled for user = False (2).
     Default Value: True(1)"
   ::= { adGenVoipUserProvEntry 6 }

adGenVoipUserDialingProfile OBJECT-TYPE
   SYNTAX      AdGenVoipDialingProfileName
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
     "Allows for the provisioning and viewing of the configured dialing
     profile for this user. This provisions which dial plans, SPRE codes, and
     external line codes are used to match dialing strings entered by this
     voice user. It must not contain a '/' character.
     The default value is the 'DEFAULT_DP' profile. This profile
     includes any legacy dial plans or SPRE codes created before the
     introduction of dialing profiles. Any dial plans or spre codes created
     through the oids found in adGenVoipDialPlanProvTable or
     adGenVoipSPREPatternProvTable will also be placed into the default
     profile."
   ::= { adGenVoipUserProvEntry 7 }

adGenVoipUserHotlineEnabled OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
     "Enable or disable hotline (PLAR) functionality for the user.
      Hotline cannot be enabled if warmline is enabled.
     Permitted values: True(1) or False(2).
     Default Value: False(2)"
   DEFVAL      { false }
   ::= { adGenVoipUserProvEntry 8 }

adGenVoipUserHotlineNumber OBJECT-TYPE
   SYNTAX      DisplayString (SIZE(0..80))
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
     "A string indicating the number to be dialed upon off-hook detection when
     adGenVoipUserHotlineEnabled is True. Any string containing the characters
     1-9, #, and * is valid, as this type of string can be dialed. An empty
     string is also valid but this will not allow for hotline functionality."
   DEFVAL      { "" }
   ::= { adGenVoipUserProvEntry 9 }

adGenVoipUserSipTrunkManualSelect OBJECT-TYPE
   SYNTAX      DisplayString (SIZE(3))
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
     "A string indicating the sip trunk to be used for this voice user.
      If this value is blank, then the voice user will use the default sip-trunk
      specified by adGenVoipScalarDefaultSipTrunk."
   DEFVAL      { "" }
   ::= { adGenVoipUserProvEntry 10 }

adGenVoipUserWarmlineEnabled OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
     "Enable or disable warmline (Delayed PLAR) functionality for the user.
      Warmline cannot be enabled if hotline is enabled.
     Permitted values: True(1) or False(2).
     Default Value: False(2)"
   DEFVAL      { false }
   ::= { adGenVoipUserProvEntry 11 }

adGenVoipUserWarmlineNumber OBJECT-TYPE
   SYNTAX      DisplayString (SIZE(0..80))
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
     "A string indicating the number to be dialed after a delay upon off-hook detection
     when adGenVoipUserWarmlineEnabled is True. Any string containing the characters
     1-9, #, and * is valid, as this type of string can be dialed. An empty
     string is also valid but this will not allow for warmline functionality."
   DEFVAL      { "" }
   ::= { adGenVoipUserProvEntry 12 }

adGenVoipUserWarmlineDelay OBJECT-TYPE
   SYNTAX      Integer32 (1..60)
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
     "A integer indicating the period in seconds to wait before dialing the warmline
     number specified by adGenVoipUserWarmlineNumber."
   DEFVAL      { 20 }
   ::= { adGenVoipUserProvEntry 13 }

--******************************************************************************
-- This section is for scalar/global VoIP provisioning items.
--******************************************************************************

adGenVoipScalarFlashhookMode OBJECT-TYPE
   SYNTAX      INTEGER {
                  interpreted(1),
                  transparent(2)
                  }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
     "Used to determine if flashhook events will be interpreted locally or will
      be forwarded to the far end.
         1 = interpreted   Allows the local unit to interpret flashhook events.
         2 = transparent   Specifies flashhook events to be transparent to the
                           provider."
   ::= { adGenVoipScalarProv 1 }

adGenVoipScalarConferenceMode OBJECT-TYPE
   SYNTAX      INTEGER {
                  network(1),
                  local(2)
                  }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
     "Used to determine if three way voice conferencing bridging will be handled
      within the unit or from a far-end conferencing server.
         1 = network    Conferencing will be handled by a far-end conferencing
                        server.
         2 = local      Conferencing will be handled within the unit."
   ::= { adGenVoipScalarProv 2 }

adGenVoipScalarConfLocalOriginatorFlashhook OBJECT-TYPE
   SYNTAX      INTEGER {
                  drop(1),
                  ignore(2),
                  split(3)
                  }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
     "Specifies the behavior of a three-way conference originator when a
      flashook is received after the conference has been established.
         1 = drop    The last party added will be dropped.
         2 = ignore  The flashook will be ignored.
         3 = split   The conference will be split into two calls, one between
                     the originator and the first party and one between the
                     originator and the second party. When a flashhook is issued
                     after the split, it will toggle the originator between the
                     two calls."
   ::= { adGenVoipScalarProv 3 }

adGenVoipScalarConfLocalOriginatorOnhook OBJECT-TYPE
   SYNTAX      INTEGER {
                  persist(1),
                  terminate(2)
                  }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
     "Specifies the behavior of a three-way conference originator when the port
      returns on-hook after the conference has been established.
         1 = persist    The two remaining parties in the conference are
                        connected together.
         2 = terminate  The remaining parties are disconnected."
   ::= { adGenVoipScalarProv 4 }

adGenVoipScalarConfLocalPartyDisconnect OBJECT-TYPE
   SYNTAX      INTEGER {
                  continue(1),
                  transfer(2)
                  }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
     "Specifies the behavior of a three-way conference after a member
      disconnects.
         1 = continue   The conference is maintained with the remaining parties.
         2 = transfer   The conference is dropped and a direct connection
                        between the remaining parties is re-established."
   ::= { adGenVoipScalarProv 5 }

adGenVoipScalarRtpUdpOffset OBJECT-TYPE
   SYNTAX      Integer32 (1026..60000)
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
     "Used to configure a global starting User Datagram Protocol (UDP) port for
      Realtime Transport Protocol (RTP)."
   ::= { adGenVoipScalarProv 6 }

adGenVoipScalarSPREMode OBJECT-TYPE
   SYNTAX      INTEGER {
                  network(1),
                  local(2)
                  }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
     "Used to determine if the SPRE code will be interpreted locally or
     sent to the far end for interpretation.
         1 = network    SPRE code will be interpreted by the far-end switch.
         2 = local      SPRE code will be interpreted locally."
   DEFVAL      { network }
   ::= { adGenVoipScalarProv 7 }

adGenVoipScalarInterdigitTimer OBJECT-TYPE
   SYNTAX      Integer32 (1..16)
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
     "Used to set the maximum interval between two consecutive digits dialled
     by the user in seconds. Default: 4 seconds."
   DEFVAL      { 4 }
   ::= { adGenVoipScalarProv 8 }

adGenVoipScalarAlertingTimer OBJECT-TYPE
   SYNTAX      Integer32 (0..60)
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
     "Used to set the maximum interval a phone can be set in the ringing state
     in minutes. Default: 0 minute - will continue ringing indefinitely."
   DEFVAL      { 0 }
   ::= { adGenVoipScalarProv 9 }

adGenVoipScalarTransferOnHangup OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
     "Permit Call Transfer on hangup. Default: Enable"
   ::= { adGenVoipScalarProv 10 }

adGenVoipScalarFlashhookThreholdMin OBJECT-TYPE
   SYNTAX      Integer32 (40..1550)
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
     "Specifies Minimum Flashhook time in Milliseconds. Default: 300 Milliseconds."
   DEFVAL      { 300 }
   ::= { adGenVoipScalarProv 11 }

adGenVoipScalarFlashhookThreholdMax OBJECT-TYPE
   SYNTAX      Integer32 (40..1550)
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
     "Specifies Maximum Flashhook time in Milliseconds. Default: 1000 Milliseconds."
   DEFVAL      { 1000 }
   ::= { adGenVoipScalarProv 12 }


adGenVoipScalarEmergencyNumberInhibitOnHook OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
     "Permits enabling or disabling of the ability to go on-hook when connected
     to an emergency number.
     Permitted values: Inhibit on-hook for users = True(1),
     Allow on-hook for users = False (2).
     Default Value: False(2)"
   DEFVAL      { false }
   ::= { adGenVoipScalarProv 13 }


adGenVoipScalarEmergencyNumberRingingTimemout OBJECT-TYPE
   SYNTAX      Integer32 (1..60)
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
     "Used to set the maximum interval of time in minutes the phone of the user
     will ring after hanging up on the emergency call handler. Default: 10 minutes."
   DEFVAL      { 10 }
   ::= { adGenVoipScalarProv 14 }

adGenVoipScalarDefaultSipTrunk OBJECT-TYPE
   SYNTAX      DisplayString (SIZE(3))
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
     "Used to set the default SIP trunk for the shelf.  This trunk specified by this oid
      will be used by voice users that are not explicitly connected to a SIP trunk.
      If exactly one SIP trunk exists on the shelf then it will be the default trunk.
      The default trunk cannot be changed if only one SIP trunk exists.
      If multiple SIP trunks exist on the shelf, the SIP trunk that is specified as
      the default trunk by this oid cannot be deleted from the shelf.  However the default
      trunk can be changed to any of the existing trunks.
      If no SIP trunks exist on the shelf, then the default trunk will not be applicable."
   ::= { adGenVoipScalarProv 15 }

adGenVoipScalarConnectedTimer OBJECT-TYPE
   SYNTAX      Integer32 (0..1000)
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
     "Used to set the maximum interval of time in hours the phone can be in the connected state.
      Default: 12 hours.  Value of 0 indicates the time is unlimited."
   DEFVAL      { 12 }
   ::= { adGenVoipScalarProv 16 }   

--******************************************************************************
-- This section is for SDP provisioning items.
--******************************************************************************

adGenVoipSDPGrammarPtime OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
     "When enabled, the ptime attribute will be included in the SDP Offer.
      When disabled, the ptime attribute may be omitted for implied values, such as 20ms."
   DEFVAL      { false }
   ::= { adGenVoipSDPProv 1 }


adGenVoipSDPGrammarSuppressSilenceSupp OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
     "When enabled, the silenceSupp attribute will be omitted from the SDP Offer.
      When disabled, the silenceSupp attribute will be included in the SDP Offer.
      The silenceSupp attribute is used to indicate the use or non-use of silence suppression."
   DEFVAL      { false }
   ::= { adGenVoipSDPProv 2 }

--******************************************************************************
-- This section contains SPRE Map codes to activate/deactivate different
-- Call Features locally.
--******************************************************************************

adGenVoipScalarSPREMapDisableCallWaiting OBJECT-TYPE
   SYNTAX      DisplayString (SIZE(2..49))
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
     "This must be in the form of a SPRE code or
      dialing pattern containing wildcards. Available wildcards for this index
      are: N=2-9, M=1-8, X=0-9, [abc]=Any digit contained in the bracketed list.
      Ending the pattern with '&' will cause the unit to also look for a valid
      dial-plan pattern following the SPRE code.
      The following rules must be observed:
         1.  Template must begin with a '*' or '#'. '*' and '#' are also allowed
             elsewhere in the template.
         2.  Templates MUST have at least one NUMBER.
         3.  '(' ')' and '-' are allowed, but not inside braces '[]'.
         4.  Do not use ',' '-' or ' ' inside braces '[]'. The list is implied.
         5.  Wildcards (MNX) are not allowed inside braces '[]'.
         6.  '&' is allowed but MUST be the last character.  Cannot be
             standalone.
         7. Setting it to 'none' will disable the functionality associated with the
            spre code.
         8. Default spre code is *70 for this feature."
   ::= { adGenVoipSPREMapScalarProv 1 }

adGenVoipScalarSPREMapDNDDisableEnable OBJECT-TYPE
   SYNTAX      DisplayString (SIZE(2..49))
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
     "This must be in the form of a SPRE code or
      dialing pattern containing wildcards. Available wildcards for this index
      are: N=2-9, M=1-8, X=0-9, [abc]=Any digit contained in the bracketed list.
      Ending the pattern with '&' will cause the unit to also look for a valid
      dial-plan pattern following the SPRE code.
      The following rules must be observed:
         1.  Template must begin with a '*' or '#'. '*' and '#' are also allowed
             elsewhere in the template.
         2.  Templates MUST have at least one NUMBER.
         3.  '(' ')' and '-' are allowed, but not inside braces '[]'.
         4.  Do not use ',' '-' or ' ' inside braces '[]'. The list is implied.
         5.  Wildcards (MNX) are not allowed inside braces '[]'.
         6.  '&' is allowed but MUST be the last character.  Cannot be
             standalone.
         7. Setting it to 'none' will disable the functionality associated with the
            spre code.
         8. Default spre code is *39 for this feature."
   ::= { adGenVoipSPREMapScalarProv 2 }


adGenVoipScalarSPREMapBlockCallerID OBJECT-TYPE
   SYNTAX      DisplayString (SIZE(2..49))
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
     "This must be in the form of a SPRE code or
      dialing pattern containing wildcards. Available wildcards for this index
      are: N=2-9, M=1-8, X=0-9, [abc]=Any digit contained in the bracketed list.
      Ending the pattern with '&' will cause the unit to also look for a valid
      dial-plan pattern following the SPRE code.
      The following rules must be observed:
         1.  Template must begin with a '*' or '#'. '*' and '#' are also allowed
             elsewhere in the template.
         2.  Templates MUST have at least one NUMBER.
         3.  '(' ')' and '-' are allowed, but not inside braces '[]'.
         4.  Do not use ',' '-' or ' ' inside braces '[]'. The list is implied.
         5.  Wildcards (MNX) are not allowed inside braces '[]'.
         6.  '&' is allowed but MUST be the last character.  Cannot be
             standalone.
         7. Setting it to 'none' will disable the functionality associated with the
            spre code.
         8. Default spre code is *67 for this feature."
   ::= { adGenVoipSPREMapScalarProv 3 }

--******************************************************************************
-- This table is for the Dialing Profile wrapped Dial Plan provisioning items
-- for VoIP call routing.
--******************************************************************************

adGenVoipDialingProfileDialPlanProvCurrentNumber OBJECT-TYPE
   SYNTAX      Integer32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
     "Current number of VoIP Dial Plan patterns defined."
   ::= { adGenVoipDialingProfileDialPlanProv 1 }

adGenVoipDialingProfileDialPlanProvLastCreateError OBJECT-TYPE
   SYNTAX      DisplayString
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
     "The reason for the last error that occurred while attempting to create
      an entry in the VoIP Dial Plan provisioning table
      (adGenVoipDialingProfileDialPlanProvTable)."
   ::= { adGenVoipDialingProfileDialPlanProv 2 }

adGenVoipDialingProfileDialPlanProvTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF AdGenVoipDialingProfileDialPlanProvEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "This table supports provisioning of dial plan parameters for the VoIP call
      privilege mechanism."
   ::= { adGenVoipDialingProfileDialPlanProv 3 }

adGenVoipDialingProfileDialPlanProvEntry OBJECT-TYPE
   SYNTAX      AdGenVoipDialingProfileDialPlanProvEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "An entry in the adGenVoipDialingProfileDialPlanProvTable."
   INDEX { IMPLIED adGenVoipDialingProfileDialPlanPatternEntryIndex }
   ::= { adGenVoipDialingProfileDialPlanProvTable 1 }

AdGenVoipDialingProfileDialPlanProvEntry ::=
   SEQUENCE
   {
      adGenVoipDialingProfileDialPlanPatternEntryIndex           DisplayString,
      adGenVoipDialingProfileDialPlanRowStatus                   RowStatus,
      adGenVoipDialingProfileDialPlanLastErrorString             DisplayString,

      adGenVoipDialingProfileDialPlanType                        INTEGER,
      adGenVoipDialingProfileDialPlanEmergencyNumber             INTEGER,
      adGenVoipDialingProfileDialPlanExternalLineCode            INTEGER,
      adGenVoipDialingProfileDialPlanPattern                     DisplayString,
      adGenVoipDialingProfileDialPlanDialingProfile              AdGenVoipDialingProfileName
   }

adGenVoipDialingProfileDialPlanPatternEntryIndex   OBJECT-TYPE
   SYNTAX      DisplayString (SIZE(3..76))
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "The dial plan table index.
     This must be a dialing profile name as specified by
     AdGenVoipDialingProfileName followed by a '/' followed by a dial plan
     pattern. See the description of adGenVoipDialingProfileDialPlanPattern for
     the rules of dial plan patterns.
     Ex.
        commercial/(368)MNN-XXXX$
        commercial/#[987]XMM
        residential/12345678"
   ::= { adGenVoipDialingProfileDialPlanProvEntry 1 }

adGenVoipDialingProfileDialPlanRowStatus OBJECT-TYPE
   SYNTAX      RowStatus
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
     "This object is used to create a new row or delete an existing row in
      this table.  Use createAndWait to add an entry, then set the all variables
      for the entry, then set to active. The writable columns in a row can not
      be changed if the row is active. All columns must have a valid value
      before a row can be activated."
   ::= { adGenVoipDialingProfileDialPlanProvEntry 2 }

adGenVoipDialingProfileDialPlanLastErrorString OBJECT-TYPE
   SYNTAX       DisplayString
   MAX-ACCESS   read-only
   STATUS       current
   DESCRIPTION
     "The reason for the last error that occurred while attempting to create an
      entry in the VoIP dial plan Table."
   ::= { adGenVoipDialingProfileDialPlanProvEntry 3 }

adGenVoipDialingProfileDialPlanType           OBJECT-TYPE
   SYNTAX      INTEGER {
                 alwaysPermitted    (1),
                 extensions         (2),
                 local              (3),
                 national           (4),
                 tollFree           (5),
                 a900Number         (6),
                 international      (7),
                 operatorAssisted   (8),
                 specifyCarrier     (9),
                 user1              (10),
                 user2              (11),
                 user3              (12)
                 }
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
     "Enumerated value indicating which call class this particular dial plan
      entry is associated with.  This object is mandatory for row activation."
   ::= { adGenVoipDialingProfileDialPlanProvEntry 4 }

adGenVoipDialingProfileDialPlanEmergencyNumber OBJECT-TYPE
   SYNTAX      INTEGER {
                 isEmergencyNumber  (1),
                 notEmergencyNumber (2)
                 }
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
     "Identify this plan as being for emergency calls."
   ::= { adGenVoipDialingProfileDialPlanProvEntry 5 }

adGenVoipDialingProfileDialPlanExternalLineCode OBJECT-TYPE
   SYNTAX      INTEGER {
                  optional    (1),
                  prohibited  (2),
                  required    (3)
                  }
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
      "Specify the matching behavior of this dial plan in the presence or
       absence of a matched external line code.

       A value of 'Prohibited' indicates that this dial plan can NOT be matched
       if an external line code has previously been matched in the current
       dialing string.
       A value of 'Required' indicates that this dial plan can ONLY be matched
       if an external line code has previously been matched in the current
       dialing string.
       A value of 'Optional' indicated that this dial plan can be matched
       whether or not an external line code was matched previously in the
       current dialing string.

       The default value for legacy dial plans is 'Optional'."
   ::= {adGenVoipDialingProfileDialPlanProvEntry 6 }

adGenVoipDialingProfileDialPlanPattern OBJECT-TYPE
   SYNTAX       DisplayString
   MAX-ACCESS   read-only
   STATUS       current
   DESCRIPTION
     "The Dial Plan pattern used to match dialing strings.
      This must be in the form of a phone number or
      dialing pattern containing wildcards. Available wildcards for this index
      are: N=2-9, M=1-8, X=0-9, [abc]=Any digit contained in the bracketed list.
      Ending the Dial Plan with '$' will cause the unit to stop attempting to
      match further input.
      The following rules must be observed:
         1.  Templates MUST have at least one NUMBER or Wildcard.
         2.  '(' ')' and '-' are allowed, but not inside braces '[]'.
         2b.  , are allowed within [], but not elsewhere.
         3.  Wildcards (MNX) are not allowed inside braces [], only
         numbers - order of numbers is not enforced, but ranges are
         not allowed.
         4.  $ is allowed but MUST be the last character or standalone.
         5.  If * and # are entered, they must be the first character.  May not
         be standalone."
   ::= { adGenVoipDialingProfileDialPlanProvEntry 7 }

adGenVoipDialingProfileDialPlanDialingProfile OBJECT-TYPE
   SYNTAX       AdGenVoipDialingProfileName
   MAX-ACCESS   read-only
   STATUS       current
   DESCRIPTION
     "The Dialing Profile that this Dial Plan is assigned to."
   ::= { adGenVoipDialingProfileDialPlanProvEntry 8 }

--******************************************************************************
-- This table is for the Dialing Profile wrapped SPRE pattern provisioning items
-- for VoIP call routing.
--******************************************************************************

adGenVoipDialingProfileSPREPatternProvCurrentNumber OBJECT-TYPE
   SYNTAX      Integer32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
     "Current number of VoIP SPRE codes defined."
   ::= { adGenVoipDialingProfileSPREPatternProv 1 }

adGenVoipDialingProfileSPREPatternProvLastCreateError OBJECT-TYPE
   SYNTAX      DisplayString
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
     "The reason for the last error that occurred while attempting to create
      an entry in the VoIP SPRE pattern provisioning table
      (adGenVoipDialingProfileSPREPatternProvTable)."
   ::= { adGenVoipDialingProfileSPREPatternProv 2 }

adGenVoipDialingProfileSPREPatternProvTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF AdGenVoipDialingProfileSPREPatternProvEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "This table supports provisioning of SPRE pattern parameters."
   ::= { adGenVoipDialingProfileSPREPatternProv 3 }

adGenVoipDialingProfileSPREPatternProvEntry OBJECT-TYPE
   SYNTAX      AdGenVoipDialingProfileSPREPatternProvEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "An entry in the adGenVoipDialingProfileSPREPatternProvTable."
   INDEX { IMPLIED adGenVoipDialingProfileSPREPatternEntryIndex }
   ::= { adGenVoipDialingProfileSPREPatternProvTable 1 }

AdGenVoipDialingProfileSPREPatternProvEntry ::=
   SEQUENCE
   {
      adGenVoipDialingProfileSPREPatternEntryIndex            DisplayString,
      adGenVoipDialingProfileSPREPatternRowStatus             RowStatus,
      adGenVoipDialingProfileSPREPatternLastErrorString       DisplayString,
      adGenVoipDialingProfileSPREPatternTone                  INTEGER,
      adGenVoipDialingProfileSPREPattern                      DisplayString,
      adGenVoipDialingProfileSPREPatternDialingProfile        AdGenVoipDialingProfileName
   }

adGenVoipDialingProfileSPREPatternEntryIndex OBJECT-TYPE
   SYNTAX      DisplayString (SIZE(4..80))
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "The SPRE Pattern table index.
     This must be a dialing profile name as specified by
     AdGenVoipDialingProfileName followed by a '/' followed by a SPRE pattern.
     See the description of adGenVoipDialingProfileSPREPattern for the rules
     of SPRE patterns.
     Ex.
        commercial/*45$
        commercial/#3M8
        residential/*6&"
   ::= { adGenVoipDialingProfileSPREPatternProvEntry 1 }

adGenVoipDialingProfileSPREPatternRowStatus OBJECT-TYPE
   SYNTAX       RowStatus
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
     "This object is used to create a new row or delete an existing row in this
      table.  Use createAndWait to add an entry, set the available paramaters,
      then activate the entry.."
   ::= { adGenVoipDialingProfileSPREPatternProvEntry 2 }

adGenVoipDialingProfileSPREPatternLastErrorString OBJECT-TYPE
   SYNTAX       DisplayString
   MAX-ACCESS   read-only
   STATUS       current
   DESCRIPTION
     "The reason for the last error that occurred while attempting to create an
      entry in the VoIP SPRE pattern Table."
   ::= { adGenVoipDialingProfileSPREPatternProvEntry 3 }

adGenVoipDialingProfileSPREPatternTone OBJECT-TYPE
   SYNTAX       INTEGER {
                  none           (1),
                  dial           (2),
                  stutterDial   (3)
                  }
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
     "Specify the tone to play back when this SPRE tone is matched.
      NOTE: If the last character of the SPRE code is not a '&' or a '$' this
      oid will fail when attempting a set."
   ::= { adGenVoipDialingProfileSPREPatternProvEntry 4}

adGenVoipDialingProfileSPREPattern OBJECT-TYPE
   SYNTAX       DisplayString
   MAX-ACCESS   read-only
   STATUS       current
   DESCRIPTION
     "The SPRE pattern used to match dialing strings.
      This must be in the form of a SPRE code or
      dialing pattern containing wildcards. Available wildcards for this index
      are: N=2-9, M=1-8, X=0-9, [abc]=Any digit contained in the bracketed list.
      Ending the pattern with '&' will cause the unit to also look for a valid
      dial-plan pattern following the SPRE code, however ending it with '$' will
      cause the unit to stop attempting to match further input.
      The following rules must be observed:
         1.  Template must begin with a * or #. * and # are not allowed
             elsewhere in the template.
         2.  Templates MUST have at least one NUMBER.
         3.  ( ) and - are allowed, but not inside braces []
         4.  Wildcards (MNX) are not allowed inside braces [], only numbers - order
             of numbers is not enforced, but ranges are not allowed.
         5.  & or $ is allowed but MUST be the last character.  Cannot be standalone."
   ::= { adGenVoipDialingProfileSPREPatternProvEntry 5 }

adGenVoipDialingProfileSPREPatternDialingProfile OBJECT-TYPE
   SYNTAX       AdGenVoipDialingProfileName
   MAX-ACCESS   read-only
   STATUS       current
   DESCRIPTION
     "The Dialing Profile that this SPRE Pattern is assigned to."
   ::= { adGenVoipDialingProfileSPREPatternProvEntry 6 }


--***********************************************************************************
-- This table is for the Dialing Profile wrapped External Line Code provisioning
-- items for VoIP call routing.
--***********************************************************************************

adGenVoipDialingProfileExternalLineCodeProvCurrentNumber OBJECT-TYPE
   SYNTAX      Integer32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
     "Current number of VoIP External Line Codes defined."
   ::= { adGenVoipDialingProfileExternalLineCodeProv 1 }

adGenVoipDialingProfileExternalLineCodeProvLastCreateError OBJECT-TYPE
   SYNTAX      DisplayString
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
     "The reason for the last error that occurred while attempting to create
      an entry in the VoIP External Line Code provisioning table.
      (adGenVoipDialingProfileExternalLineCodeProvTable)."
   ::= { adGenVoipDialingProfileExternalLineCodeProv 2 }

adGenVoipDialingProfileExternalLineCodeProvTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF AdGenVoipDialingProfileExternalLineCodeProvEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "This table supports provisioning of External Line Code parameters."
   ::= { adGenVoipDialingProfileExternalLineCodeProv 3 }

adGenVoipDialingProfileExternalLineCodeProvEntry OBJECT-TYPE
   SYNTAX      AdGenVoipDialingProfileExternalLineCodeProvEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "An entry in the adGenVoipDialingProfileExternalLineCodeProvTable."
   INDEX { IMPLIED adGenVoipDialingProfileExternalLineCodeEntryIndex }
   ::= { adGenVoipDialingProfileExternalLineCodeProvTable 1 }

AdGenVoipDialingProfileExternalLineCodeProvEntry ::=
   SEQUENCE
   {
      adGenVoipDialingProfileExternalLineCodeEntryIndex            DisplayString,
      adGenVoipDialingProfileExternalLineCodeRowStatus             RowStatus,
      adGenVoipDialingProfileExternalLineCodeLastErrorString       DisplayString,
      adGenVoipDialingProfileExternalLineCodeTone                  INTEGER,
      adGenVoipDialingProfileExternalLineCodePattern               DisplayString,
      adGenVoipDialingProfileExternalLineCodeDialingProfile        AdGenVoipDialingProfileName
   }

adGenVoipDialingProfileExternalLineCodeEntryIndex OBJECT-TYPE
   SYNTAX      DisplayString (SIZE(3..80))
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "The DialingProfileExternal Line code index.
     This must be a dialing profile name as specified by
     AdGenVoipDialingProfileName followed by a '/' followed by an external line
     code pattern. See the description of
     adGenVoipDialingProfileExternalLineCodePattern for the rules of external
     line code patterns.
     Ex.
        commercial/9$
        commercial/8
        residential/2&
     "
   ::= { adGenVoipDialingProfileExternalLineCodeProvEntry 1 }

adGenVoipDialingProfileExternalLineCodeRowStatus OBJECT-TYPE
   SYNTAX       RowStatus
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
     "This object is used to create a new row or delete an existing row in this
      table.  Use createAndWait to add an entry, set the available paramaters,
      then activate the entry."
   ::= { adGenVoipDialingProfileExternalLineCodeProvEntry 2 }

adGenVoipDialingProfileExternalLineCodeLastErrorString OBJECT-TYPE
   SYNTAX       DisplayString
   MAX-ACCESS   read-only
   STATUS       current
   DESCRIPTION
     "The reason for the last error that occurred while attempting to create an
      entry in the VoIP External Line Code Table."
   ::= { adGenVoipDialingProfileExternalLineCodeProvEntry 3 }

adGenVoipDialingProfileExternalLineCodeTone OBJECT-TYPE
   SYNTAX       INTEGER {
                  none           (1),
                  dial           (2),
                  stutterDial   (3)
                  }
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
     "Specify the tone to play back when this External Line Code tone is matched.
      NOTE: If the last character of the External Line Code code is not a '&' or a '$' this
      oid will fail when attempting a set."
   ::= { adGenVoipDialingProfileExternalLineCodeProvEntry 4}

adGenVoipDialingProfileExternalLineCodePattern OBJECT-TYPE
   SYNTAX       DisplayString
   MAX-ACCESS   read-only
   STATUS       current
   DESCRIPTION
     "The external line code pattern used to match dialing strings.
      This must be in the form of a number or
      dialing pattern. It cannot contain wildcards.
      Ending the pattern with '&' will cause the unit to also look for a valid
      dial-plan pattern following the External line code, however ending it with
      '$' will cause the unit to stop attempting to match further input.
      The following rules must be observed:
         1.  Templates MUST have at least one NUMBER.
         2.  Wildcards are not allowed.
         3.  & or $ is allowed but MUST be the last character.  Cannot
         be standalone.
         4.  If * and # are entered, they must be the first character.  May not
         be standalone."
   ::= { adGenVoipDialingProfileExternalLineCodeProvEntry 5 }

adGenVoipDialingProfileExternalLineCodeDialingProfile OBJECT-TYPE
   SYNTAX       AdGenVoipDialingProfileName
   MAX-ACCESS   read-only
   STATUS       current
   DESCRIPTION
     "Dialing Profile that this external line code is assigned to."
   ::= { adGenVoipDialingProfileExternalLineCodeProvEntry 6 }

--******************************************************************************
-- This table is DEPRECATED.
--******************************************************************************

adGenVoipDialingProfileProvExtTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF AdGenVoipDialingProfileProvExtEntry
   MAX-ACCESS  not-accessible
   STATUS      deprecated
   DESCRIPTION
     "This table allows for operations on the entirety of a dialing profile."
   ::= { adGenVoipDialingProfileProvExt 1 }

adGenVoipDialingProfileProvExtEntry OBJECT-TYPE
   SYNTAX      AdGenVoipDialingProfileProvExtEntry
   MAX-ACCESS  not-accessible
   STATUS      deprecated
   DESCRIPTION
     "An entry in the adGenVoipDialingProfileProvExtTable."
   INDEX { IMPLIED adGenVoipDialingProfileProvExtEntryIndex }
   ::= { adGenVoipDialingProfileProvExtTable 1 }

AdGenVoipDialingProfileProvExtEntry ::=
   SEQUENCE
   {
      adGenVoipDialingProfileProvExtEntryIndex                  AdGenVoipDialingProfileName,
      adGenVoipDialingProfileProvExtNumVoiceUsers               Unsigned32,
      adGenVoipDialingProfileProvExtRemoveProfile               INTEGER
   }

adGenVoipDialingProfileProvExtEntryIndex OBJECT-TYPE
   SYNTAX      AdGenVoipDialingProfileName
   MAX-ACCESS  not-accessible
   STATUS      deprecated
   DESCRIPTION
     "The dialing profile table index.
      Entries in this table cannot be created, only read."
   ::= { adGenVoipDialingProfileProvExtEntry 1 }

adGenVoipDialingProfileProvExtNumVoiceUsers OBJECT-TYPE
   SYNTAX      Unsigned32
   MAX-ACCESS  read-only
   STATUS      deprecated
   DESCRIPTION
     "Current number of voice users using the specified dialing profile."
   ::= { adGenVoipDialingProfileProvExtEntry 2 }

adGenVoipDialingProfileProvExtRemoveProfile OBJECT-TYPE
   SYNTAX      INTEGER {
                 remove             (1)
                 }
   MAX-ACCESS   read-write
   STATUS       deprecated
   DESCRIPTION
     "Write to this object to remove an entire dialing profile. Will always
      return (1) when read. Profiles can only be removed when they are not
      in use by any voice users."
   ::= { adGenVoipDialingProfileProvExtEntry 3 }

--******************************************************************************
-- This table is for the Dialing Profile provisioning items
-- for VoIP call routing.
--******************************************************************************

adGenVoipDialingProfileCommonProvCurrentNumber OBJECT-TYPE
   SYNTAX      Integer32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
     "Current number of VoIP Dialing Profiles defined."
   ::= { adGenVoipDialingProfileCommonProv 1 }

adGenVoipDialingProfileCommonProvLastCreateError OBJECT-TYPE
   SYNTAX      DisplayString
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
     "The reason for the last error that occurred while attempting to create
      an entry in the VoIP Dialing Profile Provisioning Extensions table.
      (adGenVoipDialingProfileExternalLineCodeProvTable)."
   ::= { adGenVoipDialingProfileCommonProv 2 }

adGenVoipDialingProfileCommonProvTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF AdGenVoipDialingProfileCommonProvEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "This table allows for operations on the entirety of a dialing profile."
   ::= { adGenVoipDialingProfileCommonProv 3 }

adGenVoipDialingProfileCommonProvEntry OBJECT-TYPE
   SYNTAX      AdGenVoipDialingProfileCommonProvEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "An entry in the adGenVoipDialingProfileCommonProvTable."
   INDEX { IMPLIED adGenVoipDialingProfileCommonProvEntryIndex }
   ::= { adGenVoipDialingProfileCommonProvTable 1 }

AdGenVoipDialingProfileCommonProvEntry ::=
   SEQUENCE
   {
      adGenVoipDialingProfileCommonProvEntryIndex               AdGenVoipDialingProfileName,
      adGenVoipDialingProfileCommonProvNumVoiceUsers            Unsigned32,
      adGenVoipDialingProfileCommonProvRemoveProfile            INTEGER,
      adGenVoipDialingProfileCommonProvDescription              DisplayString,
      adGenVoipDialingProfileCommonProvRowStatus                RowStatus,
      adGenVoipDialingProfileCommonProvLastErrorString          DisplayString
   }

adGenVoipDialingProfileCommonProvEntryIndex OBJECT-TYPE
   SYNTAX      AdGenVoipDialingProfileName
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "The dialing profile table index.
      Entries in this table cannot be deleted directly. To remove an entire
      dialing profile, use the adGenVoipDialingProfileCommonProvRemoveProfile
      OID."
   ::= { adGenVoipDialingProfileCommonProvEntry 1 }

adGenVoipDialingProfileCommonProvNumVoiceUsers OBJECT-TYPE
   SYNTAX      Unsigned32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
     "Current number of voice users using the specified dialing profile."
   ::= { adGenVoipDialingProfileCommonProvEntry 2 }

adGenVoipDialingProfileCommonProvRemoveProfile OBJECT-TYPE
   SYNTAX      INTEGER {
                 remove             (1)
                 }
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
     "Write to this object to remove an entire dialing profile. Will always
      return (1) when read. Profiles can only be removed when they are not
      in use by any voice users."
   ::= { adGenVoipDialingProfileCommonProvEntry 3 }

adGenVoipDialingProfileCommonProvDescription OBJECT-TYPE
   SYNTAX      DisplayString (SIZE(0..255))
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
     "A user editable string used to describe the dialing profile."
   ::= { adGenVoipDialingProfileCommonProvEntry 4 }

adGenVoipDialingProfileCommonProvRowStatus OBJECT-TYPE
   SYNTAX       RowStatus
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
     "This object is used to create a new row in this table."
   ::= { adGenVoipDialingProfileCommonProvEntry 5 }

adGenVoipDialingProfileCommonProvLastErrorString OBJECT-TYPE
   SYNTAX       DisplayString
   MAX-ACCESS   read-only
   STATUS       current
   DESCRIPTION
     "The reason for the last error that occurred while accessing an entry in
     the VoIP Dialing Profile Provisioning Extensions Table."
   ::= { adGenVoipDialingProfileCommonProvEntry 6 }

--******************************************************************************
-- This table is for CODEC Profile Name provisioning.
--******************************************************************************
adGenVoipCodecProfileNameProvCurrentNumber OBJECT-TYPE
   SYNTAX      Integer32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
     "Current number of VoIP CODEC Profile Name defined."
   ::= { adGenVoipCodecProfileNameProv 1 }

adGenVoipCodecProfileNameProvLastCreateError OBJECT-TYPE
   SYNTAX      DisplayString
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
     "The reason for the last error that occurred while attempting to create
      an entry in the VoIP CODEC Profile Name provisioning table
      (adGenVoipCodecProfileNameProvTable)."
   ::= { adGenVoipCodecProfileNameProv 2 }

adGenVoipCodecProfileNameProvTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF AdGenVoipCodecProfileNameProvEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "This table supports provisioning of CODEC profile name parameters."
   ::= { adGenVoipCodecProfileNameProv 3 }

adGenVoipCodecProfileNameProvEntry OBJECT-TYPE
   SYNTAX      AdGenVoipCodecProfileNameProvEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "An entry in the adGenVoipCodecProfileNameProvTable."
   INDEX { IMPLIED adGenVoipCodecProfileNameProvIndex}
   ::= { adGenVoipCodecProfileNameProvTable 1 }

AdGenVoipCodecProfileNameProvEntry ::=
   SEQUENCE
   {
      adGenVoipCodecProfileNameProvIndex             AdGenVoipCodecProfileName,
      adGenVoipCodecProfileNameProvRowStatus         RowStatus,
      adGenVoipCodecProfileNameProvLastErrorString   DisplayString,
      adGenVoipCodecProfilePreferenceLastCreateError DisplayString
   }

adGenVoipCodecProfileNameProvIndex OBJECT-TYPE
   SYNTAX      AdGenVoipCodecProfileName
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "The name of the Codec Profile."
   ::= { adGenVoipCodecProfileNameProvEntry 1 }

adGenVoipCodecProfileNameProvRowStatus OBJECT-TYPE
   SYNTAX       RowStatus
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
     "This object is used to create a new row or modify or delete an existing
      row in this table."
   ::= { adGenVoipCodecProfileNameProvEntry 2 }

adGenVoipCodecProfileNameProvLastErrorString OBJECT-TYPE
   SYNTAX       DisplayString
   MAX-ACCESS   read-only
   STATUS       current
   DESCRIPTION
     "The reason for the last error that occurred while attempting to create or
      modify an profile entry within this CODEC name."
   ::= { adGenVoipCodecProfileNameProvEntry 3 }

adGenVoipCodecProfilePreferenceLastCreateError OBJECT-TYPE
   SYNTAX       DisplayString
   MAX-ACCESS   read-only
   STATUS       current
   DESCRIPTION
     "The reason why last creation of Perference Entry had failed within
      this CODEC name."
   ::= { adGenVoipCodecProfileNameProvEntry 4 }

--******************************************************************************
-- This table is for CODEC Profile Provisioning.
--******************************************************************************
adGenVoipCodecProfileProvTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF AdGenVoipCodecProfileProvEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "This table supports provisioning of CODEC profile parameters."
   ::= { adGenVoipCodecProfileProv 1 }

adGenVoipCodecProfileProvEntry OBJECT-TYPE
   SYNTAX      AdGenVoipCodecProfileProvEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "An entry in the adGenVoipCodecProfileProvTable."
   INDEX { adGenVoipCodecProfileNameProvIndex, adGenVoipCodecProfileProvIndex}
   ::= { adGenVoipCodecProfileProvTable 1 }

AdGenVoipCodecProfileProvEntry ::=
   SEQUENCE
   {
      adGenVoipCodecProfileProvIndex                 Unsigned32,
      adGenVoipCodecProfileProvRowStatus             RowStatus,
      adGenVoipCodecProfileProvLastErrorString       DisplayString,

      adGenVoipCodecProfileProvPreference            AdGenVoipCodecProfileType
   }

adGenVoipCodecProfileProvIndex OBJECT-TYPE
   SYNTAX       Unsigned32
   MAX-ACCESS   not-accessible
   STATUS       current
   DESCRIPTION
     "This used to index preference entrees."
   ::= { adGenVoipCodecProfileProvEntry 1 }

adGenVoipCodecProfileProvRowStatus OBJECT-TYPE
   SYNTAX       RowStatus
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
     "This object is used to create a new row or modify or delete an existing
      row in this table."
   ::= { adGenVoipCodecProfileProvEntry 2 }

adGenVoipCodecProfileProvLastErrorString OBJECT-TYPE
   SYNTAX       DisplayString
   MAX-ACCESS   read-only
   STATUS       current
   DESCRIPTION
     "The reason for the last error that occurred while attempting to create or
      modify an entry in the CODEC Profile Prov Table."
   ::= { adGenVoipCodecProfileProvEntry 3 }

adGenVoipCodecProfileProvPreference OBJECT-TYPE
   SYNTAX       AdGenVoipCodecProfileType
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
     "This sets the CODEC preference.
     A set with a none(0) value will be rejected."
   DEFVAL      { g711ulaw }
   ::= { adGenVoipCodecProfileProvEntry 4 }

--******************************************************************************
-- This table is for Media Profile provisioning.
--******************************************************************************
adGenVoipMediaProfileProvCurrentNumber OBJECT-TYPE
   SYNTAX      Integer32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
     "Current number of VoIP Media Profile defined."
   ::= { adGenVoipMediaProfileProv 1 }

adGenVoipMediaProfileProvLastCreateError OBJECT-TYPE
   SYNTAX      DisplayString
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
     "The reason for the last error that occurred while attempting to create
      an entry in the VoIP Media Profile provisioning table
      (adGenVoipMediaProfileProvTable)."
   ::= { adGenVoipMediaProfileProv 2 }

adGenVoipMediaProfileProvTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF AdGenVoipMediaProfileProvEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "This table supports provisioning of Media profile parameters."
   ::= { adGenVoipMediaProfileProv 3 }

adGenVoipMediaProfileProvEntry OBJECT-TYPE
   SYNTAX      AdGenVoipMediaProfileProvEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "An entry in the adGenVoipMediaProfileProvTable."
   INDEX { IMPLIED adGenVoipMediaProfileProvEntryIndex }
   ::= { adGenVoipMediaProfileProvTable 1 }

AdGenVoipMediaProfileProvEntry ::=
   SEQUENCE
   {
      adGenVoipMediaProfileProvEntryIndex            AdGenVoipMediaProfileName,
      adGenVoipMediaProfileProvRowStatus             RowStatus,
      adGenVoipMediaProfileProvLastErrorString       DisplayString,

      adGenVoipMediaProfileProvRtpFramePktization    Unsigned32,
      adGenVoipMediaProfileProvRtpPktDelayNominal    Unsigned32,
      adGenVoipMediaProfileProvRtpPktDelayMaximum    Unsigned32,
      adGenVoipMediaProfileProvRtpDtmfRelay          Unsigned32,
      adGenVoipMediaProfileProvRtpQosDscp            Unsigned32,
      adGenVoipMediaProfileProvRtpLocalPortMin       Unsigned32,
      adGenVoipMediaProfileProvRtpLocalPortMax       Unsigned32,
      adGenVoipMediaProfileProvFaxMode               INTEGER,
      adGenVoipMediaProfileProvEchoCancellation      INTEGER,
      adGenVoipMediaProfileProvFlashHookMin          Unsigned32,
      adGenVoipMediaProfileProvFlashHookMax          Unsigned32,
      adGenVoipMediaProfileProvVAD                   INTEGER
   }

adGenVoipMediaProfileProvEntryIndex OBJECT-TYPE
   SYNTAX      AdGenVoipMediaProfileName
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "The name of the Media Profile."
   ::= { adGenVoipMediaProfileProvEntry 1 }

adGenVoipMediaProfileProvRowStatus OBJECT-TYPE
   SYNTAX       RowStatus
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
     "This object is used to create a new row or modify or delete an existing
      row in this table."
   ::= { adGenVoipMediaProfileProvEntry 2 }

adGenVoipMediaProfileProvLastErrorString OBJECT-TYPE
   SYNTAX       DisplayString
   MAX-ACCESS   read-only
   STATUS       current
   DESCRIPTION
     "The reason for the last error that occurred while attempting to create or
      modify an entry in the Media Profile Prov Table."
   ::= { adGenVoipMediaProfileProvEntry 3 }

adGenVoipMediaProfileProvRtpFramePktization OBJECT-TYPE
   SYNTAX       Unsigned32
   UNITS        "milliseconds"
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
     "RTP Frame Packetization value in Milliseconds.
      Allowed values are 10, 20 and 30."
   DEFVAL { 10 }
   ::= { adGenVoipMediaProfileProvEntry 4 }

adGenVoipMediaProfileProvRtpPktDelayNominal OBJECT-TYPE
   SYNTAX       Unsigned32 (0..240)
   UNITS        "milliseconds"
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
     "RTP Packet Delay Nominal setting in Milliseconds."
   DEFVAL { 50 }
   ::= { adGenVoipMediaProfileProvEntry 5 }

adGenVoipMediaProfileProvRtpPktDelayMaximum OBJECT-TYPE
   SYNTAX       Unsigned32 (40..320)
   UNITS        "milliseconds"
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
     "RTP Packet Delay Maximum setting in Milliseconds."
   DEFVAL { 100 }
   ::= { adGenVoipMediaProfileProvEntry 6 }

adGenVoipMediaProfileProvRtpDtmfRelay OBJECT-TYPE
   SYNTAX       Unsigned32
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
     "Enable/Disable RTP DTMF.
      Disabled is 1, Enabled is 2."
   DEFVAL { 2 }
   ::= { adGenVoipMediaProfileProvEntry 7 }

adGenVoipMediaProfileProvRtpQosDscp OBJECT-TYPE
   SYNTAX       Unsigned32 (0..63)
   UNITS        "priority"
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
     "RTP QoS DSCP setting"
   DEFVAL { 46 }
   ::= { adGenVoipMediaProfileProvEntry 8 }

adGenVoipMediaProfileProvRtpLocalPortMin OBJECT-TYPE
   SYNTAX       Unsigned32 (1026..60000)
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
     "RTP Local Port Minimal setting"
   DEFVAL { 10000 }
   ::= { adGenVoipMediaProfileProvEntry 9 }

adGenVoipMediaProfileProvRtpLocalPortMax OBJECT-TYPE
   SYNTAX       Unsigned32 (1026..60000)
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
     "RTP Local Port Maximum setting"
   DEFVAL { 60000 }
   ::= { adGenVoipMediaProfileProvEntry 10 }

adGenVoipMediaProfileProvFaxMode OBJECT-TYPE
   SYNTAX      INTEGER {
                         modemPassThrough(1),
                         t38(2)
                       }
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
     "Fax Modem setting"
   DEFVAL      { modemPassThrough }
   ::= { adGenVoipMediaProfileProvEntry 11 }

adGenVoipMediaProfileProvEchoCancellation OBJECT-TYPE
   SYNTAX      INTEGER {
                         disabled(1),
                         enabled(2)
                       }
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
     "Echo Cancellation setting"
   DEFVAL      { enabled }
   ::= { adGenVoipMediaProfileProvEntry 12 }

adGenVoipMediaProfileProvFlashHookMin OBJECT-TYPE
   SYNTAX       Unsigned32 (40..1550)
   UNITS        "milliseconds"
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
     "Flash Hook Minimal Threshold setting in Milliseconds. Default: 300 Milliseconds."
   DEFVAL { 300 }
   ::= { adGenVoipMediaProfileProvEntry 13 }

adGenVoipMediaProfileProvFlashHookMax OBJECT-TYPE
   SYNTAX       Unsigned32 (40..1550)
   UNITS        "milliseconds"
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
     "Flash Hook Maximum Threshold setting in Milliseconds. Default: 1000 Milliseconds."
   DEFVAL { 1000 }
   ::= { adGenVoipMediaProfileProvEntry 14 }

adGenVoipMediaProfileProvVAD OBJECT-TYPE
   SYNTAX      INTEGER {
                         disabled(1),
                         enabled(2)
                       }
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
     "Voice Activation Detection setting"
   DEFVAL      { enabled }
   ::= { adGenVoipMediaProfileProvEntry 15 }

--******************************************************************************
-- This table is for Call Feature Profile provisioning.
--******************************************************************************
adGenVoipCallFeatureProfileCurrentNumber OBJECT-TYPE
   SYNTAX      Integer32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
     "Current number of VoIP Call Feature Profile defined."
   ::= { adGenVoipCallFeatureProfileProv 1 }

adGenVoipCallFeatureProfileLastCreateError OBJECT-TYPE
   SYNTAX      DisplayString
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
     "The reason for the last error that occured while attempting to create
      an entry in the VoIP Call Feature Profile provisioning table
      (adGenVoipCallFeatureProfileProvTable)."
   ::= { adGenVoipCallFeatureProfileProv 2 }

adGenVoipCallFeatureProfileProvTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF AdGenVoipCallFeatureProfileProvEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "This table supports provisioning of Call Feature profile parameters."
   ::= { adGenVoipCallFeatureProfileProv 3 }

adGenVoipCallFeatureProfileProvEntry OBJECT-TYPE
   SYNTAX      AdGenVoipCallFeatureProfileProvEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "An entry in the adGenVoipCallFeatureProfileProvTable."
   INDEX { IMPLIED adGenVoipCallFeatureProfileEntryIndex }
   ::= { adGenVoipCallFeatureProfileProvTable 1 }

AdGenVoipCallFeatureProfileProvEntry ::=
   SEQUENCE
   {
      adGenVoipCallFeatureProfileEntryIndex                          AdGenVoipCallFeatureProfileName,
      adGenVoipCallFeatureProfileRowStatus                           RowStatus,
      adGenVoipCallFeatureProfileLastErrorString                     DisplayString,
      adGenVoipCallFeatureProfileEmergencyNumberRingingTimeout       Integer32,
      adGenVoipCallFeatureProfileEmergencyNumberOnhook               INTEGER,
      adGenVoipCallFeatureProfileCallWaiting                         INTEGER,
      adGenVoipCallFeatureProfileCallerIdInbound                     INTEGER,
      adGenVoipCallFeatureProfileCallerIdOutbound                    INTEGER,
      adGenVoipCallFeatureProfileTransferOnHangup                    INTEGER,
      adGenVoipCallFeatureProfileTimeoutAlerting                     Integer32,
      adGenVoipCallFeatureProfileTimeoutInterdigit                   Integer32,
      adGenVoipCallFeatureProfileConference                          INTEGER,
      adGenVoipCallFeatureProfileConferenceLocalOriginatorFlashhoook INTEGER,
      adGenVoipCallFeatureProfileFeatureMode                         INTEGER
   }

adGenVoipCallFeatureProfileEntryIndex OBJECT-TYPE
   SYNTAX      AdGenVoipCallFeatureProfileName
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "The name of the Call Feature Profile."
   ::= { adGenVoipCallFeatureProfileProvEntry 1 }

adGenVoipCallFeatureProfileRowStatus OBJECT-TYPE
   SYNTAX       RowStatus
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
     "This object is used to create a new row or modify or delete an existing
      row in this table."
   ::= { adGenVoipCallFeatureProfileProvEntry 2 }

adGenVoipCallFeatureProfileLastErrorString OBJECT-TYPE
   SYNTAX       DisplayString
   MAX-ACCESS   read-only
   STATUS       current
   DESCRIPTION
     "The reason for the last error that occured while attempting to create or
      modify an entry in the Call Feature Profile Prov Table."
   ::= { adGenVoipCallFeatureProfileProvEntry 3 }

adGenVoipCallFeatureProfileEmergencyNumberRingingTimeout OBJECT-TYPE
   SYNTAX       Integer32 (1..60)
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
     "Maximum time a phone rings after hanging up on the emergency operator, in minutes.
      This only applies to VoIP protocols with a locally configurable dial-plan."
   DEFVAL { 10 }
   ::= { adGenVoipCallFeatureProfileProvEntry 4 }

adGenVoipCallFeatureProfileEmergencyNumberOnhook OBJECT-TYPE
   SYNTAX       INTEGER {
                         inhibit(1),
                         allow(2)
                        }
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
     "Allow or prohibit user to disconnect an emergency call.  This only
      applies to VoIP protocols with a locally configurable dial-plan."
   DEFVAL { allow }
   ::= { adGenVoipCallFeatureProfileProvEntry 5 }

adGenVoipCallFeatureProfileCallWaiting OBJECT-TYPE
   SYNTAX      INTEGER {
                         enabled(1),
                         disabled(2)
                       }
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
     "Call waiting.  Allow call waiting notification on an incoming call."
   DEFVAL { enabled }
   ::= { adGenVoipCallFeatureProfileProvEntry 6 }

adGenVoipCallFeatureProfileCallerIdInbound OBJECT-TYPE
   SYNTAX      INTEGER {
                         enabled(1),
                         disabled(2)
                       }
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
     "Caller ID inbound.
      Allow inbound caller ID to be displayed locally."
   DEFVAL { enabled }
   ::= { adGenVoipCallFeatureProfileProvEntry 7 }

adGenVoipCallFeatureProfileCallerIdOutbound OBJECT-TYPE
   SYNTAX      INTEGER {
                         enabled(1),
                         disabled(2)
                       }
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
     " Caller ID outbound. Enable/Disable outbound caller ID from
       this endpoint. Applies primarily to SIP."
   DEFVAL { enabled }
   ::= { adGenVoipCallFeatureProfileProvEntry 8 }

adGenVoipCallFeatureProfileTransferOnHangup OBJECT-TYPE
   SYNTAX      INTEGER {
                         enabled(1),
                         disabled(2)
                       }
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
     "Enable/Disable transfer on caller hanging up.  Applies primarily
      to SIP."
   DEFVAL { enabled }
   ::= { adGenVoipCallFeatureProfileProvEntry 9 }

adGenVoipCallFeatureProfileTimeoutAlerting OBJECT-TYPE
   SYNTAX       Integer32 (0..60)
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
     "Maximum time a call can remain in alerting state.
     Time in minutes, 0 is unlimited."
   DEFVAL { 5 }
   ::= { adGenVoipCallFeatureProfileProvEntry 10 }

adGenVoipCallFeatureProfileTimeoutInterdigit OBJECT-TYPE
   SYNTAX      Integer32 (1..16)
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
     "Time allowed between dialed digits.
     Time in seconds."
   DEFVAL { 4 }
   ::= { adGenVoipCallFeatureProfileProvEntry 11 }

adGenVoipCallFeatureProfileConference OBJECT-TYPE
   SYNTAX      INTEGER {
                         enable(1),
                         disabled(2)
                       }
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
     "Enable/Disable conferencing."
   DEFVAL { disabled }
   ::= { adGenVoipCallFeatureProfileProvEntry 12 }

adGenVoipCallFeatureProfileConferenceLocalOriginatorFlashhoook OBJECT-TYPE
   SYNTAX      INTEGER {
                         drop(1),
                         ignore(2),
                         split(3)
                       }
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
     "Setting for behavior in response to actions by the conference originator:
     1) Drop the last party added;
     2) Ignore flashhook;
     3) Split the conference.
     Applies primarily to SIP."
   DEFVAL { drop }
   ::= { adGenVoipCallFeatureProfileProvEntry 13 }

adGenVoipCallFeatureProfileFeatureMode OBJECT-TYPE
   SYNTAX      INTEGER {
                         network(1),
                         local(2)
                       }
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
     "Determines if flashhook and conferencing is to be processed and performed
      locally or at the switch."
   DEFVAL { network }
   ::= { adGenVoipCallFeatureProfileProvEntry 14 }

adGenVoipUserReverseLookupTable OBJECT-TYPE
  SYNTAX      SEQUENCE OF AdGenVoipUserReverseLookupTableEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "This table provides the user name of all connected voice users by ifindex."
   ::= { adGenVoipUserReverseLookup 1 }

adGenVoipUserReverseLookupTableEntry OBJECT-TYPE
   SYNTAX      AdGenVoipUserReverseLookupTableEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "An entry in the adGenVoipUserReverseLookupTable."
   INDEX { adGenVoipUserReverseLookupTableEntryIndex }
   ::= { adGenVoipUserReverseLookupTable 1 }

AdGenVoipUserReverseLookupTableEntry ::=
   SEQUENCE
   {
      adGenVoipUserReverseLookupTableEntryIndex     AdGenVoipCallReverseLookupIfIndex,
      adGenVoipUserReverseLookupTableUserName       DisplayString
   }

adGenVoipUserReverseLookupTableEntryIndex OBJECT-TYPE
   SYNTAX      AdGenVoipCallReverseLookupIfIndex
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
     "The index to the Reverse Lookup Table."
   ::= { adGenVoipUserReverseLookupTableEntry 1 }

adGenVoipUserReverseLookupTableUserName OBJECT-TYPE
   SYNTAX      DisplayString
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
     "The voice user name corresponding to the index."
   ::= { adGenVoipUserReverseLookupTableEntry  2}

--==============================================================================
-- STATUS
--==============================================================================

adGenVoipStatus                OBJECT IDENTIFIER ::= {adGenVoip 2}

-- *****************************************************************************
-- Groups in Voip Status
-- *****************************************************************************

adGenVoipUserStatus             OBJECT IDENTIFIER  ::= { adGenVoipStatus 1 }
adGenVoipScalarStatus           OBJECT IDENTIFIER  ::= { adGenVoipStatus 2 }

-- *****************************************************************************
-- Groups in User Status
-- *****************************************************************************

adGenVoipUserHotlineStatus         OBJECT IDENTIFIER ::= { adGenVoipUserStatus 1 }

--******************************************************************************
-- This table is for VoIP User Hotline Status.
--******************************************************************************
adGenVoipUserHotlineStatusTable OBJECT-TYPE
  SYNTAX      SEQUENCE OF AdGenVoipUserHotlineStatusTableEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "This table provides the status information for the hotline feature of
      voice users."
   ::= { adGenVoipUserHotlineStatus 1 }

adGenVoipUserHotlineStatusTableEntry OBJECT-TYPE
   SYNTAX      AdGenVoipUserHotlineStatusTableEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
     "An entry in the adGenVoipUserHotlineStatusTable."
   INDEX { ifIndex, -- This is the device level index
           adGenVoipUserHotlineStatusEntryIndex }
   ::= { adGenVoipUserHotlineStatusTable 1 }

AdGenVoipUserHotlineStatusTableEntry ::=
   SEQUENCE
   {
      adGenVoipUserHotlineStatusEntryIndex         AdGenVoipUserNumber,
      adGenVoipUserHotlineStatusNumber             DisplayString,
      adGenVoipUserHotlineStatusHotlineState       DisplayString
   }

adGenVoipUserHotlineStatusEntryIndex OBJECT-TYPE
   SYNTAX      AdGenVoipUserNumber
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
     "The index to the Voice User Hotline Status Table. This is the same
      as the index to the adGenVoipUserProv table."
   ::= { adGenVoipUserHotlineStatusTableEntry 1 }

adGenVoipUserHotlineStatusNumber OBJECT-TYPE
   SYNTAX      DisplayString (SIZE(1..80))
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
     "The phone number that is dialed when this voice user goes off-hook."
   ::= { adGenVoipUserHotlineStatusTableEntry  2}

adGenVoipUserHotlineStatusHotlineState OBJECT-TYPE
   SYNTAX      DisplayString
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
     "The status of the hotline feature for this voice user. Values include:
      'Immediate' - This number will be dialed immediately upon off-hook
      'Delayed - No Matching Dial Plan' - This number does not match a
          dial plan string for the user and will be dialed after the interdigit
          timeout
      'Disabled' - The string is blank and the hotline feature is disabled"
   ::= { adGenVoipUserHotlineStatusTableEntry  3}

adGenVoipScalarStatusMaxSupportedSipTrunks OBJECT-TYPE
   SYNTAX      Integer32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
     "Maximum number of SIP trunks that the shelf can support."
   ::= { adGenVoipScalarStatus 1 }

adGenVoipScalarStatusNumberOfSipTrunks OBJECT-TYPE
   SYNTAX      Integer32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
     "Number of SIP trunks that currently exist on the shelf."
   ::= { adGenVoipScalarStatus 2 }
END
