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:
I have a question about the line below. Is the IP listed in the line below the Asterisk server or the Phone hosting the 1234 extension button?
attendant.resourceList.1.address=”sip:1234@192.168.0.10″
We have been able to get this to work if the phone IP is used in the configuration but if the Asterisk server is use it will not display the ringing status. If we use the phone IP it does not allow us to use the Asterisk hint to monitor multiple buttons on one station ( see if the station is in use not just one extension). We need to know if the full blf will work when pointed to the Asterisk server and how or what we may have to do for this to work.
We now have the attendant working to show the status when pointed to the server. but another issues as been presented. If a user is on a call and a call comes in the attendant button still blinks Green – Green ringing not allowing remote attendant to tell user is on a current call. If we point the attendant to use the Phone ip and extension and this happens the blinking is green – Red letting the remote station know the extension is in use but ringing. Does anyone know how to get Asterisk to signal ringing but busy as the phone to phone does ?
has anyone found a solution?