Voicemail setting for Digium D40 on Asterisk 1.6

Hi all,
I have been running Asterisk for several years now combining our old POTS line and three VOIP numbers into an easy to use way that is more or less invisible to the phone users. My darling spouse however has been complaining that the Cisco 7940 screen is hard to read when the light is low so I looked around and got her a Digium D40 that seems to have good reviews but I have some woes with it that I hope some kind soul can give me guidance about

  1. how do I get the voicemail key to work with Asterisk. I would like it to just enter “*98” but it wants a numeric extension or a sip: address to an extension and sip:*98@ doesn’t seem to work.

  2. the D40 uses the same headset connector as the 7940 but the headset that was used on the Cisco does not work with the D40. I presume this is a wiring problem so if there is a pointer to an interposer or cable wiring to make it work that would be appreciated.

  3. how do I set up the phone to let me pick up the handset and dial the complete number before it tries to connect. At the moment I pick it up and dial the area code (905 for example) and it tries to connect. The only way to dial a 905 number is to dial the number then pick up the handset.

For those that may be interested I find the D40 OK but not superlative. The Cisco’s, though very old now, feel more solid and the buttons all still work (one of the D40 buttons below the screen is wonky feeling right out of the box). I have turned off the feature that auto-selects some random number for the unused line key. One last thought, though the web interface is very nice the limited browsers that it works with is odd. A less glitzy plain html interface might be less beautiful but it would be better and would likely work with Firefox 17 on Win.

Thanks for any thoughts or assistance, M

PS: the phone is running the 1_1_2_0_51236 firmware that fixes some problems in the shipped 1_0_5 version but has an odd replication of the page 2 or 3 times, weird.

  1. sip:*98@server.example.com should work just fine on that firmware build; I just did it. If you want to enter just *98, look into the XML provisioning possibilities of the phone (wiki.asterisk.org/wiki/pages/vi … d=21463877)

  2. A list of headsets we’ve tested against is available here - www1.digium.com/en/products/swit … ium-phones

  3. Your digitmap is probably not correct for what you want to do. The default one is:

Here’s another one you can try:

For more about digit mappings, see:
wiki.asterisk.org/wiki/display/ … Dial+Plans

Thanks Malcolm!

That fixed the dialing and voicemail problems. I had tried sip:*98@ with the 1_0_5 firmware and it didn’t work but seems to work fine with the current firmware.

I still have some problems with it, though they are likely less important as the phone is usable at the moment. Is this the right forum to ask in? That is, I could not seem to locate a Digium forum for the phones.

For example:

a) If “Accept Calls from” is set to “SIP Account Hosts” it does not receive calls from even the configured line 1 host so I have to leave it at “Accept all calls from any host”

b) In the environment that the phone is in the backlight coming on when the phone is active is a good visual indicator so the user would like it off when idle. Setting this in the web UI seems fine but it defaults back on in the web UI if you go back to change another setting. Other things seem to show the real value but the backlight dim value and timer seem to reset to the default.

c) I did set things up as documented to get it to pull a config from FTP (I would have preferred TFTP) but it is not working yet so I turned on the syslog to see if it would show anything. What I see there are errors parsing the contact list and digitmap. In the case of the digitmap it complains about a null at the start. BTW, the syslog does not seem to provide any info about why pulling the remote config is not working so I guess I’ll have to wind up the network analyzer - but that will happen another day as the phone is usable at the moment and I have more pressing things to worry about.

Thanks again for sharing your wisdom, it is much appreciated.

All the best, M

Yeah, I should have paid better attention, that was a limitation of older firmwares and was addressed in 1.1.1

There’s www.digium.com/support) for questions about using the product. I do my best to answer questions that get posted here, but sometimes they’re better handled by Support - especially if they’re complicated or require configs / debug, etc. And, noting the below, since I don’t experience what you’re experiencing, you’ll probably want to contact them if you want to carry it further.

I do not find that to be the case. What firmware are you on?
I’m on firmware 1_1_2_0_51236. Via the web utility, when I set Accept Calls from SIP Account Hosts, then I can only get calls into the phone that come from hosts that I’ve set for my SIP accounts, i.e. I can’t URI dial from another phone to this phone. When I set Accept Calls from “Accept all calls from any host” then I can receive calls either from the SIP account host or from a SIP URI dial, i.e. from another phone directly without going through any SIP proxy/server. Same thing if I provision the phone using the DPMA’s accept_local_calls phone setting.

I also do not find this to be the case. Same firmware as above. If I turn backlight dimming on, and then affect the change by submitting it, then my backlight dims. If I then make another change, e.g. changing the line label for my SIP registration and press the submit button again, then my backlight is still dimmed. If I then go back to the preferences tab I can still see that the backlight dimming is on - and it’s still dim on the phone itself.

No prob :smile:

This is just an update in case anyone is looking to solve the same problems…

I find that the setting to only accept calls from SIP account hosts now seems to be working. Not sure what I changed but I have defined the alternate host (alternate ip address for the same box) and the SIP outbound proxy as well. Whatever the cause it is working.

Since we have mostly Cisco phones and a few Linksys ones I didn’t want to get a different headset just for the D40 so I made a little interposer that just swaps the inner and outer pairs in the headset connector and that allows us to use the same headset as the old Cisco’s. If we replace all the phones then I may look into new headsets but not this month :wink:

The backlight dim level reverts to 2 each time you open a browser to the phone settings, just be aware of that if you change it from the defaults (we set it to 0). This is with the 1_1_2_0_51236 firmware.

I was not able to get the provisioning going, I tried ftp://server.ip/dir/ but neither worked. Running WireShark on the server to capture traffic with the D40’s MAC address I see that it requests and gets the option 66 in the DHCP exchange but does not appear to take any action with it that I could see. The syslog output doesn’t shed any light on this either. If I get ambitious later I’ll take this up with Digium support folks (i.e. when I have free time, ha ha )

Many thanks again to Malcolm for you wisdom in getting this one-of phone install working - the lady using it is very pleased.


What was selected from the phone’s boot menu? If the phone detects only one provisioning server then it’ll go with that. If it detects more than one, then it’ll prompt you to choose. wrt Option 66, if that’s the only kind of provisioning that’s available, the phone should try to hit it when it comes up. There’s an example dhcpd configuration here:

wiki.asterisk.org/wiki/pages/vi … d=21463875

that demonstrates how to configure Option 66 for specifying a URL for the phone to retrieve.

Hi Malcolm,

The only way I seem to get a response from the phone is to specify just the server ip address as the option 66 value. When I do that I see that it tries to open ftp://server.ip/subdir/ it doesn’t even nibble at the bait.

So I followed your earlier advise and opened a support ticket for this and provided a WireShark trace of traffic between the server and the phone’s MAC address. Hopefully the support guru’s can tell me the error in my ways as I seem to have a blindness for it right now :wink:

When I have a solution I’ll post an update as this sort of thing might help others.


They’ll be interested in your dhcpd configuration.

There’s an example here:
wiki.asterisk.org/wiki/pages/vi … d=21463875

Where the server’s setup to pass a string for Option 66 by this command:
option boot-server code 66 = string;

and then inside the actual subnet definition it looks like:

option boot-server “http://provisioner.example.com/phoneprov/”;

The underlying problem seemed to be that the firmware for the D40 was only accepting ftp://server/folder/ this however is resolved by updating to a newer version of the firmware that came available after I opened a ticket with Digium. FWIW, I discovered this solution on my own and when I asked Digium about it they took it as a fix and closed the ticket (without, btw, resolving the punky button or config screen anomaly).

Hopefully this info may be useful to someone else with a similar problem.