<?php
/**
 * This class stands for XDeviceProtocol EnumType
 * @subpackage Enumerations
 */
class XDeviceProtocol
{
    /**
     * Constant for value 'SCCP'
     * @return string 'SCCP'
     */
    const VALUE_SCCP = 'SCCP';
    /**
     * Constant for value 'Digital Access PRI'
     * @return string 'Digital Access PRI'
     */
    const VALUE_DIGITAL_ACCESS_PRI = 'Digital Access PRI';
    /**
     * Constant for value 'H.225'
     * @return string 'H.225'
     */
    const VALUE_H_225 = 'H.225';
    /**
     * Constant for value 'Analog Access'
     * @return string 'Analog Access'
     */
    const VALUE_ANALOG_ACCESS = 'Analog Access';
    /**
     * Constant for value 'Digital Access T1'
     * @return string 'Digital Access T1'
     */
    const VALUE_DIGITAL_ACCESS_T_1 = 'Digital Access T1';
    /**
     * Constant for value 'Route Point'
     * @return string 'Route Point'
     */
    const VALUE_ROUTE_POINT = 'Route Point';
    /**
     * Constant for value 'Unicast Bridge'
     * @return string 'Unicast Bridge'
     */
    const VALUE_UNICAST_BRIDGE = 'Unicast Bridge';
    /**
     * Constant for value 'Multicast Point'
     * @return string 'Multicast Point'
     */
    const VALUE_MULTICAST_POINT = 'Multicast Point';
    /**
     * Constant for value 'Inter-Cluster Trunk'
     * @return string 'Inter-Cluster Trunk'
     */
    const VALUE_INTER_CLUSTER_TRUNK = 'Inter-Cluster Trunk';
    /**
     * Constant for value 'RAS'
     * @return string 'RAS'
     */
    const VALUE_RAS = 'RAS';
    /**
     * Constant for value 'Digital Access BRI'
     * @return string 'Digital Access BRI'
     */
    const VALUE_DIGITAL_ACCESS_BRI = 'Digital Access BRI';
    /**
     * Constant for value 'SIP'
     * @return string 'SIP'
     */
    const VALUE_SIP = 'SIP';
    /**
     * Constant for value 'MGCP'
     * @return string 'MGCP'
     */
    const VALUE_MGCP = 'MGCP';
    /**
     * Constant for value 'Static SIP Mobile Subscriber'
     * @return string 'Static SIP Mobile Subscriber'
     */
    const VALUE_STATIC_SIP_MOBILE_SUBSCRIBER = 'Static SIP Mobile Subscriber';
    /**
     * Constant for value 'SIP Connector'
     * @return string 'SIP Connector'
     */
    const VALUE_SIP_CONNECTOR = 'SIP Connector';
    /**
     * Constant for value 'Remote Destination'
     * @return string 'Remote Destination'
     */
    const VALUE_REMOTE_DESTINATION = 'Remote Destination';
    /**
     * Constant for value 'Mobile Smart Client'
     * @return string 'Mobile Smart Client'
     */
    const VALUE_MOBILE_SMART_CLIENT = 'Mobile Smart Client';
    /**
     * Constant for value 'Digital Access E1 R2'
     * @return string 'Digital Access E1 R2'
     */
    const VALUE_DIGITAL_ACCESS_E_1_R_2 = 'Digital Access E1 R2';
    /**
     * Constant for value 'CTI Remote Device'
     * @return string 'CTI Remote Device'
     */
    const VALUE_CTI_REMOTE_DEVICE = 'CTI Remote Device';
    /**
     * Constant for value 'Protocol Not Specified'
     * @return string 'Protocol Not Specified'
     */
    const VALUE_PROTOCOL_NOT_SPECIFIED = 'Protocol Not Specified';
    /**
     * Return true if value is allowed
     * @uses self::getValidValues()
     * @param mixed $value value
     * @return bool true|false
     */
    public static function valueIsValid($value)
    {
        return ($value === null) || in_array($value, self::getValidValues(), true);
    }
    /**
     * Return allowed values
     * @uses self::VALUE_SCCP
     * @uses self::VALUE_DIGITAL_ACCESS_PRI
     * @uses self::VALUE_H_225
     * @uses self::VALUE_ANALOG_ACCESS
     * @uses self::VALUE_DIGITAL_ACCESS_T_1
     * @uses self::VALUE_ROUTE_POINT
     * @uses self::VALUE_UNICAST_BRIDGE
     * @uses self::VALUE_MULTICAST_POINT
     * @uses self::VALUE_INTER_CLUSTER_TRUNK
     * @uses self::VALUE_RAS
     * @uses self::VALUE_DIGITAL_ACCESS_BRI
     * @uses self::VALUE_SIP
     * @uses self::VALUE_MGCP
     * @uses self::VALUE_STATIC_SIP_MOBILE_SUBSCRIBER
     * @uses self::VALUE_SIP_CONNECTOR
     * @uses self::VALUE_REMOTE_DESTINATION
     * @uses self::VALUE_MOBILE_SMART_CLIENT
     * @uses self::VALUE_DIGITAL_ACCESS_E_1_R_2
     * @uses self::VALUE_CTI_REMOTE_DEVICE
     * @uses self::VALUE_PROTOCOL_NOT_SPECIFIED
     * @return string[]
     */
    public static function getValidValues()
    {
        return array(
            self::VALUE_SCCP,
            self::VALUE_DIGITAL_ACCESS_PRI,
            self::VALUE_H_225,
            self::VALUE_ANALOG_ACCESS,
            self::VALUE_DIGITAL_ACCESS_T_1,
            self::VALUE_ROUTE_POINT,
            self::VALUE_UNICAST_BRIDGE,
            self::VALUE_MULTICAST_POINT,
            self::VALUE_INTER_CLUSTER_TRUNK,
            self::VALUE_RAS,
            self::VALUE_DIGITAL_ACCESS_BRI,
            self::VALUE_SIP,
            self::VALUE_MGCP,
            self::VALUE_STATIC_SIP_MOBILE_SUBSCRIBER,
            self::VALUE_SIP_CONNECTOR,
            self::VALUE_REMOTE_DESTINATION,
            self::VALUE_MOBILE_SMART_CLIENT,
            self::VALUE_DIGITAL_ACCESS_E_1_R_2,
            self::VALUE_CTI_REMOTE_DEVICE,
            self::VALUE_PROTOCOL_NOT_SPECIFIED,
        );
    }
    /**
     * Method returning the class name
     * @return string __CLASS__
     */
    public function __toString()
    {
        return __CLASS__;
    }
}
