I suppose you have to read between the lines sometimes. I found this to be extremely frustrating.
To create a new Common Area Phone:
New-CsCommonAreaPhone -LineURI "tel:+17805551212;ext=5001" -RegistrarPool "pool01.contoso.com" -DisplayName "Common Area Phone" -SipAddress "sip:email@example.com" -OU "OU=Common Phones,OU=Lync Objects,DC=contoso,DC=com"
I typically like to set the SIPURI in the command so it shows a human readable name instead of a long GUID.
Create a new Common Area Phone client and voice policy as follows:
New-CsClientPolicy HotDeskPhonesPolicy -EnableHotdesking $True -HotdeskingTimeout 00:30:00
New-CsVoicePolicy -id CAPvoicepolicy -AllowSimulRing $False -AllowCallForwarding $False -Name CAPVoicePolicy -EnableDelegation $False -EnableTeamCall $False -EnableCallTransfer $False
Create a special conferencing policy for the phone as follows:
New-CsConferencingPolicy -id CAPconferencingpolicy -AllowIPAudio $False -AllowIPVideo $False
Now, after you've been though all this.......you can't dial numbers which need to be normalized. Do fix this, perform this step below. Personally I'd create a special dial plan for these phones but you can reuse an existing one if you wish.
Get-CsCommonAreaPhone "Common Area Phone" | Grant-CsDialPlan -PolicyName "CAPDialPlan"
To validate the phone indeed has this policy:
Get-CsCommonAreaPhone "Common Area Phone" | Select DialPlan
There seems to be a step missing in the Microsoft documentation which leads a person to believe you're done when you set the policies to the object you've created. Also, when you view the common area phone object through the "Get-CsCommonAreaPhone | FL" command, it doesn't show anything about a dial plan like the "Get-CsUser | FL" does.