--- /dev/null
+<configuration name="acl.conf" description="Network Lists">
+ <network-lists>
+
+ <list name="dl-candidates" default="allow">
+ <node type="deny" cidr="10.0.0.0/8"/>
+ <node type="deny" cidr="172.16.0.0/12"/>
+ <node type="deny" cidr="192.168.0.0/16"/>
+ </list>
+
+ <list name="rfc1918" default="deny">
+ <node type="allow" cidr="10.0.0.0/8"/>
+ <node type="allow" cidr="172.16.0.0/12"/>
+ <node type="allow" cidr="192.168.0.0/16"/>
+ </list>
+
+ <list name="lan" default="allow">
+ <node type="deny" cidr="192.168.42.0/24"/>
+ <node type="allow" cidr="192.168.42.42/32"/>
+ </list>
+
+ <list name="strict" default="deny">
+ <node type="allow" cidr="208.102.123.124/32"/>
+ </list>
+ <!--
+ This will traverse the directory adding all users
+ with the cidr= tag to this ACL, when this ACL matches
+ the users variables and params apply as if they
+ digest authenticated.
+ -->
+ <list name="domains" default="deny">
+ <node type="allow" domain="$${domain}"/>
+ </list>
+
+ </network-lists>
+</configuration>
+
--- /dev/null
+<configuration name="alsa.conf" description="Soundcard Endpoint">
+ <settings>
+ <!--Default dialplan and caller-id info -->
+ <param name="dialplan" value="XML"/>
+ <param name="cid-name" value="N800 Alsa"/>
+ <param name="cid-num" value="5555551212"/>
+
+ <!--audio sample rate and interval -->
+ <param name="sample-rate" value="8000"/>
+ <param name="codec-ms" value="20"/>
+ </settings>
+</configuration>
--- /dev/null
+<configuration name="cdr_csv.conf" description="CDR CSV Format">
+ <settings>
+ <!-- 'cdr-csv' will always be appended to log-base -->
+ <!--<param name="log-base" value="/var/log"/>-->
+ <param name="default-template" value="example"/>
+ <!-- This is like the info app but after the call is hung up -->
+ <!--<param name="debug" value="true"/>-->
+ <param name="rotate-on-hup" value="true"/>
+ <!-- may be a b or ab -->
+ <param name="legs" value="a"/>
+ </settings>
+ <templates>
+ <template name="sql">INSERT INTO cdr VALUES ("${caller_id_name}","${caller_id_number}","${destination_number}","${context}","${start_stamp}","${answer_stamp}","${end_stamp}","${duration}","${billsec}","${hangup_cause}","${uuid}","${bleg_uuid}", "${accountcode}");</template>
+ <template name="example">"${caller_id_name}","${caller_id_number}","${destination_number}","${context}","${start_stamp}","${answer_stamp}","${end_stamp}","${duration}","${billsec}","${hangup_cause}","${uuid}","${bleg_uuid}","${accountcode}","${read_codec}","${write_codec}"</template>
+ <template name="snom">"${caller_id_name}","${caller_id_number}","${destination_number}","${context}","${start_stamp}","${answer_stamp}","${end_stamp}","${duration}","${billsec}","${hangup_cause}","${uuid}","${bleg_uuid}", "${accountcode}","${read_codec}","${write_codec}","${sip_user_agent}","${call_clientcode}","${sip_rtp_rxstat}","${sip_rtp_txstat}","${sofia_record_file}"</template>
+ <template name="linksys">"${caller_id_name}","${caller_id_number}","${destination_number}","${context}","${start_stamp}","${answer_stamp}","${end_stamp}","${duration}","${billsec}","${hangup_cause}","${uuid}","${bleg_uuid}","${accountcode}","${read_codec}","${write_codec}","${sip_user_agent}","${sip_p_rtp_stat}"</template>
+ <template name="asterisk">"${accountcode}","${caller_id_number}","${destination_number}","${context}","${caller_id}","${channel_name}","${bridge_channel}","${last_app}","${last_arg}","${start_stamp}","${answer_stamp}","${end_stamp}","${duration}","${billsec}","${hangup_cause}","${amaflags}","${uuid}","${userfield}"</template>
+ </templates>
+</configuration>
+
--- /dev/null
+<!-- http://wiki.freeswitch.org/wiki/Mod_conference -->
+<!-- None of these paths are real if you want any of these options you need to really set them up -->
+<configuration name="conference.conf" description="Audio Conference">
+ <!-- Advertise certain presence on startup . -->
+ <advertise>
+ <room name="3001@$${domain}" status="FreeSWITCH"/>
+ </advertise>
+
+ <!-- These are the default keys that map when you do not specify a caller control group -->
+ <!-- Note: none and default are reserved names for group names -->
+ <caller-controls>
+ <group name="default">
+ <control action="mute" digits="0"/>
+ <control action="deaf mute" digits="*"/>
+ <control action="energy up" digits="9"/>
+ <control action="energy equ" digits="8"/>
+ <control action="energy dn" digits="7"/>
+ <control action="vol talk up" digits="3"/>
+ <control action="vol talk zero" digits="2"/>
+ <control action="vol talk dn" digits="1"/>
+ <control action="vol listen up" digits="6"/>
+ <control action="vol listen zero" digits="5"/>
+ <control action="vol listen dn" digits="4"/>
+ <control action="hangup" digits="#"/>
+ </group>
+ </caller-controls>
+
+ <!-- Profiles are collections of settings you can reference by name. -->
+ <profiles>
+ <!--If no profile is specified it will default to "default"-->
+ <profile name="default">
+ <!-- Domain (for presence) -->
+ <param name="domain" value="$${domain}"/>
+ <!-- Sample Rate-->
+ <param name="rate" value="8000"/>
+ <!-- Number of milliseconds per frame -->
+ <param name="interval" value="20"/>
+ <!-- Energy level required for audio to be sent to the other users -->
+ <param name="energy-level" value="300"/>
+
+ <!--Can be | delim of waste|mute|deaf waste will always transmit data to each channel
+ even during silence -->
+ <!--<param name="member-flags" value="waste"/>-->
+
+ <!-- Name of the caller control group to use for this profile -->
+ <!-- <param name="caller-controls" value="some name"/> -->
+ <!-- TTS Engine to use -->
+ <!--<param name="tts-engine" value="cepstral"/>-->
+ <!-- TTS Voice to use -->
+ <!--<param name="tts-voice" value="david"/>-->
+
+ <!-- If TTS is enabled all audio-file params beginning with -->
+ <!-- 'say:' will be considered text to say with TTS -->
+ <!-- Set a default path here so you can use relative paths in the other sound params-->
+ <param name="sound-prefix" value="$${base_dir}/sounds/en/us/callie"/>
+ <!-- File to play to acknowledge succees -->
+ <!--<param name="ack-sound" value="beep.wav"/>-->
+ <!-- File to play to acknowledge failure -->
+ <!--<param name="nack-sound" value="beeperr.wav"/>-->
+ <!-- File to play to acknowledge muted -->
+ <param name="muted-sound" value="conference/conf-muted.wav"/>
+ <!-- File to play to acknowledge unmuted -->
+ <param name="unmuted-sound" value="conference/conf-unmuted.wav"/>
+ <!-- File to play if you are alone in the conference -->
+ <param name="alone-sound" value="conference/conf-alone.wav"/>
+ <!-- File to play endlessly (nobody will ever be able to talk) -->
+ <!--<param name="perpetual-sound" value="perpetual.wav"/>-->
+ <!-- File to play when you're alone (music on hold)-->
+ <param name="moh-sound" value="$${hold_music}"/>
+ <!-- File to play when you join the conference -->
+ <param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/>
+ <!-- File to play when you leave the conference -->
+ <param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/>
+ <!-- File to play when you ae ejected from the conference -->
+ <param name="kicked-sound" value="conference/conf-kicked.wav"/>
+ <!-- File to play when the conference is locked -->
+ <param name="locked-sound" value="conference/conf-locked.wav"/>
+ <!-- File to play when the conference is locked during the call-->
+ <param name="is-locked-sound" value="conference/conf-is-locked.wav"/>
+ <!-- File to play when the conference is unlocked during the call-->
+ <param name="is-unlocked-sound" value="conference/conf-is-unlocked.wav"/>
+ <!-- File to play to prompt for a pin -->
+ <param name="pin-sound" value="conference/conf-pin.wav"/>
+ <!-- File to play to when the pin is invalid -->
+ <param name="bad-pin-sound" value="conference/conf-bad-pin.wav"/>
+ <param name="comfort-noise-level" value="1400"/>
+ <!-- Conference pin -->
+ <!--<param name="pin" value="12345"/>-->
+ <!-- Default Caller ID Name for outbound calls -->
+ <param name="caller-id-name" value="$${outbound_caller_name}"/>
+ <!-- Default Caller ID Number for outbound calls -->
+ <param name="caller-id-number" value="$${outbound_caller_id}"/>
+ <!-- Suppress start and stop talking events -->
+ <!-- <param name="suppress-events" value="start-talking,stop-talking"/> -->
+ <!-- enable comfort noise generation -->
+ <param name="comfort-noise" value="true"/>
+ <!-- Uncomment auto-record to toggle recording every conference call. -->
+ <!-- Another valid value is shout://user:pass@server.com/live.mp3 -->
+ <!--
+ <param name="auto-record" value="$${base_dir}/recordings/${conference_name}_${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/>
+ -->
+ </profile>
+
+ <profile name="wideband">
+ <param name="domain" value="$${domain}"/>
+ <param name="rate" value="16000"/>
+ <param name="interval" value="20"/>
+ <param name="energy-level" value="300"/>
+ <param name="sound-prefix" value="$${base_dir}/sounds/en/us/callie"/>
+ <param name="muted-sound" value="conference/conf-muted.wav"/>
+ <param name="unmuted-sound" value="conference/conf-unmuted.wav"/>
+ <param name="alone-sound" value="conference/conf-alone.wav"/>
+ <param name="moh-sound" value="$${hold_music}"/>
+ <param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/>
+ <param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/>
+ <param name="kicked-sound" value="conference/conf-kicked.wav"/>
+ <param name="locked-sound" value="conference/conf-locked.wav"/>
+ <param name="is-locked-sound" value="conference/conf-is-locked.wav"/>
+ <param name="is-unlocked-sound" value="conference/conf-is-unlocked.wav"/>
+ <param name="pin-sound" value="conference/conf-pin.wav"/>
+ <param name="bad-pin-sound" value="conference/conf-bad-pin.wav"/>
+ <param name="caller-id-name" value="$${outbound_caller_name}"/>
+ <param name="caller-id-number" value="$${outbound_caller_id}"/>
+ <param name="comfort-noise" value="true"/>
+ <!--<param name="tts-engine" value="flite"/>-->
+ <!--<param name="tts-voice" value="kal16"/>-->
+ </profile>
+
+ <profile name="ultrawideband">
+ <param name="domain" value="$${domain}"/>
+ <param name="rate" value="32000"/>
+ <param name="interval" value="20"/>
+ <param name="energy-level" value="300"/>
+ <param name="sound-prefix" value="$${base_dir}/sounds/en/us/callie"/>
+ <param name="muted-sound" value="conference/conf-muted.wav"/>
+ <param name="unmuted-sound" value="conference/conf-unmuted.wav"/>
+ <param name="alone-sound" value="conference/conf-alone.wav"/>
+ <param name="moh-sound" value="$${hold_music}"/>
+ <param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/>
+ <param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/>
+ <param name="kicked-sound" value="conference/conf-kicked.wav"/>
+ <param name="locked-sound" value="conference/conf-locked.wav"/>
+ <param name="is-locked-sound" value="conference/conf-is-locked.wav"/>
+ <param name="is-unlocked-sound" value="conference/conf-is-unlocked.wav"/>
+ <param name="pin-sound" value="conference/conf-pin.wav"/>
+ <param name="bad-pin-sound" value="conference/conf-bad-pin.wav"/>
+ <param name="caller-id-name" value="$${outbound_caller_name}"/>
+ <param name="caller-id-number" value="$${outbound_caller_id}"/>
+ <param name="comfort-noise" value="true"/>
+ <!--<param name="tts-engine" value="flite"/>-->
+ <!--<param name="tts-voice" value="kal16"/>-->
+ </profile>
+ <!--
+ <profile name="cdquality">
+ <param name="domain" value="$${domain}"/>
+ <param name="rate" value="48000"/>
+ <param name="interval" value="10"/>
+ <param name="energy-level" value="300"/>
+ <param name="sound-prefix" value="$${base_dir}/sounds/en/us/callie"/>
+ <param name="muted-sound" value="conference/conf-muted.wav"/>
+ <param name="unmuted-sound" value="conference/conf-unmuted.wav"/>
+ <param name="alone-sound" value="conference/conf-alone.wav"/>
+ <param name="moh-sound" value="$${hold_music}"/>
+ <param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/>
+ <param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/>
+ <param name="kicked-sound" value="conference/conf-kicked.wav"/>
+ <param name="locked-sound" value="conference/conf-locked.wav"/>
+ <param name="is-locked-sound" value="conference/conf-is-locked.wav"/>
+ <param name="is-unlocked-sound" value="conference/conf-is-unlocked.wav"/>
+ <param name="pin-sound" value="conference/conf-pin.wav"/>
+ <param name="bad-pin-sound" value="conference/conf-bad-pin.wav"/>
+ <param name="caller-id-name" value="$${outbound_caller_name}"/>
+ <param name="caller-id-number" value="$${outbound_caller_id}"/>
+ <param name="comfort-noise" value="true"/>
+ </profile>
+ -->
+ </profiles>
+</configuration>
--- /dev/null
+<configuration name="console.conf" description="Console Logger">
+ <!-- pick a file name, a function name or 'all' -->
+ <!-- map as many as you need for specific debugging -->
+ <mappings>
+ <!--
+ name can be a file name, function name or 'all'
+ value is one or more of debug,info,notice,warning,err,crit,alert,all
+ See examples below
+
+
+ The following map is the default, which is all debug levels enabled:
+ <map name="all" value="debug,info,notice,warning,err,crit,alert"/>
+
+
+ Example: the following turns on debugging for error and critical levels only
+ <map name="all" value="err,crit"/>
+
+ NOTE: using map name="all" will override any other settings! If you
+ want a more specific set of console messages then you will need
+ to specify which files and/or functions you want to have debug
+ messages. One option is to turn on just the more critical
+ messages with map name="all", then specify the other types of
+ console messages you want to see for various files and functions.
+
+ Example: turn on ERROR, CRIT, ALERT for all modules, then specify other
+ levels for various modules and functions
+
+ <map name="all" value="err,crit,alert"/>
+ <map name="switch_loadable_module_process" value="all"/>
+ <map name="mod_local_stream.c" value="warning,debug"/>
+ <map name="mod_sndfile.c" value="warning,info,debug"/>
+ -->
+ <map name="all" value="console,debug,info,notice,warning,err,crit,alert"/>
+
+ <!--
+ You can use or modify this sample set of mappings. It turns on higher
+ level messages for all modules and then specifies extra lower level
+ messages for OpenZAP, Sofia, and switch core messages.
+
+ <map name="all" value="warning,err,crit,alert"/>
+ <map name="zap_analog.c" value="all"/>
+ <map name="zap_io.c" value="all"/>
+ <map name="zap_isdn.c" value="all"/>
+ <map name="zap_zt.c" value="all"/>
+ <map name="mod_openzap" value="all"/>
+ <map name="sofia.c" value="notice"/>
+ <map name="switch_core_state_machine.c" value="all"/>
+
+ -->
+ </mappings>
+ <settings>
+ <!-- comment or set to false for no color logging -->
+ <param name="colorize" value="true"/>
+ <param name="loglevel" value="$${console_loglevel}"/>
+ </settings>
+</configuration>
--- /dev/null
+<configuration name="dialplan_directory.conf" description="Dialplan Directory">
+ <settings>
+ <param name="directory-name" value="ldap"/>
+ <param name="host" value="ldap.freeswitch.org"/>
+ <param name="dn" value="cn=Manager,dc=freeswitch,dc=org"/>
+ <param name="pass" value="test"/>
+ <param name="base" value="dc=freeswitch,dc=org"/>
+ </settings>
+</configuration>
--- /dev/null
+<configuration name="dingaling.conf" description="XMPP Jingle Endpoint">
+ <settings>
+ <param name="debug" value="0"/>
+ <param name="codec-prefs" value="PCMU"/>
+ </settings>
+
+ <X-PRE-PROCESS cmd="include" data="../jingle_profiles/*.xml"/>
+
+</configuration>
--- /dev/null
+<configuration name="enum.conf" description="ENUM Module">
+ <settings>
+ <param name="default-root" value="e164.org"/>
+ <param name="default-isn-root" value="freenum.org"/>
+ <param name="query-timeout" value="10"/>
+ <param name="auto-reload" value="true"/>
+ </settings>
+
+ <routes>
+ <route service="E2U+SIP" regex="sip:(.*)" replace="sofia/${use_profile}/$1"/>
+ <!--<route service="E2U+IAX2" regex="iax2:(.*)" replace="iax/$1"/>-->
+ <!--<route service="E2U+XMPP" regex="XMPP:(.*)" replace="dingaling/$${xmpp_server_profile}/$1"/>-->
+ </routes>
+</configuration>
--- /dev/null
+<configuration name="event_multicast.conf" description="Multicast Event">
+ <settings>
+ <param name="address" value="225.1.1.1"/>
+ <param name="port" value="4242"/>
+ <param name="bindings" value="all"/>
+ </settings>
+</configuration>
+
--- /dev/null
+<configuration name="event_socket.conf" description="Socket Client">
+ <settings>
+ <param name="listen-ip" value="127.0.0.1"/>
+ <param name="listen-port" value="8021"/>
+ <param name="password" value="ClueCon"/>
+ <!--<param name="apply-inbound-acl" value="lan"/>-->
+ </settings>
+</configuration>
--- /dev/null
+<configuration name="fax.conf" description="FAX application configuration">
+ <settings>
+ <param name="use-ecm" value="true"/>
+ <param name="verbose" value="false"/>
+ <param name="disable-v17" value="false"/>
+ <param name="ident" value="SpanDSP Fax Ident"/>
+ <param name="header" value="SpanDSP Fax Header"/>
+
+ <param name="spool-dir" value="/tmp"/>
+ <param name="file-prefix" value="faxrx"/>
+ </settings>
+</configuration>
--- /dev/null
+<configuration name="fifo.conf" description="FIFO Configuration">
+ <fifos>
+ <fifo name="cool_fifo@$${domain}" importance="0">
+ <!--<member timeout="60" simo="1" lag="20">user/1005@$${domain}</member>-->
+ </fifo>
+ </fifos>
+</configuration>
--- /dev/null
+<configuration name="iax.conf" description="IAX Configuration">
+ <settings>
+ <param name="debug" value="0"/>
+ <param name="ip" value="$${local_ip_v4}"/>
+ <param name="port" value="4569"/>
+ <param name="context" value="public"/>
+ <param name="dialplan" value="XML"/>
+ <param name="codec-prefs" value="PCMU@20i,PCMA,speex,L16"/>
+ <param name="codec-master" value="us"/>
+ <param name="codec-rates" value="8"/>
+ </settings>
+</configuration>
--- /dev/null
+<configuration name="ivr.conf" description="IVR menus">
+ <menus>
+ <!-- demo IVR setup -->
+ <!-- demo IVR, Main Menu -->
+ <menu name="demo_ivr"
+ greet-long="phrase:demo_ivr_main_menu"
+ greet-short="phrase:demo_ivr_main_menu_short"
+ invalid-sound="ivr/ivr-that_was_an_invalid_entry.wav"
+ exit-sound="voicemail/vm-goodbye.wav"
+ timeout ="10000"
+ inter-digit-timeout="2000"
+ max-failures="3"
+ max-timeouts="3"
+ digit-len="4">
+ <entry action="menu-exec-app" digits="1" param="bridge sofia/$${domain}/888@conference.freeswitch.org"/>
+ <entry action="menu-exec-app" digits="2" param="transfer 9996 XML default"/> <!-- FS echo -->
+ <entry action="menu-exec-app" digits="3" param="transfer 9999 XML default"/> <!-- MOH -->
+ <entry action="menu-sub" digits="4" param="demo_ivr_submenu"/> <!-- demo sub menu -->
+ <entry action="menu-exec-app" digits="5" param="transfer 1234*256 enum"/> <!-- Screaming monkeys -->
+ <entry action="menu-exec-app" digits="/^(10[01][0-9])$/" param="transfer $1 XML features"/>
+ <entry action="menu-top" digits="9"/> <!-- Repeat this menu -->
+ </menu>
+ <!-- Demo IVR, Sub Menu -->
+ <menu name="demo_ivr_submenu"
+ greet-long="phrase:demo_ivr_sub_menu"
+ greet-short="phrase:demo_ivr_sub_menu_short"
+ invalid-sound="ivr/ivr-that_was_an_invalid_entry.wav"
+ exit-sound="voicemail/vm-goodbye.wav"
+ timeout="15000"
+ max-failures="3"
+ max-timeouts="3">
+ <entry action="menu-top" digits="*"/>
+ </menu>
+
+ </menus>
+
+
+</configuration>
+
+
+<!-- TTS sample; non-functional but it demonstrates say: and TTS -->
+<!--
+ <menu name="demo3"
+ greet-long="say:Press 1 to join the conference, Press 2 to join the other conference"
+ greet-short="say:Press 1 to join the conference, Press 2 to join the other conference"
+ invalid-sound="say:invalid extension"
+ exit-sound="say:exit sound"
+ timeout ="15000"
+ max-failures="3">
+ <entry action="menu-exit" digits="*"/>
+ <entry action="menu-playback" digits="1" param="say:You pressed 1"/>
+ <entry action="menu-call-transfer" digits="2" param=
+
+
+"1000"/>
+ <entry action="menu-call-transfer" digits="3" param="1001"/>
+ </menu>
+-->
--- /dev/null
+<configuration name="java.conf" description="Java Plug-Ins">
+ <!-- Path to the Java 1.6 virtual machine to use -->
+ <javavm path="/usr/java/jdk1.6.0/jre/lib/i386/client/libjvm.so"/>
+ <!-- Options to pass to Java -->
+ <options>
+ <!-- Your class path (make sure freeswitch.jar is on it) -->
+ <option value="-Djava.class.path=$${base_dir}/scripts/freeswitch.jar"/>
+ <!-- Enable remote debugging -->
+ <option value="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=127.0.0.1:8000"/>
+ </options>
+</configuration>
--- /dev/null
+<configuration name="limit.conf" description="LIMIT Configuration">
+ <settings>
+ <!--<param name="odbc-dsn" value="dsn:user:pass"/>-->
+ </settings>
+</configuration>
--- /dev/null
+<configuration name="local_stream.conf" description="stream files from local dir">
+ <directory name="moh/8000" path="$${base_dir}/sounds/music/8000">
+ <param name="rate" value="8000"/>
+ <param name="shuffle" value="true"/>
+ <param name="channels" value="1"/>
+ <param name="interval" value="20"/>
+ <param name="timer-name" value="soft"/>
+ </directory>
+
+ <directory name="moh/16000" path="$${base_dir}/sounds/music/16000">
+ <param name="rate" value="16000"/>
+ <param name="shuffle" value="true"/>
+ <param name="channels" value="1"/>
+ <param name="interval" value="20"/>
+ <param name="timer-name" value="soft"/>
+ </directory>
+
+ <directory name="moh/32000" path="$${base_dir}/sounds/music/32000">
+ <param name="rate" value="32000"/>
+ <param name="shuffle" value="true"/>
+ <param name="channels" value="1"/>
+ <param name="interval" value="20"/>
+ <param name="timer-name" value="soft"/>
+ </directory>
+ <!--
+ <directory name="moh/48000" path="$${base_dir}/sounds/music/48000">
+ <param name="rate" value="48000"/>
+ <param name="shuffle" value="true"/>
+ <param name="channels" value="1"/>
+ <param name="interval" value="10"/>
+ <param name="timer-name" value="soft"/>
+ </directory>
+ -->
+</configuration>
--- /dev/null
+<configuration name="logfile.conf" description="File Logging">
+ <settings>
+ <!-- true to auto rotate on HUP, false to open/close -->
+ <param name="rotate-on-hup" value="true"/>
+ </settings>
+ <profiles>
+ <profile name="default">
+ <settings>
+ <!-- File to log to -->
+ <!--<param name="logfile" value="/var/log/freeswitch.log"/>-->
+ <!-- At this length in bytes rotate the log file (0 for never) -->
+ <!--<param name="rollover" value="10485760"/>-->
+ </settings>
+ <mappings>
+ <!--
+ name can be a file name, function name or 'all'
+ value is one or more of debug,info,notice,warning,err,crit,alert,all
+ Please see comments in console.conf.xml for more information
+ -->
+ <map name="all" value="debug,info,notice,warning,err,crit,alert"/>
+ </mappings>
+ </profile>
+ </profiles>
+</configuration>
--- /dev/null
+<configuration name="lua.conf" description="LUA Configuration">
+ <settings>
+
+ <!--
+ Specify local directories that will be searched for LUA modules
+ These entries will be pre-pended to the LUA_CPATH environment variable
+ -->
+ <!-- <param name="module-directory" value="/usr/lib/lua/5.1/?.so"/> -->
+ <!-- <param name="module-directory" value="/usr/local/lib/lua/5.1/?.so"/> -->
+
+ <!--
+ Specify local directories that will be searched for LUA scripts
+ These entries will be pre-pended to the LUA_PATH environment variable
+ -->
+ <!-- <param name="script-directory" value="/usr/local/lua/?.lua"/> -->
+ <!-- <param name="script-directory" value="$${base_dir}/scripts/?.lua"/> -->
+
+ <!--<param name="xml-handler-script" value="/dp.lua"/>-->
+ <!--<param name="xml-handler-bindings" value="dialplan"/>-->
+
+ <!--
+ The following options identifies a lua script that is launched
+ at startup and may live forever in the background.
+ You can define multiple lines, one for each script you
+ need to run.
+ -->
+ <!--<param name="startup-script" value="startup_script_1.lua"/>-->
+ <!--<param name="startup-script" value="startup_script_2.lua"/>-->
+ </settings>
+</configuration>
--- /dev/null
+<configuration name="modules.conf" description="Modules">
+ <modules>
+ <load module="mod_console"/>
+ <load module="mod_xml_curl"/>
+ </modules>
+</configuration>
--- /dev/null
+<configuration name="opal.conf" description="Opal Endpoints">
+ <settings>
+ <param name="trace-level" value="4"/>
+ <param name="context" value="default"/>
+ <param name="dialplan" value="XML"/>
+ <param name="codec-prefs" value="PCMU"/>
+ </settings>
+ <listeners>
+ <listener name="default">
+ <param name="h323-ip" value="$${local_ip_v4}"/>
+ <param name="h323-port" value="1720"/>
+ </listener>
+ </listeners>
+</configuration>
+
--- /dev/null
+<!-- http://wiki.freeswitch.org/wiki/Mod_openmrcp#Configuration -->
+<configuration name="openmrcp.conf" description="mod_openmrcp configuration">
+ <settings>
+ <param name="asr_default_profile" value="openmrcp-v2"/>
+ <param name="tts_default_profile" value="openmrcp-v2"/>
+ </settings>
+ <profiles>
+ <X-PRE-PROCESS cmd="include" data="../mrcp_profiles/*.xml"/>
+ </profiles>
+</configuration>
--- /dev/null
+<configuration name="openzap.conf" description="OpenZAP Configuration">
+ <settings>
+ <param name="debug" value="0"/>
+ <!--<param name="hold-music" value="$${moh_uri}"/>-->
+ <!--<param name="enable-analog-option" value="call-swap"/>-->
+ <!--<param name="enable-analog-option" value="3-way"/>-->
+ </settings>
+ <pri_spans>
+ <span name="PRI_1">
+ <!-- Log Levels: none, alert, crit, err, warning, notice, info, debug -->
+ <param name="q921loglevel" value="alert"/>
+ <param name="q931loglevel" value="alert"/>
+ <param name="mode" value="user"/>
+ <param name="dialect" value="5ess"/>
+ <param name="dialplan" value="XML"/>
+ <param name="context" value="default"/>
+ </span>
+ <span name="PRI_2">
+ <param name="q921loglevel" value="alert"/>
+ <param name="q931loglevel" value="alert"/>
+ <param name="mode" value="user"/>
+ <param name="dialect" value="5ess"/>
+ <param name="dialplan" value="XML"/>
+ <param name="context" value="default"/>
+ </span>
+ </pri_spans>
+ <!-- one entry here per openzap span -->
+ <analog_spans>
+ <span id="1">
+ <!--<param name="hold-music" value="$${moh_uri}"/>-->
+ <!--<param name="enable-analog-option" value="call-swap"/>-->
+ <!--<param name="enable-analog-option" value="3-way"/>-->
+ <param name="tonegroup" value="us"/>
+ <param name="digit-timeout" value="2000"/>
+ <param name="max-digits" value="11"/>
+ <param name="dialplan" value="XML"/>
+ <param name="context" value="default"/>
+ <param name="enable-callerid" value="true"/>
+ <!-- regex to stop dialing when it matches -->
+ <!--<param name="dial-regex" value="5555"/>-->
+ <!-- regex to stop dialing when it does not match -->
+ <!--<param name="fail-dial-regex" value="^5"/>-->
+ </span>
+ </analog_spans>
+</configuration>
--- /dev/null
+<configuration name="perl.conf" description="PERL Configuration">
+ <settings>
+ <!--<param name="xml-handler-script" value="/tmp/xml.pl"/>-->
+ <!--<param name="xml-handler-bindings" value="dialplan"/>-->
+
+ <!--
+ The following options identifies a perl script that is launched
+ at startup and may live forever in the background.
+ You can define multiple lines, one for each script you
+ need to run.
+ -->
+ <!--param name="startup-script" value="startup_script_1.pl"/-->
+ <!--param name="startup-script" value="startup_script_2.pl"/-->
+
+ </settings>
+</configuration>
--- /dev/null
+<configuration name="pocketsphinx.conf" description="PocketSphinx ASR Configuration">
+ <settings>
+ <param name="threshold" value="400"/>
+ <param name="silence-hits" value="25"/>
+ <param name="listen-hits" value="1"/>
+ <param name="auto-reload" value="true"/>
+ <!--<param name="narrowband-model" value="communicator"/>-->
+ <!--<param name="wideband-model" value="wsj1"/>-->
+ </settings>
+</configuration>
--- /dev/null
+<configuration name="portaudio.conf" description="Soundcard Endpoint">
+ <settings>
+ <!-- indev, outdev, ringdev:
+ partial case sensitive string match on something in the name
+ or the device number prefixed with # eg "#1" (or blank for default) -->
+
+ <!-- device to use for input -->
+ <param name="indev" value=""/>
+ <!-- device to use for output -->
+ <param name="outdev" value=""/>
+
+ <!--device to use for inbound ring -->
+ <!--<param name="ringdev" value=""/>-->
+ <!--File to play as the ring sound -->
+ <!--<param name="ring-file" value="/sounds/ring.wav"/>-->
+ <!--Number of seconds to pause between rings -->
+ <!--<param name="ring-interval" value="5"/>-->
+
+ <!--file to play when calls are on hold-->
+ <!--<param name="hold-file" value="/sounds/holdmusic.wav"/>-->
+ <!--Timer to use for hold music (i'd leave this one commented)-->
+ <!--<param name="timer-name" value="soft"/>-->
+
+ <!--Default dialplan and caller-id info -->
+ <param name="dialplan" value="XML"/>
+ <param name="cid-name" value="$${outbound_caller_name}"/>
+ <param name="cid-num" value="$${outbound_caller_id}"/>
+
+ <!--audio sample rate and interval -->
+ <param name="sample-rate" value="8000"/>
+ <param name="codec-ms" value="20"/>
+ </settings>
+</configuration>
--- /dev/null
+<configuration name="post_load_modules.conf" description="Modules">
+ <modules>
+ </modules>
+</configuration>
--- /dev/null
+<configuration name="python.conf" description="PYTHON Configuration">
+ <settings>
+ <!--<param name="xml-handler-script" value="dp"/>-->
+ <!--<param name="xml-handler-bindings" value="dialplan"/>-->
+
+ <!--
+ The following options identifies a py script that is launched
+ at startup and may live forever in the background.
+ You can define multiple lines, one for each script you
+ need to run.
+ -->
+ <!--<param name="startup-script" value="startup_script_1.py"/>-->
+ <!--<param name="startup-script" value="startup_script_2.py"/>-->
+
+ </settings>
+</configuration>
--- /dev/null
+<configuration name="rss.conf" description="RSS Parser">
+ <feeds>
+ <!-- Just download the files to wherever and refer to them here -->
+ <!-- <feed name="Slash Dot">/home/rss/rss.rss</feed> -->
+ <!-- <feed name="News Forge">/home/rss/newsforge.rss</feed> -->
+ </feeds>
+</configuration>
--- /dev/null
+<configuration name="shout.conf" description="mod shout config">
+ <settings>
+ <!-- Don't change these unless you are insane -->
+ <!--<param name="decoder" value="i586"/>-->
+ <!--<param name="volume" value=".1"/>-->
+ <!--<param name="outscale" value="8192"/>-->
+ </settings>
+</configuration>
--- /dev/null
+<configuration name="sofia.conf" description="sofia Endpoint">
+
+ <global_settings>
+ <param name="log-level" value="0"/>
+ <!-- <param name="auto-restart" value="false"/> -->
+ <param name="debug-presence" value="0"/>
+ </global_settings>
+
+ <!--
+ The rabbit hole goes deep. This includes all the
+ profiles in the sip_profiles directory that is up
+ one level from this directory.
+ -->
+ <profiles>
+ <X-PRE-PROCESS cmd="include" data="../sip_profiles/*.xml"/>
+ </profiles>
+
+</configuration>
--- /dev/null
+<configuration name="spidermonkey.conf" description="Spider Monkey JavaScript Plug-Ins">
+ <modules>
+ <load module="mod_spidermonkey_teletone"/>
+ <load module="mod_spidermonkey_core_db"/>
+ <load module="mod_spidermonkey_socket"/>
+ <!--<load module="mod_spidermonkey_odbc"/>-->
+ </modules>
+</configuration>
--- /dev/null
+<configuration name="switch.conf" description="Core Configuration">
+
+ <cli-keybindings>
+ <key name="1" value="$${function_key_1}"/>
+ <key name="2" value="$${function_key_2}"/>
+ <key name="3" value="$${function_key_3}"/>
+ <key name="4" value="$${function_key_4}"/>
+ <key name="5" value="$${function_key_5}"/>
+ <key name="6" value="$${function_key_6}"/>
+ <key name="7" value="$${function_key_7}"/>
+ <key name="8" value="$${function_key_8}"/>
+ <key name="9" value="$${function_key_9}"/>
+ <key name="10" value="$${function_key_10}"/>
+ <key name="11" value="$${function_key_11}"/>
+ <key name="12" value="$${function_key_12}"/>
+ </cli-keybindings>
+
+ <settings>
+ <!--Colorize the Console -->
+ <param name="colorize-console" value="true"/>
+ <!--Most channels to allow at once -->
+ <param name="max-sessions" value="1000"/>
+ <!--Most channels to create per second -->
+ <param name="sessions-per-second" value="30"/>
+ <!-- Default Global Log Level - value is one of debug,info,notice,warning,err,crit,alert -->
+ <param name="loglevel" value="debug"/>
+ <!--Try to catch any crashes that can be recoverable (in the context of a call)-->
+ <param name="crash-protection" value="false"/>
+ <!--<param name="max_dtmf_duration" value="192000"/>-->
+ <!--<param name="default_dtmf_duration" value="8000"/>-->
+ <!--
+ If you want to send out voicemail notifications via Windows you'll need to change the mailer-app
+ variable to the setting below:
+
+ <param name="mailer-app" value="msmtp"/>
+
+ Donot change mailer-app-args.
+ You will also need to download a sendmail clone for Windows (msmtp). This version works without issue:
+ http://msmtp.sourceforge.net/index.html. Download and copy the .exe to %winddir%\system32.
+ You'll need to create a small config file for smtp credentials (host name, authentication, tls, etc.) in
+ %USERPROFILE%\Application Data\ called "msmtprc.txt". Below is a sample copy of this file:
+
+ ###################################
+ # The SMTP server of the provider.
+ account provider
+ host smtp.myisp.com
+ from john@myisp.com
+ auth login
+ user johndoe
+ password mypassword
+
+ # Set a default account
+ account default : provider
+ ###################################
+
+ -->
+ <param name="mailer-app" value="sendmail"/>
+ <param name="mailer-app-args" value="-t"/>
+ <param name="dump-cores" value="yes"/>
+ <!--RTP port range -->
+ <!--<param name="rtp-start-port" value="16384"/>-->
+ <!--<param name="rtp-end-port" value="32768"/>-->
+ </settings>
+
+</configuration>
+
--- /dev/null
+<configuration name="syslog.conf" description="Syslog Logger">
+ <!-- SYSLOG -->
+ <!-- emerg - system is unusable -->
+ <!-- alert - action must be taken immediately -->
+ <!-- crit - critical conditions -->
+ <!-- err - error conditions -->
+ <!-- warning - warning conditions -->
+ <!-- notice - normal, but significant, condition -->
+ <!-- info - informational message -->
+ <!-- debug - debug-level message -->
+ <settings>
+ <param name="ident" value="freeswitch"/>
+ <param name="loglevel" value="warning"/>
+ </settings>
+</configuration>
--- /dev/null
+<configuration name="timezones.conf" description="Timezones">
+ <timezones>
+ <zone name="Africa/Abidjan" value="GMT0" />
+ <zone name="Africa/Accra" value="GMT0" />
+ <zone name="Africa/Addis_Ababa" value="EAT-3" />
+ <zone name="Africa/Algiers" value="CET-1" />
+ <zone name="Africa/Asmara" value="EAT-3" />
+ <zone name="Africa/Asmera" value="EAT-3" />
+ <zone name="Africa/Bamako" value="GMT0" />
+ <zone name="Africa/Bangui" value="WAT-1" />
+ <zone name="Africa/Banjul" value="GMT0" />
+ <zone name="Africa/Bissau" value="GMT0" />
+ <zone name="Africa/Blantyre" value="CAT-2" />
+ <zone name="Africa/Brazzaville" value="WAT-1" />
+ <zone name="Africa/Bujumbura" value="CAT-2" />
+ <zone name="Africa/Cairo" value="EEST" />
+ <zone name="Africa/Casablanca" value="WET0" />
+ <zone name="Africa/Ceuta" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Africa/Conakry" value="GMT0" />
+ <zone name="Africa/Dakar" value="GMT0" />
+ <zone name="Africa/Dar_es_Salaam" value="EAT-3" />
+ <zone name="Africa/Djibouti" value="EAT-3" />
+ <zone name="Africa/Douala" value="WAT-1" />
+ <zone name="Africa/El_Aaiun" value="WET0" />
+ <zone name="Africa/Freetown" value="GMT0" />
+ <zone name="Africa/Gaborone" value="CAT-2" />
+ <zone name="Africa/Harare" value="CAT-2" />
+ <zone name="Africa/Johannesburg" value="SAST-2" />
+ <zone name="Africa/Kampala" value="EAT-3" />
+ <zone name="Africa/Khartoum" value="EAT-3" />
+ <zone name="Africa/Kigali" value="CAT-2" />
+ <zone name="Africa/Kinshasa" value="WAT-1" />
+ <zone name="Africa/Lagos" value="WAT-1" />
+ <zone name="Africa/Libreville" value="WAT-1" />
+ <zone name="Africa/Lome" value="GMT0" />
+ <zone name="Africa/Luanda" value="WAT-1" />
+ <zone name="Africa/Lubumbashi" value="CAT-2" />
+ <zone name="Africa/Lusaka" value="CAT-2" />
+ <zone name="Africa/Malabo" value="WAT-1" />
+ <zone name="Africa/Maputo" value="CAT-2" />
+ <zone name="Africa/Maseru" value="SAST-2" />
+ <zone name="Africa/Mbabane" value="SAST-2" />
+ <zone name="Africa/Mogadishu" value="EAT-3" />
+ <zone name="Africa/Monrovia" value="GMT0" />
+ <zone name="Africa/Nairobi" value="EAT-3" />
+ <zone name="Africa/Ndjamena" value="WAT-1" />
+ <zone name="Africa/Niamey" value="WAT-1" />
+ <zone name="Africa/Nouakchott" value="GMT0" />
+ <zone name="Africa/Ouagadougou" value="GMT0" />
+ <zone name="Africa/Porto-Novo" value="WAT-1" />
+ <zone name="Africa/Sao_Tome" value="GMT0" />
+ <zone name="Africa/Timbuktu" value="GMT0" />
+ <zone name="Africa/Tripoli" value="EET-2" />
+ <zone name="Africa/Tunis" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Africa/Windhoek" value="WAT-1WAST,M9.1.0,M4.1.0" />
+
+ <zone name="America/Adak" value="HAST10HADT,M3.2.0,M11.1.0" />
+ <zone name="America/Anchorage" value="AKST9AKDT,M3.2.0,M11.1.0" />
+ <zone name="America/Anguilla" value="AST4" />
+ <zone name="America/Antigua" value="AST4" />
+ <zone name="America/Araguaina" value="BRT3" />
+ <zone name="America/Argentina/Buenos_Aires" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/Catamarca" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/ComodRivadavia" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/Cordoba" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/Jujuy" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/La_Rioja" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/Mendoza" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/Rio_Gallegos" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/San_Juan" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/San_Luis" value="ART3" />
+ <zone name="America/Argentina/Tucuman" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/Ushuaia" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Aruba" value="AST4" />
+ <zone name="America/Asuncion" value="PYT4PYST,M10.3.0/0,M3.2.0/0" />
+ <zone name="America/Atikokan" value="EST5" />
+ <zone name="America/Atka" value="HAST10HADT,M3.2.0,M11.1.0" />
+ <zone name="America/Bahia" value="BRT3" />
+ <zone name="America/Barbados" value="AST4" />
+ <zone name="America/Belem" value="BRT3" />
+ <zone name="America/Belize" value="CST6" />
+ <zone name="America/Blanc-Sablon" value="AST4" />
+ <zone name="America/Boa_Vista" value="AMT4" />
+ <zone name="America/Bogota" value="COT5" />
+ <zone name="America/Boise" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="America/Buenos_Aires" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Cambridge_Bay" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="America/Campo_Grande" value="AMT4AMST,M10.2.0/0,M2.3.0/0" />
+ <zone name="America/Cancun" value="CST6CDT,M4.1.0,M10.5.0" />
+ <zone name="America/Caracas" value="VET4:30" />
+ <zone name="America/Catamarca" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Cayenne" value="GFT3" />
+ <zone name="America/Cayman" value="EST5" />
+ <zone name="America/Chicago" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/Chihuahua" value="MST7MDT,M4.1.0,M10.5.0" />
+ <zone name="America/Coral_Harbour" value="EST5" />
+ <zone name="America/Cordoba" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Costa_Rica" value="CST6" />
+ <zone name="America/Cuiaba" value="AMT4AMST,M10.2.0/0,M2.3.0/0" />
+ <zone name="America/Curacao" value="AST4" />
+ <zone name="America/Danmarkshavn" value="GMT0" />
+ <zone name="America/Dawson" value="PST8PDT,M3.2.0,M11.1.0" />
+ <zone name="America/Dawson_Creek" value="MST7" />
+ <zone name="America/Denver" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="America/Detroit" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Dominica" value="AST4" />
+ <zone name="America/Edmonton" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="America/Eirunepe" value="ACT5" />
+ <zone name="America/El_Salvador" value="CST6" />
+ <zone name="America/Ensenada" value="PST8PDT,M4.1.0,M10.5.0" />
+ <zone name="America/Fortaleza" value="BRT3" />
+ <zone name="America/Fort_Wayne" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Glace_Bay" value="AST4ADT,M3.2.0,M11.1.0" />
+ <zone name="America/Godthab" value="WGST" />
+ <zone name="America/Goose_Bay" value="AST4ADT,M3.2.0/0:01,M11.1.0/0:01" />
+ <zone name="America/Grand_Turk" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Grenada" value="AST4" />
+ <zone name="America/Guadeloupe" value="AST4" />
+ <zone name="America/Guatemala" value="CST6" />
+ <zone name="America/Guayaquil" value="ECT5" />
+ <zone name="America/Guyana" value="GYT4" />
+ <zone name="America/Halifax" value="AST4ADT,M3.2.0,M11.1.0" />
+ <zone name="America/Havana" value="CST5CDT,M3.3.0/0,M10.5.0/1" />
+ <zone name="America/Hermosillo" value="MST7" />
+ <zone name="America/Indiana/Indianapolis" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Indiana/Knox" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/Indiana/Marengo" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Indiana/Petersburg" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Indianapolis" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Indiana/Tell_City" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/Indiana/Vevay" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Indiana/Vincennes" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Indiana/Winamac" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Inuvik" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="America/Iqaluit" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Jamaica" value="EST5" />
+ <zone name="America/Jujuy" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Juneau" value="AKST9AKDT,M3.2.0,M11.1.0" />
+ <zone name="America/Kentucky/Louisville" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Kentucky/Monticello" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Knox_IN" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/La_Paz" value="BOT4" />
+ <zone name="America/Lima" value="PET5" />
+ <zone name="America/Los_Angeles" value="PST8PDT,M3.2.0,M11.1.0" />
+ <zone name="America/Louisville" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Maceio" value="BRT3" />
+ <zone name="America/Managua" value="CST6" />
+ <zone name="America/Manaus" value="AMT4" />
+ <zone name="America/Marigot" value="AST4" />
+ <zone name="America/Martinique" value="AST4" />
+ <zone name="America/Mazatlan" value="MST7MDT,M4.1.0,M10.5.0" />
+ <zone name="America/Mendoza" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Menominee" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/Merida" value="CST6CDT,M4.1.0,M10.5.0" />
+ <zone name="America/Mexico_City" value="CST6CDT,M4.1.0,M10.5.0" />
+ <zone name="America/Miquelon" value="PMST3PMDT,M3.2.0,M11.1.0" />
+ <zone name="America/Moncton" value="AST4ADT,M3.2.0,M11.1.0" />
+ <zone name="America/Monterrey" value="CST6CDT,M4.1.0,M10.5.0" />
+ <zone name="America/Montevideo" value="UYT3UYST,M10.1.0,M3.2.0" />
+ <zone name="America/Montreal" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Montserrat" value="AST4" />
+ <zone name="America/Nassau" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/New_York" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Nipigon" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Nome" value="AKST9AKDT,M3.2.0,M11.1.0" />
+ <zone name="America/Noronha" value="FNT2" />
+ <zone name="America/North_Dakota/Center" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/North_Dakota/New_Salem" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/Panama" value="EST5" />
+ <zone name="America/Pangnirtung" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Paramaribo" value="SRT3" />
+ <zone name="America/Phoenix" value="MST7" />
+ <zone name="America/Port-au-Prince" value="EST5" />
+ <zone name="America/Porto_Acre" value="ACT5" />
+ <zone name="America/Port_of_Spain" value="AST4" />
+ <zone name="America/Porto_Velho" value="AMT4" />
+ <zone name="America/Puerto_Rico" value="AST4" />
+ <zone name="America/Rainy_River" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/Rankin_Inlet" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/Recife" value="BRT3" />
+ <zone name="America/Regina" value="CST6" />
+ <zone name="America/Resolute" value="EST5" />
+ <zone name="America/Rio_Branco" value="ACT5" />
+ <zone name="America/Rosario" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Santiago" value="CLST" />
+ <zone name="America/Santo_Domingo" value="AST4" />
+ <zone name="America/Sao_Paulo" value="BRT3BRST,M10.2.0/0,M2.3.0/0" />
+ <zone name="America/Scoresbysund" value="EGT1EGST,M3.5.0/0,M10.5.0/1" />
+ <zone name="America/Shiprock" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="America/St_Barthelemy" value="AST4" />
+ <zone name="America/St_Johns" value="NST3:30NDT,M3.2.0/0:01,M11.1.0/0:01" />
+ <zone name="America/St_Kitts" value="AST4" />
+ <zone name="America/St_Lucia" value="AST4" />
+ <zone name="America/St_Thomas" value="AST4" />
+ <zone name="America/St_Vincent" value="AST4" />
+ <zone name="America/Swift_Current" value="CST6" />
+ <zone name="America/Tegucigalpa" value="CST6" />
+ <zone name="America/Thule" value="AST4ADT,M3.2.0,M11.1.0" />
+ <zone name="America/Thunder_Bay" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Tijuana" value="PST8PDT,M4.1.0,M10.5.0" />
+ <zone name="America/Toronto" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Tortola" value="AST4" />
+ <zone name="America/Vancouver" value="PST8PDT,M3.2.0,M11.1.0" />
+ <zone name="America/Virgin" value="AST4" />
+ <zone name="America/Whitehorse" value="PST8PDT,M3.2.0,M11.1.0" />
+ <zone name="America/Winnipeg" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/Yakutat" value="AKST9AKDT,M3.2.0,M11.1.0" />
+ <zone name="America/Yellowknife" value="MST7MDT,M3.2.0,M11.1.0" />
+
+ <zone name="Antarctica/Casey" value="WST-8" />
+ <zone name="Antarctica/Davis" value="DAVT-7" />
+ <zone name="Antarctica/DumontDUrville" value="DDUT-10" />
+ <zone name="Antarctica/Mawson" value="MAWT-6" />
+ <zone name="Antarctica/McMurdo" value="NZST-12NZDT,M9.5.0,M4.1.0/3" />
+ <zone name="Antarctica/Palmer" value="CLST" />
+ <zone name="Antarctica/Rothera" value="ROTT3" />
+ <zone name="Antarctica/South_Pole" value="NZST-12NZDT,M9.5.0,M4.1.0/3" />
+ <zone name="Antarctica/Syowa" value="SYOT-3" />
+ <zone name="Antarctica/Vostok" value="VOST-6" />
+
+ <zone name="Arctic/Longyearbyen" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+
+ <zone name="Asia/Aden" value="AST-3" />
+ <zone name="Asia/Almaty" value="ALMT-6" />
+ <zone name="Asia/Amman" value="EET-2EEST,M3.5.4/0,M10.5.5/1" />
+ <zone name="Asia/Anadyr" value="ANAT-12ANAST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Aqtau" value="AQTT-5" />
+ <zone name="Asia/Aqtobe" value="AQTT-5" />
+ <zone name="Asia/Ashgabat" value="TMT-5" />
+ <zone name="Asia/Ashkhabad" value="TMT-5" />
+ <zone name="Asia/Baghdad" value="AST-3" />
+ <zone name="Asia/Bahrain" value="AST-3" />
+ <zone name="Asia/Baku" value="AZT-4AZST,M3.5.0/4,M10.5.0/5" />
+ <zone name="Asia/Bangkok" value="ICT-7" />
+ <zone name="Asia/Beirut" value="EET-2EEST,M3.5.0/0,M10.5.0/0" />
+ <zone name="Asia/Bishkek" value="KGT-6" />
+ <zone name="Asia/Brunei" value="BNT-8" />
+ <zone name="Asia/Calcutta" value="IST-5:30" />
+ <zone name="Asia/Choibalsan" value="CHOT-9" />
+ <zone name="Asia/Chongqing" value="CST-8" />
+ <zone name="Asia/Chungking" value="CST-8" />
+ <zone name="Asia/Colombo" value="IST-5:30" />
+ <zone name="Asia/Dacca" value="BDT-6" />
+ <zone name="Asia/Damascus" value="EET-2EEST,M4.1.5/0,J274/0" />
+ <zone name="Asia/Dhaka" value="BDT-6" />
+ <zone name="Asia/Dili" value="TLT-9" />
+ <zone name="Asia/Dubai" value="GST-4" />
+ <zone name="Asia/Dushanbe" value="TJT-5" />
+ <zone name="Asia/Gaza" value="EET-2EEST,J91/0,M9.2.4" />
+ <zone name="Asia/Harbin" value="CST-8" />
+ <zone name="Asia/Ho_Chi_Minh" value="ICT-7" />
+ <zone name="Asia/Hong_Kong" value="HKT-8" />
+ <zone name="Asia/Hovd" value="HOVT-7" />
+ <zone name="Asia/Irkutsk" value="IRKT-8IRKST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Istanbul" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Asia/Jakarta" value="WIT-7" />
+ <zone name="Asia/Jayapura" value="EIT-9" />
+ <zone name="Asia/Jerusalem" value="IDDT" />
+ <zone name="Asia/Kabul" value="AFT-4:30" />
+ <zone name="Asia/Kamchatka" value="PETT-12PETST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Karachi" value="PKT-5" />
+ <zone name="Asia/Kashgar" value="CST-8" />
+ <zone name="Asia/Katmandu" value="NPT-5:45" />
+ <zone name="Asia/Kolkata" value="IST-5:30" />
+ <zone name="Asia/Krasnoyarsk" value="KRAT-7KRAST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Kuala_Lumpur" value="MYT-8" />
+ <zone name="Asia/Kuching" value="MYT-8" />
+ <zone name="Asia/Kuwait" value="AST-3" />
+ <zone name="Asia/Macao" value="CST-8" />
+ <zone name="Asia/Macau" value="CST-8" />
+ <zone name="Asia/Magadan" value="MAGT-11MAGST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Makassar" value="CIT-8" />
+ <zone name="Asia/Manila" value="PHT-8" />
+ <zone name="Asia/Muscat" value="GST-4" />
+ <zone name="Asia/Nicosia" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Asia/Novosibirsk" value="NOVT-6NOVST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Omsk" value="OMST-6OMSST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Oral" value="ORAT-5" />
+ <zone name="Asia/Phnom_Penh" value="ICT-7" />
+ <zone name="Asia/Pontianak" value="WIT-7" />
+ <zone name="Asia/Pyongyang" value="KST-9" />
+ <zone name="Asia/Qatar" value="AST-3" />
+ <zone name="Asia/Qyzylorda" value="QYZT-6" />
+ <zone name="Asia/Rangoon" value="MMT-6:30" />
+ <zone name="Asia/Riyadh" value="AST-3" />
+ <zone name="Asia/Riyadh87" value="zzz-3:07:04" />
+ <zone name="Asia/Riyadh88" value="zzz-3:07:04" />
+ <zone name="Asia/Riyadh89" value="zzz-3:07:04" />
+ <zone name="Asia/Saigon" value="ICT-7" />
+ <zone name="Asia/Sakhalin" value="SAKT-10SAKST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Samarkand" value="UZT-5" />
+ <zone name="Asia/Seoul" value="KST-9" />
+ <zone name="Asia/Shanghai" value="CST-8" />
+ <zone name="Asia/Singapore" value="SGT-8" />
+ <zone name="Asia/Taipei" value="CST-8" />
+ <zone name="Asia/Tashkent" value="UZT-5" />
+ <zone name="Asia/Tbilisi" value="GET-4" />
+ <zone name="Asia/Tehran" value="IRDT" />
+ <zone name="Asia/Tel_Aviv" value="IDDT" />
+ <zone name="Asia/Thimbu" value="BTT-6" />
+ <zone name="Asia/Thimphu" value="BTT-6" />
+ <zone name="Asia/Tokyo" value="JST-9" />
+ <zone name="Asia/Ujung_Pandang" value="CIT-8" />
+ <zone name="Asia/Ulaanbaatar" value="ULAT-8" />
+ <zone name="Asia/Ulan_Bator" value="ULAT-8" />
+ <zone name="Asia/Urumqi" value="CST-8" />
+ <zone name="Asia/Vientiane" value="ICT-7" />
+ <zone name="Asia/Vladivostok" value="VLAT-10VLAST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Yakutsk" value="YAKT-9YAKST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Yekaterinburg" value="YEKT-5YEKST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Yerevan" value="AMT-4AMST,M3.5.0,M10.5.0/3" />
+
+ <zone name="Atlantic/Azores" value="AZOT1AZOST,M3.5.0/0,M10.5.0/1" />
+ <zone name="Atlantic/Bermuda" value="AST4ADT,M3.2.0,M11.1.0" />
+ <zone name="Atlantic/Canary" value="WET0WEST,M3.5.0/1,M10.5.0" />
+ <zone name="Atlantic/Cape_Verde" value="CVT1" />
+ <zone name="Atlantic/Faeroe" value="WET0WEST,M3.5.0/1,M10.5.0" />
+ <zone name="Atlantic/Faroe" value="WET0WEST,M3.5.0/1,M10.5.0" />
+ <zone name="Atlantic/Jan_Mayen" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Atlantic/Madeira" value="WET0WEST,M3.5.0/1,M10.5.0" />
+ <zone name="Atlantic/Reykjavik" value="GMT0" />
+ <zone name="Atlantic/South_Georgia" value="GST2" />
+ <zone name="Atlantic/Stanley" value="FKT4FKST,M9.1.0,M4.3.0" />
+ <zone name="Atlantic/St_Helena" value="GMT0" />
+
+ <zone name="Australia/ACT" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Adelaide" value="CST-9:30CST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Brisbane" value="EST-10" />
+ <zone name="Australia/Broken_Hill" value="CST-9:30CST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Canberra" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Currie" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Darwin" value="CST-9:30" />
+ <zone name="Australia/Eucla" value="CWST-8:45" />
+ <zone name="Australia/Hobart" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/LHI" value="LHST-10:30LHST-11,M10.1.0,M4.1.0" />
+ <zone name="Australia/Lindeman" value="EST-10" />
+ <zone name="Australia/Lord_Howe" value="LHST-10:30LHST-11,M10.1.0,M4.1.0" />
+ <zone name="Australia/Melbourne" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/North" value="CST-9:30" />
+ <zone name="Australia/NSW" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Perth" value="WST-8" />
+ <zone name="Australia/Queensland" value="EST-10" />
+ <zone name="Australia/South" value="CST-9:30CST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Sydney" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Tasmania" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Victoria" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/West" value="WST-8" />
+ <zone name="Australia/Yancowinna" value="CST-9:30CST,M10.1.0,M4.1.0/3" />
+
+ <zone name="Brazil/Acre" value="ACT5" />
+ <zone name="Brazil/DeNoronha" value="FNT2" />
+ <zone name="Brazil/East" value="BRT3BRST,M10.2.0/0,M2.3.0/0" />
+ <zone name="Brazil/West" value="AMT4" />
+
+ <zone name="Canada/Atlantic" value="AST4ADT,M3.2.0,M11.1.0" />
+ <zone name="Canada/Central" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="Canada/Eastern" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="Canada/East-Saskatchewan" value="CST6" />
+ <zone name="Canada/Mountain" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="Canada/Newfoundland" value="NST3:30NDT,M3.2.0/0:01,M11.1.0/0:01" />
+ <zone name="Canada/Pacific" value="PST8PDT,M3.2.0,M11.1.0" />
+ <zone name="Canada/Saskatchewan" value="CST6" />
+ <zone name="Canada/Yukon" value="PST8PDT,M3.2.0,M11.1.0" />
+
+ <zone name="Chile/Continental" value="CLST" />
+ <zone name="Chile/EasterIsland" value="EASST" />
+
+ <zone name="Etc/GMT" value="GMT0" />
+ <zone name="Etc/GMT0" value="GMT0" />
+ <zone name="Etc/GMT-0" value="GMT0" />
+ <zone name="Etc/GMT+0" value="GMT0" />
+ <zone name="Etc/GMT-1" value="GMT-1" />
+ <zone name="Etc/GMT+1" value="GMT+1" />
+ <zone name="Etc/GMT-10" value="GMT-10" />
+ <zone name="Etc/GMT+10" value="GMT+10" />
+ <zone name="Etc/GMT-11" value="GMT-11" />
+ <zone name="Etc/GMT+11" value="GMT+11" />
+ <zone name="Etc/GMT-12" value="GMT-12" />
+ <zone name="Etc/GMT+12" value="GMT+12" />
+ <zone name="Etc/GMT-13" value="GMT-13" />
+ <zone name="Etc/GMT-14" value="GMT-14" />
+ <zone name="Etc/GMT-2" value="GMT-2" />
+ <zone name="Etc/GMT+2" value="GMT+2" />
+ <zone name="Etc/GMT-3" value="GMT-3" />
+ <zone name="Etc/GMT+3" value="GMT+3" />
+ <zone name="Etc/GMT-4" value="GMT-4" />
+ <zone name="Etc/GMT+4" value="GMT+4" />
+ <zone name="Etc/GMT-5" value="GMT-5" />
+ <zone name="Etc/GMT+5" value="GMT+5" />
+ <zone name="Etc/GMT-6" value="GMT-6" />
+ <zone name="Etc/GMT+6" value="GMT+6" />
+ <zone name="Etc/GMT-7" value="GMT-7" />
+ <zone name="Etc/GMT+7" value="GMT+7" />
+ <zone name="Etc/GMT-8" value="GMT-8" />
+ <zone name="Etc/GMT+8" value="GMT+8" />
+ <zone name="Etc/GMT-9" value="GMT-9" />
+ <zone name="Etc/GMT+9" value="GMT+9" />
+ <zone name="Etc/Greenwich" value="GMT0" />
+ <zone name="Etc/UCT" value="UCT0" />
+ <zone name="Etc/Universal" value="UTC0" />
+ <zone name="Etc/UTC" value="UTC0" />
+ <zone name="Etc/Zulu" value="UTC0" />
+
+ <zone name="Europe/Amsterdam" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Andorra" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Athens" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Belfast" value="GMT0BST,M3.5.0/1,M10.5.0" />
+ <zone name="Europe/Belgrade" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Berlin" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Bratislava" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Brussels" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Bucharest" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Budapest" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Chisinau" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Copenhagen" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Dublin" value="GMT0IST,M3.5.0/1,M10.5.0" />
+ <zone name="Europe/Gibraltar" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Guernsey" value="GMT0BST,M3.5.0/1,M10.5.0" />
+ <zone name="Europe/Helsinki" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Isle_of_Man" value="GMT0BST,M3.5.0/1,M10.5.0" />
+ <zone name="Europe/Istanbul" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Jersey" value="GMT0BST,M3.5.0/1,M10.5.0" />
+ <zone name="Europe/Kaliningrad" value="EET-2EEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Kiev" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Lisbon" value="WET0WEST,M3.5.0/1,M10.5.0" />
+ <zone name="Europe/Ljubljana" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/London" value="GMT0BST,M3.5.0/1,M10.5.0" />
+ <zone name="Europe/Luxembourg" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Madrid" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Malta" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Mariehamn" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Minsk" value="EET-2EEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Monaco" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Moscow" value="MSK-3MSD,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Nicosia" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Oslo" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Paris" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Podgorica" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Prague" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Riga" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Rome" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Samara" value="SAMT-4SAMST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/San_Marino" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Sarajevo" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Simferopol" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Skopje" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Sofia" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Stockholm" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Tallinn" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Tirane" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Tiraspol" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Uzhgorod" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Vaduz" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Vatican" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Vienna" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Vilnius" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Volgograd" value="VOLT-3VOLST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Warsaw" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Zagreb" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Zaporozhye" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Zurich" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+
+ <zone name="Indian/Antananarivo" value="EAT-3" />
+ <zone name="Indian/Chagos" value="IOT-6" />
+ <zone name="Indian/Christmas" value="CXT-7" />
+ <zone name="Indian/Cocos" value="CCT-6:30" />
+ <zone name="Indian/Comoro" value="EAT-3" />
+ <zone name="Indian/Kerguelen" value="TFT-5" />
+ <zone name="Indian/Mahe" value="SCT-4" />
+ <zone name="Indian/Maldives" value="MVT-5" />
+ <zone name="Indian/Mauritius" value="MUT-4" />
+ <zone name="Indian/Mayotte" value="EAT-3" />
+ <zone name="Indian/Reunion" value="RET-4" />
+
+ <zone name="Mexico/BajaNorte" value="PST8PDT,M4.1.0,M10.5.0" />
+ <zone name="Mexico/BajaSur" value="MST7MDT,M4.1.0,M10.5.0" />
+ <zone name="Mexico/General" value="CST6CDT,M4.1.0,M10.5.0" />
+
+ <zone name="Mideast/Riyadh87" value="zzz-3:07:04" />
+ <zone name="Mideast/Riyadh88" value="zzz-3:07:04" />
+ <zone name="Mideast/Riyadh89" value="zzz-3:07:04" />
+
+ <zone name="Pacific/Apia" value="WST11" />
+ <zone name="Pacific/Auckland" value="NZST-12NZDT,M9.5.0,M4.1.0/3" />
+ <zone name="Pacific/Chatham" value="CHAST-12:45CHADT,M9.5.0/2:45,M4.1.0/3:45" />
+ <zone name="Pacific/Easter" value="EASST" />
+ <zone name="Pacific/Efate" value="VUT-11" />
+ <zone name="Pacific/Enderbury" value="PHOT-13" />
+ <zone name="Pacific/Fakaofo" value="TKT10" />
+ <zone name="Pacific/Fiji" value="FJT-12" />
+ <zone name="Pacific/Funafuti" value="TVT-12" />
+ <zone name="Pacific/Galapagos" value="GALT6" />
+ <zone name="Pacific/Gambier" value="GAMT9" />
+ <zone name="Pacific/Guadalcanal" value="SBT-11" />
+ <zone name="Pacific/Guam" value="ChST-10" />
+ <zone name="Pacific/Honolulu" value="HST10" />
+ <zone name="Pacific/Johnston" value="HST10" />
+ <zone name="Pacific/Kiritimati" value="LINT-14" />
+ <zone name="Pacific/Kosrae" value="KOST-11" />
+ <zone name="Pacific/Kwajalein" value="MHT-12" />
+ <zone name="Pacific/Majuro" value="MHT-12" />
+ <zone name="Pacific/Marquesas" value="MART9:30" />
+ <zone name="Pacific/Midway" value="SST11" />
+ <zone name="Pacific/Nauru" value="NRT-12" />
+ <zone name="Pacific/Niue" value="NUT11" />
+ <zone name="Pacific/Norfolk" value="NFT-11:30" />
+ <zone name="Pacific/Noumea" value="NCT-11" />
+ <zone name="Pacific/Pago_Pago" value="SST11" />
+ <zone name="Pacific/Palau" value="PWT-9" />
+ <zone name="Pacific/Pitcairn" value="PST8" />
+ <zone name="Pacific/Ponape" value="PONT-11" />
+ <zone name="Pacific/Port_Moresby" value="PGT-10" />
+ <zone name="Pacific/Rarotonga" value="CKT10" />
+ <zone name="Pacific/Saipan" value="ChST-10" />
+ <zone name="Pacific/Samoa" value="SST11" />
+ <zone name="Pacific/Tahiti" value="TAHT10" />
+ <zone name="Pacific/Tarawa" value="GILT-12" />
+ <zone name="Pacific/Tongatapu" value="TOT-13" />
+ <zone name="Pacific/Truk" value="TRUT-10" />
+ <zone name="Pacific/Wake" value="WAKT-12" />
+ <zone name="Pacific/Wallis" value="WFT-12" />
+ <zone name="Pacific/Yap" value="TRUT-10" />
+
+ <zone name="SystemV/AST4" value="AST4" />
+ <zone name="SystemV/AST4ADT" value="AST4ADT,M3.2.0,M11.1.0" />
+ <zone name="SystemV/CST6" value="CST6" />
+ <zone name="SystemV/CST6CDT" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="SystemV/EST5" value="EST5" />
+ <zone name="SystemV/EST5EDT" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="SystemV/HST10" value="HST10" />
+ <zone name="SystemV/MST7" value="MST7" />
+ <zone name="SystemV/MST7MDT" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="SystemV/PST8" value="PST8" />
+ <zone name="SystemV/PST8PDT" value="PST8PDT,M3.2.0,M11.1.0" />
+ <zone name="SystemV/YST9" value="GAMT9" />
+ <zone name="SystemV/YST9YDT" value="AKST9AKDT,M3.2.0,M11.1.0" />
+
+ <zone name="US/Alaska" value="AKST9AKDT,M3.2.0,M11.1.0" />
+ <zone name="US/Aleutian" value="HAST10HADT,M3.2.0,M11.1.0" />
+ <zone name="US/Arizona" value="MST7" />
+ <zone name="US/Central" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="US/Eastern" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="US/East-Indiana" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="US/Hawaii" value="HST10" />
+ <zone name="US/Indiana-Starke" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="US/Michigan" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="US/Mountain" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="US/Pacific" value="PST8PDT,M3.2.0,M11.1.0" />
+ <zone name="US/Samoa" value="SST11" />
+ </timezones>
+</configuration>
--- /dev/null
+<configuration name="voicemail.conf" description="Voicemail">
+ <settings>
+ </settings>
+ <profiles>
+ <profile name="default">
+ <param name="file-extension" value="wav"/>
+ <param name="terminator-key" value="#"/>
+ <param name="max-login-attempts" value="3"/>
+ <param name="digit-timeout" value="10000"/>
+ <param name="min-record-len" value="3"/>
+ <param name="max-record-len" value="300"/>
+ <param name="tone-spec" value="%(1000, 0, 640)"/>
+ <param name="callback-dialplan" value="XML"/>
+ <param name="callback-context" value="default"/>
+ <param name="play-new-messages-key" value="1"/>
+ <param name="play-saved-messages-key" value="2"/>
+ <param name="main-menu-key" value="0"/>
+ <param name="config-menu-key" value="5"/>
+ <param name="record-greeting-key" value="1"/>
+ <param name="choose-greeting-key" value="2"/>
+ <param name="change-pass-key" value="6"/>
+ <param name="record-name-key" value="3"/>
+ <param name="record-file-key" value="3"/>
+ <param name="listen-file-key" value="1"/>
+ <param name="save-file-key" value="2"/>
+ <param name="delete-file-key" value="7"/>
+ <param name="undelete-file-key" value="8"/>
+ <param name="email-key" value="4"/>
+ <param name="pause-key" value="0"/>
+ <param name="restart-key" value="1"/>
+ <param name="ff-key" value="6"/>
+ <param name="rew-key" value="4"/>
+ <param name="record-silence-threshold" value="200"/>
+ <param name="record-silence-hits" value="2"/>
+ <param name="web-template-file" value="web-vm.tpl"/>
+ <!-- if you need to change the sample rate of the recorded files e.g. gmail voicemail player -->
+ <!--<param name="record-sample-rate" value="11025"/>-->
+ <!-- the next two both must be set for this to be enabled
+ the extension is in the format of <dest> [<dialplan>] [<context>]
+ -->
+ <param name="operator-extension" value="operator XML default"/>
+ <param name="operator-key" value="9"/>
+ <param name="vmain-extension" value="vmain XML default"/>
+ <param name="vmain-key" value="*"/>
+ <!-- playback created files as soon as they were recorded by default -->
+ <!--<param name="auto-playback-recordings" value="true"/>-->
+ <email>
+ <param name="template-file" value="voicemail.tpl"/>
+ <param name="notify-template-file" value="notify-voicemail.tpl"/>
+ <!-- this is the format voicemail_time will have -->
+ <param name="date-fmt" value="%A, %B %d %Y, %I %M %p"/>
+ <param name="email-from" value="${voicemail_account}@${voicemail_domain}"/>
+ </email>
+ <!--<param name="storage-dir" value="/tmp"/>-->
+ <!--<param name="odbc-dsn" value="dsn:user:pass"/>-->
+ <!--<param name="record-comment" value="Your Comment"/>-->
+ <!--<param name="record-title" value="Your Title"/>-->
+ <!--<param name="record-copyright" value="Your Copyright"/>-->
+
+
+ </profile>
+ </profiles>
+</configuration>
--- /dev/null
+<configuration name="xml_cdr.conf" description="XML CDR CURL logger">
+ <settings>
+ <!-- the url to post to if blank web posting is disabled -->
+ <!-- <param name="url" value="http://localhost/cdr_curl/post.php"/> -->
+
+ <!-- optional: credentials to send to web server -->
+ <!-- <param name="cred" value="user:pass"/> -->
+
+ <!-- the total number of retries (not counting the first 'try') to post to webserver incase of failure -->
+ <!-- <param name="retries" value="2"/> -->
+
+ <!-- delay between retries in seconds, default is 5 seconds -->
+ <!-- <param name="delay" value="1"/> -->
+
+ <!-- optional: if not present we do not log every record to disk -->
+ <!-- either an absolute path, a relative path assuming ${prefix}/logs or a blank value will default to ${prefix}/logs/xml_cdr -->
+ <param name="log-dir" value=""/>
+
+ <!-- optional: if not present we do log the b leg -->
+ <!-- true or false if we should create a cdr for the b leg of a call-->
+ <param name="log-b-leg" value="false"/>
+
+ <!-- optional: if not present, all filenames are the uuid of the call -->
+ <!-- true or false if a leg files are prefixed "a_" -->
+ <param name="prefix-a-leg" value="true"/>
+
+ <!-- encode the post data may be 'true' for url encoding, 'false' for no encoding or 'base64' for base64 encoding -->
+ <param name="encode" value="true"/>
+
+ <!-- optional: set to true to disable Expect: 100-continue lighttpd requires this setting -->
+ <!--<param name="disable-100-continue" value="true"/>-->
+
+ <!-- optional: full path to the error log dir for failed web posts if not specified its the same as log-dir -->
+ <!-- either an absolute path, a relative path assuming ${prefix}/logs or a blank or omitted value will default to ${prefix}/logs/xml_cdr -->
+ <!-- <param name="err-log-dir" value="/tmp"/> -->
+
+ <!-- optional: if enabled this will disable CA root certificate checks by libcurl -->
+ <!-- note: default value is disabled. only enable if you want this! -->
+ <!-- <param name="ignore-cacert-check" value="true" /> -->
+
+ </settings>
+</configuration>
--- /dev/null
+<configuration name="xml_curl.conf" description="cURL XML Gateway">
+ <bindings>
+ <binding name="example">
+ <!-- The url to a gateway cgi that can generate xml similar to
+ what's in this file only on-the-fly (leave it commented if you dont
+ need it) -->
+ <!-- one or more |-delim of configuration|directory|dialplan -->
+ <param name="gateway-url" value="http://freeswitch.org/fs_curl/index.php" bindings="dialplan|directory|configuration"/>
+ <!-- set this to provide authentication credentials to the server -->
+ <!--<param name="gateway-credentials" value="muser:mypass"/>-->
+ <!-- set to true to disable Expect: 100-continue lighttpd requires this setting -->
+ <!--<param name="disable-100-continue" value="true"/>-->
+
+ <!-- optional: if enabled this will disable CA root certificate checks by libcurl -->
+ <!-- note: default value is disabled. only enable if you want this! -->
+ <!-- <param name="ignore-cacert-check" value="true" /> -->
+ <!-- one or more of these imply you want to pick the exact variables that are transmitted -->
+ <!--<param name="enable-post-var" value="Unique-ID"/>-->
+ </binding>
+ </bindings>
+</configuration>
--- /dev/null
+<configuration name="xml_rpc.conf" description="XML RPC">
+ <settings>
+ <!-- The port where you want to run the http service (default 8080) -->
+ <param name="http-port" value="8080"/>
+ <!-- if all 3 of the following params exist all http traffic will require auth -->
+ <param name="auth-realm" value="freeswitch"/>
+ <param name="auth-user" value="freeswitch"/>
+ <param name="auth-pass" value="works"/>
+ </settings>
+</configuration>
--- /dev/null
+<configuration name="zeroconf.conf" description="Zeroconf Event Handler">
+ <settings>
+ <param name="publish" value="yes"/>
+ <param name="browse" value="_sip._udp"/>
+ </settings>
+</configuration>
--- /dev/null
+<include>
+ <!--#comment
+ All comments starting with #command will be preprocessed and never sent to the xml parser
+ Valid instructions:
+ #include ==> Include another file to this exact point
+ (partial xml should be encased in <include></include> tags)
+ #set ==> Set a global variable (can be expanded during preprocessing with $$ variables)
+ (note the double $$ which denotes preprocessor variables)
+ #comment ==> A general comment such as this
+
+ The preprocessor will compile the full xml document to ${prefix}/log/freeswitch.xml.fsxml
+ Don't modify it while freeswitch is running cos it is mem mapped in most cases =D
+
+ The same can be achieved with the <X-PRE-PROCESS> tag where the attrs 'cmd' and 'data' are
+ parsed in the same way.
+ -->
+
+ <X-PRE-PROCESS cmd="include" data="vars.xml"/>
+
+ <section name="configuration" description="Various Configuration">
+ <X-PRE-PROCESS cmd="include" data="autoload_configs/*.xml"/>
+ </section>
+
+ <section name="dialplan" description="Regex/XML Dialplan">
+ <X-PRE-PROCESS cmd="include" data="dialplan/*.xml"/>
+ </section>
+
+ <!-- mod_dingaling is reliant on the vcard data in the "directory" section. -->
+ <!-- mod_sofia is reliant on the user data for authorization -->
+ <section name="directory" description="User Directory">
+ <X-PRE-PROCESS cmd="include" data="directory/*.xml"/>
+ </section>
+
+ <!-- phrases section (under development still) -->
+ <section name="phrases" description="Speech Phrase Management">
+ <macros>
+ <X-PRE-PROCESS cmd="include" data="lang/en/*.xml"/>
+ </macros>
+ </section>
+</include>
+
+
+
--- /dev/null
+# This is a comment. I love comments.
+
+# This file controls what Internet media types are sent to the client for
+# given file extension(s). Sending the correct media type to the client
+# is important so they know how to handle the content of the file.
+# Extra types can either be added here or by using an AddType directive
+# in your config files. For more information about Internet media types,
+# please read RFC 2045, 2046, 2047, 2048, and 2077. The Internet media type
+# registry is at <http://www.iana.org/assignments/media-types/>.
+
+# MIME type Extensions
+application/activemessage
+application/andrew-inset ez
+application/applefile
+application/atom+xml atom
+application/atomcat+xml atomcat
+application/atomicmail
+application/atomsvc+xml atomsvc
+application/auth-policy+xml
+application/batch-smtp
+application/beep+xml
+application/cals-1840
+application/ccxml+xml ccxml
+application/cellml+xml
+application/cnrp+xml
+application/commonground
+application/conference-info+xml
+application/cpl+xml
+application/csta+xml
+application/cstadata+xml
+application/cybercash
+application/davmount+xml davmount
+application/dca-rft
+application/dec-dx
+application/dialog-info+xml
+application/dicom
+application/dns
+application/dvcs
+application/ecmascript ecma
+application/edi-consent
+application/edi-x12
+application/edifact
+application/epp+xml
+application/eshop
+application/fastinfoset
+application/fastsoap
+application/fits
+application/font-tdpfr pfr
+application/h224
+application/http
+application/hyperstudio stk
+application/iges
+application/im-iscomposing+xml
+application/index
+application/index.cmd
+application/index.obj
+application/index.response
+application/index.vnd
+application/iotp
+application/ipp
+application/isup
+application/javascript js
+application/json json
+application/kpml-request+xml
+application/kpml-response+xml
+application/mac-binhex40 hqx
+application/mac-compactpro cpt
+application/macwriteii
+application/marc mrc
+application/mathematica ma nb mb
+application/mathml+xml mathml
+application/mbms-associated-procedure-description+xml
+application/mbms-deregister+xml
+application/mbms-envelope+xml
+application/mbms-msk+xml
+application/mbms-msk-response+xml
+application/mbms-protection-description+xml
+application/mbms-reception-report+xml
+application/mbms-register+xml
+application/mbms-register-response+xml
+application/mbms-user-service-description+xml
+application/mbox mbox
+application/mediaservercontrol+xml mscml
+application/mikey
+application/mp4 mp4s
+application/mpeg4-generic
+application/mpeg4-iod
+application/mpeg4-iod-xmt
+application/msword doc dot
+application/mxf mxf
+application/nasdata
+application/news-message-id
+application/news-transmission
+application/nss
+application/ocsp-request
+application/ocsp-response
+application/octet-stream bin dms lha lzh class so iso dmg dist distz pkg bpk dump elc
+application/oda oda
+application/oebps-package+xml
+application/ogg ogg
+application/parityfec
+application/pdf pdf
+application/pgp-encrypted pgp
+application/pgp-keys
+application/pgp-signature asc sig
+application/pics-rules prf
+application/pidf+xml
+application/pkcs10 p10
+application/pkcs7-mime p7m p7c
+application/pkcs7-signature p7s
+application/pkix-cert cer
+application/pkix-crl crl
+application/pkix-pkipath pkipath
+application/pkixcmp pki
+application/pls+xml pls
+application/poc-settings+xml
+application/postscript ai eps ps
+application/prs.alvestrand.titrax-sheet
+application/prs.cww cww
+application/prs.nprend
+application/prs.plucker
+application/qsig
+application/rdf+xml rdf
+application/reginfo+xml rif
+application/relax-ng-compact-syntax rnc
+application/remote-printing
+application/resource-lists+xml rl
+application/riscos
+application/rlmi+xml
+application/rls-services+xml rs
+application/rsd+xml rsd
+application/rss+xml rss
+application/rtf rtf
+application/rtx
+application/samlassertion+xml
+application/samlmetadata+xml
+application/sbml+xml sbml
+application/sdp sdp
+application/set-payment
+application/set-payment-initiation setpay
+application/set-registration
+application/set-registration-initiation setreg
+application/sgml
+application/sgml-open-catalog
+application/shf+xml shf
+application/sieve
+application/simple-filter+xml
+application/simple-message-summary
+application/simplesymbolcontainer
+application/slate
+application/smil
+application/smil+xml smi smil
+application/soap+fastinfoset
+application/soap+xml
+application/spirits-event+xml
+application/srgs gram
+application/srgs+xml grxml
+application/ssml+xml ssml
+application/timestamp-query
+application/timestamp-reply
+application/tve-trigger
+application/vemmi
+application/vividence.scriptfile
+application/vnd.3gpp.bsf+xml
+application/vnd.3gpp.pic-bw-large plb
+application/vnd.3gpp.pic-bw-small psb
+application/vnd.3gpp.pic-bw-var pvb
+application/vnd.3gpp.sms
+application/vnd.3gpp2.bcmcsinfo+xml
+application/vnd.3gpp2.sms
+application/vnd.3m.post-it-notes pwn
+application/vnd.accpac.simply.aso aso
+application/vnd.accpac.simply.imp imp
+application/vnd.acucobol acu
+application/vnd.acucorp atc acutc
+application/vnd.adobe.xdp+xml xdp
+application/vnd.adobe.xfdf xfdf
+application/vnd.aether.imp
+application/vnd.amiga.ami ami
+application/vnd.anser-web-certificate-issue-initiation cii
+application/vnd.anser-web-funds-transfer-initiation fti
+application/vnd.antix.game-component atx
+application/vnd.apple.installer+xml mpkg
+application/vnd.audiograph aep
+application/vnd.autopackage
+application/vnd.avistar+xml
+application/vnd.blueice.multipass mpm
+application/vnd.bmi bmi
+application/vnd.businessobjects rep
+application/vnd.cab-jscript
+application/vnd.canon-cpdl
+application/vnd.canon-lips
+application/vnd.cendio.thinlinc.clientconf
+application/vnd.chemdraw+xml cdxml
+application/vnd.chipnuts.karaoke-mmd mmd
+application/vnd.cinderella cdy
+application/vnd.cirpack.isdn-ext
+application/vnd.claymore cla
+application/vnd.clonk.c4group c4g c4d c4f c4p c4u
+application/vnd.commerce-battelle
+application/vnd.commonspace csp cst
+application/vnd.contact.cmsg cdbcmsg
+application/vnd.cosmocaller cmc
+application/vnd.crick.clicker clkx
+application/vnd.crick.clicker.keyboard clkk
+application/vnd.crick.clicker.palette clkp
+application/vnd.crick.clicker.template clkt
+application/vnd.crick.clicker.wordbank clkw
+application/vnd.criticaltools.wbs+xml wbs
+application/vnd.ctc-posml pml
+application/vnd.cups-pdf
+application/vnd.cups-postscript
+application/vnd.cups-ppd ppd
+application/vnd.cups-raster
+application/vnd.cups-raw
+application/vnd.curl curl
+application/vnd.cybank
+application/vnd.data-vision.rdz rdz
+application/vnd.denovo.fcselayout-link fe_launch
+application/vnd.dna dna
+application/vnd.dolby.mlp mlp
+application/vnd.dpgraph dpg
+application/vnd.dreamfactory dfac
+application/vnd.dvb.esgcontainer
+application/vnd.dvb.ipdcesgaccess
+application/vnd.dxr
+application/vnd.ecdis-update
+application/vnd.ecowin.chart mag
+application/vnd.ecowin.filerequest
+application/vnd.ecowin.fileupdate
+application/vnd.ecowin.series
+application/vnd.ecowin.seriesrequest
+application/vnd.ecowin.seriesupdate
+application/vnd.enliven nml
+application/vnd.epson.esf esf
+application/vnd.epson.msf msf
+application/vnd.epson.quickanime qam
+application/vnd.epson.salt slt
+application/vnd.epson.ssf ssf
+application/vnd.ericsson.quickcall
+application/vnd.eszigno3+xml es3 et3
+application/vnd.eudora.data
+application/vnd.ezpix-album ez2
+application/vnd.ezpix-package ez3
+application/vnd.fdf fdf
+application/vnd.ffsns
+application/vnd.fints
+application/vnd.flographit gph
+application/vnd.fluxtime.clip ftc
+application/vnd.framemaker fm frame maker
+application/vnd.frogans.fnc fnc
+application/vnd.frogans.ltf ltf
+application/vnd.fsc.weblaunch fsc
+application/vnd.fujitsu.oasys oas
+application/vnd.fujitsu.oasys2 oa2
+application/vnd.fujitsu.oasys3 oa3
+application/vnd.fujitsu.oasysgp fg5
+application/vnd.fujitsu.oasysprs bh2
+application/vnd.fujixerox.art-ex
+application/vnd.fujixerox.art4
+application/vnd.fujixerox.hbpl
+application/vnd.fujixerox.ddd ddd
+application/vnd.fujixerox.docuworks xdw
+application/vnd.fujixerox.docuworks.binder xbd
+application/vnd.fut-misnet
+application/vnd.fuzzysheet fzs
+application/vnd.genomatix.tuxedo txd
+application/vnd.google-earth.kml+xml kml
+application/vnd.google-earth.kmz kmz
+application/vnd.grafeq gqf gqs
+application/vnd.gridmp
+application/vnd.groove-account gac
+application/vnd.groove-help ghf
+application/vnd.groove-identity-message gim
+application/vnd.groove-injector grv
+application/vnd.groove-tool-message gtm
+application/vnd.groove-tool-template tpl
+application/vnd.groove-vcard vcg
+application/vnd.handheld-entertainment+xml zmm
+application/vnd.hbci hbci
+application/vnd.hcl-bireports
+application/vnd.hhe.lesson-player les
+application/vnd.hp-hpgl hpgl
+application/vnd.hp-hpid hpid
+application/vnd.hp-hps hps
+application/vnd.hp-jlyt jlt
+application/vnd.hp-pcl pcl
+application/vnd.hp-pclxl pclxl
+application/vnd.httphone
+application/vnd.hzn-3d-crossword x3d
+application/vnd.ibm.afplinedata
+application/vnd.ibm.electronic-media
+application/vnd.ibm.minipay mpy
+application/vnd.ibm.modcap afp listafp list3820
+application/vnd.ibm.rights-management irm
+application/vnd.ibm.secure-container sc
+application/vnd.igloader igl
+application/vnd.immervision-ivp ivp
+application/vnd.immervision-ivu ivu
+application/vnd.informedcontrol.rms+xml
+application/vnd.intercon.formnet xpw xpx
+application/vnd.intertrust.digibox
+application/vnd.intertrust.nncp
+application/vnd.intu.qbo qbo
+application/vnd.intu.qfx qfx
+application/vnd.ipunplugged.rcprofile rcprofile
+application/vnd.irepository.package+xml irp
+application/vnd.is-xpr xpr
+application/vnd.jam jam
+application/vnd.japannet-directory-service
+application/vnd.japannet-jpnstore-wakeup
+application/vnd.japannet-payment-wakeup
+application/vnd.japannet-registration
+application/vnd.japannet-registration-wakeup
+application/vnd.japannet-setstore-wakeup
+application/vnd.japannet-verification
+application/vnd.japannet-verification-wakeup
+application/vnd.jcp.javame.midlet-rms rms
+application/vnd.jisp jisp
+application/vnd.kahootz ktz ktr
+application/vnd.kde.karbon karbon
+application/vnd.kde.kchart chrt
+application/vnd.kde.kformula kfo
+application/vnd.kde.kivio flw
+application/vnd.kde.kontour kon
+application/vnd.kde.kpresenter kpr kpt
+application/vnd.kde.kspread ksp
+application/vnd.kde.kword kwd kwt
+application/vnd.kenameaapp htke
+application/vnd.kidspiration kia
+application/vnd.kinar kne knp
+application/vnd.koan skp skd skt skm
+application/vnd.liberty-request+xml
+application/vnd.llamagraphics.life-balance.desktop lbd
+application/vnd.llamagraphics.life-balance.exchange+xml lbe
+application/vnd.lotus-1-2-3 123
+application/vnd.lotus-approach apr
+application/vnd.lotus-freelance pre
+application/vnd.lotus-notes nsf
+application/vnd.lotus-organizer org
+application/vnd.lotus-screencam scm
+application/vnd.lotus-wordpro lwp
+application/vnd.macports.portpkg portpkg
+application/vnd.marlin.drm.actiontoken+xml
+application/vnd.marlin.drm.conftoken+xml
+application/vnd.marlin.drm.mdcf
+application/vnd.mcd mcd
+application/vnd.medcalcdata mc1
+application/vnd.mediastation.cdkey cdkey
+application/vnd.meridian-slingshot
+application/vnd.mfer mwf
+application/vnd.mfmp mfm
+application/vnd.micrografx.flo flo
+application/vnd.micrografx.igx igx
+application/vnd.mif mif
+application/vnd.minisoft-hp3000-save
+application/vnd.mitsubishi.misty-guard.trustweb
+application/vnd.mobius.daf daf
+application/vnd.mobius.dis dis
+application/vnd.mobius.mbk mbk
+application/vnd.mobius.mqy mqy
+application/vnd.mobius.msl msl
+application/vnd.mobius.plc plc
+application/vnd.mobius.txf txf
+application/vnd.mophun.application mpn
+application/vnd.mophun.certificate mpc
+application/vnd.motorola.flexsuite
+application/vnd.motorola.flexsuite.adsi
+application/vnd.motorola.flexsuite.fis
+application/vnd.motorola.flexsuite.gotap
+application/vnd.motorola.flexsuite.kmr
+application/vnd.motorola.flexsuite.ttc
+application/vnd.motorola.flexsuite.wem
+application/vnd.mozilla.xul+xml xul
+application/vnd.ms-artgalry cil
+application/vnd.ms-asf asf
+application/vnd.ms-cab-compressed cab
+application/vnd.ms-excel xls xlm xla xlc xlt xlw
+application/vnd.ms-fontobject eot
+application/vnd.ms-htmlhelp chm
+application/vnd.ms-ims ims
+application/vnd.ms-lrm lrm
+application/vnd.ms-playready.initiator+xml
+application/vnd.ms-powerpoint ppt pps pot
+application/vnd.ms-project mpp mpt
+application/vnd.ms-tnef
+application/vnd.ms-wmdrm.lic-chlg-req
+application/vnd.ms-wmdrm.lic-resp
+application/vnd.ms-wmdrm.meter-chlg-req
+application/vnd.ms-wmdrm.meter-resp
+application/vnd.ms-works wps wks wcm wdb
+application/vnd.ms-wpl wpl
+application/vnd.ms-xpsdocument xps
+application/vnd.mseq mseq
+application/vnd.msign
+application/vnd.music-niff
+application/vnd.musician mus
+application/vnd.ncd.control
+application/vnd.nervana
+application/vnd.netfpx
+application/vnd.neurolanguage.nlu nlu
+application/vnd.noblenet-directory nnd
+application/vnd.noblenet-sealer nns
+application/vnd.noblenet-web nnw
+application/vnd.nokia.catalogs
+application/vnd.nokia.conml+wbxml
+application/vnd.nokia.conml+xml
+application/vnd.nokia.isds-radio-presets
+application/vnd.nokia.iptv.config+xml
+application/vnd.nokia.landmark+wbxml
+application/vnd.nokia.landmark+xml
+application/vnd.nokia.landmarkcollection+xml
+application/vnd.nokia.n-gage.ac+xml
+application/vnd.nokia.n-gage.data ngdat
+application/vnd.nokia.n-gage.symbian.install n-gage
+application/vnd.nokia.ncd
+application/vnd.nokia.pcd+wbxml
+application/vnd.nokia.pcd+xml
+application/vnd.nokia.radio-preset rpst
+application/vnd.nokia.radio-presets rpss
+application/vnd.novadigm.edm edm
+application/vnd.novadigm.edx edx
+application/vnd.novadigm.ext ext
+application/vnd.oasis.opendocument.chart odc
+application/vnd.oasis.opendocument.chart-template otc
+application/vnd.oasis.opendocument.formula odf
+application/vnd.oasis.opendocument.formula-template otf
+application/vnd.oasis.opendocument.graphics odg
+application/vnd.oasis.opendocument.graphics-template otg
+application/vnd.oasis.opendocument.image odi
+application/vnd.oasis.opendocument.image-template oti
+application/vnd.oasis.opendocument.presentation odp
+application/vnd.oasis.opendocument.presentation-template otp
+application/vnd.oasis.opendocument.spreadsheet ods
+application/vnd.oasis.opendocument.spreadsheet-template ots
+application/vnd.oasis.opendocument.text odt
+application/vnd.oasis.opendocument.text-master otm
+application/vnd.oasis.opendocument.text-template ott
+application/vnd.oasis.opendocument.text-web oth
+application/vnd.obn
+application/vnd.olpc-sugar xo
+application/vnd.oma-scws-config
+application/vnd.oma-scws-http-request
+application/vnd.oma-scws-http-response
+application/vnd.oma.bcast.associated-procedure-parameter+xml
+application/vnd.oma.bcast.drm-trigger+xml
+application/vnd.oma.bcast.imd+xml
+application/vnd.oma.bcast.notification+xml
+application/vnd.oma.bcast.sgboot
+application/vnd.oma.bcast.sgdd+xml
+application/vnd.oma.bcast.sgdu
+application/vnd.oma.bcast.simple-symbol-container
+application/vnd.oma.bcast.smartcard-trigger+xml
+application/vnd.oma.bcast.sprov+xml
+application/vnd.oma.dd2+xml dd2
+application/vnd.oma.drm.risd+xml
+application/vnd.oma.group-usage-list+xml
+application/vnd.oma.poc.groups+xml
+application/vnd.oma.xcap-directory+xml
+application/vnd.omads-email+xml
+application/vnd.omads-file+xml
+application/vnd.omads-folder+xml
+application/vnd.omaloc-supl-init
+application/vnd.openofficeorg.extension oxt
+application/vnd.osa.netdeploy
+application/vnd.osgi.dp dp
+application/vnd.otps.ct-kip+xml
+application/vnd.palm prc pdb pqa oprc
+application/vnd.paos.xml
+application/vnd.pg.format str
+application/vnd.pg.osasli ei6
+application/vnd.piaccess.application-licence
+application/vnd.picsel efif
+application/vnd.poc.group-advertisement+xml
+application/vnd.pocketlearn plf
+application/vnd.powerbuilder6 pbd
+application/vnd.powerbuilder6-s
+application/vnd.powerbuilder7
+application/vnd.powerbuilder7-s
+application/vnd.powerbuilder75
+application/vnd.powerbuilder75-s
+application/vnd.preminet
+application/vnd.previewsystems.box box
+application/vnd.proteus.magazine mgz
+application/vnd.publishare-delta-tree qps
+application/vnd.pvi.ptid1 ptid
+application/vnd.pwg-multiplexed
+application/vnd.pwg-xhtml-print+xml
+application/vnd.qualcomm.brew-app-res
+application/vnd.quark.quarkxpress qxd qxt qwd qwt qxl qxb
+application/vnd.rapid
+application/vnd.recordare.musicxml mxl
+application/vnd.recordare.musicxml+xml
+application/vnd.renlearn.rlprint
+application/vnd.rn-realmedia rm
+application/vnd.ruckus.download
+application/vnd.s3sms
+application/vnd.scribus
+application/vnd.sealed.3df
+application/vnd.sealed.csf
+application/vnd.sealed.doc
+application/vnd.sealed.eml
+application/vnd.sealed.mht
+application/vnd.sealed.net
+application/vnd.sealed.ppt
+application/vnd.sealed.tiff
+application/vnd.sealed.xls
+application/vnd.sealedmedia.softseal.html
+application/vnd.sealedmedia.softseal.pdf
+application/vnd.seemail see
+application/vnd.sema sema
+application/vnd.semd semd
+application/vnd.semf semf
+application/vnd.shana.informed.formdata ifm
+application/vnd.shana.informed.formtemplate itp
+application/vnd.shana.informed.interchange iif
+application/vnd.shana.informed.package ipk
+application/vnd.simtech-mindmapper twd twds
+application/vnd.smaf mmf
+application/vnd.solent.sdkm+xml sdkm sdkd
+application/vnd.spotfire.dxp dxp
+application/vnd.spotfire.sfs sfs
+application/vnd.sss-cod
+application/vnd.sss-dtf
+application/vnd.sss-ntf
+application/vnd.street-stream
+application/vnd.sun.wadl+xml
+application/vnd.sus-calendar sus susp
+application/vnd.svd svd
+application/vnd.swiftview-ics
+application/vnd.syncml+xml xsm
+application/vnd.syncml.dm+wbxml bdm
+application/vnd.syncml.dm+xml xdm
+application/vnd.syncml.ds.notification
+application/vnd.tao.intent-module-archive tao
+application/vnd.tmobile-livetv tmo
+application/vnd.trid.tpt tpt
+application/vnd.triscape.mxs mxs
+application/vnd.trueapp tra
+application/vnd.truedoc
+application/vnd.ufdl ufd ufdl
+application/vnd.uiq.theme utz
+application/vnd.umajin umj
+application/vnd.unity unityweb
+application/vnd.uoml+xml uoml
+application/vnd.uplanet.alert
+application/vnd.uplanet.alert-wbxml
+application/vnd.uplanet.bearer-choice
+application/vnd.uplanet.bearer-choice-wbxml
+application/vnd.uplanet.cacheop
+application/vnd.uplanet.cacheop-wbxml
+application/vnd.uplanet.channel
+application/vnd.uplanet.channel-wbxml
+application/vnd.uplanet.list
+application/vnd.uplanet.list-wbxml
+application/vnd.uplanet.listcmd
+application/vnd.uplanet.listcmd-wbxml
+application/vnd.uplanet.signal
+application/vnd.vcx vcx
+application/vnd.vd-study
+application/vnd.vectorworks
+application/vnd.vidsoft.vidconference
+application/vnd.visio vsd vst vss vsw
+application/vnd.visionary vis
+application/vnd.vividence.scriptfile
+application/vnd.vsf vsf
+application/vnd.wap.sic
+application/vnd.wap.slc
+application/vnd.wap.wbxml wbxml
+application/vnd.wap.wmlc wmlc
+application/vnd.wap.wmlscriptc wmlsc
+application/vnd.webturbo wtb
+application/vnd.wfa.wsc
+application/vnd.wordperfect wpd
+application/vnd.wqd wqd
+application/vnd.wrq-hp3000-labelled
+application/vnd.wt.stf stf
+application/vnd.wv.csp+wbxml
+application/vnd.wv.csp+xml
+application/vnd.wv.ssp+xml
+application/vnd.xara xar
+application/vnd.xfdl xfdl
+application/vnd.xmpie.cpkg
+application/vnd.xmpie.dpkg
+application/vnd.xmpie.plan
+application/vnd.xmpie.ppkg
+application/vnd.xmpie.xlim
+application/vnd.yamaha.hv-dic hvd
+application/vnd.yamaha.hv-script hvs
+application/vnd.yamaha.hv-voice hvp
+application/vnd.yamaha.smaf-audio saf
+application/vnd.yamaha.smaf-phrase spf
+application/vnd.yellowriver-custom-menu cmp
+application/vnd.zzazz.deck+xml zaz
+application/voicexml+xml vxml
+application/watcherinfo+xml
+application/whoispp-query
+application/whoispp-response
+application/winhlp hlp
+application/wita
+application/wordperfect5.1
+application/wsdl+xml wsdl
+application/wspolicy+xml wspolicy
+application/x-ace-compressed ace
+application/x-bcpio bcpio
+application/x-bittorrent torrent
+application/x-bzip bz
+application/x-bzip2 bz2 boz
+application/x-cdlink vcd
+application/x-chat chat
+application/x-chess-pgn pgn
+application/x-compress
+application/x-cpio cpio
+application/x-csh csh
+application/x-director dcr dir dxr fgd
+application/x-dvi dvi
+application/x-futuresplash spl
+application/x-gtar gtar
+application/x-gzip
+application/x-hdf hdf
+application/x-latex latex
+application/x-ms-wmd wmd
+application/x-ms-wmz wmz
+application/x-msaccess mdb
+application/x-msbinder obd
+application/x-mscardfile crd
+application/x-msclip clp
+application/x-msdownload exe dll com bat msi
+application/x-msmediaview mvb m13 m14
+application/x-msmetafile wmf
+application/x-msmoney mny
+application/x-mspublisher pub
+application/x-msschedule scd
+application/x-msterminal trm
+application/x-mswrite wri
+application/x-netcdf nc cdf
+application/x-pkcs12 p12 pfx
+application/x-pkcs7-certificates p7b spc
+application/x-pkcs7-certreqresp p7r
+application/x-rar-compressed rar
+application/x-sh sh
+application/x-shar shar
+application/x-shockwave-flash swf
+application/x-stuffit sit
+application/x-stuffitx sitx
+application/x-sv4cpio sv4cpio
+application/x-sv4crc sv4crc
+application/x-tar tar
+application/x-tcl tcl
+application/x-tex tex
+application/x-texinfo texinfo texi
+application/x-ustar ustar
+application/x-wais-source src
+application/x-x509-ca-cert der crt
+application/x400-bp
+application/xcap-att+xml
+application/xcap-caps+xml
+application/xcap-el+xml
+application/xcap-error+xml
+application/xcap-ns+xml
+application/xenc+xml xenc
+application/xhtml+xml xhtml xht
+application/xml xml xsl
+application/xml-dtd dtd
+application/xml-external-parsed-entity
+application/xmpp+xml
+application/xop+xml xop
+application/xslt+xml xslt
+application/xspf+xml xspf
+application/xv+xml mxml xhvml xvml xvm
+application/zip zip
+audio/32kadpcm
+audio/3gpp
+audio/3gpp2
+audio/ac3
+audio/amr
+audio/amr-wb
+audio/amr-wb+
+audio/asc
+audio/basic au snd
+audio/bv16
+audio/bv32
+audio/clearmode
+audio/cn
+audio/dat12
+audio/dls
+audio/dsr-es201108
+audio/dsr-es202050
+audio/dsr-es202211
+audio/dsr-es202212
+audio/dvi4
+audio/eac3
+audio/evrc
+audio/evrc-qcp
+audio/evrc0
+audio/evrc1
+audio/evrcb
+audio/evrcb0
+audio/evrcb1
+audio/g722
+audio/g7221
+audio/g723
+audio/g726-16
+audio/g726-24
+audio/g726-32
+audio/g726-40
+audio/g728
+audio/g729
+audio/g7291
+audio/g729d
+audio/g729e
+audio/gsm
+audio/gsm-efr
+audio/ilbc
+audio/l16
+audio/l20
+audio/l24
+audio/l8
+audio/lpc
+audio/midi mid midi kar rmi
+audio/mobile-xmf
+audio/mp4 mp4a
+audio/mp4a-latm
+audio/mpa
+audio/mpa-robust
+audio/mpeg mpga mp2 mp2a mp3 m2a m3a
+audio/mpeg4-generic
+audio/parityfec
+audio/pcma
+audio/pcmu
+audio/prs.sid
+audio/qcelp
+audio/red
+audio/rtp-enc-aescm128
+audio/rtp-midi
+audio/rtx
+audio/smv
+audio/smv0
+audio/smv-qcp
+audio/sp-midi
+audio/t140c
+audio/t38
+audio/telephone-event
+audio/tone
+audio/vdvi
+audio/vmr-wb
+audio/vnd.3gpp.iufp
+audio/vnd.4sb
+audio/vnd.audiokoz
+audio/vnd.celp
+audio/vnd.cisco.nse
+audio/vnd.cmles.radio-events
+audio/vnd.cns.anp1
+audio/vnd.cns.inf1
+audio/vnd.digital-winds eol
+audio/vnd.dlna.adts
+audio/vnd.dolby.mlp
+audio/vnd.everad.plj
+audio/vnd.hns.audio
+audio/vnd.lucent.voice lvp
+audio/vnd.nokia.mobile-xmf
+audio/vnd.nortel.vbk
+audio/vnd.nuera.ecelp4800 ecelp4800
+audio/vnd.nuera.ecelp7470 ecelp7470
+audio/vnd.nuera.ecelp9600 ecelp9600
+audio/vnd.octel.sbc
+audio/vnd.qcelp
+audio/vnd.rhetorex.32kadpcm
+audio/vnd.sealedmedia.softseal.mpeg
+audio/vnd.vmx.cvsd
+audio/wav wav
+audio/x-aiff aif aiff aifc
+audio/x-mpegurl m3u
+audio/x-ms-wax wax
+audio/x-ms-wma wma
+audio/x-pn-realaudio ram ra
+audio/x-pn-realaudio-plugin rmp
+audio/x-wav wav
+chemical/x-cdx cdx
+chemical/x-cif cif
+chemical/x-cmdf cmdf
+chemical/x-cml cml
+chemical/x-csml csml
+chemical/x-pdb pdb
+chemical/x-xyz xyz
+image/bmp bmp
+image/cgm cgm
+image/fits
+image/g3fax g3
+image/gif gif
+image/ief ief
+image/jp2
+image/jpeg jpeg jpg jpe
+image/jpm
+image/jpx
+image/naplps
+image/png png
+image/prs.btif btif
+image/prs.pti
+image/svg+xml svg svgz
+image/t38
+image/tiff tiff tif
+image/tiff-fx
+image/vnd.adobe.photoshop psd
+image/vnd.cns.inf2
+image/vnd.djvu djvu djv
+image/vnd.dwg dwg
+image/vnd.dxf dxf
+image/vnd.fastbidsheet fbs
+image/vnd.fpx fpx
+image/vnd.fst fst
+image/vnd.fujixerox.edmics-mmr mmr
+image/vnd.fujixerox.edmics-rlc rlc
+image/vnd.globalgraphics.pgb
+image/vnd.microsoft.icon ico
+image/vnd.mix
+image/vnd.ms-modi mdi
+image/vnd.net-fpx npx
+image/vnd.sealed.png
+image/vnd.sealedmedia.softseal.gif
+image/vnd.sealedmedia.softseal.jpg
+image/vnd.svf
+image/vnd.wap.wbmp wbmp
+image/vnd.xiff xif
+image/x-cmu-raster ras
+image/x-cmx cmx
+image/x-icon
+image/x-pcx pcx
+image/x-pict pic pct
+image/x-portable-anymap pnm
+image/x-portable-bitmap pbm
+image/x-portable-graymap pgm
+image/x-portable-pixmap ppm
+image/x-rgb rgb
+image/x-xbitmap xbm
+image/x-xpixmap xpm
+image/x-xwindowdump xwd
+message/cpim
+message/delivery-status
+message/disposition-notification
+message/external-body
+message/http
+message/news
+message/partial
+message/rfc822 eml mime
+message/s-http
+message/sip
+message/sipfrag
+message/tracking-status
+model/iges igs iges
+model/mesh msh mesh silo
+model/vnd.dwf dwf
+model/vnd.flatland.3dml
+model/vnd.gdl gdl
+model/vnd.gs.gdl
+model/vnd.gtw gtw
+model/vnd.moml+xml
+model/vnd.mts mts
+model/vnd.parasolid.transmit.binary
+model/vnd.parasolid.transmit.text
+model/vnd.vtu vtu
+model/vrml wrl vrml
+multipart/alternative
+multipart/appledouble
+multipart/byteranges
+multipart/digest
+multipart/encrypted
+multipart/form-data
+multipart/header-set
+multipart/mixed
+multipart/parallel
+multipart/related
+multipart/report
+multipart/signed
+multipart/voice-message
+text/calendar ics ifb
+text/css css
+text/csv csv
+text/directory
+text/dns
+text/enriched
+text/html html htm
+text/parityfec
+text/plain txt text conf def list log in
+text/prs.fallenstein.rst
+text/prs.lines.tag dsc
+text/red
+text/rfc822-headers
+text/richtext rtx
+text/rtf
+text/rtp-enc-aescm128
+text/rtx
+text/sgml sgml sgm
+text/t140
+text/tab-separated-values tsv
+text/troff t tr roff man me ms
+text/uri-list uri uris urls
+text/vnd.abc
+text/vnd.curl
+text/vnd.dmclientscript
+text/vnd.esmertec.theme-descriptor
+text/vnd.fly fly
+text/vnd.fmi.flexstor flx
+text/vnd.in3d.3dml 3dml
+text/vnd.in3d.spot spot
+text/vnd.iptc.newsml
+text/vnd.iptc.nitf
+text/vnd.latex-z
+text/vnd.motorola.reflex
+text/vnd.ms-mediapackage
+text/vnd.net2phone.commcenter.command
+text/vnd.sun.j2me.app-descriptor jad
+text/vnd.trolltech.linguist
+text/vnd.wap.si
+text/vnd.wap.sl
+text/vnd.wap.wml wml
+text/vnd.wap.wmlscript wmls
+text/x-asm s asm
+text/x-c c cc cxx cpp h hh dic
+text/x-fortran f for f77 f90
+text/x-pascal p pas
+text/x-java-source java
+text/x-setext etx
+text/x-uuencode uu
+text/x-vcalendar vcs
+text/x-vcard vcf
+text/xml
+text/xml-external-parsed-entity
+video/3gpp 3gp
+video/3gpp-tt
+video/3gpp2 3g2
+video/bmpeg
+video/bt656
+video/celb
+video/dv
+video/h261 h261
+video/h263 h263
+video/h263-1998
+video/h263-2000
+video/h264 h264
+video/jpeg jpgv
+video/jpm jpm jpgm
+video/mj2 mj2 mjp2
+video/mp1s
+video/mp2p
+video/mp2t
+video/mp4 mp4 mp4v mpg4
+video/mp4v-es
+video/mpeg mpeg mpg mpe m1v m2v
+video/mpeg4-generic
+video/mpv
+video/nv
+video/parityfec
+video/pointer
+video/quicktime qt mov
+video/raw
+video/rtp-enc-aescm128
+video/rtx
+video/smpte292m
+video/vc1
+video/vnd.dlna.mpeg-tts
+video/vnd.fvt fvt
+video/vnd.hns.video
+video/vnd.motorola.video
+video/vnd.motorola.videop
+video/vnd.mpegurl mxu m4u
+video/vnd.nokia.interleaved-multimedia
+video/vnd.nokia.videovoip
+video/vnd.objectvideo
+video/vnd.sealed.mpeg1
+video/vnd.sealed.mpeg4
+video/vnd.sealed.swf
+video/vnd.sealedmedia.softseal.mov
+video/vnd.vivo viv
+video/x-fli fli
+video/x-ms-asf asf asx
+video/x-ms-wm wm
+video/x-ms-wmv wmv
+video/x-ms-wmx wmx
+video/x-ms-wvx wvx
+video/x-msvideo avi
+video/x-sgi-movie movie
+x-conference/x-cooltalk ice
--- /dev/null
+<configuration name="acl.conf" description="Network Lists">
+ <network-lists>
+
+ <list name="dl-candidates" default="allow">
+ <node type="deny" cidr="10.0.0.0/8"/>
+ <node type="deny" cidr="172.16.0.0/12"/>
+ <node type="deny" cidr="192.168.0.0/16"/>
+ </list>
+
+ <list name="rfc1918" default="deny">
+ <node type="allow" cidr="10.0.0.0/8"/>
+ <node type="allow" cidr="172.16.0.0/12"/>
+ <node type="allow" cidr="192.168.0.0/16"/>
+ </list>
+
+ <list name="lan" default="allow">
+ <node type="deny" cidr="192.168.42.0/24"/>
+ <node type="allow" cidr="192.168.42.42/32"/>
+ </list>
+
+ <list name="strict" default="deny">
+ <node type="allow" cidr="208.102.123.124/32"/>
+ </list>
+ <!--
+ This will traverse the directory adding all users
+ with the cidr= tag to this ACL, when this ACL matches
+ the users variables and params apply as if they
+ digest authenticated.
+ -->
+ <list name="domains" default="deny">
+ <node type="allow" domain="$${domain}"/>
+ </list>
+
+ </network-lists>
+</configuration>
+
--- /dev/null
+<configuration name="alsa.conf" description="Soundcard Endpoint">
+ <settings>
+ <!--Default dialplan and caller-id info -->
+ <param name="dialplan" value="XML"/>
+ <param name="cid-name" value="N800 Alsa"/>
+ <param name="cid-num" value="5555551212"/>
+
+ <!--audio sample rate and interval -->
+ <param name="sample-rate" value="8000"/>
+ <param name="codec-ms" value="20"/>
+ </settings>
+</configuration>
--- /dev/null
+<configuration name="cdr_csv.conf" description="CDR CSV Format">
+ <settings>
+ <!-- 'cdr-csv' will always be appended to log-base -->
+ <!--<param name="log-base" value="/var/log"/>-->
+ <param name="default-template" value="example"/>
+ <!-- This is like the info app but after the call is hung up -->
+ <!--<param name="debug" value="true"/>-->
+ <param name="rotate-on-hup" value="true"/>
+ <!-- may be a b or ab -->
+ <param name="legs" value="a"/>
+ </settings>
+ <templates>
+ <template name="sql">INSERT INTO cdr VALUES ("${caller_id_name}","${caller_id_number}","${destination_number}","${context}","${start_stamp}","${answer_stamp}","${end_stamp}","${duration}","${billsec}","${hangup_cause}","${uuid}","${bleg_uuid}", "${accountcode}");</template>
+ <template name="example">"${caller_id_name}","${caller_id_number}","${destination_number}","${context}","${start_stamp}","${answer_stamp}","${end_stamp}","${duration}","${billsec}","${hangup_cause}","${uuid}","${bleg_uuid}","${accountcode}","${read_codec}","${write_codec}"</template>
+ <template name="snom">"${caller_id_name}","${caller_id_number}","${destination_number}","${context}","${start_stamp}","${answer_stamp}","${end_stamp}","${duration}","${billsec}","${hangup_cause}","${uuid}","${bleg_uuid}", "${accountcode}","${read_codec}","${write_codec}","${sip_user_agent}","${call_clientcode}","${sip_rtp_rxstat}","${sip_rtp_txstat}","${sofia_record_file}"</template>
+ <template name="linksys">"${caller_id_name}","${caller_id_number}","${destination_number}","${context}","${start_stamp}","${answer_stamp}","${end_stamp}","${duration}","${billsec}","${hangup_cause}","${uuid}","${bleg_uuid}","${accountcode}","${read_codec}","${write_codec}","${sip_user_agent}","${sip_p_rtp_stat}"</template>
+ <template name="asterisk">"${accountcode}","${caller_id_number}","${destination_number}","${context}","${caller_id}","${channel_name}","${bridge_channel}","${last_app}","${last_arg}","${start_stamp}","${answer_stamp}","${end_stamp}","${duration}","${billsec}","${hangup_cause}","${amaflags}","${uuid}","${userfield}"</template>
+ </templates>
+</configuration>
+
--- /dev/null
+<!-- http://wiki.freeswitch.org/wiki/Mod_conference -->
+<!-- None of these paths are real if you want any of these options you need to really set them up -->
+<configuration name="conference.conf" description="Audio Conference">
+ <!-- Advertise certain presence on startup . -->
+ <advertise>
+ <room name="3001@$${domain}" status="FreeSWITCH"/>
+ </advertise>
+
+ <!-- These are the default keys that map when you do not specify a caller control group -->
+ <!-- Note: none and default are reserved names for group names -->
+ <caller-controls>
+ <group name="default">
+ <control action="mute" digits="0"/>
+ <control action="deaf mute" digits="*"/>
+ <control action="energy up" digits="9"/>
+ <control action="energy equ" digits="8"/>
+ <control action="energy dn" digits="7"/>
+ <control action="vol talk up" digits="3"/>
+ <control action="vol talk zero" digits="2"/>
+ <control action="vol talk dn" digits="1"/>
+ <control action="vol listen up" digits="6"/>
+ <control action="vol listen zero" digits="5"/>
+ <control action="vol listen dn" digits="4"/>
+ <control action="hangup" digits="#"/>
+ </group>
+ </caller-controls>
+
+ <!-- Profiles are collections of settings you can reference by name. -->
+ <profiles>
+ <!--If no profile is specified it will default to "default"-->
+ <profile name="default">
+ <!-- Domain (for presence) -->
+ <param name="domain" value="$${domain}"/>
+ <!-- Sample Rate-->
+ <param name="rate" value="8000"/>
+ <!-- Number of milliseconds per frame -->
+ <param name="interval" value="20"/>
+ <!-- Energy level required for audio to be sent to the other users -->
+ <param name="energy-level" value="300"/>
+
+ <!--Can be | delim of waste|mute|deaf waste will always transmit data to each channel
+ even during silence -->
+ <!--<param name="member-flags" value="waste"/>-->
+
+ <!-- Name of the caller control group to use for this profile -->
+ <!-- <param name="caller-controls" value="some name"/> -->
+ <!-- TTS Engine to use -->
+ <!--<param name="tts-engine" value="cepstral"/>-->
+ <!-- TTS Voice to use -->
+ <!--<param name="tts-voice" value="david"/>-->
+
+ <!-- If TTS is enabled all audio-file params beginning with -->
+ <!-- 'say:' will be considered text to say with TTS -->
+ <!-- Set a default path here so you can use relative paths in the other sound params-->
+ <param name="sound-prefix" value="$${base_dir}/sounds/en/us/callie"/>
+ <!-- File to play to acknowledge succees -->
+ <!--<param name="ack-sound" value="beep.wav"/>-->
+ <!-- File to play to acknowledge failure -->
+ <!--<param name="nack-sound" value="beeperr.wav"/>-->
+ <!-- File to play to acknowledge muted -->
+ <param name="muted-sound" value="conference/conf-muted.wav"/>
+ <!-- File to play to acknowledge unmuted -->
+ <param name="unmuted-sound" value="conference/conf-unmuted.wav"/>
+ <!-- File to play if you are alone in the conference -->
+ <param name="alone-sound" value="conference/conf-alone.wav"/>
+ <!-- File to play endlessly (nobody will ever be able to talk) -->
+ <!--<param name="perpetual-sound" value="perpetual.wav"/>-->
+ <!-- File to play when you're alone (music on hold)-->
+ <param name="moh-sound" value="$${hold_music}"/>
+ <!-- File to play when you join the conference -->
+ <param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/>
+ <!-- File to play when you leave the conference -->
+ <param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/>
+ <!-- File to play when you ae ejected from the conference -->
+ <param name="kicked-sound" value="conference/conf-kicked.wav"/>
+ <!-- File to play when the conference is locked -->
+ <param name="locked-sound" value="conference/conf-locked.wav"/>
+ <!-- File to play when the conference is locked during the call-->
+ <param name="is-locked-sound" value="conference/conf-is-locked.wav"/>
+ <!-- File to play when the conference is unlocked during the call-->
+ <param name="is-unlocked-sound" value="conference/conf-is-unlocked.wav"/>
+ <!-- File to play to prompt for a pin -->
+ <param name="pin-sound" value="conference/conf-pin.wav"/>
+ <!-- File to play to when the pin is invalid -->
+ <param name="bad-pin-sound" value="conference/conf-bad-pin.wav"/>
+ <param name="comfort-noise-level" value="1400"/>
+ <!-- Conference pin -->
+ <!--<param name="pin" value="12345"/>-->
+ <!-- Default Caller ID Name for outbound calls -->
+ <param name="caller-id-name" value="$${outbound_caller_name}"/>
+ <!-- Default Caller ID Number for outbound calls -->
+ <param name="caller-id-number" value="$${outbound_caller_id}"/>
+ <!-- Suppress start and stop talking events -->
+ <!-- <param name="suppress-events" value="start-talking,stop-talking"/> -->
+ <!-- enable comfort noise generation -->
+ <param name="comfort-noise" value="true"/>
+ <!-- Uncomment auto-record to toggle recording every conference call. -->
+ <!-- Another valid value is shout://user:pass@server.com/live.mp3 -->
+ <!--
+ <param name="auto-record" value="$${base_dir}/recordings/${conference_name}_${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/>
+ -->
+ </profile>
+
+ <profile name="wideband">
+ <param name="domain" value="$${domain}"/>
+ <param name="rate" value="16000"/>
+ <param name="interval" value="20"/>
+ <param name="energy-level" value="300"/>
+ <param name="sound-prefix" value="$${base_dir}/sounds/en/us/callie"/>
+ <param name="muted-sound" value="conference/conf-muted.wav"/>
+ <param name="unmuted-sound" value="conference/conf-unmuted.wav"/>
+ <param name="alone-sound" value="conference/conf-alone.wav"/>
+ <param name="moh-sound" value="$${hold_music}"/>
+ <param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/>
+ <param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/>
+ <param name="kicked-sound" value="conference/conf-kicked.wav"/>
+ <param name="locked-sound" value="conference/conf-locked.wav"/>
+ <param name="is-locked-sound" value="conference/conf-is-locked.wav"/>
+ <param name="is-unlocked-sound" value="conference/conf-is-unlocked.wav"/>
+ <param name="pin-sound" value="conference/conf-pin.wav"/>
+ <param name="bad-pin-sound" value="conference/conf-bad-pin.wav"/>
+ <param name="caller-id-name" value="$${outbound_caller_name}"/>
+ <param name="caller-id-number" value="$${outbound_caller_id}"/>
+ <param name="comfort-noise" value="true"/>
+ <!--<param name="tts-engine" value="flite"/>-->
+ <!--<param name="tts-voice" value="kal16"/>-->
+ </profile>
+
+ <profile name="ultrawideband">
+ <param name="domain" value="$${domain}"/>
+ <param name="rate" value="32000"/>
+ <param name="interval" value="20"/>
+ <param name="energy-level" value="300"/>
+ <param name="sound-prefix" value="$${base_dir}/sounds/en/us/callie"/>
+ <param name="muted-sound" value="conference/conf-muted.wav"/>
+ <param name="unmuted-sound" value="conference/conf-unmuted.wav"/>
+ <param name="alone-sound" value="conference/conf-alone.wav"/>
+ <param name="moh-sound" value="$${hold_music}"/>
+ <param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/>
+ <param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/>
+ <param name="kicked-sound" value="conference/conf-kicked.wav"/>
+ <param name="locked-sound" value="conference/conf-locked.wav"/>
+ <param name="is-locked-sound" value="conference/conf-is-locked.wav"/>
+ <param name="is-unlocked-sound" value="conference/conf-is-unlocked.wav"/>
+ <param name="pin-sound" value="conference/conf-pin.wav"/>
+ <param name="bad-pin-sound" value="conference/conf-bad-pin.wav"/>
+ <param name="caller-id-name" value="$${outbound_caller_name}"/>
+ <param name="caller-id-number" value="$${outbound_caller_id}"/>
+ <param name="comfort-noise" value="true"/>
+ <!--<param name="tts-engine" value="flite"/>-->
+ <!--<param name="tts-voice" value="kal16"/>-->
+ </profile>
+ <!--
+ <profile name="cdquality">
+ <param name="domain" value="$${domain}"/>
+ <param name="rate" value="48000"/>
+ <param name="interval" value="10"/>
+ <param name="energy-level" value="300"/>
+ <param name="sound-prefix" value="$${base_dir}/sounds/en/us/callie"/>
+ <param name="muted-sound" value="conference/conf-muted.wav"/>
+ <param name="unmuted-sound" value="conference/conf-unmuted.wav"/>
+ <param name="alone-sound" value="conference/conf-alone.wav"/>
+ <param name="moh-sound" value="$${hold_music}"/>
+ <param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/>
+ <param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/>
+ <param name="kicked-sound" value="conference/conf-kicked.wav"/>
+ <param name="locked-sound" value="conference/conf-locked.wav"/>
+ <param name="is-locked-sound" value="conference/conf-is-locked.wav"/>
+ <param name="is-unlocked-sound" value="conference/conf-is-unlocked.wav"/>
+ <param name="pin-sound" value="conference/conf-pin.wav"/>
+ <param name="bad-pin-sound" value="conference/conf-bad-pin.wav"/>
+ <param name="caller-id-name" value="$${outbound_caller_name}"/>
+ <param name="caller-id-number" value="$${outbound_caller_id}"/>
+ <param name="comfort-noise" value="true"/>
+ </profile>
+ -->
+ </profiles>
+</configuration>
--- /dev/null
+<configuration name="console.conf" description="Console Logger">
+ <!-- pick a file name, a function name or 'all' -->
+ <!-- map as many as you need for specific debugging -->
+ <mappings>
+ <!--
+ name can be a file name, function name or 'all'
+ value is one or more of debug,info,notice,warning,err,crit,alert,all
+ See examples below
+
+
+ The following map is the default, which is all debug levels enabled:
+ <map name="all" value="debug,info,notice,warning,err,crit,alert"/>
+
+
+ Example: the following turns on debugging for error and critical levels only
+ <map name="all" value="err,crit"/>
+
+ NOTE: using map name="all" will override any other settings! If you
+ want a more specific set of console messages then you will need
+ to specify which files and/or functions you want to have debug
+ messages. One option is to turn on just the more critical
+ messages with map name="all", then specify the other types of
+ console messages you want to see for various files and functions.
+
+ Example: turn on ERROR, CRIT, ALERT for all modules, then specify other
+ levels for various modules and functions
+
+ <map name="all" value="err,crit,alert"/>
+ <map name="switch_loadable_module_process" value="all"/>
+ <map name="mod_local_stream.c" value="warning,debug"/>
+ <map name="mod_sndfile.c" value="warning,info,debug"/>
+ -->
+ <map name="all" value="console,debug,info,notice,warning,err,crit,alert"/>
+
+ <!--
+ You can use or modify this sample set of mappings. It turns on higher
+ level messages for all modules and then specifies extra lower level
+ messages for OpenZAP, Sofia, and switch core messages.
+
+ <map name="all" value="warning,err,crit,alert"/>
+ <map name="zap_analog.c" value="all"/>
+ <map name="zap_io.c" value="all"/>
+ <map name="zap_isdn.c" value="all"/>
+ <map name="zap_zt.c" value="all"/>
+ <map name="mod_openzap" value="all"/>
+ <map name="sofia.c" value="notice"/>
+ <map name="switch_core_state_machine.c" value="all"/>
+
+ -->
+ </mappings>
+ <settings>
+ <!-- comment or set to false for no color logging -->
+ <param name="colorize" value="true"/>
+ <param name="loglevel" value="$${console_loglevel}"/>
+ </settings>
+</configuration>
--- /dev/null
+<configuration name="dialplan_directory.conf" description="Dialplan Directory">
+ <settings>
+ <param name="directory-name" value="ldap"/>
+ <param name="host" value="ldap.freeswitch.org"/>
+ <param name="dn" value="cn=Manager,dc=freeswitch,dc=org"/>
+ <param name="pass" value="test"/>
+ <param name="base" value="dc=freeswitch,dc=org"/>
+ </settings>
+</configuration>
--- /dev/null
+<configuration name="enum.conf" description="ENUM Module">
+ <settings>
+ <param name="default-root" value="e164.org"/>
+ <param name="default-isn-root" value="freenum.org"/>
+ <param name="query-timeout" value="10"/>
+ <param name="auto-reload" value="true"/>
+ </settings>
+
+ <routes>
+ <route service="E2U+SIP" regex="sip:(.*)" replace="sofia/${use_profile}/$1"/>
+ <!--<route service="E2U+IAX2" regex="iax2:(.*)" replace="iax/$1"/>-->
+ <!--<route service="E2U+XMPP" regex="XMPP:(.*)" replace="dingaling/$${xmpp_server_profile}/$1"/>-->
+ </routes>
+</configuration>
--- /dev/null
+<configuration name="event_multicast.conf" description="Multicast Event">
+ <settings>
+ <param name="address" value="225.1.1.1"/>
+ <param name="port" value="4242"/>
+ <param name="bindings" value="all"/>
+ </settings>
+</configuration>
+
--- /dev/null
+<configuration name="event_socket.conf" description="Socket Client">
+ <settings>
+ <param name="listen-ip" value="0.0.0.0"/>
+ <param name="listen-port" value="8021"/>
+ <param name="password" value="ClueCon"/>
+ <!--<param name="apply-inbound-acl" value="lan"/>-->
+ </settings>
+</configuration>
--- /dev/null
+<configuration name="fax.conf" description="FAX application configuration">
+ <settings>
+ <param name="use-ecm" value="true"/>
+ <param name="verbose" value="false"/>
+ <param name="disable-v17" value="false"/>
+ <param name="ident" value="SpanDSP Fax Ident"/>
+ <param name="header" value="SpanDSP Fax Header"/>
+
+ <param name="spool-dir" value="/tmp"/>
+ <param name="file-prefix" value="faxrx"/>
+ </settings>
+</configuration>
--- /dev/null
+<configuration name="fifo.conf" description="FIFO Configuration">
+ <fifos>
+ <fifo name="cool_fifo@$${domain}" importance="0">
+ <!--<member timeout="60" simo="1" lag="20">user/1005@$${domain}</member>-->
+ </fifo>
+ </fifos>
+</configuration>
--- /dev/null
+<configuration name="iax.conf" description="IAX Configuration">
+ <settings>
+ <param name="debug" value="0"/>
+ <param name="ip" value="$${local_ip_v4}"/>
+ <param name="port" value="4569"/>
+ <param name="context" value="public"/>
+ <param name="dialplan" value="XML"/>
+ <param name="codec-prefs" value="PCMU@20i,PCMA,speex,L16"/>
+ <param name="codec-master" value="us"/>
+ <param name="codec-rates" value="8"/>
+ </settings>
+</configuration>
--- /dev/null
+<configuration name="ivr.conf" description="IVR menus">
+ <menus>
+ <!-- demo IVR setup -->
+ <!-- demo IVR, Main Menu -->
+ <menu name="demo_ivr"
+ greet-long="phrase:demo_ivr_main_menu"
+ greet-short="phrase:demo_ivr_main_menu_short"
+ invalid-sound="ivr/ivr-that_was_an_invalid_entry.wav"
+ exit-sound="voicemail/vm-goodbye.wav"
+ timeout ="10000"
+ inter-digit-timeout="2000"
+ max-failures="3"
+ max-timeouts="3"
+ digit-len="4">
+ <entry action="menu-exec-app" digits="1" param="bridge sofia/$${domain}/888@conference.freeswitch.org"/>
+ <entry action="menu-exec-app" digits="2" param="transfer 9996 XML default"/> <!-- FS echo -->
+ <entry action="menu-exec-app" digits="3" param="transfer 9999 XML default"/> <!-- MOH -->
+ <entry action="menu-sub" digits="4" param="demo_ivr_submenu"/> <!-- demo sub menu -->
+ <entry action="menu-exec-app" digits="5" param="transfer 1234*256 enum"/> <!-- Screaming monkeys -->
+ <entry action="menu-exec-app" digits="/^(10[01][0-9])$/" param="transfer $1 XML features"/>
+ <entry action="menu-top" digits="9"/> <!-- Repeat this menu -->
+ </menu>
+ <!-- Demo IVR, Sub Menu -->
+ <menu name="demo_ivr_submenu"
+ greet-long="phrase:demo_ivr_sub_menu"
+ greet-short="phrase:demo_ivr_sub_menu_short"
+ invalid-sound="ivr/ivr-that_was_an_invalid_entry.wav"
+ exit-sound="voicemail/vm-goodbye.wav"
+ timeout="15000"
+ max-failures="3"
+ max-timeouts="3">
+ <entry action="menu-top" digits="*"/>
+ </menu>
+
+ </menus>
+
+
+</configuration>
+
+
+<!-- TTS sample; non-functional but it demonstrates say: and TTS -->
+<!--
+ <menu name="demo3"
+ greet-long="say:Press 1 to join the conference, Press 2 to join the other conference"
+ greet-short="say:Press 1 to join the conference, Press 2 to join the other conference"
+ invalid-sound="say:invalid extension"
+ exit-sound="say:exit sound"
+ timeout ="15000"
+ max-failures="3">
+ <entry action="menu-exit" digits="*"/>
+ <entry action="menu-playback" digits="1" param="say:You pressed 1"/>
+ <entry action="menu-call-transfer" digits="2" param=
+
+
+"1000"/>
+ <entry action="menu-call-transfer" digits="3" param="1001"/>
+ </menu>
+-->
--- /dev/null
+<configuration name="java.conf" description="Java Plug-Ins">
+ <!-- Path to the Java 1.6 virtual machine to use -->
+ <javavm path="/usr/java/jdk1.6.0/jre/lib/i386/client/libjvm.so"/>
+ <!-- Options to pass to Java -->
+ <options>
+ <!-- Your class path (make sure freeswitch.jar is on it) -->
+ <option value="-Djava.class.path=$${base_dir}/scripts/freeswitch.jar"/>
+ <!-- Enable remote debugging -->
+ <option value="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=127.0.0.1:8000"/>
+ </options>
+</configuration>
--- /dev/null
+<configuration name="limit.conf" description="LIMIT Configuration">
+ <settings>
+ <!--<param name="odbc-dsn" value="dsn:user:pass"/>-->
+ </settings>
+</configuration>
--- /dev/null
+<configuration name="local_stream.conf" description="stream files from local dir">
+ <directory name="moh/8000" path="$${base_dir}/sounds/music/8000">
+ <param name="rate" value="8000"/>
+ <param name="shuffle" value="true"/>
+ <param name="channels" value="1"/>
+ <param name="interval" value="20"/>
+ <param name="timer-name" value="soft"/>
+ </directory>
+
+ <directory name="moh/16000" path="$${base_dir}/sounds/music/16000">
+ <param name="rate" value="16000"/>
+ <param name="shuffle" value="true"/>
+ <param name="channels" value="1"/>
+ <param name="interval" value="20"/>
+ <param name="timer-name" value="soft"/>
+ </directory>
+
+ <directory name="moh/32000" path="$${base_dir}/sounds/music/32000">
+ <param name="rate" value="32000"/>
+ <param name="shuffle" value="true"/>
+ <param name="channels" value="1"/>
+ <param name="interval" value="20"/>
+ <param name="timer-name" value="soft"/>
+ </directory>
+ <!--
+ <directory name="moh/48000" path="$${base_dir}/sounds/music/48000">
+ <param name="rate" value="48000"/>
+ <param name="shuffle" value="true"/>
+ <param name="channels" value="1"/>
+ <param name="interval" value="10"/>
+ <param name="timer-name" value="soft"/>
+ </directory>
+ -->
+</configuration>
--- /dev/null
+<configuration name="logfile.conf" description="File Logging">
+ <settings>
+ <!-- true to auto rotate on HUP, false to open/close -->
+ <param name="rotate-on-hup" value="true"/>
+ </settings>
+ <profiles>
+ <profile name="default">
+ <settings>
+ <!-- File to log to -->
+ <!--<param name="logfile" value="/var/log/freeswitch.log"/>-->
+ <!-- At this length in bytes rotate the log file (0 for never) -->
+ <!--<param name="rollover" value="10485760"/>-->
+ </settings>
+ <mappings>
+ <!--
+ name can be a file name, function name or 'all'
+ value is one or more of debug,info,notice,warning,err,crit,alert,all
+ Please see comments in console.conf.xml for more information
+ -->
+ <map name="all" value="debug,info,notice,warning,err,crit,alert"/>
+ </mappings>
+ </profile>
+ </profiles>
+</configuration>
--- /dev/null
+<configuration name="lua.conf" description="LUA Configuration">
+ <settings>
+
+ <!--
+ Specify local directories that will be searched for LUA modules
+ These entries will be pre-pended to the LUA_CPATH environment variable
+ -->
+ <!-- <param name="module-directory" value="/usr/lib/lua/5.1/?.so"/> -->
+ <!-- <param name="module-directory" value="/usr/local/lib/lua/5.1/?.so"/> -->
+
+ <!--
+ Specify local directories that will be searched for LUA scripts
+ These entries will be pre-pended to the LUA_PATH environment variable
+ -->
+ <!-- <param name="script-directory" value="/usr/local/lua/?.lua"/> -->
+ <!-- <param name="script-directory" value="$${base_dir}/scripts/?.lua"/> -->
+
+ <!--<param name="xml-handler-script" value="/dp.lua"/>-->
+ <!--<param name="xml-handler-bindings" value="dialplan"/>-->
+
+ <!--
+ The following options identifies a lua script that is launched
+ at startup and may live forever in the background.
+ You can define multiple lines, one for each script you
+ need to run.
+ -->
+ <!--<param name="startup-script" value="startup_script_1.lua"/>-->
+ <!--<param name="startup-script" value="startup_script_2.lua"/>-->
+ </settings>
+</configuration>
--- /dev/null
+<configuration name="modules.conf" description="Modules">
+ <modules>
+
+ <!-- Loggers (I'd load these first) -->
+ <load module="mod_console"/>
+ <load module="mod_logfile"/>
+ <!-- <load module="mod_syslog"/> -->
+
+ <!--<load module="mod_yaml"/>-->
+
+ <!-- Multi-Faceted -->
+ <!-- mod_enum is a dialplan interface, an application interface and an api command interface -->
+ <load module="mod_enum"/>
+
+ <!-- XML Interfaces -->
+ <!-- <load module="mod_xml_rpc"/> -->
+ <!-- <load module="mod_xml_curl"/> -->
+ <!-- <load module="mod_xml_cdr"/> -->
+
+ <!-- Event Handlers -->
+ <load module="mod_cdr_csv"/>
+ <!-- <load module="mod_event_multicast"/> -->
+ <load module="mod_event_socket"/>
+ <!-- <load module="mod_zeroconf"/> -->
+
+ <!-- Directory Interfaces -->
+ <!-- <load module="mod_ldap"/> -->
+
+ <!-- Endpoints -->
+ <!-- <load module="mod_dingaling"/> -->
+ <!-- <load module="mod_iax"/> -->
+ <!-- <load module="mod_portaudio"/> -->
+ <!-- <load module="mod_alsa"/> -->
+ <load module="mod_sofia"/>
+ <load module="mod_loopback"/>
+ <!-- <load module="mod_woomera"/> -->
+ <!-- <load module="mod_openzap"/> -->
+
+ <!-- Applications -->
+ <load module="mod_commands"/>
+ <load module="mod_conference"/>
+ <load module="mod_dptools"/>
+ <load module="mod_expr"/>
+ <load module="mod_fifo"/>
+ <load module="mod_voicemail"/>
+ <load module="mod_limit"/>
+ <load module="mod_esf"/>
+ <load module="mod_fsv"/>
+
+ <!-- SNOM Module -->
+ <!--<load module="mod_snom"/>-->
+
+ <!-- Dialplan Interfaces -->
+ <!-- <load module="mod_dialplan_directory"/> -->
+ <load module="mod_dialplan_xml"/>
+ <load module="mod_dialplan_asterisk"/>
+
+ <!-- Codec Interfaces -->
+ <load module="mod_voipcodecs"/>
+ <load module="mod_g723_1"/>
+ <load module="mod_g729"/>
+ <load module="mod_amr"/>
+ <load module="mod_ilbc"/>
+ <load module="mod_speex"/>
+ <load module="mod_h26x"/>
+ <!--<load module="mod_siren"/>-->
+
+ <!-- File Format Interfaces -->
+ <load module="mod_sndfile"/>
+ <load module="mod_native_file"/>
+ <!--For icecast/mp3 streams/files-->
+ <!--<load module="mod_shout"/>-->
+ <!--For local streams (play all the files in a directory)-->
+ <load module="mod_local_stream"/>
+ <load module="mod_tone_stream"/>
+
+ <!-- Timers -->
+
+ <!-- Languages -->
+ <load module="mod_spidermonkey"/>
+ <!-- <load module="mod_perl"/> -->
+ <!-- <load module="mod_python"/> -->
+ <!-- <load module="mod_java"/> -->
+ <load module="mod_lua"/>
+
+ <!-- ASR /TTS -->
+ <!-- <load module="mod_flite"/> -->
+ <!-- <load module="mod_pocketsphinx"/> -->
+ <!-- <load module="mod_cepstral"/> -->
+ <!-- <load module="mod_openmrcp"/> -->
+ <!-- <load module="mod_rss"/> -->
+
+ <!-- Say -->
+ <load module="mod_say_en"/>
+ <!-- <load module="mod_say_zh"/> -->
+ </modules>
+</configuration>
--- /dev/null
+<configuration name="opal.conf" description="Opal Endpoints">
+ <settings>
+ <param name="trace-level" value="4"/>
+ <param name="context" value="default"/>
+ <param name="dialplan" value="XML"/>
+ <param name="codec-prefs" value="PCMU"/>
+ </settings>
+ <listeners>
+ <listener name="default">
+ <param name="h323-ip" value="$${local_ip_v4}"/>
+ <param name="h323-port" value="1720"/>
+ </listener>
+ </listeners>
+</configuration>
+
--- /dev/null
+<configuration name="openzap.conf" description="OpenZAP Configuration">
+ <settings>
+ <param name="debug" value="0"/>
+ <!--<param name="hold-music" value="$${moh_uri}"/>-->
+ <!--<param name="enable-analog-option" value="call-swap"/>-->
+ <!--<param name="enable-analog-option" value="3-way"/>-->
+ </settings>
+ <pri_spans>
+ <span name="PRI_1">
+ <!-- Log Levels: none, alert, crit, err, warning, notice, info, debug -->
+ <param name="q921loglevel" value="alert"/>
+ <param name="q931loglevel" value="alert"/>
+ <param name="mode" value="user"/>
+ <param name="dialect" value="5ess"/>
+ <param name="dialplan" value="XML"/>
+ <param name="context" value="default"/>
+ </span>
+ <span name="PRI_2">
+ <param name="q921loglevel" value="alert"/>
+ <param name="q931loglevel" value="alert"/>
+ <param name="mode" value="user"/>
+ <param name="dialect" value="5ess"/>
+ <param name="dialplan" value="XML"/>
+ <param name="context" value="default"/>
+ </span>
+ </pri_spans>
+ <!-- one entry here per openzap span -->
+ <analog_spans>
+ <span id="1">
+ <!--<param name="hold-music" value="$${moh_uri}"/>-->
+ <!--<param name="enable-analog-option" value="call-swap"/>-->
+ <!--<param name="enable-analog-option" value="3-way"/>-->
+ <param name="tonegroup" value="us"/>
+ <param name="digit-timeout" value="2000"/>
+ <param name="max-digits" value="11"/>
+ <param name="dialplan" value="XML"/>
+ <param name="context" value="default"/>
+ <param name="enable-callerid" value="true"/>
+ <!-- regex to stop dialing when it matches -->
+ <!--<param name="dial-regex" value="5555"/>-->
+ <!-- regex to stop dialing when it does not match -->
+ <!--<param name="fail-dial-regex" value="^5"/>-->
+ </span>
+ </analog_spans>
+</configuration>
--- /dev/null
+<configuration name="perl.conf" description="PERL Configuration">
+ <settings>
+ <!--<param name="xml-handler-script" value="/tmp/xml.pl"/>-->
+ <!--<param name="xml-handler-bindings" value="dialplan"/>-->
+
+ <!--
+ The following options identifies a perl script that is launched
+ at startup and may live forever in the background.
+ You can define multiple lines, one for each script you
+ need to run.
+ -->
+ <!--param name="startup-script" value="startup_script_1.pl"/-->
+ <!--param name="startup-script" value="startup_script_2.pl"/-->
+
+ </settings>
+</configuration>
--- /dev/null
+<configuration name="pocketsphinx.conf" description="PocketSphinx ASR Configuration">
+ <settings>
+ <param name="threshold" value="400"/>
+ <param name="silence-hits" value="25"/>
+ <param name="listen-hits" value="1"/>
+ <param name="auto-reload" value="true"/>
+ <!--<param name="narrowband-model" value="communicator"/>-->
+ <!--<param name="wideband-model" value="wsj1"/>-->
+ </settings>
+</configuration>
--- /dev/null
+<configuration name="portaudio.conf" description="Soundcard Endpoint">
+ <settings>
+ <!-- indev, outdev, ringdev:
+ partial case sensitive string match on something in the name
+ or the device number prefixed with # eg "#1" (or blank for default) -->
+
+ <!-- device to use for input -->
+ <param name="indev" value=""/>
+ <!-- device to use for output -->
+ <param name="outdev" value=""/>
+
+ <!--device to use for inbound ring -->
+ <!--<param name="ringdev" value=""/>-->
+ <!--File to play as the ring sound -->
+ <!--<param name="ring-file" value="/sounds/ring.wav"/>-->
+ <!--Number of seconds to pause between rings -->
+ <!--<param name="ring-interval" value="5"/>-->
+
+ <!--file to play when calls are on hold-->
+ <!--<param name="hold-file" value="/sounds/holdmusic.wav"/>-->
+ <!--Timer to use for hold music (i'd leave this one commented)-->
+ <!--<param name="timer-name" value="soft"/>-->
+
+ <!--Default dialplan and caller-id info -->
+ <param name="dialplan" value="XML"/>
+ <param name="cid-name" value="$${outbound_caller_name}"/>
+ <param name="cid-num" value="$${outbound_caller_id}"/>
+
+ <!--audio sample rate and interval -->
+ <param name="sample-rate" value="8000"/>
+ <param name="codec-ms" value="20"/>
+ </settings>
+</configuration>
--- /dev/null
+<configuration name="post_load_modules.conf" description="Modules">
+ <modules>
+ </modules>
+</configuration>
--- /dev/null
+<configuration name="python.conf" description="PYTHON Configuration">
+ <settings>
+ <!--<param name="xml-handler-script" value="dp"/>-->
+ <!--<param name="xml-handler-bindings" value="dialplan"/>-->
+
+ <!--
+ The following options identifies a py script that is launched
+ at startup and may live forever in the background.
+ You can define multiple lines, one for each script you
+ need to run.
+ -->
+ <!--<param name="startup-script" value="startup_script_1.py"/>-->
+ <!--<param name="startup-script" value="startup_script_2.py"/>-->
+
+ </settings>
+</configuration>
--- /dev/null
+<configuration name="rss.conf" description="RSS Parser">
+ <feeds>
+ <!-- Just download the files to wherever and refer to them here -->
+ <!-- <feed name="Slash Dot">/home/rss/rss.rss</feed> -->
+ <!-- <feed name="News Forge">/home/rss/newsforge.rss</feed> -->
+ </feeds>
+</configuration>
--- /dev/null
+<configuration name="shout.conf" description="mod shout config">
+ <settings>
+ <!-- Don't change these unless you are insane -->
+ <!--<param name="decoder" value="i586"/>-->
+ <!--<param name="volume" value=".1"/>-->
+ <!--<param name="outscale" value="8192"/>-->
+ </settings>
+</configuration>
--- /dev/null
+<configuration name="sofia.conf" description="sofia Endpoint">
+
+ <global_settings>
+ <param name="log-level" value="0"/>
+ <!-- <param name="auto-restart" value="false"/> -->
+ <param name="debug-presence" value="0"/>
+ </global_settings>
+
+ <!--
+ The rabbit hole goes deep. This includes all the
+ profiles in the sip_profiles directory that is up
+ one level from this directory.
+ -->
+ <profiles>
+ <X-PRE-PROCESS cmd="include" data="../sip_profiles/*.xml"/>
+ </profiles>
+
+</configuration>
--- /dev/null
+<configuration name="spidermonkey.conf" description="Spider Monkey JavaScript Plug-Ins">
+ <modules>
+ <load module="mod_spidermonkey_teletone"/>
+ <load module="mod_spidermonkey_core_db"/>
+ <load module="mod_spidermonkey_socket"/>
+ <!--<load module="mod_spidermonkey_odbc"/>-->
+ </modules>
+</configuration>
--- /dev/null
+<configuration name="switch.conf" description="Core Configuration">
+
+ <cli-keybindings>
+ <key name="1" value="$${function_key_1}"/>
+ <key name="2" value="$${function_key_2}"/>
+ <key name="3" value="$${function_key_3}"/>
+ <key name="4" value="$${function_key_4}"/>
+ <key name="5" value="$${function_key_5}"/>
+ <key name="6" value="$${function_key_6}"/>
+ <key name="7" value="$${function_key_7}"/>
+ <key name="8" value="$${function_key_8}"/>
+ <key name="9" value="$${function_key_9}"/>
+ <key name="10" value="$${function_key_10}"/>
+ <key name="11" value="$${function_key_11}"/>
+ <key name="12" value="$${function_key_12}"/>
+ </cli-keybindings>
+
+ <settings>
+ <!--Colorize the Console -->
+ <param name="colorize-console" value="true"/>
+ <!--Most channels to allow at once -->
+ <param name="max-sessions" value="1000"/>
+ <!--Most channels to create per second -->
+ <param name="sessions-per-second" value="30"/>
+ <!-- Default Global Log Level - value is one of debug,info,notice,warning,err,crit,alert -->
+ <param name="loglevel" value="debug"/>
+ <!--Try to catch any crashes that can be recoverable (in the context of a call)-->
+ <param name="crash-protection" value="false"/>
+ <!--<param name="max_dtmf_duration" value="192000"/>-->
+ <!--<param name="default_dtmf_duration" value="8000"/>-->
+ <!--
+ If you want to send out voicemail notifications via Windows you'll need to change the mailer-app
+ variable to the setting below:
+
+ <param name="mailer-app" value="msmtp"/>
+
+ Donot change mailer-app-args.
+ You will also need to download a sendmail clone for Windows (msmtp). This version works without issue:
+ http://msmtp.sourceforge.net/index.html. Download and copy the .exe to %winddir%\system32.
+ You'll need to create a small config file for smtp credentials (host name, authentication, tls, etc.) in
+ %USERPROFILE%\Application Data\ called "msmtprc.txt". Below is a sample copy of this file:
+
+ ###################################
+ # The SMTP server of the provider.
+ account provider
+ host smtp.myisp.com
+ from john@myisp.com
+ auth login
+ user johndoe
+ password mypassword
+
+ # Set a default account
+ account default : provider
+ ###################################
+
+ -->
+ <param name="mailer-app" value="sendmail"/>
+ <param name="mailer-app-args" value="-t"/>
+ <param name="dump-cores" value="yes"/>
+ <!--RTP port range -->
+ <!--<param name="rtp-start-port" value="16384"/>-->
+ <!--<param name="rtp-end-port" value="32768"/>-->
+ </settings>
+
+</configuration>
+
--- /dev/null
+<configuration name="syslog.conf" description="Syslog Logger">
+ <!-- SYSLOG -->
+ <!-- emerg - system is unusable -->
+ <!-- alert - action must be taken immediately -->
+ <!-- crit - critical conditions -->
+ <!-- err - error conditions -->
+ <!-- warning - warning conditions -->
+ <!-- notice - normal, but significant, condition -->
+ <!-- info - informational message -->
+ <!-- debug - debug-level message -->
+ <settings>
+ <param name="ident" value="freeswitch"/>
+ <param name="loglevel" value="warning"/>
+ </settings>
+</configuration>
--- /dev/null
+<configuration name="timezones.conf" description="Timezones">
+ <timezones>
+ <zone name="Africa/Abidjan" value="GMT0" />
+ <zone name="Africa/Accra" value="GMT0" />
+ <zone name="Africa/Addis_Ababa" value="EAT-3" />
+ <zone name="Africa/Algiers" value="CET-1" />
+ <zone name="Africa/Asmara" value="EAT-3" />
+ <zone name="Africa/Asmera" value="EAT-3" />
+ <zone name="Africa/Bamako" value="GMT0" />
+ <zone name="Africa/Bangui" value="WAT-1" />
+ <zone name="Africa/Banjul" value="GMT0" />
+ <zone name="Africa/Bissau" value="GMT0" />
+ <zone name="Africa/Blantyre" value="CAT-2" />
+ <zone name="Africa/Brazzaville" value="WAT-1" />
+ <zone name="Africa/Bujumbura" value="CAT-2" />
+ <zone name="Africa/Cairo" value="EEST" />
+ <zone name="Africa/Casablanca" value="WET0" />
+ <zone name="Africa/Ceuta" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Africa/Conakry" value="GMT0" />
+ <zone name="Africa/Dakar" value="GMT0" />
+ <zone name="Africa/Dar_es_Salaam" value="EAT-3" />
+ <zone name="Africa/Djibouti" value="EAT-3" />
+ <zone name="Africa/Douala" value="WAT-1" />
+ <zone name="Africa/El_Aaiun" value="WET0" />
+ <zone name="Africa/Freetown" value="GMT0" />
+ <zone name="Africa/Gaborone" value="CAT-2" />
+ <zone name="Africa/Harare" value="CAT-2" />
+ <zone name="Africa/Johannesburg" value="SAST-2" />
+ <zone name="Africa/Kampala" value="EAT-3" />
+ <zone name="Africa/Khartoum" value="EAT-3" />
+ <zone name="Africa/Kigali" value="CAT-2" />
+ <zone name="Africa/Kinshasa" value="WAT-1" />
+ <zone name="Africa/Lagos" value="WAT-1" />
+ <zone name="Africa/Libreville" value="WAT-1" />
+ <zone name="Africa/Lome" value="GMT0" />
+ <zone name="Africa/Luanda" value="WAT-1" />
+ <zone name="Africa/Lubumbashi" value="CAT-2" />
+ <zone name="Africa/Lusaka" value="CAT-2" />
+ <zone name="Africa/Malabo" value="WAT-1" />
+ <zone name="Africa/Maputo" value="CAT-2" />
+ <zone name="Africa/Maseru" value="SAST-2" />
+ <zone name="Africa/Mbabane" value="SAST-2" />
+ <zone name="Africa/Mogadishu" value="EAT-3" />
+ <zone name="Africa/Monrovia" value="GMT0" />
+ <zone name="Africa/Nairobi" value="EAT-3" />
+ <zone name="Africa/Ndjamena" value="WAT-1" />
+ <zone name="Africa/Niamey" value="WAT-1" />
+ <zone name="Africa/Nouakchott" value="GMT0" />
+ <zone name="Africa/Ouagadougou" value="GMT0" />
+ <zone name="Africa/Porto-Novo" value="WAT-1" />
+ <zone name="Africa/Sao_Tome" value="GMT0" />
+ <zone name="Africa/Timbuktu" value="GMT0" />
+ <zone name="Africa/Tripoli" value="EET-2" />
+ <zone name="Africa/Tunis" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Africa/Windhoek" value="WAT-1WAST,M9.1.0,M4.1.0" />
+
+ <zone name="America/Adak" value="HAST10HADT,M3.2.0,M11.1.0" />
+ <zone name="America/Anchorage" value="AKST9AKDT,M3.2.0,M11.1.0" />
+ <zone name="America/Anguilla" value="AST4" />
+ <zone name="America/Antigua" value="AST4" />
+ <zone name="America/Araguaina" value="BRT3" />
+ <zone name="America/Argentina/Buenos_Aires" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/Catamarca" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/ComodRivadavia" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/Cordoba" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/Jujuy" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/La_Rioja" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/Mendoza" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/Rio_Gallegos" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/San_Juan" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/San_Luis" value="ART3" />
+ <zone name="America/Argentina/Tucuman" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/Ushuaia" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Aruba" value="AST4" />
+ <zone name="America/Asuncion" value="PYT4PYST,M10.3.0/0,M3.2.0/0" />
+ <zone name="America/Atikokan" value="EST5" />
+ <zone name="America/Atka" value="HAST10HADT,M3.2.0,M11.1.0" />
+ <zone name="America/Bahia" value="BRT3" />
+ <zone name="America/Barbados" value="AST4" />
+ <zone name="America/Belem" value="BRT3" />
+ <zone name="America/Belize" value="CST6" />
+ <zone name="America/Blanc-Sablon" value="AST4" />
+ <zone name="America/Boa_Vista" value="AMT4" />
+ <zone name="America/Bogota" value="COT5" />
+ <zone name="America/Boise" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="America/Buenos_Aires" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Cambridge_Bay" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="America/Campo_Grande" value="AMT4AMST,M10.2.0/0,M2.3.0/0" />
+ <zone name="America/Cancun" value="CST6CDT,M4.1.0,M10.5.0" />
+ <zone name="America/Caracas" value="VET4:30" />
+ <zone name="America/Catamarca" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Cayenne" value="GFT3" />
+ <zone name="America/Cayman" value="EST5" />
+ <zone name="America/Chicago" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/Chihuahua" value="MST7MDT,M4.1.0,M10.5.0" />
+ <zone name="America/Coral_Harbour" value="EST5" />
+ <zone name="America/Cordoba" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Costa_Rica" value="CST6" />
+ <zone name="America/Cuiaba" value="AMT4AMST,M10.2.0/0,M2.3.0/0" />
+ <zone name="America/Curacao" value="AST4" />
+ <zone name="America/Danmarkshavn" value="GMT0" />
+ <zone name="America/Dawson" value="PST8PDT,M3.2.0,M11.1.0" />
+ <zone name="America/Dawson_Creek" value="MST7" />
+ <zone name="America/Denver" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="America/Detroit" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Dominica" value="AST4" />
+ <zone name="America/Edmonton" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="America/Eirunepe" value="ACT5" />
+ <zone name="America/El_Salvador" value="CST6" />
+ <zone name="America/Ensenada" value="PST8PDT,M4.1.0,M10.5.0" />
+ <zone name="America/Fortaleza" value="BRT3" />
+ <zone name="America/Fort_Wayne" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Glace_Bay" value="AST4ADT,M3.2.0,M11.1.0" />
+ <zone name="America/Godthab" value="WGST" />
+ <zone name="America/Goose_Bay" value="AST4ADT,M3.2.0/0:01,M11.1.0/0:01" />
+ <zone name="America/Grand_Turk" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Grenada" value="AST4" />
+ <zone name="America/Guadeloupe" value="AST4" />
+ <zone name="America/Guatemala" value="CST6" />
+ <zone name="America/Guayaquil" value="ECT5" />
+ <zone name="America/Guyana" value="GYT4" />
+ <zone name="America/Halifax" value="AST4ADT,M3.2.0,M11.1.0" />
+ <zone name="America/Havana" value="CST5CDT,M3.3.0/0,M10.5.0/1" />
+ <zone name="America/Hermosillo" value="MST7" />
+ <zone name="America/Indiana/Indianapolis" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Indiana/Knox" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/Indiana/Marengo" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Indiana/Petersburg" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Indianapolis" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Indiana/Tell_City" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/Indiana/Vevay" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Indiana/Vincennes" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Indiana/Winamac" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Inuvik" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="America/Iqaluit" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Jamaica" value="EST5" />
+ <zone name="America/Jujuy" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Juneau" value="AKST9AKDT,M3.2.0,M11.1.0" />
+ <zone name="America/Kentucky/Louisville" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Kentucky/Monticello" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Knox_IN" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/La_Paz" value="BOT4" />
+ <zone name="America/Lima" value="PET5" />
+ <zone name="America/Los_Angeles" value="PST8PDT,M3.2.0,M11.1.0" />
+ <zone name="America/Louisville" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Maceio" value="BRT3" />
+ <zone name="America/Managua" value="CST6" />
+ <zone name="America/Manaus" value="AMT4" />
+ <zone name="America/Marigot" value="AST4" />
+ <zone name="America/Martinique" value="AST4" />
+ <zone name="America/Mazatlan" value="MST7MDT,M4.1.0,M10.5.0" />
+ <zone name="America/Mendoza" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Menominee" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/Merida" value="CST6CDT,M4.1.0,M10.5.0" />
+ <zone name="America/Mexico_City" value="CST6CDT,M4.1.0,M10.5.0" />
+ <zone name="America/Miquelon" value="PMST3PMDT,M3.2.0,M11.1.0" />
+ <zone name="America/Moncton" value="AST4ADT,M3.2.0,M11.1.0" />
+ <zone name="America/Monterrey" value="CST6CDT,M4.1.0,M10.5.0" />
+ <zone name="America/Montevideo" value="UYT3UYST,M10.1.0,M3.2.0" />
+ <zone name="America/Montreal" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Montserrat" value="AST4" />
+ <zone name="America/Nassau" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/New_York" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Nipigon" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Nome" value="AKST9AKDT,M3.2.0,M11.1.0" />
+ <zone name="America/Noronha" value="FNT2" />
+ <zone name="America/North_Dakota/Center" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/North_Dakota/New_Salem" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/Panama" value="EST5" />
+ <zone name="America/Pangnirtung" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Paramaribo" value="SRT3" />
+ <zone name="America/Phoenix" value="MST7" />
+ <zone name="America/Port-au-Prince" value="EST5" />
+ <zone name="America/Porto_Acre" value="ACT5" />
+ <zone name="America/Port_of_Spain" value="AST4" />
+ <zone name="America/Porto_Velho" value="AMT4" />
+ <zone name="America/Puerto_Rico" value="AST4" />
+ <zone name="America/Rainy_River" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/Rankin_Inlet" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/Recife" value="BRT3" />
+ <zone name="America/Regina" value="CST6" />
+ <zone name="America/Resolute" value="EST5" />
+ <zone name="America/Rio_Branco" value="ACT5" />
+ <zone name="America/Rosario" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Santiago" value="CLST" />
+ <zone name="America/Santo_Domingo" value="AST4" />
+ <zone name="America/Sao_Paulo" value="BRT3BRST,M10.2.0/0,M2.3.0/0" />
+ <zone name="America/Scoresbysund" value="EGT1EGST,M3.5.0/0,M10.5.0/1" />
+ <zone name="America/Shiprock" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="America/St_Barthelemy" value="AST4" />
+ <zone name="America/St_Johns" value="NST3:30NDT,M3.2.0/0:01,M11.1.0/0:01" />
+ <zone name="America/St_Kitts" value="AST4" />
+ <zone name="America/St_Lucia" value="AST4" />
+ <zone name="America/St_Thomas" value="AST4" />
+ <zone name="America/St_Vincent" value="AST4" />
+ <zone name="America/Swift_Current" value="CST6" />
+ <zone name="America/Tegucigalpa" value="CST6" />
+ <zone name="America/Thule" value="AST4ADT,M3.2.0,M11.1.0" />
+ <zone name="America/Thunder_Bay" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Tijuana" value="PST8PDT,M4.1.0,M10.5.0" />
+ <zone name="America/Toronto" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Tortola" value="AST4" />
+ <zone name="America/Vancouver" value="PST8PDT,M3.2.0,M11.1.0" />
+ <zone name="America/Virgin" value="AST4" />
+ <zone name="America/Whitehorse" value="PST8PDT,M3.2.0,M11.1.0" />
+ <zone name="America/Winnipeg" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/Yakutat" value="AKST9AKDT,M3.2.0,M11.1.0" />
+ <zone name="America/Yellowknife" value="MST7MDT,M3.2.0,M11.1.0" />
+
+ <zone name="Antarctica/Casey" value="WST-8" />
+ <zone name="Antarctica/Davis" value="DAVT-7" />
+ <zone name="Antarctica/DumontDUrville" value="DDUT-10" />
+ <zone name="Antarctica/Mawson" value="MAWT-6" />
+ <zone name="Antarctica/McMurdo" value="NZST-12NZDT,M9.5.0,M4.1.0/3" />
+ <zone name="Antarctica/Palmer" value="CLST" />
+ <zone name="Antarctica/Rothera" value="ROTT3" />
+ <zone name="Antarctica/South_Pole" value="NZST-12NZDT,M9.5.0,M4.1.0/3" />
+ <zone name="Antarctica/Syowa" value="SYOT-3" />
+ <zone name="Antarctica/Vostok" value="VOST-6" />
+
+ <zone name="Arctic/Longyearbyen" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+
+ <zone name="Asia/Aden" value="AST-3" />
+ <zone name="Asia/Almaty" value="ALMT-6" />
+ <zone name="Asia/Amman" value="EET-2EEST,M3.5.4/0,M10.5.5/1" />
+ <zone name="Asia/Anadyr" value="ANAT-12ANAST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Aqtau" value="AQTT-5" />
+ <zone name="Asia/Aqtobe" value="AQTT-5" />
+ <zone name="Asia/Ashgabat" value="TMT-5" />
+ <zone name="Asia/Ashkhabad" value="TMT-5" />
+ <zone name="Asia/Baghdad" value="AST-3" />
+ <zone name="Asia/Bahrain" value="AST-3" />
+ <zone name="Asia/Baku" value="AZT-4AZST,M3.5.0/4,M10.5.0/5" />
+ <zone name="Asia/Bangkok" value="ICT-7" />
+ <zone name="Asia/Beirut" value="EET-2EEST,M3.5.0/0,M10.5.0/0" />
+ <zone name="Asia/Bishkek" value="KGT-6" />
+ <zone name="Asia/Brunei" value="BNT-8" />
+ <zone name="Asia/Calcutta" value="IST-5:30" />
+ <zone name="Asia/Choibalsan" value="CHOT-9" />
+ <zone name="Asia/Chongqing" value="CST-8" />
+ <zone name="Asia/Chungking" value="CST-8" />
+ <zone name="Asia/Colombo" value="IST-5:30" />
+ <zone name="Asia/Dacca" value="BDT-6" />
+ <zone name="Asia/Damascus" value="EET-2EEST,M4.1.5/0,J274/0" />
+ <zone name="Asia/Dhaka" value="BDT-6" />
+ <zone name="Asia/Dili" value="TLT-9" />
+ <zone name="Asia/Dubai" value="GST-4" />
+ <zone name="Asia/Dushanbe" value="TJT-5" />
+ <zone name="Asia/Gaza" value="EET-2EEST,J91/0,M9.2.4" />
+ <zone name="Asia/Harbin" value="CST-8" />
+ <zone name="Asia/Ho_Chi_Minh" value="ICT-7" />
+ <zone name="Asia/Hong_Kong" value="HKT-8" />
+ <zone name="Asia/Hovd" value="HOVT-7" />
+ <zone name="Asia/Irkutsk" value="IRKT-8IRKST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Istanbul" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Asia/Jakarta" value="WIT-7" />
+ <zone name="Asia/Jayapura" value="EIT-9" />
+ <zone name="Asia/Jerusalem" value="IDDT" />
+ <zone name="Asia/Kabul" value="AFT-4:30" />
+ <zone name="Asia/Kamchatka" value="PETT-12PETST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Karachi" value="PKT-5" />
+ <zone name="Asia/Kashgar" value="CST-8" />
+ <zone name="Asia/Katmandu" value="NPT-5:45" />
+ <zone name="Asia/Kolkata" value="IST-5:30" />
+ <zone name="Asia/Krasnoyarsk" value="KRAT-7KRAST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Kuala_Lumpur" value="MYT-8" />
+ <zone name="Asia/Kuching" value="MYT-8" />
+ <zone name="Asia/Kuwait" value="AST-3" />
+ <zone name="Asia/Macao" value="CST-8" />
+ <zone name="Asia/Macau" value="CST-8" />
+ <zone name="Asia/Magadan" value="MAGT-11MAGST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Makassar" value="CIT-8" />
+ <zone name="Asia/Manila" value="PHT-8" />
+ <zone name="Asia/Muscat" value="GST-4" />
+ <zone name="Asia/Nicosia" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Asia/Novosibirsk" value="NOVT-6NOVST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Omsk" value="OMST-6OMSST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Oral" value="ORAT-5" />
+ <zone name="Asia/Phnom_Penh" value="ICT-7" />
+ <zone name="Asia/Pontianak" value="WIT-7" />
+ <zone name="Asia/Pyongyang" value="KST-9" />
+ <zone name="Asia/Qatar" value="AST-3" />
+ <zone name="Asia/Qyzylorda" value="QYZT-6" />
+ <zone name="Asia/Rangoon" value="MMT-6:30" />
+ <zone name="Asia/Riyadh" value="AST-3" />
+ <zone name="Asia/Riyadh87" value="zzz-3:07:04" />
+ <zone name="Asia/Riyadh88" value="zzz-3:07:04" />
+ <zone name="Asia/Riyadh89" value="zzz-3:07:04" />
+ <zone name="Asia/Saigon" value="ICT-7" />
+ <zone name="Asia/Sakhalin" value="SAKT-10SAKST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Samarkand" value="UZT-5" />
+ <zone name="Asia/Seoul" value="KST-9" />
+ <zone name="Asia/Shanghai" value="CST-8" />
+ <zone name="Asia/Singapore" value="SGT-8" />
+ <zone name="Asia/Taipei" value="CST-8" />
+ <zone name="Asia/Tashkent" value="UZT-5" />
+ <zone name="Asia/Tbilisi" value="GET-4" />
+ <zone name="Asia/Tehran" value="IRDT" />
+ <zone name="Asia/Tel_Aviv" value="IDDT" />
+ <zone name="Asia/Thimbu" value="BTT-6" />
+ <zone name="Asia/Thimphu" value="BTT-6" />
+ <zone name="Asia/Tokyo" value="JST-9" />
+ <zone name="Asia/Ujung_Pandang" value="CIT-8" />
+ <zone name="Asia/Ulaanbaatar" value="ULAT-8" />
+ <zone name="Asia/Ulan_Bator" value="ULAT-8" />
+ <zone name="Asia/Urumqi" value="CST-8" />
+ <zone name="Asia/Vientiane" value="ICT-7" />
+ <zone name="Asia/Vladivostok" value="VLAT-10VLAST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Yakutsk" value="YAKT-9YAKST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Yekaterinburg" value="YEKT-5YEKST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Yerevan" value="AMT-4AMST,M3.5.0,M10.5.0/3" />
+
+ <zone name="Atlantic/Azores" value="AZOT1AZOST,M3.5.0/0,M10.5.0/1" />
+ <zone name="Atlantic/Bermuda" value="AST4ADT,M3.2.0,M11.1.0" />
+ <zone name="Atlantic/Canary" value="WET0WEST,M3.5.0/1,M10.5.0" />
+ <zone name="Atlantic/Cape_Verde" value="CVT1" />
+ <zone name="Atlantic/Faeroe" value="WET0WEST,M3.5.0/1,M10.5.0" />
+ <zone name="Atlantic/Faroe" value="WET0WEST,M3.5.0/1,M10.5.0" />
+ <zone name="Atlantic/Jan_Mayen" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Atlantic/Madeira" value="WET0WEST,M3.5.0/1,M10.5.0" />
+ <zone name="Atlantic/Reykjavik" value="GMT0" />
+ <zone name="Atlantic/South_Georgia" value="GST2" />
+ <zone name="Atlantic/Stanley" value="FKT4FKST,M9.1.0,M4.3.0" />
+ <zone name="Atlantic/St_Helena" value="GMT0" />
+
+ <zone name="Australia/ACT" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Adelaide" value="CST-9:30CST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Brisbane" value="EST-10" />
+ <zone name="Australia/Broken_Hill" value="CST-9:30CST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Canberra" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Currie" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Darwin" value="CST-9:30" />
+ <zone name="Australia/Eucla" value="CWST-8:45" />
+ <zone name="Australia/Hobart" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/LHI" value="LHST-10:30LHST-11,M10.1.0,M4.1.0" />
+ <zone name="Australia/Lindeman" value="EST-10" />
+ <zone name="Australia/Lord_Howe" value="LHST-10:30LHST-11,M10.1.0,M4.1.0" />
+ <zone name="Australia/Melbourne" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/North" value="CST-9:30" />
+ <zone name="Australia/NSW" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Perth" value="WST-8" />
+ <zone name="Australia/Queensland" value="EST-10" />
+ <zone name="Australia/South" value="CST-9:30CST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Sydney" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Tasmania" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Victoria" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/West" value="WST-8" />
+ <zone name="Australia/Yancowinna" value="CST-9:30CST,M10.1.0,M4.1.0/3" />
+
+ <zone name="Brazil/Acre" value="ACT5" />
+ <zone name="Brazil/DeNoronha" value="FNT2" />
+ <zone name="Brazil/East" value="BRT3BRST,M10.2.0/0,M2.3.0/0" />
+ <zone name="Brazil/West" value="AMT4" />
+
+ <zone name="Canada/Atlantic" value="AST4ADT,M3.2.0,M11.1.0" />
+ <zone name="Canada/Central" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="Canada/Eastern" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="Canada/East-Saskatchewan" value="CST6" />
+ <zone name="Canada/Mountain" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="Canada/Newfoundland" value="NST3:30NDT,M3.2.0/0:01,M11.1.0/0:01" />
+ <zone name="Canada/Pacific" value="PST8PDT,M3.2.0,M11.1.0" />
+ <zone name="Canada/Saskatchewan" value="CST6" />
+ <zone name="Canada/Yukon" value="PST8PDT,M3.2.0,M11.1.0" />
+
+ <zone name="Chile/Continental" value="CLST" />
+ <zone name="Chile/EasterIsland" value="EASST" />
+
+ <zone name="Etc/GMT" value="GMT0" />
+ <zone name="Etc/GMT0" value="GMT0" />
+ <zone name="Etc/GMT-0" value="GMT0" />
+ <zone name="Etc/GMT+0" value="GMT0" />
+ <zone name="Etc/GMT-1" value="GMT-1" />
+ <zone name="Etc/GMT+1" value="GMT+1" />
+ <zone name="Etc/GMT-10" value="GMT-10" />
+ <zone name="Etc/GMT+10" value="GMT+10" />
+ <zone name="Etc/GMT-11" value="GMT-11" />
+ <zone name="Etc/GMT+11" value="GMT+11" />
+ <zone name="Etc/GMT-12" value="GMT-12" />
+ <zone name="Etc/GMT+12" value="GMT+12" />
+ <zone name="Etc/GMT-13" value="GMT-13" />
+ <zone name="Etc/GMT-14" value="GMT-14" />
+ <zone name="Etc/GMT-2" value="GMT-2" />
+ <zone name="Etc/GMT+2" value="GMT+2" />
+ <zone name="Etc/GMT-3" value="GMT-3" />
+ <zone name="Etc/GMT+3" value="GMT+3" />
+ <zone name="Etc/GMT-4" value="GMT-4" />
+ <zone name="Etc/GMT+4" value="GMT+4" />
+ <zone name="Etc/GMT-5" value="GMT-5" />
+ <zone name="Etc/GMT+5" value="GMT+5" />
+ <zone name="Etc/GMT-6" value="GMT-6" />
+ <zone name="Etc/GMT+6" value="GMT+6" />
+ <zone name="Etc/GMT-7" value="GMT-7" />
+ <zone name="Etc/GMT+7" value="GMT+7" />
+ <zone name="Etc/GMT-8" value="GMT-8" />
+ <zone name="Etc/GMT+8" value="GMT+8" />
+ <zone name="Etc/GMT-9" value="GMT-9" />
+ <zone name="Etc/GMT+9" value="GMT+9" />
+ <zone name="Etc/Greenwich" value="GMT0" />
+ <zone name="Etc/UCT" value="UCT0" />
+ <zone name="Etc/Universal" value="UTC0" />
+ <zone name="Etc/UTC" value="UTC0" />
+ <zone name="Etc/Zulu" value="UTC0" />
+
+ <zone name="Europe/Amsterdam" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Andorra" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Athens" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Belfast" value="GMT0BST,M3.5.0/1,M10.5.0" />
+ <zone name="Europe/Belgrade" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Berlin" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Bratislava" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Brussels" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Bucharest" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Budapest" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Chisinau" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Copenhagen" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Dublin" value="GMT0IST,M3.5.0/1,M10.5.0" />
+ <zone name="Europe/Gibraltar" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Guernsey" value="GMT0BST,M3.5.0/1,M10.5.0" />
+ <zone name="Europe/Helsinki" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Isle_of_Man" value="GMT0BST,M3.5.0/1,M10.5.0" />
+ <zone name="Europe/Istanbul" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Jersey" value="GMT0BST,M3.5.0/1,M10.5.0" />
+ <zone name="Europe/Kaliningrad" value="EET-2EEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Kiev" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Lisbon" value="WET0WEST,M3.5.0/1,M10.5.0" />
+ <zone name="Europe/Ljubljana" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/London" value="GMT0BST,M3.5.0/1,M10.5.0" />
+ <zone name="Europe/Luxembourg" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Madrid" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Malta" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Mariehamn" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Minsk" value="EET-2EEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Monaco" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Moscow" value="MSK-3MSD,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Nicosia" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Oslo" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Paris" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Podgorica" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Prague" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Riga" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Rome" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Samara" value="SAMT-4SAMST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/San_Marino" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Sarajevo" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Simferopol" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Skopje" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Sofia" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Stockholm" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Tallinn" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Tirane" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Tiraspol" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Uzhgorod" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Vaduz" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Vatican" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Vienna" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Vilnius" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Volgograd" value="VOLT-3VOLST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Warsaw" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Zagreb" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Zaporozhye" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Zurich" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+
+ <zone name="Indian/Antananarivo" value="EAT-3" />
+ <zone name="Indian/Chagos" value="IOT-6" />
+ <zone name="Indian/Christmas" value="CXT-7" />
+ <zone name="Indian/Cocos" value="CCT-6:30" />
+ <zone name="Indian/Comoro" value="EAT-3" />
+ <zone name="Indian/Kerguelen" value="TFT-5" />
+ <zone name="Indian/Mahe" value="SCT-4" />
+ <zone name="Indian/Maldives" value="MVT-5" />
+ <zone name="Indian/Mauritius" value="MUT-4" />
+ <zone name="Indian/Mayotte" value="EAT-3" />
+ <zone name="Indian/Reunion" value="RET-4" />
+
+ <zone name="Mexico/BajaNorte" value="PST8PDT,M4.1.0,M10.5.0" />
+ <zone name="Mexico/BajaSur" value="MST7MDT,M4.1.0,M10.5.0" />
+ <zone name="Mexico/General" value="CST6CDT,M4.1.0,M10.5.0" />
+
+ <zone name="Mideast/Riyadh87" value="zzz-3:07:04" />
+ <zone name="Mideast/Riyadh88" value="zzz-3:07:04" />
+ <zone name="Mideast/Riyadh89" value="zzz-3:07:04" />
+
+ <zone name="Pacific/Apia" value="WST11" />
+ <zone name="Pacific/Auckland" value="NZST-12NZDT,M9.5.0,M4.1.0/3" />
+ <zone name="Pacific/Chatham" value="CHAST-12:45CHADT,M9.5.0/2:45,M4.1.0/3:45" />
+ <zone name="Pacific/Easter" value="EASST" />
+ <zone name="Pacific/Efate" value="VUT-11" />
+ <zone name="Pacific/Enderbury" value="PHOT-13" />
+ <zone name="Pacific/Fakaofo" value="TKT10" />
+ <zone name="Pacific/Fiji" value="FJT-12" />
+ <zone name="Pacific/Funafuti" value="TVT-12" />
+ <zone name="Pacific/Galapagos" value="GALT6" />
+ <zone name="Pacific/Gambier" value="GAMT9" />
+ <zone name="Pacific/Guadalcanal" value="SBT-11" />
+ <zone name="Pacific/Guam" value="ChST-10" />
+ <zone name="Pacific/Honolulu" value="HST10" />
+ <zone name="Pacific/Johnston" value="HST10" />
+ <zone name="Pacific/Kiritimati" value="LINT-14" />
+ <zone name="Pacific/Kosrae" value="KOST-11" />
+ <zone name="Pacific/Kwajalein" value="MHT-12" />
+ <zone name="Pacific/Majuro" value="MHT-12" />
+ <zone name="Pacific/Marquesas" value="MART9:30" />
+ <zone name="Pacific/Midway" value="SST11" />
+ <zone name="Pacific/Nauru" value="NRT-12" />
+ <zone name="Pacific/Niue" value="NUT11" />
+ <zone name="Pacific/Norfolk" value="NFT-11:30" />
+ <zone name="Pacific/Noumea" value="NCT-11" />
+ <zone name="Pacific/Pago_Pago" value="SST11" />
+ <zone name="Pacific/Palau" value="PWT-9" />
+ <zone name="Pacific/Pitcairn" value="PST8" />
+ <zone name="Pacific/Ponape" value="PONT-11" />
+ <zone name="Pacific/Port_Moresby" value="PGT-10" />
+ <zone name="Pacific/Rarotonga" value="CKT10" />
+ <zone name="Pacific/Saipan" value="ChST-10" />
+ <zone name="Pacific/Samoa" value="SST11" />
+ <zone name="Pacific/Tahiti" value="TAHT10" />
+ <zone name="Pacific/Tarawa" value="GILT-12" />
+ <zone name="Pacific/Tongatapu" value="TOT-13" />
+ <zone name="Pacific/Truk" value="TRUT-10" />
+ <zone name="Pacific/Wake" value="WAKT-12" />
+ <zone name="Pacific/Wallis" value="WFT-12" />
+ <zone name="Pacific/Yap" value="TRUT-10" />
+
+ <zone name="SystemV/AST4" value="AST4" />
+ <zone name="SystemV/AST4ADT" value="AST4ADT,M3.2.0,M11.1.0" />
+ <zone name="SystemV/CST6" value="CST6" />
+ <zone name="SystemV/CST6CDT" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="SystemV/EST5" value="EST5" />
+ <zone name="SystemV/EST5EDT" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="SystemV/HST10" value="HST10" />
+ <zone name="SystemV/MST7" value="MST7" />
+ <zone name="SystemV/MST7MDT" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="SystemV/PST8" value="PST8" />
+ <zone name="SystemV/PST8PDT" value="PST8PDT,M3.2.0,M11.1.0" />
+ <zone name="SystemV/YST9" value="GAMT9" />
+ <zone name="SystemV/YST9YDT" value="AKST9AKDT,M3.2.0,M11.1.0" />
+
+ <zone name="US/Alaska" value="AKST9AKDT,M3.2.0,M11.1.0" />
+ <zone name="US/Aleutian" value="HAST10HADT,M3.2.0,M11.1.0" />
+ <zone name="US/Arizona" value="MST7" />
+ <zone name="US/Central" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="US/Eastern" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="US/East-Indiana" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="US/Hawaii" value="HST10" />
+ <zone name="US/Indiana-Starke" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="US/Michigan" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="US/Mountain" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="US/Pacific" value="PST8PDT,M3.2.0,M11.1.0" />
+ <zone name="US/Samoa" value="SST11" />
+ </timezones>
+</configuration>
--- /dev/null
+<configuration name="voicemail.conf" description="Voicemail">
+ <settings>
+ </settings>
+ <profiles>
+ <profile name="default">
+ <param name="file-extension" value="wav"/>
+ <param name="terminator-key" value="#"/>
+ <param name="max-login-attempts" value="3"/>
+ <param name="digit-timeout" value="10000"/>
+ <param name="min-record-len" value="3"/>
+ <param name="max-record-len" value="300"/>
+ <param name="tone-spec" value="%(1000, 0, 640)"/>
+ <param name="callback-dialplan" value="XML"/>
+ <param name="callback-context" value="default"/>
+ <param name="play-new-messages-key" value="1"/>
+ <param name="play-saved-messages-key" value="2"/>
+ <param name="main-menu-key" value="0"/>
+ <param name="config-menu-key" value="5"/>
+ <param name="record-greeting-key" value="1"/>
+ <param name="choose-greeting-key" value="2"/>
+ <param name="change-pass-key" value="6"/>
+ <param name="record-name-key" value="3"/>
+ <param name="record-file-key" value="3"/>
+ <param name="listen-file-key" value="1"/>
+ <param name="save-file-key" value="2"/>
+ <param name="delete-file-key" value="7"/>
+ <param name="undelete-file-key" value="8"/>
+ <param name="email-key" value="4"/>
+ <param name="pause-key" value="0"/>
+ <param name="restart-key" value="1"/>
+ <param name="ff-key" value="6"/>
+ <param name="rew-key" value="4"/>
+ <param name="record-silence-threshold" value="200"/>
+ <param name="record-silence-hits" value="2"/>
+ <param name="web-template-file" value="web-vm.tpl"/>
+ <!-- if you need to change the sample rate of the recorded files e.g. gmail voicemail player -->
+ <!--<param name="record-sample-rate" value="11025"/>-->
+ <!-- the next two both must be set for this to be enabled
+ the extension is in the format of <dest> [<dialplan>] [<context>]
+ -->
+ <param name="operator-extension" value="operator XML default"/>
+ <param name="operator-key" value="9"/>
+ <param name="vmain-extension" value="vmain XML default"/>
+ <param name="vmain-key" value="*"/>
+ <!-- playback created files as soon as they were recorded by default -->
+ <!--<param name="auto-playback-recordings" value="true"/>-->
+ <email>
+ <param name="template-file" value="voicemail.tpl"/>
+ <param name="notify-template-file" value="notify-voicemail.tpl"/>
+ <!-- this is the format voicemail_time will have -->
+ <param name="date-fmt" value="%A, %B %d %Y, %I %M %p"/>
+ <param name="email-from" value="${voicemail_account}@${voicemail_domain}"/>
+ </email>
+ <!--<param name="storage-dir" value="/tmp"/>-->
+ <!--<param name="odbc-dsn" value="dsn:user:pass"/>-->
+ <!--<param name="record-comment" value="Your Comment"/>-->
+ <!--<param name="record-title" value="Your Title"/>-->
+ <!--<param name="record-copyright" value="Your Copyright"/>-->
+
+
+ </profile>
+ </profiles>
+</configuration>
--- /dev/null
+<configuration name="xml_cdr.conf" description="XML CDR CURL logger">
+ <settings>
+ <!-- the url to post to if blank web posting is disabled -->
+ <!-- <param name="url" value="http://localhost/cdr_curl/post.php"/> -->
+
+ <!-- optional: credentials to send to web server -->
+ <!-- <param name="cred" value="user:pass"/> -->
+
+ <!-- the total number of retries (not counting the first 'try') to post to webserver incase of failure -->
+ <!-- <param name="retries" value="2"/> -->
+
+ <!-- delay between retries in seconds, default is 5 seconds -->
+ <!-- <param name="delay" value="1"/> -->
+
+ <!-- optional: if not present we do not log every record to disk -->
+ <!-- either an absolute path, a relative path assuming ${prefix}/logs or a blank value will default to ${prefix}/logs/xml_cdr -->
+ <param name="log-dir" value=""/>
+
+ <!-- optional: if not present we do log the b leg -->
+ <!-- true or false if we should create a cdr for the b leg of a call-->
+ <param name="log-b-leg" value="false"/>
+
+ <!-- optional: if not present, all filenames are the uuid of the call -->
+ <!-- true or false if a leg files are prefixed "a_" -->
+ <param name="prefix-a-leg" value="true"/>
+
+ <!-- encode the post data may be 'true' for url encoding, 'false' for no encoding or 'base64' for base64 encoding -->
+ <param name="encode" value="true"/>
+
+ <!-- optional: set to true to disable Expect: 100-continue lighttpd requires this setting -->
+ <!--<param name="disable-100-continue" value="true"/>-->
+
+ <!-- optional: full path to the error log dir for failed web posts if not specified its the same as log-dir -->
+ <!-- either an absolute path, a relative path assuming ${prefix}/logs or a blank or omitted value will default to ${prefix}/logs/xml_cdr -->
+ <!-- <param name="err-log-dir" value="/tmp"/> -->
+
+ <!-- optional: if enabled this will disable CA root certificate checks by libcurl -->
+ <!-- note: default value is disabled. only enable if you want this! -->
+ <!-- <param name="ignore-cacert-check" value="true" /> -->
+
+ </settings>
+</configuration>
--- /dev/null
+<configuration name="xml_curl.conf" description="cURL XML Gateway">
+ <bindings>
+ <binding name="example">
+ <!-- The url to a gateway cgi that can generate xml similar to
+ what's in this file only on-the-fly (leave it commented if you dont
+ need it) -->
+ <!-- one or more |-delim of configuration|directory|dialplan -->
+ <!-- <param name="gateway-url" value="http://www.freeswitch.org/gateway.xml" bindings="dialplan"/> -->
+ <!-- set this to provide authentication credentials to the server -->
+ <!--<param name="gateway-credentials" value="muser:mypass"/>-->
+ <!-- set to true to disable Expect: 100-continue lighttpd requires this setting -->
+ <!--<param name="disable-100-continue" value="true"/>-->
+
+ <!-- optional: if enabled this will disable CA root certificate checks by libcurl -->
+ <!-- note: default value is disabled. only enable if you want this! -->
+ <!-- <param name="ignore-cacert-check" value="true" /> -->
+ <!-- one or more of these imply you want to pick the exact variables that are transmitted -->
+ <!--<param name="enable-post-var" value="Unique-ID"/>-->
+ </binding>
+ </bindings>
+</configuration>
--- /dev/null
+<configuration name="xml_rpc.conf" description="XML RPC">
+ <settings>
+ <!-- The port where you want to run the http service (default 8080) -->
+ <param name="http-port" value="8080"/>
+ <!-- if all 3 of the following params exist all http traffic will require auth -->
+ <param name="auth-realm" value="freeswitch"/>
+ <param name="auth-user" value="freeswitch"/>
+ <param name="auth-pass" value="works"/>
+ </settings>
+</configuration>
--- /dev/null
+<configuration name="zeroconf.conf" description="Zeroconf Event Handler">
+ <settings>
+ <param name="publish" value="yes"/>
+ <param name="browse" value="_sip._udp"/>
+ </settings>
+</configuration>
--- /dev/null
+<!--
+ NOTICE:
+
+ This context is usually accessed via authenticated callers on the sip profile on port 5060
+ or transfered callers from the public context which arrived via the sip profile on port 5080.
+
+ Authenticated users will use the user_context variable on the user to determine what context
+ they can access. You can also add a user in the directory with the cidr= attribute acl.conf.xml
+ will build the domains acl using this value.
+-->
+
+<?xml version="1.0" encoding="utf-8"?>
+<!-- http://wiki.freeswitch.org/wiki/Dialplan_XML -->
+<include>
+ <context name="default">
+
+ <extension name="unloop">
+ <condition field="$${unroll_loops}" expression="^true$"/>
+ <condition field="${sip_looped_call}" expression="^true$">
+ <action application="deflect" data="${destination_number}"/>
+ </condition>
+ </extension>
+
+ <!--
+ Try to get the domain from the sip_auth_realm otherwise it will
+ default domain in vars.xml for cases it can't figure it out.
+
+ -->
+ <extension name="set_domain" continue="true">
+ <condition field="${domain_name}" expression="^$"/>
+ <condition field="source" expression="mod_sofia"/>
+ <condition field="${sip_auth_realm}" expression="^$">
+ <action application="set" data="domain_name=$${domain}"/>
+ <anti-action application="set" data="domain_name=${sip_auth_realm}"/>
+ </condition>
+ </extension>
+
+ <!-- Set the domain -->
+ <extension name="set_domain_openzap" continue="true">
+ <condition field="${domain_name}" expression="^$"/>
+ <condition field="source" expression="mod_openzap">
+ <action application="set" data="domain_name=$${domain}"/>
+ </condition>
+ </extension>
+
+ <!-- Example of doing things based on time of day. -->
+ <extension name="tod_example" continue="true">
+ <!-- man strftime - M-F, 9AM to 6PM -->
+ <condition field="${strftime(%w)}" expression="^([1-5])$"/>
+ <condition field="${strftime(%H%M)}" expression="^((09|1[0-7])[0-5][0-9]|1800)$">
+ <action application="set" data="open=true"/>
+ </condition>
+ </extension>
+
+ <extension name="global-intercept">
+ <condition field="destination_number" expression="^886$">
+ <action application="answer"/>
+ <action application="intercept" data="${db(select/${domain_name}-last_dial/global)}"/>
+ <action application="sleep" data="2000"/>
+ </condition>
+ </extension>
+
+ <extension name="group-intercept">
+ <condition field="destination_number" expression="^\*8$">
+ <action application="answer"/>
+ <action application="intercept" data="${db(select/${domain_name}-last_dial/${callgroup})}"/>
+ <action application="sleep" data="2000"/>
+ </condition>
+ </extension>
+
+ <extension name="intercept-ext">
+ <condition field="destination_number" expression="^\*\*(\d+)$">
+ <action application="answer"/>
+ <action application="intercept" data="${db(select/${domain_name}-last_dial_ext/$1)}"/>
+ <action application="sleep" data="2000"/>
+ </condition>
+ </extension>
+
+ <extension name="redial">
+ <condition field="destination_number" expression="^870$">
+ <action application="transfer" data="${db(select/${domain_name}-last_dial/${caller_id_number})}"/>
+ </condition>
+ </extension>
+
+ <extension name="global" continue="true">
+ <condition field="${network_addr}" expression="^$" break="never">
+ <action application="set" data="use_profile=${cond(${acl($${local_ip_v4} rfc1918)} == true ? nat : default)}"/>
+ <anti-action application="set" data="use_profile=${cond(${acl(${network_addr} rfc1918)} == true ? nat : default)}"/>
+ </condition>
+ <!-- This will setup some variables if the user isn't authenticated. -->
+ <condition field="${numbering_plan}" expression="^$" break="never">
+ <action application="set_user" data="default@${domain_name}"/>
+ </condition>
+ <condition field="$${call_debug}" expression="^true$" break="never">
+ <action application="info"/>
+ </condition>
+ <condition field="${sip_has_crypto}" expression="^(AES_CM_128_HMAC_SHA1_32|AES_CM_128_HMAC_SHA1_80)$" break="never">
+ <action application="set" data="sip_secure_media=true"/>
+ <!-- Offer SRTP on outbound legs if we have it on inbound. -->
+ <!-- <action application="export" data="sip_secure_media=true"/> -->
+ </condition>
+ <condition>
+ <action application="db" data="insert/${domain_name}-spymap/${caller_id_number}/${uuid}"/>
+ <action application="db" data="insert/${domain_name}-last_dial/${caller_id_number}/${destination_number}"/>
+ <action application="db" data="insert/${domain_name}-last_dial/global/${uuid}"/>
+ </condition>
+ </extension>
+
+ <!-- If sip_req_host is not a local domain then this has to be an external sip uri -->
+ <!--
+ <extension name="external_sip_uri" continue="true">
+ <condition field="source" expression="mod_sofia"/>
+ <condition field="${outside_call}" expression="^$"/>
+ <condition field="${domain_exists(${sip_req_host})}" expression="true">
+ <anti-action application="bridge" data="sofia/${use_profile}/${sip_to_uri}"/>
+ </condition>
+ </extension>
+ -->
+ <!--
+ snom button demo, call 9000 to make button 2 mapped to transfer the current call to a conference
+ -->
+
+ <extension name="snom-demo-2">
+ <condition field="destination_number" expression="^9001$">
+ <action application="eval" data="${snom_bind_key(2 off DND ${sip_from_user} ${sip_from_host} ${sofia_profile_name} message notused)}"/>
+ <action application="transfer" data="3000"/>
+ </condition>
+ </extension>
+
+ <extension name="snom-demo-1">
+ <condition field="destination_number" expression="^9000$">
+ <!--<key> <light> <label> <user> <host> <profile> <action_name> <action>-->
+ <action application="eval" data="${snom_bind_key(2 on DND ${sip_from_user} ${sip_from_host} ${sofia_profile_name} message api+uuid_transfer ${uuid} 9001)}"/>
+ <action application="playback" data="$${hold_music}"/>
+ </condition>
+ </extension>
+
+ <extension name="eavesdrop">
+ <condition field="destination_number" expression="^88(.*)$|^\*0(.*)$">
+ <action application="answer"/>
+ <action application="eavesdrop" data="${db(select/${domain_name}-spymap/$1)}"/>
+ </condition>
+ </extension>
+
+ <extension name="eavesdrop">
+ <condition field="destination_number" expression="^779$">
+ <action application="answer"/>
+ <action application="set" data="eavesdrop_indicate_failed=tone_stream://%(500, 0, 320)"/>
+ <action application="set" data="eavesdrop_indicate_new=tone_stream://%(500, 0, 620)"/>
+ <action application="set" data="eavesdrop_indicate_idle=tone_stream://%(250, 0, 920)"/>
+ <action application="eavesdrop" data="all"/>
+ </condition>
+ </extension>
+
+ <extension name="call_return">
+ <condition field="destination_number" expression="^\*69$|^869$|^lcr$">
+ <action application="transfer" data="${db(select/${domain_name}-call_return/${caller_id_number})}"/>
+ </condition>
+ </extension>
+
+ <extension name="del-group">
+ <condition field="destination_number" expression="^80(\d{2})$">
+ <action application="answer"/>
+ <action application="group" data="delete:$1@${domain_name}:${sofia_contact(${sip_from_user}@${domain_name})}"/>
+ <action application="gentones" data="%(1000, 0, 320)"/>
+ </condition>
+ </extension>
+
+ <extension name="add-group">
+ <condition field="destination_number" expression="^81(\d{2})$">
+ <action application="answer"/>
+ <action application="group" data="insert:$1@${domain_name}:${sofia_contact(${sip_from_user}@${domain_name})}"/>
+ <action application="gentones" data="%(1000, 0, 640)"/>
+ </condition>
+ </extension>
+
+ <extension name="call-group-simo">
+ <condition field="destination_number" expression="^82(\d{2})$">
+ <action application="bridge" data="{ignore_early_media=true}${group(call:$1@${domain_name})}"/>
+ </condition>
+ </extension>
+
+ <extension name="call-group-order">
+ <condition field="destination_number" expression="^83(\d{2})$">
+ <action application="set" data="call_timeout=10"/>
+ <action application="bridge" data="{ignore_early_media=true}${group(call:$1@${domain_name}:order)}"/>
+ </condition>
+ </extension>
+
+ <extension name="extension-intercom">
+ <!-- <condition field="${sip_to_params}" expression="intercom\=true"/> -->
+ <condition field="destination_number" expression="^8(10[01][0-9])$">
+ <action application="set" data="dialed_extension=$1"/>
+ <!-- This Alert-Info seems to be a case for Intercom for Polycom which sip_auto_answer=true covers already. -->
+ <!--<action application="export"><![CDATA[alert_info=<sip:${domain_name}>;Ring;Answer]]></action>-->
+ <action application="export"><![CDATA[sip_h_Call-Info=<sip:${domain_name}>;answer-after=0]]></action>
+ <action application="export" data="sip_invite_params=intercom=true"/>
+ <action application="export" data="sip_auto_answer=true"/>
+ <action application="bridge" data="user/${dialed_extension}@${domain_name}"/>
+ </condition>
+ </extension>
+
+ <!--
+ 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])$">
+ <action application="set" data="dialed_extension=$1"/>
+ <action application="export" data="dialed_extension=$1"/>
+ </condition>
+ <condition field="destination_number" expression="^${caller_id_number}$">
+ <action application="set" data="voicemail_authorized=${sip_authorized}"/>
+ <action application="answer"/>
+ <action application="sleep" data="1000"/>
+ <action application="voicemail" data="check default ${domain_name} ${dialed_extension}"/>
+ <!-- bind_meta_app can have these args <key> [a|b|ab] [a|b|o|s] <app> -->
+ <anti-action application="bind_meta_app" data="1 b s execute_extension::dx XML features"/>
+ <anti-action application="bind_meta_app" data="2 b s record_session::$${base_dir}/recordings/${caller_id_number}.${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/>
+ <anti-action application="bind_meta_app" data="3 b s execute_extension::cf XML features"/>
+ <anti-action application="set" data="ringback=${us-ring}"/>
+ <anti-action application="set" data="transfer_ringback=$${hold_music}"/>
+ <anti-action application="set" data="call_timeout=30"/>
+ <!-- <anti-action application="set" data="sip_exclude_contact=${network_addr}"/> -->
+ <anti-action application="set" data="hangup_after_bridge=true"/>
+ <!--<anti-action application="set" data="continue_on_fail=NORMAL_TEMPORARY_FAILURE,USER_BUSY,NO_ANSWER,TIMEOUT,NO_ROUTE_DESTINATION"/> -->
+ <anti-action application="set" data="continue_on_fail=true"/>
+ <anti-action application="db" data="insert/${domain_name}-call_return/${dialed_extension}/${caller_id_number}"/>
+ <anti-action application="db" data="insert/${domain_name}-last_dial_ext/${dialed_extension}/${uuid}"/>
+ <anti-action application="set" data="called_party_callgroup=${user_data(${dialed_extension}@${domain_name} var callgroup)}"/>
+ <!--<anti-action application="export" data="nolocal:sip_secure_media=${user_data(${dialed_extension}@${domain_name} var sip_secure_media)}"/>-->
+ <anti-action application="db" data="insert/${domain_name}-last_dial/${called_party_callgroup}/${uuid}"/>
+ <anti-action application="bridge" data="user/${dialed_extension}@${domain_name}"/>
+ <anti-action application="answer"/>
+ <anti-action application="sleep" data="1000"/>
+ <anti-action application="voicemail" data="default ${domain_name} ${dialed_extension}"/>
+ </condition>
+ </extension>
+
+ <extension name="out_test">
+ <condition>
+ <action application="bridge" data="sofia/external/${destination_number}@out01.voipwelcome.com"/>
+ </condition>
+ </extension>
+
+ <!-- voicemail operator extension -->
+ <extension name="operator">
+ <condition field="destination_number" expression="^operator$|^0$">
+ <action application="set" data="transfer_ringback=$${hold_music}"/>
+ <action application="transfer" data="1000 XML features"/>
+ </condition>
+ </extension>
+
+ <!-- voicemail main extension -->
+ <extension name="vmain">
+ <condition field="destination_number" expression="^vmain|4000$">
+ <action application="answer"/>
+ <action application="sleep" data="1000"/>
+ <action application="voicemail" data="check default ${domain_name}"/>
+ </condition>
+ </extension>
+
+ <!-- dial via SIP uri -->
+ <extension name="sip_uri">
+ <condition field="destination_number" expression="^sip:(.*)$">
+ <action application="bridge" data="sofia/${use_profile}/$1"/>
+ </condition>
+ </extension>
+
+ <!--
+ start a dynamic conference with the settings of the "default" conference profile in conference.conf.xml
+ -->
+ <extension name="nb_conferences">
+ <condition field="destination_number" expression="^(30\d{2})$">
+ <action application="answer"/>
+ <action application="conference" data="$1-${domain_name}@default"/>
+ </condition>
+ </extension>
+
+ <extension name="wb_conferences">
+ <condition field="destination_number" expression="^(31\d{2})$">
+ <action application="answer"/>
+ <action application="conference" data="$1-${domain_name}@wideband"/>
+ </condition>
+ </extension>
+
+ <extension name="uwb_conferences">
+ <condition field="destination_number" expression="^(32\d{2})$">
+ <action application="answer"/>
+ <action application="conference" data="$1-${domain_name}@ultrawideband"/>
+ </condition>
+ </extension>
+
+ <!-- dial the freeswitch conference via SIP-->
+ <extension name="freeswitch_public_conf_via_sip">
+ <condition field="destination_number" expression="^9(888|1616)$">
+ <action application="bridge" data="sofia/${use_profile}/$1@conference.freeswitch.org"/>
+ </condition>
+ </extension>
+
+ <!--This extension will start a conference and invite several people upon entering -->
+ <extension name="mad_boss">
+ <condition field="destination_number" expression="^0911$">
+
+ <!--These params effect the outcalls made once you join-->
+ <action application="set" data="conference_auto_outcall_caller_id_name=Mad Boss"/>
+ <action application="set" data="conference_auto_outcall_caller_id_number=0911"/>
+ <action application="set" data="conference_auto_outcall_timeout=60"/>
+ <action application="set" data="conference_auto_outcall_flags=none"/>
+ <!--<action application="set" data="conference_auto_outcall_announce=say:You have been called into an emergency conference"/>-->
+
+ <!--Add as many of these as you need, These are the people you are going to call-->
+ <action application="conference_set_auto_outcall" data="sofia/gateway/$${default_provider}/19184238080"/>
+ <action application="conference_set_auto_outcall" data="sofia/default/888@conference.freeswitch.org"/>
+
+ <action application="conference" data="cool@default"/>
+ </condition>
+ </extension>
+
+ <!-- a sample IVR -->
+ <extension name="ivr_demo">
+ <condition field="destination_number" expression="^5000$">
+ <action application="answer"/>
+ <action application="sleep" data="2000"/>
+ <action application="ivr" data="demo_ivr"/>
+ </condition>
+ </extension>
+
+ <!-- Create a conference on the fly and pull someone in at the same time. -->
+ <extension name="dyanmic conference">
+ <condition field="destination_number" expression="^5001$">
+ <action application="conference" data="bridge:mydynaconf:sofia/${use_profile}/1234@conference.freeswitch.org"/>
+ </condition>
+ </extension>
+
+ <extension name="rtp_multicast_page">
+ <condition field="destination_number" expression="^pagegroup$|^7243">
+ <action application="answer"/>
+ <action application="esf_page_group"/>
+ </condition>
+ </extension>
+
+ <!--
+ Parking extensions... transferring calls to 5900 will park them in a queue.
+ -->
+ <extension name="park">
+ <condition field="destination_number" expression="^5900$">
+ <action application="set" data="fifo_music=$${hold_music}"/>
+ <action application="fifo" data="5900@${domain_name} in"/>
+ </condition>
+ </extension>
+
+ <!--
+ Parking pickup extension. Calling 5901 will pickup the call.
+ -->
+ <extension name="unpark">
+ <condition field="destination_number" expression="^5901$">
+ <action application="answer"/>
+ <action application="fifo" data="5900@${domain_name} out nowait"/>
+ </condition>
+ </extension>
+
+ <!--
+ This extension is used with snom phones.
+
+ Set a function key to park+lot (lot being a number or name.)
+ Set type to Park+Orbit. You can then park and pickup using
+ the softkey on the phone. Should work with other phones.
+ -->
+ <extension name="park">
+ <condition field="source" expression="mod_sofia"/>
+ <condition field="destination_number" expression="park\+(\d+)">
+ <action application="fifo" data="$1@${domain_name} in undef $${hold_music}"/>
+ </condition>
+ </extension>
+ <!--
+ The extension is parking pickup with a to param of the fifo we are calling
+ Some phones send things like orbit= and you can extract that info.
+ -->
+ <extension name="unpark">
+ <condition field="source" expression="mod_sofia"/>
+ <condition field="destination_number" expression="^parking$"/>
+ <condition field="${sip_to_params}" expression="fifo\=(\d+)">
+ <action application="answer"/>
+ <action application="fifo" data="$1@${domain_name} out nowait"/>
+ </condition>
+ </extension>
+
+ <!--
+ This extension is used with linksys phones.
+
+ Set a Phone tab option Call Park Serv to yes. You can park and
+ pickup using soft keys "park" and "unpark" found during
+ active call when moving navigation button. The other option
+ is to use phone's star codes (defaults to *38 and *39).
+ -->
+ <extension name="park">
+ <condition field="source" expression="mod_sofia"/>
+ <condition field="destination_number" expression="callpark"/>
+ <condition field="${sip_refer_to}">
+ <expression><![CDATA[<sip:callpark@${domain_name};orbit=(\d+)>]]></expression>
+ <action application="fifo" data="$1@${domain_name} in undef $${hold_music}"/>
+ </condition>
+ </extension>
+
+ <!--
+ This extension is used with linksys phones.
+
+ The extension is parking pickup with a to param of the fifo
+ we are calling. Linksys sends orbit=<parkingslotnumber>
+ and we extract that info.
+ -->
+ <extension name="unpark">
+ <condition field="source" expression="mod_sofia"/>
+ <condition field="destination_number" expression="pickup"/>
+ <condition field="${sip_to_params}" expression="orbit\=(\d+)">
+ <action application="answer"/>
+ <action application="fifo" data="$1@${domain_name} out nowait"/>
+ </condition>
+ </extension>
+
+ <!--
+ Here are some examples of how to override the ringback heard by the
+ far end. You have two variables that you can use to override this.
+
+ ringback - used when a call isn't answered. (early media)
+ transfer_ringback - used when the call is already answered. (post answer)
+ -->
+
+ <!-- Demonstration of how to override the ringback in various situations -->
+ <extension name="wait">
+ <condition field="destination_number" expression="^wait$">
+ <action application="pre_answer"/>
+ <action application="sleep" data="20000"/>
+ <action application="answer"/>
+ <action application="sleep" data="1000"/>
+ <action application="playback" data="voicemail/vm-goodbye.wav"/>
+ <action application="hangup"/>
+ </condition>
+ </extension>
+
+ <!-- Send a 180 and let the far end generate ringback. -->
+ <extension name="ringback_180">
+ <condition field="destination_number" expression="^9980$">
+ <action application="ring_ready"/>
+ <action application="sleep" data="20000"/>
+ <action application="answer"/>
+ <action application="sleep" data="1000"/>
+ <action application="playback" data="voicemail/vm-goodbye.wav"/>
+ <action application="hangup"/>
+ </condition>
+ </extension>
+
+ <!-- Send a 183 and send uk-ring as the ringtone. (early media) -->
+ <extension name="ringback_183_uk_ring">
+ <condition field="destination_number" expression="^9981$">
+ <action application="set" data="ringback=$${uk-ring}"/>
+ <action application="bridge" data="loopback/wait"/>
+ </condition>
+ </extension>
+
+ <!-- Send a 183 and use music as the ringtone. (early media) -->
+ <extension name="ringback_183_music_ring">
+ <condition field="destination_number" expression="^9982$">
+ <action application="set" data="ringback=$${hold_music}"/>
+ <action application="bridge" data="loopback/wait"/>
+ </condition>
+ </extension>
+
+ <!-- Answer the call and use music as the ringtone. (post answer) -->
+ <extension name="ringback_post_answer_uk_ring">
+ <condition field="destination_number" expression="^9983$">
+ <action application="set" data="transfer_ringback=$${uk-ring}"/>
+ <action application="answer"/>
+ <action application="bridge" data="loopback/wait"/>
+ </condition>
+ </extension>
+
+ <!-- Answer the call and use music as the ringtone. (post answer) -->
+ <extension name="ringback_post_answer_music">
+ <condition field="destination_number" expression="^9984$">
+ <action application="set" data="transfer_ringback=$${hold_music}"/>
+ <action application="answer"/>
+ <action application="bridge" data="loopback/wait"/>
+ </condition>
+ </extension>
+
+ <extension name="show_info">
+ <condition field="destination_number" expression="^9992$">
+ <action application="answer"/>
+ <action application="info"/>
+ <action application="sleep" data="250"/>
+ <action application="hangup"/>
+ </condition>
+ </extension>
+
+ <extension name="video_record">
+ <condition field="destination_number" expression="^9993$">
+ <action application="answer"/>
+ <action application="record_fsv" data="/tmp/testrecord.fsv"/>
+ </condition>
+ </extension>
+
+ <extension name="video_playback">
+ <condition field="destination_number" expression="^9994$">
+ <action application="answer"/>
+ <action application="play_fsv" data="/tmp/testrecord.fsv"/>
+ </condition>
+ </extension>
+
+ <extension name="delay_echo">
+ <condition field="destination_number" expression="^9995$">
+ <action application="answer"/>
+ <action application="delay_echo" data="5000"/>
+ </condition>
+ </extension>
+
+ <extension name="echo">
+ <condition field="destination_number" expression="^9996$">
+ <action application="answer"/>
+ <action application="echo"/>
+ </condition>
+ </extension>
+
+ <extension name="milliwatt">
+ <condition field="destination_number" expression="^9997$">
+ <action application="answer"/>
+ <action application="playback" data="tone_stream://%(10000,0,1004);loops=-1"/>
+ </condition>
+ </extension>
+
+ <extension name="tone_stream">
+ <condition field="destination_number" expression="^9998$">
+ <action application="answer"/>
+ <action application="playback" data="tone_stream://path=${base_dir}/conf/tetris.ttml;loops=10"/>
+ </condition>
+ </extension>
+
+ <!--
+ You will no longer hear the bong tone. The wav file is playing stating the call is secure.
+ The file will not play unless you have both TLS and SRTP active.
+ -->
+
+ <extension name="hold_music">
+ <condition field="destination_number" expression="^9999$"/>
+ <condition field="${sip_has_crypto}" expression="^(AES_CM_128_HMAC_SHA1_32|AES_CM_128_HMAC_SHA1_80)$">
+ <action application="answer"/>
+ <action application="execute_extension" data="is_secure XML features"/>
+ <action application="playback" data="$${hold_music}"/>
+ <anti-action application="answer"/>
+ <anti-action application="playback" data="$${hold_music}"/>
+ </condition>
+ </extension>
+
+ <!--
+ You can place files in the default directory to get included.
+ -->
+ <X-PRE-PROCESS cmd="include" data="default/*.xml"/>
+
+ <!--
+ WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
+
+ Anything you put below this line will usually get ignored due to the file in
+ default/99999_enum.xml as it will transfer the call to the enum dialplan.
+
+ WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
+ -->
+
+ <!--
+ This is an example of how to override the RURI on an outgoing invite to a registered contact.
+ -->
+ <!--
+ <extension name="refer">
+ <condition field="${sip_refer_to}">
+ <expression><![CDATA[<sip:${destination_number}@${domain_name}>]]></expression>
+ </condition>
+ <condition field="${sip_refer_to}">
+ <expression><![CDATA[<sip:(.*)@(.*)>]]></expression>
+ <action application="set" data="refer_user=$1"/>
+ <action application="set" data="refer_domain=$2"/>
+ <action application="info"/>
+ <action application="bridge" data="sofia/${use_profile}/${refer_user}@${refer_domain}"/>
+ </condition>
+ </extension>
+
+ <extension name="ruri">
+ <condition field="destination_number" expression="^ruri$">
+ <action application="bridge" data="sofia/${ruri_profile}/${ruri_user}${regex(${sofia_contact(${ruri_contact})}|^[^\@]+(.*)|%1)}"/>
+ </condition>
+ </extension>
+
+ <extension name="7004">
+ <condition field="destination_number" expression="^7004$">
+ <action application="set" data="ruri_profile=default"/>
+ <action application="set" data="ruri_user=2000"/>
+ <action application="set" data="ruri_contact=1001@${domain_name}"/>
+ <action application="execute_extension" data="ruri"/>
+ </condition>
+ </extension>
+ -->
+
+ <!-- SEE WARNING ABOVE IF YOU ARE TRYING TO ADD EXTENSIONS HERE! -->
+
+ </context>
+</include>
--- /dev/null
+<include>
+ <extension name="pizza_demo">
+ <condition field="destination_number" expression="^(pizza|74992)$"/>
+ <condition field="${module_exists(mod_spidermonkey)}" expression="true"/>
+ <condition field="${module_exists(mod_pocketsphinx)}" expression="true">
+ <action application="javascript" data="ps_pizza.js"/>
+ </condition>
+ </extension>
+</include>
--- /dev/null
+<include>
+
+ <extension name="local.example.com">
+ <condition field="${toll_allow}" expression="local"/>
+ <condition field="destination_number" expression="^(\d{7})$">
+ <action application="set" data="effective_caller_id_number=${outbound_caller_id_number}"/>
+ <action application="set" data="effective_caller_id_name=${outbound_caller_id_name}"/>
+ <action application="bridge" data="sofia/gateway/${default_gateway}/1${default_areacode}$1"/>
+ </condition>
+ </extension>
+
+ <extension name="domestic.example.com">
+ <condition field="${toll_allow}" expression="domestic"/>
+ <condition field="destination_number" expression="^(\d{11})$">
+ <action application="set" data="effective_caller_id_number=${outbound_caller_id_number}"/>
+ <action application="set" data="effective_caller_id_name=${outbound_caller_id_name}"/>
+ <action application="bridge" data="sofia/gateway/${default_gateway}/$1"/>
+ </condition>
+ </extension>
+
+ <extension name="international.example.com">
+ <condition field="${toll_allow}" expression="international"/>
+ <condition field="destination_number" expression="^(011\d+)$">
+ <action application="set" data="effective_caller_id_number=${outbound_caller_id_number}"/>
+ <action application="set" data="effective_caller_id_name=${outbound_caller_id_name}"/>
+ <action application="bridge" data="sofia/gateway/${default_gateway}/$1"/>
+ </condition>
+ </extension>
+
+</include>
--- /dev/null
+<include>
+
+ <extension name="international.example.com">
+ <condition field="destination_number" expression="^(42|888|899)$">
+ <action application="set" data="effective_caller_id_number=42"/>
+ <action application="set" data="effective_caller_id_name=Ray"/>
+ <action application="bridge" data="sofia/external/$1@conference.freeswitch.org"/>
+ </condition>
+ </extension>
+
+</include>
--- /dev/null
+<include>
+ <extension name="enum">
+ <condition field="${module_exists(mod_enum)}" expression="true"/>
+ <condition field="destination_number" expression="^(.*)$">
+ <action application="transfer" data="$1 enum"/>
+ </condition>
+ </extension>
+</include>
--- /dev/null
+<!-- http://wiki.freeswitch.org/wiki/Dialplan_XML -->
+<include>
+ <context name="features">
+
+ <!-- In call Transfer for phones without a transfer button -->
+ <extension name="dx">
+ <condition field="destination_number" expression="^dx$">
+ <action application="answer"/>
+ <action application="read" data="11 11 'tone_stream://%(10000,0,350,440)' digits 5000 #"/>
+ <action application="execute_extension" data="is_transfer XML features"/>
+ </condition>
+ </extension>
+
+ <extension name="is_transfer">
+ <condition field="destination_number" expression="^is_transfer$"/>
+ <condition field="${digits}" expression="^(\d+)$">
+ <action application="transfer" data="-bleg ${digits} XML default"/>
+ <anti-action application="eval" data="cancel transfer"/>
+ </condition>
+ </extension>
+
+ <!-- Used to transfer both legs into a conference -->
+ <extension name="cf">
+ <condition field="destination_number" expression="^cf$">
+ <action application="answer"/>
+ <action application="transfer" data="-both 30${dialed_extension:2} XML default"/>
+ </condition>
+ </extension>
+
+ <extension name="please_hold">
+ <condition field="destination_number" expression="^(10[01][0-9])$">
+ <action application="set" data="transfer_ringback=$${hold_music}"/>
+ <action application="answer"/>
+ <action application="sleep" data="1500"/>
+ <action application="playback" data="ivr/ivr-hold_connect_call.wav"/>
+ <action application="transfer" data="$1 XML default"/>
+ </condition>
+ </extension>
+
+ <extension name="is_secure">
+ <!-- Only Truly consider it secure if its TLS and SRTP -->
+ <condition field="${sip_via_protocol}" expression="tls"/>
+ <condition field="${sip_secure_media_confirmed}" expression="^true$">
+ <action application="sleep" data="1000"/>
+ <action application="playback" data="misc/call_secured.wav"/>
+ <anti-action application="eval" data="not_secure"/>
+ </condition>
+ </extension>
+
+ </context>
+</include>
--- /dev/null
+<!--
+ NOTICE:
+
+ This context is usually accessed via the external sip profile sitting on port 5080.
+
+ It is recommended to have separate inbound and outbound contexts. Not only for security
+ but clearing up why you would need to do such a thing. You don't want outside un-authenticated
+ callers hitting your default context which allows dialing calls thru your providers and results
+ in Toll Fraud.
+-->
+
+<!-- http://wiki.freeswitch.org/wiki/Dialplan_XML -->
+<include>
+ <context name="public">
+
+ <extension name="unloop">
+ <condition field="$${unroll_loops}" expression="^true$"/>
+ <condition field="${sip_looped_call}" expression="^true$">
+ <action application="deflect" data="${destination_number}"/>
+ </condition>
+ </extension>
+ <!--
+ Tag anything pass thru here as an outside_call so you can make sure not
+ to create any routing loops based on the conditions that it came from
+ the outside of the switch.
+ -->
+ <extension name="outside_call" continue="true">
+ <condition>
+ <action application="set" data="outside_call=true"/>
+ </condition>
+ </extension>
+
+ <extension name="call_debug" continue="true">
+ <condition field="$${call_debug}" expression="^true$" break="never">
+ <action application="info"/>
+ </condition>
+ </extension>
+
+ <!-- Try to get domain_name from the sip_req_params variable -->
+ <extension name="set_domain" continue="true">
+ <condition field="${domain_name}" expression="^$"/>
+ <condition field="source" expression="mod_sofia"/>
+ <condition field="${sip_req_params}" expression="domain_name=([A-Z-a-z0-9.]+)">
+ <!-- We need to export this so the B-Leg will have it after transfer too. -->
+ <action application="export" data="domain_name=$1"/>
+ <anti-action application="export" data="domain_name=${sip_req_host}"/>
+ </condition>
+ </extension>
+
+ <extension name="public_extensions">
+ <condition field="destination_number" expression="^(10[01][0-9])$">
+ <action application="transfer" data="$1 XML default"/>
+ </condition>
+ </extension>
+
+ <!--
+ You can place files in the public directory to get included.
+ -->
+ <X-PRE-PROCESS cmd="include" data="public/*.xml"/>
+ <!--
+ If you have made it this far lets challenge the caller and if they authenticate
+ lets try what they dialed in the default context. (commented out by default)
+ -->
+ <!--
+ <extension name="check_auth" continue="true">
+ <condition field="${sip_authorized}" expression="^true$" break="never">
+ <anti-action application="respond" data="407"/>
+ </condition>
+ </extension>
+
+ <extension name="transfer_to_default">
+ <condition>
+ <action application="transfer" data="${destination_number} XML default"/>
+ </condition>
+ </extension>
+ -->
+ </context>
+</include>
--- /dev/null
+<include>
+ <extension name="public_did">
+ <condition field="destination_number" expression="^(5551212)$">
+ <!--
+ If you're hosting multiple domains you will want to set the
+ target_domain on these calls so they hit the proper domain after you
+ transfer the caller into the default context.
+
+ $${domain} is the default domain set from vars.xml but you can set it
+ to any domain you have setup in your user directory.
+
+ -->
+ <action application="set" data="domain_name=$${domain}"/>
+ <!-- This example maps the DID 5551212 to ring 1000 in the default context -->
+ <action application="transfer" data="1000 XML default"/>
+ </condition>
+ </extension>
+</include>
--- /dev/null
+<!--
+ NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE
+
+ FreeSWITCH works off the concept of users and domains just like email.
+ You have users that are in domains for example 1000@domain.com.
+
+ When freeswitch gets a register packet it looks for the user in the directory
+ based on the from or to domain in the packet depending on how your sofia profile
+ is configured. Out of the box the default domain will be the IP address of the
+ machine running FreeSWITCH. This IP can be found by typing "sofia status" at the
+ CLI. You will register your phones to the IP and not the hostname by default.
+ If you wish to register using the domain please open vars.xml in the root conf
+ directory and set the default domain to the hostname you desire. Then you would
+ use the domain name in the client instead of the IP address to register
+ with FreeSWITCH.
+
+ NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE
+-->
+
+<include>
+ <!--the domain or ip (the right hand side of the @ in the addr-->
+ <domain name="$${domain}">
+ <params>
+ <param name="dial-string" value="{presence_id=${dialed_user}@${dialed_domain}}${sofia_contact(${dialed_user}@${dialed_domain})}"/>
+ </params>
+
+ <variables>
+ <variable name="record_stereo" value="true"/>
+ <variable name="default_gateway" value="$${default_provider}"/>
+ <variable name="default_areacode" value="$${default_areacode}"/>
+ <variable name="transfer_fallback_extension" value="operator"/>
+ <variable name="use_profile" value="external"/>
+ </variables>
+
+ <X-PRE-PROCESS cmd="include" data="default/*.xml"/>
+
+ </domain>
+</include>
--- /dev/null
+<include>
+ <user id="1000" mailbox="1000">
+ <params>
+ <param name="password" value="1234"/>
+ <param name="vm-password" value="1000"/>
+ </params>
+ <variables>
+ <variable name="toll_allow" value="domestic,international,local"/>
+ <variable name="accountcode" value="1000"/>
+ <variable name="user_context" value="default"/>
+ <variable name="effective_caller_id_name" value="Extension 1000"/>
+ <variable name="effective_caller_id_number" value="1000"/>
+ <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+ <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+ <variable name="callgroup" value="techsupport"/>
+ </variables>
+ </user>
+</include>
--- /dev/null
+<include>
+ <user id="1001" mailbox="1001">
+ <params>
+ <param name="password" value="1234"/>
+ <param name="vm-password" value="1001"/>
+ </params>
+ <variables>
+ <variable name="toll_allow" value="domestic,international,local"/>
+ <variable name="accountcode" value="1001"/>
+ <variable name="user_context" value="default"/>
+ <variable name="effective_caller_id_name" value="Extension 1001"/>
+ <variable name="effective_caller_id_number" value="1001"/>
+ <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+ <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+ <variable name="callgroup" value="techsupport"/>
+ </variables>
+ </user>
+</include>
--- /dev/null
+<include>
+ <user id="1002" mailbox="1002">
+ <params>
+ <param name="password" value="1234"/>
+ <param name="vm-password" value="1002"/>
+ </params>
+ <variables>
+ <variable name="toll_allow" value="domestic,international,local"/>
+ <variable name="accountcode" value="1002"/>
+ <variable name="user_context" value="default"/>
+ <variable name="effective_caller_id_name" value="Extension 1002"/>
+ <variable name="effective_caller_id_number" value="1002"/>
+ <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+ <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+ <variable name="callgroup" value="techsupport"/>
+ </variables>
+ </user>
+</include>
--- /dev/null
+<include>
+ <user id="1003" mailbox="1003">
+ <params>
+ <param name="password" value="1234"/>
+ <param name="vm-password" value="1003"/>
+ </params>
+ <variables>
+ <variable name="toll_allow" value="domestic,international,local"/>
+ <variable name="accountcode" value="1003"/>
+ <variable name="user_context" value="default"/>
+ <variable name="effective_caller_id_name" value="Extension 1003"/>
+ <variable name="effective_caller_id_number" value="1003"/>
+ <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+ <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+ <variable name="callgroup" value="techsupport"/>
+ </variables>
+ </user>
+</include>
--- /dev/null
+<include>
+ <user id="1004" mailbox="1004">
+ <params>
+ <param name="password" value="1234"/>
+ <param name="vm-password" value="1004"/>
+ </params>
+ <variables>
+ <variable name="toll_allow" value="domestic,international,local"/>
+ <variable name="accountcode" value="1004"/>
+ <variable name="user_context" value="default"/>
+ <variable name="effective_caller_id_name" value="Extension 1004"/>
+ <variable name="effective_caller_id_number" value="1004"/>
+ <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+ <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+ <variable name="callgroup" value="techsupport"/>
+ </variables>
+ </user>
+</include>
--- /dev/null
+<include>
+ <user id="1005" mailbox="1005">
+ <params>
+ <param name="password" value="1234"/>
+ <param name="vm-password" value="1005"/>
+ </params>
+ <variables>
+ <variable name="toll_allow" value="domestic,international,local"/>
+ <variable name="accountcode" value="1005"/>
+ <variable name="user_context" value="default"/>
+ <variable name="effective_caller_id_name" value="Extension 1005"/>
+ <variable name="effective_caller_id_number" value="1005"/>
+ <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+ <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+ <variable name="callgroup" value="techsupport"/>
+ </variables>
+ </user>
+</include>
--- /dev/null
+<include>
+ <user id="1006" mailbox="1006">
+ <params>
+ <param name="password" value="1234"/>
+ <param name="vm-password" value="1006"/>
+ </params>
+ <variables>
+ <variable name="toll_allow" value="domestic,international,local"/>
+ <variable name="accountcode" value="1006"/>
+ <variable name="user_context" value="default"/>
+ <variable name="effective_caller_id_name" value="Extension 1006"/>
+ <variable name="effective_caller_id_number" value="1006"/>
+ <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+ <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+ <variable name="callgroup" value="techsupport"/>
+ </variables>
+ </user>
+</include>
--- /dev/null
+<include>
+ <user id="1007" mailbox="1007">
+ <params>
+ <param name="password" value="1234"/>
+ <param name="vm-password" value="1007"/>
+ </params>
+ <variables>
+ <variable name="toll_allow" value="domestic,international,local"/>
+ <variable name="accountcode" value="1007"/>
+ <variable name="user_context" value="default"/>
+ <variable name="effective_caller_id_name" value="Extension 1007"/>
+ <variable name="effective_caller_id_number" value="1007"/>
+ <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+ <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+ <variable name="callgroup" value="techsupport"/>
+ </variables>
+ </user>
+</include>
--- /dev/null
+<include>
+ <user id="1008" mailbox="1008">
+ <params>
+ <param name="password" value="1234"/>
+ <param name="vm-password" value="1008"/>
+ </params>
+ <variables>
+ <variable name="toll_allow" value="domestic,international,local"/>
+ <variable name="accountcode" value="1008"/>
+ <variable name="user_context" value="default"/>
+ <variable name="effective_caller_id_name" value="Extension 1008"/>
+ <variable name="effective_caller_id_number" value="1008"/>
+ <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+ <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+ <variable name="callgroup" value="techsupport"/>
+ </variables>
+ </user>
+</include>
--- /dev/null
+<include>
+ <user id="1009" mailbox="1009">
+ <params>
+ <param name="password" value="1234"/>
+ <param name="vm-password" value="1009"/>
+ </params>
+ <variables>
+ <variable name="toll_allow" value="domestic,international,local"/>
+ <variable name="accountcode" value="1009"/>
+ <variable name="user_context" value="default"/>
+ <variable name="effective_caller_id_name" value="Extension 1009"/>
+ <variable name="effective_caller_id_number" value="1009"/>
+ <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+ <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+ <variable name="callgroup" value="techsupport"/>
+ </variables>
+ </user>
+</include>
--- /dev/null
+<include>
+ <user id="1010" mailbox="1010">
+ <params>
+ <param name="password" value="1234"/>
+ <param name="vm-password" value="1010"/>
+ </params>
+ <variables>
+ <variable name="toll_allow" value="domestic,international,local"/>
+ <variable name="accountcode" value="1010"/>
+ <variable name="user_context" value="default"/>
+ <variable name="effective_caller_id_name" value="Extension 1010"/>
+ <variable name="effective_caller_id_number" value="1010"/>
+ <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+ <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+ <variable name="callgroup" value="techsupport"/>
+ </variables>
+ </user>
+</include>
--- /dev/null
+<include>
+ <user id="1011" mailbox="1011">
+ <params>
+ <param name="password" value="1234"/>
+ <param name="vm-password" value="1011"/>
+ </params>
+ <variables>
+ <variable name="toll_allow" value="domestic,international,local"/>
+ <variable name="accountcode" value="1011"/>
+ <variable name="user_context" value="default"/>
+ <variable name="effective_caller_id_name" value="Extension 1011"/>
+ <variable name="effective_caller_id_number" value="1011"/>
+ <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+ <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+ <variable name="callgroup" value="techsupport"/>
+ </variables>
+ </user>
+</include>
--- /dev/null
+<include>
+ <user id="1012" mailbox="1012">
+ <params>
+ <param name="password" value="1234"/>
+ <param name="vm-password" value="1012"/>
+ </params>
+ <variables>
+ <variable name="toll_allow" value="domestic,international,local"/>
+ <variable name="accountcode" value="1012"/>
+ <variable name="user_context" value="default"/>
+ <variable name="effective_caller_id_name" value="Extension 1012"/>
+ <variable name="effective_caller_id_number" value="1012"/>
+ <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+ <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+ <variable name="callgroup" value="techsupport"/>
+ </variables>
+ </user>
+</include>
--- /dev/null
+<include>
+ <user id="1013" mailbox="1013">
+ <params>
+ <param name="password" value="1234"/>
+ <param name="vm-password" value="1013"/>
+ </params>
+ <variables>
+ <variable name="toll_allow" value="domestic,international,local"/>
+ <variable name="accountcode" value="1013"/>
+ <variable name="user_context" value="default"/>
+ <variable name="effective_caller_id_name" value="Extension 1013"/>
+ <variable name="effective_caller_id_number" value="1013"/>
+ <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+ <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+ <variable name="callgroup" value="techsupport"/>
+ </variables>
+ </user>
+</include>
--- /dev/null
+<include>
+ <user id="1014" mailbox="1014">
+ <params>
+ <param name="password" value="1234"/>
+ <param name="vm-password" value="1014"/>
+ </params>
+ <variables>
+ <variable name="toll_allow" value="domestic,international,local"/>
+ <variable name="accountcode" value="1014"/>
+ <variable name="user_context" value="default"/>
+ <variable name="effective_caller_id_name" value="Extension 1014"/>
+ <variable name="effective_caller_id_number" value="1014"/>
+ <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+ <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+ <variable name="callgroup" value="techsupport"/>
+ </variables>
+ </user>
+</include>
--- /dev/null
+<include>
+ <user id="1015" mailbox="1015">
+ <params>
+ <param name="password" value="1234"/>
+ <param name="vm-password" value="1015"/>
+ </params>
+ <variables>
+ <variable name="toll_allow" value="domestic,international,local"/>
+ <variable name="accountcode" value="1015"/>
+ <variable name="user_context" value="default"/>
+ <variable name="effective_caller_id_name" value="Extension 1015"/>
+ <variable name="effective_caller_id_number" value="1015"/>
+ <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+ <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+ <variable name="callgroup" value="techsupport"/>
+ </variables>
+ </user>
+</include>
--- /dev/null
+<include>
+ <user id="1016" mailbox="1016">
+ <params>
+ <param name="password" value="1234"/>
+ <param name="vm-password" value="1016"/>
+ </params>
+ <variables>
+ <variable name="toll_allow" value="domestic,international,local"/>
+ <variable name="accountcode" value="1016"/>
+ <variable name="user_context" value="default"/>
+ <variable name="effective_caller_id_name" value="Extension 1016"/>
+ <variable name="effective_caller_id_number" value="1016"/>
+ <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+ <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+ <variable name="callgroup" value="techsupport"/>
+ </variables>
+ </user>
+</include>
--- /dev/null
+<include>
+ <user id="1017" mailbox="1017">
+ <params>
+ <param name="password" value="1234"/>
+ <param name="vm-password" value="1017"/>
+ </params>
+ <variables>
+ <variable name="toll_allow" value="domestic,international,local"/>
+ <variable name="accountcode" value="1017"/>
+ <variable name="user_context" value="default"/>
+ <variable name="effective_caller_id_name" value="Extension 1017"/>
+ <variable name="effective_caller_id_number" value="1017"/>
+ <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+ <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+ <variable name="callgroup" value="techsupport"/>
+ </variables>
+ </user>
+</include>
--- /dev/null
+<include>
+ <user id="1018" mailbox="1018">
+ <params>
+ <param name="password" value="1234"/>
+ <param name="vm-password" value="1018"/>
+ </params>
+ <variables>
+ <variable name="toll_allow" value="domestic,international,local"/>
+ <variable name="accountcode" value="1018"/>
+ <variable name="user_context" value="default"/>
+ <variable name="effective_caller_id_name" value="Extension 1018"/>
+ <variable name="effective_caller_id_number" value="1018"/>
+ <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+ <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+ <variable name="callgroup" value="techsupport"/>
+ </variables>
+ </user>
+</include>
--- /dev/null
+<include>
+ <user id="1019" mailbox="1019">
+ <params>
+ <param name="password" value="1234"/>
+ <param name="vm-password" value="1019"/>
+ </params>
+ <variables>
+ <variable name="toll_allow" value="domestic,international,local"/>
+ <variable name="accountcode" value="1019"/>
+ <variable name="user_context" value="default"/>
+ <variable name="effective_caller_id_name" value="Ray"/>
+ <variable name="effective_caller_id_number" value="1019"/>
+<!-- <variable name="effective_caller_id_name" value="like this?"/>
+ <variable name="effective_caller_id_number" value="+12345678900"/>-->
+ <variable name="callgroup" value="techsupport"/>
+ </variables>
+ </user>
+</include>
--- /dev/null
+<include>
+ <!-- ipauth if you have an ip= in the user attributes ie ip="1.2.3.4" -->
+ <!-- <user id="brian" ip="1.2.3.4"> -->
+ <user id="brian" mailbox="9999" cidr="1.2.3.4/24">
+ <!-- Outbound Registrations Related to this user -->
+ <gateways>
+ <!--<gateway name="asterlink.com">-->
+ <!--/// account username *required* ///-->
+ <!--<param name="username" value="cluecon"/>-->
+ <!--/// auth realm: *optional* same as gateway name, if blank ///-->
+ <!--<param name="realm" value="asterlink.com"/>-->
+ <!--/// username to use in from: *optional* same as username, if blank ///-->
+ <!--<param name="from-user" value="cluecon"/>-->
+ <!--/// domain to use in from: *optional* same as realm, if blank ///-->
+ <!--<param name="from-domain" value="asterlink.com"/>-->
+ <!--/// account password *required* ///-->
+ <!--<param name="password" value="2007"/>-->
+ <!--/// replace the INVITE from user with the channel's caller-id ///-->
+ <!--<param name="caller-id-in-from" value="false"/>-->
+ <!--/// extension for inbound calls: *optional* same as username, if blank ///-->
+ <!--<param name="extension" value="cluecon"/>-->
+ <!--/// proxy host: *optional* same as realm, if blank ///-->
+ <!--<param name="proxy" value="asterlink.com"/>-->
+ <!--/// send register to this proxy: *optional* same as proxy, if blank ///-->
+ <!--<param name="register-proxy" value="mysbc.com"/>-->
+ <!--/// expire in seconds: *optional* 3600, if blank ///-->
+ <!--<param name="expire-seconds" value="60"/>-->
+ <!--/// do not register ///-->
+ <!--<param name="register" value="false"/>-->
+ <!-- which transport to use for register -->
+ <!--<param name="register-transport" value="udp"/>-->
+ <!--How many seconds before a retry when a failure or timeout occurs -->
+ <!--<param name="retry-seconds" value="30"/>-->
+ <!--Use the callerid of an inbound call in the from field on outbound calls via this gateway -->
+ <!--<param name="caller-id-in-from" value="false"/>-->
+ <!--extra sip params to send in the contact-->
+ <!--<param name="contact-params" value="tport=tcp"/>-->
+ <!--send an options ping every x seconds, failure will unregister and/or mark it down-->
+ <!--<param name="ping" value="25"/>-->
+ <!--</gateway>-->
+ </gateways>
+ <params>
+ <!-- omit password for authless registration -->
+ <param name="password" value="1234"/>
+ <param name="vm-password" value="1234"/><!--if vm-password is omitted password param is used-->
+ <!--<param name="email-addr" value="me@mydomain.com"/>-->
+ <!--<param name="vm-delete-file" value="true"/>-->
+ <!--<param name="vm-attach-file" value="true"/>-->
+ <!--<param name="vm-mailto" value="me@mydomain.com"/>-->
+ <!--<param name="vm-email-all-messages" value="true"/>-->
+ <!-- optionally use this instead if you want to store the hash of user:domain:pass-->
+ <!--<param name="a1-hash" value="c6440e5de50b403206989679159de89a"/>-->
+ <!-- What this user is allowed to acces -->
+ <!--<param name="http-allowed-api" value="jsapi,voicemail,status"/> -->
+ </params>
+ <variables>
+ <!--all variables here will be set on all inbound calls that originate from this user -->
+ <variable name="user_context" value="default"/>
+ <variable name="effective_caller_id_name" value="Brian West"/>
+ <variable name="effective_caller_id_number" value="1000"/>
+ <!-- Don't write a CDR if this is false valid values are: true, false, a_leg and b_leg -->
+ <variable name="process_cdr" value="true"/>
+ <!-- sip_secure_media will offer mandatory SRTP on invite AES_CM_128_HMAC_SHA1_32, AES_CM_128_HMAC_SHA1_80 or true-->
+ <variable name="sip_secure_media" value="true"/>
+ <!-- limit the max number of outgoing calls for this user -->
+ <!--<variable name="max_calls" value="2"/>-->
+
+ <!-- send presence information if FS is configured to do so -->
+ <!--<variable name="presence_id" value="1000@$${domain}"/>-->
+
+ <!-- set these to take advantage of a dialplan localized to this user -->
+ <!--<variable name="numbering_plan" value="US"/>-->
+ <!--<variable name="default_area_code" value="434"/>-->
+ <!--<variable name="default_gateway" value="asterlink.com"/>-->
+ <!--
+ NDLB-connectile-dysfunction - Rewrite contact ip and port
+ NDLB-tls-connectile-dysfunction - Rewrite contact port only.
+ -->
+ <!--<variable name="sip-force-contact" value="NDLB-connectile-dysfunction"/>-->
+ <!--<variable name="sip-force-expires" value="10"/>-->
+ <!--<variable name="sip-register-gateway" value="cluecon.com"/>-->
+ <!-- Set the file format for a specific user -->
+ <!--<variable name="vm_message_ext" value="mp3"/> -->
+ </variables>
+
+ <vcard>
+ <!-- insert optional compliant vcard xml here-->
+ </vcard>
+ </user>
+</include>
--- /dev/null
+<include>
+ <user id="default"> <!--if id is numeric mailbox param is not necessary-->
+ <variables>
+ <!--all variables here will be set on all inbound calls that originate from this user -->
+ <!-- set these to take advantage of a dialplan localized to this user -->
+ <variable name="numbering_plan" value="$${default_country}"/>
+ <variable name="default_areacode" value="$${default_areacode}"/>
+ <variable name="default_gateway" value="$${default_provider}"/>
+ </variables>
+ </user>
+</include>
--- /dev/null
+<!--
+ Shell provider account should work with most providers.
+
+-->
+<include>
+ <user id="$${default_provider}">
+ <gateways>
+ <gateway name="$${default_provider}">
+ <param name="username" value="$${default_provider_username}"/>
+ <param name="password" value="$${default_provider_password}"/>
+ <param name="from-user" value="$${default_provider_username}"/>
+ <param name="from-domain" value="$${default_provider_from_domain}"/>
+ <param name="expire-seconds" value="600"/>
+ <param name="register" value="$${default_provider_register}"/>
+ <param name="retry-seconds" value="30"/>
+ <param name="extension" value="$${default_provider_contact}"/>
+ <param name="contact-params" value="domain_name=$${domain}"/>
+ <param name="context" value="public"/>
+ </gateway>
+ </gateways>
+ <params>
+ <param name="password" value="$${default_provider_password}"/>
+ </params>
+ </user>
+</include>
+
--- /dev/null
+[default]
+
+; Things you're used to....
+exten => music,n,Dial(SIP/1234@conference.freeswitch.org|120)
+
+exten => _1XXXXX,n,set(cool=${EXTEN})
+exten => _1XXXXX,n,set(myvar=true)
+exten => _1XXXXX,n,Goto(default|music)
+exten => 2137991400/1000,n,Goto(default|music)
+
+
+; Some new magic you can do....
+exten => ~^(18(0{2}|8{2}|7{2}|6{2})\d{7})$,n,enum($1)
+exten => ~^(18(0{2}|8{2}|7{2}|6{2})\d{7})$,n,bridge(${enum_auto_route})
+
+; instead of exten, put anything about the call you would rather match on.
+; either the names of a field in caller_profile or a string of variables to expand.
+caller_id_number => 2137991400,n,Goto(default|music)
+${sip_from_user} => bill,n,Goto(default|music)
+
+
--- /dev/null
+<include>
+ <!--#comment
+ All comments starting with #command will be preprocessed and never sent to the xml parser
+ Valid instructions:
+ #include ==> Include another file to this exact point
+ (partial xml should be encased in <include></include> tags)
+ #set ==> Set a global variable (can be expanded during preprocessing with $$ variables)
+ (note the double $$ which denotes preprocessor variables)
+ #comment ==> A general comment such as this
+
+ The preprocessor will compile the full xml document to ${prefix}/log/freeswitch.xml.fsxml
+ Don't modify it while freeswitch is running cos it is mem mapped in most cases =D
+
+ The same can be achieved with the <X-PRE-PROCESS> tag where the attrs 'cmd' and 'data' are
+ parsed in the same way.
+ -->
+
+ <X-PRE-PROCESS cmd="include" data="vars.xml"/>
+
+ <section name="configuration" description="Various Configuration">
+ <X-PRE-PROCESS cmd="include" data="autoload_configs/*.xml"/>
+ </section>
+
+ <section name="dialplan" description="Regex/XML Dialplan">
+ <X-PRE-PROCESS cmd="include" data="dialplan/*.xml"/>
+ </section>
+
+ <!-- mod_dingaling is reliant on the vcard data in the "directory" section. -->
+ <!-- mod_sofia is reliant on the user data for authorization -->
+ <section name="directory" description="User Directory">
+ <X-PRE-PROCESS cmd="include" data="directory/*.xml"/>
+ </section>
+
+ <!-- phrases section (under development still) -->
+ <section name="phrases" description="Speech Phrase Management">
+ <macros>
+ <X-PRE-PROCESS cmd="include" data="lang/en/*.xml"/>
+ </macros>
+ </section>
+</include>
+
+
+
--- /dev/null
+%(167, 0, 659)
+%(167, 0, 622)
+%(167, 0, 659)
+%(167, 0, 622)
+%(167, 0, 659)
+%(167, 0, 494)
+%(167, 0, 554)
+%(167, 0, 523)
+%(333, 0, 440)
+%(167, 0, 0)
+%(167, 0, 262)
+%(167, 0, 330)
+%(167, 0, 440)
+%(333, 0, 494)
+%(167, 0, 0)
+%(167, 0, 330)
+%(167, 0, 415)
+%(167, 0, 494)
+%(333, 0, 523)
+%(167, 0, 0)
+%(167, 0, 330)
+%(167, 0, 659)
+%(167, 0, 622)
+%(167, 0, 659)
+%(167, 0, 622)
+%(167, 0, 659)
+%(167, 0, 494)
+%(167, 0, 554)
+%(167, 0, 523)
+%(333, 0, 440)
+%(167, 0, 0)
+%(167, 0, 262)
+%(167, 0, 330)
+%(167, 0, 440)
+%(333, 0, 494)
+%(167, 0, 0)
+%(167, 0, 330)
+%(167, 0, 523)
+%(167, 0, 494)
+%(167, 0, 440)
+%(167, 0, 0)
+%(167, 0, 494)
+%(167, 0, 523)
+%(167, 0, 587)
+%(333, 0, 659)
+%(167, 0, 0)
+%(167, 0, 392)
+%(167, 0, 698)
+%(167, 0, 784)
+%(333, 0, 587)
+%(167, 0, 0)
+%(167, 0, 349)
+%(167, 0, 659)
+%(167, 0, 587)
+%(333, 0, 523)
+%(167, 0, 0)
+%(167, 0, 330)
+%(167, 0, 587)
+%(167, 0, 523)
+%(333, 0, 494)
+%(167, 0, 0)
+%(167, 0, 330)
+%(167, 0, 659)
+%(167, 0, 330)
+%(167, 0, 659)
+%(167, 0, 659)
+%(167, 0, 1319)
+%(167, 0, 622)
+%(167, 0, 659)
+%(167, 0, 622)
+%(167, 0, 659)
+%(167, 0, 622)
+%(167, 0, 659)
+%(167, 0, 622)
+%(167, 0, 659)
+%(167, 0, 622)
+%(167, 0, 659)
+%(167, 0, 622)
+%(167, 0, 659)
+%(167, 0, 494)
+%(167, 0, 554)
+%(167, 0, 523)
+%(333, 0, 440)
--- /dev/null
+<include>
+ <language name="de" sound-path="/snds" tts-engine="cepstral" tts-voice="david">
+ <X-PRE-PROCESS cmd="include" data="demo/demo.xml"/>
+ <!--voicemail_de_tts is purely implemented with tts, we need a files based implementation too -->
+ <X-PRE-PROCESS cmd="include" data="vm/tts.xml"/>
+ </language>
+</include>
--- /dev/null
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+ <macro name="msgcount">
+ <input pattern="(.*)">
+ <match>
+ <action function="execute" data="sleep(1000)"/>
+ <action function="play-file" data="voicemail/vm-you_have.wav"/>
+ <action function="say" data="$1" method="pronounced" type="items"/>
+ <action function="play-file" data="voicemail/vm-messages.wav"/>
+ <!-- or -->
+ <!--<action function="speak-text" data="Sie haben $1 Nachrichten"/>-->
+ </match>
+ </input>
+ </macro>
+ <macro name="saydate">
+ <input pattern="(.*)">
+ <match>
+ <action function="say" data="$1" method="pronounced" type="current_date_time"/>
+ </match>
+ </input>
+ </macro>
+ <macro name="timespec">
+ <input pattern="(.*)">
+ <match>
+ <action function="say" data="$1" method="pronounced" type="time_measurement"/>
+ </match>
+ </input>
+ </macro>
+ <macro name="ip-addr">
+ <input pattern="(.*)">
+ <match>
+ <action function="say" data="$1" method="iterated" type="ip_address"/>
+ <action function="say" data="$1" method="pronounced" type="ip_address"/>
+ </match>
+ </input>
+ </macro>
+ <macro name="spell">
+ <input pattern="(.*)">
+ <match>
+ <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+ </match>
+ </input>
+ </macro>
+ <macro name="spell-phonetic">
+ <input pattern="(.*)">
+ <match>
+ <action function="say" data="$1" method="pronounced" type="name_phonetic"/>
+ </match>
+ </input>
+ </macro>
+ <macro name="tts-timeleft">
+ <!-- The parser will visit each <input> tag and execute the actions in <match> or <nomatch> depending on the pattern param -->
+ <!-- If the function "break" is encountered all parsing will cease -->
+ <input pattern="(\d+):(\d+)">
+ <match>
+ <action function="speak-text" data="Sie haben $1 Minuten, $2 Sekunden übrig $strftime(%Y-%m-%d)"/>
+ <action function="break"/>
+ </match>
+ <nomatch>
+ <action function="speak-text" data="Die Eingabe war ungültig."/>
+ </nomatch>
+ </input>
+ <input pattern="(\d+) min (\d+) sek">
+ <match>
+ <action function="speak-text" data="Sie haben $1 Minuten, $2 Sekunden übrig $strftime(%Y-%m-%d)"/>
+ </match>
+ <nomatch>
+ <action function="speak-text" data="Die Eingabe war ungültig."/>
+ </nomatch>
+ </input>
+ </macro>
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
--- /dev/null
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+ <macro name="voicemail_enter_id">
+ <input pattern="(.*)">
+ <match>
+ <action function="speak-text" data="Bitte geben Sie Ihren Benutzernamen ein, gefolgt von $1."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_enter_pass">
+ <input pattern="(.*)">
+ <match>
+ <action function="speak-text" data="Bitte geben Sie Ihr Passwort ein, gefolgt von $1."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_fail_auth">
+ <input pattern="(.*)">
+ <match>
+ <action function="speak-text" data="Falsche Benutzerdaten."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_hello">
+ <input pattern="(.*)">
+ <match>
+ <action function="speak-text" data="Willkommen in Ihrem Postfach."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_goodbye">
+ <input pattern="(.*)">
+ <match>
+ <action function="speak-text" data="Auf Wiedersehen."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_abort">
+ <input pattern="(.*)">
+ <match>
+ <action function="speak-text" data="Zu viele Fehlversuche."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_message_count">
+ <input pattern="^1:(.*)$">
+ <match>
+ <action function="speak-text" data="Sie haben 1 $2 Nachricht im Ordner ${voicemail_current_folder}."/>
+ </match>
+ </input>
+ <input pattern="^([0,2-9]+):(.*)$">
+ <match>
+ <action function="speak-text" data="Sie haben $1 $2 Nachrichten im Ordner ${voicemail_current_folder}."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_menu">
+ <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+ <match>
+ <action function="speak-text"
+ data="Um neue Nachrichten zu hören, drücken Sie $1. Um gespeicherte Nachrichten zu hören, drücken Sie $2, Für erweiterte Optionen, drücken Sie $3. Zum beenden drücken Sie $4."/>
+ </match>
+ </input>
+ </macro>
+
+
+ <macro name="voicemail_config_menu">
+ <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+ <match>
+ <action function="speak-text"
+ data="Um eine Ansage aufzunehmen, drücken Sie $1. Um eine Ansage auszuwählen, drücken Sie $2. Um ihren Namen aufzunehmen, drücken Sie $3. Um zum Hauptmenü zurückzukehren, drücken Sie $4."/>
+ </match>
+ </input>
+ </macro>
+
+
+ <macro name="voicemail_record_name">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="speak-text" data="Sprechen Sie Ihren Namen nach dem Ton, drücken Sie eine beliebige Taste oder hören Sie auf zu sprechen um die Aufnahme zu beenden."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_record_file_check">
+ <input pattern="^([0-9#*]):([0-9#*]):([0-9#*])$">
+ <match>
+ <action function="speak-text"
+ data="Um die Aufzeichnung anzuhören, drücken Sie $1. Um die Aufzeichnung zu speichern, drücken Sie $2. Für eine erneute Aufnahme drücken Sie $3."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_record_urgent_check">
+ <input pattern="^([0-9#*]):([0-9#*])$">
+ <match>
+ <action function="speak-text"
+ data="Drücken Sie $1 um diese Nachricht als wichtig zu markieren. Um fortzufahren drücken Sie $2."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_listen_file_check">
+ <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+ <match>
+ <action function="speak-text"
+ data="Drücken Sie $1 um die Nachricht erneut zu hören. Um die Nachricht zu speichern, drücken Sie $2. Zum löschen der Nachricht drücken Sie $3. Für die Weiterleitung als Email, drücken Sie $4."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_choose_greeting">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="speak-text" data="Wählen Sie eine Ansage zwischen 1 und 3."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_choose_greeting_fail">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="speak-text" data="Ungültige Eingabe."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_record_greeting">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="speak-text" data="Zeichnen Sie Ihre Ansage nach dem Ton auf. Drücken Sie eine beliebige Taste oder hören Sie auf zu sprechen um die Aufnahme zu beenden."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_record_message">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="speak-text" data="Sprechen Sie nach dem Ton. Drücken Sie eine beliebige Taste oder hören Sie auf zu sprechen um die Aufnahme zu beenden."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_greeting_selected">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="speak-text" data="Ansage $1 ausgewählt."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_play_greeting">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="speak-text" data="$1 ist nicht verfügbar."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_say_number">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="speak-text" data="$1"/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_say_message_number">
+ <input pattern="^([a-z]+):(.*)$">
+ <match>
+ <action function="speak-text" data="$1 Nachricht Nummer $2."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_say_phone_number">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="speak-text" data="$1."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_say_name">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="speak-text" data="$1."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_ack">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="speak-text" data="Nachricht $1"/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_say_date">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="speak-text" data="$strftime($1|%A, %B %d %Y, %I %M %p)"/>
+ </match>
+ </input>
+ </macro>
+
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
--- /dev/null
+<?xml version="1.0" encoding="Windows-1252"?>
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+
+
+ <macro name="demo_ivr_count">
+ <input pattern="^(\d+)$">
+ <match>
+ <action function="play-file" data="voicemail/vm-you_have.wav"/>
+ <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+ <action function="play-file" data="voicemail/vm-messages.wav"/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="demo_ivr_main_menu"> <!-- See conf/autoload_config/ivr.conf.xml for an example on how to use this macro in an IVR -->
+ <input pattern="(.*)">
+ <match>
+ <!-- string together several existing sound files to create one long greeting -->
+ <action function="play-file" data="ivr/ivr-welcome_to_freeswitch.wav"/>
+ <action function="execute" data="sleep(250)"/>
+ <action function="play-file" data="ivr/ivr-this_ivr_will_let_you_test_features.wav"/>
+ <action function="execute" data="sleep(250)"/>
+ <action function="play-file" data="ivr/ivr-you_may_exit_by_hanging_up.wav"/>
+ <!-- note that you can do more than just play files, e.g. have pauses and do TTS -->
+ <action function="execute" data="sleep(250)"/>
+ <!-- Menu option 1: Call FreeSWITCH conference-->
+ <action function="play-file" data="ivr/ivr-enter_ext_pound.wav"/>
+ <action function="execute" data="sleep(1500)"/>
+ <action function="play-file" data="ivr/ivr-to_call_the_freeswitch_conference.wav"/>
+ <action function="execute" data="sleep(250)"/>
+ <action function="play-file" data="ivr/ivr-please.wav"/>
+ <action function="play-file" data="voicemail/vm-press.wav"/>
+ <action function="play-file" data="digits/1.wav"/>
+ <action function="execute" data="sleep(250)"/>
+ <!-- Menu option 2: Do FreeSWITCH echo test -->
+ <action function="play-file" data="ivr/ivr-to_do_a_freeswitch_echo_test.wav"/>
+ <action function="execute" data="sleep(250)"/>
+ <action function="play-file" data="ivr/ivr-please.wav"/>
+ <action function="play-file" data="voicemail/vm-press.wav"/>
+ <action function="play-file" data="digits/2.wav"/>
+ <action function="execute" data="sleep(250)"/>
+ <!-- Menu option 3: Listen to Music on Hold -->
+ <action function="play-file" data="ivr/ivr-to_listen_to_moh.wav"/>
+ <action function="execute" data="sleep(250)"/>
+ <action function="play-file" data="ivr/ivr-please.wav"/>
+ <action function="play-file" data="voicemail/vm-press.wav"/>
+ <action function="play-file" data="digits/3.wav"/>
+ <action function="execute" data="sleep(250)"/>
+ <!-- Menu option 4: Hear a sample submenu -->
+ <action function="play-file" data="ivr/ivr-to_hear_sample_submenu.wav"/>
+ <action function="execute" data="sleep(250)"/>
+ <action function="play-file" data="ivr/ivr-please.wav"/>
+ <action function="play-file" data="voicemail/vm-press.wav"/>
+ <action function="play-file" data="digits/4.wav"/>
+ <action function="execute" data="sleep(250)"/>
+ <!-- Menu option 5: Listen to screaming monkeys -->
+ <action function="play-file" data="ivr/ivr-to_hear_screaming_monkeys.wav"/>
+ <action function="execute" data="sleep(250)"/>
+ <action function="play-file" data="ivr/ivr-please.wav"/>
+ <action function="play-file" data="voicemail/vm-press.wav"/>
+ <action function="play-file" data="digits/5.wav"/>
+ <action function="execute" data="sleep(250)"/>
+ <!-- Menu option 9: Repeat these options -->
+ <action function="play-file" data="ivr/ivr-to_repeat_these_options.wav"/>
+ <action function="execute" data="sleep(250)"/>
+ <action function="play-file" data="ivr/ivr-please.wav"/>
+ <action function="play-file" data="voicemail/vm-press.wav"/>
+ <action function="play-file" data="digits/9.wav"/>
+ <action function="execute" data="sleep(2000)"/>
+ </match>
+ </input>
+ </macro>
+
+ <!-- The following macro is the same as demo_ivr_main_menu except it is the "short" version -->
+ <!-- The short version has all the options but not the initial greeting -->
+ <macro name="demo_ivr_main_menu_short">
+ <input pattern="(.*)">
+ <match>
+ <!-- Menu option 1: Call FreeSWITCH conference-->
+ <action function="execute" data="sleep(1000)"/>
+ <action function="play-file" data="ivr/ivr-to_call_the_freeswitch_conference.wav"/>
+ <action function="execute" data="sleep(250)"/>
+ <action function="play-file" data="ivr/ivr-please.wav"/>
+ <action function="play-file" data="voicemail/vm-press.wav"/>
+ <action function="play-file" data="digits/1.wav"/>
+ <action function="execute" data="sleep(250)"/>
+ <!-- Menu option 2: Do FreeSWITCH echo test -->
+ <action function="play-file" data="ivr/ivr-to_do_a_freeswitch_echo_test.wav"/>
+ <action function="execute" data="sleep(250)"/>
+ <action function="play-file" data="ivr/ivr-please.wav"/>
+ <action function="play-file" data="voicemail/vm-press.wav"/>
+ <action function="play-file" data="digits/2.wav"/>
+ <action function="execute" data="sleep(250)"/>
+ <!-- Menu option 3: Listen to Music on Hold -->
+ <action function="play-file" data="ivr/ivr-to_listen_to_moh.wav"/>
+ <action function="execute" data="sleep(250)"/>
+ <action function="play-file" data="ivr/ivr-please.wav"/>
+ <action function="play-file" data="voicemail/vm-press.wav"/>
+ <action function="play-file" data="digits/3.wav"/>
+ <action function="execute" data="sleep(250)"/>
+ <!-- Menu option 4: Hear a sample submenu -->
+ <action function="play-file" data="ivr/ivr-to_hear_sample_submenu.wav"/>
+ <action function="execute" data="sleep(250)"/>
+ <action function="play-file" data="ivr/ivr-please.wav"/>
+ <action function="play-file" data="voicemail/vm-press.wav"/>
+ <action function="play-file" data="digits/4.wav"/>
+ <action function="execute" data="sleep(250)"/>
+ <!-- Menu option 5: Listen to screaming monkeys -->
+ <action function="play-file" data="ivr/ivr-to_hear_screaming_monkeys.wav"/>
+ <action function="execute" data="sleep(250)"/>
+ <action function="play-file" data="ivr/ivr-please.wav"/>
+ <action function="play-file" data="voicemail/vm-press.wav"/>
+ <action function="play-file" data="digits/5.wav"/>
+ <action function="execute" data="sleep(250)"/>
+ <!-- Menu option 9: Repeat these options -->
+ <action function="play-file" data="ivr/ivr-to_repeat_these_options.wav"/>
+ <action function="execute" data="sleep(250)"/>
+ <action function="play-file" data="ivr/ivr-please.wav"/>
+ <action function="play-file" data="voicemail/vm-press.wav"/>
+ <action function="play-file" data="digits/9.wav"/>
+ <action function="execute" data="sleep(2000)"/>
+ </match>
+ </input>
+ </macro>
+
+ <!-- The following macro is the "long" greeting for the demo_ivr_sub_menu -->
+ <macro name="demo_ivr_sub_menu">
+ <input pattern="(.*)">
+ <match>
+ <action function="play-file" data="ivr/ivr-welcome_to_freeswitch.wav"/>
+ <action function="execute" data="sleep(250)"/>
+ <action function="play-file" data="ivr/ivr-sample_submenu.wav"/>
+ <action function="execute" data="sleep(250)"/>
+ <!-- Menu option *: Return to top menu -->
+ <action function="play-file" data="ivr/ivr-to_return_to_previous_menu.wav"/>
+ <action function="execute" data="sleep(250)"/>
+ <action function="play-file" data="ivr/ivr-please.wav"/>
+ <action function="play-file" data="voicemail/vm-press.wav"/>
+ <action function="play-file" data="digits/star.wav"/>
+ <action function="execute" data="sleep(250)"/>
+ </match>
+ </input>
+ </macro>
+
+ <!-- The following macro is the same as demo_ivr_sub_menu except it is the "short" version -->
+ <!-- The short version has all the options but not the initial greeting -->
+ <macro name="demo_ivr_sub_menu_short">
+ <input pattern="(.*)">
+ <match>
+ <!-- Menu option *: Return to top menu -->
+ <action function="play-file" data="ivr/ivr-to_return_to_previous_menu.wav"/>
+ <action function="execute" data="sleep(250)"/>
+ <action function="play-file" data="ivr/ivr-please.wav"/>
+ <action function="play-file" data="voicemail/vm-press.wav"/>
+ <action function="play-file" data="digits/star.wav"/>
+ <action function="execute" data="sleep(250)"/>
+ </match>
+ </input>
+ </macro>
+
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
--- /dev/null
+<include>
+ <macro name="msgcount">
+ <input pattern="(.*)">
+ <match>
+ <action function="execute" data="sleep(1000)"/>
+ <action function="play-file" data="voicemail/vm-you_have.wav"/>
+ <action function="say" data="$1" method="pronounced" type="items"/>
+ <action function="play-file" data="voicemail/vm-messages.wav"/>
+ <!-- or -->
+ <!--<action function="speak-text" data="you have $1 messages"/>-->
+ </match>
+ </input>
+ </macro>
+ <macro name="saydate">
+ <input pattern="(.*)">
+ <match>
+ <action function="say" data="$1" method="pronounced" type="current_date_time"/>
+ </match>
+ </input>
+ </macro>
+ <macro name="timespec">
+ <input pattern="(.*)">
+ <match>
+ <action function="say" data="$1" method="pronounced" type="time_measurement"/>
+ </match>
+ </input>
+ </macro>
+ <macro name="ip-addr">
+ <input pattern="(.*)">
+ <match>
+ <action function="say" data="$1" method="iterated" type="ip_address"/>
+ <action function="say" data="$1" method="pronounced" type="ip_address"/>
+ </match>
+ </input>
+ </macro>
+ <macro name="spell">
+ <input pattern="(.*)">
+ <match>
+ <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+ </match>
+ </input>
+ </macro>
+ <macro name="spell-phonetic">
+ <input pattern="(.*)">
+ <match>
+ <action function="say" data="$1" method="pronounced" type="name_phonetic"/>
+ </match>
+ </input>
+ </macro>
+ <macro name="tts-timeleft">
+ <!-- The parser will visit each <input> tag and execute the actions in <match> or <nomatch> depending on the pattern param -->
+ <!-- If the function "break" is encountered all parsing will cease -->
+ <input pattern="(\d+):(\d+)">
+ <match>
+ <action function="speak-text" data="You have $1 minutes, $2 seconds remaining $strftime(%Y-%m-%d)"/>
+ <action function="break"/>
+ </match>
+ <nomatch>
+ <action function="speak-text" data="That input was invalid."/>
+ </nomatch>
+ </input>
+ <input pattern="(\d+) min (\d+) sec">
+ <match>
+ <action function="speak-text" data="You have $1 minutes, $2 seconds remaining $strftime(%Y-%m-%d)"/>
+ </match>
+ <nomatch>
+ <action function="speak-text" data="That input was invalid."/>
+ </nomatch>
+ </input>
+ </macro>
+</include>
+<!--
+For Emacs:
+Local Variables:
+mode:xml
+indent-tabs-mode:nil
+tab-width:2
+c-basic-offset:2
+End:
+For VIM:
+vim:set softtabstop=2 shiftwidth=2 tabstop=2 expandtab:
+-->
--- /dev/null
+<include>
+ <language name="en" sound-path="$${base_dir}/sounds/en/us/callie" tts-engine="cepstral" tts-voice="callie">
+ <X-PRE-PROCESS cmd="include" data="demo/*.xml"/> <!-- Note: this now grabs whole subdir, previously grabbed only demo.xml -->
+ <!--voicemail_en_tts is purely implemented with tts, we have the files based one that is the default. -->
+ <X-PRE-PROCESS cmd="include" data="vm/sounds.xml"/> <!-- vm/tts.xml if you want to use tts and have cepstral -->
+ </language>
+</include>
--- /dev/null
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+ <macro name="voicemail_enter_id">
+ <input pattern="(.*)">
+ <match>
+ <action function="play-file" data="voicemail/vm-enter_id.wav"/>
+ <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_enter_pass">
+ <input pattern="(.*)">
+ <match>
+ <action function="play-file" data="voicemail/vm-enter_pass.wav"/>
+ <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_fail_auth">
+ <input pattern="(.*)">
+ <match>
+ <action function="play-file" data="voicemail/vm-fail_auth.wav"/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_hello">
+ <input pattern="(.*)">
+ <match>
+ <action function="play-file" data="voicemail/vm-hello.wav"/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_goodbye">
+ <input pattern="(.*)">
+ <match>
+ <action function="play-file" data="voicemail/vm-goodbye.wav"/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_abort">
+ <input pattern="(.*)">
+ <match>
+ <action function="play-file" data="voicemail/vm-abort.wav"/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_message_count">
+ <input pattern="^(1):(.*)$" break_on_match="true">
+ <match>
+ <action function="play-file" data="voicemail/vm-you_have.wav"/>
+ <action function="say" data="$1" method="pronounced" type="items"/>
+ <action function="play-file" data="voicemail/vm-$2.wav"/>
+ <action function="play-file" data="voicemail/vm-message.wav"/>
+ <action function="play-file" data="voicemail/vm-in_folder.wav"/>
+ </match>
+ </input>
+ <input pattern="^(\d+):(.*)$">
+ <match>
+ <action function="play-file" data="voicemail/vm-you_have.wav"/>
+ <action function="say" data="$1" method="pronounced" type="items"/>
+ <action function="play-file" data="voicemail/vm-$2.wav"/>
+ <action function="play-file" data="voicemail/vm-messages.wav"/>
+ <action function="play-file" data="voicemail/vm-in_folder.wav"/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_menu">
+ <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+ <match>
+ <action function="play-file" data="voicemail/vm-press.wav"/>
+ <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+ <action function="play-file" data="voicemail/vm-listen_new.wav"/>
+ <action function="play-file" data="voicemail/vm-press.wav"/>
+ <action function="say" data="$2" method="pronounced" type="name_spelled"/>
+ <action function="play-file" data="voicemail/vm-listen_saved.wav"/>
+ <action function="play-file" data="voicemail/vm-press.wav"/>
+ <action function="say" data="$3" method="pronounced" type="name_spelled"/>
+ <action function="play-file" data="voicemail/vm-advanced.wav"/>
+ <action function="play-file" data="voicemail/vm-press.wav"/>
+ <action function="say" data="$4" method="pronounced" type="name_phonetic"/>
+ <action function="play-file" data="voicemail/vm-to_exit.wav"/>
+ </match>
+ </input>
+ </macro>
+
+
+ <macro name="voicemail_config_menu">
+ <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+ <match>
+ <action function="play-file" data="voicemail/vm-press.wav"/>
+ <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+ <action function="play-file" data="voicemail/vm-to_record_greeting.wav"/>
+ <action function="play-file" data="voicemail/vm-press.wav"/>
+ <action function="say" data="$2" method="pronounced" type="name_spelled"/>
+ <action function="play-file" data="voicemail/vm-choose_greeting.wav"/>
+ <action function="play-file" data="voicemail/vm-press.wav"/>
+ <action function="say" data="$3" method="pronounced" type="name_spelled"/>
+ <action function="play-file" data="voicemail/vm-record_name2.wav"/>
+ <action function="play-file" data="voicemail/vm-press.wav"/>
+ <action function="say" data="$4" method="pronounced" type="name_spelled"/>
+ <action function="play-file" data="voicemail/vm-change_password.wav"/>
+ <action function="play-file" data="voicemail/vm-press.wav"/>
+ <action function="say" data="$5" method="pronounced" type="name_spelled"/>
+ <action function="play-file" data="voicemail/vm-main_menu.wav"/>
+ </match>
+ </input>
+ </macro>
+
+
+ <macro name="voicemail_record_name">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="play-file" data="voicemail/vm-record_name1.wav"/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_record_file_check">
+ <input pattern="^([0-9#*]):([0-9#*]):([0-9#*])$">
+ <match>
+ <action function="play-file" data="voicemail/vm-press.wav"/>
+ <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+ <action function="play-file" data="voicemail/vm-listen_to_recording.wav"/>
+ <action function="play-file" data="voicemail/vm-press.wav"/>
+ <action function="say" data="$2" method="pronounced" type="name_spelled"/>
+ <action function="play-file" data="voicemail/vm-save_recording.wav"/>
+ <action function="play-file" data="voicemail/vm-press.wav"/>
+ <action function="say" data="$3" method="pronounced" type="name_spelled"/>
+ <action function="play-file" data="voicemail/vm-rerecord.wav"/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_record_urgent_check">
+ <input pattern="^([0-9#*]):([0-9#*])$">
+ <match>
+ <action function="play-file" data="voicemail/vm-mark-urgent.wav"/>
+ <action function="play-file" data="voicemail/vm-press.wav"/>
+ <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+ <action function="play-file" data="voicemail/vm-continue.wav"/>
+ <action function="play-file" data="voicemail/vm-press.wav"/>
+ <action function="say" data="$2" method="pronounced" type="name_spelled"/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_forward_prepend">
+ <input pattern="^([0-9#*]):([0-9#*])$">
+ <match>
+ <action function="play-file" data="voicemail/vm-forward_add_intro.wav"/>
+ <action function="play-file" data="voicemail/vm-press.wav"/>
+ <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+ <action function="play-file" data="voicemail/vm-send_message_now.wav"/>
+ <action function="play-file" data="voicemail/vm-press.wav"/>
+ <action function="say" data="$2" method="pronounced" type="name_spelled"/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_forward_message_enter_extension">
+ <input pattern="^([0-9#*])$">
+ <match>
+ <action function="play-file" data="voicemail/vm-forward_enter_ext.wav"/>
+ <action function="play-file" data="voicemail/vm-followed_by.wav"/>
+ <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_invalid_extension">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="play-file" data="voicemail/vm-that_was_an_invalid_ext.wav"/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_listen_file_check">
+ <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+ <match>
+ <action function="play-file" data="voicemail/vm-listen_to_recording.wav"/>
+ <action function="play-file" data="voicemail/vm-press.wav"/>
+ <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+ <action function="play-file" data="voicemail/vm-save_recording.wav"/>
+ <action function="play-file" data="voicemail/vm-press.wav"/>
+ <action function="say" data="$2" method="pronounced" type="name_spelled"/>
+ <action function="play-file" data="voicemail/vm-delete_recording.wav"/>
+ <action function="play-file" data="voicemail/vm-press.wav"/>
+ <action function="say" data="$3" method="pronounced" type="name_spelled"/>
+ <action function="play-file" data="voicemail/vm-forward_to_email.wav"/>
+ <action function="play-file" data="voicemail/vm-press.wav"/>
+ <action function="say" data="$4" method="pronounced" type="name_spelled"/>
+ <action function="play-file" data="voicemail/vm-return_call.wav"/>
+ <action function="play-file" data="voicemail/vm-press.wav"/>
+ <action function="say" data="$5" method="pronounced" type="name_spelled"/>
+ <action function="play-file" data="voicemail/vm-to_forward.wav"/>
+ <action function="play-file" data="voicemail/vm-press.wav"/>
+ <action function="say" data="$6" method="pronounced" type="name_spelled"/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_choose_greeting">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="play-file" data="voicemail/vm-choose_greeting_choose.wav"/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_choose_greeting_fail">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="play-file" data="voicemail/vm-choose_greeting_fail.wav"/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_record_greeting">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="play-file" data="voicemail/vm-record_greeting.wav"/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_record_message">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="play-file" data="voicemail/vm-record_message.wav"/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_greeting_selected">
+ <input pattern="^(\d+)$">
+ <match>
+ <action function="play-file" data="voicemail/vm-greeting.wav"/>
+ <action function="say" data="$1" method="pronounced" type="items"/>
+ <action function="play-file" data="voicemail/vm-selected.wav"/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_play_greeting">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="play-file" data="voicemail/vm-person.wav"/>
+ <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+ <action function="play-file" data="voicemail/vm-not_available.wav"/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_say_number">
+ <input pattern="^(\d+)$">
+ <match>
+ <action function="say" data="$1" method="pronounced" type="items"/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_say_message_number">
+ <input pattern="^([a-z]+):(\d+)$">
+ <match>
+ <action function="play-file" data="voicemail/vm-$1.wav"/>
+ <action function="play-file" data="voicemail/vm-message_number.wav"/>
+ <action function="say" data="$2" method="pronounced" type="items"/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_say_phone_number">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_say_name">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+ </match>
+ </input>
+ </macro>
+ <!-- Note: Update this to marked-urgent,emailed and saved once new sound files are recorded -->
+ <macro name="voicemail_ack">
+ <input pattern="^(too-small)$">
+ <match>
+ <action function="play-file" data="voicemail/vm-too-small.wav"/>
+ </match>
+ </input>
+ <input pattern="^(deleted)$">
+ <match>
+ <action function="play-file" data="voicemail/vm-message.wav"/>
+ <action function="play-file" data="voicemail/vm-$1.wav"/>
+ </match>
+ </input>
+ <input pattern="^(saved)$">
+ <match>
+ <action function="play-file" data="voicemail/vm-message.wav"/>
+ <action function="play-file" data="voicemail/vm-$1.wav"/>
+ </match>
+ </input>
+ <input pattern="^(emailed)$">
+ <match>
+ <action function="play-file" data="voicemail/vm-message.wav"/>
+ <action function="play-file" data="voicemail/vm-$1.wav"/>
+ </match>
+ </input>
+ <input pattern="^(marked-urgent)$">
+ <match>
+ <action function="play-file" data="voicemail/vm-message.wav"/>
+ <action function="play-file" data="voicemail/vm-$1.wav"/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_say_date">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="say" data="$1" method="pronounced" type="current_date_time"/>
+ </match>
+ </input>
+ </macro>
+
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
--- /dev/null
+<include>
+
+ <macro name="voicemail_enter_id">
+ <input pattern="(.*)">
+ <match>
+ <action function="speak-text" data="please enter your i d, followed by $1."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_enter_pass">
+ <input pattern="(.*)">
+ <match>
+ <action function="speak-text" data="please enter your password, followed by $1."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_fail_auth">
+ <input pattern="(.*)">
+ <match>
+ <action function="speak-text" data="login incorrect."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_hello">
+ <input pattern="(.*)">
+ <match>
+ <action function="speak-text" data="welcome to your voicemail."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_goodbye">
+ <input pattern="(.*)">
+ <match>
+ <action function="speak-text" data="goodbye."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_abort">
+ <input pattern="(.*)">
+ <match>
+ <action function="speak-text" data="too many failed attempts."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_message_count">
+ <input pattern="^1:(.*)$" break_on_match="true">
+ <match>
+ <action function="speak-text" data="you have 1 $1 message in folder ${voicemail_current_folder}."/>
+ </match>
+ </input>
+ <input pattern="^(\d+):(.*)$">
+ <match>
+ <action function="speak-text" data="you have $1 $2 messages in folder ${voicemail_current_folder}."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_menu">
+ <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+ <match>
+ <action function="speak-text"
+ data="To listen to new messages, press $1, To listen to saved messages, press $2, For advanced options, press $3, to exit, press $4."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_config_menu">
+ <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+ <match>
+ <action function="speak-text"
+ data="To record a greeting, press $1, To choose a greeting, press $2, To record your name, press $3, to change your password, press $5, to return to the main menu, press $5."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_record_name">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="speak-text" data="at the tone, please record your name, press any key or stop talking to end the recording."/>
+
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_record_file_check">
+ <input pattern="^([0-9#*]):([0-9#*]):([0-9#*])$">
+ <match>
+ <action function="speak-text"
+ data="To listen to the recording, press $1, To save the recording, press $2, To re record, press $3."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_record_urgent_check">
+ <input pattern="^([0-9#*]):([0-9#*])$">
+ <match>
+ <action function="speak-text"
+ data="To mark this message urgent, press $1, To continue, press $2."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_invalid_extension">
+ <input pattern="^([0-9#*])$">
+ <match>
+ <action function="speak-text" data="$1 is not a valid extension."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_forward_message_enter_extension">
+ <input pattern="^([0-9#*])$">
+ <match>
+ <action function="speak-text" data="enter the extension you wish to forward to, then press $1"/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_forward_prepend">
+ <input pattern="^([0-9#*])$">
+ <match>
+ <action function="speak-text" data="To record an announcement, press $1."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_listen_file_check">
+ <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+ <match>
+ <action function="speak-text"
+ data="To listen to the recording again, press $1, To save the recording, press $2, To delete the recording, press $3, to forward the recording to your email, press $4, to call the caller now, press $5, To forward this message to another extension, press $6."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_choose_greeting">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="speak-text" data="choose a greeting between 1 and 3."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_choose_greeting_fail">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="speak-text" data="invalid value."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_record_greeting">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="speak-text" data="record your greeting at the tone, press any key or stop talking to end the recording."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_record_message">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="speak-text" data="record your message at the tone, press any key or stop talking to end the recording."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_greeting_selected">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="speak-text" data="greeting $1 selected."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_play_greeting">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="speak-text" data="$1 is not available."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_say_number">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="speak-text" data="$1"/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_say_message_number">
+ <input pattern="^([a-z]+):(.*)$">
+ <match>
+ <action function="speak-text" data="$1 message number $2."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_say_phone_number">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="speak-text" data="$1."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_say_name">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="speak-text" data="$1."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_ack">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="speak-text" data="message $1"/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_say_date">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="speak-text" data="${strftime($1|%A, %B %d %Y, %I:%M %p)}"/>
+ </match>
+ </input>
+ </macro>
+
+</include>
+<!--
+For Emacs:
+Local Variables:
+mode:xml
+indent-tabs-mode:nil
+tab-width:2
+c-basic-offset:2
+End:
+For VIM:
+vim:set softtabstop=2 shiftwidth=2 tabstop=2 expandtab:
+-->
--- /dev/null
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+<macro name="msgcount">
+ <input pattern="(.*)">
+ <match>
+ <action function="play-file" data="tuas.wav"/>
+ <action function="say" data="$1" method="pronounced" type="items"/>
+ <action function="play-file" data="messages.wav"/>
+ </match>
+ </input>
+</macro>
+<macro name="timeleft">
+ <input pattern="(\d+):(\d+)">
+ <match>
+ <action function="speak-text" data="il y a $1 minutes et de $2 secondes de restant"/>
+ </match>
+ </input>
+</macro>
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
--- /dev/null
+<include>
+ <language name="fr" sound-path="/snds" tts-engine="cepstral" tts-voice="david">
+ <X-PRE-PROCESS cmd="include" data="demo/demo.xml"/>
+ <!--voicemail_fr_tts is purely implemented with tts, we need a files based implementation too -->
+ <X-PRE-PROCESS cmd="include" data="vm/sounds.xml"/>
+ </language>
+</include>
--- /dev/null
+<?xml version="1.0" encoding="Windows-1252"?>
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+ <macro name="voicemail_enter_id">
+ <input pattern="(.*)">
+ <match>
+ <action function="speak-text" data="Entrez votre Identification, suivi par $1."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_enter_pass">
+ <input pattern="(.*)">
+ <match>
+ <action function="speak-text" data="Entrez votre code, suivi par $1."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_fail_auth">
+ <input pattern="(.*)">
+ <match>
+ <action function="speak-text" data="Identification incorrect."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_hello">
+ <input pattern="(.*)">
+ <match>
+ <action function="speak-text" data="Bienvenu sur votre répondeur."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_goodbye">
+ <input pattern="(.*)">
+ <match>
+ <action function="speak-text" data="Aurevoir."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_abort">
+ <input pattern="(.*)">
+ <match>
+ <action function="speak-text" data="Trop de tentatives échouées."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_message_count">
+ <input pattern="^([^:]+):([^:]+):{0,1}(.*)">
+ <match>
+ <action function="speak-text" data="Vous avez $1 $2 message$3 dans le répertoir ${voicemail_current_folder}."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_menu">
+ <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+ <match>
+ <action function="speak-text"
+ data="Pour écouter les nouveaux message, tappez $1, Pour écouter les messages enregistrés, tappez $2, Pour les options avancées, tappez $3, pour sortir, tappez $4."/>
+ </match>
+ </input>
+ </macro>
+
+
+ <macro name="voicemail_config_menu">
+ <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+ <match>
+ <action function="speak-text"
+ data="pour enregistrer un message d'accueil, tappez $1, Pour choisir votre message d'accueil, tappez $2, Pour enregistrer votre nom, tappez $3, pour retourner au menu principale, tappez $4."/>
+ </match>
+ </input>
+ </macro>
+
+
+ <macro name="voicemail_record_name">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="speak-text" data="enregistrez votre nom au bip, puis tappez une touche ou arretez de parler pour arreter l'enregistrement."/>
+
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_record_file_check">
+ <input pattern="^([0-9#*]):([0-9#*]):([0-9#*])$">
+ <match>
+ <action function="speak-text"
+ data="Pour écouter l'enregistrement, tappez $1, pour sauvegarder l'enregistrement, tappez $2, Pour réenregistrer, tappez $3."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_record_urgent_check">
+ <input pattern="^([0-9#*]):([0-9#*])$">
+ <match>
+ <action function="speak-text"
+ data="Pour indiquer ce messange comme étant urgent, tappez $1, Pour continuer, tappez $2."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_listen_file_check">
+ <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+ <match>
+ <action function="speak-text"
+ data="Pour réécouter l'enregistrement à nouveau, tappez $1, Pour sauvegarder l'enregistrement, tappez $2, Pour supprimer l'enregistrement, tappez $3, pour transférer l'enregistrement à votre mail, tappez $4."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_choose_greeting">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="speak-text" data="choisissez un message d'accueil entre 1 et 3."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_choose_greeting_fail">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="speak-text" data="valeur incorrect."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_record_greeting">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="speak-text" data="enregistrez votre message d'accueil au bip, puis tappez une touche ou arretez de parler pour arreter l'enregistrement."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_record_message">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="speak-text" data="enregistrez votre message au bip, puis tappez une touche ou arretez de parler pour arreter l'enregistrement."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_greeting_selected">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="speak-text" data="message d'accueil numero $1 selectionné."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_play_greeting">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="speak-text" data="$1 n'est pas valide."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_say_number">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="speak-text" data="$1"/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_say_message_number">
+ <input pattern="^([a-z]+):(.*)$">
+ <match>
+ <action function="speak-text" data="$1 message numero $2."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_say_phone_number">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="speak-text" data="$1."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_say_name">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="speak-text" data="$1."/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_ack">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="speak-text" data="message $1"/>
+ </match>
+ </input>
+ </macro>
+
+ <macro name="voicemail_say_date">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="speak-text" data="$strftime($1|%A, %B %d %Y, %I %M %p)"/>
+ </match>
+ </input>
+ </macro>
+
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
\ No newline at end of file
--- /dev/null
+# This is a comment. I love comments.
+
+# This file controls what Internet media types are sent to the client for
+# given file extension(s). Sending the correct media type to the client
+# is important so they know how to handle the content of the file.
+# Extra types can either be added here or by using an AddType directive
+# in your config files. For more information about Internet media types,
+# please read RFC 2045, 2046, 2047, 2048, and 2077. The Internet media type
+# registry is at <http://www.iana.org/assignments/media-types/>.
+
+# MIME type Extensions
+application/activemessage
+application/andrew-inset ez
+application/applefile
+application/atom+xml atom
+application/atomcat+xml atomcat
+application/atomicmail
+application/atomsvc+xml atomsvc
+application/auth-policy+xml
+application/batch-smtp
+application/beep+xml
+application/cals-1840
+application/ccxml+xml ccxml
+application/cellml+xml
+application/cnrp+xml
+application/commonground
+application/conference-info+xml
+application/cpl+xml
+application/csta+xml
+application/cstadata+xml
+application/cybercash
+application/davmount+xml davmount
+application/dca-rft
+application/dec-dx
+application/dialog-info+xml
+application/dicom
+application/dns
+application/dvcs
+application/ecmascript ecma
+application/edi-consent
+application/edi-x12
+application/edifact
+application/epp+xml
+application/eshop
+application/fastinfoset
+application/fastsoap
+application/fits
+application/font-tdpfr pfr
+application/h224
+application/http
+application/hyperstudio stk
+application/iges
+application/im-iscomposing+xml
+application/index
+application/index.cmd
+application/index.obj
+application/index.response
+application/index.vnd
+application/iotp
+application/ipp
+application/isup
+application/javascript js
+application/json json
+application/kpml-request+xml
+application/kpml-response+xml
+application/mac-binhex40 hqx
+application/mac-compactpro cpt
+application/macwriteii
+application/marc mrc
+application/mathematica ma nb mb
+application/mathml+xml mathml
+application/mbms-associated-procedure-description+xml
+application/mbms-deregister+xml
+application/mbms-envelope+xml
+application/mbms-msk+xml
+application/mbms-msk-response+xml
+application/mbms-protection-description+xml
+application/mbms-reception-report+xml
+application/mbms-register+xml
+application/mbms-register-response+xml
+application/mbms-user-service-description+xml
+application/mbox mbox
+application/mediaservercontrol+xml mscml
+application/mikey
+application/mp4 mp4s
+application/mpeg4-generic
+application/mpeg4-iod
+application/mpeg4-iod-xmt
+application/msword doc dot
+application/mxf mxf
+application/nasdata
+application/news-message-id
+application/news-transmission
+application/nss
+application/ocsp-request
+application/ocsp-response
+application/octet-stream bin dms lha lzh class so iso dmg dist distz pkg bpk dump elc
+application/oda oda
+application/oebps-package+xml
+application/ogg ogg
+application/parityfec
+application/pdf pdf
+application/pgp-encrypted pgp
+application/pgp-keys
+application/pgp-signature asc sig
+application/pics-rules prf
+application/pidf+xml
+application/pkcs10 p10
+application/pkcs7-mime p7m p7c
+application/pkcs7-signature p7s
+application/pkix-cert cer
+application/pkix-crl crl
+application/pkix-pkipath pkipath
+application/pkixcmp pki
+application/pls+xml pls
+application/poc-settings+xml
+application/postscript ai eps ps
+application/prs.alvestrand.titrax-sheet
+application/prs.cww cww
+application/prs.nprend
+application/prs.plucker
+application/qsig
+application/rdf+xml rdf
+application/reginfo+xml rif
+application/relax-ng-compact-syntax rnc
+application/remote-printing
+application/resource-lists+xml rl
+application/riscos
+application/rlmi+xml
+application/rls-services+xml rs
+application/rsd+xml rsd
+application/rss+xml rss
+application/rtf rtf
+application/rtx
+application/samlassertion+xml
+application/samlmetadata+xml
+application/sbml+xml sbml
+application/sdp sdp
+application/set-payment
+application/set-payment-initiation setpay
+application/set-registration
+application/set-registration-initiation setreg
+application/sgml
+application/sgml-open-catalog
+application/shf+xml shf
+application/sieve
+application/simple-filter+xml
+application/simple-message-summary
+application/simplesymbolcontainer
+application/slate
+application/smil
+application/smil+xml smi smil
+application/soap+fastinfoset
+application/soap+xml
+application/spirits-event+xml
+application/srgs gram
+application/srgs+xml grxml
+application/ssml+xml ssml
+application/timestamp-query
+application/timestamp-reply
+application/tve-trigger
+application/vemmi
+application/vividence.scriptfile
+application/vnd.3gpp.bsf+xml
+application/vnd.3gpp.pic-bw-large plb
+application/vnd.3gpp.pic-bw-small psb
+application/vnd.3gpp.pic-bw-var pvb
+application/vnd.3gpp.sms
+application/vnd.3gpp2.bcmcsinfo+xml
+application/vnd.3gpp2.sms
+application/vnd.3m.post-it-notes pwn
+application/vnd.accpac.simply.aso aso
+application/vnd.accpac.simply.imp imp
+application/vnd.acucobol acu
+application/vnd.acucorp atc acutc
+application/vnd.adobe.xdp+xml xdp
+application/vnd.adobe.xfdf xfdf
+application/vnd.aether.imp
+application/vnd.amiga.ami ami
+application/vnd.anser-web-certificate-issue-initiation cii
+application/vnd.anser-web-funds-transfer-initiation fti
+application/vnd.antix.game-component atx
+application/vnd.apple.installer+xml mpkg
+application/vnd.audiograph aep
+application/vnd.autopackage
+application/vnd.avistar+xml
+application/vnd.blueice.multipass mpm
+application/vnd.bmi bmi
+application/vnd.businessobjects rep
+application/vnd.cab-jscript
+application/vnd.canon-cpdl
+application/vnd.canon-lips
+application/vnd.cendio.thinlinc.clientconf
+application/vnd.chemdraw+xml cdxml
+application/vnd.chipnuts.karaoke-mmd mmd
+application/vnd.cinderella cdy
+application/vnd.cirpack.isdn-ext
+application/vnd.claymore cla
+application/vnd.clonk.c4group c4g c4d c4f c4p c4u
+application/vnd.commerce-battelle
+application/vnd.commonspace csp cst
+application/vnd.contact.cmsg cdbcmsg
+application/vnd.cosmocaller cmc
+application/vnd.crick.clicker clkx
+application/vnd.crick.clicker.keyboard clkk
+application/vnd.crick.clicker.palette clkp
+application/vnd.crick.clicker.template clkt
+application/vnd.crick.clicker.wordbank clkw
+application/vnd.criticaltools.wbs+xml wbs
+application/vnd.ctc-posml pml
+application/vnd.cups-pdf
+application/vnd.cups-postscript
+application/vnd.cups-ppd ppd
+application/vnd.cups-raster
+application/vnd.cups-raw
+application/vnd.curl curl
+application/vnd.cybank
+application/vnd.data-vision.rdz rdz
+application/vnd.denovo.fcselayout-link fe_launch
+application/vnd.dna dna
+application/vnd.dolby.mlp mlp
+application/vnd.dpgraph dpg
+application/vnd.dreamfactory dfac
+application/vnd.dvb.esgcontainer
+application/vnd.dvb.ipdcesgaccess
+application/vnd.dxr
+application/vnd.ecdis-update
+application/vnd.ecowin.chart mag
+application/vnd.ecowin.filerequest
+application/vnd.ecowin.fileupdate
+application/vnd.ecowin.series
+application/vnd.ecowin.seriesrequest
+application/vnd.ecowin.seriesupdate
+application/vnd.enliven nml
+application/vnd.epson.esf esf
+application/vnd.epson.msf msf
+application/vnd.epson.quickanime qam
+application/vnd.epson.salt slt
+application/vnd.epson.ssf ssf
+application/vnd.ericsson.quickcall
+application/vnd.eszigno3+xml es3 et3
+application/vnd.eudora.data
+application/vnd.ezpix-album ez2
+application/vnd.ezpix-package ez3
+application/vnd.fdf fdf
+application/vnd.ffsns
+application/vnd.fints
+application/vnd.flographit gph
+application/vnd.fluxtime.clip ftc
+application/vnd.framemaker fm frame maker
+application/vnd.frogans.fnc fnc
+application/vnd.frogans.ltf ltf
+application/vnd.fsc.weblaunch fsc
+application/vnd.fujitsu.oasys oas
+application/vnd.fujitsu.oasys2 oa2
+application/vnd.fujitsu.oasys3 oa3
+application/vnd.fujitsu.oasysgp fg5
+application/vnd.fujitsu.oasysprs bh2
+application/vnd.fujixerox.art-ex
+application/vnd.fujixerox.art4
+application/vnd.fujixerox.hbpl
+application/vnd.fujixerox.ddd ddd
+application/vnd.fujixerox.docuworks xdw
+application/vnd.fujixerox.docuworks.binder xbd
+application/vnd.fut-misnet
+application/vnd.fuzzysheet fzs
+application/vnd.genomatix.tuxedo txd
+application/vnd.google-earth.kml+xml kml
+application/vnd.google-earth.kmz kmz
+application/vnd.grafeq gqf gqs
+application/vnd.gridmp
+application/vnd.groove-account gac
+application/vnd.groove-help ghf
+application/vnd.groove-identity-message gim
+application/vnd.groove-injector grv
+application/vnd.groove-tool-message gtm
+application/vnd.groove-tool-template tpl
+application/vnd.groove-vcard vcg
+application/vnd.handheld-entertainment+xml zmm
+application/vnd.hbci hbci
+application/vnd.hcl-bireports
+application/vnd.hhe.lesson-player les
+application/vnd.hp-hpgl hpgl
+application/vnd.hp-hpid hpid
+application/vnd.hp-hps hps
+application/vnd.hp-jlyt jlt
+application/vnd.hp-pcl pcl
+application/vnd.hp-pclxl pclxl
+application/vnd.httphone
+application/vnd.hzn-3d-crossword x3d
+application/vnd.ibm.afplinedata
+application/vnd.ibm.electronic-media
+application/vnd.ibm.minipay mpy
+application/vnd.ibm.modcap afp listafp list3820
+application/vnd.ibm.rights-management irm
+application/vnd.ibm.secure-container sc
+application/vnd.igloader igl
+application/vnd.immervision-ivp ivp
+application/vnd.immervision-ivu ivu
+application/vnd.informedcontrol.rms+xml
+application/vnd.intercon.formnet xpw xpx
+application/vnd.intertrust.digibox
+application/vnd.intertrust.nncp
+application/vnd.intu.qbo qbo
+application/vnd.intu.qfx qfx
+application/vnd.ipunplugged.rcprofile rcprofile
+application/vnd.irepository.package+xml irp
+application/vnd.is-xpr xpr
+application/vnd.jam jam
+application/vnd.japannet-directory-service
+application/vnd.japannet-jpnstore-wakeup
+application/vnd.japannet-payment-wakeup
+application/vnd.japannet-registration
+application/vnd.japannet-registration-wakeup
+application/vnd.japannet-setstore-wakeup
+application/vnd.japannet-verification
+application/vnd.japannet-verification-wakeup
+application/vnd.jcp.javame.midlet-rms rms
+application/vnd.jisp jisp
+application/vnd.kahootz ktz ktr
+application/vnd.kde.karbon karbon
+application/vnd.kde.kchart chrt
+application/vnd.kde.kformula kfo
+application/vnd.kde.kivio flw
+application/vnd.kde.kontour kon
+application/vnd.kde.kpresenter kpr kpt
+application/vnd.kde.kspread ksp
+application/vnd.kde.kword kwd kwt
+application/vnd.kenameaapp htke
+application/vnd.kidspiration kia
+application/vnd.kinar kne knp
+application/vnd.koan skp skd skt skm
+application/vnd.liberty-request+xml
+application/vnd.llamagraphics.life-balance.desktop lbd
+application/vnd.llamagraphics.life-balance.exchange+xml lbe
+application/vnd.lotus-1-2-3 123
+application/vnd.lotus-approach apr
+application/vnd.lotus-freelance pre
+application/vnd.lotus-notes nsf
+application/vnd.lotus-organizer org
+application/vnd.lotus-screencam scm
+application/vnd.lotus-wordpro lwp
+application/vnd.macports.portpkg portpkg
+application/vnd.marlin.drm.actiontoken+xml
+application/vnd.marlin.drm.conftoken+xml
+application/vnd.marlin.drm.mdcf
+application/vnd.mcd mcd
+application/vnd.medcalcdata mc1
+application/vnd.mediastation.cdkey cdkey
+application/vnd.meridian-slingshot
+application/vnd.mfer mwf
+application/vnd.mfmp mfm
+application/vnd.micrografx.flo flo
+application/vnd.micrografx.igx igx
+application/vnd.mif mif
+application/vnd.minisoft-hp3000-save
+application/vnd.mitsubishi.misty-guard.trustweb
+application/vnd.mobius.daf daf
+application/vnd.mobius.dis dis
+application/vnd.mobius.mbk mbk
+application/vnd.mobius.mqy mqy
+application/vnd.mobius.msl msl
+application/vnd.mobius.plc plc
+application/vnd.mobius.txf txf
+application/vnd.mophun.application mpn
+application/vnd.mophun.certificate mpc
+application/vnd.motorola.flexsuite
+application/vnd.motorola.flexsuite.adsi
+application/vnd.motorola.flexsuite.fis
+application/vnd.motorola.flexsuite.gotap
+application/vnd.motorola.flexsuite.kmr
+application/vnd.motorola.flexsuite.ttc
+application/vnd.motorola.flexsuite.wem
+application/vnd.mozilla.xul+xml xul
+application/vnd.ms-artgalry cil
+application/vnd.ms-asf asf
+application/vnd.ms-cab-compressed cab
+application/vnd.ms-excel xls xlm xla xlc xlt xlw
+application/vnd.ms-fontobject eot
+application/vnd.ms-htmlhelp chm
+application/vnd.ms-ims ims
+application/vnd.ms-lrm lrm
+application/vnd.ms-playready.initiator+xml
+application/vnd.ms-powerpoint ppt pps pot
+application/vnd.ms-project mpp mpt
+application/vnd.ms-tnef
+application/vnd.ms-wmdrm.lic-chlg-req
+application/vnd.ms-wmdrm.lic-resp
+application/vnd.ms-wmdrm.meter-chlg-req
+application/vnd.ms-wmdrm.meter-resp
+application/vnd.ms-works wps wks wcm wdb
+application/vnd.ms-wpl wpl
+application/vnd.ms-xpsdocument xps
+application/vnd.mseq mseq
+application/vnd.msign
+application/vnd.music-niff
+application/vnd.musician mus
+application/vnd.ncd.control
+application/vnd.nervana
+application/vnd.netfpx
+application/vnd.neurolanguage.nlu nlu
+application/vnd.noblenet-directory nnd
+application/vnd.noblenet-sealer nns
+application/vnd.noblenet-web nnw
+application/vnd.nokia.catalogs
+application/vnd.nokia.conml+wbxml
+application/vnd.nokia.conml+xml
+application/vnd.nokia.isds-radio-presets
+application/vnd.nokia.iptv.config+xml
+application/vnd.nokia.landmark+wbxml
+application/vnd.nokia.landmark+xml
+application/vnd.nokia.landmarkcollection+xml
+application/vnd.nokia.n-gage.ac+xml
+application/vnd.nokia.n-gage.data ngdat
+application/vnd.nokia.n-gage.symbian.install n-gage
+application/vnd.nokia.ncd
+application/vnd.nokia.pcd+wbxml
+application/vnd.nokia.pcd+xml
+application/vnd.nokia.radio-preset rpst
+application/vnd.nokia.radio-presets rpss
+application/vnd.novadigm.edm edm
+application/vnd.novadigm.edx edx
+application/vnd.novadigm.ext ext
+application/vnd.oasis.opendocument.chart odc
+application/vnd.oasis.opendocument.chart-template otc
+application/vnd.oasis.opendocument.formula odf
+application/vnd.oasis.opendocument.formula-template otf
+application/vnd.oasis.opendocument.graphics odg
+application/vnd.oasis.opendocument.graphics-template otg
+application/vnd.oasis.opendocument.image odi
+application/vnd.oasis.opendocument.image-template oti
+application/vnd.oasis.opendocument.presentation odp
+application/vnd.oasis.opendocument.presentation-template otp
+application/vnd.oasis.opendocument.spreadsheet ods
+application/vnd.oasis.opendocument.spreadsheet-template ots
+application/vnd.oasis.opendocument.text odt
+application/vnd.oasis.opendocument.text-master otm
+application/vnd.oasis.opendocument.text-template ott
+application/vnd.oasis.opendocument.text-web oth
+application/vnd.obn
+application/vnd.olpc-sugar xo
+application/vnd.oma-scws-config
+application/vnd.oma-scws-http-request
+application/vnd.oma-scws-http-response
+application/vnd.oma.bcast.associated-procedure-parameter+xml
+application/vnd.oma.bcast.drm-trigger+xml
+application/vnd.oma.bcast.imd+xml
+application/vnd.oma.bcast.notification+xml
+application/vnd.oma.bcast.sgboot
+application/vnd.oma.bcast.sgdd+xml
+application/vnd.oma.bcast.sgdu
+application/vnd.oma.bcast.simple-symbol-container
+application/vnd.oma.bcast.smartcard-trigger+xml
+application/vnd.oma.bcast.sprov+xml
+application/vnd.oma.dd2+xml dd2
+application/vnd.oma.drm.risd+xml
+application/vnd.oma.group-usage-list+xml
+application/vnd.oma.poc.groups+xml
+application/vnd.oma.xcap-directory+xml
+application/vnd.omads-email+xml
+application/vnd.omads-file+xml
+application/vnd.omads-folder+xml
+application/vnd.omaloc-supl-init
+application/vnd.openofficeorg.extension oxt
+application/vnd.osa.netdeploy
+application/vnd.osgi.dp dp
+application/vnd.otps.ct-kip+xml
+application/vnd.palm prc pdb pqa oprc
+application/vnd.paos.xml
+application/vnd.pg.format str
+application/vnd.pg.osasli ei6
+application/vnd.piaccess.application-licence
+application/vnd.picsel efif
+application/vnd.poc.group-advertisement+xml
+application/vnd.pocketlearn plf
+application/vnd.powerbuilder6 pbd
+application/vnd.powerbuilder6-s
+application/vnd.powerbuilder7
+application/vnd.powerbuilder7-s
+application/vnd.powerbuilder75
+application/vnd.powerbuilder75-s
+application/vnd.preminet
+application/vnd.previewsystems.box box
+application/vnd.proteus.magazine mgz
+application/vnd.publishare-delta-tree qps
+application/vnd.pvi.ptid1 ptid
+application/vnd.pwg-multiplexed
+application/vnd.pwg-xhtml-print+xml
+application/vnd.qualcomm.brew-app-res
+application/vnd.quark.quarkxpress qxd qxt qwd qwt qxl qxb
+application/vnd.rapid
+application/vnd.recordare.musicxml mxl
+application/vnd.recordare.musicxml+xml
+application/vnd.renlearn.rlprint
+application/vnd.rn-realmedia rm
+application/vnd.ruckus.download
+application/vnd.s3sms
+application/vnd.scribus
+application/vnd.sealed.3df
+application/vnd.sealed.csf
+application/vnd.sealed.doc
+application/vnd.sealed.eml
+application/vnd.sealed.mht
+application/vnd.sealed.net
+application/vnd.sealed.ppt
+application/vnd.sealed.tiff
+application/vnd.sealed.xls
+application/vnd.sealedmedia.softseal.html
+application/vnd.sealedmedia.softseal.pdf
+application/vnd.seemail see
+application/vnd.sema sema
+application/vnd.semd semd
+application/vnd.semf semf
+application/vnd.shana.informed.formdata ifm
+application/vnd.shana.informed.formtemplate itp
+application/vnd.shana.informed.interchange iif
+application/vnd.shana.informed.package ipk
+application/vnd.simtech-mindmapper twd twds
+application/vnd.smaf mmf
+application/vnd.solent.sdkm+xml sdkm sdkd
+application/vnd.spotfire.dxp dxp
+application/vnd.spotfire.sfs sfs
+application/vnd.sss-cod
+application/vnd.sss-dtf
+application/vnd.sss-ntf
+application/vnd.street-stream
+application/vnd.sun.wadl+xml
+application/vnd.sus-calendar sus susp
+application/vnd.svd svd
+application/vnd.swiftview-ics
+application/vnd.syncml+xml xsm
+application/vnd.syncml.dm+wbxml bdm
+application/vnd.syncml.dm+xml xdm
+application/vnd.syncml.ds.notification
+application/vnd.tao.intent-module-archive tao
+application/vnd.tmobile-livetv tmo
+application/vnd.trid.tpt tpt
+application/vnd.triscape.mxs mxs
+application/vnd.trueapp tra
+application/vnd.truedoc
+application/vnd.ufdl ufd ufdl
+application/vnd.uiq.theme utz
+application/vnd.umajin umj
+application/vnd.unity unityweb
+application/vnd.uoml+xml uoml
+application/vnd.uplanet.alert
+application/vnd.uplanet.alert-wbxml
+application/vnd.uplanet.bearer-choice
+application/vnd.uplanet.bearer-choice-wbxml
+application/vnd.uplanet.cacheop
+application/vnd.uplanet.cacheop-wbxml
+application/vnd.uplanet.channel
+application/vnd.uplanet.channel-wbxml
+application/vnd.uplanet.list
+application/vnd.uplanet.list-wbxml
+application/vnd.uplanet.listcmd
+application/vnd.uplanet.listcmd-wbxml
+application/vnd.uplanet.signal
+application/vnd.vcx vcx
+application/vnd.vd-study
+application/vnd.vectorworks
+application/vnd.vidsoft.vidconference
+application/vnd.visio vsd vst vss vsw
+application/vnd.visionary vis
+application/vnd.vividence.scriptfile
+application/vnd.vsf vsf
+application/vnd.wap.sic
+application/vnd.wap.slc
+application/vnd.wap.wbxml wbxml
+application/vnd.wap.wmlc wmlc
+application/vnd.wap.wmlscriptc wmlsc
+application/vnd.webturbo wtb
+application/vnd.wfa.wsc
+application/vnd.wordperfect wpd
+application/vnd.wqd wqd
+application/vnd.wrq-hp3000-labelled
+application/vnd.wt.stf stf
+application/vnd.wv.csp+wbxml
+application/vnd.wv.csp+xml
+application/vnd.wv.ssp+xml
+application/vnd.xara xar
+application/vnd.xfdl xfdl
+application/vnd.xmpie.cpkg
+application/vnd.xmpie.dpkg
+application/vnd.xmpie.plan
+application/vnd.xmpie.ppkg
+application/vnd.xmpie.xlim
+application/vnd.yamaha.hv-dic hvd
+application/vnd.yamaha.hv-script hvs
+application/vnd.yamaha.hv-voice hvp
+application/vnd.yamaha.smaf-audio saf
+application/vnd.yamaha.smaf-phrase spf
+application/vnd.yellowriver-custom-menu cmp
+application/vnd.zzazz.deck+xml zaz
+application/voicexml+xml vxml
+application/watcherinfo+xml
+application/whoispp-query
+application/whoispp-response
+application/winhlp hlp
+application/wita
+application/wordperfect5.1
+application/wsdl+xml wsdl
+application/wspolicy+xml wspolicy
+application/x-ace-compressed ace
+application/x-bcpio bcpio
+application/x-bittorrent torrent
+application/x-bzip bz
+application/x-bzip2 bz2 boz
+application/x-cdlink vcd
+application/x-chat chat
+application/x-chess-pgn pgn
+application/x-compress
+application/x-cpio cpio
+application/x-csh csh
+application/x-director dcr dir dxr fgd
+application/x-dvi dvi
+application/x-futuresplash spl
+application/x-gtar gtar
+application/x-gzip
+application/x-hdf hdf
+application/x-latex latex
+application/x-ms-wmd wmd
+application/x-ms-wmz wmz
+application/x-msaccess mdb
+application/x-msbinder obd
+application/x-mscardfile crd
+application/x-msclip clp
+application/x-msdownload exe dll com bat msi
+application/x-msmediaview mvb m13 m14
+application/x-msmetafile wmf
+application/x-msmoney mny
+application/x-mspublisher pub
+application/x-msschedule scd
+application/x-msterminal trm
+application/x-mswrite wri
+application/x-netcdf nc cdf
+application/x-pkcs12 p12 pfx
+application/x-pkcs7-certificates p7b spc
+application/x-pkcs7-certreqresp p7r
+application/x-rar-compressed rar
+application/x-sh sh
+application/x-shar shar
+application/x-shockwave-flash swf
+application/x-stuffit sit
+application/x-stuffitx sitx
+application/x-sv4cpio sv4cpio
+application/x-sv4crc sv4crc
+application/x-tar tar
+application/x-tcl tcl
+application/x-tex tex
+application/x-texinfo texinfo texi
+application/x-ustar ustar
+application/x-wais-source src
+application/x-x509-ca-cert der crt
+application/x400-bp
+application/xcap-att+xml
+application/xcap-caps+xml
+application/xcap-el+xml
+application/xcap-error+xml
+application/xcap-ns+xml
+application/xenc+xml xenc
+application/xhtml+xml xhtml xht
+application/xml xml xsl
+application/xml-dtd dtd
+application/xml-external-parsed-entity
+application/xmpp+xml
+application/xop+xml xop
+application/xslt+xml xslt
+application/xspf+xml xspf
+application/xv+xml mxml xhvml xvml xvm
+application/zip zip
+audio/32kadpcm
+audio/3gpp
+audio/3gpp2
+audio/ac3
+audio/amr
+audio/amr-wb
+audio/amr-wb+
+audio/asc
+audio/basic au snd
+audio/bv16
+audio/bv32
+audio/clearmode
+audio/cn
+audio/dat12
+audio/dls
+audio/dsr-es201108
+audio/dsr-es202050
+audio/dsr-es202211
+audio/dsr-es202212
+audio/dvi4
+audio/eac3
+audio/evrc
+audio/evrc-qcp
+audio/evrc0
+audio/evrc1
+audio/evrcb
+audio/evrcb0
+audio/evrcb1
+audio/g722
+audio/g7221
+audio/g723
+audio/g726-16
+audio/g726-24
+audio/g726-32
+audio/g726-40
+audio/g728
+audio/g729
+audio/g7291
+audio/g729d
+audio/g729e
+audio/gsm
+audio/gsm-efr
+audio/ilbc
+audio/l16
+audio/l20
+audio/l24
+audio/l8
+audio/lpc
+audio/midi mid midi kar rmi
+audio/mobile-xmf
+audio/mp4 mp4a
+audio/mp4a-latm
+audio/mpa
+audio/mpa-robust
+audio/mpeg mpga mp2 mp2a mp3 m2a m3a
+audio/mpeg4-generic
+audio/parityfec
+audio/pcma
+audio/pcmu
+audio/prs.sid
+audio/qcelp
+audio/red
+audio/rtp-enc-aescm128
+audio/rtp-midi
+audio/rtx
+audio/smv
+audio/smv0
+audio/smv-qcp
+audio/sp-midi
+audio/t140c
+audio/t38
+audio/telephone-event
+audio/tone
+audio/vdvi
+audio/vmr-wb
+audio/vnd.3gpp.iufp
+audio/vnd.4sb
+audio/vnd.audiokoz
+audio/vnd.celp
+audio/vnd.cisco.nse
+audio/vnd.cmles.radio-events
+audio/vnd.cns.anp1
+audio/vnd.cns.inf1
+audio/vnd.digital-winds eol
+audio/vnd.dlna.adts
+audio/vnd.dolby.mlp
+audio/vnd.everad.plj
+audio/vnd.hns.audio
+audio/vnd.lucent.voice lvp
+audio/vnd.nokia.mobile-xmf
+audio/vnd.nortel.vbk
+audio/vnd.nuera.ecelp4800 ecelp4800
+audio/vnd.nuera.ecelp7470 ecelp7470
+audio/vnd.nuera.ecelp9600 ecelp9600
+audio/vnd.octel.sbc
+audio/vnd.qcelp
+audio/vnd.rhetorex.32kadpcm
+audio/vnd.sealedmedia.softseal.mpeg
+audio/vnd.vmx.cvsd
+audio/wav wav
+audio/x-aiff aif aiff aifc
+audio/x-mpegurl m3u
+audio/x-ms-wax wax
+audio/x-ms-wma wma
+audio/x-pn-realaudio ram ra
+audio/x-pn-realaudio-plugin rmp
+audio/x-wav wav
+chemical/x-cdx cdx
+chemical/x-cif cif
+chemical/x-cmdf cmdf
+chemical/x-cml cml
+chemical/x-csml csml
+chemical/x-pdb pdb
+chemical/x-xyz xyz
+image/bmp bmp
+image/cgm cgm
+image/fits
+image/g3fax g3
+image/gif gif
+image/ief ief
+image/jp2
+image/jpeg jpeg jpg jpe
+image/jpm
+image/jpx
+image/naplps
+image/png png
+image/prs.btif btif
+image/prs.pti
+image/svg+xml svg svgz
+image/t38
+image/tiff tiff tif
+image/tiff-fx
+image/vnd.adobe.photoshop psd
+image/vnd.cns.inf2
+image/vnd.djvu djvu djv
+image/vnd.dwg dwg
+image/vnd.dxf dxf
+image/vnd.fastbidsheet fbs
+image/vnd.fpx fpx
+image/vnd.fst fst
+image/vnd.fujixerox.edmics-mmr mmr
+image/vnd.fujixerox.edmics-rlc rlc
+image/vnd.globalgraphics.pgb
+image/vnd.microsoft.icon ico
+image/vnd.mix
+image/vnd.ms-modi mdi
+image/vnd.net-fpx npx
+image/vnd.sealed.png
+image/vnd.sealedmedia.softseal.gif
+image/vnd.sealedmedia.softseal.jpg
+image/vnd.svf
+image/vnd.wap.wbmp wbmp
+image/vnd.xiff xif
+image/x-cmu-raster ras
+image/x-cmx cmx
+image/x-icon
+image/x-pcx pcx
+image/x-pict pic pct
+image/x-portable-anymap pnm
+image/x-portable-bitmap pbm
+image/x-portable-graymap pgm
+image/x-portable-pixmap ppm
+image/x-rgb rgb
+image/x-xbitmap xbm
+image/x-xpixmap xpm
+image/x-xwindowdump xwd
+message/cpim
+message/delivery-status
+message/disposition-notification
+message/external-body
+message/http
+message/news
+message/partial
+message/rfc822 eml mime
+message/s-http
+message/sip
+message/sipfrag
+message/tracking-status
+model/iges igs iges
+model/mesh msh mesh silo
+model/vnd.dwf dwf
+model/vnd.flatland.3dml
+model/vnd.gdl gdl
+model/vnd.gs.gdl
+model/vnd.gtw gtw
+model/vnd.moml+xml
+model/vnd.mts mts
+model/vnd.parasolid.transmit.binary
+model/vnd.parasolid.transmit.text
+model/vnd.vtu vtu
+model/vrml wrl vrml
+multipart/alternative
+multipart/appledouble
+multipart/byteranges
+multipart/digest
+multipart/encrypted
+multipart/form-data
+multipart/header-set
+multipart/mixed
+multipart/parallel
+multipart/related
+multipart/report
+multipart/signed
+multipart/voice-message
+text/calendar ics ifb
+text/css css
+text/csv csv
+text/directory
+text/dns
+text/enriched
+text/html html htm
+text/parityfec
+text/plain txt text conf def list log in
+text/prs.fallenstein.rst
+text/prs.lines.tag dsc
+text/red
+text/rfc822-headers
+text/richtext rtx
+text/rtf
+text/rtp-enc-aescm128
+text/rtx
+text/sgml sgml sgm
+text/t140
+text/tab-separated-values tsv
+text/troff t tr roff man me ms
+text/uri-list uri uris urls
+text/vnd.abc
+text/vnd.curl
+text/vnd.dmclientscript
+text/vnd.esmertec.theme-descriptor
+text/vnd.fly fly
+text/vnd.fmi.flexstor flx
+text/vnd.in3d.3dml 3dml
+text/vnd.in3d.spot spot
+text/vnd.iptc.newsml
+text/vnd.iptc.nitf
+text/vnd.latex-z
+text/vnd.motorola.reflex
+text/vnd.ms-mediapackage
+text/vnd.net2phone.commcenter.command
+text/vnd.sun.j2me.app-descriptor jad
+text/vnd.trolltech.linguist
+text/vnd.wap.si
+text/vnd.wap.sl
+text/vnd.wap.wml wml
+text/vnd.wap.wmlscript wmls
+text/x-asm s asm
+text/x-c c cc cxx cpp h hh dic
+text/x-fortran f for f77 f90
+text/x-pascal p pas
+text/x-java-source java
+text/x-setext etx
+text/x-uuencode uu
+text/x-vcalendar vcs
+text/x-vcard vcf
+text/xml
+text/xml-external-parsed-entity
+video/3gpp 3gp
+video/3gpp-tt
+video/3gpp2 3g2
+video/bmpeg
+video/bt656
+video/celb
+video/dv
+video/h261 h261
+video/h263 h263
+video/h263-1998
+video/h263-2000
+video/h264 h264
+video/jpeg jpgv
+video/jpm jpm jpgm
+video/mj2 mj2 mjp2
+video/mp1s
+video/mp2p
+video/mp2t
+video/mp4 mp4 mp4v mpg4
+video/mp4v-es
+video/mpeg mpeg mpg mpe m1v m2v
+video/mpeg4-generic
+video/mpv
+video/nv
+video/parityfec
+video/pointer
+video/quicktime qt mov
+video/raw
+video/rtp-enc-aescm128
+video/rtx
+video/smpte292m
+video/vc1
+video/vnd.dlna.mpeg-tts
+video/vnd.fvt fvt
+video/vnd.hns.video
+video/vnd.motorola.video
+video/vnd.motorola.videop
+video/vnd.mpegurl mxu m4u
+video/vnd.nokia.interleaved-multimedia
+video/vnd.nokia.videovoip
+video/vnd.objectvideo
+video/vnd.sealed.mpeg1
+video/vnd.sealed.mpeg4
+video/vnd.sealed.swf
+video/vnd.sealedmedia.softseal.mov
+video/vnd.vivo viv
+video/x-fli fli
+video/x-ms-asf asf asx
+video/x-ms-wm wm
+video/x-ms-wmv wmv
+video/x-ms-wmx wmx
+video/x-ms-wvx wvx
+video/x-msvideo avi
+video/x-sgi-movie movie
+x-conference/x-cooltalk ice
--- /dev/null
+From: "${voicemail_caller_id_name}" <${voicemail_caller_id_number}@${voicemail_domain}>
+To: <${voicemail_notify_email}>
+Subject: Voicemail from "${voicemail_caller_id_name}" <${voicemail_caller_id_number}> ${voicemail_message_len}
+X-Priority: ${voicemail_priority}
+X-Mailer: FreeSWITCH
+
+Content-Type: multipart/alternative;
+ boundary="000XXX000"
+
+--000XXX000
+Content-Type: text/plain; charset=ISO-8859-1; Format=Flowed
+Content-Disposition: inline
+Content-Transfer-Encoding: 7bit
+
+Created: ${voicemail_time}
+From: "${voicemail_caller_id_name}" <${voicemail_caller_id_number}>
+Duration: ${voicemail_message_len}
+Account: ${voicemail_account}@${voicemail_domain}
+
+--000XXX000
+Content-Type: text/html; charset=ISO-8859-1
+Content-Disposition: inline
+Content-Transfer-Encoding: 7bit
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Voicemail from "${voicemail_caller_id_name}" <${voicemail_caller_id_number}> ${voicemail_message_len}</title>
+<meta content="text/html; charset=iso-8859-1" http-equiv="content-type"/>
+</head>
+<body>
+
+<font face=arial>
+<b>Message From "${voicemail_caller_id_name}" <A HREF="tel:${voicemail_caller_id_number}">${voicemail_caller_id_number}</A></b><br>
+<hr noshade size=1>
+Created: ${voicemail_time}<br>
+Duration: ${voicemail_message_len}<br>
+Account: ${voicemail_account}@${voicemail_domain}<br>
+
+</body>
+</html>
+--000XXX000--
--- /dev/null
+[span wanpipe]
+name => OpenZAP
+number => 1
+fxs-channel => 1:3-4
+
+[span wanpipe]
+fxo-channel => 1:1-2
+
+[span zt]
+name => OpenZAP
+number => 2
+fxs-channel => 1
+
+[span zt]
+name => OpenZAP
+number => 2
+fxo-channel => 3
+
+
--- /dev/null
+<!-- http://wiki.freeswitch.org/wiki/Sofia_Configuration_Files -->
+<profile name="external">
+ <!-- This profile is only for outbound registrations to providers -->
+ <gateways>
+ <X-PRE-PROCESS cmd="include" data="external/*.xml"/>
+ </gateways>
+
+ <aliases>
+ <alias name="default"/>
+ </aliases>
+
+ <domains>
+ <domain name="all" alias="false" parse="true"/>
+ </domains>
+
+ <settings>
+ <param name="debug" value="0"/>
+ <param name="sip-trace" value="no"/>
+ <param name="rfc2833-pt" value="101"/>
+ <param name="sip-port" value="5060"/>
+ <param name="dialplan" value="XML"/>
+ <param name="context" value="public"/>
+ <param name="dtmf-duration" value="100"/>
+ <param name="codec-prefs" value="$${outbound_codec_prefs}"/>
+ <param name="hold-music" value="$${hold_music}"/>
+ <param name="use-rtp-timer" value="true"/>
+ <param name="rtp-timer-name" value="soft"/>
+ <!--<param name="enable-100rel" value="true"/>-->
+ <!-- This could be set to "passive" -->
+ <param name="manage-presence" value="passive"/>
+
+ <!-- used to share presence info across sofia profiles
+ manage-presence needs to be set to passive on this profile
+ if you want it to behave as if it were the internal profile
+ for presence.
+ -->
+ <!-- Name of the db to use for this profile -->
+ <param name="dbname" value="$${domain}"/>
+ <param name="presence-hosts" value="$${domain}"/>
+ <param name="force-register-domain" value="$${domain}"/>
+ <!--all inbound reg will stored in the db using this domain -->
+ <param name="force-register-db-domain" value="$${domain}"/>
+ <!-- ************************************************* -->
+
+ <!--<param name="aggressive-nat-detection" value="true"/>-->
+ <param name="inbound-codec-negotiation" value="generous"/>
+ <param name="nonce-ttl" value="60"/>
+ <param name="auth-calls" value="false"/>
+ <param name="rtp-timeout-sec" value="1800"/>
+ <!--
+ DO NOT USE HOSTNAMES, ONLY IP ADDRESSES IN THESE SETTINGS!
+ -->
+ <param name="rtp-ip" value="$${local_ip_v4}"/>
+ <param name="sip-ip" value="$${local_ip_v4}"/>
+ <param name="ext-rtp-ip" value="$${local_ip_v4}"/>
+ <param name="ext-sip-ip" value="$${local_ip_v4}"/>
+ <param name="rtp-timeout-sec" value="300"/>
+ <param name="rtp-hold-timeout-sec" value="1800"/>
+ <!--<param name="enable-3pcc" value="true"/>-->
+
+ <!-- TLS: disabled by default, set to "true" to enable -->
+ <param name="tls" value="$${external_ssl_enable}"/>
+ <!-- additional bind parameters for TLS -->
+ <param name="tls-bind-params" value="transport=tls"/>
+ <!-- Port to listen on for TLS requests. (5081 will be used if unspecified) -->
+ <param name="tls-sip-port" value="$${external_tls_port}"/>
+ <!-- Location of the agent.pem and cafile.pem ssl certificates (needed for TLS server) -->
+ <param name="tls-cert-dir" value="$${external_ssl_dir}"/>
+ <!-- TLS version ("sslv23" (default), "tlsv1"). NOTE: Phones may not work with TLSv1 -->
+ <param name="tls-version" value="$${sip_tls_version}"/>
+
+ </settings>
+</profile>
--- /dev/null
+<include>
+ <!--<gateway name="asterlink.com">-->
+ <!--/// account username *required* ///-->
+ <!--<param name="username" value="cluecon"/>-->
+ <!--/// auth realm: *optional* same as gateway name, if blank ///-->
+ <!--<param name="realm" value="asterlink.com"/>-->
+ <!--/// username to use in from: *optional* same as username, if blank ///-->
+ <!--<param name="from-user" value="cluecon"/>-->
+ <!--/// domain to use in from: *optional* same as realm, if blank ///-->
+ <!--<param name="from-domain" value="asterlink.com"/>-->
+ <!--/// account password *required* ///-->
+ <!--<param name="password" value="2007"/>-->
+ <!--/// extension for inbound calls: *optional* same as username, if blank ///-->
+ <!--<param name="extension" value="cluecon"/>-->
+ <!--/// proxy host: *optional* same as realm, if blank ///-->
+ <!--<param name="proxy" value="asterlink.com"/>-->
+ <!--/// send register to this proxy: *optional* same as proxy, if blank ///-->
+ <!--<param name="register-proxy" value="mysbc.com"/>-->
+ <!--/// expire in seconds: *optional* 3600, if blank ///-->
+ <!--<param name="expire-seconds" value="60"/>-->
+ <!--/// do not register ///-->
+ <!--<param name="register" value="false"/>-->
+ <!-- which transport to use for register -->
+ <!--<param name="register-transport" value="udp"/>-->
+ <!--How many seconds before a retry when a failure or timeout occurs -->
+ <!--<param name="retry-seconds" value="30"/>-->
+ <!--Use the callerid of an inbound call in the from field on outbound calls via this gateway -->
+ <!--<param name="caller-id-in-from" value="false"/>-->
+ <!--extra sip params to send in the contact-->
+ <!--<param name="contact-params" value="tport=tcp"/>-->
+ <!--send an options ping every x seconds, failure will unregister and/or mark it down-->
+ <!--<param name="ping" value="25"/>-->
+ <!--</gateway>-->
+</include>
--- /dev/null
+<!--
+ This is an example of a sofia profile setup to listen on IPv6.
+-->
+<!-- http://wiki.freeswitch.org/wiki/Sofia_Configuration_Files -->
+<profile name="internal-ipv6">
+ <!--aliases are other names that will work as a valid profile name for this profile-->
+ <settings>
+ <!-- <param name="user-agent-string" value="FreeSWITCH Rocks!"/> -->
+ <param name="debug" value="0"/>
+ <param name="sip-trace" value="no"/>
+ <param name="context" value="public"/>
+ <param name="rfc2833-pt" value="101"/>
+ <!-- port to bind to for sip traffic -->
+ <param name="sip-port" value="$${internal_sip_port}"/>
+ <param name="dialplan" value="XML"/>
+ <param name="dtmf-duration" value="100"/>
+ <param name="codec-prefs" value="$${global_codec_prefs}"/>
+ <param name="use-rtp-timer" value="true"/>
+ <param name="rtp-timer-name" value="soft"/>
+ <!-- ip address to use for rtp -->
+ <param name="rtp-ip" value="$${local_ip_v6}"/>
+ <!-- ip address to bind to -->
+ <param name="sip-ip" value="$${local_ip_v6}"/>
+ <param name="hold-music" value="$${hold_music}"/>
+ <!--<param name="enable-timer" value="false"/>-->
+ <!--<param name="enable-100rel" value="false"/>-->
+ <param name="apply-inbound-acl" value="domains"/>
+ <!--<param name="apply-register-acl" value="domains"/>-->
+ <!--<param name="dtmf-type" value="info"/>-->
+ <param name="record-template" value="$${base_dir}/recordings/${caller_id_number}.${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/>
+ <!--enable to use presence and mwi -->
+ <param name="manage-presence" value="true"/>
+ <!-- This setting is for AAL2 bitpacking on G726 -->
+ <!-- <param name="bitpacking" value="aal2"/> -->
+ <!--max number of open dialogs in proceeding -->
+ <!--<param name="max-proceeding" value="1000"/>-->
+ <!--session timers for all call to expire after the specified seconds -->
+ <!--<param name="session-timeout" value="120"/>-->
+ <!--<param name="multiple-registrations" value="true"/>-->
+ <!--set to 'greedy' if you want your codec list to take precedence -->
+ <param name="inbound-codec-negotiation" value="generous"/>
+ <!-- if you want to send any special bind params of your own -->
+ <!--<param name="bind-params" value="transport=udp"/>-->
+ <!--<param name="unregister-on-options-fail" value="true"/>-->
+
+ <!-- TLS: disabled by default, set to "true" to enable -->
+ <param name="tls" value="$${internal_ssl_enable}"/>
+ <!-- additional bind parameters for TLS -->
+ <param name="tls-bind-params" value="transport=tls"/>
+ <!-- Port to listen on for TLS requests. (5061 will be used if unspecified) -->
+ <param name="tls-sip-port" value="$${internal_tls_port}"/>
+ <!-- Location of the agent.pem and cafile.pem ssl certificates (needed for TLS server) -->
+ <param name="tls-cert-dir" value="$${internal_ssl_dir}"/>
+ <!-- TLS version ("sslv23" (default), "tlsv1"). NOTE: Phones may not work with TLSv1 -->
+ <param name="tls-version" value="$${sip_tls_version}"/>
+
+ <!--If you don't want to pass through timestampes from 1 RTP call to another (on a per call basis with rtp_rewrite_timestamps chanvar)-->
+ <!--<param name="rtp-rewrite-timestamps" value="true"/>-->
+ <!--<param name="pass-rfc2833" value="true"/>-->
+ <!--If you have ODBC support and a working dsn you can use it instead of SQLite-->
+ <!--<param name="odbc-dsn" value="dsn:user:pass"/>-->
+
+ <!--Uncomment to set all inbound calls to no media mode-->
+ <!--<param name="inbound-bypass-media" value="true"/>-->
+
+ <!--Uncomment to set all inbound calls to proxy media mode-->
+ <!--<param name="inbound-proxy-media" value="true"/>-->
+
+ <!--Uncomment to let calls hit the dialplan *before* you decide if the codec is ok-->
+ <!--<param name="inbound-late-negotiation" value="true"/>-->
+
+ <!-- this lets anything register -->
+ <!-- comment the next line and uncomment one or both of the other 2 lines for call authentication -->
+ <!-- <param name="accept-blind-reg" value="true"/> -->
+
+ <!-- accept any authentication without actually checking (not a good feature for most people) -->
+ <!-- <param name="accept-blind-auth" value="true"/> -->
+
+ <!-- suppress CNG on this profile or per call with the 'suppress_cng' variable -->
+ <!-- <param name="suppress-cng" value="true"/> -->
+
+ <!--TTL for nonce in sip auth-->
+ <param name="nonce-ttl" value="60"/>
+ <!--Uncomment if you want to force the outbound leg of a bridge to only offer the codec
+ that the originator is using-->
+ <!--<param name="disable-transcoding" value="true"/>-->
+ <!-- Used for when phones respond to a challenged ACK with method INVITE in the hash -->
+ <!--<param name="NDLB-broken-auth-hash" value="true"/>-->
+ <!-- add a ;received="<ip>:<port>" to the contact when replying to register for nat handling -->
+ <!--<param name="NDLB-received-in-nat-reg-contact" value="true"/>-->
+ <param name="auth-calls" value="$${internal_auth_calls}"/>
+ <!-- on authed calls, authenticate *all* the packets not just invite -->
+ <param name="auth-all-packets" value="false"/>
+ <!-- <param name="ext-rtp-ip" value="$${external_rtp_ip}"/> -->
+ <!-- <param name="ext-sip-ip" value="$${external_sip_ip}"/> -->
+ <!-- rtp inactivity timeout -->
+ <param name="rtp-timeout-sec" value="300"/>
+ <param name="rtp-hold-timeout-sec" value="1800"/>
+ <!-- VAD choose one (out is a good choice); -->
+ <!-- <param name="vad" value="in"/> -->
+ <!-- <param name="vad" value="out"/> -->
+ <!-- <param name="vad" value="both"/> -->
+ <!--<param name="alias" value="sip:10.0.1.251:5555"/>-->
+ <!--all inbound reg will look in this domain for the users -->
+ <!--<param name="force-register-domain" value="$${domain}"/>-->
+ <!--all inbound reg will stored in the db using this domain -->
+ <!--<param name="force-register-db-domain" value="$${domain}"/>-->
+ <!-- disable register and transfer which may be undesirable in a public switch -->
+ <!--<param name="disable-transfer" value="true"/>-->
+ <!--<param name="disable-register" value="true"/>-->
+ <!--<param name="enable-3pcc" value="true"/>-->
+ <!-- use stun when specified (default is true) -->
+ <!--<param name="stun-enabled" value="true"/>-->
+ <!-- use stun when specified (default is true) -->
+ <!-- set to true to have the profile determine stun is not useful and turn it off globally-->
+ <!--<param name="stun-auto-disable" value="true"/>-->
+
+ <!-- TLS: disabled by default, set to "true" to enable -->
+ <param name="tls" value="$${internal_ssl_enable}"/>
+ <!-- additional bind parameters for TLS -->
+ <param name="tls-bind-params" value="transport=tls"/>
+ <!-- Port to listen on for TLS requests. (5061 will be used if unspecified) -->
+ <param name="tls-sip-port" value="$${internal_tls_port}"/>
+ <!-- Location of the agent.pem and cafile.pem ssl certificates (needed for TLS server) -->
+ <param name="tls-cert-dir" value="$${internal_ssl_dir}"/>
+ <!-- TLS version ("sslv23" (default), "tlsv1"). NOTE: Phones may not work with TLSv1 -->
+ <param name="tls-version" value="$${sip_tls_version}"/>
+
+ </settings>
+</profile>
+
--- /dev/null
+<!--
+ This is a sofia sip profile/user agent. This will service exactly one ip and port.
+ In FreeSWITCH you can run multiple sip user agents on their own ip and port.
+
+ When you hear someone say "sofia profile" this is what they are talking about.
+-->
+
+<!-- http://wiki.freeswitch.org/wiki/Sofia_Configuration_Files -->
+<profile name="internal">
+ <!--aliases are other names that will work as a valid profile name for this profile-->
+ <aliases>
+ <alias name="local"/>
+ </aliases>
+
+ <!-- Outbound Registrations -->
+ <gateways>
+ <X-PRE-PROCESS cmd="include" data="internal/*.xml"/>
+ </gateways>
+
+ <domains>
+ <!-- indicator to parse the directory for domains with parse="true" to get gateways-->
+ <!--<domain name="$${domain}" parse="true"/>-->
+ <!-- indicator to parse the directory for domains with parse="true" to get gateways and alias every domain to this profile -->
+ <!--<domain name="all" alias="true" parse="true"/>-->
+ <domain name="all" alias="true" parse="false"/>
+ </domains>
+
+ <settings>
+ <!--
+ When calls are in no media this will bring them back to media
+ when you press the hold button.
+ -->
+ <!--<param name="media-option" value="resume-media-on-hold"/> -->
+ <!--
+ This will allow a call after an attended transfer go back to
+ bypass media after an attended transfer.
+ -->
+ <!--<param name="media-option" value="bypass-media-after-att-xfer"/>-->
+ <!-- <param name="user-agent-string" value="FreeSWITCH Rocks!"/> -->
+ <param name="debug" value="0"/>
+ <param name="sip-trace" value="no"/>
+ <param name="context" value="public"/>
+ <param name="rfc2833-pt" value="101"/>
+ <!-- port to bind to for sip traffic -->
+ <param name="sip-port" value="$${internal_sip_port}"/>
+ <param name="dialplan" value="enum,XML,lcr"/>
+ <param name="dtmf-duration" value="100"/>
+ <param name="codec-prefs" value="$${global_codec_prefs}"/>
+ <param name="use-rtp-timer" value="true"/>
+ <param name="rtp-timer-name" value="soft"/>
+ <!-- ip address to use for rtp, DO NOT USE HOSTNAMES ONLY IP ADDRESSES -->
+ <param name="rtp-ip" value="$${internal_ip_v4}"/>
+ <!-- ip address to bind to, DO NOT USE HOSTNAMES ONLY IP ADDRESSES -->
+ <param name="sip-ip" value="$${internal_ip_v4}"/>
+ <param name="hold-music" value="$${hold_music}"/>
+ <!--<param name="apply-nat-acl" value="rfc1918"/>-->
+ <!--<param name="aggressive-nat-detection" value="true"/>-->
+ <!--<param name="enable-timer" value="false"/>-->
+ <!--<param name="enable-100rel" value="true"/>-->
+ <!--<param name="minimum-session-expires" value="120"/>-->
+ <param name="apply-inbound-acl" value="domains"/>
+ <!--<param name="apply-register-acl" value="domains"/>-->
+ <!--<param name="dtmf-type" value="info"/>-->
+ <param name="record-template" value="$${base_dir}/recordings/${caller_id_number}.${target_domain}.${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/>
+
+
+ <!-- This setting is for AAL2 bitpacking on G726 -->
+ <!-- <param name="bitpacking" value="aal2"/> -->
+ <!--max number of open dialogs in proceeding -->
+ <!--<param name="max-proceeding" value="1000"/>-->
+ <!--session timers for all call to expire after the specified seconds -->
+ <!--<param name="session-timeout" value="120"/>-->
+ <!-- Can be 'true' or 'contact' -->
+ <!--<param name="multiple-registrations" value="contact"/>-->
+ <!--set to 'greedy' if you want your codec list to take precedence -->
+ <param name="inbound-codec-negotiation" value="generous"/>
+ <!-- if you want to send any special bind params of your own -->
+ <!--<param name="bind-params" value="transport=udp"/>-->
+ <!--<param name="unregister-on-options-fail" value="true"/>-->
+
+ <!-- TLS: disabled by default, set to "true" to enable -->
+ <param name="tls" value="$${internal_ssl_enable}"/>
+ <!-- additional bind parameters for TLS -->
+ <param name="tls-bind-params" value="transport=tls"/>
+ <!-- Port to listen on for TLS requests. (5061 will be used if unspecified) -->
+ <param name="tls-sip-port" value="$${internal_tls_port}"/>
+ <!-- Location of the agent.pem and cafile.pem ssl certificates (needed for TLS server) -->
+ <param name="tls-cert-dir" value="$${internal_ssl_dir}"/>
+ <!-- TLS version ("sslv23" (default), "tlsv1"). NOTE: Phones may not work with TLSv1 -->
+ <param name="tls-version" value="$${sip_tls_version}"/>
+
+ <!--If you don't want to pass through timestamps from 1 RTP call to another (on a per call basis with rtp_rewrite_timestamps chanvar)-->
+ <!--<param name="rtp-rewrite-timestamps" value="true"/>-->
+ <!--<param name="pass-rfc2833" value="true"/>-->
+ <!--If you have ODBC support and a working dsn you can use it instead of SQLite-->
+ <!--<param name="odbc-dsn" value="dsn:user:pass"/>-->
+
+ <!--Uncomment to set all inbound calls to no media mode-->
+ <!--<param name="inbound-bypass-media" value="true"/>-->
+
+ <!--Uncomment to set all inbound calls to proxy media mode-->
+ <!--<param name="inbound-proxy-media" value="true"/>-->
+
+ <!--Uncomment to let calls hit the dialplan *before* you decide if the codec is ok-->
+ <!--<param name="inbound-late-negotiation" value="true"/>-->
+
+ <!-- this lets anything register -->
+ <!-- comment the next line and uncomment one or both of the other 2 lines for call authentication -->
+ <!-- <param name="accept-blind-reg" value="true"/> -->
+
+ <!-- accept any authentication without actually checking (not a good feature for most people) -->
+ <!-- <param name="accept-blind-auth" value="true"/> -->
+
+ <!-- suppress CNG on this profile or per call with the 'suppress_cng' variable -->
+ <!-- <param name="suppress-cng" value="true"/> -->
+
+ <!--TTL for nonce in sip auth-->
+ <param name="nonce-ttl" value="60"/>
+ <!--Uncomment if you want to force the outbound leg of a bridge to only offer the codec
+ that the originator is using-->
+ <!--<param name="disable-transcoding" value="true"/>-->
+ <!-- Used for when phones respond to a challenged ACK with method INVITE in the hash -->
+ <!--<param name="NDLB-broken-auth-hash" value="true"/>-->
+ <!-- add a ;received="<ip>:<port>" to the contact when replying to register for nat handling -->
+ <!--<param name="NDLB-received-in-nat-reg-contact" value="true"/>-->
+ <param name="auth-calls" value="$${internal_auth_calls}"/>
+ <!-- Force the user and auth-user to match. -->
+ <param name="inbound-reg-force-matching-username" value="true"/>
+ <!-- on authed calls, authenticate *all* the packets not just invite -->
+ <param name="auth-all-packets" value="false"/>
+ <!-- <param name="ext-rtp-ip" value="$${external_rtp_ip}"/> -->
+ <!-- <param name="ext-sip-ip" value="$${external_sip_ip}"/> -->
+ <!-- rtp inactivity timeout -->
+ <param name="rtp-timeout-sec" value="300"/>
+ <param name="rtp-hold-timeout-sec" value="1800"/>
+ <!-- VAD choose one (out is a good choice); -->
+ <!-- <param name="vad" value="in"/> -->
+ <!-- <param name="vad" value="out"/> -->
+ <!-- <param name="vad" value="both"/> -->
+ <!--<param name="alias" value="sip:10.0.1.251:5555"/>-->
+
+ <!--all inbound reg will look in this domain for the users -->
+ <param name="force-register-domain" value="$${domain}"/>
+ <!--all inbound reg will stored in the db using this domain -->
+ <param name="force-register-db-domain" value="$${domain}"/>
+ <!--enable to use presence -->
+ <param name="manage-presence" value="true"/>
+ <!-- used to share presence info across sofia profiles -->
+ <!-- Name of the db to use for this profile -->
+ <param name="dbname" value="$${domain}"/>
+ <param name="presence-hosts" value="$${domain}"/>
+ <!-- ************************************************* -->
+
+
+ <!--force suscription expires to a lower value than requested-->
+ <!--<param name="force-subscription-expires" value="60"/>-->
+ <!-- disable register and transfer which may be undesirable in a public switch -->
+ <!--<param name="disable-transfer" value="true"/>-->
+ <!--<param name="disable-register" value="true"/>-->
+
+ <!-- enable-3pcc can be set to either 'true' or 'proxy', true accepts the call right away, proxy waits until the call has been answered then sends accepts -->
+ <!--<param name="enable-3pcc" value="true"/>-->
+
+ <!-- use at your own risk or if you know what this does.-->
+ <!--<param name="NDLB-force-rport" value="true"/>-->
+ <!--
+ Choose the realm challenge key. Default is auto_to if not set.
+
+ auto_from - uses the from field as the value for the sip realm.
+ auto_to - uses the to field as the value for the sip realm.
+ <anyvalue> - you can input any value to use for the sip realm.
+
+ If you want URL dialing to work you'll want to set this to auto_from.
+
+ If you use any other value besides auto_to or auto_from you'll loose
+ the ability to do multiple domains.
+
+ Note: comment out to restore the behavior before 2008-09-29
+
+ -->
+ <param name="challenge-realm" value="auto_from"/>
+ <!--<param name="disable-rtp-auto-adjust" value="true"/>-->
+ <!-- on inbound calls make the uuid of the session equal to the sip call id of that call -->
+ <!--<param name="inbound-use-callid-as-uuid" value="true"/>-->
+ <!-- on outbound calls set the callid to match the uuid of the session -->
+ <!--<param name="outbound-use-uuid-as-callid" value="true"/>-->
+ </settings>
+</profile>
+
--- /dev/null
+<include>
+ <!--<gateway name="asterlink.com">-->
+ <!--/// account username *required* ///-->
+ <!--<param name="username" value="cluecon"/>-->
+ <!--/// auth realm: *optional* same as gateway name, if blank ///-->
+ <!--<param name="realm" value="asterlink.com"/>-->
+ <!--/// username to use in from: *optional* same as username, if blank ///-->
+ <!--<param name="from-user" value="cluecon"/>-->
+ <!--/// domain to use in from: *optional* same as realm, if blank ///-->
+ <!--<param name="from-domain" value="asterlink.com"/>-->
+ <!--/// account password *required* ///-->
+ <!--<param name="password" value="2007"/>-->
+ <!--/// extension for inbound calls: *optional* same as username, if blank ///-->
+ <!--<param name="extension" value="cluecon"/>-->
+ <!--/// proxy host: *optional* same as realm, if blank ///-->
+ <!--<param name="proxy" value="asterlink.com"/>-->
+ <!--/// send register to this proxy: *optional* same as proxy, if blank ///-->
+ <!--<param name="register-proxy" value="mysbc.com"/>-->
+ <!--/// expire in seconds: *optional* 3600, if blank ///-->
+ <!--<param name="expire-seconds" value="60"/>-->
+ <!--/// do not register ///-->
+ <!--<param name="register" value="false"/>-->
+ <!-- which transport to use for register -->
+ <!--<param name="register-transport" value="udp"/>-->
+ <!--How many seconds before a retry when a failure or timeout occurs -->
+ <!--<param name="retry-seconds" value="30"/>-->
+ <!--Use the callerid of an inbound call in the from field on outbound calls via this gateway -->
+ <!--<param name="caller-id-in-from" value="false"/>-->
+ <!--extra sip params to send in the contact-->
+ <!--<param name="contact-params" value="tport=tcp"/>-->
+ <!--send an options ping every x seconds, failure will unregister and/or mark it down-->
+ <!--<param name="ping" value="25"/>-->
+ <!--</gateway>-->
+</include>
--- /dev/null
+%(428,0,659,494)
+%(214,0,494,415)
+%(214,0,523,440)
+%(214,0,587,494)
+%(107,0,659,494)
+%(107,0,587,494)
+%(214,0,523,440)
+%(214,0,494,415)
+%(428,0,330,440)
+%(214,0,330,440)
+%(214,0,523,440)
+%(428,0,659,523)
+%(214,0,587,494)
+%(214,0,523,440)
+%(214,0,494,415)
+%(214,0,494,440)
+%(214,0,494,415)
+%(214,0,523,440)
+%(428,0,587,494)
+%(428,0,659,523)
+%(428,0,523,440)
+%(428,0,330,440)
+%(857,0,330,440)
+%(214,0,0,0)
+%(428,0,587,349)
+%(214,0,698,440)
+%(214,0,880,523)
+%(107,0,880,523)
+%(107,0,880,523)
+%(214,0,784,494)
+%(214,0,698,440)
+%(642,0,659,392)
+%(214,0,523,330)
+%(214,0,659,392)
+%(107,0,659,440)
+%(107,0,659,392)
+%(214,0,587,349)
+%(214,0,523,330)
+%(214,0,494,415)
+%(214,0,494,330)
+%(214,0,494,415)
+%(214,0,523,440)
+%(214,0,587,494)
+%(214,0,587,415)
+%(214,0,659,523)
+%(214,0,659,415)
+%(214,0,523,440)
+%(214,0,523,330)
+%(428,0,440,330)
+%(428,0,440,330)
+%(428,0,0,0)
+%(857,0,330,262)
+%(857,0,262,220)
+%(857,0,294,247)
+%(857,0,247,208)
+%(857,0,262,220)
+%(857,0,220,165)
+%(857,0,208,165)
+%(428,0,247,208)
+%(428,0,0,0)
+%(857,0,330,262)
+%(857,0,262,220)
+%(857,0,294,247)
+%(857,0,208,165)
+%(428,0,262,220)
+%(428,0,330,262)
+%(857,0,440,330)
+%(857,0,415,294)
+%(857,0,0,0)
--- /dev/null
+[us]
+generate-dial => v=-7;%(1000,0,350,440)
+detect-dial => 350,440
+
+generate-ring => v=-7;%(2000,4000,440,480)
+detect-ring => 440,480
+
+generate-busy => v=-7;%(500,500,480,620)
+detect-busy => 480,620
+
+generate-attn => v=0;%(100,100,1400,2060,2450,2600)
+detect-attn => 1400,2060,2450,2600
+
+generate-callwaiting-sas => v=0;%(300,0,440)
+detect-callwaiting-sas => 440
+
+generate-callwaiting-cas => v=0;%(80,0,2750,2130)
+detect-callwaiting-cas => 2750,2130
+
+detect-fail1 => 913.8
+detect-fail2 => 1370.6
+detect-fail3 => 776.7
+
+
+
--- /dev/null
+ <!-- Preprocessor Variables
+ These are introduced when configuration strings must be consistent across modules.
+ -->
+ <X-PRE-PROCESS cmd="set" data="sound_prefix=$${base_dir}/sounds/en/us/callie"/>
+ <!--
+ This setting is what sets the default domain FreeSWITCH will use if all else fails.
+
+ FreeSWICH will default to $${local_ip_v4} unless changed. Changing this setting does
+ affect the sip authentication. Please review conf/directory/default.xml for more
+ information on this topic.
+ -->
+
+ <X-PRE-PROCESS cmd="set" data="internal_ip_v4=192.168.86.254"/>
+ <X-PRE-PROCESS cmd="set" data="external_ip_v4=$${local_ip_v4}"/>
+ <X-PRE-PROCESS cmd="set" data="domain=$${domain}"/>
+ <X-PRE-PROCESS cmd="set" data="hold_music=local_stream://moh"/>
+ <!-- xmpp_client_profile and xmpp_server_profile
+ xmpp_client_profile can be any string.
+ xmpp_server_profile is appended to "dingaling_" to form the database name
+ containing the "subscriptions" table.
+ used by: dingaling.conf.xml enum.conf.xml
+ -->
+ <!--
+ Examples of codec options: (module must be compiled and loaded)
+
+ codecname[@8000h|16000h|32000h[@XXi]]
+
+ XX is the frame size must be multples allowed for the codec
+ FreeSWITCH can support 10-120ms on some codecs.
+ We do not support exceeding the MTU of the RTP packet.
+
+
+ iLBC@30i - iLBC using mode=30 which will win in all cases.
+ DVI4@8000h@20i - IMA ADPCM 8kHz using 20ms ptime. (multiples of 10)
+ DVI4@16000h@40i - IMA ADPCM 16kHz using 40ms ptime. (multiples of 10)
+ speex@8000h@20i - Speex 8kHz using 20ms ptime.
+ speex@16000h@20i - Speex 16kHz using 20ms ptime.
+ speex@32000h@20i - Speex 32kHz using 20ms ptime.
+ G7221@16000h - G722.1 16kHz (aka Siren 7)
+ G7221@32000h - G722.1C 32kHz (aka Siren 14)
+ GSM@40i - GSM 8kHz using 40ms ptime. (GSM is done in multiples of 20, Default is 20ms)
+ G722 - G722 16kHz using default 20ms ptime. (multiples of 10)
+ PCMU - G711 8kHz ulaw using default 20ms ptime. (multiples of 10)
+ PCMA - G711 8kHz alaw using default 20ms ptime. (multiples of 10)
+ G726-16 - G726 16kbit adpcm using default 20ms ptime. (multiples of 10)
+ G726-24 - G726 24kbit adpcm using default 20ms ptime. (multiples of 10)
+ G726-32 - G726 32kbit adpcm using default 20ms ptime. (multiples of 10)
+ G726-40 - G726 40kbit adpcm using default 20ms ptime. (multiples of 10)
+ AAL2-G726-16 - Same as G726-16 but using AAL2 packing. (multiples of 10)
+ AAL2-G726-24 - Same as G726-24 but using AAL2 packing. (multiples of 10)
+ AAL2-G726-32 - Same as G726-32 but using AAL2 packing. (multiples of 10)
+ AAL2-G726-40 - Same as G726-40 but using AAL2 packing. (multiples of 10)
+ LPC - LPC10 using 90ms ptime (only supports 90ms at this time in FreeSWITCH)
+ L16 - L16 isn't recommended for VoIP but you can do it. L16 can exceed the MTU rather quickly.
+
+ These are the passthru audio codecs:
+
+ G729 - G729 in passthru mode. (mod_g729)
+ G723 - G723.1 in passthru mode. (mod_g723_1)
+ AMR - AMR in passthru mode. (mod_amr)
+
+ These are the passthru video codecs: (mod_h26x)
+
+ H261 - H.261 Video
+ H263 - H.263 Video
+ H263-1998 - H.263-1998 Video
+ H263-2000 - H.263-2000 Video
+ H264 - H.264 Video
+
+ -->
+ <X-PRE-PROCESS cmd="set" data="global_codec_prefs=G722,PCMU,PCMA,GSM"/>
+ <X-PRE-PROCESS cmd="set" data="outbound_codec_prefs=PCMU,PCMA,GSM"/>
+ <X-PRE-PROCESS cmd="set" data="xmpp_client_profile=xmppc"/>
+ <X-PRE-PROCESS cmd="set" data="xmpp_server_profile=xmpps"/>
+ <!-- bind_server_ip
+ Can be an ip address, a dns name, or "auto".
+ This determines an ip address available on this host to bind.
+ If you are separating RTP and SIP traffic, you will want to have
+ use different addresses where this variable appears.
+ Used by: dingaling.conf.xml
+ -->
+ <X-PRE-PROCESS cmd="set" data="bind_server_ip=auto"/>
+
+ <!-- external_rtp_ip
+ Used as the public IP address for SDP.
+ Can be an ip address or a string like "stun:stun.server.com"
+ If unspecified, the bind_server_ip value is used.
+ Used by: sofia.conf.xml dingaling.conf.xml
+ -->
+ <X-PRE-PROCESS cmd="set" data="external_rtp_ip=stun:stun.freeswitch.org"/>
+
+ <!-- external_sip_ip
+ Used as the public IP address for SDP.
+ Can be an ip address or a string like "stun:stun.server.com"
+ If unspecified, the bind_server_ip value is used.
+ Used by: sofia.conf.xml dingaling.conf.xml
+ -->
+ <X-PRE-PROCESS cmd="set" data="external_sip_ip=stun:stun.freeswitch.org"/>
+
+ <!-- unroll-loops
+ Used to turn on sip loopback unrolling.
+ -->
+ <X-PRE-PROCESS cmd="set" data="unroll_loops=true"/>
+
+ <!-- outbound_caller_id and outbound_caller_name
+ The caller ID telephone number we should use when calling out.
+ Used by: conference.conf.xml and user directory for default
+ outbound callerid name and number.
+ -->
+ <X-PRE-PROCESS cmd="set" data="outbound_caller_name=FreeSWITCH"/>
+ <X-PRE-PROCESS cmd="set" data="outbound_caller_id=0000000000"/>
+
+ <!-- various debug and defaults -->
+ <X-PRE-PROCESS cmd="set" data="call_debug=false"/>
+ <X-PRE-PROCESS cmd="set" data="console_loglevel=info"/>
+ <X-PRE-PROCESS cmd="set" data="default_areacode=918"/>
+ <X-PRE-PROCESS cmd="set" data="default_country=US"/>
+
+ <X-PRE-PROCESS cmd="set" data="uk-ring=%(400,200,400,450);%(400,2200,400,450)"/>
+ <X-PRE-PROCESS cmd="set" data="us-ring=%(2000, 4000, 440.0, 480.0)"/>
+ <X-PRE-PROCESS cmd="set" data="fr-ring=%(1500, 3500, 440.0, 0.0)"/>
+ <X-PRE-PROCESS cmd="set" data="bong-ring=v=-7;%(100,0,941.0,1477.0);v=-7;>=2;+=.1;%(1400,0,350,440)"/>
+ <X-PRE-PROCESS cmd="set" data="sit=%(274,0,913.8);%(274,0,1370.6);%(380,0,1776.7)"/>
+ <!--
+ Setting up your default sip provider is easy.
+ Below are some values that should work in most cases.
+
+ These are for conf/directory/default/example.com.xml
+ -->
+ <X-PRE-PROCESS cmd="set" data="default_provider=example.com"/>
+ <X-PRE-PROCESS cmd="set" data="default_provider_username=joeuser"/>
+ <X-PRE-PROCESS cmd="set" data="default_provider_password=password"/>
+ <X-PRE-PROCESS cmd="set" data="default_provider_from_domain=example.com"/>
+ <!-- true or false -->
+ <X-PRE-PROCESS cmd="set" data="default_provider_register=false"/>
+ <X-PRE-PROCESS cmd="set" data="default_provider_contact=5000"/>
+
+ <!--
+ SIP and TLS settings.
+ -->
+ <X-PRE-PROCESS cmd="set" data="sip_tls_version=tlsv1"/>
+
+ <!-- Internal SIP Profile -->
+ <X-PRE-PROCESS cmd="set" data="internal_auth_calls=true"/>
+ <X-PRE-PROCESS cmd="set" data="internal_sip_port=5060"/>
+ <X-PRE-PROCESS cmd="set" data="internal_tls_port=5061"/>
+ <X-PRE-PROCESS cmd="set" data="internal_ssl_enable=false"/>
+ <X-PRE-PROCESS cmd="set" data="internal_ssl_dir=$${base_dir}/conf/ssl"/>
+
+ <!-- External SIP Profile -->
+ <X-PRE-PROCESS cmd="set" data="external_auth_calls=false"/>
+ <X-PRE-PROCESS cmd="set" data="external_sip_port=5080"/>
+ <X-PRE-PROCESS cmd="set" data="external_tls_port=5081"/>
+ <X-PRE-PROCESS cmd="set" data="external_ssl_enable=false"/>
+ <X-PRE-PROCESS cmd="set" data="external_ssl_dir=$${base_dir}/conf/ssl"/>
--- /dev/null
+From: "${voicemail_caller_id_name}" <${voicemail_caller_id_number}@${voicemail_domain}>
+To: <${voicemail_email}>
+Subject: Voicemail from "${voicemail_caller_id_name}" <${voicemail_caller_id_number}> ${voicemail_message_len}
+X-Priority: ${voicemail_priority}
+X-Mailer: FreeSWITCH
+
+Content-Type: multipart/alternative;
+ boundary="000XXX000"
+
+--000XXX000
+Content-Type: text/plain; charset=ISO-8859-1; Format=Flowed
+Content-Disposition: inline
+Content-Transfer-Encoding: 7bit
+
+Created: ${voicemail_time}
+From: "${voicemail_caller_id_name}" <${voicemail_caller_id_number}>
+Duration: ${voicemail_message_len}
+Account: ${voicemail_account}@${voicemail_domain}
+
+--000XXX000
+Content-Type: text/html; charset=ISO-8859-1
+Content-Disposition: inline
+Content-Transfer-Encoding: 7bit
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Voicemail from "${voicemail_caller_id_name}" <${voicemail_caller_id_number}> ${voicemail_message_len}</title>
+<meta content="text/html; charset=iso-8859-1" http-equiv="content-type"/>
+</head>
+<body>
+
+<font face=arial>
+<b>Message From "${voicemail_caller_id_name}" <A HREF="tel:${voicemail_caller_id_number}">${voicemail_caller_id_number}</A></b><br>
+<hr noshade size=1>
+Created: ${voicemail_time}<br>
+Duration: ${voicemail_message_len}<br>
+Account: ${voicemail_account}@${voicemail_domain}<br>
+
+</body>
+</html>
+--000XXX000--
--- /dev/null
+<title>FreeSWITCH Voicemail</title>
+<body bgcolor=eeeeee>
+
+<table bgcolor=ffffff width=75% align=center style="border-style:inset;border-width:2px">
+<tr><td bgcolor=1010ff align=center valign=center style="border-style:inset;border-width:2px">
+<font face=arial size=+2 color=ffffff>Voicemail Messages</font>
+</td></tr>
+<tr><td>
+
+<!break>
+
+</td></tr>
+</table>
--- /dev/null
+<configuration name="acl.conf" description="Network Lists">
+ <network-lists>
+
+ <list name="dl-candidates" default="allow">
+ <node type="deny" cidr="10.0.0.0/8"/>
+ <node type="deny" cidr="172.16.0.0/12"/>
+ <node type="deny" cidr="192.168.0.0/16"/>
+ </list>
+
+ <list name="rfc1918" default="deny">
+ <node type="allow" cidr="10.0.0.0/8"/>
+ <node type="allow" cidr="172.16.0.0/12"/>
+ <node type="allow" cidr="192.168.0.0/16"/>
+ </list>
+
+ <list name="lan" default="allow">
+ <node type="deny" cidr="192.168.42.0/24"/>
+ <node type="allow" cidr="192.168.42.42/32"/>
+ </list>
+
+ <list name="strict" default="deny">
+ <node type="allow" cidr="208.102.123.124/32"/>
+ </list>
+ <!--
+ This will traverse the directory adding all users
+ with the cidr= tag to this ACL, when this ACL matches
+ the users variables and params apply as if they
+ digest authenticated.
+ -->
+ <list name="domains" default="deny">
+ <node type="allow" domain="$${domain}"/>
+ </list>
+
+ </network-lists>
+</configuration>
+
--- /dev/null
+<configuration name="cdr_csv.conf" description="CDR CSV Format">
+ <settings>
+ <!-- 'cdr-csv' will always be appended to log-base -->
+ <!--<param name="log-base" value="/var/log"/>-->
+ <param name="default-template" value="example"/>
+ <!-- This is like the info app but after the call is hung up -->
+ <!--<param name="debug" value="true"/>-->
+ <param name="rotate-on-hup" value="true"/>
+ <!-- may be a b or ab -->
+ <param name="legs" value="a"/>
+ </settings>
+ <templates>
+ <template name="sql">INSERT INTO cdr VALUES ("${caller_id_name}","${caller_id_number}","${destination_number}","${context}","${start_stamp}","${answer_stamp}","${end_stamp}","${duration}","${billsec}","${hangup_cause}","${uuid}","${bleg_uuid}", "${accountcode}");</template>
+ <template name="example">"${caller_id_name}","${caller_id_number}","${destination_number}","${context}","${start_stamp}","${answer_stamp}","${end_stamp}","${duration}","${billsec}","${hangup_cause}","${uuid}","${bleg_uuid}","${accountcode}","${read_codec}","${write_codec}"</template>
+ <template name="snom">"${caller_id_name}","${caller_id_number}","${destination_number}","${context}","${start_stamp}","${answer_stamp}","${end_stamp}","${duration}","${billsec}","${hangup_cause}","${uuid}","${bleg_uuid}", "${accountcode}","${read_codec}","${write_codec}","${sip_user_agent}","${call_clientcode}","${sip_rtp_rxstat}","${sip_rtp_txstat}","${sofia_record_file}"</template>
+ <template name="linksys">"${caller_id_name}","${caller_id_number}","${destination_number}","${context}","${start_stamp}","${answer_stamp}","${end_stamp}","${duration}","${billsec}","${hangup_cause}","${uuid}","${bleg_uuid}","${accountcode}","${read_codec}","${write_codec}","${sip_user_agent}","${sip_p_rtp_stat}"</template>
+ <template name="asterisk">"${accountcode}","${caller_id_number}","${destination_number}","${context}","${caller_id}","${channel_name}","${bridge_channel}","${last_app}","${last_arg}","${start_stamp}","${answer_stamp}","${end_stamp}","${duration}","${billsec}","${hangup_cause}","${amaflags}","${uuid}","${userfield}"</template>
+ </templates>
+</configuration>
+
--- /dev/null
+<configuration name="console.conf" description="Console Logger">
+ <!-- pick a file name, a function name or 'all' -->
+ <!-- map as many as you need for specific debugging -->
+ <mappings>
+ <!--
+ name can be a file name, function name or 'all'
+ value is one or more of debug,info,notice,warning,err,crit,alert,all
+ See examples below
+
+
+ The following map is the default, which is all debug levels enabled:
+ <map name="all" value="debug,info,notice,warning,err,crit,alert"/>
+
+
+ Example: the following turns on debugging for error and critical levels only
+ <map name="all" value="err,crit"/>
+
+ NOTE: using map name="all" will override any other settings! If you
+ want a more specific set of console messages then you will need
+ to specify which files and/or functions you want to have debug
+ messages. One option is to turn on just the more critical
+ messages with map name="all", then specify the other types of
+ console messages you want to see for various files and functions.
+
+ Example: turn on ERROR, CRIT, ALERT for all modules, then specify other
+ levels for various modules and functions
+
+ <map name="all" value="err,crit,alert"/>
+ <map name="switch_loadable_module_process" value="all"/>
+ <map name="mod_local_stream.c" value="warning,debug"/>
+ <map name="mod_sndfile.c" value="warning,info,debug"/>
+ -->
+ <map name="all" value="console,debug,info,notice,warning,err,crit,alert"/>
+
+ <!--
+ You can use or modify this sample set of mappings. It turns on higher
+ level messages for all modules and then specifies extra lower level
+ messages for OpenZAP, Sofia, and switch core messages.
+
+ <map name="all" value="warning,err,crit,alert"/>
+ <map name="zap_analog.c" value="all"/>
+ <map name="zap_io.c" value="all"/>
+ <map name="zap_isdn.c" value="all"/>
+ <map name="zap_zt.c" value="all"/>
+ <map name="mod_openzap" value="all"/>
+ <map name="sofia.c" value="notice"/>
+ <map name="switch_core_state_machine.c" value="all"/>
+
+ -->
+ </mappings>
+ <settings>
+ <!-- comment or set to false for no color logging -->
+ <param name="colorize" value="true"/>
+ <param name="loglevel" value="$${console_loglevel}"/>
+ </settings>
+</configuration>
--- /dev/null
+<configuration name="enum.conf" description="ENUM Module">
+ <settings>
+ <param name="default-root" value="e164.org"/>
+ <param name="default-isn-root" value="freenum.org"/>
+ <param name="query-timeout" value="10"/>
+ <param name="auto-reload" value="true"/>
+ </settings>
+
+ <routes>
+ <route service="E2U+SIP" regex="sip:(.*)" replace="sofia/${use_profile}/$1"/>
+ <!--<route service="E2U+IAX2" regex="iax2:(.*)" replace="iax/$1"/>-->
+ <!--<route service="E2U+XMPP" regex="XMPP:(.*)" replace="dingaling/$${xmpp_server_profile}/$1"/>-->
+ </routes>
+</configuration>
--- /dev/null
+<configuration name="event_socket.conf" description="Socket Client">
+ <settings>
+ <param name="listen-ip" value="127.0.0.1"/>
+ <param name="listen-port" value="8021"/>
+ <param name="password" value="ClueCon"/>
+ <!--<param name="apply-inbound-acl" value="lan"/>-->
+ </settings>
+</configuration>
--- /dev/null
+<configuration name="limit.conf" description="LIMIT Configuration">
+ <settings>
+ <!--<param name="odbc-dsn" value="dsn:user:pass"/>-->
+ </settings>
+</configuration>
--- /dev/null
+<configuration name="logfile.conf" description="File Logging">
+ <settings>
+ <!-- true to auto rotate on HUP, false to open/close -->
+ <param name="rotate-on-hup" value="true"/>
+ </settings>
+ <profiles>
+ <profile name="default">
+ <settings>
+ <!-- File to log to -->
+ <!--<param name="logfile" value="/var/log/freeswitch.log"/>-->
+ <!-- At this length in bytes rotate the log file (0 for never) -->
+ <!--<param name="rollover" value="10485760"/>-->
+ </settings>
+ <mappings>
+ <!--
+ name can be a file name, function name or 'all'
+ value is one or more of debug,info,notice,warning,err,crit,alert,all
+ Please see comments in console.conf.xml for more information
+ -->
+ <map name="all" value="debug,info,notice,warning,err,crit,alert"/>
+ </mappings>
+ </profile>
+ </profiles>
+</configuration>
--- /dev/null
+<configuration name="modules.conf" description="Modules">
+ <modules>
+
+ <!-- Loggers (I'd load these first) -->
+ <load module="mod_console"/>
+ <load module="mod_logfile"/>
+ <!-- <load module="mod_syslog"/> -->
+
+ <!-- Multi-Faceted -->
+ <!-- mod_enum is a dialplan interface, an application interface and an api command interface -->
+ <load module="mod_enum"/>
+
+ <!-- XML Interfaces -->
+ <!-- <load module="mod_xml_rpc"/> -->
+ <!-- <load module="mod_xml_cdr"/> -->
+
+ <!-- Event Handlers -->
+ <load module="mod_cdr_csv"/>
+ <!-- <load module="mod_event_multicast"/> -->
+ <load module="mod_event_socket"/>
+
+ <!-- Endpoints -->
+ <!-- <load module="mod_iax"/> -->
+ <load module="mod_sofia"/>
+ <load module="mod_loopback"/>
+ <!-- <load module="mod_woomera"/> -->
+
+ <!-- Applications -->
+ <load module="mod_commands"/>
+ <load module="mod_dptools"/>
+ <load module="mod_expr"/>
+ <load module="mod_limit"/>
+
+ <!-- Dialplan Interfaces -->
+ <load module="mod_dialplan_xml"/>
+
+ <!-- Codec Interfaces -->
+ <load module="mod_voipcodecs"/>
+ <load module="mod_g723_1"/>
+ <load module="mod_g729"/>
+ <load module="mod_amr"/>
+ <load module="mod_ilbc"/>
+ <load module="mod_speex"/>
+ <load module="mod_h26x"/>
+ <!--<load module="mod_siren"/>-->
+
+ <!-- Timers -->
+
+ <!-- Languages -->
+ <!-- <load module="mod_perl"/> -->
+ <load module="mod_lua"/>
+
+ </modules>
+</configuration>
--- /dev/null
+<configuration name="post_load_modules.conf" description="Modules">
+ <modules>
+ </modules>
+</configuration>
--- /dev/null
+<configuration name="sofia.conf" description="sofia Endpoint">
+
+ <global_settings>
+ <param name="log-level" value="0"/>
+ <!-- <param name="auto-restart" value="false"/> -->
+ <param name="debug-presence" value="0"/>
+ </global_settings>
+
+ <!--
+ The rabbit hole goes deep. This includes all the
+ profiles in the sip_profiles directory that is up
+ one level from this directory.
+ -->
+ <profiles>
+ <X-PRE-PROCESS cmd="include" data="../sip_profiles/*.xml"/>
+ </profiles>
+
+</configuration>
--- /dev/null
+<configuration name="switch.conf" description="Core Configuration">
+
+ <cli-keybindings>
+ <key name="1" value="$${function_key_1}"/>
+ <key name="2" value="$${function_key_2}"/>
+ <key name="3" value="$${function_key_3}"/>
+ <key name="4" value="$${function_key_4}"/>
+ <key name="5" value="$${function_key_5}"/>
+ <key name="6" value="$${function_key_6}"/>
+ <key name="7" value="$${function_key_7}"/>
+ <key name="8" value="$${function_key_8}"/>
+ <key name="9" value="$${function_key_9}"/>
+ <key name="10" value="$${function_key_10}"/>
+ <key name="11" value="$${function_key_11}"/>
+ <key name="12" value="$${function_key_12}"/>
+ </cli-keybindings>
+
+ <settings>
+ <!--Colorize the Console -->
+ <param name="colorize-console" value="true"/>
+ <!--Most channels to allow at once -->
+ <param name="max-sessions" value="1000"/>
+ <!--Most channels to create per second -->
+ <param name="sessions-per-second" value="30"/>
+ <!-- Default Global Log Level - value is one of debug,info,notice,warning,err,crit,alert -->
+ <param name="loglevel" value="debug"/>
+ <!--Try to catch any crashes that can be recoverable (in the context of a call)-->
+ <param name="crash-protection" value="false"/>
+ <!--<param name="max_dtmf_duration" value="192000"/>-->
+ <!--<param name="default_dtmf_duration" value="8000"/>-->
+ <!--
+ If you want to send out voicemail notifications via Windows you'll need to change the mailer-app
+ variable to the setting below:
+
+ <param name="mailer-app" value="msmtp"/>
+
+ Donot change mailer-app-args.
+ You will also need to download a sendmail clone for Windows (msmtp). This version works without issue:
+ http://msmtp.sourceforge.net/index.html. Download and copy the .exe to %winddir%\system32.
+ You'll need to create a small config file for smtp credentials (host name, authentication, tls, etc.) in
+ %USERPROFILE%\Application Data\ called "msmtprc.txt". Below is a sample copy of this file:
+
+ ###################################
+ # The SMTP server of the provider.
+ account provider
+ host smtp.myisp.com
+ from john@myisp.com
+ auth login
+ user johndoe
+ password mypassword
+
+ # Set a default account
+ account default : provider
+ ###################################
+
+ -->
+ <param name="mailer-app" value="sendmail"/>
+ <param name="mailer-app-args" value="-t"/>
+ <param name="dump-cores" value="yes"/>
+ <!--RTP port range -->
+ <!--<param name="rtp-start-port" value="16384"/>-->
+ <!--<param name="rtp-end-port" value="32768"/>-->
+ </settings>
+
+</configuration>
+
--- /dev/null
+<configuration name="syslog.conf" description="Syslog Logger">
+ <!-- SYSLOG -->
+ <!-- emerg - system is unusable -->
+ <!-- alert - action must be taken immediately -->
+ <!-- crit - critical conditions -->
+ <!-- err - error conditions -->
+ <!-- warning - warning conditions -->
+ <!-- notice - normal, but significant, condition -->
+ <!-- info - informational message -->
+ <!-- debug - debug-level message -->
+ <settings>
+ <param name="ident" value="freeswitch"/>
+ <param name="loglevel" value="warning"/>
+ </settings>
+</configuration>
--- /dev/null
+<configuration name="timezones.conf" description="Timezones">
+ <timezones>
+ <zone name="Africa/Abidjan" value="GMT0" />
+ <zone name="Africa/Accra" value="GMT0" />
+ <zone name="Africa/Addis_Ababa" value="EAT-3" />
+ <zone name="Africa/Algiers" value="CET-1" />
+ <zone name="Africa/Asmara" value="EAT-3" />
+ <zone name="Africa/Asmera" value="EAT-3" />
+ <zone name="Africa/Bamako" value="GMT0" />
+ <zone name="Africa/Bangui" value="WAT-1" />
+ <zone name="Africa/Banjul" value="GMT0" />
+ <zone name="Africa/Bissau" value="GMT0" />
+ <zone name="Africa/Blantyre" value="CAT-2" />
+ <zone name="Africa/Brazzaville" value="WAT-1" />
+ <zone name="Africa/Bujumbura" value="CAT-2" />
+ <zone name="Africa/Cairo" value="EEST" />
+ <zone name="Africa/Casablanca" value="WET0" />
+ <zone name="Africa/Ceuta" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Africa/Conakry" value="GMT0" />
+ <zone name="Africa/Dakar" value="GMT0" />
+ <zone name="Africa/Dar_es_Salaam" value="EAT-3" />
+ <zone name="Africa/Djibouti" value="EAT-3" />
+ <zone name="Africa/Douala" value="WAT-1" />
+ <zone name="Africa/El_Aaiun" value="WET0" />
+ <zone name="Africa/Freetown" value="GMT0" />
+ <zone name="Africa/Gaborone" value="CAT-2" />
+ <zone name="Africa/Harare" value="CAT-2" />
+ <zone name="Africa/Johannesburg" value="SAST-2" />
+ <zone name="Africa/Kampala" value="EAT-3" />
+ <zone name="Africa/Khartoum" value="EAT-3" />
+ <zone name="Africa/Kigali" value="CAT-2" />
+ <zone name="Africa/Kinshasa" value="WAT-1" />
+ <zone name="Africa/Lagos" value="WAT-1" />
+ <zone name="Africa/Libreville" value="WAT-1" />
+ <zone name="Africa/Lome" value="GMT0" />
+ <zone name="Africa/Luanda" value="WAT-1" />
+ <zone name="Africa/Lubumbashi" value="CAT-2" />
+ <zone name="Africa/Lusaka" value="CAT-2" />
+ <zone name="Africa/Malabo" value="WAT-1" />
+ <zone name="Africa/Maputo" value="CAT-2" />
+ <zone name="Africa/Maseru" value="SAST-2" />
+ <zone name="Africa/Mbabane" value="SAST-2" />
+ <zone name="Africa/Mogadishu" value="EAT-3" />
+ <zone name="Africa/Monrovia" value="GMT0" />
+ <zone name="Africa/Nairobi" value="EAT-3" />
+ <zone name="Africa/Ndjamena" value="WAT-1" />
+ <zone name="Africa/Niamey" value="WAT-1" />
+ <zone name="Africa/Nouakchott" value="GMT0" />
+ <zone name="Africa/Ouagadougou" value="GMT0" />
+ <zone name="Africa/Porto-Novo" value="WAT-1" />
+ <zone name="Africa/Sao_Tome" value="GMT0" />
+ <zone name="Africa/Timbuktu" value="GMT0" />
+ <zone name="Africa/Tripoli" value="EET-2" />
+ <zone name="Africa/Tunis" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Africa/Windhoek" value="WAT-1WAST,M9.1.0,M4.1.0" />
+
+ <zone name="America/Adak" value="HAST10HADT,M3.2.0,M11.1.0" />
+ <zone name="America/Anchorage" value="AKST9AKDT,M3.2.0,M11.1.0" />
+ <zone name="America/Anguilla" value="AST4" />
+ <zone name="America/Antigua" value="AST4" />
+ <zone name="America/Araguaina" value="BRT3" />
+ <zone name="America/Argentina/Buenos_Aires" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/Catamarca" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/ComodRivadavia" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/Cordoba" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/Jujuy" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/La_Rioja" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/Mendoza" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/Rio_Gallegos" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/San_Juan" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/San_Luis" value="ART3" />
+ <zone name="America/Argentina/Tucuman" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/Ushuaia" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Aruba" value="AST4" />
+ <zone name="America/Asuncion" value="PYT4PYST,M10.3.0/0,M3.2.0/0" />
+ <zone name="America/Atikokan" value="EST5" />
+ <zone name="America/Atka" value="HAST10HADT,M3.2.0,M11.1.0" />
+ <zone name="America/Bahia" value="BRT3" />
+ <zone name="America/Barbados" value="AST4" />
+ <zone name="America/Belem" value="BRT3" />
+ <zone name="America/Belize" value="CST6" />
+ <zone name="America/Blanc-Sablon" value="AST4" />
+ <zone name="America/Boa_Vista" value="AMT4" />
+ <zone name="America/Bogota" value="COT5" />
+ <zone name="America/Boise" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="America/Buenos_Aires" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Cambridge_Bay" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="America/Campo_Grande" value="AMT4AMST,M10.2.0/0,M2.3.0/0" />
+ <zone name="America/Cancun" value="CST6CDT,M4.1.0,M10.5.0" />
+ <zone name="America/Caracas" value="VET4:30" />
+ <zone name="America/Catamarca" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Cayenne" value="GFT3" />
+ <zone name="America/Cayman" value="EST5" />
+ <zone name="America/Chicago" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/Chihuahua" value="MST7MDT,M4.1.0,M10.5.0" />
+ <zone name="America/Coral_Harbour" value="EST5" />
+ <zone name="America/Cordoba" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Costa_Rica" value="CST6" />
+ <zone name="America/Cuiaba" value="AMT4AMST,M10.2.0/0,M2.3.0/0" />
+ <zone name="America/Curacao" value="AST4" />
+ <zone name="America/Danmarkshavn" value="GMT0" />
+ <zone name="America/Dawson" value="PST8PDT,M3.2.0,M11.1.0" />
+ <zone name="America/Dawson_Creek" value="MST7" />
+ <zone name="America/Denver" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="America/Detroit" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Dominica" value="AST4" />
+ <zone name="America/Edmonton" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="America/Eirunepe" value="ACT5" />
+ <zone name="America/El_Salvador" value="CST6" />
+ <zone name="America/Ensenada" value="PST8PDT,M4.1.0,M10.5.0" />
+ <zone name="America/Fortaleza" value="BRT3" />
+ <zone name="America/Fort_Wayne" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Glace_Bay" value="AST4ADT,M3.2.0,M11.1.0" />
+ <zone name="America/Godthab" value="WGST" />
+ <zone name="America/Goose_Bay" value="AST4ADT,M3.2.0/0:01,M11.1.0/0:01" />
+ <zone name="America/Grand_Turk" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Grenada" value="AST4" />
+ <zone name="America/Guadeloupe" value="AST4" />
+ <zone name="America/Guatemala" value="CST6" />
+ <zone name="America/Guayaquil" value="ECT5" />
+ <zone name="America/Guyana" value="GYT4" />
+ <zone name="America/Halifax" value="AST4ADT,M3.2.0,M11.1.0" />
+ <zone name="America/Havana" value="CST5CDT,M3.3.0/0,M10.5.0/1" />
+ <zone name="America/Hermosillo" value="MST7" />
+ <zone name="America/Indiana/Indianapolis" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Indiana/Knox" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/Indiana/Marengo" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Indiana/Petersburg" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Indianapolis" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Indiana/Tell_City" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/Indiana/Vevay" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Indiana/Vincennes" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Indiana/Winamac" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Inuvik" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="America/Iqaluit" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Jamaica" value="EST5" />
+ <zone name="America/Jujuy" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Juneau" value="AKST9AKDT,M3.2.0,M11.1.0" />
+ <zone name="America/Kentucky/Louisville" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Kentucky/Monticello" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Knox_IN" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/La_Paz" value="BOT4" />
+ <zone name="America/Lima" value="PET5" />
+ <zone name="America/Los_Angeles" value="PST8PDT,M3.2.0,M11.1.0" />
+ <zone name="America/Louisville" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Maceio" value="BRT3" />
+ <zone name="America/Managua" value="CST6" />
+ <zone name="America/Manaus" value="AMT4" />
+ <zone name="America/Marigot" value="AST4" />
+ <zone name="America/Martinique" value="AST4" />
+ <zone name="America/Mazatlan" value="MST7MDT,M4.1.0,M10.5.0" />
+ <zone name="America/Mendoza" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Menominee" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/Merida" value="CST6CDT,M4.1.0,M10.5.0" />
+ <zone name="America/Mexico_City" value="CST6CDT,M4.1.0,M10.5.0" />
+ <zone name="America/Miquelon" value="PMST3PMDT,M3.2.0,M11.1.0" />
+ <zone name="America/Moncton" value="AST4ADT,M3.2.0,M11.1.0" />
+ <zone name="America/Monterrey" value="CST6CDT,M4.1.0,M10.5.0" />
+ <zone name="America/Montevideo" value="UYT3UYST,M10.1.0,M3.2.0" />
+ <zone name="America/Montreal" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Montserrat" value="AST4" />
+ <zone name="America/Nassau" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/New_York" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Nipigon" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Nome" value="AKST9AKDT,M3.2.0,M11.1.0" />
+ <zone name="America/Noronha" value="FNT2" />
+ <zone name="America/North_Dakota/Center" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/North_Dakota/New_Salem" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/Panama" value="EST5" />
+ <zone name="America/Pangnirtung" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Paramaribo" value="SRT3" />
+ <zone name="America/Phoenix" value="MST7" />
+ <zone name="America/Port-au-Prince" value="EST5" />
+ <zone name="America/Porto_Acre" value="ACT5" />
+ <zone name="America/Port_of_Spain" value="AST4" />
+ <zone name="America/Porto_Velho" value="AMT4" />
+ <zone name="America/Puerto_Rico" value="AST4" />
+ <zone name="America/Rainy_River" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/Rankin_Inlet" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/Recife" value="BRT3" />
+ <zone name="America/Regina" value="CST6" />
+ <zone name="America/Resolute" value="EST5" />
+ <zone name="America/Rio_Branco" value="ACT5" />
+ <zone name="America/Rosario" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Santiago" value="CLST" />
+ <zone name="America/Santo_Domingo" value="AST4" />
+ <zone name="America/Sao_Paulo" value="BRT3BRST,M10.2.0/0,M2.3.0/0" />
+ <zone name="America/Scoresbysund" value="EGT1EGST,M3.5.0/0,M10.5.0/1" />
+ <zone name="America/Shiprock" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="America/St_Barthelemy" value="AST4" />
+ <zone name="America/St_Johns" value="NST3:30NDT,M3.2.0/0:01,M11.1.0/0:01" />
+ <zone name="America/St_Kitts" value="AST4" />
+ <zone name="America/St_Lucia" value="AST4" />
+ <zone name="America/St_Thomas" value="AST4" />
+ <zone name="America/St_Vincent" value="AST4" />
+ <zone name="America/Swift_Current" value="CST6" />
+ <zone name="America/Tegucigalpa" value="CST6" />
+ <zone name="America/Thule" value="AST4ADT,M3.2.0,M11.1.0" />
+ <zone name="America/Thunder_Bay" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Tijuana" value="PST8PDT,M4.1.0,M10.5.0" />
+ <zone name="America/Toronto" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Tortola" value="AST4" />
+ <zone name="America/Vancouver" value="PST8PDT,M3.2.0,M11.1.0" />
+ <zone name="America/Virgin" value="AST4" />
+ <zone name="America/Whitehorse" value="PST8PDT,M3.2.0,M11.1.0" />
+ <zone name="America/Winnipeg" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/Yakutat" value="AKST9AKDT,M3.2.0,M11.1.0" />
+ <zone name="America/Yellowknife" value="MST7MDT,M3.2.0,M11.1.0" />
+
+ <zone name="Antarctica/Casey" value="WST-8" />
+ <zone name="Antarctica/Davis" value="DAVT-7" />
+ <zone name="Antarctica/DumontDUrville" value="DDUT-10" />
+ <zone name="Antarctica/Mawson" value="MAWT-6" />
+ <zone name="Antarctica/McMurdo" value="NZST-12NZDT,M9.5.0,M4.1.0/3" />
+ <zone name="Antarctica/Palmer" value="CLST" />
+ <zone name="Antarctica/Rothera" value="ROTT3" />
+ <zone name="Antarctica/South_Pole" value="NZST-12NZDT,M9.5.0,M4.1.0/3" />
+ <zone name="Antarctica/Syowa" value="SYOT-3" />
+ <zone name="Antarctica/Vostok" value="VOST-6" />
+
+ <zone name="Arctic/Longyearbyen" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+
+ <zone name="Asia/Aden" value="AST-3" />
+ <zone name="Asia/Almaty" value="ALMT-6" />
+ <zone name="Asia/Amman" value="EET-2EEST,M3.5.4/0,M10.5.5/1" />
+ <zone name="Asia/Anadyr" value="ANAT-12ANAST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Aqtau" value="AQTT-5" />
+ <zone name="Asia/Aqtobe" value="AQTT-5" />
+ <zone name="Asia/Ashgabat" value="TMT-5" />
+ <zone name="Asia/Ashkhabad" value="TMT-5" />
+ <zone name="Asia/Baghdad" value="AST-3" />
+ <zone name="Asia/Bahrain" value="AST-3" />
+ <zone name="Asia/Baku" value="AZT-4AZST,M3.5.0/4,M10.5.0/5" />
+ <zone name="Asia/Bangkok" value="ICT-7" />
+ <zone name="Asia/Beirut" value="EET-2EEST,M3.5.0/0,M10.5.0/0" />
+ <zone name="Asia/Bishkek" value="KGT-6" />
+ <zone name="Asia/Brunei" value="BNT-8" />
+ <zone name="Asia/Calcutta" value="IST-5:30" />
+ <zone name="Asia/Choibalsan" value="CHOT-9" />
+ <zone name="Asia/Chongqing" value="CST-8" />
+ <zone name="Asia/Chungking" value="CST-8" />
+ <zone name="Asia/Colombo" value="IST-5:30" />
+ <zone name="Asia/Dacca" value="BDT-6" />
+ <zone name="Asia/Damascus" value="EET-2EEST,M4.1.5/0,J274/0" />
+ <zone name="Asia/Dhaka" value="BDT-6" />
+ <zone name="Asia/Dili" value="TLT-9" />
+ <zone name="Asia/Dubai" value="GST-4" />
+ <zone name="Asia/Dushanbe" value="TJT-5" />
+ <zone name="Asia/Gaza" value="EET-2EEST,J91/0,M9.2.4" />
+ <zone name="Asia/Harbin" value="CST-8" />
+ <zone name="Asia/Ho_Chi_Minh" value="ICT-7" />
+ <zone name="Asia/Hong_Kong" value="HKT-8" />
+ <zone name="Asia/Hovd" value="HOVT-7" />
+ <zone name="Asia/Irkutsk" value="IRKT-8IRKST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Istanbul" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Asia/Jakarta" value="WIT-7" />
+ <zone name="Asia/Jayapura" value="EIT-9" />
+ <zone name="Asia/Jerusalem" value="IDDT" />
+ <zone name="Asia/Kabul" value="AFT-4:30" />
+ <zone name="Asia/Kamchatka" value="PETT-12PETST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Karachi" value="PKT-5" />
+ <zone name="Asia/Kashgar" value="CST-8" />
+ <zone name="Asia/Katmandu" value="NPT-5:45" />
+ <zone name="Asia/Kolkata" value="IST-5:30" />
+ <zone name="Asia/Krasnoyarsk" value="KRAT-7KRAST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Kuala_Lumpur" value="MYT-8" />
+ <zone name="Asia/Kuching" value="MYT-8" />
+ <zone name="Asia/Kuwait" value="AST-3" />
+ <zone name="Asia/Macao" value="CST-8" />
+ <zone name="Asia/Macau" value="CST-8" />
+ <zone name="Asia/Magadan" value="MAGT-11MAGST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Makassar" value="CIT-8" />
+ <zone name="Asia/Manila" value="PHT-8" />
+ <zone name="Asia/Muscat" value="GST-4" />
+ <zone name="Asia/Nicosia" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Asia/Novosibirsk" value="NOVT-6NOVST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Omsk" value="OMST-6OMSST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Oral" value="ORAT-5" />
+ <zone name="Asia/Phnom_Penh" value="ICT-7" />
+ <zone name="Asia/Pontianak" value="WIT-7" />
+ <zone name="Asia/Pyongyang" value="KST-9" />
+ <zone name="Asia/Qatar" value="AST-3" />
+ <zone name="Asia/Qyzylorda" value="QYZT-6" />
+ <zone name="Asia/Rangoon" value="MMT-6:30" />
+ <zone name="Asia/Riyadh" value="AST-3" />
+ <zone name="Asia/Riyadh87" value="zzz-3:07:04" />
+ <zone name="Asia/Riyadh88" value="zzz-3:07:04" />
+ <zone name="Asia/Riyadh89" value="zzz-3:07:04" />
+ <zone name="Asia/Saigon" value="ICT-7" />
+ <zone name="Asia/Sakhalin" value="SAKT-10SAKST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Samarkand" value="UZT-5" />
+ <zone name="Asia/Seoul" value="KST-9" />
+ <zone name="Asia/Shanghai" value="CST-8" />
+ <zone name="Asia/Singapore" value="SGT-8" />
+ <zone name="Asia/Taipei" value="CST-8" />
+ <zone name="Asia/Tashkent" value="UZT-5" />
+ <zone name="Asia/Tbilisi" value="GET-4" />
+ <zone name="Asia/Tehran" value="IRDT" />
+ <zone name="Asia/Tel_Aviv" value="IDDT" />
+ <zone name="Asia/Thimbu" value="BTT-6" />
+ <zone name="Asia/Thimphu" value="BTT-6" />
+ <zone name="Asia/Tokyo" value="JST-9" />
+ <zone name="Asia/Ujung_Pandang" value="CIT-8" />
+ <zone name="Asia/Ulaanbaatar" value="ULAT-8" />
+ <zone name="Asia/Ulan_Bator" value="ULAT-8" />
+ <zone name="Asia/Urumqi" value="CST-8" />
+ <zone name="Asia/Vientiane" value="ICT-7" />
+ <zone name="Asia/Vladivostok" value="VLAT-10VLAST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Yakutsk" value="YAKT-9YAKST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Yekaterinburg" value="YEKT-5YEKST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Yerevan" value="AMT-4AMST,M3.5.0,M10.5.0/3" />
+
+ <zone name="Atlantic/Azores" value="AZOT1AZOST,M3.5.0/0,M10.5.0/1" />
+ <zone name="Atlantic/Bermuda" value="AST4ADT,M3.2.0,M11.1.0" />
+ <zone name="Atlantic/Canary" value="WET0WEST,M3.5.0/1,M10.5.0" />
+ <zone name="Atlantic/Cape_Verde" value="CVT1" />
+ <zone name="Atlantic/Faeroe" value="WET0WEST,M3.5.0/1,M10.5.0" />
+ <zone name="Atlantic/Faroe" value="WET0WEST,M3.5.0/1,M10.5.0" />
+ <zone name="Atlantic/Jan_Mayen" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Atlantic/Madeira" value="WET0WEST,M3.5.0/1,M10.5.0" />
+ <zone name="Atlantic/Reykjavik" value="GMT0" />
+ <zone name="Atlantic/South_Georgia" value="GST2" />
+ <zone name="Atlantic/Stanley" value="FKT4FKST,M9.1.0,M4.3.0" />
+ <zone name="Atlantic/St_Helena" value="GMT0" />
+
+ <zone name="Australia/ACT" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Adelaide" value="CST-9:30CST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Brisbane" value="EST-10" />
+ <zone name="Australia/Broken_Hill" value="CST-9:30CST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Canberra" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Currie" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Darwin" value="CST-9:30" />
+ <zone name="Australia/Eucla" value="CWST-8:45" />
+ <zone name="Australia/Hobart" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/LHI" value="LHST-10:30LHST-11,M10.1.0,M4.1.0" />
+ <zone name="Australia/Lindeman" value="EST-10" />
+ <zone name="Australia/Lord_Howe" value="LHST-10:30LHST-11,M10.1.0,M4.1.0" />
+ <zone name="Australia/Melbourne" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/North" value="CST-9:30" />
+ <zone name="Australia/NSW" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Perth" value="WST-8" />
+ <zone name="Australia/Queensland" value="EST-10" />
+ <zone name="Australia/South" value="CST-9:30CST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Sydney" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Tasmania" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Victoria" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/West" value="WST-8" />
+ <zone name="Australia/Yancowinna" value="CST-9:30CST,M10.1.0,M4.1.0/3" />
+
+ <zone name="Brazil/Acre" value="ACT5" />
+ <zone name="Brazil/DeNoronha" value="FNT2" />
+ <zone name="Brazil/East" value="BRT3BRST,M10.2.0/0,M2.3.0/0" />
+ <zone name="Brazil/West" value="AMT4" />
+
+ <zone name="Canada/Atlantic" value="AST4ADT,M3.2.0,M11.1.0" />
+ <zone name="Canada/Central" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="Canada/Eastern" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="Canada/East-Saskatchewan" value="CST6" />
+ <zone name="Canada/Mountain" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="Canada/Newfoundland" value="NST3:30NDT,M3.2.0/0:01,M11.1.0/0:01" />
+ <zone name="Canada/Pacific" value="PST8PDT,M3.2.0,M11.1.0" />
+ <zone name="Canada/Saskatchewan" value="CST6" />
+ <zone name="Canada/Yukon" value="PST8PDT,M3.2.0,M11.1.0" />
+
+ <zone name="Chile/Continental" value="CLST" />
+ <zone name="Chile/EasterIsland" value="EASST" />
+
+ <zone name="Etc/GMT" value="GMT0" />
+ <zone name="Etc/GMT0" value="GMT0" />
+ <zone name="Etc/GMT-0" value="GMT0" />
+ <zone name="Etc/GMT+0" value="GMT0" />
+ <zone name="Etc/GMT-1" value="GMT-1" />
+ <zone name="Etc/GMT+1" value="GMT+1" />
+ <zone name="Etc/GMT-10" value="GMT-10" />
+ <zone name="Etc/GMT+10" value="GMT+10" />
+ <zone name="Etc/GMT-11" value="GMT-11" />
+ <zone name="Etc/GMT+11" value="GMT+11" />
+ <zone name="Etc/GMT-12" value="GMT-12" />
+ <zone name="Etc/GMT+12" value="GMT+12" />
+ <zone name="Etc/GMT-13" value="GMT-13" />
+ <zone name="Etc/GMT-14" value="GMT-14" />
+ <zone name="Etc/GMT-2" value="GMT-2" />
+ <zone name="Etc/GMT+2" value="GMT+2" />
+ <zone name="Etc/GMT-3" value="GMT-3" />
+ <zone name="Etc/GMT+3" value="GMT+3" />
+ <zone name="Etc/GMT-4" value="GMT-4" />
+ <zone name="Etc/GMT+4" value="GMT+4" />
+ <zone name="Etc/GMT-5" value="GMT-5" />
+ <zone name="Etc/GMT+5" value="GMT+5" />
+ <zone name="Etc/GMT-6" value="GMT-6" />
+ <zone name="Etc/GMT+6" value="GMT+6" />
+ <zone name="Etc/GMT-7" value="GMT-7" />
+ <zone name="Etc/GMT+7" value="GMT+7" />
+ <zone name="Etc/GMT-8" value="GMT-8" />
+ <zone name="Etc/GMT+8" value="GMT+8" />
+ <zone name="Etc/GMT-9" value="GMT-9" />
+ <zone name="Etc/GMT+9" value="GMT+9" />
+ <zone name="Etc/Greenwich" value="GMT0" />
+ <zone name="Etc/UCT" value="UCT0" />
+ <zone name="Etc/Universal" value="UTC0" />
+ <zone name="Etc/UTC" value="UTC0" />
+ <zone name="Etc/Zulu" value="UTC0" />
+
+ <zone name="Europe/Amsterdam" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Andorra" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Athens" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Belfast" value="GMT0BST,M3.5.0/1,M10.5.0" />
+ <zone name="Europe/Belgrade" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Berlin" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Bratislava" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Brussels" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Bucharest" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Budapest" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Chisinau" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Copenhagen" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Dublin" value="GMT0IST,M3.5.0/1,M10.5.0" />
+ <zone name="Europe/Gibraltar" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Guernsey" value="GMT0BST,M3.5.0/1,M10.5.0" />
+ <zone name="Europe/Helsinki" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Isle_of_Man" value="GMT0BST,M3.5.0/1,M10.5.0" />
+ <zone name="Europe/Istanbul" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Jersey" value="GMT0BST,M3.5.0/1,M10.5.0" />
+ <zone name="Europe/Kaliningrad" value="EET-2EEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Kiev" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Lisbon" value="WET0WEST,M3.5.0/1,M10.5.0" />
+ <zone name="Europe/Ljubljana" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/London" value="GMT0BST,M3.5.0/1,M10.5.0" />
+ <zone name="Europe/Luxembourg" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Madrid" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Malta" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Mariehamn" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Minsk" value="EET-2EEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Monaco" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Moscow" value="MSK-3MSD,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Nicosia" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Oslo" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Paris" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Podgorica" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Prague" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Riga" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Rome" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Samara" value="SAMT-4SAMST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/San_Marino" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Sarajevo" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Simferopol" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Skopje" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Sofia" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Stockholm" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Tallinn" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Tirane" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Tiraspol" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Uzhgorod" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Vaduz" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Vatican" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Vienna" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Vilnius" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Volgograd" value="VOLT-3VOLST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Warsaw" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Zagreb" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Zaporozhye" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Zurich" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+
+ <zone name="Indian/Antananarivo" value="EAT-3" />
+ <zone name="Indian/Chagos" value="IOT-6" />
+ <zone name="Indian/Christmas" value="CXT-7" />
+ <zone name="Indian/Cocos" value="CCT-6:30" />
+ <zone name="Indian/Comoro" value="EAT-3" />
+ <zone name="Indian/Kerguelen" value="TFT-5" />
+ <zone name="Indian/Mahe" value="SCT-4" />
+ <zone name="Indian/Maldives" value="MVT-5" />
+ <zone name="Indian/Mauritius" value="MUT-4" />
+ <zone name="Indian/Mayotte" value="EAT-3" />
+ <zone name="Indian/Reunion" value="RET-4" />
+
+ <zone name="Mexico/BajaNorte" value="PST8PDT,M4.1.0,M10.5.0" />
+ <zone name="Mexico/BajaSur" value="MST7MDT,M4.1.0,M10.5.0" />
+ <zone name="Mexico/General" value="CST6CDT,M4.1.0,M10.5.0" />
+
+ <zone name="Mideast/Riyadh87" value="zzz-3:07:04" />
+ <zone name="Mideast/Riyadh88" value="zzz-3:07:04" />
+ <zone name="Mideast/Riyadh89" value="zzz-3:07:04" />
+
+ <zone name="Pacific/Apia" value="WST11" />
+ <zone name="Pacific/Auckland" value="NZST-12NZDT,M9.5.0,M4.1.0/3" />
+ <zone name="Pacific/Chatham" value="CHAST-12:45CHADT,M9.5.0/2:45,M4.1.0/3:45" />
+ <zone name="Pacific/Easter" value="EASST" />
+ <zone name="Pacific/Efate" value="VUT-11" />
+ <zone name="Pacific/Enderbury" value="PHOT-13" />
+ <zone name="Pacific/Fakaofo" value="TKT10" />
+ <zone name="Pacific/Fiji" value="FJT-12" />
+ <zone name="Pacific/Funafuti" value="TVT-12" />
+ <zone name="Pacific/Galapagos" value="GALT6" />
+ <zone name="Pacific/Gambier" value="GAMT9" />
+ <zone name="Pacific/Guadalcanal" value="SBT-11" />
+ <zone name="Pacific/Guam" value="ChST-10" />
+ <zone name="Pacific/Honolulu" value="HST10" />
+ <zone name="Pacific/Johnston" value="HST10" />
+ <zone name="Pacific/Kiritimati" value="LINT-14" />
+ <zone name="Pacific/Kosrae" value="KOST-11" />
+ <zone name="Pacific/Kwajalein" value="MHT-12" />
+ <zone name="Pacific/Majuro" value="MHT-12" />
+ <zone name="Pacific/Marquesas" value="MART9:30" />
+ <zone name="Pacific/Midway" value="SST11" />
+ <zone name="Pacific/Nauru" value="NRT-12" />
+ <zone name="Pacific/Niue" value="NUT11" />
+ <zone name="Pacific/Norfolk" value="NFT-11:30" />
+ <zone name="Pacific/Noumea" value="NCT-11" />
+ <zone name="Pacific/Pago_Pago" value="SST11" />
+ <zone name="Pacific/Palau" value="PWT-9" />
+ <zone name="Pacific/Pitcairn" value="PST8" />
+ <zone name="Pacific/Ponape" value="PONT-11" />
+ <zone name="Pacific/Port_Moresby" value="PGT-10" />
+ <zone name="Pacific/Rarotonga" value="CKT10" />
+ <zone name="Pacific/Saipan" value="ChST-10" />
+ <zone name="Pacific/Samoa" value="SST11" />
+ <zone name="Pacific/Tahiti" value="TAHT10" />
+ <zone name="Pacific/Tarawa" value="GILT-12" />
+ <zone name="Pacific/Tongatapu" value="TOT-13" />
+ <zone name="Pacific/Truk" value="TRUT-10" />
+ <zone name="Pacific/Wake" value="WAKT-12" />
+ <zone name="Pacific/Wallis" value="WFT-12" />
+ <zone name="Pacific/Yap" value="TRUT-10" />
+
+ <zone name="SystemV/AST4" value="AST4" />
+ <zone name="SystemV/AST4ADT" value="AST4ADT,M3.2.0,M11.1.0" />
+ <zone name="SystemV/CST6" value="CST6" />
+ <zone name="SystemV/CST6CDT" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="SystemV/EST5" value="EST5" />
+ <zone name="SystemV/EST5EDT" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="SystemV/HST10" value="HST10" />
+ <zone name="SystemV/MST7" value="MST7" />
+ <zone name="SystemV/MST7MDT" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="SystemV/PST8" value="PST8" />
+ <zone name="SystemV/PST8PDT" value="PST8PDT,M3.2.0,M11.1.0" />
+ <zone name="SystemV/YST9" value="GAMT9" />
+ <zone name="SystemV/YST9YDT" value="AKST9AKDT,M3.2.0,M11.1.0" />
+
+ <zone name="US/Alaska" value="AKST9AKDT,M3.2.0,M11.1.0" />
+ <zone name="US/Aleutian" value="HAST10HADT,M3.2.0,M11.1.0" />
+ <zone name="US/Arizona" value="MST7" />
+ <zone name="US/Central" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="US/Eastern" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="US/East-Indiana" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="US/Hawaii" value="HST10" />
+ <zone name="US/Indiana-Starke" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="US/Michigan" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="US/Mountain" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="US/Pacific" value="PST8PDT,M3.2.0,M11.1.0" />
+ <zone name="US/Samoa" value="SST11" />
+ </timezones>
+</configuration>
--- /dev/null
+<configuration name="xml_cdr.conf" description="XML CDR CURL logger">
+ <settings>
+ <!-- the url to post to if blank web posting is disabled -->
+ <!-- <param name="url" value="http://localhost/cdr_curl/post.php"/> -->
+
+ <!-- optional: credentials to send to web server -->
+ <!-- <param name="cred" value="user:pass"/> -->
+
+ <!-- the total number of retries (not counting the first 'try') to post to webserver incase of failure -->
+ <!-- <param name="retries" value="2"/> -->
+
+ <!-- delay between retries in seconds, default is 5 seconds -->
+ <!-- <param name="delay" value="1"/> -->
+
+ <!-- optional: if not present we do not log every record to disk -->
+ <!-- either an absolute path, a relative path assuming ${prefix}/logs or a blank value will default to ${prefix}/logs/xml_cdr -->
+ <param name="log-dir" value=""/>
+
+ <!-- optional: if not present we do log the b leg -->
+ <!-- true or false if we should create a cdr for the b leg of a call-->
+ <param name="log-b-leg" value="false"/>
+
+ <!-- optional: if not present, all filenames are the uuid of the call -->
+ <!-- true or false if a leg files are prefixed "a_" -->
+ <param name="prefix-a-leg" value="true"/>
+
+ <!-- encode the post data may be 'true' for url encoding, 'false' for no encoding or 'base64' for base64 encoding -->
+ <param name="encode" value="true"/>
+
+ <!-- optional: set to true to disable Expect: 100-continue lighttpd requires this setting -->
+ <!--<param name="disable-100-continue" value="true"/>-->
+
+ <!-- optional: full path to the error log dir for failed web posts if not specified its the same as log-dir -->
+ <!-- either an absolute path, a relative path assuming ${prefix}/logs or a blank or omitted value will default to ${prefix}/logs/xml_cdr -->
+ <!-- <param name="err-log-dir" value="/tmp"/> -->
+
+ <!-- optional: if enabled this will disable CA root certificate checks by libcurl -->
+ <!-- note: default value is disabled. only enable if you want this! -->
+ <!-- <param name="ignore-cacert-check" value="true" /> -->
+
+ </settings>
+</configuration>
--- /dev/null
+<configuration name="xml_rpc.conf" description="XML RPC">
+ <settings>
+ <!-- The port where you want to run the http service (default 8080) -->
+ <param name="http-port" value="8080"/>
+ <!-- if all 3 of the following params exist all http traffic will require auth -->
+ <param name="auth-realm" value="freeswitch"/>
+ <param name="auth-user" value="freeswitch"/>
+ <param name="auth-pass" value="works"/>
+ </settings>
+</configuration>
--- /dev/null
+<!--
+ NOTICE:
+
+ This context is usually accessed via authenticated callers on the sip profile on port 5060
+ or transfered callers from the public context which arrived via the sip profile on port 5080.
+
+ Authenticated users will use the user_context variable on the user to determine what context
+ they can access. You can also add a user in the directory with the cidr= attribute acl.conf.xml
+ will build the domains acl using this value.
+-->
+
+<?xml version="1.0" encoding="utf-8"?>
+<!-- http://wiki.freeswitch.org/wiki/Dialplan_XML -->
+<include>
+ <context name="default">
+
+ <extension name="unloop">
+ <condition field="$${unroll_loops}" expression="^true$"/>
+ <condition field="${sip_looped_call}" expression="^true$">
+ <action application="deflect" data="${destination_number}"/>
+ </condition>
+ </extension>
+
+ <!--
+ Try to get the domain from the sip_auth_realm otherwise it will
+ default domain in vars.xml for cases it can't figure it out.
+
+ -->
+ <extension name="set_domain" continue="true">
+ <condition field="${domain_name}" expression="^$"/>
+ <condition field="source" expression="mod_sofia"/>
+ <condition field="${sip_auth_realm}" expression="^$">
+ <action application="set" data="domain_name=$${domain}"/>
+ <anti-action application="set" data="domain_name=${sip_auth_realm}"/>
+ </condition>
+ </extension>
+
+ <!-- Set the domain -->
+ <extension name="set_domain_openzap" continue="true">
+ <condition field="${domain_name}" expression="^$"/>
+ <condition field="source" expression="mod_openzap">
+ <action application="set" data="domain_name=$${domain}"/>
+ </condition>
+ </extension>
+
+ <!-- Example of doing things based on time of day. -->
+ <extension name="tod_example" continue="true">
+ <!-- man strftime - M-F, 9AM to 6PM -->
+ <condition field="${strftime(%w)}" expression="^([1-5])$"/>
+ <condition field="${strftime(%H%M)}" expression="^((09|1[0-7])[0-5][0-9]|1800)$">
+ <action application="set" data="open=true"/>
+ </condition>
+ </extension>
+
+ <extension name="global-intercept">
+ <condition field="destination_number" expression="^886$">
+ <action application="answer"/>
+ <action application="intercept" data="${db(select/${domain_name}-last_dial/global)}"/>
+ <action application="sleep" data="2000"/>
+ </condition>
+ </extension>
+
+ <extension name="group-intercept">
+ <condition field="destination_number" expression="^\*8$">
+ <action application="answer"/>
+ <action application="intercept" data="${db(select/${domain_name}-last_dial/${callgroup})}"/>
+ <action application="sleep" data="2000"/>
+ </condition>
+ </extension>
+
+ <extension name="intercept-ext">
+ <condition field="destination_number" expression="^\*\*(\d+)$">
+ <action application="answer"/>
+ <action application="intercept" data="${db(select/${domain_name}-last_dial_ext/$1)}"/>
+ <action application="sleep" data="2000"/>
+ </condition>
+ </extension>
+
+ <extension name="redial">
+ <condition field="destination_number" expression="^870$">
+ <action application="transfer" data="${db(select/${domain_name}-last_dial/${caller_id_number})}"/>
+ </condition>
+ </extension>
+
+ <extension name="global" continue="true">
+ <condition field="${network_addr}" expression="^$" break="never">
+ <action application="set" data="use_profile=${cond(${acl($${local_ip_v4} rfc1918)} == true ? nat : default)}"/>
+ <anti-action application="set" data="use_profile=${cond(${acl(${network_addr} rfc1918)} == true ? nat : default)}"/>
+ </condition>
+ <!-- This will setup some variables if the user isn't authenticated. -->
+ <condition field="${numbering_plan}" expression="^$" break="never">
+ <action application="set_user" data="default@${domain_name}"/>
+ </condition>
+ <condition field="$${call_debug}" expression="^true$" break="never">
+ <action application="info"/>
+ </condition>
+ <condition field="${sip_has_crypto}" expression="^(AES_CM_128_HMAC_SHA1_32|AES_CM_128_HMAC_SHA1_80)$" break="never">
+ <action application="set" data="sip_secure_media=true"/>
+ <!-- Offer SRTP on outbound legs if we have it on inbound. -->
+ <!-- <action application="export" data="sip_secure_media=true"/> -->
+ </condition>
+ <condition>
+ <action application="db" data="insert/${domain_name}-spymap/${caller_id_number}/${uuid}"/>
+ <action application="db" data="insert/${domain_name}-last_dial/${caller_id_number}/${destination_number}"/>
+ <action application="db" data="insert/${domain_name}-last_dial/global/${uuid}"/>
+ </condition>
+ </extension>
+
+ <!-- If sip_req_host is not a local domain then this has to be an external sip uri -->
+ <!--
+ <extension name="external_sip_uri" continue="true">
+ <condition field="source" expression="mod_sofia"/>
+ <condition field="${outside_call}" expression="^$"/>
+ <condition field="${domain_exists(${sip_req_host})}" expression="true">
+ <anti-action application="bridge" data="sofia/${use_profile}/${sip_to_uri}"/>
+ </condition>
+ </extension>
+ -->
+ <!--
+ snom button demo, call 9000 to make button 2 mapped to transfer the current call to a conference
+ -->
+
+ <extension name="snom-demo-2">
+ <condition field="destination_number" expression="^9001$">
+ <action application="eval" data="${snom_bind_key(2 off DND ${sip_from_user} ${sip_from_host} ${sofia_profile_name} message notused)}"/>
+ <action application="transfer" data="3000"/>
+ </condition>
+ </extension>
+
+ <extension name="snom-demo-1">
+ <condition field="destination_number" expression="^9000$">
+ <!--<key> <light> <label> <user> <host> <profile> <action_name> <action>-->
+ <action application="eval" data="${snom_bind_key(2 on DND ${sip_from_user} ${sip_from_host} ${sofia_profile_name} message api+uuid_transfer ${uuid} 9001)}"/>
+ <action application="playback" data="$${hold_music}"/>
+ </condition>
+ </extension>
+
+ <extension name="eavesdrop">
+ <condition field="destination_number" expression="^88(.*)$|^\*0(.*)$">
+ <action application="answer"/>
+ <action application="eavesdrop" data="${db(select/${domain_name}-spymap/$1)}"/>
+ </condition>
+ </extension>
+
+ <extension name="eavesdrop">
+ <condition field="destination_number" expression="^779$">
+ <action application="answer"/>
+ <action application="set" data="eavesdrop_indicate_failed=tone_stream://%(500, 0, 320)"/>
+ <action application="set" data="eavesdrop_indicate_new=tone_stream://%(500, 0, 620)"/>
+ <action application="set" data="eavesdrop_indicate_idle=tone_stream://%(250, 0, 920)"/>
+ <action application="eavesdrop" data="all"/>
+ </condition>
+ </extension>
+
+ <extension name="call_return">
+ <condition field="destination_number" expression="^\*69$|^869$|^lcr$">
+ <action application="transfer" data="${db(select/${domain_name}-call_return/${caller_id_number})}"/>
+ </condition>
+ </extension>
+
+ <extension name="del-group">
+ <condition field="destination_number" expression="^80(\d{2})$">
+ <action application="answer"/>
+ <action application="group" data="delete:$1@${domain_name}:${sofia_contact(${sip_from_user}@${domain_name})}"/>
+ <action application="gentones" data="%(1000, 0, 320)"/>
+ </condition>
+ </extension>
+
+ <extension name="add-group">
+ <condition field="destination_number" expression="^81(\d{2})$">
+ <action application="answer"/>
+ <action application="group" data="insert:$1@${domain_name}:${sofia_contact(${sip_from_user}@${domain_name})}"/>
+ <action application="gentones" data="%(1000, 0, 640)"/>
+ </condition>
+ </extension>
+
+ <extension name="call-group-simo">
+ <condition field="destination_number" expression="^82(\d{2})$">
+ <action application="bridge" data="{ignore_early_media=true}${group(call:$1@${domain_name})}"/>
+ </condition>
+ </extension>
+
+ <extension name="call-group-order">
+ <condition field="destination_number" expression="^83(\d{2})$">
+ <action application="set" data="call_timeout=10"/>
+ <action application="bridge" data="{ignore_early_media=true}${group(call:$1@${domain_name}:order)}"/>
+ </condition>
+ </extension>
+
+ <extension name="extension-intercom">
+ <!-- <condition field="${sip_to_params}" expression="intercom\=true"/> -->
+ <condition field="destination_number" expression="^8(10[01][0-9])$">
+ <action application="set" data="dialed_extension=$1"/>
+ <!-- This Alert-Info seems to be a case for Intercom for Polycom which sip_auto_answer=true covers already. -->
+ <!--<action application="export"><![CDATA[alert_info=<sip:${domain_name}>;Ring;Answer]]></action>-->
+ <action application="export"><![CDATA[sip_h_Call-Info=<sip:${domain_name}>;answer-after=0]]></action>
+ <action application="export" data="sip_invite_params=intercom=true"/>
+ <action application="export" data="sip_auto_answer=true"/>
+ <action application="bridge" data="user/${dialed_extension}@${domain_name}"/>
+ </condition>
+ </extension>
+
+ <!--
+ 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])$">
+ <action application="set" data="dialed_extension=$1"/>
+ <action application="export" data="dialed_extension=$1"/>
+ </condition>
+ <condition field="destination_number" expression="^${caller_id_number}$">
+ <action application="set" data="voicemail_authorized=${sip_authorized}"/>
+ <action application="answer"/>
+ <action application="sleep" data="1000"/>
+ <action application="voicemail" data="check default ${domain_name} ${dialed_extension}"/>
+ <!-- bind_meta_app can have these args <key> [a|b|ab] [a|b|o|s] <app> -->
+ <anti-action application="bind_meta_app" data="1 b s execute_extension::dx XML features"/>
+ <anti-action application="bind_meta_app" data="2 b s record_session::$${base_dir}/recordings/${caller_id_number}.${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/>
+ <anti-action application="bind_meta_app" data="3 b s execute_extension::cf XML features"/>
+ <anti-action application="set" data="ringback=${us-ring}"/>
+ <anti-action application="set" data="transfer_ringback=$${hold_music}"/>
+ <anti-action application="set" data="call_timeout=30"/>
+ <!-- <anti-action application="set" data="sip_exclude_contact=${network_addr}"/> -->
+ <anti-action application="set" data="hangup_after_bridge=true"/>
+ <!--<anti-action application="set" data="continue_on_fail=NORMAL_TEMPORARY_FAILURE,USER_BUSY,NO_ANSWER,TIMEOUT,NO_ROUTE_DESTINATION"/> -->
+ <anti-action application="set" data="continue_on_fail=true"/>
+ <anti-action application="db" data="insert/${domain_name}-call_return/${dialed_extension}/${caller_id_number}"/>
+ <anti-action application="db" data="insert/${domain_name}-last_dial_ext/${dialed_extension}/${uuid}"/>
+ <anti-action application="set" data="called_party_callgroup=${user_data(${dialed_extension}@${domain_name} var callgroup)}"/>
+ <!--<anti-action application="export" data="nolocal:sip_secure_media=${user_data(${dialed_extension}@${domain_name} var sip_secure_media)}"/>-->
+ <anti-action application="db" data="insert/${domain_name}-last_dial/${called_party_callgroup}/${uuid}"/>
+ <anti-action application="bridge" data="user/${dialed_extension}@${domain_name}"/>
+ <anti-action application="answer"/>
+ <anti-action application="sleep" data="1000"/>
+ <anti-action application="voicemail" data="default ${domain_name} ${dialed_extension}"/>
+ </condition>
+ </extension>
+
+ <!-- voicemail operator extension -->
+ <extension name="operator">
+ <condition field="destination_number" expression="^operator$|^0$">
+ <action application="set" data="transfer_ringback=$${hold_music}"/>
+ <action application="transfer" data="1000 XML features"/>
+ </condition>
+ </extension>
+
+ <!-- voicemail main extension -->
+ <extension name="vmain">
+ <condition field="destination_number" expression="^vmain|4000$">
+ <action application="answer"/>
+ <action application="sleep" data="1000"/>
+ <action application="voicemail" data="check default ${domain_name}"/>
+ </condition>
+ </extension>
+
+ <!-- dial via SIP uri -->
+ <extension name="sip_uri">
+ <condition field="destination_number" expression="^sip:(.*)$">
+ <action application="bridge" data="sofia/${use_profile}/$1"/>
+ </condition>
+ </extension>
+
+ <!--
+ start a dynamic conference with the settings of the "default" conference profile in conference.conf.xml
+ -->
+ <extension name="nb_conferences">
+ <condition field="destination_number" expression="^(30\d{2})$">
+ <action application="answer"/>
+ <action application="conference" data="$1-${domain_name}@default"/>
+ </condition>
+ </extension>
+
+ <extension name="wb_conferences">
+ <condition field="destination_number" expression="^(31\d{2})$">
+ <action application="answer"/>
+ <action application="conference" data="$1-${domain_name}@wideband"/>
+ </condition>
+ </extension>
+
+ <extension name="uwb_conferences">
+ <condition field="destination_number" expression="^(32\d{2})$">
+ <action application="answer"/>
+ <action application="conference" data="$1-${domain_name}@ultrawideband"/>
+ </condition>
+ </extension>
+
+ <!-- dial the freeswitch conference via SIP-->
+ <extension name="freeswitch_public_conf_via_sip">
+ <condition field="destination_number" expression="^9(888|1616)$">
+ <action application="bridge" data="sofia/${use_profile}/$1@conference.freeswitch.org"/>
+ </condition>
+ </extension>
+
+ <!--This extension will start a conference and invite several people upon entering -->
+ <extension name="mad_boss">
+ <condition field="destination_number" expression="^0911$">
+
+ <!--These params effect the outcalls made once you join-->
+ <action application="set" data="conference_auto_outcall_caller_id_name=Mad Boss"/>
+ <action application="set" data="conference_auto_outcall_caller_id_number=0911"/>
+ <action application="set" data="conference_auto_outcall_timeout=60"/>
+ <action application="set" data="conference_auto_outcall_flags=none"/>
+ <!--<action application="set" data="conference_auto_outcall_announce=say:You have been called into an emergency conference"/>-->
+
+ <!--Add as many of these as you need, These are the people you are going to call-->
+ <action application="conference_set_auto_outcall" data="sofia/gateway/$${default_provider}/19184238080"/>
+ <action application="conference_set_auto_outcall" data="sofia/default/888@conference.freeswitch.org"/>
+
+ <action application="conference" data="cool@default"/>
+ </condition>
+ </extension>
+
+ <!-- a sample IVR -->
+ <extension name="ivr_demo">
+ <condition field="destination_number" expression="^5000$">
+ <action application="answer"/>
+ <action application="sleep" data="2000"/>
+ <action application="ivr" data="demo_ivr"/>
+ </condition>
+ </extension>
+
+ <!-- Create a conference on the fly and pull someone in at the same time. -->
+ <extension name="dyanmic conference">
+ <condition field="destination_number" expression="^5001$">
+ <action application="conference" data="bridge:mydynaconf:sofia/${use_profile}/1234@conference.freeswitch.org"/>
+ </condition>
+ </extension>
+
+ <extension name="rtp_multicast_page">
+ <condition field="destination_number" expression="^pagegroup$|^7243">
+ <action application="answer"/>
+ <action application="esf_page_group"/>
+ </condition>
+ </extension>
+
+ <!--
+ Parking extensions... transferring calls to 5900 will park them in a queue.
+ -->
+ <extension name="park">
+ <condition field="destination_number" expression="^5900$">
+ <action application="set" data="fifo_music=$${hold_music}"/>
+ <action application="fifo" data="5900@${domain_name} in"/>
+ </condition>
+ </extension>
+
+ <!--
+ Parking pickup extension. Calling 5901 will pickup the call.
+ -->
+ <extension name="unpark">
+ <condition field="destination_number" expression="^5901$">
+ <action application="answer"/>
+ <action application="fifo" data="5900@${domain_name} out nowait"/>
+ </condition>
+ </extension>
+
+ <!--
+ This extension is used with snom phones.
+
+ Set a function key to park+lot (lot being a number or name.)
+ Set type to Park+Orbit. You can then park and pickup using
+ the softkey on the phone. Should work with other phones.
+ -->
+ <extension name="park">
+ <condition field="source" expression="mod_sofia"/>
+ <condition field="destination_number" expression="park\+(\d+)">
+ <action application="fifo" data="$1@${domain_name} in undef $${hold_music}"/>
+ </condition>
+ </extension>
+ <!--
+ The extension is parking pickup with a to param of the fifo we are calling
+ Some phones send things like orbit= and you can extract that info.
+ -->
+ <extension name="unpark">
+ <condition field="source" expression="mod_sofia"/>
+ <condition field="destination_number" expression="^parking$"/>
+ <condition field="${sip_to_params}" expression="fifo\=(\d+)">
+ <action application="answer"/>
+ <action application="fifo" data="$1@${domain_name} out nowait"/>
+ </condition>
+ </extension>
+
+ <!--
+ This extension is used with linksys phones.
+
+ Set a Phone tab option Call Park Serv to yes. You can park and
+ pickup using soft keys "park" and "unpark" found during
+ active call when moving navigation button. The other option
+ is to use phone's star codes (defaults to *38 and *39).
+ -->
+ <extension name="park">
+ <condition field="source" expression="mod_sofia"/>
+ <condition field="destination_number" expression="callpark"/>
+ <condition field="${sip_refer_to}">
+ <expression><![CDATA[<sip:callpark@${domain_name};orbit=(\d+)>]]></expression>
+ <action application="fifo" data="$1@${domain_name} in undef $${hold_music}"/>
+ </condition>
+ </extension>
+
+ <!--
+ This extension is used with linksys phones.
+
+ The extension is parking pickup with a to param of the fifo
+ we are calling. Linksys sends orbit=<parkingslotnumber>
+ and we extract that info.
+ -->
+ <extension name="unpark">
+ <condition field="source" expression="mod_sofia"/>
+ <condition field="destination_number" expression="pickup"/>
+ <condition field="${sip_to_params}" expression="orbit\=(\d+)">
+ <action application="answer"/>
+ <action application="fifo" data="$1@${domain_name} out nowait"/>
+ </condition>
+ </extension>
+
+ <!--
+ Here are some examples of how to override the ringback heard by the
+ far end. You have two variables that you can use to override this.
+
+ ringback - used when a call isn't answered. (early media)
+ transfer_ringback - used when the call is already answered. (post answer)
+ -->
+
+ <!-- Demonstration of how to override the ringback in various situations -->
+ <extension name="wait">
+ <condition field="destination_number" expression="^wait$">
+ <action application="pre_answer"/>
+ <action application="sleep" data="20000"/>
+ <action application="answer"/>
+ <action application="sleep" data="1000"/>
+ <action application="playback" data="voicemail/vm-goodbye.wav"/>
+ <action application="hangup"/>
+ </condition>
+ </extension>
+
+ <!-- Send a 180 and let the far end generate ringback. -->
+ <extension name="ringback_180">
+ <condition field="destination_number" expression="^9980$">
+ <action application="ring_ready"/>
+ <action application="sleep" data="20000"/>
+ <action application="answer"/>
+ <action application="sleep" data="1000"/>
+ <action application="playback" data="voicemail/vm-goodbye.wav"/>
+ <action application="hangup"/>
+ </condition>
+ </extension>
+
+ <!-- Send a 183 and send uk-ring as the ringtone. (early media) -->
+ <extension name="ringback_183_uk_ring">
+ <condition field="destination_number" expression="^9981$">
+ <action application="set" data="ringback=$${uk-ring}"/>
+ <action application="bridge" data="loopback/wait"/>
+ </condition>
+ </extension>
+
+ <!-- Send a 183 and use music as the ringtone. (early media) -->
+ <extension name="ringback_183_music_ring">
+ <condition field="destination_number" expression="^9982$">
+ <action application="set" data="ringback=$${hold_music}"/>
+ <action application="bridge" data="loopback/wait"/>
+ </condition>
+ </extension>
+
+ <!-- Answer the call and use music as the ringtone. (post answer) -->
+ <extension name="ringback_post_answer_uk_ring">
+ <condition field="destination_number" expression="^9983$">
+ <action application="set" data="transfer_ringback=$${uk-ring}"/>
+ <action application="answer"/>
+ <action application="bridge" data="loopback/wait"/>
+ </condition>
+ </extension>
+
+ <!-- Answer the call and use music as the ringtone. (post answer) -->
+ <extension name="ringback_post_answer_music">
+ <condition field="destination_number" expression="^9984$">
+ <action application="set" data="transfer_ringback=$${hold_music}"/>
+ <action application="answer"/>
+ <action application="bridge" data="loopback/wait"/>
+ </condition>
+ </extension>
+
+ <extension name="show_info">
+ <condition field="destination_number" expression="^9992$">
+ <action application="answer"/>
+ <action application="info"/>
+ <action application="sleep" data="250"/>
+ <action application="hangup"/>
+ </condition>
+ </extension>
+
+ <extension name="video_record">
+ <condition field="destination_number" expression="^9993$">
+ <action application="answer"/>
+ <action application="record_fsv" data="/tmp/testrecord.fsv"/>
+ </condition>
+ </extension>
+
+ <extension name="video_playback">
+ <condition field="destination_number" expression="^9994$">
+ <action application="answer"/>
+ <action application="play_fsv" data="/tmp/testrecord.fsv"/>
+ </condition>
+ </extension>
+
+ <extension name="delay_echo">
+ <condition field="destination_number" expression="^9995$">
+ <action application="answer"/>
+ <action application="delay_echo" data="5000"/>
+ </condition>
+ </extension>
+
+ <extension name="echo">
+ <condition field="destination_number" expression="^9996$">
+ <action application="answer"/>
+ <action application="echo"/>
+ </condition>
+ </extension>
+
+ <extension name="milliwatt">
+ <condition field="destination_number" expression="^9997$">
+ <action application="answer"/>
+ <action application="playback" data="tone_stream://%(10000,0,1004);loops=-1"/>
+ </condition>
+ </extension>
+
+ <extension name="tone_stream">
+ <condition field="destination_number" expression="^9998$">
+ <action application="answer"/>
+ <action application="playback" data="tone_stream://path=${base_dir}/conf/tetris.ttml;loops=10"/>
+ </condition>
+ </extension>
+
+ <!--
+ You will no longer hear the bong tone. The wav file is playing stating the call is secure.
+ The file will not play unless you have both TLS and SRTP active.
+ -->
+
+ <extension name="hold_music">
+ <condition field="destination_number" expression="^9999$"/>
+ <condition field="${sip_has_crypto}" expression="^(AES_CM_128_HMAC_SHA1_32|AES_CM_128_HMAC_SHA1_80)$">
+ <action application="answer"/>
+ <action application="execute_extension" data="is_secure XML features"/>
+ <action application="playback" data="$${hold_music}"/>
+ <anti-action application="answer"/>
+ <anti-action application="playback" data="$${hold_music}"/>
+ </condition>
+ </extension>
+
+ <!--
+ You can place files in the default directory to get included.
+ -->
+ <X-PRE-PROCESS cmd="include" data="default/*.xml"/>
+
+ <!--
+ WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
+
+ Anything you put below this line will usually get ignored due to the file in
+ default/99999_enum.xml as it will transfer the call to the enum dialplan.
+
+ WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
+ -->
+
+ <!--
+ This is an example of how to override the RURI on an outgoing invite to a registered contact.
+ -->
+ <!--
+ <extension name="refer">
+ <condition field="${sip_refer_to}">
+ <expression><![CDATA[<sip:${destination_number}@${domain_name}>]]></expression>
+ </condition>
+ <condition field="${sip_refer_to}">
+ <expression><![CDATA[<sip:(.*)@(.*)>]]></expression>
+ <action application="set" data="refer_user=$1"/>
+ <action application="set" data="refer_domain=$2"/>
+ <action application="info"/>
+ <action application="bridge" data="sofia/${use_profile}/${refer_user}@${refer_domain}"/>
+ </condition>
+ </extension>
+
+ <extension name="ruri">
+ <condition field="destination_number" expression="^ruri$">
+ <action application="bridge" data="sofia/${ruri_profile}/${ruri_user}${regex(${sofia_contact(${ruri_contact})}|^[^\@]+(.*)|%1)}"/>
+ </condition>
+ </extension>
+
+ <extension name="7004">
+ <condition field="destination_number" expression="^7004$">
+ <action application="set" data="ruri_profile=default"/>
+ <action application="set" data="ruri_user=2000"/>
+ <action application="set" data="ruri_contact=1001@${domain_name}"/>
+ <action application="execute_extension" data="ruri"/>
+ </condition>
+ </extension>
+ -->
+
+ <!-- SEE WARNING ABOVE IF YOU ARE TRYING TO ADD EXTENSIONS HERE! -->
+
+ </context>
+</include>
--- /dev/null
+<include>
+ <extension name="pizza_demo">
+ <condition field="destination_number" expression="^(pizza|74992)$"/>
+ <condition field="${module_exists(mod_spidermonkey)}" expression="true"/>
+ <condition field="${module_exists(mod_pocketsphinx)}" expression="true">
+ <action application="javascript" data="ps_pizza.js"/>
+ </condition>
+ </extension>
+</include>
--- /dev/null
+<include>
+
+ <extension name="local.example.com">
+ <condition field="${toll_allow}" expression="local"/>
+ <condition field="destination_number" expression="^(\d{7})$">
+ <action application="set" data="effective_caller_id_number=${outbound_caller_id_number}"/>
+ <action application="set" data="effective_caller_id_name=${outbound_caller_id_name}"/>
+ <action application="bridge" data="sofia/gateway/${default_gateway}/1${default_areacode}$1"/>
+ </condition>
+ </extension>
+
+ <extension name="domestic.example.com">
+ <condition field="${toll_allow}" expression="domestic"/>
+ <condition field="destination_number" expression="^(\d{11})$">
+ <action application="set" data="effective_caller_id_number=${outbound_caller_id_number}"/>
+ <action application="set" data="effective_caller_id_name=${outbound_caller_id_name}"/>
+ <action application="bridge" data="sofia/gateway/${default_gateway}/$1"/>
+ </condition>
+ </extension>
+
+ <extension name="international.example.com">
+ <condition field="${toll_allow}" expression="international"/>
+ <condition field="destination_number" expression="^(011\d+)$">
+ <action application="set" data="effective_caller_id_number=${outbound_caller_id_number}"/>
+ <action application="set" data="effective_caller_id_name=${outbound_caller_id_name}"/>
+ <action application="bridge" data="sofia/gateway/${default_gateway}/$1"/>
+ </condition>
+ </extension>
+
+</include>
--- /dev/null
+<include>
+ <extension name="enum">
+ <condition field="${module_exists(mod_enum)}" expression="true"/>
+ <condition field="destination_number" expression="^(.*)$">
+ <action application="transfer" data="$1 enum"/>
+ </condition>
+ </extension>
+</include>
--- /dev/null
+<!-- http://wiki.freeswitch.org/wiki/Dialplan_XML -->
+<include>
+ <context name="features">
+
+ <!-- In call Transfer for phones without a transfer button -->
+ <extension name="dx">
+ <condition field="destination_number" expression="^dx$">
+ <action application="answer"/>
+ <action application="read" data="11 11 'tone_stream://%(10000,0,350,440)' digits 5000 #"/>
+ <action application="execute_extension" data="is_transfer XML features"/>
+ </condition>
+ </extension>
+
+ <extension name="is_transfer">
+ <condition field="destination_number" expression="^is_transfer$"/>
+ <condition field="${digits}" expression="^(\d+)$">
+ <action application="transfer" data="-bleg ${digits} XML default"/>
+ <anti-action application="eval" data="cancel transfer"/>
+ </condition>
+ </extension>
+
+ <!-- Used to transfer both legs into a conference -->
+ <extension name="cf">
+ <condition field="destination_number" expression="^cf$">
+ <action application="answer"/>
+ <action application="transfer" data="-both 30${dialed_extension:2} XML default"/>
+ </condition>
+ </extension>
+
+ <extension name="please_hold">
+ <condition field="destination_number" expression="^(10[01][0-9])$">
+ <action application="set" data="transfer_ringback=$${hold_music}"/>
+ <action application="answer"/>
+ <action application="sleep" data="1500"/>
+ <action application="playback" data="ivr/ivr-hold_connect_call.wav"/>
+ <action application="transfer" data="$1 XML default"/>
+ </condition>
+ </extension>
+
+ <extension name="is_secure">
+ <!-- Only Truly consider it secure if its TLS and SRTP -->
+ <condition field="${sip_via_protocol}" expression="tls"/>
+ <condition field="${sip_secure_media_confirmed}" expression="^true$">
+ <action application="sleep" data="1000"/>
+ <action application="playback" data="misc/call_secured.wav"/>
+ <anti-action application="eval" data="not_secure"/>
+ </condition>
+ </extension>
+
+ </context>
+</include>
--- /dev/null
+<!--
+ NOTICE:
+
+ This context is usually accessed via the external sip profile sitting on port 5080.
+
+ It is recommended to have separate inbound and outbound contexts. Not only for security
+ but clearing up why you would need to do such a thing. You don't want outside un-authenticated
+ callers hitting your default context which allows dialing calls thru your providers and results
+ in Toll Fraud.
+-->
+
+<!-- http://wiki.freeswitch.org/wiki/Dialplan_XML -->
+<include>
+ <context name="public">
+
+ <extension name="unloop">
+ <condition field="$${unroll_loops}" expression="^true$"/>
+ <condition field="${sip_looped_call}" expression="^true$">
+ <action application="deflect" data="${destination_number}"/>
+ </condition>
+ </extension>
+ <!--
+ Tag anything pass thru here as an outside_call so you can make sure not
+ to create any routing loops based on the conditions that it came from
+ the outside of the switch.
+ -->
+ <extension name="outside_call" continue="true">
+ <condition>
+ <action application="set" data="outside_call=true"/>
+ </condition>
+ </extension>
+
+ <extension name="call_debug" continue="true">
+ <condition field="$${call_debug}" expression="^true$" break="never">
+ <action application="info"/>
+ </condition>
+ </extension>
+
+ <!-- Try to get domain_name from the sip_req_params variable -->
+ <extension name="set_domain" continue="true">
+ <condition field="${domain_name}" expression="^$"/>
+ <condition field="source" expression="mod_sofia"/>
+ <condition field="${sip_req_params}" expression="domain_name=([A-Z-a-z0-9.]+)">
+ <!-- We need to export this so the B-Leg will have it after transfer too. -->
+ <action application="export" data="domain_name=$1"/>
+ <anti-action application="export" data="domain_name=${sip_req_host}"/>
+ </condition>
+ </extension>
+
+ <extension name="public_extensions">
+ <condition field="destination_number" expression="^(10[01][0-9])$">
+ <action application="transfer" data="$1 XML default"/>
+ </condition>
+ </extension>
+
+ <!--
+ You can place files in the public directory to get included.
+ -->
+ <X-PRE-PROCESS cmd="include" data="public/*.xml"/>
+ <!--
+ If you have made it this far lets challenge the caller and if they authenticate
+ lets try what they dialed in the default context. (commented out by default)
+ -->
+ <!--
+ <extension name="check_auth" continue="true">
+ <condition field="${sip_authorized}" expression="^true$" break="never">
+ <anti-action application="respond" data="407"/>
+ </condition>
+ </extension>
+
+ <extension name="transfer_to_default">
+ <condition>
+ <action application="transfer" data="${destination_number} XML default"/>
+ </condition>
+ </extension>
+ -->
+ </context>
+</include>
--- /dev/null
+<include>
+ <extension name="public_did">
+ <condition field="destination_number" expression="^(5551212)$">
+ <!--
+ If you're hosting multiple domains you will want to set the
+ target_domain on these calls so they hit the proper domain after you
+ transfer the caller into the default context.
+
+ $${domain} is the default domain set from vars.xml but you can set it
+ to any domain you have setup in your user directory.
+
+ -->
+ <action application="set" data="domain_name=$${domain}"/>
+ <!-- This example maps the DID 5551212 to ring 1000 in the default context -->
+ <action application="transfer" data="1000 XML default"/>
+ </condition>
+ </extension>
+</include>
--- /dev/null
+<include>
+ <!--#comment
+ All comments starting with #command will be preprocessed and never sent to the xml parser
+ Valid instructions:
+ #include ==> Include another file to this exact point
+ (partial xml should be encased in <include></include> tags)
+ #set ==> Set a global variable (can be expanded during preprocessing with $$ variables)
+ (note the double $$ which denotes preprocessor variables)
+ #comment ==> A general comment such as this
+
+ The preprocessor will compile the full xml document to ${prefix}/log/freeswitch.xml.fsxml
+ Don't modify it while freeswitch is running cos it is mem mapped in most cases =D
+
+ The same can be achieved with the <X-PRE-PROCESS> tag where the attrs 'cmd' and 'data' are
+ parsed in the same way.
+ -->
+
+ <X-PRE-PROCESS cmd="include" data="vars.xml"/>
+
+ <section name="configuration" description="Various Configuration">
+ <X-PRE-PROCESS cmd="include" data="autoload_configs/*.xml"/>
+ </section>
+
+ <section name="dialplan" description="Regex/XML Dialplan">
+ <X-PRE-PROCESS cmd="include" data="dialplan/*.xml"/>
+ </section>
+
+ <!-- mod_dingaling is reliant on the vcard data in the "directory" section. -->
+ <!-- mod_sofia is reliant on the user data for authorization -->
+ <section name="directory" description="User Directory">
+ <X-PRE-PROCESS cmd="include" data="directory/*.xml"/>
+ </section>
+
+ <!-- phrases section (under development still) -->
+ <section name="phrases" description="Speech Phrase Management">
+ <macros>
+ <X-PRE-PROCESS cmd="include" data="lang/en/*.xml"/>
+ </macros>
+ </section>
+</include>
+
+
+
--- /dev/null
+# This is a comment. I love comments.
+
+# This file controls what Internet media types are sent to the client for
+# given file extension(s). Sending the correct media type to the client
+# is important so they know how to handle the content of the file.
+# Extra types can either be added here or by using an AddType directive
+# in your config files. For more information about Internet media types,
+# please read RFC 2045, 2046, 2047, 2048, and 2077. The Internet media type
+# registry is at <http://www.iana.org/assignments/media-types/>.
+
+# MIME type Extensions
+application/activemessage
+application/andrew-inset ez
+application/applefile
+application/atom+xml atom
+application/atomcat+xml atomcat
+application/atomicmail
+application/atomsvc+xml atomsvc
+application/auth-policy+xml
+application/batch-smtp
+application/beep+xml
+application/cals-1840
+application/ccxml+xml ccxml
+application/cellml+xml
+application/cnrp+xml
+application/commonground
+application/conference-info+xml
+application/cpl+xml
+application/csta+xml
+application/cstadata+xml
+application/cybercash
+application/davmount+xml davmount
+application/dca-rft
+application/dec-dx
+application/dialog-info+xml
+application/dicom
+application/dns
+application/dvcs
+application/ecmascript ecma
+application/edi-consent
+application/edi-x12
+application/edifact
+application/epp+xml
+application/eshop
+application/fastinfoset
+application/fastsoap
+application/fits
+application/font-tdpfr pfr
+application/h224
+application/http
+application/hyperstudio stk
+application/iges
+application/im-iscomposing+xml
+application/index
+application/index.cmd
+application/index.obj
+application/index.response
+application/index.vnd
+application/iotp
+application/ipp
+application/isup
+application/javascript js
+application/json json
+application/kpml-request+xml
+application/kpml-response+xml
+application/mac-binhex40 hqx
+application/mac-compactpro cpt
+application/macwriteii
+application/marc mrc
+application/mathematica ma nb mb
+application/mathml+xml mathml
+application/mbms-associated-procedure-description+xml
+application/mbms-deregister+xml
+application/mbms-envelope+xml
+application/mbms-msk+xml
+application/mbms-msk-response+xml
+application/mbms-protection-description+xml
+application/mbms-reception-report+xml
+application/mbms-register+xml
+application/mbms-register-response+xml
+application/mbms-user-service-description+xml
+application/mbox mbox
+application/mediaservercontrol+xml mscml
+application/mikey
+application/mp4 mp4s
+application/mpeg4-generic
+application/mpeg4-iod
+application/mpeg4-iod-xmt
+application/msword doc dot
+application/mxf mxf
+application/nasdata
+application/news-message-id
+application/news-transmission
+application/nss
+application/ocsp-request
+application/ocsp-response
+application/octet-stream bin dms lha lzh class so iso dmg dist distz pkg bpk dump elc
+application/oda oda
+application/oebps-package+xml
+application/ogg ogg
+application/parityfec
+application/pdf pdf
+application/pgp-encrypted pgp
+application/pgp-keys
+application/pgp-signature asc sig
+application/pics-rules prf
+application/pidf+xml
+application/pkcs10 p10
+application/pkcs7-mime p7m p7c
+application/pkcs7-signature p7s
+application/pkix-cert cer
+application/pkix-crl crl
+application/pkix-pkipath pkipath
+application/pkixcmp pki
+application/pls+xml pls
+application/poc-settings+xml
+application/postscript ai eps ps
+application/prs.alvestrand.titrax-sheet
+application/prs.cww cww
+application/prs.nprend
+application/prs.plucker
+application/qsig
+application/rdf+xml rdf
+application/reginfo+xml rif
+application/relax-ng-compact-syntax rnc
+application/remote-printing
+application/resource-lists+xml rl
+application/riscos
+application/rlmi+xml
+application/rls-services+xml rs
+application/rsd+xml rsd
+application/rss+xml rss
+application/rtf rtf
+application/rtx
+application/samlassertion+xml
+application/samlmetadata+xml
+application/sbml+xml sbml
+application/sdp sdp
+application/set-payment
+application/set-payment-initiation setpay
+application/set-registration
+application/set-registration-initiation setreg
+application/sgml
+application/sgml-open-catalog
+application/shf+xml shf
+application/sieve
+application/simple-filter+xml
+application/simple-message-summary
+application/simplesymbolcontainer
+application/slate
+application/smil
+application/smil+xml smi smil
+application/soap+fastinfoset
+application/soap+xml
+application/spirits-event+xml
+application/srgs gram
+application/srgs+xml grxml
+application/ssml+xml ssml
+application/timestamp-query
+application/timestamp-reply
+application/tve-trigger
+application/vemmi
+application/vividence.scriptfile
+application/vnd.3gpp.bsf+xml
+application/vnd.3gpp.pic-bw-large plb
+application/vnd.3gpp.pic-bw-small psb
+application/vnd.3gpp.pic-bw-var pvb
+application/vnd.3gpp.sms
+application/vnd.3gpp2.bcmcsinfo+xml
+application/vnd.3gpp2.sms
+application/vnd.3m.post-it-notes pwn
+application/vnd.accpac.simply.aso aso
+application/vnd.accpac.simply.imp imp
+application/vnd.acucobol acu
+application/vnd.acucorp atc acutc
+application/vnd.adobe.xdp+xml xdp
+application/vnd.adobe.xfdf xfdf
+application/vnd.aether.imp
+application/vnd.amiga.ami ami
+application/vnd.anser-web-certificate-issue-initiation cii
+application/vnd.anser-web-funds-transfer-initiation fti
+application/vnd.antix.game-component atx
+application/vnd.apple.installer+xml mpkg
+application/vnd.audiograph aep
+application/vnd.autopackage
+application/vnd.avistar+xml
+application/vnd.blueice.multipass mpm
+application/vnd.bmi bmi
+application/vnd.businessobjects rep
+application/vnd.cab-jscript
+application/vnd.canon-cpdl
+application/vnd.canon-lips
+application/vnd.cendio.thinlinc.clientconf
+application/vnd.chemdraw+xml cdxml
+application/vnd.chipnuts.karaoke-mmd mmd
+application/vnd.cinderella cdy
+application/vnd.cirpack.isdn-ext
+application/vnd.claymore cla
+application/vnd.clonk.c4group c4g c4d c4f c4p c4u
+application/vnd.commerce-battelle
+application/vnd.commonspace csp cst
+application/vnd.contact.cmsg cdbcmsg
+application/vnd.cosmocaller cmc
+application/vnd.crick.clicker clkx
+application/vnd.crick.clicker.keyboard clkk
+application/vnd.crick.clicker.palette clkp
+application/vnd.crick.clicker.template clkt
+application/vnd.crick.clicker.wordbank clkw
+application/vnd.criticaltools.wbs+xml wbs
+application/vnd.ctc-posml pml
+application/vnd.cups-pdf
+application/vnd.cups-postscript
+application/vnd.cups-ppd ppd
+application/vnd.cups-raster
+application/vnd.cups-raw
+application/vnd.curl curl
+application/vnd.cybank
+application/vnd.data-vision.rdz rdz
+application/vnd.denovo.fcselayout-link fe_launch
+application/vnd.dna dna
+application/vnd.dolby.mlp mlp
+application/vnd.dpgraph dpg
+application/vnd.dreamfactory dfac
+application/vnd.dvb.esgcontainer
+application/vnd.dvb.ipdcesgaccess
+application/vnd.dxr
+application/vnd.ecdis-update
+application/vnd.ecowin.chart mag
+application/vnd.ecowin.filerequest
+application/vnd.ecowin.fileupdate
+application/vnd.ecowin.series
+application/vnd.ecowin.seriesrequest
+application/vnd.ecowin.seriesupdate
+application/vnd.enliven nml
+application/vnd.epson.esf esf
+application/vnd.epson.msf msf
+application/vnd.epson.quickanime qam
+application/vnd.epson.salt slt
+application/vnd.epson.ssf ssf
+application/vnd.ericsson.quickcall
+application/vnd.eszigno3+xml es3 et3
+application/vnd.eudora.data
+application/vnd.ezpix-album ez2
+application/vnd.ezpix-package ez3
+application/vnd.fdf fdf
+application/vnd.ffsns
+application/vnd.fints
+application/vnd.flographit gph
+application/vnd.fluxtime.clip ftc
+application/vnd.framemaker fm frame maker
+application/vnd.frogans.fnc fnc
+application/vnd.frogans.ltf ltf
+application/vnd.fsc.weblaunch fsc
+application/vnd.fujitsu.oasys oas
+application/vnd.fujitsu.oasys2 oa2
+application/vnd.fujitsu.oasys3 oa3
+application/vnd.fujitsu.oasysgp fg5
+application/vnd.fujitsu.oasysprs bh2
+application/vnd.fujixerox.art-ex
+application/vnd.fujixerox.art4
+application/vnd.fujixerox.hbpl
+application/vnd.fujixerox.ddd ddd
+application/vnd.fujixerox.docuworks xdw
+application/vnd.fujixerox.docuworks.binder xbd
+application/vnd.fut-misnet
+application/vnd.fuzzysheet fzs
+application/vnd.genomatix.tuxedo txd
+application/vnd.google-earth.kml+xml kml
+application/vnd.google-earth.kmz kmz
+application/vnd.grafeq gqf gqs
+application/vnd.gridmp
+application/vnd.groove-account gac
+application/vnd.groove-help ghf
+application/vnd.groove-identity-message gim
+application/vnd.groove-injector grv
+application/vnd.groove-tool-message gtm
+application/vnd.groove-tool-template tpl
+application/vnd.groove-vcard vcg
+application/vnd.handheld-entertainment+xml zmm
+application/vnd.hbci hbci
+application/vnd.hcl-bireports
+application/vnd.hhe.lesson-player les
+application/vnd.hp-hpgl hpgl
+application/vnd.hp-hpid hpid
+application/vnd.hp-hps hps
+application/vnd.hp-jlyt jlt
+application/vnd.hp-pcl pcl
+application/vnd.hp-pclxl pclxl
+application/vnd.httphone
+application/vnd.hzn-3d-crossword x3d
+application/vnd.ibm.afplinedata
+application/vnd.ibm.electronic-media
+application/vnd.ibm.minipay mpy
+application/vnd.ibm.modcap afp listafp list3820
+application/vnd.ibm.rights-management irm
+application/vnd.ibm.secure-container sc
+application/vnd.igloader igl
+application/vnd.immervision-ivp ivp
+application/vnd.immervision-ivu ivu
+application/vnd.informedcontrol.rms+xml
+application/vnd.intercon.formnet xpw xpx
+application/vnd.intertrust.digibox
+application/vnd.intertrust.nncp
+application/vnd.intu.qbo qbo
+application/vnd.intu.qfx qfx
+application/vnd.ipunplugged.rcprofile rcprofile
+application/vnd.irepository.package+xml irp
+application/vnd.is-xpr xpr
+application/vnd.jam jam
+application/vnd.japannet-directory-service
+application/vnd.japannet-jpnstore-wakeup
+application/vnd.japannet-payment-wakeup
+application/vnd.japannet-registration
+application/vnd.japannet-registration-wakeup
+application/vnd.japannet-setstore-wakeup
+application/vnd.japannet-verification
+application/vnd.japannet-verification-wakeup
+application/vnd.jcp.javame.midlet-rms rms
+application/vnd.jisp jisp
+application/vnd.kahootz ktz ktr
+application/vnd.kde.karbon karbon
+application/vnd.kde.kchart chrt
+application/vnd.kde.kformula kfo
+application/vnd.kde.kivio flw
+application/vnd.kde.kontour kon
+application/vnd.kde.kpresenter kpr kpt
+application/vnd.kde.kspread ksp
+application/vnd.kde.kword kwd kwt
+application/vnd.kenameaapp htke
+application/vnd.kidspiration kia
+application/vnd.kinar kne knp
+application/vnd.koan skp skd skt skm
+application/vnd.liberty-request+xml
+application/vnd.llamagraphics.life-balance.desktop lbd
+application/vnd.llamagraphics.life-balance.exchange+xml lbe
+application/vnd.lotus-1-2-3 123
+application/vnd.lotus-approach apr
+application/vnd.lotus-freelance pre
+application/vnd.lotus-notes nsf
+application/vnd.lotus-organizer org
+application/vnd.lotus-screencam scm
+application/vnd.lotus-wordpro lwp
+application/vnd.macports.portpkg portpkg
+application/vnd.marlin.drm.actiontoken+xml
+application/vnd.marlin.drm.conftoken+xml
+application/vnd.marlin.drm.mdcf
+application/vnd.mcd mcd
+application/vnd.medcalcdata mc1
+application/vnd.mediastation.cdkey cdkey
+application/vnd.meridian-slingshot
+application/vnd.mfer mwf
+application/vnd.mfmp mfm
+application/vnd.micrografx.flo flo
+application/vnd.micrografx.igx igx
+application/vnd.mif mif
+application/vnd.minisoft-hp3000-save
+application/vnd.mitsubishi.misty-guard.trustweb
+application/vnd.mobius.daf daf
+application/vnd.mobius.dis dis
+application/vnd.mobius.mbk mbk
+application/vnd.mobius.mqy mqy
+application/vnd.mobius.msl msl
+application/vnd.mobius.plc plc
+application/vnd.mobius.txf txf
+application/vnd.mophun.application mpn
+application/vnd.mophun.certificate mpc
+application/vnd.motorola.flexsuite
+application/vnd.motorola.flexsuite.adsi
+application/vnd.motorola.flexsuite.fis
+application/vnd.motorola.flexsuite.gotap
+application/vnd.motorola.flexsuite.kmr
+application/vnd.motorola.flexsuite.ttc
+application/vnd.motorola.flexsuite.wem
+application/vnd.mozilla.xul+xml xul
+application/vnd.ms-artgalry cil
+application/vnd.ms-asf asf
+application/vnd.ms-cab-compressed cab
+application/vnd.ms-excel xls xlm xla xlc xlt xlw
+application/vnd.ms-fontobject eot
+application/vnd.ms-htmlhelp chm
+application/vnd.ms-ims ims
+application/vnd.ms-lrm lrm
+application/vnd.ms-playready.initiator+xml
+application/vnd.ms-powerpoint ppt pps pot
+application/vnd.ms-project mpp mpt
+application/vnd.ms-tnef
+application/vnd.ms-wmdrm.lic-chlg-req
+application/vnd.ms-wmdrm.lic-resp
+application/vnd.ms-wmdrm.meter-chlg-req
+application/vnd.ms-wmdrm.meter-resp
+application/vnd.ms-works wps wks wcm wdb
+application/vnd.ms-wpl wpl
+application/vnd.ms-xpsdocument xps
+application/vnd.mseq mseq
+application/vnd.msign
+application/vnd.music-niff
+application/vnd.musician mus
+application/vnd.ncd.control
+application/vnd.nervana
+application/vnd.netfpx
+application/vnd.neurolanguage.nlu nlu
+application/vnd.noblenet-directory nnd
+application/vnd.noblenet-sealer nns
+application/vnd.noblenet-web nnw
+application/vnd.nokia.catalogs
+application/vnd.nokia.conml+wbxml
+application/vnd.nokia.conml+xml
+application/vnd.nokia.isds-radio-presets
+application/vnd.nokia.iptv.config+xml
+application/vnd.nokia.landmark+wbxml
+application/vnd.nokia.landmark+xml
+application/vnd.nokia.landmarkcollection+xml
+application/vnd.nokia.n-gage.ac+xml
+application/vnd.nokia.n-gage.data ngdat
+application/vnd.nokia.n-gage.symbian.install n-gage
+application/vnd.nokia.ncd
+application/vnd.nokia.pcd+wbxml
+application/vnd.nokia.pcd+xml
+application/vnd.nokia.radio-preset rpst
+application/vnd.nokia.radio-presets rpss
+application/vnd.novadigm.edm edm
+application/vnd.novadigm.edx edx
+application/vnd.novadigm.ext ext
+application/vnd.oasis.opendocument.chart odc
+application/vnd.oasis.opendocument.chart-template otc
+application/vnd.oasis.opendocument.formula odf
+application/vnd.oasis.opendocument.formula-template otf
+application/vnd.oasis.opendocument.graphics odg
+application/vnd.oasis.opendocument.graphics-template otg
+application/vnd.oasis.opendocument.image odi
+application/vnd.oasis.opendocument.image-template oti
+application/vnd.oasis.opendocument.presentation odp
+application/vnd.oasis.opendocument.presentation-template otp
+application/vnd.oasis.opendocument.spreadsheet ods
+application/vnd.oasis.opendocument.spreadsheet-template ots
+application/vnd.oasis.opendocument.text odt
+application/vnd.oasis.opendocument.text-master otm
+application/vnd.oasis.opendocument.text-template ott
+application/vnd.oasis.opendocument.text-web oth
+application/vnd.obn
+application/vnd.olpc-sugar xo
+application/vnd.oma-scws-config
+application/vnd.oma-scws-http-request
+application/vnd.oma-scws-http-response
+application/vnd.oma.bcast.associated-procedure-parameter+xml
+application/vnd.oma.bcast.drm-trigger+xml
+application/vnd.oma.bcast.imd+xml
+application/vnd.oma.bcast.notification+xml
+application/vnd.oma.bcast.sgboot
+application/vnd.oma.bcast.sgdd+xml
+application/vnd.oma.bcast.sgdu
+application/vnd.oma.bcast.simple-symbol-container
+application/vnd.oma.bcast.smartcard-trigger+xml
+application/vnd.oma.bcast.sprov+xml
+application/vnd.oma.dd2+xml dd2
+application/vnd.oma.drm.risd+xml
+application/vnd.oma.group-usage-list+xml
+application/vnd.oma.poc.groups+xml
+application/vnd.oma.xcap-directory+xml
+application/vnd.omads-email+xml
+application/vnd.omads-file+xml
+application/vnd.omads-folder+xml
+application/vnd.omaloc-supl-init
+application/vnd.openofficeorg.extension oxt
+application/vnd.osa.netdeploy
+application/vnd.osgi.dp dp
+application/vnd.otps.ct-kip+xml
+application/vnd.palm prc pdb pqa oprc
+application/vnd.paos.xml
+application/vnd.pg.format str
+application/vnd.pg.osasli ei6
+application/vnd.piaccess.application-licence
+application/vnd.picsel efif
+application/vnd.poc.group-advertisement+xml
+application/vnd.pocketlearn plf
+application/vnd.powerbuilder6 pbd
+application/vnd.powerbuilder6-s
+application/vnd.powerbuilder7
+application/vnd.powerbuilder7-s
+application/vnd.powerbuilder75
+application/vnd.powerbuilder75-s
+application/vnd.preminet
+application/vnd.previewsystems.box box
+application/vnd.proteus.magazine mgz
+application/vnd.publishare-delta-tree qps
+application/vnd.pvi.ptid1 ptid
+application/vnd.pwg-multiplexed
+application/vnd.pwg-xhtml-print+xml
+application/vnd.qualcomm.brew-app-res
+application/vnd.quark.quarkxpress qxd qxt qwd qwt qxl qxb
+application/vnd.rapid
+application/vnd.recordare.musicxml mxl
+application/vnd.recordare.musicxml+xml
+application/vnd.renlearn.rlprint
+application/vnd.rn-realmedia rm
+application/vnd.ruckus.download
+application/vnd.s3sms
+application/vnd.scribus
+application/vnd.sealed.3df
+application/vnd.sealed.csf
+application/vnd.sealed.doc
+application/vnd.sealed.eml
+application/vnd.sealed.mht
+application/vnd.sealed.net
+application/vnd.sealed.ppt
+application/vnd.sealed.tiff
+application/vnd.sealed.xls
+application/vnd.sealedmedia.softseal.html
+application/vnd.sealedmedia.softseal.pdf
+application/vnd.seemail see
+application/vnd.sema sema
+application/vnd.semd semd
+application/vnd.semf semf
+application/vnd.shana.informed.formdata ifm
+application/vnd.shana.informed.formtemplate itp
+application/vnd.shana.informed.interchange iif
+application/vnd.shana.informed.package ipk
+application/vnd.simtech-mindmapper twd twds
+application/vnd.smaf mmf
+application/vnd.solent.sdkm+xml sdkm sdkd
+application/vnd.spotfire.dxp dxp
+application/vnd.spotfire.sfs sfs
+application/vnd.sss-cod
+application/vnd.sss-dtf
+application/vnd.sss-ntf
+application/vnd.street-stream
+application/vnd.sun.wadl+xml
+application/vnd.sus-calendar sus susp
+application/vnd.svd svd
+application/vnd.swiftview-ics
+application/vnd.syncml+xml xsm
+application/vnd.syncml.dm+wbxml bdm
+application/vnd.syncml.dm+xml xdm
+application/vnd.syncml.ds.notification
+application/vnd.tao.intent-module-archive tao
+application/vnd.tmobile-livetv tmo
+application/vnd.trid.tpt tpt
+application/vnd.triscape.mxs mxs
+application/vnd.trueapp tra
+application/vnd.truedoc
+application/vnd.ufdl ufd ufdl
+application/vnd.uiq.theme utz
+application/vnd.umajin umj
+application/vnd.unity unityweb
+application/vnd.uoml+xml uoml
+application/vnd.uplanet.alert
+application/vnd.uplanet.alert-wbxml
+application/vnd.uplanet.bearer-choice
+application/vnd.uplanet.bearer-choice-wbxml
+application/vnd.uplanet.cacheop
+application/vnd.uplanet.cacheop-wbxml
+application/vnd.uplanet.channel
+application/vnd.uplanet.channel-wbxml
+application/vnd.uplanet.list
+application/vnd.uplanet.list-wbxml
+application/vnd.uplanet.listcmd
+application/vnd.uplanet.listcmd-wbxml
+application/vnd.uplanet.signal
+application/vnd.vcx vcx
+application/vnd.vd-study
+application/vnd.vectorworks
+application/vnd.vidsoft.vidconference
+application/vnd.visio vsd vst vss vsw
+application/vnd.visionary vis
+application/vnd.vividence.scriptfile
+application/vnd.vsf vsf
+application/vnd.wap.sic
+application/vnd.wap.slc
+application/vnd.wap.wbxml wbxml
+application/vnd.wap.wmlc wmlc
+application/vnd.wap.wmlscriptc wmlsc
+application/vnd.webturbo wtb
+application/vnd.wfa.wsc
+application/vnd.wordperfect wpd
+application/vnd.wqd wqd
+application/vnd.wrq-hp3000-labelled
+application/vnd.wt.stf stf
+application/vnd.wv.csp+wbxml
+application/vnd.wv.csp+xml
+application/vnd.wv.ssp+xml
+application/vnd.xara xar
+application/vnd.xfdl xfdl
+application/vnd.xmpie.cpkg
+application/vnd.xmpie.dpkg
+application/vnd.xmpie.plan
+application/vnd.xmpie.ppkg
+application/vnd.xmpie.xlim
+application/vnd.yamaha.hv-dic hvd
+application/vnd.yamaha.hv-script hvs
+application/vnd.yamaha.hv-voice hvp
+application/vnd.yamaha.smaf-audio saf
+application/vnd.yamaha.smaf-phrase spf
+application/vnd.yellowriver-custom-menu cmp
+application/vnd.zzazz.deck+xml zaz
+application/voicexml+xml vxml
+application/watcherinfo+xml
+application/whoispp-query
+application/whoispp-response
+application/winhlp hlp
+application/wita
+application/wordperfect5.1
+application/wsdl+xml wsdl
+application/wspolicy+xml wspolicy
+application/x-ace-compressed ace
+application/x-bcpio bcpio
+application/x-bittorrent torrent
+application/x-bzip bz
+application/x-bzip2 bz2 boz
+application/x-cdlink vcd
+application/x-chat chat
+application/x-chess-pgn pgn
+application/x-compress
+application/x-cpio cpio
+application/x-csh csh
+application/x-director dcr dir dxr fgd
+application/x-dvi dvi
+application/x-futuresplash spl
+application/x-gtar gtar
+application/x-gzip
+application/x-hdf hdf
+application/x-latex latex
+application/x-ms-wmd wmd
+application/x-ms-wmz wmz
+application/x-msaccess mdb
+application/x-msbinder obd
+application/x-mscardfile crd
+application/x-msclip clp
+application/x-msdownload exe dll com bat msi
+application/x-msmediaview mvb m13 m14
+application/x-msmetafile wmf
+application/x-msmoney mny
+application/x-mspublisher pub
+application/x-msschedule scd
+application/x-msterminal trm
+application/x-mswrite wri
+application/x-netcdf nc cdf
+application/x-pkcs12 p12 pfx
+application/x-pkcs7-certificates p7b spc
+application/x-pkcs7-certreqresp p7r
+application/x-rar-compressed rar
+application/x-sh sh
+application/x-shar shar
+application/x-shockwave-flash swf
+application/x-stuffit sit
+application/x-stuffitx sitx
+application/x-sv4cpio sv4cpio
+application/x-sv4crc sv4crc
+application/x-tar tar
+application/x-tcl tcl
+application/x-tex tex
+application/x-texinfo texinfo texi
+application/x-ustar ustar
+application/x-wais-source src
+application/x-x509-ca-cert der crt
+application/x400-bp
+application/xcap-att+xml
+application/xcap-caps+xml
+application/xcap-el+xml
+application/xcap-error+xml
+application/xcap-ns+xml
+application/xenc+xml xenc
+application/xhtml+xml xhtml xht
+application/xml xml xsl
+application/xml-dtd dtd
+application/xml-external-parsed-entity
+application/xmpp+xml
+application/xop+xml xop
+application/xslt+xml xslt
+application/xspf+xml xspf
+application/xv+xml mxml xhvml xvml xvm
+application/zip zip
+audio/32kadpcm
+audio/3gpp
+audio/3gpp2
+audio/ac3
+audio/amr
+audio/amr-wb
+audio/amr-wb+
+audio/asc
+audio/basic au snd
+audio/bv16
+audio/bv32
+audio/clearmode
+audio/cn
+audio/dat12
+audio/dls
+audio/dsr-es201108
+audio/dsr-es202050
+audio/dsr-es202211
+audio/dsr-es202212
+audio/dvi4
+audio/eac3
+audio/evrc
+audio/evrc-qcp
+audio/evrc0
+audio/evrc1
+audio/evrcb
+audio/evrcb0
+audio/evrcb1
+audio/g722
+audio/g7221
+audio/g723
+audio/g726-16
+audio/g726-24
+audio/g726-32
+audio/g726-40
+audio/g728
+audio/g729
+audio/g7291
+audio/g729d
+audio/g729e
+audio/gsm
+audio/gsm-efr
+audio/ilbc
+audio/l16
+audio/l20
+audio/l24
+audio/l8
+audio/lpc
+audio/midi mid midi kar rmi
+audio/mobile-xmf
+audio/mp4 mp4a
+audio/mp4a-latm
+audio/mpa
+audio/mpa-robust
+audio/mpeg mpga mp2 mp2a mp3 m2a m3a
+audio/mpeg4-generic
+audio/parityfec
+audio/pcma
+audio/pcmu
+audio/prs.sid
+audio/qcelp
+audio/red
+audio/rtp-enc-aescm128
+audio/rtp-midi
+audio/rtx
+audio/smv
+audio/smv0
+audio/smv-qcp
+audio/sp-midi
+audio/t140c
+audio/t38
+audio/telephone-event
+audio/tone
+audio/vdvi
+audio/vmr-wb
+audio/vnd.3gpp.iufp
+audio/vnd.4sb
+audio/vnd.audiokoz
+audio/vnd.celp
+audio/vnd.cisco.nse
+audio/vnd.cmles.radio-events
+audio/vnd.cns.anp1
+audio/vnd.cns.inf1
+audio/vnd.digital-winds eol
+audio/vnd.dlna.adts
+audio/vnd.dolby.mlp
+audio/vnd.everad.plj
+audio/vnd.hns.audio
+audio/vnd.lucent.voice lvp
+audio/vnd.nokia.mobile-xmf
+audio/vnd.nortel.vbk
+audio/vnd.nuera.ecelp4800 ecelp4800
+audio/vnd.nuera.ecelp7470 ecelp7470
+audio/vnd.nuera.ecelp9600 ecelp9600
+audio/vnd.octel.sbc
+audio/vnd.qcelp
+audio/vnd.rhetorex.32kadpcm
+audio/vnd.sealedmedia.softseal.mpeg
+audio/vnd.vmx.cvsd
+audio/wav wav
+audio/x-aiff aif aiff aifc
+audio/x-mpegurl m3u
+audio/x-ms-wax wax
+audio/x-ms-wma wma
+audio/x-pn-realaudio ram ra
+audio/x-pn-realaudio-plugin rmp
+audio/x-wav wav
+chemical/x-cdx cdx
+chemical/x-cif cif
+chemical/x-cmdf cmdf
+chemical/x-cml cml
+chemical/x-csml csml
+chemical/x-pdb pdb
+chemical/x-xyz xyz
+image/bmp bmp
+image/cgm cgm
+image/fits
+image/g3fax g3
+image/gif gif
+image/ief ief
+image/jp2
+image/jpeg jpeg jpg jpe
+image/jpm
+image/jpx
+image/naplps
+image/png png
+image/prs.btif btif
+image/prs.pti
+image/svg+xml svg svgz
+image/t38
+image/tiff tiff tif
+image/tiff-fx
+image/vnd.adobe.photoshop psd
+image/vnd.cns.inf2
+image/vnd.djvu djvu djv
+image/vnd.dwg dwg
+image/vnd.dxf dxf
+image/vnd.fastbidsheet fbs
+image/vnd.fpx fpx
+image/vnd.fst fst
+image/vnd.fujixerox.edmics-mmr mmr
+image/vnd.fujixerox.edmics-rlc rlc
+image/vnd.globalgraphics.pgb
+image/vnd.microsoft.icon ico
+image/vnd.mix
+image/vnd.ms-modi mdi
+image/vnd.net-fpx npx
+image/vnd.sealed.png
+image/vnd.sealedmedia.softseal.gif
+image/vnd.sealedmedia.softseal.jpg
+image/vnd.svf
+image/vnd.wap.wbmp wbmp
+image/vnd.xiff xif
+image/x-cmu-raster ras
+image/x-cmx cmx
+image/x-icon
+image/x-pcx pcx
+image/x-pict pic pct
+image/x-portable-anymap pnm
+image/x-portable-bitmap pbm
+image/x-portable-graymap pgm
+image/x-portable-pixmap ppm
+image/x-rgb rgb
+image/x-xbitmap xbm
+image/x-xpixmap xpm
+image/x-xwindowdump xwd
+message/cpim
+message/delivery-status
+message/disposition-notification
+message/external-body
+message/http
+message/news
+message/partial
+message/rfc822 eml mime
+message/s-http
+message/sip
+message/sipfrag
+message/tracking-status
+model/iges igs iges
+model/mesh msh mesh silo
+model/vnd.dwf dwf
+model/vnd.flatland.3dml
+model/vnd.gdl gdl
+model/vnd.gs.gdl
+model/vnd.gtw gtw
+model/vnd.moml+xml
+model/vnd.mts mts
+model/vnd.parasolid.transmit.binary
+model/vnd.parasolid.transmit.text
+model/vnd.vtu vtu
+model/vrml wrl vrml
+multipart/alternative
+multipart/appledouble
+multipart/byteranges
+multipart/digest
+multipart/encrypted
+multipart/form-data
+multipart/header-set
+multipart/mixed
+multipart/parallel
+multipart/related
+multipart/report
+multipart/signed
+multipart/voice-message
+text/calendar ics ifb
+text/css css
+text/csv csv
+text/directory
+text/dns
+text/enriched
+text/html html htm
+text/parityfec
+text/plain txt text conf def list log in
+text/prs.fallenstein.rst
+text/prs.lines.tag dsc
+text/red
+text/rfc822-headers
+text/richtext rtx
+text/rtf
+text/rtp-enc-aescm128
+text/rtx
+text/sgml sgml sgm
+text/t140
+text/tab-separated-values tsv
+text/troff t tr roff man me ms
+text/uri-list uri uris urls
+text/vnd.abc
+text/vnd.curl
+text/vnd.dmclientscript
+text/vnd.esmertec.theme-descriptor
+text/vnd.fly fly
+text/vnd.fmi.flexstor flx
+text/vnd.in3d.3dml 3dml
+text/vnd.in3d.spot spot
+text/vnd.iptc.newsml
+text/vnd.iptc.nitf
+text/vnd.latex-z
+text/vnd.motorola.reflex
+text/vnd.ms-mediapackage
+text/vnd.net2phone.commcenter.command
+text/vnd.sun.j2me.app-descriptor jad
+text/vnd.trolltech.linguist
+text/vnd.wap.si
+text/vnd.wap.sl
+text/vnd.wap.wml wml
+text/vnd.wap.wmlscript wmls
+text/x-asm s asm
+text/x-c c cc cxx cpp h hh dic
+text/x-fortran f for f77 f90
+text/x-pascal p pas
+text/x-java-source java
+text/x-setext etx
+text/x-uuencode uu
+text/x-vcalendar vcs
+text/x-vcard vcf
+text/xml
+text/xml-external-parsed-entity
+video/3gpp 3gp
+video/3gpp-tt
+video/3gpp2 3g2
+video/bmpeg
+video/bt656
+video/celb
+video/dv
+video/h261 h261
+video/h263 h263
+video/h263-1998
+video/h263-2000
+video/h264 h264
+video/jpeg jpgv
+video/jpm jpm jpgm
+video/mj2 mj2 mjp2
+video/mp1s
+video/mp2p
+video/mp2t
+video/mp4 mp4 mp4v mpg4
+video/mp4v-es
+video/mpeg mpeg mpg mpe m1v m2v
+video/mpeg4-generic
+video/mpv
+video/nv
+video/parityfec
+video/pointer
+video/quicktime qt mov
+video/raw
+video/rtp-enc-aescm128
+video/rtx
+video/smpte292m
+video/vc1
+video/vnd.dlna.mpeg-tts
+video/vnd.fvt fvt
+video/vnd.hns.video
+video/vnd.motorola.video
+video/vnd.motorola.videop
+video/vnd.mpegurl mxu m4u
+video/vnd.nokia.interleaved-multimedia
+video/vnd.nokia.videovoip
+video/vnd.objectvideo
+video/vnd.sealed.mpeg1
+video/vnd.sealed.mpeg4
+video/vnd.sealed.swf
+video/vnd.sealedmedia.softseal.mov
+video/vnd.vivo viv
+video/x-fli fli
+video/x-ms-asf asf asx
+video/x-ms-wm wm
+video/x-ms-wmv wmv
+video/x-ms-wmx wmx
+video/x-ms-wvx wvx
+video/x-msvideo avi
+video/x-sgi-movie movie
+x-conference/x-cooltalk ice
--- /dev/null
+<!-- http://wiki.freeswitch.org/wiki/Sofia_Configuration_Files -->
+<profile name="external">
+ <!-- This profile is only for outbound registrations to providers -->
+ <gateways>
+ <X-PRE-PROCESS cmd="include" data="external/*.xml"/>
+ </gateways>
+
+ <aliases>
+ <alias name="outbound"/>
+ <alias name="nat"/> <!-- for backwards compatibility -->
+ </aliases>
+
+ <domains>
+ <domain name="all" alias="false" parse="true"/>
+ </domains>
+
+ <settings>
+ <param name="debug" value="0"/>
+ <param name="sip-trace" value="no"/>
+ <param name="rfc2833-pt" value="101"/>
+ <param name="sip-port" value="$${external_sip_port}"/>
+ <param name="dialplan" value="XML"/>
+ <param name="context" value="public"/>
+ <param name="dtmf-duration" value="100"/>
+ <param name="codec-prefs" value="$${outbound_codec_prefs}"/>
+ <param name="hold-music" value="$${hold_music}"/>
+ <param name="use-rtp-timer" value="true"/>
+ <param name="rtp-timer-name" value="soft"/>
+ <!--<param name="enable-100rel" value="true"/>-->
+ <!-- This could be set to "passive" -->
+ <param name="manage-presence" value="false"/>
+
+ <!-- used to share presence info across sofia profiles
+ manage-presence needs to be set to passive on this profile
+ if you want it to behave as if it were the internal profile
+ for presence.
+ -->
+ <!-- Name of the db to use for this profile -->
+ <!--<param name="dbname" value="share_presence"/>-->
+ <!--<param name="presence-hosts" value="$${domain}"/>-->
+ <!--<param name="force-register-domain" value="$${domain}"/>-->
+ <!--all inbound reg will stored in the db using this domain -->
+ <!--<param name="force-register-db-domain" value="$${domain}"/>-->
+ <!-- ************************************************* -->
+
+ <!--<param name="aggressive-nat-detection" value="true"/>-->
+ <param name="inbound-codec-negotiation" value="generous"/>
+ <param name="nonce-ttl" value="60"/>
+ <param name="auth-calls" value="false"/>
+ <param name="rtp-timeout-sec" value="1800"/>
+ <!--
+ DO NOT USE HOSTNAMES, ONLY IP ADDRESSES IN THESE SETTINGS!
+ -->
+ <param name="rtp-ip" value="$${local_ip_v4}"/>
+ <param name="sip-ip" value="$${local_ip_v4}"/>
+ <param name="ext-rtp-ip" value="$${external_rtp_ip}"/>
+ <param name="ext-sip-ip" value="$${external_sip_ip}"/>
+ <param name="rtp-timeout-sec" value="300"/>
+ <param name="rtp-hold-timeout-sec" value="1800"/>
+ <!--<param name="enable-3pcc" value="true"/>-->
+
+ <!-- TLS: disabled by default, set to "true" to enable -->
+ <param name="tls" value="$${external_ssl_enable}"/>
+ <!-- additional bind parameters for TLS -->
+ <param name="tls-bind-params" value="transport=tls"/>
+ <!-- Port to listen on for TLS requests. (5081 will be used if unspecified) -->
+ <param name="tls-sip-port" value="$${external_tls_port}"/>
+ <!-- Location of the agent.pem and cafile.pem ssl certificates (needed for TLS server) -->
+ <param name="tls-cert-dir" value="$${external_ssl_dir}"/>
+ <!-- TLS version ("sslv23" (default), "tlsv1"). NOTE: Phones may not work with TLSv1 -->
+ <param name="tls-version" value="$${sip_tls_version}"/>
+
+ </settings>
+</profile>
--- /dev/null
+<include>
+ <!--<gateway name="asterlink.com">-->
+ <!--/// account username *required* ///-->
+ <!--<param name="username" value="cluecon"/>-->
+ <!--/// auth realm: *optional* same as gateway name, if blank ///-->
+ <!--<param name="realm" value="asterlink.com"/>-->
+ <!--/// username to use in from: *optional* same as username, if blank ///-->
+ <!--<param name="from-user" value="cluecon"/>-->
+ <!--/// domain to use in from: *optional* same as realm, if blank ///-->
+ <!--<param name="from-domain" value="asterlink.com"/>-->
+ <!--/// account password *required* ///-->
+ <!--<param name="password" value="2007"/>-->
+ <!--/// extension for inbound calls: *optional* same as username, if blank ///-->
+ <!--<param name="extension" value="cluecon"/>-->
+ <!--/// proxy host: *optional* same as realm, if blank ///-->
+ <!--<param name="proxy" value="asterlink.com"/>-->
+ <!--/// send register to this proxy: *optional* same as proxy, if blank ///-->
+ <!--<param name="register-proxy" value="mysbc.com"/>-->
+ <!--/// expire in seconds: *optional* 3600, if blank ///-->
+ <!--<param name="expire-seconds" value="60"/>-->
+ <!--/// do not register ///-->
+ <!--<param name="register" value="false"/>-->
+ <!-- which transport to use for register -->
+ <!--<param name="register-transport" value="udp"/>-->
+ <!--How many seconds before a retry when a failure or timeout occurs -->
+ <!--<param name="retry-seconds" value="30"/>-->
+ <!--Use the callerid of an inbound call in the from field on outbound calls via this gateway -->
+ <!--<param name="caller-id-in-from" value="false"/>-->
+ <!--extra sip params to send in the contact-->
+ <!--<param name="contact-params" value="tport=tcp"/>-->
+ <!--send an options ping every x seconds, failure will unregister and/or mark it down-->
+ <!--<param name="ping" value="25"/>-->
+ <!--</gateway>-->
+</include>
--- /dev/null
+<!--
+ This is an example of a sofia profile setup to listen on IPv6.
+-->
+<!-- http://wiki.freeswitch.org/wiki/Sofia_Configuration_Files -->
+<profile name="internal-ipv6">
+ <!--aliases are other names that will work as a valid profile name for this profile-->
+ <settings>
+ <!-- <param name="user-agent-string" value="FreeSWITCH Rocks!"/> -->
+ <param name="debug" value="0"/>
+ <param name="sip-trace" value="no"/>
+ <param name="context" value="public"/>
+ <param name="rfc2833-pt" value="101"/>
+ <!-- port to bind to for sip traffic -->
+ <param name="sip-port" value="$${internal_sip_port}"/>
+ <param name="dialplan" value="XML"/>
+ <param name="dtmf-duration" value="100"/>
+ <param name="codec-prefs" value="$${global_codec_prefs}"/>
+ <param name="use-rtp-timer" value="true"/>
+ <param name="rtp-timer-name" value="soft"/>
+ <!-- ip address to use for rtp -->
+ <param name="rtp-ip" value="$${local_ip_v6}"/>
+ <!-- ip address to bind to -->
+ <param name="sip-ip" value="$${local_ip_v6}"/>
+ <param name="hold-music" value="$${hold_music}"/>
+ <!--<param name="enable-timer" value="false"/>-->
+ <!--<param name="enable-100rel" value="false"/>-->
+ <param name="apply-inbound-acl" value="domains"/>
+ <!--<param name="apply-register-acl" value="domains"/>-->
+ <!--<param name="dtmf-type" value="info"/>-->
+ <param name="record-template" value="$${base_dir}/recordings/${caller_id_number}.${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/>
+ <!--enable to use presence and mwi -->
+ <param name="manage-presence" value="true"/>
+ <!-- This setting is for AAL2 bitpacking on G726 -->
+ <!-- <param name="bitpacking" value="aal2"/> -->
+ <!--max number of open dialogs in proceeding -->
+ <!--<param name="max-proceeding" value="1000"/>-->
+ <!--session timers for all call to expire after the specified seconds -->
+ <!--<param name="session-timeout" value="120"/>-->
+ <!--<param name="multiple-registrations" value="true"/>-->
+ <!--set to 'greedy' if you want your codec list to take precedence -->
+ <param name="inbound-codec-negotiation" value="generous"/>
+ <!-- if you want to send any special bind params of your own -->
+ <!--<param name="bind-params" value="transport=udp"/>-->
+ <!--<param name="unregister-on-options-fail" value="true"/>-->
+
+ <!-- TLS: disabled by default, set to "true" to enable -->
+ <param name="tls" value="$${internal_ssl_enable}"/>
+ <!-- additional bind parameters for TLS -->
+ <param name="tls-bind-params" value="transport=tls"/>
+ <!-- Port to listen on for TLS requests. (5061 will be used if unspecified) -->
+ <param name="tls-sip-port" value="$${internal_tls_port}"/>
+ <!-- Location of the agent.pem and cafile.pem ssl certificates (needed for TLS server) -->
+ <param name="tls-cert-dir" value="$${internal_ssl_dir}"/>
+ <!-- TLS version ("sslv23" (default), "tlsv1"). NOTE: Phones may not work with TLSv1 -->
+ <param name="tls-version" value="$${sip_tls_version}"/>
+
+ <!--If you don't want to pass through timestampes from 1 RTP call to another (on a per call basis with rtp_rewrite_timestamps chanvar)-->
+ <!--<param name="rtp-rewrite-timestamps" value="true"/>-->
+ <!--<param name="pass-rfc2833" value="true"/>-->
+ <!--If you have ODBC support and a working dsn you can use it instead of SQLite-->
+ <!--<param name="odbc-dsn" value="dsn:user:pass"/>-->
+
+ <!--Uncomment to set all inbound calls to no media mode-->
+ <!--<param name="inbound-bypass-media" value="true"/>-->
+
+ <!--Uncomment to set all inbound calls to proxy media mode-->
+ <!--<param name="inbound-proxy-media" value="true"/>-->
+
+ <!--Uncomment to let calls hit the dialplan *before* you decide if the codec is ok-->
+ <!--<param name="inbound-late-negotiation" value="true"/>-->
+
+ <!-- this lets anything register -->
+ <!-- comment the next line and uncomment one or both of the other 2 lines for call authentication -->
+ <!-- <param name="accept-blind-reg" value="true"/> -->
+
+ <!-- accept any authentication without actually checking (not a good feature for most people) -->
+ <!-- <param name="accept-blind-auth" value="true"/> -->
+
+ <!-- suppress CNG on this profile or per call with the 'suppress_cng' variable -->
+ <!-- <param name="suppress-cng" value="true"/> -->
+
+ <!--TTL for nonce in sip auth-->
+ <param name="nonce-ttl" value="60"/>
+ <!--Uncomment if you want to force the outbound leg of a bridge to only offer the codec
+ that the originator is using-->
+ <!--<param name="disable-transcoding" value="true"/>-->
+ <!-- Used for when phones respond to a challenged ACK with method INVITE in the hash -->
+ <!--<param name="NDLB-broken-auth-hash" value="true"/>-->
+ <!-- add a ;received="<ip>:<port>" to the contact when replying to register for nat handling -->
+ <!--<param name="NDLB-received-in-nat-reg-contact" value="true"/>-->
+ <param name="auth-calls" value="$${internal_auth_calls}"/>
+ <!-- on authed calls, authenticate *all* the packets not just invite -->
+ <param name="auth-all-packets" value="false"/>
+ <!-- <param name="ext-rtp-ip" value="$${external_rtp_ip}"/> -->
+ <!-- <param name="ext-sip-ip" value="$${external_sip_ip}"/> -->
+ <!-- rtp inactivity timeout -->
+ <param name="rtp-timeout-sec" value="300"/>
+ <param name="rtp-hold-timeout-sec" value="1800"/>
+ <!-- VAD choose one (out is a good choice); -->
+ <!-- <param name="vad" value="in"/> -->
+ <!-- <param name="vad" value="out"/> -->
+ <!-- <param name="vad" value="both"/> -->
+ <!--<param name="alias" value="sip:10.0.1.251:5555"/>-->
+ <!--all inbound reg will look in this domain for the users -->
+ <!--<param name="force-register-domain" value="$${domain}"/>-->
+ <!--all inbound reg will stored in the db using this domain -->
+ <!--<param name="force-register-db-domain" value="$${domain}"/>-->
+ <!-- disable register and transfer which may be undesirable in a public switch -->
+ <!--<param name="disable-transfer" value="true"/>-->
+ <!--<param name="disable-register" value="true"/>-->
+ <!--<param name="enable-3pcc" value="true"/>-->
+ <!-- use stun when specified (default is true) -->
+ <!--<param name="stun-enabled" value="true"/>-->
+ <!-- use stun when specified (default is true) -->
+ <!-- set to true to have the profile determine stun is not useful and turn it off globally-->
+ <!--<param name="stun-auto-disable" value="true"/>-->
+
+ <!-- TLS: disabled by default, set to "true" to enable -->
+ <param name="tls" value="$${internal_ssl_enable}"/>
+ <!-- additional bind parameters for TLS -->
+ <param name="tls-bind-params" value="transport=tls"/>
+ <!-- Port to listen on for TLS requests. (5061 will be used if unspecified) -->
+ <param name="tls-sip-port" value="$${internal_tls_port}"/>
+ <!-- Location of the agent.pem and cafile.pem ssl certificates (needed for TLS server) -->
+ <param name="tls-cert-dir" value="$${internal_ssl_dir}"/>
+ <!-- TLS version ("sslv23" (default), "tlsv1"). NOTE: Phones may not work with TLSv1 -->
+ <param name="tls-version" value="$${sip_tls_version}"/>
+
+ </settings>
+</profile>
+
--- /dev/null
+<!--
+ This is a sofia sip profile/user agent. This will service exactly one ip and port.
+ In FreeSWITCH you can run multiple sip user agents on their own ip and port.
+
+ When you hear someone say "sofia profile" this is what they are talking about.
+-->
+
+<!-- http://wiki.freeswitch.org/wiki/Sofia_Configuration_Files -->
+<profile name="internal">
+ <!--aliases are other names that will work as a valid profile name for this profile-->
+ <aliases>
+ <alias name="default"/>
+ </aliases>
+ <!-- Outbound Registrations -->
+ <gateways>
+ <X-PRE-PROCESS cmd="include" data="internal/*.xml"/>
+ </gateways>
+
+ <domains>
+ <!-- indicator to parse the directory for domains with parse="true" to get gateways-->
+ <!--<domain name="$${domain}" parse="true"/>-->
+ <!-- indicator to parse the directory for domains with parse="true" to get gateways and alias every domain to this profile -->
+ <!--<domain name="all" alias="true" parse="true"/>-->
+ <domain name="all" alias="true" parse="false"/>
+ </domains>
+
+ <settings>
+ <!--
+ When calls are in no media this will bring them back to media
+ when you press the hold button.
+ -->
+ <!--<param name="media-option" value="resume-media-on-hold"/> -->
+ <!--
+ This will allow a call after an attended transfer go back to
+ bypass media after an attended transfer.
+ -->
+ <!--<param name="media-option" value="bypass-media-after-att-xfer"/>-->
+ <!-- <param name="user-agent-string" value="FreeSWITCH Rocks!"/> -->
+ <param name="debug" value="0"/>
+ <param name="sip-trace" value="no"/>
+ <param name="context" value="public"/>
+ <param name="rfc2833-pt" value="101"/>
+ <!-- port to bind to for sip traffic -->
+ <param name="sip-port" value="$${internal_sip_port}"/>
+ <param name="dialplan" value="XML"/>
+ <param name="dtmf-duration" value="100"/>
+ <param name="codec-prefs" value="$${global_codec_prefs}"/>
+ <param name="use-rtp-timer" value="true"/>
+ <param name="rtp-timer-name" value="soft"/>
+ <!-- ip address to use for rtp, DO NOT USE HOSTNAMES ONLY IP ADDRESSES -->
+ <param name="rtp-ip" value="$${local_ip_v4}"/>
+ <!-- ip address to bind to, DO NOT USE HOSTNAMES ONLY IP ADDRESSES -->
+ <param name="sip-ip" value="$${local_ip_v4}"/>
+ <param name="hold-music" value="$${hold_music}"/>
+ <!--<param name="apply-nat-acl" value="rfc1918"/>-->
+ <!--<param name="aggressive-nat-detection" value="true"/>-->
+ <!--<param name="enable-timer" value="false"/>-->
+ <!--<param name="enable-100rel" value="true"/>-->
+ <!--<param name="minimum-session-expires" value="120"/>-->
+ <param name="apply-inbound-acl" value="domains"/>
+ <!--<param name="apply-register-acl" value="domains"/>-->
+ <!--<param name="dtmf-type" value="info"/>-->
+ <param name="record-template" value="$${base_dir}/recordings/${caller_id_number}.${target_domain}.${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/>
+ <!--enable to use presence -->
+ <param name="manage-presence" value="true"/>
+
+ <!-- used to share presence info across sofia profiles -->
+ <!-- Name of the db to use for this profile -->
+ <!--<param name="dbname" value="share_presence"/>-->
+ <!--<param name="presence-hosts" value="$${domain}"/>-->
+ <!-- ************************************************* -->
+
+ <!-- This setting is for AAL2 bitpacking on G726 -->
+ <!-- <param name="bitpacking" value="aal2"/> -->
+ <!--max number of open dialogs in proceeding -->
+ <!--<param name="max-proceeding" value="1000"/>-->
+ <!--session timers for all call to expire after the specified seconds -->
+ <!--<param name="session-timeout" value="120"/>-->
+ <!-- Can be 'true' or 'contact' -->
+ <!--<param name="multiple-registrations" value="contact"/>-->
+ <!--set to 'greedy' if you want your codec list to take precedence -->
+ <param name="inbound-codec-negotiation" value="generous"/>
+ <!-- if you want to send any special bind params of your own -->
+ <!--<param name="bind-params" value="transport=udp"/>-->
+ <!--<param name="unregister-on-options-fail" value="true"/>-->
+
+ <!-- TLS: disabled by default, set to "true" to enable -->
+ <param name="tls" value="$${internal_ssl_enable}"/>
+ <!-- additional bind parameters for TLS -->
+ <param name="tls-bind-params" value="transport=tls"/>
+ <!-- Port to listen on for TLS requests. (5061 will be used if unspecified) -->
+ <param name="tls-sip-port" value="$${internal_tls_port}"/>
+ <!-- Location of the agent.pem and cafile.pem ssl certificates (needed for TLS server) -->
+ <param name="tls-cert-dir" value="$${internal_ssl_dir}"/>
+ <!-- TLS version ("sslv23" (default), "tlsv1"). NOTE: Phones may not work with TLSv1 -->
+ <param name="tls-version" value="$${sip_tls_version}"/>
+
+ <!--If you don't want to pass through timestamps from 1 RTP call to another (on a per call basis with rtp_rewrite_timestamps chanvar)-->
+ <!--<param name="rtp-rewrite-timestamps" value="true"/>-->
+ <!--<param name="pass-rfc2833" value="true"/>-->
+ <!--If you have ODBC support and a working dsn you can use it instead of SQLite-->
+ <!--<param name="odbc-dsn" value="dsn:user:pass"/>-->
+
+ <!--Uncomment to set all inbound calls to no media mode-->
+ <!--<param name="inbound-bypass-media" value="true"/>-->
+
+ <!--Uncomment to set all inbound calls to proxy media mode-->
+ <!--<param name="inbound-proxy-media" value="true"/>-->
+
+ <!--Uncomment to let calls hit the dialplan *before* you decide if the codec is ok-->
+ <!--<param name="inbound-late-negotiation" value="true"/>-->
+
+ <!-- this lets anything register -->
+ <!-- comment the next line and uncomment one or both of the other 2 lines for call authentication -->
+ <!-- <param name="accept-blind-reg" value="true"/> -->
+
+ <!-- accept any authentication without actually checking (not a good feature for most people) -->
+ <!-- <param name="accept-blind-auth" value="true"/> -->
+
+ <!-- suppress CNG on this profile or per call with the 'suppress_cng' variable -->
+ <!-- <param name="suppress-cng" value="true"/> -->
+
+ <!--TTL for nonce in sip auth-->
+ <param name="nonce-ttl" value="60"/>
+ <!--Uncomment if you want to force the outbound leg of a bridge to only offer the codec
+ that the originator is using-->
+ <!--<param name="disable-transcoding" value="true"/>-->
+ <!-- Used for when phones respond to a challenged ACK with method INVITE in the hash -->
+ <!--<param name="NDLB-broken-auth-hash" value="true"/>-->
+ <!-- add a ;received="<ip>:<port>" to the contact when replying to register for nat handling -->
+ <!--<param name="NDLB-received-in-nat-reg-contact" value="true"/>-->
+ <param name="auth-calls" value="$${internal_auth_calls}"/>
+ <!-- Force the user and auth-user to match. -->
+ <param name="inbound-reg-force-matching-username" value="true"/>
+ <!-- on authed calls, authenticate *all* the packets not just invite -->
+ <param name="auth-all-packets" value="false"/>
+ <!-- <param name="ext-rtp-ip" value="$${external_rtp_ip}"/> -->
+ <!-- <param name="ext-sip-ip" value="$${external_sip_ip}"/> -->
+ <!-- rtp inactivity timeout -->
+ <param name="rtp-timeout-sec" value="300"/>
+ <param name="rtp-hold-timeout-sec" value="1800"/>
+ <!-- VAD choose one (out is a good choice); -->
+ <!-- <param name="vad" value="in"/> -->
+ <!-- <param name="vad" value="out"/> -->
+ <!-- <param name="vad" value="both"/> -->
+ <!--<param name="alias" value="sip:10.0.1.251:5555"/>-->
+ <!--all inbound reg will look in this domain for the users -->
+ <!--<param name="force-register-domain" value="$${domain}"/>-->
+ <!--all inbound reg will stored in the db using this domain -->
+ <!--<param name="force-register-db-domain" value="$${domain}"/>-->
+ <!--force suscription expires to a lower value than requested-->
+ <!--<param name="force-subscription-expires" value="60"/>-->
+ <!-- disable register and transfer which may be undesirable in a public switch -->
+ <!--<param name="disable-transfer" value="true"/>-->
+ <!--<param name="disable-register" value="true"/>-->
+
+ <!-- enable-3pcc can be set to either 'true' or 'proxy', true accepts the call right away, proxy waits until the call has been answered then sends accepts -->
+ <!--<param name="enable-3pcc" value="true"/>-->
+
+ <!-- use at your own risk or if you know what this does.-->
+ <!--<param name="NDLB-force-rport" value="true"/>-->
+ <!--
+ Choose the realm challenge key. Default is auto_to if not set.
+
+ auto_from - uses the from field as the value for the sip realm.
+ auto_to - uses the to field as the value for the sip realm.
+ <anyvalue> - you can input any value to use for the sip realm.
+
+ If you want URL dialing to work you'll want to set this to auto_from.
+
+ If you use any other value besides auto_to or auto_from you'll loose
+ the ability to do multiple domains.
+
+ Note: comment out to restore the behavior before 2008-09-29
+
+ -->
+ <param name="challenge-realm" value="auto_from"/>
+ <!--<param name="disable-rtp-auto-adjust" value="true"/>-->
+ <!-- on inbound calls make the uuid of the session equal to the sip call id of that call -->
+ <!--<param name="inbound-use-callid-as-uuid" value="true"/>-->
+ <!-- on outbound calls set the callid to match the uuid of the session -->
+ <!--<param name="outbound-use-uuid-as-callid" value="true"/>-->
+ </settings>
+</profile>
+
--- /dev/null
+<include>
+ <!--<gateway name="asterlink.com">-->
+ <!--/// account username *required* ///-->
+ <!--<param name="username" value="cluecon"/>-->
+ <!--/// auth realm: *optional* same as gateway name, if blank ///-->
+ <!--<param name="realm" value="asterlink.com"/>-->
+ <!--/// username to use in from: *optional* same as username, if blank ///-->
+ <!--<param name="from-user" value="cluecon"/>-->
+ <!--/// domain to use in from: *optional* same as realm, if blank ///-->
+ <!--<param name="from-domain" value="asterlink.com"/>-->
+ <!--/// account password *required* ///-->
+ <!--<param name="password" value="2007"/>-->
+ <!--/// extension for inbound calls: *optional* same as username, if blank ///-->
+ <!--<param name="extension" value="cluecon"/>-->
+ <!--/// proxy host: *optional* same as realm, if blank ///-->
+ <!--<param name="proxy" value="asterlink.com"/>-->
+ <!--/// send register to this proxy: *optional* same as proxy, if blank ///-->
+ <!--<param name="register-proxy" value="mysbc.com"/>-->
+ <!--/// expire in seconds: *optional* 3600, if blank ///-->
+ <!--<param name="expire-seconds" value="60"/>-->
+ <!--/// do not register ///-->
+ <!--<param name="register" value="false"/>-->
+ <!-- which transport to use for register -->
+ <!--<param name="register-transport" value="udp"/>-->
+ <!--How many seconds before a retry when a failure or timeout occurs -->
+ <!--<param name="retry-seconds" value="30"/>-->
+ <!--Use the callerid of an inbound call in the from field on outbound calls via this gateway -->
+ <!--<param name="caller-id-in-from" value="false"/>-->
+ <!--extra sip params to send in the contact-->
+ <!--<param name="contact-params" value="tport=tcp"/>-->
+ <!--send an options ping every x seconds, failure will unregister and/or mark it down-->
+ <!--<param name="ping" value="25"/>-->
+ <!--</gateway>-->
+</include>
--- /dev/null
+ <!-- Preprocessor Variables
+ These are introduced when configuration strings must be consistent across modules.
+ -->
+ <X-PRE-PROCESS cmd="set" data="sound_prefix=$${base_dir}/sounds/en/us/callie"/>
+ <!--
+ This setting is what sets the default domain FreeSWITCH will use if all else fails.
+
+ FreeSWICH will default to $${local_ip_v4} unless changed. Changing this setting does
+ affect the sip authentication. Please review conf/directory/default.xml for more
+ information on this topic.
+ -->
+ <X-PRE-PROCESS cmd="set" data="domain=$${local_ip_v4}"/>
+ <X-PRE-PROCESS cmd="set" data="hold_music=local_stream://moh"/>
+ <!-- xmpp_client_profile and xmpp_server_profile
+ xmpp_client_profile can be any string.
+ xmpp_server_profile is appended to "dingaling_" to form the database name
+ containing the "subscriptions" table.
+ used by: dingaling.conf.xml enum.conf.xml
+ -->
+ <!--
+ Examples of codec options: (module must be compiled and loaded)
+
+ codecname[@8000h|16000h|32000h[@XXi]]
+
+ XX is the frame size must be multples allowed for the codec
+ FreeSWITCH can support 10-120ms on some codecs.
+ We do not support exceeding the MTU of the RTP packet.
+
+
+ iLBC@30i - iLBC using mode=30 which will win in all cases.
+ DVI4@8000h@20i - IMA ADPCM 8kHz using 20ms ptime. (multiples of 10)
+ DVI4@16000h@40i - IMA ADPCM 16kHz using 40ms ptime. (multiples of 10)
+ speex@8000h@20i - Speex 8kHz using 20ms ptime.
+ speex@16000h@20i - Speex 16kHz using 20ms ptime.
+ speex@32000h@20i - Speex 32kHz using 20ms ptime.
+ G7221@16000h - G722.1 16kHz (aka Siren 7)
+ G7221@32000h - G722.1C 32kHz (aka Siren 14)
+ GSM@40i - GSM 8kHz using 40ms ptime. (GSM is done in multiples of 20, Default is 20ms)
+ G722 - G722 16kHz using default 20ms ptime. (multiples of 10)
+ PCMU - G711 8kHz ulaw using default 20ms ptime. (multiples of 10)
+ PCMA - G711 8kHz alaw using default 20ms ptime. (multiples of 10)
+ G726-16 - G726 16kbit adpcm using default 20ms ptime. (multiples of 10)
+ G726-24 - G726 24kbit adpcm using default 20ms ptime. (multiples of 10)
+ G726-32 - G726 32kbit adpcm using default 20ms ptime. (multiples of 10)
+ G726-40 - G726 40kbit adpcm using default 20ms ptime. (multiples of 10)
+ AAL2-G726-16 - Same as G726-16 but using AAL2 packing. (multiples of 10)
+ AAL2-G726-24 - Same as G726-24 but using AAL2 packing. (multiples of 10)
+ AAL2-G726-32 - Same as G726-32 but using AAL2 packing. (multiples of 10)
+ AAL2-G726-40 - Same as G726-40 but using AAL2 packing. (multiples of 10)
+ LPC - LPC10 using 90ms ptime (only supports 90ms at this time in FreeSWITCH)
+ L16 - L16 isn't recommended for VoIP but you can do it. L16 can exceed the MTU rather quickly.
+
+ These are the passthru audio codecs:
+
+ G729 - G729 in passthru mode. (mod_g729)
+ G723 - G723.1 in passthru mode. (mod_g723_1)
+ AMR - AMR in passthru mode. (mod_amr)
+
+ These are the passthru video codecs: (mod_h26x)
+
+ H261 - H.261 Video
+ H263 - H.263 Video
+ H263-1998 - H.263-1998 Video
+ H263-2000 - H.263-2000 Video
+ H264 - H.264 Video
+
+ -->
+ <X-PRE-PROCESS cmd="set" data="global_codec_prefs=G722,PCMU,PCMA,GSM"/>
+ <X-PRE-PROCESS cmd="set" data="outbound_codec_prefs=PCMU,PCMA,GSM"/>
+ <X-PRE-PROCESS cmd="set" data="xmpp_client_profile=xmppc"/>
+ <X-PRE-PROCESS cmd="set" data="xmpp_server_profile=xmpps"/>
+ <!-- bind_server_ip
+ Can be an ip address, a dns name, or "auto".
+ This determines an ip address available on this host to bind.
+ If you are separating RTP and SIP traffic, you will want to have
+ use different addresses where this variable appears.
+ Used by: dingaling.conf.xml
+ -->
+ <X-PRE-PROCESS cmd="set" data="bind_server_ip=auto"/>
+
+ <!-- external_rtp_ip
+ Used as the public IP address for SDP.
+ Can be an ip address or a string like "stun:stun.server.com"
+ If unspecified, the bind_server_ip value is used.
+ Used by: sofia.conf.xml dingaling.conf.xml
+ -->
+ <X-PRE-PROCESS cmd="set" data="external_rtp_ip=stun:stun.freeswitch.org"/>
+
+ <!-- external_sip_ip
+ Used as the public IP address for SDP.
+ Can be an ip address or a string like "stun:stun.server.com"
+ If unspecified, the bind_server_ip value is used.
+ Used by: sofia.conf.xml dingaling.conf.xml
+ -->
+ <X-PRE-PROCESS cmd="set" data="external_sip_ip=stun:stun.freeswitch.org"/>
+
+ <!-- unroll-loops
+ Used to turn on sip loopback unrolling.
+ -->
+ <X-PRE-PROCESS cmd="set" data="unroll_loops=true"/>
+
+ <!-- outbound_caller_id and outbound_caller_name
+ The caller ID telephone number we should use when calling out.
+ Used by: conference.conf.xml and user directory for default
+ outbound callerid name and number.
+ -->
+ <X-PRE-PROCESS cmd="set" data="outbound_caller_name=FreeSWITCH"/>
+ <X-PRE-PROCESS cmd="set" data="outbound_caller_id=0000000000"/>
+
+ <!-- various debug and defaults -->
+ <X-PRE-PROCESS cmd="set" data="call_debug=false"/>
+ <X-PRE-PROCESS cmd="set" data="console_loglevel=info"/>
+ <X-PRE-PROCESS cmd="set" data="default_areacode=918"/>
+ <X-PRE-PROCESS cmd="set" data="default_country=US"/>
+
+ <X-PRE-PROCESS cmd="set" data="uk-ring=%(400,200,400,450);%(400,2200,400,450)"/>
+ <X-PRE-PROCESS cmd="set" data="us-ring=%(2000, 4000, 440.0, 480.0)"/>
+ <X-PRE-PROCESS cmd="set" data="fr-ring=%(1500, 3500, 440.0, 0.0)"/>
+ <X-PRE-PROCESS cmd="set" data="bong-ring=v=-7;%(100,0,941.0,1477.0);v=-7;>=2;+=.1;%(1400,0,350,440)"/>
+ <X-PRE-PROCESS cmd="set" data="sit=%(274,0,913.8);%(274,0,1370.6);%(380,0,1776.7)"/>
+ <!--
+ Setting up your default sip provider is easy.
+ Below are some values that should work in most cases.
+
+ These are for conf/directory/default/example.com.xml
+ -->
+ <X-PRE-PROCESS cmd="set" data="default_provider=example.com"/>
+ <X-PRE-PROCESS cmd="set" data="default_provider_username=joeuser"/>
+ <X-PRE-PROCESS cmd="set" data="default_provider_password=password"/>
+ <X-PRE-PROCESS cmd="set" data="default_provider_from_domain=example.com"/>
+ <!-- true or false -->
+ <X-PRE-PROCESS cmd="set" data="default_provider_register=false"/>
+ <X-PRE-PROCESS cmd="set" data="default_provider_contact=5000"/>
+
+ <!--
+ SIP and TLS settings.
+ -->
+ <X-PRE-PROCESS cmd="set" data="sip_tls_version=tlsv1"/>
+
+ <!-- Internal SIP Profile -->
+ <X-PRE-PROCESS cmd="set" data="internal_auth_calls=true"/>
+ <X-PRE-PROCESS cmd="set" data="internal_sip_port=5060"/>
+ <X-PRE-PROCESS cmd="set" data="internal_tls_port=5061"/>
+ <X-PRE-PROCESS cmd="set" data="internal_ssl_enable=false"/>
+ <X-PRE-PROCESS cmd="set" data="internal_ssl_dir=$${base_dir}/conf/ssl"/>
+
+ <!-- External SIP Profile -->
+ <X-PRE-PROCESS cmd="set" data="external_auth_calls=false"/>
+ <X-PRE-PROCESS cmd="set" data="external_sip_port=5080"/>
+ <X-PRE-PROCESS cmd="set" data="external_tls_port=5081"/>
+ <X-PRE-PROCESS cmd="set" data="external_ssl_enable=false"/>
+ <X-PRE-PROCESS cmd="set" data="external_ssl_dir=$${base_dir}/conf/ssl"/>
--- /dev/null
+<include>
+ <!--<gateway name="asterlink.com">-->
+ <!--/// account username *required* ///-->
+ <!--<param name="username" value="cluecon"/>-->
+ <!--/// auth realm: *optional* same as gateway name, if blank ///-->
+ <!--<param name="realm" value="asterlink.com"/>-->
+ <!--/// username to use in from: *optional* same as username, if blank ///-->
+ <!--<param name="from-user" value="cluecon"/>-->
+ <!--/// domain to use in from: *optional* same as realm, if blank ///-->
+ <!--<param name="from-domain" value="asterlink.com"/>-->
+ <!--/// account password *required* ///-->
+ <!--<param name="password" value="2007"/>-->
+ <!--/// extension for inbound calls: *optional* same as username, if blank ///-->
+ <!--<param name="extension" value="cluecon"/>-->
+ <!--/// proxy host: *optional* same as realm, if blank ///-->
+ <!--<param name="proxy" value="asterlink.com"/>-->
+ <!--/// send register to this proxy: *optional* same as proxy, if blank ///-->
+ <!--<param name="register-proxy" value="mysbc.com"/>-->
+ <!--/// expire in seconds: *optional* 3600, if blank ///-->
+ <!--<param name="expire-seconds" value="60"/>-->
+ <!--/// do not register ///-->
+ <!--<param name="register" value="false"/>-->
+ <!-- which transport to use for register -->
+ <!--<param name="register-transport" value="udp"/>-->
+ <!--How many seconds before a retry when a failure or timeout occurs -->
+ <!--<param name="retry-seconds" value="30"/>-->
+ <!--Use the callerid of an inbound call in the from field on outbound calls via this gateway -->
+ <!--<param name="caller-id-in-from" value="false"/>-->
+ <!--extra sip params to send in the contact-->
+ <!--<param name="contact-params" value="tport=tcp"/>-->
+ <!--send an options ping every x seconds, failure will unregister and/or mark it down-->
+ <!--<param name="ping" value="25"/>-->
+ <!--</gateway>-->
+</include>
--- /dev/null
+<?xml version="1.0"?>
+<document type="freeswitch/xml">
+ <X-PRE-PROCESS cmd="set" data="auto_answer=false"/>
+ <X-PRE-PROCESS cmd="set" data="domain=$${local_ip_v4}"/>
+ <X-PRE-PROCESS cmd="set" data="hold_music=local_stream://moh"/>
+ <X-PRE-PROCESS cmd="set" data="codec_prefs=CELT@48000h,G7221@32000h,G7221@16000h,G722,PCMU,PCMA,GSM"/>
+ <X-PRE-PROCESS cmd="set" data="external_rtp_ip=stun:stun.freeswitch.org"/>
+ <X-PRE-PROCESS cmd="set" data="external_sip_ip=stun:stun.freeswitch.org"/>
+ <X-PRE-PROCESS cmd="set" data="outbound_caller_name=FreeSWITCH"/>
+ <X-PRE-PROCESS cmd="set" data="outbound_caller_id=0000000000"/>
+ <X-PRE-PROCESS cmd="set" data="console_loglevel=info"/>
+ <X-PRE-PROCESS cmd="set" data="default_gateway=default"/>
+ <X-PRE-PROCESS cmd="set" data="us-ring=%(2000, 4000, 440.0, 480.0)"/>
+ <X-PRE-PROCESS cmd="set" data="bong-ring=v=-7;%(100,0,941.0,1477.0);v=-7;>=2;+=.1;%(1400,0,350,440)"/>
+ <X-PRE-PROCESS cmd="set" data="sit=%(274,0,913.8);%(274,0,1370.6);%(380,0,1776.7)"/>
+
+ <section name="configuration" description="Various Configuration">
+ <configuration name="cdr_csv.conf" description="CDR CSV Format">
+ <settings>
+ <param name="default-template" value="example"/>
+ <param name="rotate-on-hup" value="true"/>
+ <param name="legs" value="a"/>
+ </settings>
+ <templates>
+ <template name="example">"${caller_id_name}","${caller_id_number}","${destination_number}","${context}","${start_stamp}","${answer_stamp}","${end_stamp}","${duration}","${billsec}","${hangup_cause}","${uuid}","${bleg_uuid}","${accountcode}","${read_codec}","${write_codec}"</template>
+ </templates>
+ </configuration>
+
+ <configuration name="console.conf" description="Console Logger">
+ <mappings>
+ <map name="all" value="console,debug,info,notice,warning,err,crit,alert"/>
+ </mappings>
+ <settings>
+ <param name="colorize" value="true"/>
+ <param name="loglevel" value="$${console_loglevel}"/>
+ </settings>
+ </configuration>
+
+ <configuration name="enum.conf" description="ENUM Module">
+ <settings>
+ <param name="default-root" value="e164.org"/>
+ <param name="default-isn-root" value="freenum.org"/>
+ <param name="query-timeout" value="10"/>
+ <param name="auto-reload" value="true"/>
+ </settings>
+ <routes>
+ <route service="E2U+SIP" regex="sip:(.*)" replace="sofia/softphone/$1"/>
+ </routes>
+ </configuration>
+
+ <configuration name="local_stream.conf" description="stream files from local dir">
+ <directory name="moh/48000" path="$${base_dir}/sounds/music/48000">
+ <param name="rate" value="48000"/>
+ <param name="shuffle" value="true"/>
+ <param name="channels" value="1"/>
+ <param name="interval" value="10"/>
+ <param name="timer-name" value="soft"/>
+ </directory>
+ </configuration>
+
+ <configuration name="logfile.conf" description="File Logging">
+ <settings>
+ <param name="rotate-on-hup" value="true"/>
+ </settings>
+ <profiles>
+ <profile name="default">
+ <settings>
+ </settings>
+ <mappings>
+ <map name="all" value="debug,info,notice,warning,err,crit,alert"/>
+ </mappings>
+ </profile>
+ </profiles>
+ </configuration>
+
+ <configuration name="modules.conf" description="Modules">
+ <modules>
+ <load module="mod_console"/>
+ <load module="mod_logfile"/>
+ <load module="mod_enum"/>
+ <load module="mod_cdr_csv"/>
+ <load module="mod_portaudio"/>
+ <load module="mod_sofia"/>
+ <load module="mod_loopback"/>
+ <load module="mod_commands"/>
+ <load module="mod_dptools"/>
+ <load module="mod_dialplan_xml"/>
+ <load module="mod_voipcodecs"/>
+ <load module="mod_ilbc"/>
+ <load module="mod_speex"/>
+ <load module="mod_celt"/>
+ <load module="mod_siren"/>
+ <load module="mod_sndfile"/>
+ <load module="mod_tone_stream"/>
+ <load module="mod_local_stream"/>
+ </modules>
+ </configuration>
+
+ <configuration name="portaudio.conf" description="Soundcard Endpoint">
+ <settings>
+ <param name="indev" value=""/>
+ <!-- device to use for output -->
+ <param name="outdev" value=""/>
+ <!--<param name="ringdev" value=""/>-->
+ <param name="ring-file" value="tone_stream://%(2000,4000,440.0,480.0);loops=20"/>
+ <param name="ring-interval" value="5"/>
+ <param name="hold-file" value="$${hold_music}"/>
+ <!--<param name="timer-name" value="soft"/>-->
+ <param name="dialplan" value="XML"/>
+ <param name="cid-name" value="$${outbound_caller_name}"/>
+ <param name="cid-num" value="$${outbound_caller_number}"/>
+ <param name="sample-rate" value="48000"/>
+ <param name="codec-ms" value="10"/>
+ </settings>
+ </configuration>
+
+ <configuration name="post_load_modules.conf" description="Modules">
+ <modules>
+ </modules>
+ </configuration>
+
+ <configuration name="sofia.conf" description="sofia Endpoint">
+ <global_settings>
+ <param name="log-level" value="0"/>
+ <param name="auto-restart" value="true"/>
+ <param name="debug-presence" value="0"/>
+ </global_settings>
+ <profiles>
+ <profile name="softphone">
+ <gateways>
+ <X-PRE-PROCESS cmd="include" data="accounts/*.xml"/>
+ </gateways>
+ <settings>
+ <!--<param name="media-option" value="bypass-media-after-att-xfer"/>-->
+ <param name="user-agent-string" value="FreeSWITCH/SoftPhone"/>
+ <!-- <param name="user-agent-string" value="FreeSWITCH Rocks!"/> -->
+ <param name="debug" value="0"/>
+ <param name="sip-trace" value="no"/>
+ <param name="context" value="public"/>
+ <param name="rfc2833-pt" value="101"/>
+ <!-- port to bind to for sip traffic -->
+ <param name="sip-port" value="12345"/>
+ <param name="dialplan" value="XML"/>
+ <param name="dtmf-duration" value="100"/>
+ <param name="codec-prefs" value="$${codec_prefs}"/>
+ <param name="use-rtp-timer" value="true"/>
+ <param name="rtp-timer-name" value="soft"/>
+ <!-- ip address to use for rtp, DO NOT USE HOSTNAMES ONLY IP ADDRESSES -->
+ <param name="rtp-ip" value="$${local_ip_v4}"/>
+ <!-- ip address to bind to, DO NOT USE HOSTNAMES ONLY IP ADDRESSES -->
+ <param name="sip-ip" value="$${local_ip_v4}"/>
+ <param name="hold-music" value="$${hold_music}"/>
+ <param name="apply-nat-acl" value="rfc1918"/>
+ <!--<param name="enable-timer" value="false"/>-->
+ <!--<param name="enable-100rel" value="true"/>-->
+ <!--<param name="minimum-session-expires" value="120"/>-->
+ <!--<param name="dtmf-type" value="info"/>-->
+ <param name="manage-presence" value="false"/>
+ <!--<param name="bitpacking" value="aal2"/> -->
+ <param name="max-proceeding" value="3"/>
+ <!--<param name="session-timeout" value="120"/>-->
+ <!--set to 'greedy' if you want your codec list to take precedence -->
+ <param name="inbound-codec-negotiation" value="generous"/>
+ <!-- if you want to send any special bind params of your own -->
+ <!--<param name="bind-params" value="transport=udp"/>-->
+ <!--Uncomment to let calls hit the dialplan *before* you decide if the codec is ok-->
+ <!--<param name="inbound-late-negotiation" value="true"/>-->
+ <!--<param name="accept-blind-reg" value="true"/> -->
+ <!--<param name="accept-blind-auth" value="true"/> -->
+ <!--<param name="suppress-cng" value="true"/> -->
+ <param name="nonce-ttl" value="60"/>
+ <!--<param name="NDLB-broken-auth-hash" value="true"/>-->
+ <!--<param name="NDLB-received-in-nat-reg-contact" value="true"/>-->
+ <param name="auth-calls" value="false"/>
+ <param name="auth-all-packets" value="false"/>
+ <param name="ext-rtp-ip" value="$${external_rtp_ip}"/>
+ <param name="ext-sip-ip" value="$${external_sip_ip}"/>
+ <!-- rtp inactivity timeout -->
+ <param name="rtp-timeout-sec" value="300"/>
+ <param name="rtp-hold-timeout-sec" value="1800"/>
+ <!-- VAD choose one (out is a good choice); -->
+ <!-- <param name="vad" value="in"/> -->
+ <!-- <param name="vad" value="out"/> -->
+ <!-- <param name="vad" value="both"/> -->
+ <param name="disable-register" value="true"/>
+ <!--<param name="NDLB-force-rport" value="true"/>-->
+ <param name="challenge-realm" value="auto_from"/>
+ <!--<param name="disable-rtp-auto-adjust" value="true"/>-->
+ <!--<param name="inbound-use-callid-as-uuid" value="true"/>-->
+ <!--<param name="outbound-use-uuid-as-callid" value="true"/>-->
+ <!--<param name="auto-rtp-bugs" data="clear"/>-->
+ </settings>
+ </profile>
+ </profiles>
+ </configuration>
+
+ <configuration name="switch.conf" description="Core Configuration">
+ <cli-keybindings>
+ <key name="1" value="help"/>
+ <key name="2" value="status"/>
+ <key name="3" value="pa answer"/>
+ <key name="4" value="pa hangup"/>
+ <key name="5" value="sofia status"/>
+ <key name="6" value="reloadxml"/>
+ <key name="7" value="console loglevel 0"/>
+ <key name="8" value="console loglevel 7"/>
+ <key name="9" value="sofia status profile softphone"/>
+ <key name="10" value="fsctl pause"/>
+ <key name="11" value="fsctl resume"/>
+ <key name="12" value="version"/>
+ </cli-keybindings>
+ <settings>
+ <param name="colorize-console" value="true"/>
+ <param name="max-sessions" value="20"/>
+ <param name="sessions-per-second" value="5"/>
+ <param name="loglevel" value="debug"/>
+ <param name="crash-protection" value="false"/>
+ <param name="dump-cores" value="yes"/>
+ <param name="rtp-start-port" value="16384"/>
+ <param name="rtp-end-port" value="16484"/>
+ </settings>
+ </configuration>
+ </section>
+
+ <section name="dialplan" description="Regex/XML Dialplan">
+ <context name="default">
+ <extension name="codec_and_sip_uri">
+ <condition field="destination_number" expression="^sip:(.*):(.*)$">
+ <action application="bridge" data="{absolute_codec_string=$1}sofia/softphone/$2"/>
+ </condition>
+ </extension>
+ <extension name="sip_uri">
+ <condition field="destination_number" expression="^sip:(.*)$">
+ <action application="bridge" data="sofia/softphone/$1"/>
+ </condition>
+ </extension>
+ <extension name="codec_and_number">
+ <condition field="destination_number" expression="^(.*):(.*)@(.*)$">
+ <action application="bridge" data="{absolute_codec_string=$1}sofia/gateway/$3/$2"/>
+ </condition>
+ </extension>
+ <extension name="number">
+ <condition field="destination_number" expression="^(.*)@(.*)$">
+ <action application="bridge" data="sofia/gateway/$2/$1"/>
+ </condition>
+ </extension>
+ <extension name="number">
+ <condition field="destination_number" expression="^(.*)$">
+ <action application="bridge" data="sofia/gateway/${default_gateway}/$1"/>
+ </condition>
+ </extension>
+ </context>
+ <context name="public">
+ <extension name="public_extensions">
+ <condition field="$${auto_answer}" expression="^true$"/>
+ <condition field="destination_number" expression="^(.*)$">
+ <action application="info"/>
+ <action application="bridge" data="portaudio/auto_answer"/>
+ </condition>
+ </extension>
+ <extension name="public_extensions">
+ <condition field="${sip_to_params}" expression="intercom=true"/>
+ <condition field="${alert_info}" expression="Ring;Answer"/>
+ <condition field="destination_number" expression="^(.*)$">
+ <action application="info"/>
+ <action application="bridge" data="portaudio/auto_answer"/>
+ </condition>
+ </extension>
+ <extension name="public_extensions">
+ <condition field="destination_number" expression="^(.*)$">
+ <action application="info"/>
+ <action application="set" data="ringback=${us-ring}"/>
+ <action application="pre_answer"/>
+ <action application="bridge" data="portaudio"/>
+ </condition>
+ </extension>
+ </context>
+ </section>
+</document>
+
+