;;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