Missing last digit when dialing out on TDM 400
I have setup a trixbox 2.0 and a TDM12B card.
The sound is OK though still fighting some echo problems.
I run to a strange issue when dialing out. I configure "9" as outgoing line for trunk 3
so when i dial 93869926 asterisk should open the line on TDm and dial 386-9926.
In practice the only no. that pass to the pots line is 386-992 where the last digit 6 is missing.
Trying to outsmart the problem i dial the no. with additional 6 by the end which will be 9-386-99266. Now The outgoing last digit gets dropped again and the no. that pass is 3869926 (missing the last duplicated 6) which get the line ring as now the pots line got the full 7 digit no.
I am pazzeled and not sure how to approach it.
Why the last digit of any length no. (9+7digit or 9+8 digit) is being dropped?
can anyone help.
Thanks,
Ori
I have some questions:
How did you determine it was leaving off the last digit?
Is this in the United States? If it is, do you get a recording from your telco provider after about twenty seconds?
What dial pattern do you have in "Outbound Routes"?
And do you have anything in "Trunks" under "Dial Rules"?
Hi Markwho?,
I am in the USA.
I am in Vegas, NV and Sprint - Embarq is the local telco.
When dialing the no. after few second i just get busy signal.
I found it is missing a digit just by taping to the line when the TDM card is dialing.
I thought it is missing a digit and then came with the idea to add an extra digit which worked.
My outbound route " 0 9_outside " Dial rule are as follow:
311
411
911
1800NXXXXXX
1866NXXXXXX
1877NXXXXXX
1888NXXXXXX
292.
9|.
My Trunk Trunk ZAP/3:
Maximum channels: 1
Dial rule: empty
Outbound Dial Prefix: w (thinking it might help though it didn't.)
I hope this info can help to figure it out.
thanks,
Ori
What version of trixbox?
When you tapped into the line and listened did you hear digits being dialed, then a pause, then a click and then a final digit being dialed?
Also, to troubleshoot without a lot of added possibilities, go to "Outbound Routes" and change the "Dial Patterns" to "9|." without quotes.
This will allow any number to be transmitted after the nine.
And make sure in the "Trunk Sequence" you have selected a valid zap channel.
And just for ease of troubleshooting, go to "Trunks" and to the appropriated zap channel and leave "Maximum channels" empty.
If this does not work, tap into line and listen for sequence again and see if it matches what I stated at the beginning.
From the CLI prompt you can type "asterisk -cvvvvr" no quotes amount of v is up to you. and then dial from your phone and you can see what's going on. It will show you what is being executed. You'll see a line that has OUTNUM=w(number you dialed minus 9)
There will be a w since you put this in the "Outbound dial prefix"
To exit from this press Ctrl C
This works better if you use a program called putty. Putty will allow you to connect to your trixbox server from your PC and do this and you have more control over looking at the data that is presented by this command. If you dont have putty, it is a free program.
putty can be found at the following
http://www.tucows.com/preview/195286
http://www.atlantawebhost.com/putty/#install
The TDM400 will pause during the dial sequence to set the echo canceling. There is a variable you can set to change the length of the pause for the test -- this may or may not fix the issue.
We had a similar issue, but it turned out it was because the default line setting, kewlstart, was not compatible with the local phone system. I switched to loopstart and the problem went away.
The pause is
echotraining=800 in zapata.conf
The smaller the number the less of a pause. In Kerry Garrison's asterisk tutorials he goes as low as 128. The pause might be too long for your telco....but doubtful.
Also the kewlstart, loop start and ground start can be changed in zapata.conf.
qlenfg made a good suggestion about the loop start versus kewlstart.
I tried everything you sugested.
But no hope...:(
HTe line is still missing the last digit.
It is strange since asterisk is sending the correct no. to the TDM card.
But the card is dropping the last digit.
More strange is it does drop the last digit regardless of how many digit there are (7 or 8 in my case)
Here is what happen when i dial 9+7 digit
and right below 9 + 8 digit
-- Executing Macro("SIP/300-08535798", "dialout-trunk|1|2924944||") in new stack
-- Executing Set("SIP/300-08535798", "DIAL_TRUNK=1") in new stack
-- Executing Set("SIP/300-08535798", "_NODEST=") in new stack
-- Executing Set("SIP/300-08535798", "DIAL_NUMBER=2924944") in new stack
-- Executing Set("SIP/300-08535798", "ROUTE_PASSWD=") in new stack
-- Executing Set("SIP/300-08535798", "DIAL_TRUNK_OPTIONS=tr") in new stack
-- Executing GotoIf("SIP/300-08535798", "1?noauth") in new stack
-- Goto (macro-dialout-trunk,s,8)
-- Executing Set("SIP/300-08535798", "GROUP()=OUT_1") in new stack
-- Executing Macro("SIP/300-08535798", "user-callerid|SKIPTTL") in new stack
-- Executing NoOp("SIP/300-08535798", "user-callerid: device 300") in new stack
-- Executing GotoIf("SIP/300-08535798", "0?report") in new stack
-- Executing GotoIf("SIP/300-08535798", "0?start") in new stack
-- Executing Set("SIP/300-08535798", "REALCALLERIDNUM=300") in new stack
-- Executing NoOp("SIP/300-08535798", "REALCALLERIDNUM is 300") in new stack
-- Executing Set("SIP/300-08535798", "AMPUSER=300") in new stack
-- Executing Set("SIP/300-08535798", "AMPUSERCIDNAME=Ori Solomon") in new stack
-- Executing GotoIf("SIP/300-08535798", "0?report") in new stack
-- Executing Set("SIP/300-08535798", "CALLERID(all)=Ori Solomon <300>") in new stack
-- Executing Set("SIP/300-08535798", "REALCALLERIDNUM=300") in new stack
-- Executing NoOp("SIP/300-08535798", "TTL: ARG1: SKIPTTL") in new stack
-- Executing GotoIf("SIP/300-08535798", "1?continue") in new stack
-- Goto (macro-user-callerid,s,21)
-- Executing NoOp("SIP/300-08535798", "Using CallerID "Ori Solomon" <300>") in new stack
-- Executing Macro("SIP/300-08535798", "record-enable|300|OUT") in new stack
-- Executing GotoIf("SIP/300-08535798", "0 > 0?2:4") in new stack
-- Goto (macro-record-enable,s,4)
-- Executing DeadAGI("SIP/300-08535798", "recordingcheck|20070416-021002|1176714602.20") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/recordingcheck
recordingcheck|20070416-021002|1176714602.20: Outbound recording not enabled
-- AGI Script recordingcheck completed, returning 0
-- Executing NoOp("SIP/300-08535798", "No recording needed") in new stack
-- Executing GotoIf("SIP/300-08535798", "0?skipoutcid") in new stack
-- Executing Set("SIP/300-08535798", "DIAL_TRUNK_OPTIONS=") in new stack
-- Executing Macro("SIP/300-08535798", "outbound-callerid|1") in new stack
-- Executing GotoIf("SIP/300-08535798", "1?start") in new stack
-- Goto (macro-outbound-callerid,s,3)
-- Executing NoOp("SIP/300-08535798", "REALCALLERIDNUM is 300") in new stack
-- Executing GotoIf("SIP/300-08535798", "1?normcid") in new stack
-- Goto (macro-outbound-callerid,s,9)
-- Executing Set("SIP/300-08535798", "USEROUTCID="Ori Solomon"<17029449888>") in new stack
-- Executing Set("SIP/300-08535798", "EMERGENCYCID=") in new stack
-- Executing Set("SIP/300-08535798", "TRUNKOUTCID=") in new stack
-- Executing GotoIf("SIP/300-08535798", "1?trunkcid") in new stack
-- Goto (macro-outbound-callerid,s,16)
-- Executing GotoIf("SIP/300-08535798", "1?usercid") in new stack
-- Goto (macro-outbound-callerid,s,18)
-- Executing GotoIf("SIP/300-08535798", "0?report") in new stack
-- Executing Set("SIP/300-08535798", "CALLERID(all)="Ori Solomon"<17029449888>") in new stack
-- Executing GotoIf("SIP/300-08535798", "1?report:hidecid") in new stack
-- Goto (macro-outbound-callerid,s,22)
-- Executing NoOp("SIP/300-08535798", "CallerID set to "Ori Solomon" <17029449888>") in new stack
-- Executing GotoIf("SIP/300-08535798", "1?nomax") in new stack
-- Goto (macro-dialout-trunk,s,16)
-- Executing DeadAGI("SIP/300-08535798", "fixlocalprefix") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/fixlocalprefix
-- AGI Script fixlocalprefix completed, returning 0
-- Executing Set("SIP/300-08535798", "OUTNUM=w2924944") in new stack
-- Executing Set("SIP/300-08535798", "custom=ZAP/3") in new stack
-- Executing GotoIf("SIP/300-08535798", "0?customtrunk") in new stack
-- Executing Dial("SIP/300-08535798", "ZAP/3/w2924944|300|") in new stack
-- Called 3/w2924944
-- Zap/3-1 answered SIP/300-08535798
-- Hungup 'Zap/3-1'
== Spawn extension (macro-dialout-trunk, s, 20) exited non-zero on 'SIP/300-08535798' in macro 'dialout-trunk'
== Spawn extension (macro-dialout-trunk, s, 20) exited non-zero on 'SIP/300-08535798'
-- Executing Macro("SIP/300-08535798", "hangupcall") in new stack
-- Executing ResetCDR("SIP/300-08535798", "w") in new stack
-- Executing NoCDR("SIP/300-08535798", "") in new stack
-- Executing GotoIf("SIP/300-08535798", "1?skiprg") in new stack
-- Goto (macro-hangupcall,s,6)
-- Executing GotoIf("SIP/300-08535798", "1?theend") in new stack
-- Goto (macro-hangupcall,s,9)
-- Executing Wait("SIP/300-08535798", "5") in new stack
== Spawn extension (macro-hangupcall, s, 9) exited non-zero on 'SIP/300-08535798' in macro 'hangupcall'
== Spawn extension (macro-hangupcall, s, 9) exited non-zero on 'SIP/300-08535798'
-- Executing Macro("SIP/300-08535798", "dialout-trunk|1|29249444||") in new stack
-- Executing Set("SIP/300-08535798", "DIAL_TRUNK=1") in new stack
-- Executing Set("SIP/300-08535798", "_NODEST=") in new stack
-- Executing Set("SIP/300-08535798", "DIAL_NUMBER=29249444") in new stack
-- Executing Set("SIP/300-08535798", "ROUTE_PASSWD=") in new stack
-- Executing Set("SIP/300-08535798", "DIAL_TRUNK_OPTIONS=tr") in new stack
-- Executing GotoIf("SIP/300-08535798", "1?noauth") in new stack
-- Goto (macro-dialout-trunk,s,8)
-- Executing Set("SIP/300-08535798", "GROUP()=OUT_1") in new stack
-- Executing Macro("SIP/300-08535798", "user-callerid|SKIPTTL") in new stack
-- Executing NoOp("SIP/300-08535798", "user-callerid: device 300") in new stack
-- Executing GotoIf("SIP/300-08535798", "0?report") in new stack
-- Executing GotoIf("SIP/300-08535798", "0?start") in new stack
-- Executing Set("SIP/300-08535798", "REALCALLERIDNUM=300") in new stack
-- Executing NoOp("SIP/300-08535798", "REALCALLERIDNUM is 300") in new stack
-- Executing Set("SIP/300-08535798", "AMPUSER=300") in new stack
-- Executing Set("SIP/300-08535798", "AMPUSERCIDNAME=Ori Solomon") in new stack
-- Executing GotoIf("SIP/300-08535798", "0?report") in new stack
-- Executing Set("SIP/300-08535798", "CALLERID(all)=Ori Solomon <300>") in new stack
-- Executing Set("SIP/300-08535798", "REALCALLERIDNUM=300") in new stack
-- Executing NoOp("SIP/300-08535798", "TTL: ARG1: SKIPTTL") in new stack
-- Executing GotoIf("SIP/300-08535798", "1?continue") in new stack
-- Goto (macro-user-callerid,s,21)
-- Executing NoOp("SIP/300-08535798", "Using CallerID "Ori Solomon" <300>") in new stack
-- Executing Macro("SIP/300-08535798", "record-enable|300|OUT") in new stack
-- Executing GotoIf("SIP/300-08535798", "0 > 0?2:4") in new stack
-- Goto (macro-record-enable,s,4)
-- Executing DeadAGI("SIP/300-08535798", "recordingcheck|20070416-021027|1176714627.22") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/recordingcheck
recordingcheck|20070416-021027|1176714627.22: Outbound recording not enabled
-- AGI Script recordingcheck completed, returning 0
-- Executing NoOp("SIP/300-08535798", "No recording needed") in new stack
-- Executing GotoIf("SIP/300-08535798", "0?skipoutcid") in new stack
-- Executing Set("SIP/300-08535798", "DIAL_TRUNK_OPTIONS=") in new stack
-- Executing Macro("SIP/300-08535798", "outbound-callerid|1") in new stack
-- Executing GotoIf("SIP/300-08535798", "1?start") in new stack
-- Goto (macro-outbound-callerid,s,3)
-- Executing NoOp("SIP/300-08535798", "REALCALLERIDNUM is 300") in new stack
-- Executing GotoIf("SIP/300-08535798", "1?normcid") in new stack
-- Goto (macro-outbound-callerid,s,9)
-- Executing Set("SIP/300-08535798", "USEROUTCID="Ori Solomon"<17029449888>") in new stack
-- Executing Set("SIP/300-08535798", "EMERGENCYCID=") in new stack
-- Executing Set("SIP/300-08535798", "TRUNKOUTCID=") in new stack
-- Executing GotoIf("SIP/300-08535798", "1?trunkcid") in new stack
-- Goto (macro-outbound-callerid,s,16)
-- Executing GotoIf("SIP/300-08535798", "1?usercid") in new stack
-- Goto (macro-outbound-callerid,s,18)
-- Executing GotoIf("SIP/300-08535798", "0?report") in new stack
-- Executing Set("SIP/300-08535798", "CALLERID(all)="Ori Solomon"<17029449888>") in new stack
-- Executing GotoIf("SIP/300-08535798", "1?report:hidecid") in new stack
-- Goto (macro-outbound-callerid,s,22)
-- Executing NoOp("SIP/300-08535798", "CallerID set to "Ori Solomon" <17029449888>") in new stack
-- Executing GotoIf("SIP/300-08535798", "1?nomax") in new stack
-- Goto (macro-dialout-trunk,s,16)
-- Executing DeadAGI("SIP/300-08535798", "fixlocalprefix") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/fixlocalprefix
-- AGI Script fixlocalprefix completed, returning 0
-- Executing Set("SIP/300-08535798", "OUTNUM=w29249444") in new stack
-- Executing Set("SIP/300-08535798", "custom=ZAP/3") in new stack
-- Executing GotoIf("SIP/300-08535798", "0?customtrunk") in new stack
-- Executing Dial("SIP/300-08535798", "ZAP/3/w29249444|300|") in new stack
-- Called 3/w29249444
-- Zap/3-1 answered SIP/300-08535798
-- Hungup 'Zap/3-1'
== Spawn extension (macro-dialout-trunk, s, 20) exited non-zero on 'SIP/300-08535798' in macro 'dialout-trunk'
== Spawn extension (macro-dialout-trunk, s, 20) exited non-zero on 'SIP/300-08535798'
-- Executing Macro("SIP/300-08535798", "hangupcall") in new stack
-- Executing ResetCDR("SIP/300-08535798", "w") in new stack
-- Executing NoCDR("SIP/300-08535798", "") in new stack
-- Executing GotoIf("SIP/300-08535798", "1?skiprg") in new stack
-- Goto (macro-hangupcall,s,6)
-- Executing GotoIf("SIP/300-08535798", "1?theend") in new stack
-- Goto (macro-hangupcall,s,9)
-- Executing Wait("SIP/300-08535798", "5") in new stack
== Spawn extension (macro-hangupcall, s, 9) exited non-zero on 'SIP/300-08535798' in macro 'hangupcall'
== Spawn extension (macro-hangupcall, s, 9) exited non-zero on 'SIP/300-08535798'
Here is my zapata.conf
I will try to change to loopstart and see what happens.
the only thing that bugs me is the suggestions above are talking about a pause lenth.
Where the pause could be in the fron of the no. but i dont see where the pause comes into effect at the last digit of the no.
Ori
GNU nano 1.2.4 File: /etc/asterisk/zapata.conf
;
; Zapata telephony interface
;
; Configuration file
[trunkgroups]
[channels]
language=en
context=from-zaptel
signalling=fxs_ks
rxwink=300 ; Atlas seems to use long (250ms) winks
;
; Whether or not to do distinctive ring detection on FXO lines
;
;usedistinctiveringdetection=yes
usecallerid=yes
hidecallerid=no
callwaiting=yes
usecallingpres=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=no
echotraining=256
rxgain=4.0
txgain=-8.0
group=0
callgroup=1
pickupgroup=1
immediate=no
;faxdetect=both
faxdetect=incoming
;faxdetect=outgoing
;faxdetect=no
;Include genzaptelconf configs
#include zapata-auto.conf
group=1
threewaycalling=yes
transfer=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=no
echotraining=256
rxgain=4.0
txgain=-8.0
group=0
callgroup=1
pickupgroup=1
immediate=no
;faxdetect=both
faxdetect=incoming
;faxdetect=outgoing
;faxdetect=no
;Include genzaptelconf configs
#include zapata-auto.conf
group=1
;Include AMP configs
#include zapata_additional.conf
Maybe it is just me, but your tx level seems pretty low... looks like you HAVE been dealing with the echo blues. Set your tx and rx to zero again for testing. Also, I don't think you say what endpoint your are using... try a softphone (xten) and see if that works. Also, try sending a # at the end of the dial string.
About the echo,
The echo may just be your hardware... I find that swapping slots will make a BIG difference for tdm. I have fought the tdm echo several times and found that fxotune (patched version) is the only thing I needed after settling the hardware issues... decent motherboard, no conflicting irq, good nic, etc. Give that a go and see what happens.
The echo test pause is so the TDM400 can listen when a digit it dialed to check for echo. The other pause is a character inserted into the dialing string, like you used to have to do on a PBX when your modem had to dial a 9 to get an outside line.
I originally set up our system using a phone line simulator and it worked fine. We used the simulator because we had one, it was our first time to mess with Trixbox and we wanted it to be right, and we didn't want any 911 dialing accidents.
When we got everything set up, I plugged the TDM400 it into the phone line and it would receive inbound calls, but outbound calls would not dial properly. Sounds similar to what you have. Apparently our local CO is very ancient. I'm surprised we can even have DSL, although its pretty slow compared to the speeds I get at home.
The loopstart / kewlstart references are in both the zapata.conf and the zapata-auto.conf. You have to change both or it won't work. The original will say ks -- change it to ls.
Here is the section from my zapata-conf:
context=from-zaptel
signalling=fxs_ls
rxwink=300 ; Atlas seems to use long (250ms) winks
Here is the section from my zapata-auto.conf:
; Span 1: WCTDM/0 "Wildcard TDM400P REV E/F Board 1"
signalling=fxs_ls
; Note: this is a trunk. Create a ZAP trunk in AMP for Channel 1
context=from-zaptel
group=0
channel => 1
That's interesting. I had exactly the same issue recently with newly purchased TDM804B and Trixbox 2.4. The last digit is not being dialed, however, say if I dial 15553332211, logs indicate that it is dialing Zap/1/15553332211, but in practice it dials 1555333221. Also, it picks up the phone on incoming call, sends the voice prompt there, but I hear nothing!
When I changed outgoing route dial rules to something like 9|, I was able to dial 9, get the dialtone and dial the number without problems.
Playing with kewlstart/groundstart, echo cancellation, rx/tx levels didnt help at all.
Installed TB on another PC - still no luck.
So, I finally decided that it might be hardware issue, because I never had any problems with Digium hardware/trixbox before. But I decided to give it a last chance and installed asterisk 1.4.17, Zaptel 1.4.17 (the same versions that come with TB 2.4) from the sources and manually configured it.
And miracle - it worked fine! So, I decided to proceed with pure asterisk in this installation.
Configuration files look much cleaner, dialplans are at least 10 times shorter, and I know exactly what's going on there.
I like Trixbox, especially its Endpoing Configuration Tool, but I feel I have enough Asterisk knowledge to build my system from the scratch.
Hey yzcompany did you found a solution ?
Unlike eugr I don't have the knowledge to install from scratch...
I have 2 systems one TB2.2 and the other in TB2.4 both have the same Digium card with 4 FXO modules but the TB2.4 have the same problem that you have...
Thank's
Nick
*2.4 - TDM04B
Exact same problem here.
I was running 2.2.8 and had a hard drive die, so i decided to use the new 2.4.0. I had the same problem, leaving off the last digit dialed, and incoming calls being hung up.
I installed 2.2.8 and do NOT have these problems. Seems like a bug possibly in the new ZAP drivers or something.
I would suggest reinstalled with 2.2.8.
I had the same issue, and it seems there is some kind of conflict because of the different zap*.conf files created by trixbox/freepbx/genzaptelconf or who knows....
I have a tdm400p with an fxo and an fxs, and I noticed that after a "zap restart" in the cli some channels were registered more than once:
trixbox1*CLI> zap restart
Destroying channels and reloading zaptel configuration.
== Parsing '/etc/asterisk/zapata.conf': Found
== Parsing '/etc/asterisk/zapata-auto.conf': Found
-- Registered channel 1, FXO Kewlstart signalling
-- Registered channel 4, FXS Kewlstart signalling
-- Registered channel 1, FXS Kewlstart signalling
-- Registered channel 1, FXS Kewlstart signalling
-- Registered channel 4, FXS Kewlstart signalling
-- Automatically generated pseudo channel
......
I thought it was a bad symptom, so I carefully reviewd zapata.conf and the included files in order to remove redundancies. I was careful not to modify zapata_auto as it is created by freepbx.


Member Since:
2007-01-25