rendered paste body;;simplified internals, yay
[internals]
; internal extensions
exten => _6[1-2]XX,1,Dial(${PBX}/${EXTEN},${DIALTIME})
exten => _6[1-2]XX,2,Hangup
; 8+10digit dialing
exten => _8NXXNXXXXXX,1,Goto(internals,${EXTEN:1},1)
; 8+long distance
exten => _81NXXNXXXXXX,1,Goto(internals,${EXTEN:2},1)
; long distance, without 8
exten => _1NXXNXXXXXX,1,Dial(${PSTN}/${EXTEN},${DIALTIME})
exten => _1NXXNXXXXXX,2,Hangup
; check 613 long distance or local
exten => _613ZXXXXXX,1,agi,local.php
exten => _613ZXXXXXX,2,GotoIf($["${local}" = "1"]?10)
;;; long distance
exten => _613ZXXXXXX,3,Dial(${PSTN}/1${EXTEN},${DIALTIME})
;;; local
exten => _613ZXXXXXX,10,Dial(${PSTN}/${EXTEN})
; check 819 long distance or local
exten => _819ZXXXXXX,1,agi,local.php
exten => _819ZXXXXXX,2,GotoIf($["${local}" = "1"]?10)
;;;; long distance
exten => _819ZXXXXXX,3,Dial(${PSTN}/1${EXTEN},${DIALTIME})
;;; local
exten => _819ZXXXXXX,10,Dial(${PSTN}/${EXTEN},${DIALTIME})
; trap out of area numbers dialed without 1, this can be a bad thing.
exten => _NXXNXXXXXX,1,Goto(internals,1${EXTEN},1)
[clicktotalk]
exten=> s,1,Answer
exten=> s,2,SetLanguage(${lang})
exten=> s,3,Background(cttconnect)
exten=> s,4,Noop(${cttnum})
exten=> s,5,Dial(Local/${cttnum}@internals/n,30,r)
exten=> s,6,Hangup
exten=> s,106,Hangup
exten=> h,1,Hangup