Hi,
I hope Thirdlane can add a hardware (Digium cared) detection in the GUI like Elastix http://www.elastix.org.
That will help users like me to save time going through the zaptel and zapta files.
--
Yousif Wali
Thank Erik for your
Thank Erik for your reply,
Actually I'm trying to configure a TE110P as an E1 card.
In Elastix the card was detected easily and all channels were ready to be used. this what was in
aptel.conf
--------------------------------------------------------------------------------------
# Span 1: WCT1/0 "Digium Wildcard TE110P T1/E1 Card 0" (MASTER)
span=1,1,0,ccs,hdb3,crc4
# termtype: te
bchan=1-15,17-31
dchan=16
# Global data
loadzone = us
defaultzone = us
--------------------------------------------------------------------------------------
and in zapata.conf
----------------------------------------------------------------------------------------
[trunkgroups]
[channels]
context=from-pstn
signalling=fxs_ks
rxwink=300 ; Atlas seems to use long (250ms) winks
usecallerid=yes
hidecallerid=no
callwaiting=yes
usecallingpres=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
canpark=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=no
faxdetect=incoming
echotraining=800
rxgain=0.0
txgain=0.0
callgroup=1
pickupgroup=1
;Uncomment these lines if you have problems with the disconection of your analog lines
;busydetect=yes
;busycount=3
immediate=no
#include zapata_additional.conf
#include zapata-channels.conf
-----------------------------------------------------------------------------------------------------
Then I installed Thirdlane on the same PC and replaced zapta.conf of Elastix onto Thirdlane zapta.conf but im still not able to the card on zttool!!
I don't know if there is a step by step procedure so I can make this card work on Thirdlane and use Channel to DID Mapping and everything goes easy.
--
Yousif Wali
ok well it looks like you
ok well it looks like you know too much already to be duped into a config wizard, so your going to have to make these 2 files by hand :)
your zaptel.conf appears to be a drop-in read-to-go file so put that in your /etc/ directory and stop/start zaptel. You can 'ztcfg -vv' to verify that all the channels are loading the way you want. BTW is this for a channel bank? Otherwise, Why the FXS signalling instead of a more feature rich one?
your zapata.conf file is missing some information (elastix appears to have split it among 2 other files).
If these channels are comming from a telephone company (ie from the PSTN and not a bunch of analog handsets) your context for zapata.conf is 'from-outside'. You are also missing a channel declaration to specify those channels. Have a look at your /etc/asterisk/zaptel-channels.conf file that your elastix generated. Otherwise, if you dont have access to it, try this on for size to add to the bottom of your existing config
group=1
context=from-outside
signalling=fxs_ks
callerid=asreceived
usecallerid=yes
channel => 1-15
channel => 17-31
confusion about zaptel.conf
I just read your zaptel.conf and dont think it matches with your zapata.conf. Are you sure elastix actually got it to work?
For starters your tonezone is set to US but we dont use E1's in the US.
Additionally bchan and dchan declarations are psuedo's for PRI type signalling not FXS_KS. I could help you more if you tell me what type of circuit this really is and what its connected to.
Hi Erik, Finally my TE110P
Hi Erik,
Finally my TE110P card is detected!!! What I did is I reinstalled Zaptel with the newer version (zaptel-1.4.11) of what already came with Thirdlane (zaptel-1.4.9.2) ISO Image.
Then I run kernel/xpp/utils/genzaptelconf. and my card was detected and zaptel.conf now ready to go as below:
zaptel.conf
-------------------------------------------------------------------------
# Span 1: WCT1/0 "Digium Wildcard TE110P T1/E1 Card 0" (MASTER)
span=1,1,1,ccs,hdb3
# termtype: te
bchan=1-15,17-31
dchan=16
# Global data
loadzone = us
defaultzone = us
-------------------------------------------------------------------------
I have a RED alarm on the card when I do zttool. I don't know yet what's the problem because I didn't connect the E1 line yet. I have to take the PC to my office because the E1 is there.
Erik, what do I need to do in the zapata.conf or it will be configured as I do on thirdlane GUI Channel to DID Mapping?? and what do you think is necessary for me to ask my service provider about the E1 parameters??
I'll be posting step by step installation and configuration ones I'm done just for the forum records.
regard,
--
Yousif Wali
red alarm on a T1 means loss
red alarm on a T1 means loss of signal. If you arent connected you'll get a red alarm. What sort of T1 connection is your provider giving you? PRI ISDN?
ok if you are doing PRI you
ok if you are doing PRI you dont use channel to did mapping. Your d-channel will signal what DNIS the call is destined for. Ask your provider how many digits they are outpulsing for DNIS? 4? 10? 12? This will tell you how to write your inbound patterns. Now is this the TE110P or the TE111P/TE112P if its the latter is the hardware echo cancellation module attached?
what country are you in because I really doubt your zones should be =us :)
I am thinking your zapata.conf is going to look something like:
[channels]
language=en
context=from-outside
switchtype=euroisdn
prilocaldialplan=unknown
signalling=pri_cpe
usecallerid=yes
callerid=asreceived
hidecallerid=no
callwaiting=no
usecallingpres=yes
callwaitingcallerid=yes
echocancel=512
echocancelwhenbridged=no
echotraining=no
rxgain=0.0
txgain=0.0
group = 1
channel => 1-15
channel => 17-31
if issues arrise there are other tweaks that can be switched on/off like jitter buffer, relax dtmf, echo training, gain, etc.
OK, my location is in
OK, my location is in Bahrain http://maps.google.com/maps?q=bahrain&sourceid=navclient-ff&ie=UTF-8&rl…
An I think we have exactly UK standard E1 lines.
I receive 8 digits on my ISDN line like 17 511 999.
My TE110P doesn't have echo cancellation module attached but I'm going for some advanced quad Digium card soon after I complete this test with TE110P.
--
Yousif Wali
Incoming calls working.
Finally I can receive calls from ZAP on the E1 line after I configure
zaptel.conf
---------------------------------------------------------------------
# Span 1: WCT1/0 "Digium Wildcard TE110P T1/E1 Card 0" (MASTER)
span=1,1,1,ccs,hdb3
# termtype: te
bchan=1-15,17-31
dchan=16
# Global data
loadzone = uk
defaultzone = uk
----------------------------------------------------------------------
zapatel.conf
---------------------------------------------------------------------
[channels]
language=en
context=from-outside
switchtype=euroisdn
prilocaldialplan=unknown
signalling=pri_cpe
usecallerid=yes
callerid=asreceived
hidecallerid=no
callwaiting=no
usecallingpres=yes
callwaitingcallerid=yes
echocancel=no
echocancelwhenbridged=no
echotraining=no
rxgain=0.0
txgain=0.0
group = 1
channel => 1-15
channel => 17-31
------------------------------------------------------------------------
I created a Channel to DID Mapping using Thirdlane GUI. Zap channel # 1 to DID 17511999 the main number of the E1. BTW its 10 channels E1 with 50 phone numbers.
Then in the extension 101 I added the DID 17511999.
and now I can receive calls but the two error messages below is continuously showing:
[Sep 17 00:28:56] NOTICE[5548]: chan_zap.c:8486 pri_dchannel: PRI got event: HDLC Abort (6) on Primary D-channel of span 1
[Sep 17 00:29:00] NOTICE[5548]: chan_zap.c:8486 pri_dchannel: PRI got event: HDLC Bad FCS (8) on Primary D-channel of span 1
Then I created a ZAP trunk and created an outgoing route _XXXXXXXX using the ZAP trunk to call out.
I know there is something missing in this ZAP trunk and the outgoing route.
when I call out 39991961 my mobile with the above configuration I get the long process below:
-----------------------------------------------------------------------------------------
-- Executing [39991961@from-inside:1] Macro("SIP/101-09451a80", "tl-set-variables2|from-inside-redir") in new stack
-- Executing [s@macro-tl-set-variables2:1] Set("SIP/101-09451a80", "__tenant=") in new stack
-- Executing [s@macro-tl-set-variables2:2] Set("SIP/101-09451a80", "CDR(userfield)=") in new stack
-- Executing [s@macro-tl-set-variables2:3] Set("SIP/101-09451a80", "__MOH=default") in new stack
-- Executing [s@macro-tl-set-variables2:4] GotoIf("SIP/101-09451a80", "1 ?setmoh") in new stack
-- Goto (macro-tl-set-variables2,s,6)
-- Executing [s@macro-tl-set-variables2:6] SetMusicOnHold("SIP/101-09451a80", "default") in new stack
-- Executing [s@macro-tl-set-variables2:7] Goto("SIP/101-09451a80", "from-inside-redir|39991961|1") in new stack
-- Goto (from-inside-redir,39991961,1)
== Channel 'SIP/101-09451a80' jumping out of macro 'tl-set-variables2'
-- Executing [39991961@from-inside-redir:1] Macro("SIP/101-09451a80", "tl-dialout-1-trunk|20|ZAP/out|||") in new stack
-- Executing [s@macro-tl-dialout-1-trunk:1] GotoIf("SIP/101-09451a80", "0?dial") in new stack
-- Executing [s@macro-tl-dialout-1-trunk:2] Set("SIP/101-09451a80", "__DIALED_NUMBER=39991961") in new stack
-- Executing [s@macro-tl-dialout-1-trunk:3] Macro("SIP/101-09451a80", "tl-dialout-base|20|ZAP/out|||") in new stack
-- Executing [s@macro-tl-dialout-base:1] Set("SIP/101-09451a80", "status=") in new stack
-- Executing [s@macro-tl-dialout-base:2] GotoIf("SIP/101-09451a80", "1?enabled") in new stack
-- Goto (macro-tl-dialout-base,s,5)
-- Executing [s@macro-tl-dialout-base:5] Set("SIP/101-09451a80", "i=2") in new stack
-- Executing [s@macro-tl-dialout-base:6] Macro("SIP/101-09451a80", "tl-set-myvariables") in new stack
-- Executing [s@macro-tl-set-myvariables:1] Set("SIP/101-09451a80", "MY_CHAN=101-09451a80") in new stack
-- Executing [s@macro-tl-set-myvariables:2] NoOp("SIP/101-09451a80", "XXXXCHANNEL=SIP/101-09451a80") in new stack
-- Executing [s@macro-tl-set-myvariables:3] Set("SIP/101-09451a80", "zap=0") in new stack
-- Executing [s@macro-tl-set-myvariables:4] GotoIf("SIP/101-09451a80", "1?usechannel") in new stack
-- Goto (macro-tl-set-myvariables,s,9)
-- Executing [s@macro-tl-set-myvariables:9] Set("SIP/101-09451a80", "local=0") in new stack
-- Executing [s@macro-tl-set-myvariables:10] GotoIf("SIP/101-09451a80", "1?useit") in new stack
-- Goto (macro-tl-set-myvariables,s,12)
-- Executing [s@macro-tl-set-myvariables:12] Set("SIP/101-09451a80", "__MYEXTENSION=101") in new stack
-- Executing [s@macro-tl-set-myvariables:13] Set("SIP/101-09451a80", "__MYID=101") in new stack
-- Executing [s@macro-tl-dialout-base:7] SetAMAFlags("SIP/101-09451a80", "billing") in new stack
-- Executing [s@macro-tl-dialout-base:8] Set("SIP/101-09451a80", "RECORD=") in new stack
-- Executing [s@macro-tl-dialout-base:9] GotoIf("SIP/101-09451a80", "1?done_checkrecord") in new stack
-- Goto (macro-tl-dialout-base,s,18)
-- Executing [s@macro-tl-dialout-base:18] NoOp("SIP/101-09451a80", "RECORD=") in new stack
-- Executing [s@macro-tl-dialout-base:19] NoOp("SIP/101-09451a80", "TOUCH_MONITOR=") in new stack
-- Executing [s@macro-tl-dialout-base:20] NoOp("SIP/101-09451a80", "RECORD_OPTIONS=") in new stack
-- Executing [s@macro-tl-dialout-base:21] NoOp("SIP/101-09451a80", "RECORDING_FORMAT=wav") in new stack
-- Executing [s@macro-tl-dialout-base:22] Set("SIP/101-09451a80", "CALLERID(name)=") in new stack
-- Executing [s@macro-tl-dialout-base:23] GotoIf("SIP/101-09451a80", "1?calleridallowed") in new stack
-- Goto (macro-tl-dialout-base,s,31)
-- Executing [s@macro-tl-dialout-base:31] NoOp("SIP/101-09451a80", "CLIMYID=") in new stack
-- Executing [s@macro-tl-dialout-base:32] NoOp("SIP/101-09451a80", "IMYID=") in new stack
-- Executing [s@macro-tl-dialout-base:33] Set("SIP/101-09451a80", "CLI=") in new stack
-- Executing [s@macro-tl-dialout-base:34] GotoIf("SIP/101-09451a80", "0?chkcallfwd") in new stack
-- Executing [s@macro-tl-dialout-base:35] Set("SIP/101-09451a80", "CLI=17511999") in new stack
-- Executing [s@macro-tl-dialout-base:36] GotoIf("SIP/101-09451a80", "1?chkcallfwd") in new stack
-- Goto (macro-tl-dialout-base,s,39)
-- Executing [s@macro-tl-dialout-base:39] NoOp("SIP/101-09451a80", "MYID=101") in new stack
-- Executing [s@macro-tl-dialout-base:40] NoOp("SIP/101-09451a80", "INCOMINGCLI=") in new stack
-- Executing [s@macro-tl-dialout-base:41] NoOp("SIP/101-09451a80", "CALLFWD=") in new stack
-- Executing [s@macro-tl-dialout-base:42] GotoIf("SIP/101-09451a80", "1?setcalleridasabove") in new stack
-- Goto (macro-tl-dialout-base,s,48)
-- Executing [s@macro-tl-dialout-base:48] GotoIf("SIP/101-09451a80", "0?nocallerid") in new stack
-- Executing [s@macro-tl-dialout-base:49] Set("SIP/101-09451a80", "CALLERID(num)=17511999") in new stack
-- Executing [s@macro-tl-dialout-base:50] Set("SIP/101-09451a80", "temp=") in new stack
-- Executing [s@macro-tl-dialout-base:51] GotoIf("SIP/101-09451a80", "1?onetrunk|1") in new stack
-- Goto (macro-tl-dialout-base,onetrunk,1)
-- Executing [onetrunk@macro-tl-dialout-base:1] Set("SIP/101-09451a80", "FULLNAME=ZAP/out") in new stack
-- Executing [onetrunk@macro-tl-dialout-base:2] Set("SIP/101-09451a80", "TRUNK=out") in new stack
-- Executing [onetrunk@macro-tl-dialout-base:3] GotoIf("SIP/101-09451a80", "0?failed|1") in new stack
-- Executing [onetrunk@macro-tl-dialout-base:4] Set("SIP/101-09451a80", "TRUNK_STATUS=1") in new stack
-- Executing [onetrunk@macro-tl-dialout-base:5] GotoIf("SIP/101-09451a80", "0?next|1") in new stack
-- Executing [onetrunk@macro-tl-dialout-base:6] Set("SIP/101-09451a80", "ROUTE_PREPEND=") in new stack
-- Executing [onetrunk@macro-tl-dialout-base:7] Set("SIP/101-09451a80", "ROUTE_STRIP=") in new stack
-- Executing [onetrunk@macro-tl-dialout-base:8] Set("SIP/101-09451a80", "ROUTE_OPTIONS=") in new stack
-- Executing [onetrunk@macro-tl-dialout-base:9] Set("SIP/101-09451a80", "NUMBER_TO_DIAL=39991961") in new stack
-- Executing [onetrunk@macro-tl-dialout-base:10] Set("SIP/101-09451a80", "TRUNK_DIALSTRING=") in new stack
-- Executing [onetrunk@macro-tl-dialout-base:11] Set("SIP/101-09451a80", "TRUNK_NAME=out") in new stack
-- Executing [onetrunk@macro-tl-dialout-base:12] Set("SIP/101-09451a80", "TRUNK_PROTOCOL=ZAP") in new stack
-- Executing [onetrunk@macro-tl-dialout-base:13] Set("SIP/101-09451a80", "TRUNK_STRIP=0") in new stack
-- Executing [onetrunk@macro-tl-dialout-base:14] Set("SIP/101-09451a80", "TRUNK_PREPEND=") in new stack
-- Executing [onetrunk@macro-tl-dialout-base:15] Set("SIP/101-09451a80", "CALLERID(num)=17511999") in new stack
-- Executing [onetrunk@macro-tl-dialout-base:16] GotoIf("SIP/101-09451a80", "0?dial-CUSTOM|1") in new stack
-- Executing [onetrunk@macro-tl-dialout-base:17] Goto("SIP/101-09451a80", "dial-ZAP|1") in new stack
-- Goto (macro-tl-dialout-base,dial-ZAP,1)
-- Executing [dial-ZAP@macro-tl-dialout-base:1] GotoIf("SIP/101-09451a80", "1?NoOpt") in new stack
-- Goto (macro-tl-dialout-base,dial-ZAP,4)
-- Executing [dial-ZAP@macro-tl-dialout-base:4] GotoIf("SIP/101-09451a80", "0?noarg") in new stack
-- Executing [dial-ZAP@macro-tl-dialout-base:5] Dial("SIP/101-09451a80", "ZAP/out/39991961|20") in new stack
[Aug 10 16:54:59] WARNING[6120]: chan_zap.c:7841 zt_request: Unable to determine channel for data out/39991961
[Aug 10 16:54:59] WARNING[6120]: app_dial.c:1196 dial_exec_full: Unable to create channel of type 'ZAP' (cause 0 - Unknown)
== Everyone is busy/congested at this time (1:0/0/1)
-- Executing [dial-ZAP@macro-tl-dialout-base:6] Goto("SIP/101-09451a80", "dial-CHANUNAVAIL|1") in new stack
-- Goto (macro-tl-dialout-base,dial-CHANUNAVAIL,1)
-- Executing [dial-CHANUNAVAIL@macro-tl-dialout-base:1] Goto("SIP/101-09451a80", "next|1") in new stack
-- Goto (macro-tl-dialout-base,next,1)
-- Executing [next@macro-tl-dialout-base:1] Set("SIP/101-09451a80", "i=6") in new stack
-- Executing [next@macro-tl-dialout-base:2] Goto("SIP/101-09451a80", "onetrunk|1") in new stack
-- Goto (macro-tl-dialout-base,onetrunk,1)
-- Executing [onetrunk@macro-tl-dialout-base:1] Set("SIP/101-09451a80", "FULLNAME=") in new stack
-- Executing [onetrunk@macro-tl-dialout-base:2] Set("SIP/101-09451a80", "TRUNK=") in new stack
-- Executing [onetrunk@macro-tl-dialout-base:3] GotoIf("SIP/101-09451a80", "1?failed|1") in new stack
-- Goto (macro-tl-dialout-base,failed,1)
-- Executing [failed@macro-tl-dialout-base:1] PlayTones("SIP/101-09451a80", "congestion") in new stack
-- Executing [failed@macro-tl-dialout-base:2] Congestion("SIP/101-09451a80", "10") in new stack
== Spawn extension (macro-tl-dialout-base, failed, 2) exited non-zero on 'SIP/101-09451a80' in macro 'tl-dialout-base'
== Spawn extension (macro-tl-dialout-base, failed, 2) exited non-zero on 'SIP/101-09451a80' in macro 'tl-dialout-1-trunk'
== Spawn extension (macro-tl-dialout-base, failed, 2) exited non-zero on 'SIP/101-09451a80'
---------------------------------------------------------------------------------------------
Erick can you email me on y.wali@waliit.com so I can send you screen shots if required.
Thank you for your help.
--
Yousif Wali
BTW its 10 channels E1 with
BTW its 10 channels E1 with 50 phone numbers.
if you aren't using the entire T1 then your config is wrong; its set up for the whole thing.
also if this is PRI service get rid of channel to did mapping, nothing is coming in without a DNIS.
find out exactly which channels are provisioned as a B channel right now and which channel is your D channel, its supposed to be 16 as an E1 but this is the first partial T1 ive seen for euroISDN.
it also looks like your zap trunk is wrong. You need to create a zap trunk called 'G1' and use it for your outbound route.
email is eeman at bluegrass.net
OK, B-channels are 1-10 and
OK, B-channels are 1-10 and D-channel is 16, The channels from 11-15 are not defined by the provider as they told me and channel 0 is for signaling.
I removed the channel to DID mapping and I created an Inbound Route using the pattern coming in from the line and forwarding it to the extension.
I created the ZAP trunk 'G1' and i'll use it for the outbound route.
I changed the files as below:
Zaptel.conf
--------------------------------------------------------------------------
# Span 1: WCT1/0 "Digium Wildcard TE110P T1/E1 Card 0" (MASTER)
span=1,1,1,ccs,hdb3
# termtype: te
bchan=1-10
dchan=16
# Global data
loadzone = uk
defaultzone = uk
-----------------------------------------------------------------------------
Zapata.conf
-----------------------------------------------------------------------------
[channels]
language=en
context=from-outside
switchtype=euroisdn
prilocaldialplan=unknown
signalling=pri_cpe
usecallerid=yes
callerid=asreceived
hidecallerid=no
callwaiting=no
usecallingpres=yes
callwaitingcallerid=yes
echocancel=no
echocancelwhenbridged=no
echotraining=no
rxgain=0.0
txgain=0.0
group = 1
channel => 1-10
------------------------------------------------------------------------------------
I'll connect the ISDN line later and do the testing and see how it goes.
--
Yousif Wali
It worked, I can call in and
It worked, I can call in and out but still getting these two errors:
[Sep 17 00:28:56] NOTICE[5548]: chan_zap.c:8486 pri_dchannel: PRI got event: HDLC Abort (6) on Primary D-channel of span 1
[Sep 17 00:29:00] NOTICE[5548]: chan_zap.c:8486 pri_dchannel: PRI got event: HDLC Bad FCS (8) on Primary D-channel of span 1
I think I have to change something in zaptel.conf span parameters.
--
Yousif Wali
this could be anything from
this could be anything from frame-slips to hardware to running a frame buffer on your asterisk box. The TE110P is a rather old card and subject to interrupt issues. A lot of this cleaned up when they released the TE120 and newer TE121/122's. However, your server hardware needs to support APIC and other interrupt featuring so that devices dont share interrupts.
cat /proc/interrupts
If I recall, APIC is only present in the SMP kernels.
the dual span and quad span cards support hardware hdlc which can ease this somewhat
if you are using analog zaptel cards, there is already a utility in the zaptel source
kernel/xpp/utils/genzaptelconf.
If you first 'service zaptel start' it will attempt to load all the zaptel modules, then running genzaptelconf will build the zaptel.conf file for you.
with T1 cards there are so many different options to consider, using a menu to do them doesn't save you any time over just using an editor.
if its not the zaptel.conf you are needing assistance with, but rather identifying the hardware in your machine, once the modules are loaded a 'cat /proc/zap/#' will indicate the information in that span, as will 'dmesg' immediately after loading the modules.