Page 1 of 1

Digium D70 : configure speed dial buttons

PostPosted: Thu Jan 23, 2014 7:19 am
by jonaskellens
Hello,

I have a simple question : how do I configure the speed dial buttons on the right side of the Digium D70 IP-phone ?

When I log in to the webinterface of the D70, I see no option to configure the speed dial buttons.

Where do I find this configuration ?

Re: Digium D70 : configure speed dial buttons

PostPosted: Thu Jan 23, 2014 1:26 pm
by malcolmd
The web interface doesn't provide this functionality. The rapid dial keys are configured using Contacts sheets. There are some wiki docs available here:

https://wiki.asterisk.org/wiki/display/DIGIUM/Contacts

Re: Digium D70 : configure speed dial buttons

PostPosted: Fri Jan 24, 2014 9:29 am
by jonaskellens
And if I also want BLF functionality ?

Where do I define the combination that has to be pressed to pick up a call ?

In most other phones this is ** + extension.

Re: Digium D70 : configure speed dial buttons

PostPosted: Fri Jan 24, 2014 9:55 am
by malcolmd
Howdy,

In that case, you want to also look into the capability offered by what we call Smart BLF -
https://wiki.asterisk.org/wiki/display/DIGIUM/Smart+BLF

Re: Digium D70 : configure speed dial buttons

PostPosted: Tue Oct 14, 2014 8:54 am
by jonaskellens
Hello,

what is the meaning of md5-attribute in this xml-configuration ?

<config>
<smart_blf>
<blf_items url="http://server.example.com/myblfitems.xml" network_id="mynetwork" md5="abcd123" />
</smart_blf>
</config>

I have the following xml-config :

<?xml version="1.0" ?>
<config>
...
<setting id="web_ui_enabled" value="1" />
<smart_blf>
<blf_items url="url/mydir/myblfitems.xml" md5="mypass" />
</smart_blf>
...
</config>

But I always see the following in /var/log/httpd/ssl_access_log on my webserver :

my.pub.lic.ip - - [14/Oct/2014:16:36:33 +0200] "GET /mydir/myblfitems.xml HTTP/1.1" 401 493

So a 401 error which indicated an authorization error.

I also do not seem to be able to omit the md5-attribute. So what's the deal here ?

Re: Digium D70 : configure speed dial buttons

PostPosted: Tue Oct 14, 2014 9:03 am
by malcolmd
It's an optional parameter that can be passed for URL-based items. If it's present, and it matches the last-known md5 of that particular file, as the phone has in its previously-stored config, then the phone should skip the download of the file.

Re: Digium D70 : configure speed dial buttons

PostPosted: Tue Oct 14, 2014 9:08 am
by jonaskellens
Thanks for your reply.

When I omit the md5-attribute, I see this in the httpd-log :

my.pub.lic.ip - - [14/Oct/2014:17:03:25 +0200] "GET /mydir/myblfitems.xml HTTP/1.1" 401 493

So I get a http 401 error which indicates an authorization issue.

I don't know why the phone cannot get the xml-file.

Re: Digium D70 : configure speed dial buttons

PostPosted: Tue Oct 14, 2014 9:12 am
by jonaskellens
I see now, the phone does not use the login for provisioning :

my.pub.lic.ip - 101001 [14/Oct/2014:17:03:20 +0200] "GET /mydir/000fd3068c59.cfg HTTP/1.1" 200 2390
my.pub.lic.ip - - [14/Oct/2014:17:03:25 +0200] "GET /mydir/myblfitems.xml HTTP/1.1" 401 493

To get the xml configuration file, the phone uses login '101001' and that's OK.

But why does the phone not use this same login '101001' for the xml BFL-configuration file ??

Re: Digium D70 : configure speed dial buttons

PostPosted: Tue Oct 14, 2014 9:18 am
by malcolmd
Because you specified user 101001 in your URL for the phone to retrieve its config but you didn't specify it in the blf_items url?

e.g.

Code: Select all
<?xml version="1.0" ?>
<config>
...
<setting id="web_ui_enabled" value="1" />
<smart_blf>
<blf_items url="https://user:password@server.example.com/mydir/myblfitems.xml" md5="mypass" />
</smart_blf>
...
</config>

Re: Digium D70 : configure speed dial buttons

PostPosted: Tue Oct 14, 2014 9:30 am
by jonaskellens
Still the same result :

my.pub.lic.ip - 101001 [14/Oct/2014:17:23:42 +0200] "GET /mydir/000fd3068c59.cfg HTTP/1.1" 200 2408
my.pub.lic.ip - - [14/Oct/2014:17:23:46 +0200] "GET /mydir/myblfitems.xml HTTP/1.1" 401 493

With login-credentials set :

<smart_blf>
<blf_items url="https://101001:mypass@myserver/mydir/myblfitems.xml" />
</smart_blf>

Re: Digium D70 : configure speed dial buttons

PostPosted: Tue Oct 14, 2014 10:15 am
by malcolmd
You are correct.

I'll make a note of the issue, but you should make plans to work-around it as I cannot make any promises of resolution.

Re: Digium D70 : configure speed dial buttons

PostPosted: Wed Oct 15, 2014 1:33 am
by jonaskellens
For some reason I don't know, it works when the xml blf-configuration file is placed in another directory :

does not work :

my.pub.lic.ip - 101001 [15/Oct/2014:09:20:38 +0200] "GET /mydir/000fd3068c59.cfg HTTP/1.1" 200 2408
my.pub.lic.ip - - [15/Oct/2014:09:20:42 +0200] "GET /mydir/myblfitems.xml HTTP/1.1" 401 493

works :

my.pub.lic.ip - 101001 [15/Oct/2014:09:25:21 +0200] "GET /mydir/000fd3068c59.cfg HTTP/1.1" 200 2402
my.pub.lic.ip - - [15/Oct/2014:09:25:26 +0200] "GET /mydir2/myblfitems.xml HTTP/1.1" 401 493
my.pub.lic.ip - 101001 [15/Oct/2014:09:25:27 +0200] "GET /mydir2/myblfitems.xml HTTP/1.1" 200 880

How funny is that ?

Now the next problem : I see no BLF-buttons on my Digium D70.

This is my very simple blf xml-configuration file content :

<?xml version="1.0" ?>
<phonebooks>
<contacts group_name="Directory" editable="0">
<contact id="10" contact_type="sip" account_id="10" subscribe_to="auto_hint_10">
<actions>
<action id="10" dial="10" dial_prefix="" label="Office" name="Office"/>
<action id="pickupcall" dial="10" dial_prefix="**" label="Pickup" name="Pickup"/>
</actions>
</contact>
</contacts>
</phonebooks>
<config>
<smart_blf>
<blf_items>
<blf_item location="side" index="1" paging="1" contact_id="10">
<behaviors>
<behavior press_action="10" press_function="dial" />
<behavior target_status="ringing" press_action="pickupcall" press_function="dial" />
</behaviors>
</blf_item>
</blf_items>
</smart_blf>
</config>

Is there something wrong with it ?

Re: Digium D70 : configure speed dial buttons

PostPosted: Wed Oct 15, 2014 8:32 am
by malcolmd
jonaskellens wrote:For some reason I don't know, it works when the xml blf-configuration file is placed in another directory :

does not work :

my.pub.lic.ip - 101001 [15/Oct/2014:09:20:38 +0200] "GET /mydir/000fd3068c59.cfg HTTP/1.1" 200 2408
my.pub.lic.ip - - [15/Oct/2014:09:20:42 +0200] "GET /mydir/myblfitems.xml HTTP/1.1" 401 493

works :

my.pub.lic.ip - 101001 [15/Oct/2014:09:25:21 +0200] "GET /mydir/000fd3068c59.cfg HTTP/1.1" 200 2402
my.pub.lic.ip - - [15/Oct/2014:09:25:26 +0200] "GET /mydir2/myblfitems.xml HTTP/1.1" 401 493
my.pub.lic.ip - 101001 [15/Oct/2014:09:25:27 +0200] "GET /mydir2/myblfitems.xml HTTP/1.1" 200 880

How funny is that ?


I do not find this to be the case. When I pull a config file from /auth and I reference my blf items file and other files (contacts, appellations, ringtones, firmware, etc.) in /auth2, the request isn't made with the user, e.g.:

Code: Select all
10.24.72.142 - user [15/Oct/2014:09:19:01 -0500] "GET /auth/0019159bd025.cfg HTTP/1.1" 200 8941 "-" "Digium-D70/1_4_2_0_63880"
10.24.72.142 - - [15/Oct/2014:09:19:09 -0500] "GET /auth2/101-contacts.xml HTTP/1.1" 401 2573 "-" "Digium-D70/1_4_2_0_63880"
10.24.72.142 - - [15/Oct/2014:09:19:19 -0500] "GET /auth2/ringding.sln HTTP/1.1" 401 2573 "-" "Digium-D70/1_4_2_0_63880"
10.24.72.142 - - [15/Oct/2014:09:19:26 -0500] "GET /auth2/astricond70.png HTTP/1.1" 401 2573 "-" "Digium-D70/1_4_2_0_63880"
10.24.72.142 - - [15/Oct/2014:09:19:31 -0500] "GET /auth2/malcolm.zip HTTP/1.1" 401 2572 "-" "Digium-D70/1_4_2_0_63880"
10.24.72.142 - - [15/Oct/2014:09:19:34 -0500] "GET /auth2/101-blf_items.xml HTTP/1.1" 401 2573 "-" "Digium-D70/1_4_2_0_63880"


jonaskellens wrote:Now the next problem : I see no BLF-buttons on my Digium D70.

This is my very simple blf xml-configuration file content :

<?xml version="1.0" ?>
<phonebooks>
<contacts group_name="Directory" editable="0">
<contact id="10" contact_type="sip" account_id="10" subscribe_to="auto_hint_10">
<actions>
<action id="10" dial="10" dial_prefix="" label="Office" name="Office"/>
<action id="pickupcall" dial="10" dial_prefix="**" label="Pickup" name="Pickup"/>
</actions>
</contact>
</contacts>
</phonebooks>
<config>
<smart_blf>
<blf_items>
<blf_item location="side" index="1" paging="1" contact_id="10">
<behaviors>
<behavior press_action="10" press_function="dial" />
<behavior target_status="ringing" press_action="pickupcall" press_function="dial" />
</behaviors>
</blf_item>
</blf_items>
</smart_blf>
</config>

Is there something wrong with it ?


You can't put those in the same file. BLF Items are a separate thing from Contacts. You need one file with contacts, e.g. mycontacts.xml and that needs:

Code: Select all
<?xml version="1.0" ?>
<phonebooks>
    <contacts group_name="Directory" editable="0">
        <contact id="10" contact_type="sip" account_id="10" subscribe_to="auto_hint_10">
            <actions>
                <action id="10" dial="10" dial_prefix="" label="Office" name="Office"/>
                <action id="pickupcall" dial="10" dial_prefix="**" label="Pickup" name="Pickup"/>
            </actions>
        </contact>
    </contacts>
</phonebooks>


You need another file with your BLF Items, e.g. myblfitems.xml and that needs:

Code: Select all
<config>
<smart_blf>
        <blf_items>
            <blf_item location="side" index="1" paging="1" contact_id="10">
                <behaviors>
                    <behavior press_action="10" press_function="dial" />
                    <behavior target_status="ringing" press_action="pickupcall" press_function="dial" />
                </behaviors>
            </blf_item>
        </blf_items>
    </smart_blf>
</config>


And you'll reference each of those in the main .cfg file for the phone, e.g.:

Code: Select all
...
<contacts url="http://server.example.com/mycontacts.xml" id="0" />
<smart_blf>
    <blf_items url="http://server.example.com/myblfitems.xml" />
</smart_blf>
...


Also, since you're doing XML config, don't subscribe to auto_hint_<peer> as that's for DPMA style operation, not XML operation. You should just subscribe to whatever hints you create in the dialplan. Technically you could create a hint called auto_hint_<peer> but the status app on the phone won't operate with presence when the phone's not talking to DPMA (or Switchvox).