// Copyright (c) 2005 DMTF.  All rights reserved.
   [Version ( "2.10.0" ), 
    UMLPackagePath ( "CIM::Device::Modems" ), 
    Description ( 
       "Unimodem is a POTSModem that supports the Unimodem 1.0 Specification."
        )]
class CIM_Unimodem : CIM_POTSModem {

      [Description ( "Current call setup result code." ), 
       ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", 
          "10", "11" }, 
       Values { "No Previous Call", "No Dial Tone Detected", 
          "Reorder Signal Detected, Network Busy", 
          "Busy Signal Detected", "No Recognized Signal Detected", 
          "Voice Detected", "Text Telephone Detected", 
          "Data Answering Signal Detected", 
          "Data Calling Signal Detected", 
          "Fax Answering Signal Detected", 
          "Fax Calling Signal Detected", "V.8bis Signal Detected" }]
   uint16 CallSetupResultCode;

      [Description ( "Current multimedia mode of the Unimodem." ), 
       ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", 
          "10" }, 
       Values { "Data Only", "Fax Only", "Voice Only", "Voice View", 
          "ASVD V.61", "ASVD V.34Q", "DSVD Multi-Tech", "DSVD 1.2", 
          "DSVD V.70", "Video Telephony H.324", "Other V.80 Call" }]
   uint16 MultiMediaMode;

      [Description ( 
          "Current DTE-DCE interface mode of the Unimodem, such as "
          "asynchronous, V.80 transparent, or framed synchronous "
          "modes." ), 
       ValueMap { "0", "1", "2" }, 
       Values { "Async Data", "V.80 Transparent Synchronous Mode", 
          "V.80 Framed Synchronous Mode" }]
   uint16 DTEDCEInterfaceMode;

      [Description ( "The active transmit modulation scheme." ), 
       ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", 
          "10", "11", "12", "13", "14", "15", "16", "17", "18", 
          "19", "20", "21", "22", "23..65535" }, 
       Values { "V.17 (G3 Fax Call)", "V.21", "V.22", "V.22bis", 
          "V.23 Constant Carrier (1200/75)", 
          "V.23 Switched Carrier (Half Duplex)", "V.26bis", 
          "V.26ter", "V.27ter (G3 Fax Call)", 
          "V.29 HD (G3 Fax Call)", "V.32", "V.32bis", "V.34", 
          "V.34 HD (G3 Fax Call)", "V.90 Issue 1 (Asymmetric)", 
          "V.90 Issue 2 (Symmetric)", "Reserved (V.58)", "X2", 
          "K56FLEX", "V.FC", "V.32terbo", "Bell 212A", "Bell 103", 
          "Reserved for Mfgs" }]
   uint16 TransmitCarrierNegotiation;

      [Description ( "The active receive modulation scheme." ), 
       ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", 
          "10", "11", "12", "13", "14", "15", "16", "17", "18", 
          "19", "20", "21", "22", "23..65535" }, 
       Values { "V.17 (G3 Fax Call)", "V.21", "V.22", "V.22bis", 
          "V.23 Constant Carrier (1200/75)", 
          "V.23 Switched Carrier (Half Duplex)", "V.26bis", 
          "V.26ter", "V.27ter (G3 Fax Call)", 
          "V.29 HD (G3 Fax Call)", "V.32", "V.32bis", "V.34", 
          "V.34 HD (G3 Fax Call)", "V.90 Issue 1 (Asymmetric)", 
          "V.90 Issue 2 (Symmetric)", "Reserved (V.58)", "X2", 
          "K56FLEX", "V.FC", "V.32terbo", "Bell 212A", "Bell 103", 
          "Reserved for Mfgs" }]
   uint16 ReceiveCarrierNegotiation;

      [Description ( 
          "Initial transmit carrier data rate for the current or "
          "last call, in bits per second." ), 
       Units ( "Bits per Second" ), 
       PUnit ( "bit / second" )]
   uint32 InitialTransmitCarrierDataRate;

      [Description ( 
          "Initial receive carrier data rate for the current or "
          "last call, in bits per second." ), 
       Units ( "Bits per Second" ), 
       PUnit ( "bit / second" )]
   uint32 InitialReceiveCarrierDataRate;

      [Description ( 
          "The number of carrier retrains requested during the "
          "current or last call." ), 
       Counter]
   uint8 CarrierRetrainsRequested;

      [Description ( 
          "The number of carrier retrains granted during the "
          "current or last call." ), 
       Counter]
   uint8 CarrierRetrainsGranted;

      [Description ( 
          "Final transmit carrier data rate of the current or last "
          "call, in bits per second." ), 
       Units ( "Bits per Second" ), 
       PUnit ( "bit / second" )]
   uint32 FinalTransmitCarrierDataRate;

      [Description ( 
          "Final receive carrier data rate of the current or last "
          "call, in bits per second." ), 
       Units ( "Bits per Second" ), 
       PUnit ( "bit / second" )]
   uint32 FinalReceiveCarrierDataRate;

      [Description ( "Cause of last call termination." ), 
       ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", 
          "10", "11", "12", "13", "14", "15", "16", "17", "18", 
          "19", "20", "21", "22", "23", "24", "25", "26", "27", 
          "28", "29", "30", "31", "32", "33", "34", "35", "36", 
          "37", "38", "39", "40", "41", "42", "43", "44", "45", 
          "46", "47", "48", "49", "50" }, 
       Values { "Cause Unidentified", "No Previous Call", 
          "Call Is Still in Progress", 
          "Call Waiting Signal Detected", "Delayed", 
          "NMS Initiated Dial Call", 
          "NMS Initiated Leased Line Restoral", 
          "NMS Initiated Redial", "NMS Initiated Dial Disconnect", 
          "Power Loss", 
          // 10               
          "Equipment Failure", 
          "Front Panel Disconnect Requested", 
          "Front Panel Leased Line Restoral", 
          "Automatic Leased Line Restoral", 
          "Inactivity Timer Expired", "cct116 Restoral Request", 
          "cct108 Is Off Inhibits Dial", "cct108 Turned Off", 
          "No Number Provided", "Blacklisted Number", 
          // 20               
          "Call Attempts Limit Exceeded", 
          "Extension Phone Off Hook", 
          "Call Setup Fail Timer Expired", "Incoming Call Detected", 
          "Loop Current Interrupted", "No Dial Tone", 
          "Voice Detected", "Reorder Tone", "Sit Tone", 
          "Engaged Tone", 
          // 30               
          "Long Space Disconnect", 
          "Carrier Lost", "Training Failed", 
          "No Modulation in Common", "Retrain Failed", 
          "Retrain Attempt Count Exceeded", 
          "GSTN Cleardown Received", "Fax Detected", "In Test Mode", 
          "Intrusive Self Test Initiated", 
          // 40               
          "Any Key Abort", 
          "DTE Hangup Command", "DTE Reset Command", "Frame Reject", 
          "No Error Control Established", "Protocol Violation", 
          "n400 Exceeded", "Negotiation Failed", 
          "Disconnect Frame Received", "Sabme Frame Received", 
          // 50               
          "Loss Of Synchronization" }]
   uint16 TerminationCause;

      [Description ( 
          "Diagnostic Command Specification, Unimodem revision number."
           )]
   string UnimodemRevision;

      [Description ( 
          "Estimated noise level for the last or current call in "
          "-dBm. Values are in the range of 0-100." ), 
       Units ( "-dBm" ), 
       Gauge, PUnit ( "decibel(m) * -1" )]
   uint32 EstimatedNoiseLevel;

      [Description ( 
          "Normalized mean squared error for the last or current call."
           )]
   uint32 NormalizedMeanSquaredError;

      [Description ( 
          "Temporary carrier loss event count for the last or current call."
           ), 
       Counter]
   uint8 TemporaryCarrierLossEventCount;

      [Description ( 
          "Carrier Rate renegotiation event count for the last or "
          "current call." ), 
       Counter]
   uint8 CarrierRenegotiationEventCount;

      [Description ( 
          "Error Control frame size in bytes for the last or current call."
           ), 
       Units ( "Bytes" ), 
       PUnit ( "byte" )]
   uint16 ErrorControlFrameSize;

      [Description ( 
          "Error control link timeouts in transmission for the last "
          "or current call." ), 
       Counter]
   uint8 ErrorControlLinkTimeouts;

      [Description ( 
          "Error control link NAKs received for the last or current call."
           ), 
       Counter]
   uint8 ErrorControlLinkNAKs;

      [Description ( 
          "The flow control mechanism used in transmitting data." ), 
       ValueMap { "0", "1", "2", "3" }, 
       Values { "Unknown", "Off", "DC1/DC3", "V.24 ckt 106/133" }]
   uint16 TransmitFlowControl;

      [Description ( 
          "The flow control mechanism used in receiving data." ), 
       ValueMap { "0", "1", "2", "3" }, 
       Values { "Unknown", "Off", "DC1/DC3", "V.24 ckt 106/133" }]
   uint16 ReceiveFlowControl;

      [Description ( 
          "Number of transmit chars sent from the DTE for the last "
          "or current call. A continuous connection might exceed "
          "this value, given enough time. Typically these counters "
          "are implemented as 32-bit counters, but additional bits "
          "can be provided and are accounted for in this property. "
          "If these counters hit maximum value, the DCE "
          "manufacturer might roll over to 0." ), 
       Counter]
   uint64 TransmitCharsSentFromDTE;

      [Description ( 
          "Number of receive chars sent to the DTE for the last or "
          "current call. A continuous connection might exceed this "
          "value, given enough time. Typically these counters are "
          "implemented as 32-bit counters, but additional bits can "
          "be provided and are accounted for in this property. If "
          "these counters hit maximum value, the DCE manufacturer "
          "might roll over to 0." ), 
       Counter]
   uint64 ReceiveCharsSentToDTE;

      [Description ( 
          "Number of transmit characters lost for the last or "
          "current call. A DCE might limit this counter to 16 bits, "
          "but additional bits can be provided and are accounted "
          "for in this property." ), 
       Counter]
   uint64 TransmitCharsLost;

      [Description ( 
          "Number of receive characters lost for the last or "
          "current call. A DCE might limit this counter to 16 bits, "
          "but additional bits can be provided and are accounted "
          "for in this property." ), 
       Counter]
   uint64 ReceiveCharsLost;

      [Description ( 
          "Number of I-Frames transmitted for the last or current "
          "call. A continuous connection might exceed this value, "
          "given enough time. Typically these counters are "
          "implemented as 32- bit counters, but additional bits can "
          "be provided and are accounted for in this property. If "
          "these counters hit maximum value, the DCE manufacturer "
          "might roll over to 0." ), 
       Counter]
   uint64 TransmitIFrameCount;

      [Description ( 
          "Number of I-Frames received for the last or current "
          "call. A continuous connection might exceed this value, "
          "given enough time. Typically these counters are "
          "implemented as 32-bit counters, but additional bits can "
          "be provided and are accounted for in this property. If "
          "these counters hit maximum value, the DCE manufacturer "
          "might roll over to 0." ), 
       Counter]
   uint64 ReceiveIFrameCount;

      [Description ( 
          "Number of I-Frame errors detected for the last or "
          "current call, if error control protocol is running. A "
          "DCE might limit this counter to 16 bits, but additional "
          "bits can be provided and are accounted for in this "
          "property." ), 
       Counter]
   uint64 TransmitIFrameErrorCount;

      [Description ( 
          "Number of I-Frame errors detected for the last or "
          "current call, if error control protocol is running. A "
          "DCE might limit this counter to 16 bits, but additional "
          "bits can be provided and are accounted for in this "
          "property." ), 
       Counter]
   uint64 ReceivedIFrameErrorCount;

      [Description ( 
          "Number of Call waiting events detected for the last or "
          "current call." ), 
       Counter]
   uint8 CallWaitingEventCount;


};
