<?php

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

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for LSipTrunkSecurityProfile StructType
 * @subpackage Structs
 */
class LSipTrunkSecurityProfile extends AbstractStructBase
{
    /**
     * The name
     * Meta information extracted from the WSDL
     * - base: xsd:string
     * - maxLength: 64
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $name;
    /**
     * The description
     * Meta information extracted from the WSDL
     * - base: xsd:string
     * - maxLength: 100
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $description;
    /**
     * The securityMode
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $securityMode;
    /**
     * The incomingTransport
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $incomingTransport;
    /**
     * The outgoingTransport
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $outgoingTransport;
    /**
     * The digestAuthentication
     * Meta information extracted from the WSDL
     * - base: xsd:string
     * - maxOccurs: 1
     * - minOccurs: 0
     * - pattern: (t)|(f)|(true)|(false)|(0)|(1)
     * @var string
     */
    public $digestAuthentication;
    /**
     * The noncePolicyTime
     * Meta information extracted from the WSDL
     * - documentation: Only if digestAuthentication is enabled this value can be changed.
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $noncePolicyTime;
    /**
     * The x509SubjectName
     * Meta information extracted from the WSDL
     * - base: xsd:string
     * - maxLength: 4096
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $x509SubjectName;
    /**
     * The incomingPort
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $incomingPort;
    /**
     * The applLevelAuthentication
     * Meta information extracted from the WSDL
     * - base: xsd:string
     * - maxOccurs: 1
     * - minOccurs: 0
     * - pattern: (t)|(f)|(true)|(false)|(0)|(1)
     * @var string
     */
    public $applLevelAuthentication;
    /**
     * The acceptPresenceSubscription
     * Meta information extracted from the WSDL
     * - base: xsd:string
     * - maxOccurs: 1
     * - minOccurs: 0
     * - pattern: (t)|(f)|(true)|(false)|(0)|(1)
     * @var string
     */
    public $acceptPresenceSubscription;
    /**
     * The acceptOutOfDialogRefer
     * Meta information extracted from the WSDL
     * - base: xsd:string
     * - maxOccurs: 1
     * - minOccurs: 0
     * - pattern: (t)|(f)|(true)|(false)|(0)|(1)
     * @var string
     */
    public $acceptOutOfDialogRefer;
    /**
     * The acceptUnsolicitedNotification
     * Meta information extracted from the WSDL
     * - base: xsd:string
     * - maxOccurs: 1
     * - minOccurs: 0
     * - pattern: (t)|(f)|(true)|(false)|(0)|(1)
     * @var string
     */
    public $acceptUnsolicitedNotification;
    /**
     * The allowReplaceHeader
     * Meta information extracted from the WSDL
     * - base: xsd:string
     * - maxOccurs: 1
     * - minOccurs: 0
     * - pattern: (t)|(f)|(true)|(false)|(0)|(1)
     * @var string
     */
    public $allowReplaceHeader;
    /**
     * The transmitSecurityStatus
     * Meta information extracted from the WSDL
     * - base: xsd:string
     * - maxOccurs: 1
     * - minOccurs: 0
     * - pattern: (t)|(f)|(true)|(false)|(0)|(1)
     * @var string
     */
    public $transmitSecurityStatus;
    /**
     * The sipV150OutboundSdpOfferFiltering
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $sipV150OutboundSdpOfferFiltering;
    /**
     * The allowChargingHeader
     * Meta information extracted from the WSDL
     * - base: xsd:string
     * - maxOccurs: 1
     * - minOccurs: 0
     * - pattern: (t)|(f)|(true)|(false)|(0)|(1)
     * @var string
     */
    public $allowChargingHeader;
    /**
     * The uuid
     * Meta information extracted from the WSDL
     * - base: xsd:string
     * - pattern: \{........-....-....-....-............\}
     * @var string
     */
    public $uuid;
    /**
     * Constructor method for LSipTrunkSecurityProfile
     * @uses LSipTrunkSecurityProfile::setName()
     * @uses LSipTrunkSecurityProfile::setDescription()
     * @uses LSipTrunkSecurityProfile::setSecurityMode()
     * @uses LSipTrunkSecurityProfile::setIncomingTransport()
     * @uses LSipTrunkSecurityProfile::setOutgoingTransport()
     * @uses LSipTrunkSecurityProfile::setDigestAuthentication()
     * @uses LSipTrunkSecurityProfile::setNoncePolicyTime()
     * @uses LSipTrunkSecurityProfile::setX509SubjectName()
     * @uses LSipTrunkSecurityProfile::setIncomingPort()
     * @uses LSipTrunkSecurityProfile::setApplLevelAuthentication()
     * @uses LSipTrunkSecurityProfile::setAcceptPresenceSubscription()
     * @uses LSipTrunkSecurityProfile::setAcceptOutOfDialogRefer()
     * @uses LSipTrunkSecurityProfile::setAcceptUnsolicitedNotification()
     * @uses LSipTrunkSecurityProfile::setAllowReplaceHeader()
     * @uses LSipTrunkSecurityProfile::setTransmitSecurityStatus()
     * @uses LSipTrunkSecurityProfile::setSipV150OutboundSdpOfferFiltering()
     * @uses LSipTrunkSecurityProfile::setAllowChargingHeader()
     * @uses LSipTrunkSecurityProfile::setUuid()
     * @param string $name
     * @param string $description
     * @param string $securityMode
     * @param string $incomingTransport
     * @param string $outgoingTransport
     * @param string $digestAuthentication
     * @param string $noncePolicyTime
     * @param string $x509SubjectName
     * @param string $incomingPort
     * @param string $applLevelAuthentication
     * @param string $acceptPresenceSubscription
     * @param string $acceptOutOfDialogRefer
     * @param string $acceptUnsolicitedNotification
     * @param string $allowReplaceHeader
     * @param string $transmitSecurityStatus
     * @param string $sipV150OutboundSdpOfferFiltering
     * @param string $allowChargingHeader
     * @param string $uuid
     */
    public function __construct($name = null, $description = null, $securityMode = null, $incomingTransport = null, $outgoingTransport = null, $digestAuthentication = null, $noncePolicyTime = null, $x509SubjectName = null, $incomingPort = null, $applLevelAuthentication = null, $acceptPresenceSubscription = null, $acceptOutOfDialogRefer = null, $acceptUnsolicitedNotification = null, $allowReplaceHeader = null, $transmitSecurityStatus = null, $sipV150OutboundSdpOfferFiltering = null, $allowChargingHeader = null, $uuid = null)
    {
        $this
            ->setName($name)
            ->setDescription($description)
            ->setSecurityMode($securityMode)
            ->setIncomingTransport($incomingTransport)
            ->setOutgoingTransport($outgoingTransport)
            ->setDigestAuthentication($digestAuthentication)
            ->setNoncePolicyTime($noncePolicyTime)
            ->setX509SubjectName($x509SubjectName)
            ->setIncomingPort($incomingPort)
            ->setApplLevelAuthentication($applLevelAuthentication)
            ->setAcceptPresenceSubscription($acceptPresenceSubscription)
            ->setAcceptOutOfDialogRefer($acceptOutOfDialogRefer)
            ->setAcceptUnsolicitedNotification($acceptUnsolicitedNotification)
            ->setAllowReplaceHeader($allowReplaceHeader)
            ->setTransmitSecurityStatus($transmitSecurityStatus)
            ->setSipV150OutboundSdpOfferFiltering($sipV150OutboundSdpOfferFiltering)
            ->setAllowChargingHeader($allowChargingHeader)
            ->setUuid($uuid);
    }
    /**
     * Get name value
     * @return string|null
     */
    public function getName()
    {
        return $this->name;
    }
    /**
     * Set name value
     * @param string $name
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\LSipTrunkSecurityProfile
     */
    public function setName($name = null)
    {
        $this->name = $name;
        return $this;
    }
    /**
     * Get description value
     * @return string|null
     */
    public function getDescription()
    {
        return $this->description;
    }
    /**
     * Set description value
     * @param string $description
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\LSipTrunkSecurityProfile
     */
    public function setDescription($description = null)
    {
        $this->description = $description;
        return $this;
    }
    /**
     * Get securityMode value
     * @return string|null
     */
    public function getSecurityMode()
    {
        return $this->securityMode;
    }
    /**
     * Set securityMode value
     * @param string $securityMode
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\LSipTrunkSecurityProfile
     */
    public function setSecurityMode($securityMode = null)
    {
        $this->securityMode = $securityMode;
        return $this;
    }
    /**
     * Get incomingTransport value
     * @return string|null
     */
    public function getIncomingTransport()
    {
        return $this->incomingTransport;
    }
    /**
     * Set incomingTransport value
     * @param string $incomingTransport
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\LSipTrunkSecurityProfile
     */
    public function setIncomingTransport($incomingTransport = null)
    {
        $this->incomingTransport = $incomingTransport;
        return $this;
    }
    /**
     * Get outgoingTransport value
     * @return string|null
     */
    public function getOutgoingTransport()
    {
        return $this->outgoingTransport;
    }
    /**
     * Set outgoingTransport value
     * @param string $outgoingTransport
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\LSipTrunkSecurityProfile
     */
    public function setOutgoingTransport($outgoingTransport = null)
    {
        $this->outgoingTransport = $outgoingTransport;
        return $this;
    }
    /**
     * Get digestAuthentication value
     * @return string|null
     */
    public function getDigestAuthentication()
    {
        return $this->digestAuthentication;
    }
    /**
     * Set digestAuthentication value
     * @param string $digestAuthentication
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\LSipTrunkSecurityProfile
     */
    public function setDigestAuthentication($digestAuthentication = null)
    {
        $this->digestAuthentication = $digestAuthentication;
        return $this;
    }
    /**
     * Get noncePolicyTime value
     * @return string|null
     */
    public function getNoncePolicyTime()
    {
        return $this->noncePolicyTime;
    }
    /**
     * Set noncePolicyTime value
     * @param string $noncePolicyTime
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\LSipTrunkSecurityProfile
     */
    public function setNoncePolicyTime($noncePolicyTime = null)
    {
        $this->noncePolicyTime = $noncePolicyTime;
        return $this;
    }
    /**
     * Get x509SubjectName value
     * @return string|null
     */
    public function getX509SubjectName()
    {
        return $this->x509SubjectName;
    }
    /**
     * Set x509SubjectName value
     * @param string $x509SubjectName
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\LSipTrunkSecurityProfile
     */
    public function setX509SubjectName($x509SubjectName = null)
    {
        $this->x509SubjectName = $x509SubjectName;
        return $this;
    }
    /**
     * Get incomingPort value
     * @return string|null
     */
    public function getIncomingPort()
    {
        return $this->incomingPort;
    }
    /**
     * Set incomingPort value
     * @param string $incomingPort
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\LSipTrunkSecurityProfile
     */
    public function setIncomingPort($incomingPort = null)
    {
        $this->incomingPort = $incomingPort;
        return $this;
    }
    /**
     * Get applLevelAuthentication value
     * @return string|null
     */
    public function getApplLevelAuthentication()
    {
        return $this->applLevelAuthentication;
    }
    /**
     * Set applLevelAuthentication value
     * @param string $applLevelAuthentication
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\LSipTrunkSecurityProfile
     */
    public function setApplLevelAuthentication($applLevelAuthentication = null)
    {
        $this->applLevelAuthentication = $applLevelAuthentication;
        return $this;
    }
    /**
     * Get acceptPresenceSubscription value
     * @return string|null
     */
    public function getAcceptPresenceSubscription()
    {
        return $this->acceptPresenceSubscription;
    }
    /**
     * Set acceptPresenceSubscription value
     * @param string $acceptPresenceSubscription
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\LSipTrunkSecurityProfile
     */
    public function setAcceptPresenceSubscription($acceptPresenceSubscription = null)
    {
        $this->acceptPresenceSubscription = $acceptPresenceSubscription;
        return $this;
    }
    /**
     * Get acceptOutOfDialogRefer value
     * @return string|null
     */
    public function getAcceptOutOfDialogRefer()
    {
        return $this->acceptOutOfDialogRefer;
    }
    /**
     * Set acceptOutOfDialogRefer value
     * @param string $acceptOutOfDialogRefer
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\LSipTrunkSecurityProfile
     */
    public function setAcceptOutOfDialogRefer($acceptOutOfDialogRefer = null)
    {
        $this->acceptOutOfDialogRefer = $acceptOutOfDialogRefer;
        return $this;
    }
    /**
     * Get acceptUnsolicitedNotification value
     * @return string|null
     */
    public function getAcceptUnsolicitedNotification()
    {
        return $this->acceptUnsolicitedNotification;
    }
    /**
     * Set acceptUnsolicitedNotification value
     * @param string $acceptUnsolicitedNotification
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\LSipTrunkSecurityProfile
     */
    public function setAcceptUnsolicitedNotification($acceptUnsolicitedNotification = null)
    {
        $this->acceptUnsolicitedNotification = $acceptUnsolicitedNotification;
        return $this;
    }
    /**
     * Get allowReplaceHeader value
     * @return string|null
     */
    public function getAllowReplaceHeader()
    {
        return $this->allowReplaceHeader;
    }
    /**
     * Set allowReplaceHeader value
     * @param string $allowReplaceHeader
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\LSipTrunkSecurityProfile
     */
    public function setAllowReplaceHeader($allowReplaceHeader = null)
    {
        $this->allowReplaceHeader = $allowReplaceHeader;
        return $this;
    }
    /**
     * Get transmitSecurityStatus value
     * @return string|null
     */
    public function getTransmitSecurityStatus()
    {
        return $this->transmitSecurityStatus;
    }
    /**
     * Set transmitSecurityStatus value
     * @param string $transmitSecurityStatus
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\LSipTrunkSecurityProfile
     */
    public function setTransmitSecurityStatus($transmitSecurityStatus = null)
    {
        $this->transmitSecurityStatus = $transmitSecurityStatus;
        return $this;
    }
    /**
     * Get sipV150OutboundSdpOfferFiltering value
     * @return string|null
     */
    public function getSipV150OutboundSdpOfferFiltering()
    {
        return $this->sipV150OutboundSdpOfferFiltering;
    }
    /**
     * Set sipV150OutboundSdpOfferFiltering value
     * @param string $sipV150OutboundSdpOfferFiltering
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\LSipTrunkSecurityProfile
     */
    public function setSipV150OutboundSdpOfferFiltering($sipV150OutboundSdpOfferFiltering = null)
    {
        $this->sipV150OutboundSdpOfferFiltering = $sipV150OutboundSdpOfferFiltering;
        return $this;
    }
    /**
     * Get allowChargingHeader value
     * @return string|null
     */
    public function getAllowChargingHeader()
    {
        return $this->allowChargingHeader;
    }
    /**
     * Set allowChargingHeader value
     * @param string $allowChargingHeader
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\LSipTrunkSecurityProfile
     */
    public function setAllowChargingHeader($allowChargingHeader = null)
    {
        $this->allowChargingHeader = $allowChargingHeader;
        return $this;
    }
    /**
     * Get uuid value
     * @return string|null
     */
    public function getUuid()
    {
        return $this->uuid;
    }
    /**
     * Set uuid value
     * @param string $uuid
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\LSipTrunkSecurityProfile
     */
    public function setUuid($uuid = null)
    {
        $this->uuid = $uuid;
        return $this;
    }
}
