When Dialing Out Drops first number


#1

When I try to dial out through my POTS connection it drops the first digit. Example: (123)456-7890, Asterisks see this dialed number. However the response from the PSTN is that I need to include the area code. This happens on my wired phones and SIP phones.

Extension.conf

[global]
OUTBOUNDTRUNK => Zap/g1

[outbound]
exten => _9NXXNXXXXXX,1,Dial(${OUTBOUNDTRUNK}/${EXTEN:1})
exten => _9NXXNXXXXXX,2,Congestion()

zapata.conf

[trunkgroup]

[channels]
usecallerid=yes
hidecallerid=no
callwaiting=no
threewaycalling=yes
transfer=yes
echocancel=yes
echotraining=yes

context=incoming
signalling=fxs_ks
group=1
channel => 1-4


#2

found the fix in another message(Sorry I forgot which one). But I needed to add 200ms wait into the outbound dialing. This did fixed my issue. I can now dialout successfully everytime.

Extension.conf

[global]
OUTBOUNDTRUNK => Zap/g1

[outbound]
exten => _9NXXNXXXXXX,1,Dial(${OUTBOUNDTRUNK}/ww${EXTEN:1})
exten => _9NXXNXXXXXX,2,Congestion()


#3

that seems to have done it for me. thx…


#4

FYI: for those here using AMP, to avoid having to edit files manually, in the Trunk definition for your zaptel fxo port, add this for a dial prefix:

ww+.

This will cause ‘ww’ to be prepended to the number to call, and Dial() will treat it the same as if extensions.conf was edited manually.


#5

I just upgraded to freePBX 2.0.1 and the above workaround no longer works. e.g. the code apparently checks and disallows any dial prefix that is not numeric :frowning:


#6

The more I think about this, the more confused I am. Either we’re missing something pretty fundamental (we being asterisk and its users), or the hardware and/or drivers are broken in a basic way (it’s really hard for me to believe that they don’t check for dialtone before starting to send digits.) If it’s expected that you might have to execute a brief delay (the ‘ww’ hack), why is this not built into the zap driver? Or coded into asterisk’s interface with it (with a single-letter option you can you to indicate you need to do this.) ???