diff --git a/configs/extensions.conf.sample b/configs/extensions.conf.sample
index e654c45970217c13c212444e94ab3606ae2e3623..0921effcf5ebdbd4de2275fcf336d9cc7194a076 100755
--- a/configs/extensions.conf.sample
+++ b/configs/extensions.conf.sample
@@ -9,110 +9,184 @@
 ;
 ; If static is set to no, or omitted, then the pbx_config will rewrite
 ; this file when extensions are modified.  Remember that all comments
-; made in the file will be lost when that happens.
+; made in the file will be lost when that happens. 
+;
+; XXX Not yet implemented XXX
 ;
 static=yes
 
 ; Remote things always ring all phones first.
-[remote]
-exten=s,1,Dial,AdtranVoFR/4200&AdtranVoFR/4151&AdtranVoFR/4300|15
-exten=s,2,Goto,default|s|2
+;[remote]
+;exten=s,1,Dial,AdtranVoFR/4200&AdtranVoFR/4151&AdtranVoFR/4300|15
+;exten=s,2,Goto,default|s|2
 
 ; Local stuff
-[local]
-exten=s,1,Goto,defaults|s|2
+;[local]
+;exten=s,1,Goto,defaults|s|2
 ; Special extension for local phone numbers, long distance, etc, going
 ; out via the Frame Relay interface.  Patterns are prefixed with "_", which
 ; is ignored.
-exten=_9NXXXXXX,1,Dial,AdtranVoFR/BYEXTENSION
-exten=_91NXXNXXXXXX,1,Dial,AdtranVoFR/BYEXTENSION
-exten=_9911,1,Dial,AdtranVoFR/BYEXTENSION
+;exten=_9NXXXXXX,1,Dial,AdtranVoFR/BYEXTENSION
+;exten=_91NXXNXXXXXX,1,Dial,AdtranVoFR/BYEXTENSION
+;exten=_9911,1,Dial,AdtranVoFR/BYEXTENSION
 
 [default]
-exten=s,1,Wait,0
-exten=s,2,Answer
-exten=s,3,DigitTimeout,5
-exten=s,4,ResponseTimeout,10
-exten=s,5,BackGround,welcome
-exten=*,1,Directory,default
-exten=*,2,Goto,s|4
-exten=#,1,Playback,goodbye
-exten=#,2,Hangup
-exten=100,1,Goto,other|s|1
-exten=200,1,Intercom
-exten=400,1,MP3Player,song8.mp3
-exten=401,1,MP3Player,sample.mp3
-exten=402,1,MP3Player,sunscreen.mp3
-exten=403,1,MP3Player,http://trode.vergenet.net:8000
-exten=404,1,MP3Player,http://216.32.166.94:14900
-exten=405,1,Playback,sample
+;
+; We start with what to do when a call first comes in.
+;
+exten=s,1,Wait,1			; Wait a second, just for fun
+exten=s,2,Answer			; Answer the line
+exten=s,3,DigitTimeout,5		; Set Digit Timeout to 5 seconds
+exten=s,4,ResponseTimeout,10		; Set Response Timeout to 10 seconds
+exten=s,5,BackGround,demo-congrats	; Play a congratulatory message
+exten=s,6,BackGround,demo-instruct	; Play some instructions
+
+exten=2,1,BackGround,demo-moreinfo	; Give some more information.
+exten=2,2,Goto,s|6
+
+;
+; We also create an example user, 1234, who is on the console and has
+; voicemail, etc.
+;
+exten=1234,1,Playback,transfer		; "Please hold while..."
+exten=1234,2,Dial,Console/dsp|10	; Ring the console, 10 secs max
+exten=1234,3,Playback,vm/1234/unavail	; "I'm not here right now"
+exten=1234,4,Voicemail,1234		; Send to voicemail...
+exten=1234,5,Goto,s|6			; Start over
+exten=1234,103,Playback,vm/4200/busy	; (2 + 101) "I'm on the phone"
+exten=1234,104,Goto,4			; Go to voicemail, etc.
+
+exten=1235,1,Goto,1234|3		; Right to voicemail
+
+exten=1236,1,Dial,Console/dsp		; Ring forever
+exten=1236,2,Goto,1234|103		; Unless busy
+
+;
+; # for when they're done with the demo
+;
+exten=#,1,Playback,demo-thanks		; "Thanks for trying the demo"
+exten=#,2,Hangup			; Hang them up.
+
+;
+; A timeout and "invalid extension rule"
+;
+exten=t,1,Playback,Goto,#|1		; If they take too long, give up
+exten=i,1,Playback,invalid		; "That's not valid, try again"
+
+;
+; Create an extension, 500, for dialing the
+; Asterisk demo.
+;
+exten=500,1,Playback,demo-abouttotry	; Let them know what's going on
+exten=500,2,Dial,IAX/asterisk@demo	; Call the Asterisk demo
+exten=500,3,Playback,demo-nogo		; Couldn't connect to the demo site
+exten=500,4,Goto,s|6			; Return to the start over message.
+
+;
+; Create an extension, 600, for evaulating echo latency.
+;
+exten=600,1,Playback,demo-echotest	; Let them know what's going on
+exten=600,2,Echo			; Do the echo test
+exten=600,3,Playback,demo-echodone	; Let them know it's over
+exten=600,4,Goto,s|6			; Start over
+
+;
+; Give voicemail at extension 8500
+;
+exten=8500,1,VoicemailMain
+exten=8500,2,Goto,s|6
+;
+; Here's what a phone entry would look like (IXJ for example)
+;
+;exten=1265,1,Dial,Phone/phone0|15
+;exten=1265,2,Goto,s|5
+
+; This is a more complicated sample extension configuration, similar to
+; what we use at LSS.
+
+;[default]
+;exten=s,1,Wait,0
+;exten=s,2,Answer
+;exten=s,3,DigitTimeout,5
+;exten=s,4,ResponseTimeout,10
+;exten=s,5,BackGround,welcome
+;exten=*,1,Directory,default
+;exten=*,2,Goto,s|4
+;exten=#,1,Playback,goodbye
+;exten=#,2,Hangup
+;exten=100,1,Goto,other|s|1
+;exten=200,1,Intercom
+;exten=400,1,MP3Player,song8.mp3
+;exten=401,1,MP3Player,sample.mp3
+;exten=402,1,MP3Player,sunscreen.mp3
+;exten=403,1,MP3Player,http://trode.vergenet.net:8000
+;exten=404,1,MP3Player,http://216.32.166.94:14900
+;exten=405,1,Playback,sample
 ;
 ; Here's the template for a typical extension, carefully broken apart
 ; for analysis.  The others are pretty much the same, but not as well
 ; documented.
 ;
 ; Step 1:  Play back a "Please hold while I try that extension" message
-exten=4300,1,Playback,transfer
+;exten=4300,1,Playback,transfer
 ; Step 2:  Dial the numbers where Ben is likely to be.  Try for no more
 ;          than 15 seconds.
-exten=4300,2,Dial,AdtranVoFR/4300|15
+;exten=4300,2,Dial,AdtranVoFR/4300|15
 ; Step 3:  If there is no answer, play back a message stating that Ben is
 ;          unavailable.  Alternatively, we could have rung an operator first.
-exten=4300,3,Playback,vm/4300/unavail
+;exten=4300,3,Playback,vm/4300/unavail
 ; Step 4:  Send them to voicemail.
-exten=4300,4,Voicemail,4300
+;exten=4300,4,Voicemail,4300
 ; Step 5:  If they return from voicemail, go back to the top
-exten=4300,5,Goto,s|4
+;exten=4300,5,Goto,s|4
 ; Step 103: If the Dialing is busy, it will try here first.  We'll play a
 ;           special "I'm busy" message...
-exten=4300,103,Playback,vm/4300/busy
+;exten=4300,103,Playback,vm/4300/busy
 ; Step 104: And then continue as if it had been busy in the first place.
-exten=4300,104,Goto,4
+;exten=4300,104,Goto,4
 ; Exten. 4301: Provide a short-circuit so we can transfer striaght to 
 ;              voicemail.
-exten=4301,1,Goto,4300|3
+;exten=4301,1,Goto,4300|3
 ; Exten. 4302: Provide a way to ring a given phone indefinitely
-exten=4302,1,Dial,AdtranVoFR/4300
-
-exten=4200,1,Playback,transfer
-exten=4200,2,Dial,AdtranVoFR/4200|15
-exten=4200,3,Playback,vm/4200/unavail
-exten=4200,4,Voicemail,4200
-exten=4200,5,Goto,s|4
-exten=4200,103,Playback,vm/4200/busy
-exten=4200,104,Goto,4
-exten=4201,1,Goto,4200|3
-exten=4202,1,Dial,AdtranVoFR/4200
+;exten=4302,1,Dial,AdtranVoFR/4300
 
-exten=4230,1,Dial,PhoneJack/ixj0
+;exten=4200,1,Playback,transfer
+;exten=4200,2,Dial,AdtranVoFR/4200|15
+;exten=4200,3,Playback,vm/4200/unavail
+;exten=4200,4,Voicemail,4200
+;exten=4200,5,Goto,s|4
+;exten=4200,103,Playback,vm/4200/busy
+;exten=4200,104,Goto,4
+;exten=4201,1,Goto,4200|3
+;exten=4202,1,Dial,AdtranVoFR/4200
 
-exten=4110,1,Playback,transfer
+;exten=4110,1,Playback,transfer
 ;exten=4110,2,Dial,AdtranVoFR/4110|15
-exten=4110,2,Wait,5
-exten=4110,3,Playback,vm/4110/unavail
-exten=4110,4,Voicemail,4110
-exten=4110,5,Goto,s|4
-exten=4110,103,Playback,vm/4110/busy
-exten=4110,104,Goto,4
-exten=4111,1,Goto,4110|3
-exten=4112,1,Dial,AdtranVoFR/4110
-exten=4113,1,Voicemail,s4110
+;exten=4110,2,Wait,5
+;exten=4110,3,Playback,vm/4110/unavail
+;exten=4110,4,Voicemail,4110
+;exten=4110,5,Goto,s|4
+;exten=4110,103,Playback,vm/4110/busy
+;exten=4110,104,Goto,4
+;exten=4111,1,Goto,4110|3
+;exten=4112,1,Dial,AdtranVoFR/4110
+;exten=4113,1,Voicemail,s4110
 
-exten=8500,1,VoicemailMain
-exten=8500,2,Goto,s|4
-exten=762,1,Playback,somepeople
-exten=762,2,Wait,4
-exten=762,3,Goto,s|4
+;exten=8500,1,VoicemailMain
+;exten=8500,2,Goto,s|4
+;exten=762,1,Playback,somepeople
+;exten=762,2,Wait,4
+;exten=762,3,Goto,s|4
 
 ; Timeout stuff...  We could send to an operator, or just ditch them.
-exten=t,1,Goto,#|1
-exten=i,1,BackGround,invalid
-
-[other]
-exten=s,1,Playback,digits/9
-exten=s,2,Playback,digits/8
-exten=s,3,Playback,digits/7
-exten=s,4,Goto,100|1
-exten=100,1,Playback,digits/6
-exten=100,2,Playback,digits/5
-exten=100,3,Goto,default|s|4
+;exten=t,1,Goto,#|1
+;exten=i,1,BackGround,invalid
+
+;[other]
+;exten=s,1,Playback,digits/9
+;exten=s,2,Playback,digits/8
+;exten=s,3,Playback,digits/7
+;exten=s,4,Goto,100|1
+;exten=100,1,Playback,digits/6
+;exten=100,2,Playback,digits/5
+;exten=100,3,Goto,default|s|4