Smart BLF question with DPMA

Not sure if this forum is the right place for it, but references to BLF are in other messages.

Anyway, trying to add the “status” app to a BLF as it seems impossible to access while on a call except on a D70. Determined that I should set app_id=“status” in the BLF item. The problem is that the label on the button is now “status”. Is there some way to uppercase the ‘s’ to match the softkey option? I tried app_id=“Status”, but it just stays on “Loading” when pressed.

Ideally, I would like a DND toggle that could be used while in a call, but have not had much luck with that.


If you want to do that, you can’t use the shortcut way of loading an app:

            <blf_item location="side" index="0" paging="1" app_id="status"/>

Doing that will put the status app on there, but you won’t be able to edit the name. The status app is, under the hood, maintaining an app_id of “status” so that’s that.

But, if you go about things using a contact that loads an application, e.g. in your Contacts file make a contact like:

<?xml version="1.0" ?>
<contacts group_name="Directory" editable="0" id="0">
    <contact id="1234" prefix="" first_name="" second_name="" last_name="Status" suffix="" contact_type="special" organization="" job_title="" location="" notes="The Status Application" account_id="1234">
            <action id="primary" app_id="status" label="Status" name="Status App"/>

And then, in your Smart BLF sheet, something like:

            <blf_item location="side" index="0" paging="1" contact_id="1234">
                    <behavior press_action="primary" press_function="show_app" />

Then, you’ll have an app mapped to a contact, where you’ve set the last name for the contact to “Status.”

Note that I haven’t fully tested my samples above, they’re just hand-written, so there might be syntax errors. :wink:

Having said all of that, if what you’re trying to do is map a key on your phone to controlling your Status while you’re on a call, you’ve got a couple of options. First, understand that the Status is actually controlled by a custom device state inside of Asterisk - … erPresence

So, what you’re doing then is just updating that device state in Asterisk. You’d need to make a BLF send something to Asterisk that it can parse using in-call DTMF (features.conf) or you’d have to write your own app that, when loaded into the foreground, fired something off to Asterisk that you could then grab (probably over AMI) and then feed back into Asterisk in terms of setting the device state.