<?php

namespace \Losc\CucmBundle\Model\Webservice\StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for RImeFeatureConfig StructType
 * @subpackage Structs
 */
class RImeFeatureConfig extends AbstractStructBase
{
    /**
     * The preventImeCallsFromAnalogGateways
     * Meta information extracted from the WSDL
     * - base: xsd:string
     * - minOccurs: 0
     * - pattern: (t)|(f)|(true)|(false)|(0)|(1)
     * @var string
     */
    public $preventImeCallsFromAnalogGateways;
    /**
     * The enableIntraDomain
     * Meta information extracted from the WSDL
     * - base: xsd:string
     * - minOccurs: 0
     * - pattern: (t)|(f)|(true)|(false)|(0)|(1)
     * @var string
     */
    public $enableIntraDomain;
    /**
     * The allowMwiNotification
     * Meta information extracted from the WSDL
     * - base: xsd:string
     * - minOccurs: 0
     * - pattern: (t)|(f)|(true)|(false)|(0)|(1)
     * @var string
     */
    public $allowMwiNotification;
    /**
     * The trunkConnectionTimer
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $trunkConnectionTimer;
    /**
     * The firewallConnectionTimer
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $firewallConnectionTimer;
    /**
     * The firewallTranscationTimer
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $firewallTranscationTimer;
    /**
     * The firewallIdleTimer
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $firewallIdleTimer;
    /**
     * The failedCallAttemptThreshold
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $failedCallAttemptThreshold;
    /**
     * The callFallbackAttemptThreshold
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $callFallbackAttemptThreshold;
    /**
     * The qualityTimer
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $qualityTimer;
    /**
     * The useImeForOutboundCalls
     * Meta information extracted from the WSDL
     * - base: xsd:string
     * - minOccurs: 0
     * - pattern: (t)|(f)|(true)|(false)|(0)|(1)
     * @var string
     */
    public $useImeForOutboundCalls;
    /**
     * Constructor method for RImeFeatureConfig
     * @uses RImeFeatureConfig::setPreventImeCallsFromAnalogGateways()
     * @uses RImeFeatureConfig::setEnableIntraDomain()
     * @uses RImeFeatureConfig::setAllowMwiNotification()
     * @uses RImeFeatureConfig::setTrunkConnectionTimer()
     * @uses RImeFeatureConfig::setFirewallConnectionTimer()
     * @uses RImeFeatureConfig::setFirewallTranscationTimer()
     * @uses RImeFeatureConfig::setFirewallIdleTimer()
     * @uses RImeFeatureConfig::setFailedCallAttemptThreshold()
     * @uses RImeFeatureConfig::setCallFallbackAttemptThreshold()
     * @uses RImeFeatureConfig::setQualityTimer()
     * @uses RImeFeatureConfig::setUseImeForOutboundCalls()
     * @param string $preventImeCallsFromAnalogGateways
     * @param string $enableIntraDomain
     * @param string $allowMwiNotification
     * @param string $trunkConnectionTimer
     * @param string $firewallConnectionTimer
     * @param string $firewallTranscationTimer
     * @param string $firewallIdleTimer
     * @param string $failedCallAttemptThreshold
     * @param string $callFallbackAttemptThreshold
     * @param string $qualityTimer
     * @param string $useImeForOutboundCalls
     */
    public function __construct($preventImeCallsFromAnalogGateways = null, $enableIntraDomain = null, $allowMwiNotification = null, $trunkConnectionTimer = null, $firewallConnectionTimer = null, $firewallTranscationTimer = null, $firewallIdleTimer = null, $failedCallAttemptThreshold = null, $callFallbackAttemptThreshold = null, $qualityTimer = null, $useImeForOutboundCalls = null)
    {
        $this
            ->setPreventImeCallsFromAnalogGateways($preventImeCallsFromAnalogGateways)
            ->setEnableIntraDomain($enableIntraDomain)
            ->setAllowMwiNotification($allowMwiNotification)
            ->setTrunkConnectionTimer($trunkConnectionTimer)
            ->setFirewallConnectionTimer($firewallConnectionTimer)
            ->setFirewallTranscationTimer($firewallTranscationTimer)
            ->setFirewallIdleTimer($firewallIdleTimer)
            ->setFailedCallAttemptThreshold($failedCallAttemptThreshold)
            ->setCallFallbackAttemptThreshold($callFallbackAttemptThreshold)
            ->setQualityTimer($qualityTimer)
            ->setUseImeForOutboundCalls($useImeForOutboundCalls);
    }
    /**
     * Get preventImeCallsFromAnalogGateways value
     * @return string|null
     */
    public function getPreventImeCallsFromAnalogGateways()
    {
        return $this->preventImeCallsFromAnalogGateways;
    }
    /**
     * Set preventImeCallsFromAnalogGateways value
     * @param string $preventImeCallsFromAnalogGateways
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RImeFeatureConfig
     */
    public function setPreventImeCallsFromAnalogGateways($preventImeCallsFromAnalogGateways = null)
    {
        $this->preventImeCallsFromAnalogGateways = $preventImeCallsFromAnalogGateways;
        return $this;
    }
    /**
     * Get enableIntraDomain value
     * @return string|null
     */
    public function getEnableIntraDomain()
    {
        return $this->enableIntraDomain;
    }
    /**
     * Set enableIntraDomain value
     * @param string $enableIntraDomain
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RImeFeatureConfig
     */
    public function setEnableIntraDomain($enableIntraDomain = null)
    {
        $this->enableIntraDomain = $enableIntraDomain;
        return $this;
    }
    /**
     * Get allowMwiNotification value
     * @return string|null
     */
    public function getAllowMwiNotification()
    {
        return $this->allowMwiNotification;
    }
    /**
     * Set allowMwiNotification value
     * @param string $allowMwiNotification
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RImeFeatureConfig
     */
    public function setAllowMwiNotification($allowMwiNotification = null)
    {
        $this->allowMwiNotification = $allowMwiNotification;
        return $this;
    }
    /**
     * Get trunkConnectionTimer value
     * @return string|null
     */
    public function getTrunkConnectionTimer()
    {
        return $this->trunkConnectionTimer;
    }
    /**
     * Set trunkConnectionTimer value
     * @param string $trunkConnectionTimer
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RImeFeatureConfig
     */
    public function setTrunkConnectionTimer($trunkConnectionTimer = null)
    {
        $this->trunkConnectionTimer = $trunkConnectionTimer;
        return $this;
    }
    /**
     * Get firewallConnectionTimer value
     * @return string|null
     */
    public function getFirewallConnectionTimer()
    {
        return $this->firewallConnectionTimer;
    }
    /**
     * Set firewallConnectionTimer value
     * @param string $firewallConnectionTimer
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RImeFeatureConfig
     */
    public function setFirewallConnectionTimer($firewallConnectionTimer = null)
    {
        $this->firewallConnectionTimer = $firewallConnectionTimer;
        return $this;
    }
    /**
     * Get firewallTranscationTimer value
     * @return string|null
     */
    public function getFirewallTranscationTimer()
    {
        return $this->firewallTranscationTimer;
    }
    /**
     * Set firewallTranscationTimer value
     * @param string $firewallTranscationTimer
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RImeFeatureConfig
     */
    public function setFirewallTranscationTimer($firewallTranscationTimer = null)
    {
        $this->firewallTranscationTimer = $firewallTranscationTimer;
        return $this;
    }
    /**
     * Get firewallIdleTimer value
     * @return string|null
     */
    public function getFirewallIdleTimer()
    {
        return $this->firewallIdleTimer;
    }
    /**
     * Set firewallIdleTimer value
     * @param string $firewallIdleTimer
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RImeFeatureConfig
     */
    public function setFirewallIdleTimer($firewallIdleTimer = null)
    {
        $this->firewallIdleTimer = $firewallIdleTimer;
        return $this;
    }
    /**
     * Get failedCallAttemptThreshold value
     * @return string|null
     */
    public function getFailedCallAttemptThreshold()
    {
        return $this->failedCallAttemptThreshold;
    }
    /**
     * Set failedCallAttemptThreshold value
     * @param string $failedCallAttemptThreshold
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RImeFeatureConfig
     */
    public function setFailedCallAttemptThreshold($failedCallAttemptThreshold = null)
    {
        $this->failedCallAttemptThreshold = $failedCallAttemptThreshold;
        return $this;
    }
    /**
     * Get callFallbackAttemptThreshold value
     * @return string|null
     */
    public function getCallFallbackAttemptThreshold()
    {
        return $this->callFallbackAttemptThreshold;
    }
    /**
     * Set callFallbackAttemptThreshold value
     * @param string $callFallbackAttemptThreshold
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RImeFeatureConfig
     */
    public function setCallFallbackAttemptThreshold($callFallbackAttemptThreshold = null)
    {
        $this->callFallbackAttemptThreshold = $callFallbackAttemptThreshold;
        return $this;
    }
    /**
     * Get qualityTimer value
     * @return string|null
     */
    public function getQualityTimer()
    {
        return $this->qualityTimer;
    }
    /**
     * Set qualityTimer value
     * @param string $qualityTimer
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RImeFeatureConfig
     */
    public function setQualityTimer($qualityTimer = null)
    {
        $this->qualityTimer = $qualityTimer;
        return $this;
    }
    /**
     * Get useImeForOutboundCalls value
     * @return string|null
     */
    public function getUseImeForOutboundCalls()
    {
        return $this->useImeForOutboundCalls;
    }
    /**
     * Set useImeForOutboundCalls value
     * @param string $useImeForOutboundCalls
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RImeFeatureConfig
     */
    public function setUseImeForOutboundCalls($useImeForOutboundCalls = null)
    {
        $this->useImeForOutboundCalls = $useImeForOutboundCalls;
        return $this;
    }
}
