Cisco SPA5xx BLF

So I can not seem to figure out how to get the SPA508g to subscribe to BLF. I have everything else configured correctly, or so it seems. This is my set up so far:

I have the phone on 602 trying to subscribe to the status of 603, and speed dial it on an empty line button. I use this command:
fnc=sd+blf;[email protected];nme=603

The speed dial aspect works fine, but I always get an orange status light from the phone. I have tried manually configuring files, and that didn’t work, so I have reverted back and have now decided to stop due to the chance of completely screwing something up and I figured I’d ask the experts.

Thanks,
Brandon

Kindly post the version of FreePBX, the version of Asterisk, and the 508G firmware that you are using.

Your string is correct. I usually use fnc=blf+sd;sub=123@$PROXY
Make sure the phone is running the latest firmware which is 7.4.8a.
Make sure the extension field is set to Disabled, and Share Call Appearance is set to Private.

I am on firmware 7.4.8a, my FreePBX is version 2.9.0.7 and my Asterisk is 1.8.4.2. I have extension disabled and SCA is private. Was there anything special you had to do to FreePBX or did you just enter that string and it worked? Thanks!

I am running Asterisk 1.8.3.2. I don’t recall any additional steps other than entering that string into the phone. I know there are known issues with Astreisk 1.8.4 and Cisco phones. In some cases, Cisco phones will not register with the system at all.

Hopefully, some other members can provide some insight.

If i have to downgrade I will, but I will wait a little bit and see if anyone else can help sort it out.

Did you go to the attendent page and change the option to asterisk? Sorry if im being vague here but I just do this through Endpoint Manager which already has everything setup

Log into your phone’s webpage, switch to admin and advanced mode on the top. Click the Attendant Console tab, and make sure Server Type is set to Asterisk.

If that doesn’t work, you may have to downgrade or upgrade Asterisk. I believe the Cisco issues are being resolved in Asterisk 1.8.5.

Yeah that part has been done, so that’s not it. I just researched it a little more, and a lot of people have this problem. Apparently Asterisk is missing a patch in 1.8.4 that is present in 1.8.3. I may get the release candidate for 1.8.5 and test that, or just revert to 1.8.3. Thanks guys!

So I managed to get it fixed. Is there a way to have an extension set to enabled in the Phone settings, but also using the blf extended function for the light? By this I mean have an extension assigned to a line button, but still control the BLF, because currently that doesn’t work.

Did you guys have to register your phones with the end point manager?

Yes, I used Endpoint Manager for all of my phones. I am not sure if its required for BLF.

Okay, and on your extensions settings did you change the transport settings, or is it on the default UDP only. I’ve also noticed in the config files of the server, subscribecontext is not set for my extensions. Could that be the cause?

I am using the default UDP. Subscribecontext is not in my phone’s configuration file.

Have you looked at your Asterisk logs files? You should see entries similar to this:

[2011-07-08 13:08:45] VERBOSE[1265] chan_sip.c: == Extension Changed 100[ext-local] new state InUse for Notify User 101

Subscribecontext needs to be blank

I dont see a single thing that says Notify User. And I have subscribecontext blank, I was just verifying because in the Cisco config manual is says to mess around with that. I am lost at this point. I even upgraded to 1.8.5 RC1, and no luck. It could be possible the phones aren’t configured right, becuase I dont even see any subscriptions when I run sip show subscriptions.

Although, I know the phones register because the log shows:
[Jul 8 13:51:29] VERBOSE[11993] chan_sip.c: – Registered SIP ‘603’ at 192.168.32.12:5060
[Jul 8 13:51:29] VERBOSE[11993] chan_sip.c: – Registered SIP ‘603’ at 192.168.32.12:5065
[Jul 8 13:51:29] VERBOSE[11993] chan_sip.c: – Registered SIP ‘603’ at 192.168.32.12:5060
[Jul 8 13:51:29] NOTICE[11993] chan_sip.c: Peer ‘603’ is now Reachable. (38ms / 2000ms)

It just doesn’t notify.

Hello computerbusiness,

I actually found a flaw with the Cisco SPA 508G and 509G config files. If you go to /var/www/html/admin/modules/_ep_phone_modules/endpoint/cisco/spa5xx you can see all the configs as the provisioner system has given you. If you open up family_data.xml, you’ll see under the section:

<model>SPA508G</model>
<lines>8</lines> (this might not be what yours says, I had to fix a few things)
<id>4</id>
<template_data>

that there are two files listed - template_data.xml, and keys.xml. This gives you the speed dial page and web admin page for the template of that phone in FreePBX, but nothing is supplied to say how many line lights there are on the 508 phones. I had to create a file called 8_lines.xml to say to loop start from 1 to 8 (for each button), and then name it as 8_lines.xml and place in this section, similar to how template_data.xml is. I also added a_unit1.xml and a_unit2.xml in the files section, since the 508g phones do support sidecars.

Here is my fixed template_data.xml file for the SPA5xx phones. Remember, you have to make the 8_lines.xml and 12_lines.xml files to say to loop start from 1 to 8, instead of 4 or 5 like the 504 525 phones use, respectively.

<data>
    <name>Linksys/Cisco/Sipura SPA Phone Models 5xx, 3xx [303,501G,502G,504G,525G,525G2]</name>
    <id>3</id>
    <directory>spa5xx</directory>
    <firmware_ver></firmware_ver>
    <firmware_pkg>NULL</firmware_pkg>
    <firmware_md5sum></firmware_md5sum>
    <configuration_files>$model.cfg,spa$mac.xml</configuration_files>
    <changelog></changelog>
    <description></description>
    <version>0.6</version>
    <model_list>
        <model>SPA501G</model>
        <lines>8</lines>
        <id>1</id>
        <template_data>
            <files>8_lines.xml</files>
            <files>template_data.xml</files>
                        <files>keys.xml</files>
        </template_data>
    </model_list>
    <model_list>
        <model>SPA502G</model>
        <lines>1</lines>
        <id>2</id>
        <template_data>
            <files>template_data.xml</files>
                    <files>keys.xml</files>
                    <files>a_unit1.xml</files>
            <files>a_unit2.xml</files>
        </template_data>
    </model_list>
    <model_list>
        <model>SPA504G</model>
        <lines>4</lines>
        <id>3</id>
        <template_data>
            <files>4_lines.xml</files>
            <files>template_data.xml</files>
                    <files>keys.xml</files>
            <files>a_unit1.xml</files>
            <files>a_unit2.xml</files>
        </template_data>
    </model_list>
    <model_list>
        <model>SPA508G</model>
        <lines>8</lines>
        <id>4</id>
        <template_data>
            <files>8_lines.xml</files>
            <files>template_data.xml</files>
            <files>keys.xml</files>
            <files>a_unit1.xml</files>
            <files>a_unit2.xml</files>
        </template_data>
    </model_list>
    <model_list>
        <model>SPA509G</model>
        <lines>12</lines>
        <id>5</id>
        <template_data>
            <files>12_lines.xml</files>
            <files>template_data.xml</files>
                        <files>keys.xml</files>
            <files>a_unit1.xml</files>
            <files>a_unit2.xml</files>
        </template_data>
    </model_list>
    <model_list>
        <model>SPA525G</model>
        <lines>5</lines>
        <id>6</id>
        <template_data>
            <files>5_lines.xml</files>
            <files>template_data.xml</files>
                <files>keys.xml</files>
            <files>a_unit1.xml</files>
            <files>a_unit2.xml</files>
        </template_data>
    </model_list>
    <model_list>
        <model>SPA525G2</model>
        <lines>5</lines>
        <id>7</id>
        <template_data>
            <files>5_lines.xml</files>
            <files>template_data.xml</files>
                        <files>keys.xml</files>
        </template_data>
    </model_list>
    <model_list>
        <model>SPA303</model>
        <lines>3</lines>
        <id>8</id>
        <template_data>
            <files>3_lines.xml</files>
            <files>template_data.xml</files>
                        <files>keys.xml</files>
        </template_data>
    </model_list>
</data>

And here is my 8_lines.xml file, for your reference. You also need to make a 12_lines.xml file - just change line 10 to the number of line keys the phone supports:

<template_data>
    <category>
        <name>Line Options</name>
        <subcategory>
            <name>Line Options</name>
            <item>
                <description>Line Keys</description>
                <type>loop</type>
                <loop_start>1</loop_start>
                <loop_end>8</loop_end>
                <data>
                    <item>
                        <variable>$lineops_keytype</variable>
                        <default_value>line</default_value>
                        <description>Line Key {$count} Type</description>
                        <type>list</type>
                        <data>
                            <text>Line</text>
                            <value>line</value>
                            <disabled>["$lineops_displaynameline","$lineops_blfext"]</disabled>
                        </data>
                        <data>
                            <text>BLF</text>
                            <value>blf</value>
                            <enabled>["$lineops_displaynameline","$lineops_blfext"]</enabled>
                        </data>
                        <data>
                            <text>Speed Dial</text>
                            <value>sd</value>
                            <enabled>["$lineops_displaynameline","$lineops_blfext"]</enabled>
                        </data>
                    </item>
                    <item>
                        <variable>$lineops_displaynameline</variable>
                        <default_value>{$displayname.line.{$count}}</default_value>
                        <description>Line Key {$count} Description</description>
                        <type>input</type>
                    </item>
                    <item>
                        <variable>$lineops_blfext</variable>
                        <default_value></default_value>
                        <description>BLF {$count} Extension</description>
                        <type>input</type>
                    </item>
                    <item>
                        <type>break</type>
                    </item>
                </data>
            </item>
        </subcategory>
    </category>
</template_data>

Let me know if this helps you, and if anyone knows how to place a fix like this upstream on the provisioning system, it would also be appreciated, I’m sure.

Cheers.