[Asterisk-bsd] TDM410 and zaptel

Phillip N. pneumann at gmail.com
Tue Nov 18 14:50:29 CST 2008


Hello all!.

I wonder if anyone uses a TDM410 card over FreeBSD 7.0, becouse im not
having much luck.
Im using zaptel ng branch of gonzo, as from 06 of sept, with latest
version of ports installed.

Dont really know if its a problem of the driver or configuration,
becouse ive never configured a 4 port analog card before.

Attached are the files im using for configuration.

When calling out:

*CLI>     -- Executing [5555555 at DLPN_Plan1:1] Macro("SIP/6000-0831a000",
"trunkdial-failover-0.3|Zap/g1/5555555||trunk_1|trunk_1") in new stack
    -- Executing [s at macro-trunkdial-failover-0.3:1]
Set("SIP/6000-0831a000", "CALLERID(num)=") in new stack
    -- Executing [s at macro-trunkdial-failover-0.3:2]
GotoIf("SIP/6000-0831a000", "0?1-dial|1") in new stack
    -- Executing [s at macro-trunkdial-failover-0.3:3]
Set("SIP/6000-0831a000", "CALLERID(all)=") in new stack
    -- Executing [s at macro-trunkdial-failover-0.3:4]
Goto("SIP/6000-0831a000", "1-dial|1") in new stack
    -- Goto (macro-trunkdial-failover-0.3,1-dial,1)
    -- Executing [1-dial at macro-trunkdial-failover-0.3:1]
Dial("SIP/6000-0831a000", "Zap/g1/5555555") in new stack
    -- Called g1/6787000
    -- Zap/1-1 answered SIP/6000-0831a000

----> The call stays here and the number is not getting called.

When i call the line,i see not activity in asterisk log neither.


*CLI> zap show channels
   Chan Extension  Context         Language   MOH Interpret       
 pseudo            DID_trunk_4                default             
      1            DID_trunk_1                default             
      2            DID_trunk_2                default             
      3            DID_trunk_3                default             
      4            DID_trunk_4                default             



Any tips welcome!
Thanks!


-------------- next part --------------


[root at pcbsd /usr/local/etc/asterisk]# grep -v "^;" zapata.conf



[trunkgroups]

[channels]
context=default
switchtype=national
signalling=fxs_ks
rxwink=300		; Atlas seems to use long (250ms) winks
				; where the ring cadence is changed *after* the callerid spill.
usecallerid=yes
hidecallerid=no
callwaiting=yes
usecallingpres=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
canpark=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=yes
rxgain=0.0
txgain=0.0
group=0   ;estaba en 1!!
callgroup=1
pickupgroup=1

immediate=no
                              ; ZAP channel. Defaults to "no". An enabled jitterbuffer will
                              ; be used only if the sending side can create and the receiving
                              ; side can not accept jitter. The ZAP channel can't accept jitter,
                              ; thus an enabled jitterbuffer on the receive ZAP side will always
                              ; be used if the sending side can create jitter.


                              ; resynchronized. Useful to improve the quality of the voice, with
                              ; big jumps in/broken timestamps, usually sent from exotic devices
                              ; and programs. Defaults to 1000.

                              ; channel. Two implementations are currently available - "fixed"
                              ; (with size always equals to jbmax-size) and "adaptive" (with
                              ; variable size, actually the new jb of IAX2). Defaults to fixed.







context=DID_trunk_1
channel => 1

context=DID_trunk_2
channel => 2

context=DID_trunk_3
channel => 3

context=DID_trunk_4
channel => 4
[root at pcbsd /usr/local/etc/asterisk]# grep -v "^;" ../zaptel.conf|grep -v "#"
fxsks = 1,2,3,4
loadzone = cl
defaultzone = cl
[root at pcbsd /usr/local/etc/asterisk]# grep -v "^;" extensions.conf |grep -v "#"
[general]
static = yes
writeprotect = no
clearglobalvars = no
[globals]
CONSOLE = Console/dsp  ; Console interface for demo
IAXINFO = guest  ; IAXtel username/password
TRUNK = Zap/G2  ; Trunk interface
TRUNKMSD = 1  ; MSD digits to strip (usually 1 or 0)
FEATURES = 
DIALOPTIONS = 
RINGTIME = 20
FOLLOWMEOPTIONS = 
trunk_1 = Zap/g1
trunk_2 = Zap/g2
trunk_3 = Zap/g3
trunk_4 = Zap/g4
timeinterval_Semana diurno = 08:00-18:30|mon-fri|*|*
[dundi-e164-canonical]
[dundi-e164-customers]
[dundi-e164-via-pstn]
[dundi-e164-local]
include => dundi-e164-canonical
include => dundi-e164-customers
include => dundi-e164-via-pstn

[dundi-e164-switch]
switch => DUNDi/e164

[dundi-e164-lookup]
include => dundi-e164-local
include => dundi-e164-switch
[macro-dundi-e164]
exten => s,1,Goto(${ARG1},1)
include => dundi-e164-lookup
[iaxtel700]
exten => _91700XXXXXXX,1,Dial(IAX2/${GLOBAL(IAXINFO)}@iaxtel.com/${EXTEN:1}@iaxtel)
[iaxprovider]
[trunkint]
exten => _9011.,1,Macro(dundi-e164,${EXTEN:4})
exten => _9011.,n,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})

[trunkld]
exten => _91NXXNXXXXXX,1,Macro(dundi-e164,${EXTEN:1})
exten => _91NXXNXXXXXX,n,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})

[trunklocal]
exten => _9NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})

[trunktollfree]
exten => _91800NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
exten => _91888NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
exten => _91877NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
exten => _91866NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})

[international]
ignorepat => 9
include => longdistance
include => trunkint

[longdistance]
ignorepat => 9
include => local
include => trunkld

[local]
ignorepat => 9
include => default
include => trunklocal
include => iaxtel700
include => trunktollfree
include => iaxprovider
include => parkedcalls
[macro-trunkdial]
exten => s,1,Dial(${ARG1})
exten => s,n,Goto(s-${DIALSTATUS},1)
exten => s-NOANSWER,1,Hangup
exten => s-BUSY,1,Hangup
exten => _s-.,1,NoOp

[macro-stdPrivacyexten];
exten => s,1,Dial(${ARG2},20|p)  ; Ring the interface, 20 seconds maximum, call screening 
exten => s,2,Goto(s-${DIALSTATUS},1)  ; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
exten => s-NOANSWER,1,Voicemail(${ARG1},u)  ; If unavailable, send to voicemail w/ unavail announce
exten => s-BUSY,1,Voicemail(${ARG1},b)  ; If busy, send to voicemail w/ busy announce
exten => s-DONTCALL,1,Goto(${ARG3},s,1)  ; Callee chose to send this call to a polite "Don't call again" script.
exten => s-TORTURE,1,Goto(${ARG4},s,1)  ; Callee chose to send this call to a telemarketer torture script.
exten => _s-.,1,Goto(s-NOANSWER,1)  ; Treat anything else as no answer
exten => a,1,VoicemailMain(${ARG1})  ; If they press *, send the user into VoicemailMain

[macro-page];
exten => s,1,ChanIsAvail(${ARG1}|js)  ; j is for Jump and s is for ANY call
exten => s,n,GoToIf([${AVAILSTATUS} = "1"]?autoanswer:fail)
exten => s,n(autoanswer),Set(_ALERT_INFO="RA")  ; This is for the PolyComs
exten => s,n,SIPAddHeader(Call-Info: Answer-After=0)  ; This is for the Grandstream, Snoms, and Others
exten => s,n,NoOp()  ; Add others here and Post on the Wiki!!!!
exten => s,n,Dial(${ARG1}||)
exten => s,n(fail),Hangup

[demo]
exten => s,1,Wait(1)  ; Wait a second, just for fun
exten => s,n,Answer  ; Answer the line
exten => s,n,Set(TIMEOUT(digit)=5)  ; Set Digit Timeout to 5 seconds
exten => s,n,Set(TIMEOUT(response)=10)  ; Set Response Timeout to 10 seconds
exten => s,n(restart),BackGround(demo-congrats)  ; Play a congratulatory message
exten => s,n(instruct),BackGround(demo-instruct)  ; Play some instructions
exten => s,n,WaitExten  ; Wait for an extension to be dialed.
exten => 2,1,BackGround(demo-moreinfo)  ; Give some more information.
exten => 2,n,Goto(s,instruct)
exten => 3,1,Set(LANGUAGE()=fr)  ; Set language to french
exten => 3,n,Goto(s,restart)  ; Start with the congratulations
exten => 1000,1,Goto(default,s,1)
exten => 1234,1,Playback(transfer,skip)  ; "Please hold while..." 
exten => 1234,n,Macro(stdexten,1234,${GLOBAL(CONSOLE)})
exten => 1235,1,Voicemail(1234,u)  ; Right to voicemail
exten => 1236,1,Dial(Console/dsp)  ; Ring forever
exten => 1236,n,Voicemail(1234,b)  ; Unless busy
exten => i,1,Playback(invalid)  ; "That's not valid, try again"
exten => 500,1,Playback(demo-abouttotry)  ; Let them know what's going on
exten => 500,n,Dial(IAX2/guest at pbx.digium.com/s at default)  ; Call the Asterisk demo
exten => 500,n,Playback(demo-nogo)  ; Couldn't connect to the demo site
exten => 500,n,Goto(s,6)  ; Return to the start over message.
exten => 600,1,Playback(demo-echotest)  ; Let them know what's going on
exten => 600,n,Echo  ; Do the echo test
exten => 600,n,Playback(demo-echodone)  ; Let them know it's over
exten => 600,n,Goto(s,6)  ; Start over
exten => 76245,1,Macro(page,SIP/Grandstream1)
exten => _7XXX,1,Macro(page,SIP/${EXTEN})
exten => 7999,1,Set(TIMEOUT(absolute)=60)
exten => 7999,2,Page(Local/Grandstream1 at page&Local/Xlite1 at page&Local/1234 at page/n|d)
exten => 8500,1,VoicemailMain
exten => 8500,n,Goto(s,6)
[page]
exten => _X.,1,Macro(page,SIP/${EXTEN})
[default]
include => demo

[macro-stdexten]
exten = s,1,Set(__DYNAMIC_FEATURES=${FEATURES})
exten = s,2,GotoIf($[${FOLLOWME_${ARG1}} = 1]?5:3)
exten = s,3,Dial(${ARG2},${RINGTIME},${DIALOPTIONS})
exten = s,4,Goto(s-${DIALSTATUS},1)
exten = s,5,Macro(stdexten-followme,${ARG1},${ARG2})
exten = s-NOANSWER,1,Voicemail(${ARG1},u)
exten = s-NOANSWER,2,Goto(default,s,1)
exten = s-BUSY,1,Voicemail(${ARG1},b)
exten = s-BUSY,2,Goto(default,s,1)
exten = _s-.,1,Goto(s-NOANSWER,1)
exten = a,1,VoicemailMain(${ARG1})

[macro-stdexten-followme]
exten = s,1,Dial(${ARG2},${RINGTIME},${DIALOPTIONS})
exten = s,2,Followme(${ARG1},${FOLLOWMEOPTIONS})
exten = s,3,Voicemail(${ARG1},u)
exten = s-NOANSWER,1,Voicemail(${ARG1},u)
exten = s-BUSY,1,Voicemail(${ARG1},b)
exten = s-BUSY,2,Goto(default,s,1)
exten = _s-.,1,Goto(s-NOANSWER,1)
exten = a,1,VoicemailMain(${ARG1})

[conferences]

[ringgroups]

[queues]

[voicemenus]

[voicemailgroups]

[directory]

[asterisk_guitools]
exten = executecommand,1,System(${command})
exten = executecommand,n,Hangup()
exten = record_vmenu,1,Answer
exten = record_vmenu,n,Playback(vm-intro)
exten = record_vmenu,n,Record(${var1})
exten = record_vmenu,n,Playback(vm-saved)
exten = record_vmenu,n,Playback(vm-goodbye)
exten = record_vmenu,n,Hangup
exten = play_file,1,Answer
exten = play_file,n,Playback(${var1})
exten = play_file,n,Hangup

[macro-trunkdial-failover-0.3]
exten = s,1,Set(CALLERID(num)=${IF($[${LEN(${CID_${CALLERID(num)}})} > 2]?${CID_${CALLERID(num)}}:)})
exten = s,n,GotoIf($[${LEN(${CALLERID(num)})} > 6]?1-dial,1)
exten = s,n,Set(CALLERID(all)=${IF($[${LEN(${CID_${ARG3}})} > 6]?${CID_${ARG3}}:${GLOBAL_OUTBOUNDCID})})
exten = s,n,Goto(1-dial,1)
exten = 1-dial,1,Dial(${ARG1})
exten = 1-dial,n,Gotoif(${LEN(${ARG2})} > 0 ?1-${DIALSTATUS},1:1-out,1)
exten = 1-CHANUNAVAIL,1,Dial(${ARG2})
exten = 1-CHANUNAVAIL,n,Hangup()
exten = 1-CONGESTION,1,Dial(${ARG2})
exten = 1-CONGESTION,n,Hangup()
exten = 1-out,1,Hangup()

[DID_trunk_1]
include = DID_trunk_1_default

[DID_trunk_1_default]
exten = s,1,ExecIf($[ "${CALLERID(num)}"="" ],SetCallerPres,unavailable)
exten = s,2,ExecIf($[ "${CALLERID(num)}"="" ],Set,CALLERID(all)=unknown <0000000>)
exten = s,3,Goto(default|6000|1)

[DID_trunk_2]
include = DID_trunk_2_default

[DID_trunk_2_default]
exten = s,1,ExecIf($[ "${CALLERID(num)}"="" ],SetCallerPres,unavailable)
exten = s,2,ExecIf($[ "${CALLERID(num)}"="" ],Set,CALLERID(all)=unknown <0000000>)
exten = s,3,Goto(default|6000|1)

[DID_trunk_3]
include = DID_trunk_3_default

[DID_trunk_3_default]
exten = s,1,ExecIf($[ "${CALLERID(num)}"="" ],SetCallerPres,unavailable)
exten = s,2,ExecIf($[ "${CALLERID(num)}"="" ],Set,CALLERID(all)=unknown <0000000>)
exten = s,3,Goto(default|6000|1)

[DID_trunk_4]
include = DID_trunk_4_default

[DID_trunk_4_default]
exten = s,1,ExecIf($[ "${CALLERID(num)}"="" ],SetCallerPres,unavailable)
exten = s,2,ExecIf($[ "${CALLERID(num)}"="" ],Set,CALLERID(all)=unknown <0000000>)
exten = s,3,Goto(default|6000|1)

[CallingRule_Celulares]
exten = _9xxxxxxx,1,Macro(trunkdial-failover-0.3,${trunk_4}/${EXTEN:0},,trunk_4,trunk_4)

[CallingRule_Normal1]
exten = _xxxxxxx,1,Macro(trunkdial-failover-0.3,${trunk_1}/${EXTEN:0},,trunk_1,trunk_1)

[DLPN_Plan1]
include = CallingRule_Celulares
include = CallingRule_Normal1
include = default
include = parkedcalls
include = conferences
include = ringgroups
include = voicemenus
include = queues
include = voicemailgroups
include = directory
[root at pcbsd /usr/local/etc/asterisk]# 



More information about the Asterisk-BSD mailing list