function Add-PSCUCMPhone {
    Adds a phone to CUCM.
    Adds a phone of the appropriate parameters to CUCM.
    Name of the phone.
    .PARAMETER Product
    Phone Model.
    .PARAMETER DevicePoolName
    Device Pool to place phone in.
    .PARAMETER Protocol
    Protocol for the phone. Typically SCCP or SIP.
    .PARAMETER Description
    Description for the phone.
    .PARAMETER EnableException
    Replaces user friendly yellow warnings with bloody red exceptions of doom!
    Use this if you want the function to throw terminating errors you want to catch.
    What If?
    .PARAMETER Confirm
    Add-Phone -Name SEP00000000000 -Product 'Cisco 6941' -DevicePoolName 'DEFAULT-DP' -Protocol SCCP
    Adds a phone to CUCM.

    [CmdletBinding(SupportsShouldProcess, ConfirmImpact = 'Low')]
    param (
        [Parameter(Mandatory = $true)]
        [Parameter(Mandatory = $true)]
        [Parameter(Mandatory = $true)]

            <devicePoolName uuid="?">?</devicePoolName>

    $class = 'Phone'
    $CucmAxlSplat = @{
        entity          = 'addPhone'
        parameters      = @{
            phone = @{
                name                  = $MacAddress
                product               = $Product
                class                 = $class
                protocol              = $Protocol
                protocolSide          = $protocolSide
                devicePoolName        = $devicePoolName
                commonPhoneConfigName = $commonPhoneConfigName
                locationName          = $locationName
                useTrustedRelayPoint  = $useTrustedRelayPoint
                phoneTemplateName     = $Template
                primaryPhoneName      = $primaryPhoneName
                deviceMobilityMode    = $deviceMobilityMode
                certificateOperation  = $certificateOperation
                packetCaptureMode     = $packetCaptureMode
                builtInBridgeStatus   = $builtInBridgeStatus
                description           = $Description
        EnableException = $EnableException
    Invoke-PSCUCMAxlQuery @CucmAxlSplat