]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
conf: add config styles: curl, insideout, sbc, softphone
authorKen Rice <krice@tollfreegateway.com>
Mon, 9 Jan 2012 20:18:59 +0000 (15:18 -0500)
committerTravis Cross <tc@traviscross.com>
Sat, 24 Mar 2012 04:48:34 +0000 (04:48 +0000)
171 files changed:
conf/curl/autoload_configs/acl.conf.xml [new file with mode: 0644]
conf/curl/autoload_configs/alsa.conf.xml [new file with mode: 0644]
conf/curl/autoload_configs/cdr_csv.conf.xml [new file with mode: 0644]
conf/curl/autoload_configs/conference.conf.xml [new file with mode: 0644]
conf/curl/autoload_configs/console.conf.xml [new file with mode: 0644]
conf/curl/autoload_configs/dialplan_directory.conf.xml [new file with mode: 0644]
conf/curl/autoload_configs/dingaling.conf.xml [new file with mode: 0644]
conf/curl/autoload_configs/enum.conf.xml [new file with mode: 0644]
conf/curl/autoload_configs/event_multicast.conf.xml [new file with mode: 0644]
conf/curl/autoload_configs/event_socket.conf.xml [new file with mode: 0644]
conf/curl/autoload_configs/fax.conf.xml [new file with mode: 0644]
conf/curl/autoload_configs/fifo.conf.xml [new file with mode: 0644]
conf/curl/autoload_configs/iax.conf.xml [new file with mode: 0644]
conf/curl/autoload_configs/ivr.conf.xml [new file with mode: 0644]
conf/curl/autoload_configs/java.conf.xml [new file with mode: 0644]
conf/curl/autoload_configs/limit.conf.xml [new file with mode: 0644]
conf/curl/autoload_configs/local_stream.conf.xml [new file with mode: 0644]
conf/curl/autoload_configs/logfile.conf.xml [new file with mode: 0644]
conf/curl/autoload_configs/lua.conf.xml [new file with mode: 0644]
conf/curl/autoload_configs/modules.conf.xml [new file with mode: 0644]
conf/curl/autoload_configs/opal.conf.xml [new file with mode: 0644]
conf/curl/autoload_configs/openmrcp.conf.xml [new file with mode: 0644]
conf/curl/autoload_configs/openzap.conf.xml [new file with mode: 0644]
conf/curl/autoload_configs/perl.conf.xml [new file with mode: 0644]
conf/curl/autoload_configs/pocketsphinx.conf.xml [new file with mode: 0644]
conf/curl/autoload_configs/portaudio.conf.xml [new file with mode: 0644]
conf/curl/autoload_configs/post_load_modules.conf.xml [new file with mode: 0644]
conf/curl/autoload_configs/python.conf.xml [new file with mode: 0644]
conf/curl/autoload_configs/rss.conf.xml [new file with mode: 0644]
conf/curl/autoload_configs/shout.conf.xml [new file with mode: 0644]
conf/curl/autoload_configs/sofia.conf.xml [new file with mode: 0644]
conf/curl/autoload_configs/spidermonkey.conf.xml [new file with mode: 0644]
conf/curl/autoload_configs/switch.conf.xml [new file with mode: 0644]
conf/curl/autoload_configs/syslog.conf.xml [new file with mode: 0644]
conf/curl/autoload_configs/timezones.conf.xml [new file with mode: 0644]
conf/curl/autoload_configs/voicemail.conf.xml [new file with mode: 0644]
conf/curl/autoload_configs/xml_cdr.conf.xml [new file with mode: 0644]
conf/curl/autoload_configs/xml_curl.conf.xml [new file with mode: 0644]
conf/curl/autoload_configs/xml_rpc.conf.xml [new file with mode: 0644]
conf/curl/autoload_configs/zeroconf.conf.xml [new file with mode: 0644]
conf/curl/freeswitch.xml [new file with mode: 0644]
conf/curl/mime.types [new file with mode: 0644]
conf/insideout/autoload_configs/acl.conf.xml [new file with mode: 0644]
conf/insideout/autoload_configs/alsa.conf.xml [new file with mode: 0644]
conf/insideout/autoload_configs/cdr_csv.conf.xml [new file with mode: 0644]
conf/insideout/autoload_configs/conference.conf.xml [new file with mode: 0644]
conf/insideout/autoload_configs/console.conf.xml [new file with mode: 0644]
conf/insideout/autoload_configs/dialplan_directory.conf.xml [new file with mode: 0644]
conf/insideout/autoload_configs/enum.conf.xml [new file with mode: 0644]
conf/insideout/autoload_configs/event_multicast.conf.xml [new file with mode: 0644]
conf/insideout/autoload_configs/event_socket.conf.xml [new file with mode: 0644]
conf/insideout/autoload_configs/fax.conf.xml [new file with mode: 0644]
conf/insideout/autoload_configs/fifo.conf.xml [new file with mode: 0644]
conf/insideout/autoload_configs/iax.conf.xml [new file with mode: 0644]
conf/insideout/autoload_configs/ivr.conf.xml [new file with mode: 0644]
conf/insideout/autoload_configs/java.conf.xml [new file with mode: 0644]
conf/insideout/autoload_configs/limit.conf.xml [new file with mode: 0644]
conf/insideout/autoload_configs/local_stream.conf.xml [new file with mode: 0644]
conf/insideout/autoload_configs/logfile.conf.xml [new file with mode: 0644]
conf/insideout/autoload_configs/lua.conf.xml [new file with mode: 0644]
conf/insideout/autoload_configs/modules.conf.xml [new file with mode: 0644]
conf/insideout/autoload_configs/opal.conf.xml [new file with mode: 0644]
conf/insideout/autoload_configs/openzap.conf.xml [new file with mode: 0644]
conf/insideout/autoload_configs/perl.conf.xml [new file with mode: 0644]
conf/insideout/autoload_configs/pocketsphinx.conf.xml [new file with mode: 0644]
conf/insideout/autoload_configs/portaudio.conf.xml [new file with mode: 0644]
conf/insideout/autoload_configs/post_load_modules.conf.xml [new file with mode: 0644]
conf/insideout/autoload_configs/python.conf.xml [new file with mode: 0644]
conf/insideout/autoload_configs/rss.conf.xml [new file with mode: 0644]
conf/insideout/autoload_configs/shout.conf.xml [new file with mode: 0644]
conf/insideout/autoload_configs/sofia.conf.xml [new file with mode: 0644]
conf/insideout/autoload_configs/spidermonkey.conf.xml [new file with mode: 0644]
conf/insideout/autoload_configs/switch.conf.xml [new file with mode: 0644]
conf/insideout/autoload_configs/syslog.conf.xml [new file with mode: 0644]
conf/insideout/autoload_configs/timezones.conf.xml [new file with mode: 0644]
conf/insideout/autoload_configs/voicemail.conf.xml [new file with mode: 0644]
conf/insideout/autoload_configs/xml_cdr.conf.xml [new file with mode: 0644]
conf/insideout/autoload_configs/xml_curl.conf.xml [new file with mode: 0644]
conf/insideout/autoload_configs/xml_rpc.conf.xml [new file with mode: 0644]
conf/insideout/autoload_configs/zeroconf.conf.xml [new file with mode: 0644]
conf/insideout/dialplan/default.xml [new file with mode: 0644]
conf/insideout/dialplan/default/00_pizza_demo.xml [new file with mode: 0644]
conf/insideout/dialplan/default/01_example.com.xml [new file with mode: 0644]
conf/insideout/dialplan/default/02_conferences.xml [new file with mode: 0644]
conf/insideout/dialplan/default/99999_enum.xml [new file with mode: 0644]
conf/insideout/dialplan/features.xml [new file with mode: 0644]
conf/insideout/dialplan/public.xml [new file with mode: 0644]
conf/insideout/dialplan/public/00_inbound_did.xml [new file with mode: 0644]
conf/insideout/directory/default.xml [new file with mode: 0644]
conf/insideout/directory/default/1000.xml [new file with mode: 0644]
conf/insideout/directory/default/1001.xml [new file with mode: 0644]
conf/insideout/directory/default/1002.xml [new file with mode: 0644]
conf/insideout/directory/default/1003.xml [new file with mode: 0644]
conf/insideout/directory/default/1004.xml [new file with mode: 0644]
conf/insideout/directory/default/1005.xml [new file with mode: 0644]
conf/insideout/directory/default/1006.xml [new file with mode: 0644]
conf/insideout/directory/default/1007.xml [new file with mode: 0644]
conf/insideout/directory/default/1008.xml [new file with mode: 0644]
conf/insideout/directory/default/1009.xml [new file with mode: 0644]
conf/insideout/directory/default/1010.xml [new file with mode: 0644]
conf/insideout/directory/default/1011.xml [new file with mode: 0644]
conf/insideout/directory/default/1012.xml [new file with mode: 0644]
conf/insideout/directory/default/1013.xml [new file with mode: 0644]
conf/insideout/directory/default/1014.xml [new file with mode: 0644]
conf/insideout/directory/default/1015.xml [new file with mode: 0644]
conf/insideout/directory/default/1016.xml [new file with mode: 0644]
conf/insideout/directory/default/1017.xml [new file with mode: 0644]
conf/insideout/directory/default/1018.xml [new file with mode: 0644]
conf/insideout/directory/default/1019.xml [new file with mode: 0644]
conf/insideout/directory/default/brian.xml [new file with mode: 0644]
conf/insideout/directory/default/default.xml [new file with mode: 0644]
conf/insideout/directory/default/example.com.xml [new file with mode: 0644]
conf/insideout/extensions.conf [new file with mode: 0644]
conf/insideout/freeswitch.xml [new file with mode: 0644]
conf/insideout/fur_elise.ttml [new file with mode: 0644]
conf/insideout/lang/de/de.xml [new file with mode: 0644]
conf/insideout/lang/de/demo/demo.xml [new file with mode: 0644]
conf/insideout/lang/de/vm/tts.xml [new file with mode: 0644]
conf/insideout/lang/en/demo/demo-ivr.xml [new file with mode: 0644]
conf/insideout/lang/en/demo/demo.xml [new file with mode: 0644]
conf/insideout/lang/en/en.xml [new file with mode: 0644]
conf/insideout/lang/en/vm/sounds.xml [new file with mode: 0644]
conf/insideout/lang/en/vm/tts.xml [new file with mode: 0644]
conf/insideout/lang/fr/demo/demo.xml [new file with mode: 0644]
conf/insideout/lang/fr/fr.xml [new file with mode: 0644]
conf/insideout/lang/fr/vm/sounds.xml [new file with mode: 0644]
conf/insideout/mime.types [new file with mode: 0644]
conf/insideout/notify-voicemail.tpl [new file with mode: 0644]
conf/insideout/openzap.conf [new file with mode: 0644]
conf/insideout/sip_profiles/external.xml [new file with mode: 0644]
conf/insideout/sip_profiles/external/example.xml [new file with mode: 0644]
conf/insideout/sip_profiles/internal-ipv6.xml [new file with mode: 0644]
conf/insideout/sip_profiles/internal.xml [new file with mode: 0644]
conf/insideout/sip_profiles/internal/example.xml [new file with mode: 0644]
conf/insideout/tetris.ttml [new file with mode: 0644]
conf/insideout/tones.conf [new file with mode: 0644]
conf/insideout/vars.xml [new file with mode: 0644]
conf/insideout/voicemail.tpl [new file with mode: 0644]
conf/insideout/web-vm.tpl [new file with mode: 0644]
conf/sbc/autoload_configs/acl.conf.xml [new file with mode: 0644]
conf/sbc/autoload_configs/cdr_csv.conf.xml [new file with mode: 0644]
conf/sbc/autoload_configs/console.conf.xml [new file with mode: 0644]
conf/sbc/autoload_configs/enum.conf.xml [new file with mode: 0644]
conf/sbc/autoload_configs/event_socket.conf.xml [new file with mode: 0644]
conf/sbc/autoload_configs/limit.conf.xml [new file with mode: 0644]
conf/sbc/autoload_configs/logfile.conf.xml [new file with mode: 0644]
conf/sbc/autoload_configs/modules.conf.xml [new file with mode: 0644]
conf/sbc/autoload_configs/post_load_modules.conf.xml [new file with mode: 0644]
conf/sbc/autoload_configs/sofia.conf.xml [new file with mode: 0644]
conf/sbc/autoload_configs/switch.conf.xml [new file with mode: 0644]
conf/sbc/autoload_configs/syslog.conf.xml [new file with mode: 0644]
conf/sbc/autoload_configs/timezones.conf.xml [new file with mode: 0644]
conf/sbc/autoload_configs/xml_cdr.conf.xml [new file with mode: 0644]
conf/sbc/autoload_configs/xml_rpc.conf.xml [new file with mode: 0644]
conf/sbc/dialplan/default.xml [new file with mode: 0644]
conf/sbc/dialplan/default/00_pizza_demo.xml [new file with mode: 0644]
conf/sbc/dialplan/default/01_example.com.xml [new file with mode: 0644]
conf/sbc/dialplan/default/99999_enum.xml [new file with mode: 0644]
conf/sbc/dialplan/features.xml [new file with mode: 0644]
conf/sbc/dialplan/public.xml [new file with mode: 0644]
conf/sbc/dialplan/public/00_inbound_did.xml [new file with mode: 0644]
conf/sbc/freeswitch.xml [new file with mode: 0644]
conf/sbc/mime.types [new file with mode: 0644]
conf/sbc/sbc_profiles/external.xml [new file with mode: 0644]
conf/sbc/sbc_profiles/external/example.xml [new file with mode: 0644]
conf/sbc/sbc_profiles/internal-ipv6.xml [new file with mode: 0644]
conf/sbc/sbc_profiles/internal.xml [new file with mode: 0644]
conf/sbc/sbc_profiles/internal/example.xml [new file with mode: 0644]
conf/sbc/vars.xml [new file with mode: 0644]
conf/softphone/accounts/example.xml [new file with mode: 0644]
conf/softphone/freeswitch.xml [new file with mode: 0644]

diff --git a/conf/curl/autoload_configs/acl.conf.xml b/conf/curl/autoload_configs/acl.conf.xml
new file mode 100644 (file)
index 0000000..73f78a6
--- /dev/null
@@ -0,0 +1,36 @@
+<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>
+
diff --git a/conf/curl/autoload_configs/alsa.conf.xml b/conf/curl/autoload_configs/alsa.conf.xml
new file mode 100644 (file)
index 0000000..e589aca
--- /dev/null
@@ -0,0 +1,12 @@
+<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>
diff --git a/conf/curl/autoload_configs/cdr_csv.conf.xml b/conf/curl/autoload_configs/cdr_csv.conf.xml
new file mode 100644 (file)
index 0000000..137f15c
--- /dev/null
@@ -0,0 +1,20 @@
+<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>
+
diff --git a/conf/curl/autoload_configs/conference.conf.xml b/conf/curl/autoload_configs/conference.conf.xml
new file mode 100644 (file)
index 0000000..6ba27f9
--- /dev/null
@@ -0,0 +1,178 @@
+<!-- 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>
diff --git a/conf/curl/autoload_configs/console.conf.xml b/conf/curl/autoload_configs/console.conf.xml
new file mode 100644 (file)
index 0000000..2d9e3e8
--- /dev/null
@@ -0,0 +1,56 @@
+<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>
diff --git a/conf/curl/autoload_configs/dialplan_directory.conf.xml b/conf/curl/autoload_configs/dialplan_directory.conf.xml
new file mode 100644 (file)
index 0000000..e4edcd6
--- /dev/null
@@ -0,0 +1,9 @@
+<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>
diff --git a/conf/curl/autoload_configs/dingaling.conf.xml b/conf/curl/autoload_configs/dingaling.conf.xml
new file mode 100644 (file)
index 0000000..e68c8b4
--- /dev/null
@@ -0,0 +1,9 @@
+<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>
diff --git a/conf/curl/autoload_configs/enum.conf.xml b/conf/curl/autoload_configs/enum.conf.xml
new file mode 100644 (file)
index 0000000..eb7a37d
--- /dev/null
@@ -0,0 +1,14 @@
+<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>
diff --git a/conf/curl/autoload_configs/event_multicast.conf.xml b/conf/curl/autoload_configs/event_multicast.conf.xml
new file mode 100644 (file)
index 0000000..9f2091d
--- /dev/null
@@ -0,0 +1,8 @@
+<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>
+
diff --git a/conf/curl/autoload_configs/event_socket.conf.xml b/conf/curl/autoload_configs/event_socket.conf.xml
new file mode 100644 (file)
index 0000000..98a2764
--- /dev/null
@@ -0,0 +1,8 @@
+<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>
diff --git a/conf/curl/autoload_configs/fax.conf.xml b/conf/curl/autoload_configs/fax.conf.xml
new file mode 100644 (file)
index 0000000..c7d8256
--- /dev/null
@@ -0,0 +1,12 @@
+<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>
diff --git a/conf/curl/autoload_configs/fifo.conf.xml b/conf/curl/autoload_configs/fifo.conf.xml
new file mode 100644 (file)
index 0000000..ab34f57
--- /dev/null
@@ -0,0 +1,7 @@
+<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>
diff --git a/conf/curl/autoload_configs/iax.conf.xml b/conf/curl/autoload_configs/iax.conf.xml
new file mode 100644 (file)
index 0000000..f050bea
--- /dev/null
@@ -0,0 +1,12 @@
+<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>
diff --git a/conf/curl/autoload_configs/ivr.conf.xml b/conf/curl/autoload_configs/ivr.conf.xml
new file mode 100644 (file)
index 0000000..ca4117c
--- /dev/null
@@ -0,0 +1,58 @@
+<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>
+-->
diff --git a/conf/curl/autoload_configs/java.conf.xml b/conf/curl/autoload_configs/java.conf.xml
new file mode 100644 (file)
index 0000000..dadd428
--- /dev/null
@@ -0,0 +1,11 @@
+<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>
diff --git a/conf/curl/autoload_configs/limit.conf.xml b/conf/curl/autoload_configs/limit.conf.xml
new file mode 100644 (file)
index 0000000..26b0f85
--- /dev/null
@@ -0,0 +1,5 @@
+<configuration name="limit.conf" description="LIMIT Configuration">
+  <settings>
+    <!--<param name="odbc-dsn" value="dsn:user:pass"/>-->
+  </settings>
+</configuration>
diff --git a/conf/curl/autoload_configs/local_stream.conf.xml b/conf/curl/autoload_configs/local_stream.conf.xml
new file mode 100644 (file)
index 0000000..db85769
--- /dev/null
@@ -0,0 +1,34 @@
+<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>
diff --git a/conf/curl/autoload_configs/logfile.conf.xml b/conf/curl/autoload_configs/logfile.conf.xml
new file mode 100644 (file)
index 0000000..1fbdbdc
--- /dev/null
@@ -0,0 +1,24 @@
+<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>
diff --git a/conf/curl/autoload_configs/lua.conf.xml b/conf/curl/autoload_configs/lua.conf.xml
new file mode 100644 (file)
index 0000000..1eb594f
--- /dev/null
@@ -0,0 +1,30 @@
+<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>
diff --git a/conf/curl/autoload_configs/modules.conf.xml b/conf/curl/autoload_configs/modules.conf.xml
new file mode 100644 (file)
index 0000000..836e1ad
--- /dev/null
@@ -0,0 +1,6 @@
+<configuration name="modules.conf" description="Modules">
+  <modules>
+    <load module="mod_console"/>
+    <load module="mod_xml_curl"/>
+  </modules>
+</configuration>
diff --git a/conf/curl/autoload_configs/opal.conf.xml b/conf/curl/autoload_configs/opal.conf.xml
new file mode 100644 (file)
index 0000000..c084421
--- /dev/null
@@ -0,0 +1,15 @@
+<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>
+
diff --git a/conf/curl/autoload_configs/openmrcp.conf.xml b/conf/curl/autoload_configs/openmrcp.conf.xml
new file mode 100644 (file)
index 0000000..a4a934d
--- /dev/null
@@ -0,0 +1,10 @@
+<!-- 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>
diff --git a/conf/curl/autoload_configs/openzap.conf.xml b/conf/curl/autoload_configs/openzap.conf.xml
new file mode 100644 (file)
index 0000000..bfa2bc0
--- /dev/null
@@ -0,0 +1,45 @@
+<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>
diff --git a/conf/curl/autoload_configs/perl.conf.xml b/conf/curl/autoload_configs/perl.conf.xml
new file mode 100644 (file)
index 0000000..b243500
--- /dev/null
@@ -0,0 +1,16 @@
+<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>
diff --git a/conf/curl/autoload_configs/pocketsphinx.conf.xml b/conf/curl/autoload_configs/pocketsphinx.conf.xml
new file mode 100644 (file)
index 0000000..39d9154
--- /dev/null
@@ -0,0 +1,10 @@
+<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>
diff --git a/conf/curl/autoload_configs/portaudio.conf.xml b/conf/curl/autoload_configs/portaudio.conf.xml
new file mode 100644 (file)
index 0000000..129576a
--- /dev/null
@@ -0,0 +1,33 @@
+<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>
diff --git a/conf/curl/autoload_configs/post_load_modules.conf.xml b/conf/curl/autoload_configs/post_load_modules.conf.xml
new file mode 100644 (file)
index 0000000..8f4e132
--- /dev/null
@@ -0,0 +1,4 @@
+<configuration name="post_load_modules.conf" description="Modules">
+  <modules>
+  </modules>
+</configuration>
diff --git a/conf/curl/autoload_configs/python.conf.xml b/conf/curl/autoload_configs/python.conf.xml
new file mode 100644 (file)
index 0000000..78a1461
--- /dev/null
@@ -0,0 +1,16 @@
+<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>
diff --git a/conf/curl/autoload_configs/rss.conf.xml b/conf/curl/autoload_configs/rss.conf.xml
new file mode 100644 (file)
index 0000000..f8c4f6d
--- /dev/null
@@ -0,0 +1,7 @@
+<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>
diff --git a/conf/curl/autoload_configs/shout.conf.xml b/conf/curl/autoload_configs/shout.conf.xml
new file mode 100644 (file)
index 0000000..3f381e6
--- /dev/null
@@ -0,0 +1,8 @@
+<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>
diff --git a/conf/curl/autoload_configs/sofia.conf.xml b/conf/curl/autoload_configs/sofia.conf.xml
new file mode 100644 (file)
index 0000000..24252d0
--- /dev/null
@@ -0,0 +1,18 @@
+<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>
diff --git a/conf/curl/autoload_configs/spidermonkey.conf.xml b/conf/curl/autoload_configs/spidermonkey.conf.xml
new file mode 100644 (file)
index 0000000..2e6dc6a
--- /dev/null
@@ -0,0 +1,8 @@
+<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>
diff --git a/conf/curl/autoload_configs/switch.conf.xml b/conf/curl/autoload_configs/switch.conf.xml
new file mode 100644 (file)
index 0000000..09d1c07
--- /dev/null
@@ -0,0 +1,66 @@
+<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>
+
diff --git a/conf/curl/autoload_configs/syslog.conf.xml b/conf/curl/autoload_configs/syslog.conf.xml
new file mode 100644 (file)
index 0000000..1070ba5
--- /dev/null
@@ -0,0 +1,15 @@
+<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>
diff --git a/conf/curl/autoload_configs/timezones.conf.xml b/conf/curl/autoload_configs/timezones.conf.xml
new file mode 100644 (file)
index 0000000..85c805f
--- /dev/null
@@ -0,0 +1,551 @@
+<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>
diff --git a/conf/curl/autoload_configs/voicemail.conf.xml b/conf/curl/autoload_configs/voicemail.conf.xml
new file mode 100644 (file)
index 0000000..630816c
--- /dev/null
@@ -0,0 +1,63 @@
+<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> 
diff --git a/conf/curl/autoload_configs/xml_cdr.conf.xml b/conf/curl/autoload_configs/xml_cdr.conf.xml
new file mode 100644 (file)
index 0000000..7f635d6
--- /dev/null
@@ -0,0 +1,42 @@
+<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>
diff --git a/conf/curl/autoload_configs/xml_curl.conf.xml b/conf/curl/autoload_configs/xml_curl.conf.xml
new file mode 100644 (file)
index 0000000..0f7ec08
--- /dev/null
@@ -0,0 +1,21 @@
+<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>
diff --git a/conf/curl/autoload_configs/xml_rpc.conf.xml b/conf/curl/autoload_configs/xml_rpc.conf.xml
new file mode 100644 (file)
index 0000000..714a909
--- /dev/null
@@ -0,0 +1,10 @@
+<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>
diff --git a/conf/curl/autoload_configs/zeroconf.conf.xml b/conf/curl/autoload_configs/zeroconf.conf.xml
new file mode 100644 (file)
index 0000000..84c1a46
--- /dev/null
@@ -0,0 +1,6 @@
+<configuration name="zeroconf.conf" description="Zeroconf Event Handler">
+  <settings>
+    <param name="publish" value="yes"/>
+    <param name="browse" value="_sip._udp"/>
+  </settings>
+</configuration>
diff --git a/conf/curl/freeswitch.xml b/conf/curl/freeswitch.xml
new file mode 100644 (file)
index 0000000..e449978
--- /dev/null
@@ -0,0 +1,43 @@
+<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>
+
+
+
diff --git a/conf/curl/mime.types b/conf/curl/mime.types
new file mode 100644 (file)
index 0000000..34d5fc9
--- /dev/null
@@ -0,0 +1,983 @@
+# 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
diff --git a/conf/insideout/autoload_configs/acl.conf.xml b/conf/insideout/autoload_configs/acl.conf.xml
new file mode 100644 (file)
index 0000000..73f78a6
--- /dev/null
@@ -0,0 +1,36 @@
+<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>
+
diff --git a/conf/insideout/autoload_configs/alsa.conf.xml b/conf/insideout/autoload_configs/alsa.conf.xml
new file mode 100644 (file)
index 0000000..e589aca
--- /dev/null
@@ -0,0 +1,12 @@
+<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>
diff --git a/conf/insideout/autoload_configs/cdr_csv.conf.xml b/conf/insideout/autoload_configs/cdr_csv.conf.xml
new file mode 100644 (file)
index 0000000..137f15c
--- /dev/null
@@ -0,0 +1,20 @@
+<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>
+
diff --git a/conf/insideout/autoload_configs/conference.conf.xml b/conf/insideout/autoload_configs/conference.conf.xml
new file mode 100644 (file)
index 0000000..6ba27f9
--- /dev/null
@@ -0,0 +1,178 @@
+<!-- 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>
diff --git a/conf/insideout/autoload_configs/console.conf.xml b/conf/insideout/autoload_configs/console.conf.xml
new file mode 100644 (file)
index 0000000..2d9e3e8
--- /dev/null
@@ -0,0 +1,56 @@
+<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>
diff --git a/conf/insideout/autoload_configs/dialplan_directory.conf.xml b/conf/insideout/autoload_configs/dialplan_directory.conf.xml
new file mode 100644 (file)
index 0000000..e4edcd6
--- /dev/null
@@ -0,0 +1,9 @@
+<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>
diff --git a/conf/insideout/autoload_configs/enum.conf.xml b/conf/insideout/autoload_configs/enum.conf.xml
new file mode 100644 (file)
index 0000000..eb7a37d
--- /dev/null
@@ -0,0 +1,14 @@
+<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>
diff --git a/conf/insideout/autoload_configs/event_multicast.conf.xml b/conf/insideout/autoload_configs/event_multicast.conf.xml
new file mode 100644 (file)
index 0000000..9f2091d
--- /dev/null
@@ -0,0 +1,8 @@
+<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>
+
diff --git a/conf/insideout/autoload_configs/event_socket.conf.xml b/conf/insideout/autoload_configs/event_socket.conf.xml
new file mode 100644 (file)
index 0000000..62a5fe4
--- /dev/null
@@ -0,0 +1,8 @@
+<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>
diff --git a/conf/insideout/autoload_configs/fax.conf.xml b/conf/insideout/autoload_configs/fax.conf.xml
new file mode 100644 (file)
index 0000000..c7d8256
--- /dev/null
@@ -0,0 +1,12 @@
+<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>
diff --git a/conf/insideout/autoload_configs/fifo.conf.xml b/conf/insideout/autoload_configs/fifo.conf.xml
new file mode 100644 (file)
index 0000000..ab34f57
--- /dev/null
@@ -0,0 +1,7 @@
+<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>
diff --git a/conf/insideout/autoload_configs/iax.conf.xml b/conf/insideout/autoload_configs/iax.conf.xml
new file mode 100644 (file)
index 0000000..f050bea
--- /dev/null
@@ -0,0 +1,12 @@
+<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>
diff --git a/conf/insideout/autoload_configs/ivr.conf.xml b/conf/insideout/autoload_configs/ivr.conf.xml
new file mode 100644 (file)
index 0000000..ca4117c
--- /dev/null
@@ -0,0 +1,58 @@
+<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>
+-->
diff --git a/conf/insideout/autoload_configs/java.conf.xml b/conf/insideout/autoload_configs/java.conf.xml
new file mode 100644 (file)
index 0000000..dadd428
--- /dev/null
@@ -0,0 +1,11 @@
+<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>
diff --git a/conf/insideout/autoload_configs/limit.conf.xml b/conf/insideout/autoload_configs/limit.conf.xml
new file mode 100644 (file)
index 0000000..26b0f85
--- /dev/null
@@ -0,0 +1,5 @@
+<configuration name="limit.conf" description="LIMIT Configuration">
+  <settings>
+    <!--<param name="odbc-dsn" value="dsn:user:pass"/>-->
+  </settings>
+</configuration>
diff --git a/conf/insideout/autoload_configs/local_stream.conf.xml b/conf/insideout/autoload_configs/local_stream.conf.xml
new file mode 100644 (file)
index 0000000..db85769
--- /dev/null
@@ -0,0 +1,34 @@
+<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>
diff --git a/conf/insideout/autoload_configs/logfile.conf.xml b/conf/insideout/autoload_configs/logfile.conf.xml
new file mode 100644 (file)
index 0000000..1fbdbdc
--- /dev/null
@@ -0,0 +1,24 @@
+<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>
diff --git a/conf/insideout/autoload_configs/lua.conf.xml b/conf/insideout/autoload_configs/lua.conf.xml
new file mode 100644 (file)
index 0000000..1eb594f
--- /dev/null
@@ -0,0 +1,30 @@
+<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>
diff --git a/conf/insideout/autoload_configs/modules.conf.xml b/conf/insideout/autoload_configs/modules.conf.xml
new file mode 100644 (file)
index 0000000..8793a00
--- /dev/null
@@ -0,0 +1,97 @@
+<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>
diff --git a/conf/insideout/autoload_configs/opal.conf.xml b/conf/insideout/autoload_configs/opal.conf.xml
new file mode 100644 (file)
index 0000000..c084421
--- /dev/null
@@ -0,0 +1,15 @@
+<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>
+
diff --git a/conf/insideout/autoload_configs/openzap.conf.xml b/conf/insideout/autoload_configs/openzap.conf.xml
new file mode 100644 (file)
index 0000000..bfa2bc0
--- /dev/null
@@ -0,0 +1,45 @@
+<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>
diff --git a/conf/insideout/autoload_configs/perl.conf.xml b/conf/insideout/autoload_configs/perl.conf.xml
new file mode 100644 (file)
index 0000000..b243500
--- /dev/null
@@ -0,0 +1,16 @@
+<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>
diff --git a/conf/insideout/autoload_configs/pocketsphinx.conf.xml b/conf/insideout/autoload_configs/pocketsphinx.conf.xml
new file mode 100644 (file)
index 0000000..39d9154
--- /dev/null
@@ -0,0 +1,10 @@
+<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>
diff --git a/conf/insideout/autoload_configs/portaudio.conf.xml b/conf/insideout/autoload_configs/portaudio.conf.xml
new file mode 100644 (file)
index 0000000..129576a
--- /dev/null
@@ -0,0 +1,33 @@
+<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>
diff --git a/conf/insideout/autoload_configs/post_load_modules.conf.xml b/conf/insideout/autoload_configs/post_load_modules.conf.xml
new file mode 100644 (file)
index 0000000..8f4e132
--- /dev/null
@@ -0,0 +1,4 @@
+<configuration name="post_load_modules.conf" description="Modules">
+  <modules>
+  </modules>
+</configuration>
diff --git a/conf/insideout/autoload_configs/python.conf.xml b/conf/insideout/autoload_configs/python.conf.xml
new file mode 100644 (file)
index 0000000..78a1461
--- /dev/null
@@ -0,0 +1,16 @@
+<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>
diff --git a/conf/insideout/autoload_configs/rss.conf.xml b/conf/insideout/autoload_configs/rss.conf.xml
new file mode 100644 (file)
index 0000000..f8c4f6d
--- /dev/null
@@ -0,0 +1,7 @@
+<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>
diff --git a/conf/insideout/autoload_configs/shout.conf.xml b/conf/insideout/autoload_configs/shout.conf.xml
new file mode 100644 (file)
index 0000000..3f381e6
--- /dev/null
@@ -0,0 +1,8 @@
+<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>
diff --git a/conf/insideout/autoload_configs/sofia.conf.xml b/conf/insideout/autoload_configs/sofia.conf.xml
new file mode 100644 (file)
index 0000000..24252d0
--- /dev/null
@@ -0,0 +1,18 @@
+<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>
diff --git a/conf/insideout/autoload_configs/spidermonkey.conf.xml b/conf/insideout/autoload_configs/spidermonkey.conf.xml
new file mode 100644 (file)
index 0000000..2e6dc6a
--- /dev/null
@@ -0,0 +1,8 @@
+<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>
diff --git a/conf/insideout/autoload_configs/switch.conf.xml b/conf/insideout/autoload_configs/switch.conf.xml
new file mode 100644 (file)
index 0000000..09d1c07
--- /dev/null
@@ -0,0 +1,66 @@
+<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>
+
diff --git a/conf/insideout/autoload_configs/syslog.conf.xml b/conf/insideout/autoload_configs/syslog.conf.xml
new file mode 100644 (file)
index 0000000..1070ba5
--- /dev/null
@@ -0,0 +1,15 @@
+<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>
diff --git a/conf/insideout/autoload_configs/timezones.conf.xml b/conf/insideout/autoload_configs/timezones.conf.xml
new file mode 100644 (file)
index 0000000..85c805f
--- /dev/null
@@ -0,0 +1,551 @@
+<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>
diff --git a/conf/insideout/autoload_configs/voicemail.conf.xml b/conf/insideout/autoload_configs/voicemail.conf.xml
new file mode 100644 (file)
index 0000000..630816c
--- /dev/null
@@ -0,0 +1,63 @@
+<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> 
diff --git a/conf/insideout/autoload_configs/xml_cdr.conf.xml b/conf/insideout/autoload_configs/xml_cdr.conf.xml
new file mode 100644 (file)
index 0000000..7f635d6
--- /dev/null
@@ -0,0 +1,42 @@
+<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>
diff --git a/conf/insideout/autoload_configs/xml_curl.conf.xml b/conf/insideout/autoload_configs/xml_curl.conf.xml
new file mode 100644 (file)
index 0000000..c4f3f9b
--- /dev/null
@@ -0,0 +1,21 @@
+<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>
diff --git a/conf/insideout/autoload_configs/xml_rpc.conf.xml b/conf/insideout/autoload_configs/xml_rpc.conf.xml
new file mode 100644 (file)
index 0000000..714a909
--- /dev/null
@@ -0,0 +1,10 @@
+<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>
diff --git a/conf/insideout/autoload_configs/zeroconf.conf.xml b/conf/insideout/autoload_configs/zeroconf.conf.xml
new file mode 100644 (file)
index 0000000..84c1a46
--- /dev/null
@@ -0,0 +1,6 @@
+<configuration name="zeroconf.conf" description="Zeroconf Event Handler">
+  <settings>
+    <param name="publish" value="yes"/>
+    <param name="browse" value="_sip._udp"/>
+  </settings>
+</configuration>
diff --git a/conf/insideout/dialplan/default.xml b/conf/insideout/dialplan/default.xml
new file mode 100644 (file)
index 0000000..9fe6549
--- /dev/null
@@ -0,0 +1,608 @@
+<!--
+    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>
diff --git a/conf/insideout/dialplan/default/00_pizza_demo.xml b/conf/insideout/dialplan/default/00_pizza_demo.xml
new file mode 100644 (file)
index 0000000..e7fcca2
--- /dev/null
@@ -0,0 +1,9 @@
+<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>
diff --git a/conf/insideout/dialplan/default/01_example.com.xml b/conf/insideout/dialplan/default/01_example.com.xml
new file mode 100644 (file)
index 0000000..bd61cd2
--- /dev/null
@@ -0,0 +1,30 @@
+<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>
diff --git a/conf/insideout/dialplan/default/02_conferences.xml b/conf/insideout/dialplan/default/02_conferences.xml
new file mode 100644 (file)
index 0000000..801772a
--- /dev/null
@@ -0,0 +1,11 @@
+<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>
diff --git a/conf/insideout/dialplan/default/99999_enum.xml b/conf/insideout/dialplan/default/99999_enum.xml
new file mode 100644 (file)
index 0000000..6fd2151
--- /dev/null
@@ -0,0 +1,8 @@
+<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>
diff --git a/conf/insideout/dialplan/features.xml b/conf/insideout/dialplan/features.xml
new file mode 100644 (file)
index 0000000..8a6626e
--- /dev/null
@@ -0,0 +1,51 @@
+<!-- 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>
diff --git a/conf/insideout/dialplan/public.xml b/conf/insideout/dialplan/public.xml
new file mode 100644 (file)
index 0000000..03de309
--- /dev/null
@@ -0,0 +1,78 @@
+<!--
+    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>
diff --git a/conf/insideout/dialplan/public/00_inbound_did.xml b/conf/insideout/dialplan/public/00_inbound_did.xml
new file mode 100644 (file)
index 0000000..d40b3ab
--- /dev/null
@@ -0,0 +1,18 @@
+<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>
diff --git a/conf/insideout/directory/default.xml b/conf/insideout/directory/default.xml
new file mode 100644 (file)
index 0000000..08d2355
--- /dev/null
@@ -0,0 +1,38 @@
+<!--
+    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>
diff --git a/conf/insideout/directory/default/1000.xml b/conf/insideout/directory/default/1000.xml
new file mode 100644 (file)
index 0000000..a8fee30
--- /dev/null
@@ -0,0 +1,18 @@
+<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>
diff --git a/conf/insideout/directory/default/1001.xml b/conf/insideout/directory/default/1001.xml
new file mode 100644 (file)
index 0000000..dc81d8f
--- /dev/null
@@ -0,0 +1,18 @@
+<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>
diff --git a/conf/insideout/directory/default/1002.xml b/conf/insideout/directory/default/1002.xml
new file mode 100644 (file)
index 0000000..e64bfec
--- /dev/null
@@ -0,0 +1,18 @@
+<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>
diff --git a/conf/insideout/directory/default/1003.xml b/conf/insideout/directory/default/1003.xml
new file mode 100644 (file)
index 0000000..fb482c8
--- /dev/null
@@ -0,0 +1,18 @@
+<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>
diff --git a/conf/insideout/directory/default/1004.xml b/conf/insideout/directory/default/1004.xml
new file mode 100644 (file)
index 0000000..1fe9e1d
--- /dev/null
@@ -0,0 +1,18 @@
+<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>
diff --git a/conf/insideout/directory/default/1005.xml b/conf/insideout/directory/default/1005.xml
new file mode 100644 (file)
index 0000000..172c4ee
--- /dev/null
@@ -0,0 +1,18 @@
+<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>
diff --git a/conf/insideout/directory/default/1006.xml b/conf/insideout/directory/default/1006.xml
new file mode 100644 (file)
index 0000000..7eedaf4
--- /dev/null
@@ -0,0 +1,18 @@
+<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>
diff --git a/conf/insideout/directory/default/1007.xml b/conf/insideout/directory/default/1007.xml
new file mode 100644 (file)
index 0000000..84ec70b
--- /dev/null
@@ -0,0 +1,18 @@
+<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>
diff --git a/conf/insideout/directory/default/1008.xml b/conf/insideout/directory/default/1008.xml
new file mode 100644 (file)
index 0000000..69b9cf2
--- /dev/null
@@ -0,0 +1,18 @@
+<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>
diff --git a/conf/insideout/directory/default/1009.xml b/conf/insideout/directory/default/1009.xml
new file mode 100644 (file)
index 0000000..70efbb3
--- /dev/null
@@ -0,0 +1,18 @@
+<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>
diff --git a/conf/insideout/directory/default/1010.xml b/conf/insideout/directory/default/1010.xml
new file mode 100644 (file)
index 0000000..053ba8e
--- /dev/null
@@ -0,0 +1,18 @@
+<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>
diff --git a/conf/insideout/directory/default/1011.xml b/conf/insideout/directory/default/1011.xml
new file mode 100644 (file)
index 0000000..5aff568
--- /dev/null
@@ -0,0 +1,18 @@
+<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>
diff --git a/conf/insideout/directory/default/1012.xml b/conf/insideout/directory/default/1012.xml
new file mode 100644 (file)
index 0000000..d0f8c44
--- /dev/null
@@ -0,0 +1,18 @@
+<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>
diff --git a/conf/insideout/directory/default/1013.xml b/conf/insideout/directory/default/1013.xml
new file mode 100644 (file)
index 0000000..2fe1301
--- /dev/null
@@ -0,0 +1,18 @@
+<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>
diff --git a/conf/insideout/directory/default/1014.xml b/conf/insideout/directory/default/1014.xml
new file mode 100644 (file)
index 0000000..20995e9
--- /dev/null
@@ -0,0 +1,18 @@
+<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>
diff --git a/conf/insideout/directory/default/1015.xml b/conf/insideout/directory/default/1015.xml
new file mode 100644 (file)
index 0000000..f13d567
--- /dev/null
@@ -0,0 +1,18 @@
+<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>
diff --git a/conf/insideout/directory/default/1016.xml b/conf/insideout/directory/default/1016.xml
new file mode 100644 (file)
index 0000000..8b0dbb3
--- /dev/null
@@ -0,0 +1,18 @@
+<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>
diff --git a/conf/insideout/directory/default/1017.xml b/conf/insideout/directory/default/1017.xml
new file mode 100644 (file)
index 0000000..f9d8059
--- /dev/null
@@ -0,0 +1,18 @@
+<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>
diff --git a/conf/insideout/directory/default/1018.xml b/conf/insideout/directory/default/1018.xml
new file mode 100644 (file)
index 0000000..e617579
--- /dev/null
@@ -0,0 +1,18 @@
+<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>
diff --git a/conf/insideout/directory/default/1019.xml b/conf/insideout/directory/default/1019.xml
new file mode 100644 (file)
index 0000000..e035a25
--- /dev/null
@@ -0,0 +1,18 @@
+<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>
diff --git a/conf/insideout/directory/default/brian.xml b/conf/insideout/directory/default/brian.xml
new file mode 100644 (file)
index 0000000..791f510
--- /dev/null
@@ -0,0 +1,90 @@
+<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>
diff --git a/conf/insideout/directory/default/default.xml b/conf/insideout/directory/default/default.xml
new file mode 100644 (file)
index 0000000..8003ae6
--- /dev/null
@@ -0,0 +1,11 @@
+<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>
diff --git a/conf/insideout/directory/default/example.com.xml b/conf/insideout/directory/default/example.com.xml
new file mode 100644 (file)
index 0000000..23ffcfa
--- /dev/null
@@ -0,0 +1,26 @@
+<!--
+    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>
+
diff --git a/conf/insideout/extensions.conf b/conf/insideout/extensions.conf
new file mode 100644 (file)
index 0000000..f2c922e
--- /dev/null
@@ -0,0 +1,21 @@
+[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)
+
+
diff --git a/conf/insideout/freeswitch.xml b/conf/insideout/freeswitch.xml
new file mode 100644 (file)
index 0000000..e449978
--- /dev/null
@@ -0,0 +1,43 @@
+<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>
+
+
+
diff --git a/conf/insideout/fur_elise.ttml b/conf/insideout/fur_elise.ttml
new file mode 100644 (file)
index 0000000..6e6ef03
--- /dev/null
@@ -0,0 +1,83 @@
+%(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)
diff --git a/conf/insideout/lang/de/de.xml b/conf/insideout/lang/de/de.xml
new file mode 100644 (file)
index 0000000..5239489
--- /dev/null
@@ -0,0 +1,7 @@
+<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>
diff --git a/conf/insideout/lang/de/demo/demo.xml b/conf/insideout/lang/de/demo/demo.xml
new file mode 100644 (file)
index 0000000..61582b2
--- /dev/null
@@ -0,0 +1,71 @@
+<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 -->
diff --git a/conf/insideout/lang/de/vm/tts.xml b/conf/insideout/lang/de/vm/tts.xml
new file mode 100644 (file)
index 0000000..7a8f18c
--- /dev/null
@@ -0,0 +1,214 @@
+<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 -->
diff --git a/conf/insideout/lang/en/demo/demo-ivr.xml b/conf/insideout/lang/en/demo/demo-ivr.xml
new file mode 100644 (file)
index 0000000..27fd372
--- /dev/null
@@ -0,0 +1,161 @@
+<?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 -->
diff --git a/conf/insideout/lang/en/demo/demo.xml b/conf/insideout/lang/en/demo/demo.xml
new file mode 100644 (file)
index 0000000..bcfe6a8
--- /dev/null
@@ -0,0 +1,82 @@
+<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:
+-->
diff --git a/conf/insideout/lang/en/en.xml b/conf/insideout/lang/en/en.xml
new file mode 100644 (file)
index 0000000..92397ba
--- /dev/null
@@ -0,0 +1,7 @@
+<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>
diff --git a/conf/insideout/lang/en/vm/sounds.xml b/conf/insideout/lang/en/vm/sounds.xml
new file mode 100644 (file)
index 0000000..03f8303
--- /dev/null
@@ -0,0 +1,335 @@
+<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 -->
diff --git a/conf/insideout/lang/en/vm/tts.xml b/conf/insideout/lang/en/vm/tts.xml
new file mode 100644 (file)
index 0000000..2de4b37
--- /dev/null
@@ -0,0 +1,249 @@
+<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:
+-->
diff --git a/conf/insideout/lang/fr/demo/demo.xml b/conf/insideout/lang/fr/demo/demo.xml
new file mode 100644 (file)
index 0000000..3b2edac
--- /dev/null
@@ -0,0 +1,18 @@
+<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 -->
diff --git a/conf/insideout/lang/fr/fr.xml b/conf/insideout/lang/fr/fr.xml
new file mode 100644 (file)
index 0000000..40c038f
--- /dev/null
@@ -0,0 +1,7 @@
+<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>
diff --git a/conf/insideout/lang/fr/vm/sounds.xml b/conf/insideout/lang/fr/vm/sounds.xml
new file mode 100644 (file)
index 0000000..81232a2
--- /dev/null
@@ -0,0 +1,211 @@
+<?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
diff --git a/conf/insideout/mime.types b/conf/insideout/mime.types
new file mode 100644 (file)
index 0000000..34d5fc9
--- /dev/null
@@ -0,0 +1,983 @@
+# 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
diff --git a/conf/insideout/notify-voicemail.tpl b/conf/insideout/notify-voicemail.tpl
new file mode 100644 (file)
index 0000000..0b08dbe
--- /dev/null
@@ -0,0 +1,42 @@
+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--
diff --git a/conf/insideout/openzap.conf b/conf/insideout/openzap.conf
new file mode 100644 (file)
index 0000000..d8a2f4b
--- /dev/null
@@ -0,0 +1,19 @@
+[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
+
+
diff --git a/conf/insideout/sip_profiles/external.xml b/conf/insideout/sip_profiles/external.xml
new file mode 100644 (file)
index 0000000..6f60452
--- /dev/null
@@ -0,0 +1,73 @@
+<!-- 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>
diff --git a/conf/insideout/sip_profiles/external/example.xml b/conf/insideout/sip_profiles/external/example.xml
new file mode 100644 (file)
index 0000000..7ac8db1
--- /dev/null
@@ -0,0 +1,34 @@
+<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>
diff --git a/conf/insideout/sip_profiles/internal-ipv6.xml b/conf/insideout/sip_profiles/internal-ipv6.xml
new file mode 100644 (file)
index 0000000..856ac49
--- /dev/null
@@ -0,0 +1,131 @@
+<!--
+    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>
+
diff --git a/conf/insideout/sip_profiles/internal.xml b/conf/insideout/sip_profiles/internal.xml
new file mode 100644 (file)
index 0000000..a6010b2
--- /dev/null
@@ -0,0 +1,189 @@
+<!--
+    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>
+
diff --git a/conf/insideout/sip_profiles/internal/example.xml b/conf/insideout/sip_profiles/internal/example.xml
new file mode 100644 (file)
index 0000000..7ac8db1
--- /dev/null
@@ -0,0 +1,34 @@
+<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>
diff --git a/conf/insideout/tetris.ttml b/conf/insideout/tetris.ttml
new file mode 100644 (file)
index 0000000..2e33a5d
--- /dev/null
@@ -0,0 +1,69 @@
+%(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)
diff --git a/conf/insideout/tones.conf b/conf/insideout/tones.conf
new file mode 100644 (file)
index 0000000..8046578
--- /dev/null
@@ -0,0 +1,25 @@
+[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
+
+
+
diff --git a/conf/insideout/vars.xml b/conf/insideout/vars.xml
new file mode 100644 (file)
index 0000000..497d0d0
--- /dev/null
@@ -0,0 +1,155 @@
+  <!-- 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"/>
diff --git a/conf/insideout/voicemail.tpl b/conf/insideout/voicemail.tpl
new file mode 100644 (file)
index 0000000..aede2b8
--- /dev/null
@@ -0,0 +1,42 @@
+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--
diff --git a/conf/insideout/web-vm.tpl b/conf/insideout/web-vm.tpl
new file mode 100644 (file)
index 0000000..1c65633
--- /dev/null
@@ -0,0 +1,13 @@
+<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>
diff --git a/conf/sbc/autoload_configs/acl.conf.xml b/conf/sbc/autoload_configs/acl.conf.xml
new file mode 100644 (file)
index 0000000..73f78a6
--- /dev/null
@@ -0,0 +1,36 @@
+<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>
+
diff --git a/conf/sbc/autoload_configs/cdr_csv.conf.xml b/conf/sbc/autoload_configs/cdr_csv.conf.xml
new file mode 100644 (file)
index 0000000..137f15c
--- /dev/null
@@ -0,0 +1,20 @@
+<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>
+
diff --git a/conf/sbc/autoload_configs/console.conf.xml b/conf/sbc/autoload_configs/console.conf.xml
new file mode 100644 (file)
index 0000000..2d9e3e8
--- /dev/null
@@ -0,0 +1,56 @@
+<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>
diff --git a/conf/sbc/autoload_configs/enum.conf.xml b/conf/sbc/autoload_configs/enum.conf.xml
new file mode 100644 (file)
index 0000000..eb7a37d
--- /dev/null
@@ -0,0 +1,14 @@
+<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>
diff --git a/conf/sbc/autoload_configs/event_socket.conf.xml b/conf/sbc/autoload_configs/event_socket.conf.xml
new file mode 100644 (file)
index 0000000..98a2764
--- /dev/null
@@ -0,0 +1,8 @@
+<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>
diff --git a/conf/sbc/autoload_configs/limit.conf.xml b/conf/sbc/autoload_configs/limit.conf.xml
new file mode 100644 (file)
index 0000000..26b0f85
--- /dev/null
@@ -0,0 +1,5 @@
+<configuration name="limit.conf" description="LIMIT Configuration">
+  <settings>
+    <!--<param name="odbc-dsn" value="dsn:user:pass"/>-->
+  </settings>
+</configuration>
diff --git a/conf/sbc/autoload_configs/logfile.conf.xml b/conf/sbc/autoload_configs/logfile.conf.xml
new file mode 100644 (file)
index 0000000..1fbdbdc
--- /dev/null
@@ -0,0 +1,24 @@
+<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>
diff --git a/conf/sbc/autoload_configs/modules.conf.xml b/conf/sbc/autoload_configs/modules.conf.xml
new file mode 100644 (file)
index 0000000..31b96dd
--- /dev/null
@@ -0,0 +1,54 @@
+<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>
diff --git a/conf/sbc/autoload_configs/post_load_modules.conf.xml b/conf/sbc/autoload_configs/post_load_modules.conf.xml
new file mode 100644 (file)
index 0000000..8f4e132
--- /dev/null
@@ -0,0 +1,4 @@
+<configuration name="post_load_modules.conf" description="Modules">
+  <modules>
+  </modules>
+</configuration>
diff --git a/conf/sbc/autoload_configs/sofia.conf.xml b/conf/sbc/autoload_configs/sofia.conf.xml
new file mode 100644 (file)
index 0000000..24252d0
--- /dev/null
@@ -0,0 +1,18 @@
+<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>
diff --git a/conf/sbc/autoload_configs/switch.conf.xml b/conf/sbc/autoload_configs/switch.conf.xml
new file mode 100644 (file)
index 0000000..09d1c07
--- /dev/null
@@ -0,0 +1,66 @@
+<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>
+
diff --git a/conf/sbc/autoload_configs/syslog.conf.xml b/conf/sbc/autoload_configs/syslog.conf.xml
new file mode 100644 (file)
index 0000000..1070ba5
--- /dev/null
@@ -0,0 +1,15 @@
+<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>
diff --git a/conf/sbc/autoload_configs/timezones.conf.xml b/conf/sbc/autoload_configs/timezones.conf.xml
new file mode 100644 (file)
index 0000000..85c805f
--- /dev/null
@@ -0,0 +1,551 @@
+<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>
diff --git a/conf/sbc/autoload_configs/xml_cdr.conf.xml b/conf/sbc/autoload_configs/xml_cdr.conf.xml
new file mode 100644 (file)
index 0000000..7f635d6
--- /dev/null
@@ -0,0 +1,42 @@
+<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>
diff --git a/conf/sbc/autoload_configs/xml_rpc.conf.xml b/conf/sbc/autoload_configs/xml_rpc.conf.xml
new file mode 100644 (file)
index 0000000..714a909
--- /dev/null
@@ -0,0 +1,10 @@
+<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>
diff --git a/conf/sbc/dialplan/default.xml b/conf/sbc/dialplan/default.xml
new file mode 100644 (file)
index 0000000..2280a04
--- /dev/null
@@ -0,0 +1,602 @@
+<!--
+    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>
diff --git a/conf/sbc/dialplan/default/00_pizza_demo.xml b/conf/sbc/dialplan/default/00_pizza_demo.xml
new file mode 100644 (file)
index 0000000..e7fcca2
--- /dev/null
@@ -0,0 +1,9 @@
+<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>
diff --git a/conf/sbc/dialplan/default/01_example.com.xml b/conf/sbc/dialplan/default/01_example.com.xml
new file mode 100644 (file)
index 0000000..bd61cd2
--- /dev/null
@@ -0,0 +1,30 @@
+<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>
diff --git a/conf/sbc/dialplan/default/99999_enum.xml b/conf/sbc/dialplan/default/99999_enum.xml
new file mode 100644 (file)
index 0000000..6fd2151
--- /dev/null
@@ -0,0 +1,8 @@
+<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>
diff --git a/conf/sbc/dialplan/features.xml b/conf/sbc/dialplan/features.xml
new file mode 100644 (file)
index 0000000..8a6626e
--- /dev/null
@@ -0,0 +1,51 @@
+<!-- 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>
diff --git a/conf/sbc/dialplan/public.xml b/conf/sbc/dialplan/public.xml
new file mode 100644 (file)
index 0000000..03de309
--- /dev/null
@@ -0,0 +1,78 @@
+<!--
+    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>
diff --git a/conf/sbc/dialplan/public/00_inbound_did.xml b/conf/sbc/dialplan/public/00_inbound_did.xml
new file mode 100644 (file)
index 0000000..d40b3ab
--- /dev/null
@@ -0,0 +1,18 @@
+<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>
diff --git a/conf/sbc/freeswitch.xml b/conf/sbc/freeswitch.xml
new file mode 100644 (file)
index 0000000..e449978
--- /dev/null
@@ -0,0 +1,43 @@
+<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>
+
+
+
diff --git a/conf/sbc/mime.types b/conf/sbc/mime.types
new file mode 100644 (file)
index 0000000..34d5fc9
--- /dev/null
@@ -0,0 +1,983 @@
+# 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
diff --git a/conf/sbc/sbc_profiles/external.xml b/conf/sbc/sbc_profiles/external.xml
new file mode 100644 (file)
index 0000000..d168139
--- /dev/null
@@ -0,0 +1,74 @@
+<!-- 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>
diff --git a/conf/sbc/sbc_profiles/external/example.xml b/conf/sbc/sbc_profiles/external/example.xml
new file mode 100644 (file)
index 0000000..7ac8db1
--- /dev/null
@@ -0,0 +1,34 @@
+<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>
diff --git a/conf/sbc/sbc_profiles/internal-ipv6.xml b/conf/sbc/sbc_profiles/internal-ipv6.xml
new file mode 100644 (file)
index 0000000..856ac49
--- /dev/null
@@ -0,0 +1,131 @@
+<!--
+    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>
+
diff --git a/conf/sbc/sbc_profiles/internal.xml b/conf/sbc/sbc_profiles/internal.xml
new file mode 100644 (file)
index 0000000..d06e3a7
--- /dev/null
@@ -0,0 +1,185 @@
+<!--
+    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>
+
diff --git a/conf/sbc/sbc_profiles/internal/example.xml b/conf/sbc/sbc_profiles/internal/example.xml
new file mode 100644 (file)
index 0000000..7ac8db1
--- /dev/null
@@ -0,0 +1,34 @@
+<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>
diff --git a/conf/sbc/vars.xml b/conf/sbc/vars.xml
new file mode 100644 (file)
index 0000000..0fbcda1
--- /dev/null
@@ -0,0 +1,152 @@
+  <!-- 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"/>
diff --git a/conf/softphone/accounts/example.xml b/conf/softphone/accounts/example.xml
new file mode 100644 (file)
index 0000000..7ac8db1
--- /dev/null
@@ -0,0 +1,34 @@
+<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>
diff --git a/conf/softphone/freeswitch.xml b/conf/softphone/freeswitch.xml
new file mode 100644 (file)
index 0000000..00a2bc3
--- /dev/null
@@ -0,0 +1,281 @@
+<?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>
+
+