Cool. I used to run Asterisk 1.2 on my Buffalo NAS (hacked with debian) and initially ran it without FreePBX to save on Memory usage.
That being said, I ended up scripting alot of functionality directly in Asterisk Dial-plans. So I dug up the source and pasted it here. You guys might find some of the calling features handy if you want to put a slimmer PBX in your DockStars. I used this with Unlimitel.ca, so if you are a customer, you can just populate the variables at the top

Notice as well I had this set with both my wifes Cell phone, and My Cell #, so you can utilize the call escalation feature also scripted here. Perhaps this will inspire some DockStar Asterisk guys. It worked pretty well.
NOTE: This is using an IAX connection to my provider, not SIP ....But again, easy to modify!
Enjoy!
[general]
static=yes
writeprotect=no
autofallthrough=no ; Screws up my menus if its set to yes
clearglobalvars=no
priorityjumping=no
[globals]
;Unlimitel.ca Phone Service Account Variables
;********************************************
UNLNUM=XXXXXXXXX; Account Number with Unlimitel.ca Account
UNLPASS=YYYYYYY; Password for account
;Cell Phone Numbers
;******************
GREGCELL=AAAAAAAA
CRYSTALCELL=BBBBBBBBB
[unlimitel-out]
exten => _NXXNXXXXXX,1,SetAccount(${UNLNUM})
exten => _NXXNXXXXXX,2,Set(CALLERID(all)=Your CallerID Name Here <${UNLNUM}>)
exten => _NXXNXXXXXX,3,Dial(IAX2/${UNLNUM}:${UNLPASS}@iax02.unlimitel.ca/${EXTEN})
exten => _NXXNXXXXXX,4,Congestion
exten => _1800NXXXXXX,1,SetAccount(${UNLNUM})
exten => _1800NXXXXXX,2,Set(CALLERID(all)=Your CallerID Name Here <${UNLNUM}>)
exten => _1800NXXXXXX,3,Dial(IAX2/${UNLNUM}:${UNLPASS}@iax02.unlimitel.ca/${EXTEN})
exten => _1800NXXXXXX,4,Congestion
exten => _1888NXXXXXX,1,SetAccount(${UNLNUM})
exten => _1888NXXXXXX,2,Set(CALLERID(all)=Your CallerID Name Here <${UNLNUM}>)
exten => _1888NXXXXXX,3,Dial(IAX2/${UNLNUM}:${UNLPASS}@iax02.unlimitel.ca/${EXTEN})
exten => _1888NXXXXXX,4,Congestion
exten => _1877NXXXXXX,1,SetAccount(${UNLNUM})
exten => _1877NXXXXXX,2,Set(CALLERID(all)=Your CallerID Name Here <${UNLNUM}>)
exten => _1877NXXXXXX,3,Dial(IAX2/${UNLNUM}:${UNLPASS}@iax02.unlimitel.ca/${EXTEN})
exten => _1877NXXXXXX,4,Congestion
exten => _1866NXXXXXX,1,SetAccount(${UNLNUM})
exten => _1866NXXXXXX,2,Set(CALLERID(all)=Your CallerID Name Here <${UNLNUM}>)
exten => _1866NXXXXXX,3,Dial(IAX2/${UNLNUM}:${UNLPASS}@iax02.unlimitel.ca/${EXTEN})
exten => _1866NXXXXXX,4,Congestion
exten => _1NXXNXXXXXX,1,SetAccount(${UNLNUM})
exten => _1NXXNXXXXXX,2,Set(CALLERID(all)=Your CallerID Name Here <${UNLNUM}>)
exten => _1NXXNXXXXXX,3,Dial(IAX2/${UNLNUM}:${UNLPASS}@iax02.unlimitel.ca/${EXTEN:1})
exten => _1NXXNXXXXXX,4,Congestion
exten => _911,1,SetAccount(${UNLNUM})
exten => _911,2,Set(CALLERID(all)=Your CallerID Name Here <${UNLNUM}>)
exten => _911,3,Dial(IAX2/${UNLNUM}:${UNLPASS}@iax02.unlimitel.ca/${EXTEN},30,r)
exten => _911,4,Playback(cannot-complete-network-error)
[default]
;Default Dialing Stuff Here
[local_phone]
;Internal Phones in our house use this Dial Plan...
include => parkedcalls
include => unlimitel-out
; **** Internal Features Below ****
; Dialling 666 on the handset connects to the voicemail box
exten => 666,1,VoiceMailMain(s3000)
; Test VoiceMail internally - Leave message
exten => 667,1,VoiceMail(u3000)
; Playback Monkeys screaming test
exten => 6665397,1,Playback(tt-monkeys)
exten => 6665397,2,Hangup
; Test MOH
exten => 111,1,Answer
exten => 111,2,SetMusicOnHold(default)
exten => 111,3,WaitMusicOnHold(240)
exten => 111,4,Hangup
;Random Voice Prompts
exten => 112,1,Answer
exten => 112,2,SetMusicOnHold(apeshit)
exten => 112,3,WaitMusicOnHold(240)
exten => 112,4,Hangup
; Test Call Block Message
exten => 5150,1,Answer
exten => 5150,2,Goto(incoming,black,1)
;Dial GXP-2000 Handset
exten => 3001,1,Dial(SIP/3001,20,rth)
exten => 3001,2,Hangup()
;Dial Cordless Phones
exten => 3000,1,Dial(SIP/3000,20,rth)
exten => 3000,2,Hangup()
;Dial Gregs Cell phone as an Extension
exten => 3002,1,SetCallerID(${UNLNUM})
exten => 3002,2,Dial(IAX2/${UNLNUM}:${UNLPASS}@iax02.unlimitel.ca/${GREGCELL},30,rth)
exten => 3002,3,Hangup()
;Dial Crystals Cell phone as an Extension
exten => 3003,1,SetCallerID(${UNLNUM})
exten => 3003,2,Dial(IAX2/${UNLNUM}:${UNLPASS}@iax02.unlimitel.ca/${CRYSTALCELL},30,rth)
exten => 3003,3,Hangup()
;Dial The Automated Operator - Have to write this code yet
exten => 0,1,Answer
exten => 0,2,Playback(unavailable)
exten => 0,3,Playback(goodbye)
exten => 0,4,Hangup()
;Dial All Phones
exten => 999,1,SetCallerID(${UNLNUM})
exten => 999,2,Dial(IAX2/${UNLNUM}:${UNLPASS}@iax02.unlimitel.ca/${CRYSTALCELL}&IAX2/${UNLNUM}:${UNLPASS}@iax02.unlimitel.ca/${GREGCELL}&SIP/3000&SIP/3001,30,rth)
exten => 999,3,Hangup()
;Simulate Incoming call(s)
exten => 1234,1,Goto(ringphones,9,6)
;Caller ID / Caller Blacklist / Blocker
exten => *69,1,Answer
exten => *69,2,Wait(1)
exten => *69,3,Set(number=${DB(lastcallerid/number)})
exten => *69,4,GotoIf($["${number}"=""]?104,1)
exten => *69,5,Playback(privacy-last-caller-was)
exten => *69,6,SayDigits(${number})
exten => *69,7,Playback(press-5)
exten => *69,8,Playback(privacy-to-blacklist-last-caller)
exten => *69,9,Playback(or)
exten => *69,10,Playback(please-try-again-later)
exten => 5,1,DBput(blacklist/${number}=1)
exten => 5,2,Playback(privacy-blacklisted)
exten => 5,3,Wait,1
exten => 5,4,PlayBack(goodbye)
exten => 5,5,Hangup
exten => *69,104,Playback(unidentified-no-callback)
exten => *69,106,Hangup
exten => t,1,Playback(goodbye) ; No selection made in 30 seconds, hangup caller
exten => t,2,Hangup
[incoming]
;Route All calling sources into Main Routine
exten => 5551236666,1,Goto(s,1) ; Route Unlimitel.ca Calls into system, screening for spam (your DID # here)
; All outside callers Come in via this dialplan. We send them to the internal phones after a short fake
; ringing delay. If someone presses the * key during that time, they get the backdoor menu to get voicemail
; remotely, as well as internal dialtone and other handy-dandy features.
exten => s,1,Answer ; Pickup New call
exten => s,2,LookupBlacklist() ; Delay 1 Second to allow for stuff
exten => s,3,GotoIf($["${LOOKUPBLSTATUS}" = "FOUND"]?black,1) ;Caller is blacklisted, send 'em to hell
exten => s,4,GotoIf($["${CALLERIDNUM:0:9}" = "anonymous"]?8) ;Anon Caller, Send to voicemail
exten => s,5,GotoIf($["${CALLERIDNUM:0:9}" = ""]?8) ;Empty Caller-ID, Send to Voicemail
exten => s,6,Set(DB(lastcallerid/number)=${CALLERIDNUM}) ;Note calling number for usage with *69
exten => s,7,Goto(11) ; Caller ID Valid, Pass them off for Lookup
;
exten => s,8,Zapateller() ; Zap Telemarketing Autodiallers with no valid callerid
exten => s,9,Goto(ringphones,_1,1) ; Send the bad person right to voicemail, FUCK'em
;
exten => s,10,Playtones(ring) ; Fake ringing during backdoor menu 'window' of time
;
;exten => s,11,AGI(callerid_shell.agi|${CALLERIDNUM})
;exten => s,12,NoOp(AGI Returned ${lookupname})
;exten => s,13,Set(CALLERID(name)=${lookupname})
exten => s,11,NoOp()
exten => s,12,NoOp()
exten => s,13,NoOp()
;
exten => s,14,ResponseTimeout(1) ; Allow delay for Backdoor selection
exten => s,15,DigitTimeout(1) ; Limit Keypress limit to 1 sec
;
exten => *,1,Goto(backdoor,*,1) ; Jump to Backdoor menu!
;
exten => t,1,Goto(ringphones,9,1) ; Jump to the Call Ringing Routine, no selectio made treat it as normal call
;
exten => i,1,Goto(ringphonest,9,1) ; Invalid keypress, bypass the delay, and send call to phones
exten => black,1,Zapateller() ; This caller is blacklisted. Fuck them and disconnect.
exten => black,n,Playback(go-away1)
exten => black,n,Playback(go-away2)
exten => black,n,Playback(privacy-you-are-blacklisted)
exten => black,n,Playback(privacy-stop-calling-not-welcome)
exten => black,n,Playback(thank-you-cooperation)
exten => black,n,Hangup()
[ringphones]
; Pass the call inside the house to the home phones
; If nobody answers, offer to send the call to voicemail or our cell phones
; If no call is answered via the cell phones, have it terminate to voicemail
exten => 9,1,NoOp()
exten => 9,2,NoOp()
exten => 9,3,StopPlaytones
exten => 9,4,Dial(SIP/3000&SIP/3001,20,rth) ; Pass the call to phones in house
exten => 9,5,ResponseTimeout(5)
exten => 9,6,Background(press-1)
exten => 9,7,Background(T-to-leave-msg)
exten => 9,8,Background(press-2)
exten => 9,9,Background(for)
exten => 9,10,Background(emergencycallfwd)
exten => 9,11,Background(press-3)
exten => 9,12,Background(to)
exten => 9,13,Background(ringphonesagain)
;
exten => _1,1,VoiceMail(u3000) ; They asked to leave a message, send them to the voicemail routine
exten => _1,2,Playback(goodbye) ; Say goodbye
exten => _1,3,Hangup ; Close circuit, end call. Doom!
;
exten => _2,1,Playback(pls-wait-connect-call) ; They have asked to try our cell phones, tell them to hang on
exten => _2,2,Setvar(NewCaller=${CALLERIDNUM}) ; We'll pass on their callerid info when we call both our phones
exten => _2,3,SetCIDNum(${CALLERIDNUM}) ; Grab their Number to spoof unto our cells
exten => _2,4,SetCIDName(${CALLERIDNAME}) ; Grab their 'name' from the phone company to spoof to our cells
exten => _2,5,Dial(IAX2/${UNLNUM}:${UNLPASS}@iax02.unlimitel.ca/${GREGCELL}&IAX2/${UNLNUM}:${UNLPASS}@iax02.unlimitel.ca/${CRYSTALCELL},30,rth)
exten => _2,6,SetCIDNum(${NewCaller})
exten => _2,7,Playback(sorry)
exten => _2,8,Playback(number-not-answering)
exten => _2,9,Goto(9,5) ; Give up and send them to the main options menu again, we didn't answer our cells
;
exten => _3,1,Goto(ringphones,9,4) ; Ring the Home Phones once more...
;
exten => *,1,Goto(backdoor,*,1) ; Provide Backdoor menu option here as well...
;
exten => t,1,Goto(_1,1) ; No selection made, send the caller to Voicemail - screw 'em
;
exten => i,1,Playback(wrong-try-again-smarty)
exten => i,2,Goto(9,7) ; They pressed an invalid key, send them back to the menu
;
[backdoor]
;Menu accesable from outside world to users with password - Provides Voicemail/DISA etc
exten => *,1,StopPlaytones
exten => *,2,Authenticate(1234,a) ; Ask for access password (yes the password is 1234, ensure you change this)
exten => *,3,Playback(pin-number-accepted) ; We're in
exten => *,4,Playback(main-menu) ; MAIN MENU prompts
exten => *,5,ResponseTimeout(30)
exten => *,6,Background(press-1)
exten => *,7,Background(to-collect-voicemail)
exten => *,8,Background(press-2)
exten => *,9,Background(for)
exten => *,10,Background(system)
;
exten => _1,1,VoiceMailMain(s3000) ; Link caller to voicemail system box
exten => _1,2,Goto(*,6)
;
exten => _2,1,DigitTimeout(5) ; Provide remote system dialtone access / DISA dialing
exten => _2,2,Playback(all-your-base)
exten => _2,3,DISA(no-password,local_phone)
;
exten => t,1,Playback(goodbye) ; No selection made in 30 seconds, hangup caller
exten => t,2,Hangup
;
exten => i,1,Goto(*,6) ; Repeate menu on bad selection