diff --git a/roles/asterisk/templates/extensions.conf.j2 b/roles/asterisk/templates/extensions.conf.j2 index 77fe3a2..16f14cf 100644 --- a/roles/asterisk/templates/extensions.conf.j2 +++ b/roles/asterisk/templates/extensions.conf.j2 @@ -1,4 +1,45 @@ +[incoming] +exten => _.,1,NoOp() + same = n,Verbose(Inbound call to ${EXTEN} detected) + same = n,Set(DIALGROUP(incoming,add)=PJSIP/100) + same = n,Set(DIALGROUP(incoming,add)=PJSIP/101) + same = n,Set(DIALGROUP(incoming,add)=PJSIP/102) + same = n,Dial(${DIALGROUP(incoming)},15) + same = n,Set(MAILBOXES=${PJSIP_ENDPOINT(pstn,mailboxes)}) + same = n,ExecIf($[${LEN(${MAILBOXES})} = 0]?Congestion(10)) + same = n,Voicemail(${MAILBOXES},uS) + same = n,Playback(vm-goodbye) + same = n,Hangup() + [from-internal] + +; Emergency outbound dialing +exten => 911,1,NoOp() + same = n,Goto(dialout,${EXTEN},1) + +; Emergency test outbound dialing +; (Doesn't seem to be supported on Verizon FiOS) +exten => 933,1,NoOp() + same = n,Goto(dialout,${EXTEN},1) + +; 7+ digit calls are routed outside via the PSTN +exten => _NXXXXXX.,1,NoOp() + same = n,Goto(dialout,${EXTEN},1) + +exten => _1NXXXXXX.,1,NoOp() + same = n,Goto(dialout,${EXTEN},1) + +; Landline-related extensions +exten => 436,1,NoOp() + same = n,Verbose(Testing inbound calling?) + same = n,Goto(incoming,${EXTEN},1) + +exten => *436,1,Answer() + same = n,Wait(1) + same = n,VoicemailMain(436@sailmaker,s) + same = n,Hangup() + +; Dummy extensions exten => 700,1,Answer() same = n,Wait(1) same = n,Playback(hello-world) @@ -6,6 +47,7 @@ exten => 700,1,Answer() same = n,Playback(tt-monkeys) same = n,Hangup() +; Other extensions 3-digit extensions dial their associated devices exten => _XXX,1,Dial(PJSIP/${EXTEN}, 15) same = n,Set(MAILBOXES=${PJSIP_ENDPOINT(${EXTEN},mailboxes)}) @@ -26,6 +68,8 @@ exten => _XXX*,1,Answer() same = n,Voicemail(${EXTEN:0:-1}@sailmaker,u) same = n,Hangup() -; 7+ digit calls are routed outside via the PSTN -exten => _NXXXXXX.,1,Dial(PJSIP/pstn/${EXTEN}) +[dialout] +exten => _X!,1,NoOp() + same = n,Verbose(Dialing out to ${EXTEN}) + same = n,Dial(PJSIP/${EXTEN}@pstn) same = n,Hangup() diff --git a/roles/asterisk/templates/pjsip.conf.j2 b/roles/asterisk/templates/pjsip.conf.j2 index 39472b8..ac7c841 100644 --- a/roles/asterisk/templates/pjsip.conf.j2 +++ b/roles/asterisk/templates/pjsip.conf.j2 @@ -15,7 +15,7 @@ disallow=all allow=ulaw auth=100 aors=100 -mailboxes=100@sailmaker +mailboxes=100@sailmaker,436@sailmaker [100] type=auth @@ -73,11 +73,12 @@ remove_existing=yes [pstn] type=endpoint -context=from-internal +context=incoming disallow=all allow=ulaw auth=pstn aors=pstn +mailboxes=436@sailmaker [pstn] type=auth diff --git a/roles/asterisk/templates/voicemail.conf.j2 b/roles/asterisk/templates/voicemail.conf.j2 index 83bd2d6..2a2e7c0 100644 --- a/roles/asterisk/templates/voicemail.conf.j2 +++ b/roles/asterisk/templates/voicemail.conf.j2 @@ -588,4 +588,8 @@ european=Europe/Copenhagen|'vm-received' a d b 'digits/at' HM ;4325 => 2392,Andrew Dufresne,andy@dufresne.info,,imapuser=adufresne|imappassword=rockh@mmer [sailmaker] +; Primary home mailbox +436 => 436,Weidner Household, + +; User mailboxes 100 => 100,Correl Roush,