context internal { includes { staff; parkedcalls; queues-loginout; queues-manip; } _341X => goto conference|${EXTEN}|1; // join a conference room // Voicemail 8500 => { Set(TIMEOUT(absolute)=600); if ( "${CALLERID(num)}" != "" ) { goto havebox; } else { VoicemailMain(); // prompts for mailbox Hangup(); } havebox: Wait(1); VoicemailMain(${CALLERID(num)}); // got mailbox from CID Hangup(); } 8501 => { VoicemailMain(); // prompts for mailbox Hangup(); } // Play hold music from any phone 8888 => { Answer(); Dial(Local/moh@internal/n); } moh => MusicOnHold(); // Record voice file to /tmp directory (for making new prompts and such) 8201 => { Wait(2); Playback(now); Record(/tmp/asterisk-recording:wav|2); Wait(2); Playback(/tmp/asterisk-recording); Wait(2); Hangup(); } // playback last recorded file 8202 => { Wait(2); Playback(/tmp/asterisk-recording); Wait(2); Hangup(); } // extensions for transferring to voicemail _*10X => { Voicemail(${EXTEN}); Hangup(); } *190 => { Voicemail(190); // sales VM Hangup(); } *191 => { Voicemail(191); // support VM Hangup(); } *192 => { Voicemail(192); // after-hours support VM Hangup(); } // queue login/out commands are now in their own contexts below }; context staff { includes { staff-external; internal; } }; context staff-external { _1XX => &std-exten(${EXTEN},"SIP"); };