All pastes #750728 Raw Edit

Miscellany

public text v1 · immutable
#750728 ·published 2007-10-26 18:51 UTC
rendered paste body
Admittedly, I'm using freepbx...it just handles most of the stuff quite intelligently.
This is a nuvox trunk, and it worked before with these settings, over an E&M Wink trunk.  Now we're using a PRI (which we're also using just fine at other locations), and the dialed DID digits (last 4) don't seem to be being passed...how that even works, I don't know.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pbx01*CLI>
    -- Going to extension s|1 because of immediate=yes
    -- Accepting call from '4044836294' to 's' on channel 0/1, span 1
    -- Executing NoOp("Zap/1-1", "Entering from-zaptel with DID == ") in new stack
    -- Executing Ringing("Zap/1-1", "") in new stack
    -- Executing Set("Zap/1-1", "DID=s") in new stack
    -- Executing NoOp("Zap/1-1", "DID is now s") in new stack
    -- Executing GotoIf("Zap/1-1", "1?zapok:notzap") in new stack
    -- Goto (from-zaptel,s,8)
    -- Executing NoOp("Zap/1-1", "Is a Zaptel Channel") in new stack
    -- Executing Set("Zap/1-1", "CHAN=1-1") in new stack
    -- Executing Set("Zap/1-1", "CHAN=1") in new stack
    -- Executing Macro("Zap/1-1", "from-zaptel-1|s|1") in new stack
    -- Executing NoOp("Zap/1-1", "Returned from Macro from-zaptel-1") in new stack
    -- Executing Goto("Zap/1-1", "from-pstn|s|1") in new stack
    -- Goto (from-pstn,s,1)
    ...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The above should be getting $EXTEN=2294, and act accordingly.  The corresponding code:
[from-zaptel]
exten => _X.,1,Set(DID=${EXTEN})
exten => _X.,n,Goto(s,1)
exten => s,1,NoOp(Entering from-zaptel with DID == ${DID})
; Some trunks _require_ a RINGING be sent before an Answer.
exten => s,n,Ringing()
; If ($did == "") { $did = "s"; }
exten => s,n,Set(DID=${IF($["${DID}"= ""]?s:${DID})})
exten => s,n,NoOp(DID is now ${DID})
exten => s,n,GotoIf($["${CHANNEL:0:3}"="Zap"]?zapok:notzap)
exten => s,n(notzap),Goto(from-pstn,${DID},1)
; If there's no ext-did,s,1, that means there's not a no did/no cid route. Hangup.
exten => s,n,Macro(hangup)
exten => s,n(zapok),NoOp(Is a Zaptel Channel)
exten => s,n,Set(CHAN=${CHANNEL:4})
exten => s,n,Set(CHAN=${CUT(CHAN,-,1)})
exten => s,n,Macro(from-zaptel-${CHAN},${DID},1)
; If nothing there, then treat it as a DID
exten => s,n,NoOp(Returned from Macro from-zaptel-${CHAN})
exten => s,n,Goto(from-pstn,${DID},1)
exten => fax,1,Goto(ext-fax,in_fax,1)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/etc/zaptel.conf : 
loadzone    = us
defaultzone = us
span        = 1,1,0,esf,b8zs
bchan       = 1-3
dchan       = 24
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/etc/asterisk/zapata.conf : 
[channels]
language              =  en
echocancel            =  yes
echocancelwhenbridged =  no
echotraining          =  800
faxdetect             =  both
switchtype            =  national
callerid              =  asreceived
signalling            =  pri_cpe
context               =  from-zaptel
immediate             =  yes
group                 =  0
channel               => 1-3