<context name="default"> <!-- if the calling party is the called party, go to their VM if the calling party is NOT the called party dial the extension (1000-1019) for 30 seconds and go to voicemail if the call fails (continue_on_fail=true), otherwise hang up after a successful bridge (hangup_after-bridge=true) --> <extension name="Local_Extension"> <condition field="destination_number" expression="^(10[01][0-9])$" continue="on-true"> <action application="set" data="dialed_ext=$1"/> </condition> <condition field="destination_number" expression="^${caller_id_number}$"> <action application="set" data="voicemail_authorized=${sip_authorized}"/> <action application="voicemail" data="check default $${domain} ${dialed_ext}"/> <anti-action application="set" data="call_timeout=30000"/> <anti-action application="set" data="hangup_after_bridge=true"/> <anti-actino application="set" data="continue_on_fail=true"/> <anti-action application="bridge" data="sofia/$${domain}/${dialed_ext}"/> <anti-action application="voicemail" data="default $${domain} ${dialed_ext}"/> </condition> </extension> <!-- start a dynamic conference with the settings of the "default" conference profile in conference.conf.xml --> <extension name="Conferences"> <condition field="destination_number" expression="^(3\d{3})$"> <action application="conference" data="$1@default"/> </condition> </extension> <!-- dial the freeswitch conference via IAX--> <extension name="FS_Conf_IAX"> <condition field="destination_number" expression="^888$"> <action application="bridge" data="iax/guest@conference.freeswitch.org/888"/> </condition> </extension> <extension name="static-park"> <condition field="destination_number" expression="^8192$"> <action application="fifo" data="default in undef /ram/swimp.raw"/> </condition> </extension> <extension name="unpark"> <condition field="destination_number" expression="^8193$"> <action application="answer"/> <action application="fifo" data="default out nowait"/> </condition> </extension> <!-- if the number starts with a *393 then strip the *393 and dial the remainder of the number out our "fwd" gateway --> <extension name="FWD"> <condition field="destination_number" expression="^\*393([\*\d]+)$"> <!-- Just incase they are using Asterisk let's disable VAD and only use G.711 --> <action application="export" data="rtp_disable_vad_out=true"/> <action application="export" data="absolute_codec_string=PCMU@20i,PCMA@20i"/> <action application="bridge" data="sofia/gateway/fwd/$1"/> </condition> </extension> <!-- a sample IVR --> <extension name="IVR_Demo"> <condition field="destination_number" expression="5000"> <action application="ivr" data="demo"/> </condition> </extension> <!-- Parking extensions... transferring calls to 5900 will park them in a queue. dialing 5901 will let you pull them out of the queue. --> <extension name="park"> <condition field="destination_number" expression="^5900$"> <action application="fifo" data="default in undef soundfiles/swimp.raw"/> </condition> </extension> <extension name="unpark"> <condition field="destination_number" expression="^5901$"> <action application="answer"/> <action application="fifo" data="default out nowait"/> </condition> </extension> <!-- this is a "catchall" extension that will match anything that's unmatched thus far.... uncomment and reloadxml to activate it --> <!-- <extension name="catchall"> <condition> <action application="set" data="effective_callerid_name=another noob"/> <action application="bridge" data="sofia/$${domain}/888@conference.freeswitch.org"/> </condition> </extension> --> </context>