Polycom BLF with Astersisk
They are two methods of setting up BLF on Polycom phones. The first gives you idle or inuse status only. A ringing phone will show up with a solid inuse light. The good thing about this method is users can create BLF for extensions themselves. If this is all you need start by enabling the presence feature in the phone provisioning file.
<feature feature.1.name="presence" feature.1.enabled="1" />
Asterisk doesn’t support the my status option, which is activated by the presence feature, so I just disable the soft key on home screen.
<softkey softkey.feature.mystatus="0" />
Restart the phone and you will see the buddy soft key on the home screen. This will list all watched extensions and their status. To add an extension to the list create a contact for them in the directory. Enter the name, extension, and select the watch buddy setting. If you have extra line buttons the first few watched buddies will show up there as well.
The second method of setting up BLF is with the attendant option. You will only be able to monitor extensions on extra line buttons. If you need to setup more an attendant console is required.
Make sure you have Polycom SIP firmware 3.2.x and Asterisk 1.6.1.5 and greater. For older Asterisk versions you can apply the Polycom subscription type override patch. The patch improves the workaround for older Polycom firmware versions so the attendant setting in newer Polycom versions can request the dialog-info subscription type. The dialog-info subscription allows for full featured BLF with idle, ringing, and inuse support.
Check that you have enabled caller id to be sent in the notify messages in Asterisk’s sip.conf.
notifycid=yes
Now we configure the attendant option for the extensions in the phone provisioning file.
<attendant attendant.reg="1" attendant.resourceList.1.address="sip:1234@192.168.0.10" attendant.resourceList.1.label="1234" />
Lastly we can configure directed pickup. FreePBX uses **ext to pickup a call. In the phone provisioning file set the following options.
<feature feature.12.name="directed-call-pickup" feature.12.enabled="1" /> <call call.directedCallPickupMethod="legacy" call.directedCallPickupString="**" />
You can verify the BLF subscriptions on the asterisk console.
sip show subscriptions Peer User Call ID Extension Last state Type Mailbox Expiry 192.168.0.100 1500 b8c76870-59f33f 1234@from-inter Idle dialog-info+xml <none> 003600
Notice how it shows dialog-info+xml for the type. When using the first BLF method with buddies it will show xpidf+xml instead.
Polycom SIP 3.3.1 changed the configuration file layout. This should work though: