Digium phone won't dial out if handset is offhook

I’ve got a working system with a bunch of Digium D40 phones and one D50. On the D50, if the user takes it offhook with either the handset or speak and tries to dial it stops after a few digits and plays a cannot be completed as dialed message.

If however they just dial the number then press the “dial” key on the phone without taking it offhook first it works.

Anyone have any idea if I have a setting wrong somewhere? The phone is configured through the digium phone module.

here is the asterisk log for a “bad” call trying to dial a 1-973-xxx-xxxx number:

[2014-02-12 11:48:14] VERBOSE[1805] chan_sip.c: == Extension Changed 201[ext-local] new state InUse for Notify User 201
[2014-02-12 11:48:14] VERBOSE[1805] chan_sip.c: == Extension Changed auto_hint_201[from-internal] new state InUse for Notify User 202
[2014-02-12 11:48:14] VERBOSE[1805] chan_sip.c: == Extension Changed auto_hint_201[from-internal] new state InUse for Notify User 203
[2014-02-12 11:48:14] VERBOSE[27584][C-000013f1] pbx.c: – Executing [[email protected]:1] ResetCDR(“SIP/201-00001692”, “”) in new stack
[2014-02-12 11:48:14] VERBOSE[27584][C-000013f1] pbx.c: – Executing [[email protected]:2] NoCDR(“SIP/201-00001692”, “”) in new stack
[2014-02-12 11:48:14] VERBOSE[27584][C-000013f1] pbx.c: – Executing [[email protected]:3] Progress(“SIP/201-00001692”, “”) in new stack
[2014-02-12 11:48:14] VERBOSE[27584][C-000013f1] pbx.c: – Executing [[email protected]:4] Wait(“SIP/201-00001692”, “1”) in new stack
[2014-02-12 11:48:15] VERBOSE[27584][C-000013f1] pbx.c: – Executing [[email protected]:5] Progress(“SIP/201-00001692”, “”) in new stack
[2014-02-12 11:48:15] VERBOSE[27584][C-000013f1] pbx.c: – Executing [[email protected]:6] Playback(“SIP/201-00001692”, “silence/1&cannot-complete-as-dialed&check-number-dial-again,noanswer”) in new stack
[2014-02-12 11:48:15] VERBOSE[27584][C-000013f1] file.c: – <SIP/201-00001692> Playing ‘silence/1.ulaw’ (language ‘en’)
[2014-02-12 11:48:16] VERBOSE[27584][C-000013f1] file.c: – <SIP/201-00001692> Playing ‘cannot-complete-as-dialed.ulaw’ (language ‘en’)
[2014-02-12 11:48:16] VERBOSE[1805] chan_sip.c: == Extension Changed 201[ext-local] new state Idle for Notify User 201
[2014-02-12 11:48:16] VERBOSE[1805] chan_sip.c: == Extension Changed auto_hint_201[from-internal] new state Idle for Notify User 202
[2014-02-12 11:48:16] VERBOSE[1805] chan_sip.c: == Extension Changed auto_hint_201[from-internal] new state Idle for Notify User 203
[2014-02-12 11:48:16] VERBOSE[27584][C-000013f1] pbx.c: == Spawn extension (from-internal, 197, 6) exited non-zero on ‘SIP/201-00001692’
[2014-02-12 11:48:16] VERBOSE[27584][C-000013f1] pbx.c: – Executing [[email protected]:1] Hangup(“SIP/201-00001692”, “”) in new stack
[2014-02-12 11:48:16] VERBOSE[27584][C-000013f1] pbx.c: == Spawn extension (from-internal, h, 1) exited non-zero on ‘SIP/201-00001692’

Something is not right with the digit map of the D50.

That’s what I thought but it matched the digit maps of the other d40’s exactly… I’ll get a copy of them and post…

here’s the digit map from the D50:

[0-8]xx|911|9411|9611|9011xxx.T3|91xxxxxxxxxx|9[2-9]xxxxxx|*xxx.T3

here’s a digit map from a D40 that works fine:

[0-8]xx|911|9411|9611|9011xxx.T3|91xxxxxxxxxx|9[2-9]xxxxxx|*xxx.T3

any ideas?

So it does indeed look as if it’s a bad digitmap, why it works for the D40 phones I have no idea… anyway, if I want a map to match the following:

Dial:
extensions 2xx or 6xx, 911, 411, local 10 digit calls, 11 digit domestic long distance and international I’d need a digitmap like this:

2xx|6xx|911|411|[0-1][2‐9]xxxxxxxxx|[2‐9]xxxxxxxxx|011xxx.T

local 2xx ext | local 6xx ext | 911 | 411 | domestic LD | Local | international (from the US)

That look right?

So I bring the D50 back to my office and set it up on my identical (I believe) FreePBX box and it doesn’t do the same behavior. If I pick up the handset I get dialtone. I dial and wait. The phone never dials out until I push the “dial” button. It’s like it totally ignores the digimap.

At the client however, if you lift the receiver and the minute you start to dial and it goes outside the dialmap it give the “cannot be completed as dialed” message.

Is there a setting somewhere in the extension/digium phone module/dialplan or some other spot that dictates this behavior?

totally stumped…

Without knowing how you are provisioning the phones it is hard to tell why and where the problem is. How are you provisioning the phones?

They’re provisioned using the Digium Phone Module.

After you changed the configs did you reconfigure the phones?