mirror of
https://github.com/fusionpbx/fusionpbx.git
synced 2026-01-06 11:43:50 +00:00
Move resources/templates/conf to app/switch/resources/conf
This commit is contained in:
@@ -1,3 +0,0 @@
|
||||
<FilesMatch "\.(xml)$">
|
||||
Deny from all
|
||||
</FilesMatch>
|
||||
@@ -1,5 +0,0 @@
|
||||
<configuration name="abstraction.conf" description="Abstraction">
|
||||
<apis>
|
||||
<api name="user_name" description="Return Name for extension" syntax="<exten>" parse="(.*)" destination="user_data" argument="$1@default var effective_caller_id_name"/>
|
||||
</apis>
|
||||
</configuration>
|
||||
@@ -1,12 +0,0 @@
|
||||
<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>
|
||||
@@ -1,11 +0,0 @@
|
||||
<configuration name="mod_blacklist.conf" description="Blacklist module">
|
||||
<lists>
|
||||
<!--
|
||||
Example blacklist, the referenced file contains blacklisted items, one entry per line
|
||||
|
||||
NOTE: make sure the file exists and is readable by FreeSWITCH.
|
||||
|
||||
<list name="example" filename="/usr/local/freeswitch/conf/blacklists/example.list"/>
|
||||
-->
|
||||
</lists>
|
||||
</configuration>
|
||||
@@ -1,16 +0,0 @@
|
||||
<configuration name="callcenter.conf" description="CallCenter">
|
||||
<settings>
|
||||
<!--<param name="odbc-dsn" value="$${dsn}"/>-->
|
||||
<!--<param name="dbname" value="/usr/local/freeswitch/db/call_center.db"/>-->
|
||||
</settings>
|
||||
<queues>
|
||||
</queues>
|
||||
<!-- WARNING: Configuration of XML Agents will be updated into the DB upon restart. -->
|
||||
<!-- WARNING: Configuration of XML Tiers will reset the level and position if those were supplied. -->
|
||||
<!-- WARNING: Agents and Tiers XML config shouldn't be used in a multi FS shared DB setup (Not currently supported anyway) -->
|
||||
<agents>
|
||||
</agents>
|
||||
<!-- If no level or position is provided, they will default to 1. You should do this to keep db value on restart. -->
|
||||
<tiers>
|
||||
</tiers>
|
||||
</configuration>
|
||||
@@ -1,13 +0,0 @@
|
||||
<configuration name="cdr_mongodb.conf" description="MongoDB CDR logger">
|
||||
<settings>
|
||||
<!-- Hostnames and IPv6 addrs not supported (yet) -->
|
||||
<param name="host" value="127.0.0.1"/>
|
||||
<param name="port" value="27017"/>
|
||||
|
||||
<!-- Namespace format is database.collection -->
|
||||
<param name="namespace" value="test.cdr"/>
|
||||
|
||||
<!-- If true, create CDR for B-leg of call (default: true) -->
|
||||
<param name="log-b-leg" value="false"/>
|
||||
</settings>
|
||||
</configuration>
|
||||
@@ -1,84 +0,0 @@
|
||||
<configuration name="cdr_pg_csv.conf" description="CDR PG CSV Format">
|
||||
<settings>
|
||||
<!-- See parameters for PQconnectdb() at http://www.postgresql.org/docs/8.4/static/libpq-connect.html -->
|
||||
<param name="db-info" value="host=localhost user=postgres password=nopassword dbname=fusionpbx connect_timeout=10" />
|
||||
<!-- CDR table name -->
|
||||
<param name="db-table" value="v_xml_cdr"/>
|
||||
|
||||
<!-- Log a-leg (a), b-leg (b) or both (ab) -->
|
||||
<param name="legs" value="ab"/>
|
||||
|
||||
<!-- Directory in which to spool failed SQL inserts -->
|
||||
<!-- <param name="spool-dir" value="$${base_dir}/log/cdr-pg-csv"/> -->
|
||||
<!-- Disk spool format if DB connection/insert fails - csv (default) or sql -->
|
||||
<param name="spool-format" value="csv"/>
|
||||
<param name="rotate-on-hup" value="true"/>
|
||||
|
||||
<!-- This is like the info app but after the call is hung up -->
|
||||
<!--<param name="debug" value="true"/>-->
|
||||
</settings>
|
||||
<schema>
|
||||
<field var="uuid"/>
|
||||
<field var="domain-uuid column=domain_uuid"/>
|
||||
<field var="domain_name"/>
|
||||
<field var="accountcode"/>
|
||||
<field var="direction"/>
|
||||
<field var="default_language"/>
|
||||
<field var="context"/>
|
||||
<field var="xml_cdr"/>
|
||||
|
||||
<!-- <field var="local_ip_v4"/> -->
|
||||
<field var="caller_id_name"/>
|
||||
<field var="caller_id_number"/>
|
||||
<field var="destination_number"/>
|
||||
|
||||
<field var="start_epoch"/>
|
||||
<field var="start_stamp"/>
|
||||
<field var="answer_stamp"/>
|
||||
<field var="answer_epoch"/>
|
||||
<field var="end_epoch"/>
|
||||
<field var="end_stamp"/>
|
||||
<field var="duration"/>
|
||||
<field var="mduration"/>
|
||||
<field var="billsec"/>
|
||||
<field var="billmsec"/>
|
||||
|
||||
<field var="bridge_uuid"/>
|
||||
<!-- <field var="bleg_uuid"/> -->
|
||||
<field var="read_codec"/>
|
||||
<field var="read_rate"/>
|
||||
<field var="write_codec"/>
|
||||
<field var="write_rate"/>
|
||||
|
||||
<field var="remote_media_ip"/>
|
||||
<field var="network_addr"/>
|
||||
<field var="recording_file"/>
|
||||
<field var="leg"/>
|
||||
|
||||
<field var="pdd_ms"/>
|
||||
<field var="last_app"/>
|
||||
<field var="last_arg"/>
|
||||
|
||||
<field var="cc_side"/>
|
||||
<field var="cc_member_uuid"/>
|
||||
<field var="cc_queue_joined_epoch"/>
|
||||
<field var="cc_queue"/>
|
||||
<field var="cc_member_session_uuid"/>
|
||||
<field var="cc_agent"/>
|
||||
<field var="cc_agent_type"/>
|
||||
|
||||
<field var="waitsec"/>
|
||||
|
||||
<field var="conference_name"/>
|
||||
<field var="conference_uuid"/>
|
||||
<field var="conference_member_id"/>
|
||||
<field var="digits_dialed"/>
|
||||
|
||||
<field var="hangup_cause"/>
|
||||
<field var="hangup_cause_q850"/>
|
||||
<field var="sip_hangup_disposition"/>
|
||||
|
||||
<!-- <field var="sip_hangup_disposition"/> -->
|
||||
<!-- <field var="ani"/> -->
|
||||
</schema>
|
||||
</configuration>
|
||||
@@ -1,18 +0,0 @@
|
||||
<configuration name="cdr_sqlite.conf" description="SQLite CDR">
|
||||
<settings>
|
||||
<!-- SQLite database name (.db suffix will be automatically appended) -->
|
||||
<!-- <param name="db-name" value="cdr"/> -->
|
||||
<!-- CDR table name -->
|
||||
<!-- <param name="db-table" value="cdr"/> -->
|
||||
<!-- Log a-leg (a), b-leg (b) or both (ab) -->
|
||||
<param name="legs" value="a"/>
|
||||
<!-- Default template to use when inserting records -->
|
||||
<param name="default-template" value="example"/>
|
||||
<!-- This is like the info app but after the call is hung up -->
|
||||
<!--<param name="debug" value="true"/>-->
|
||||
</settings>
|
||||
<templates>
|
||||
<!-- Note that field order must match SQL table schema, otherwise insert will fail -->
|
||||
<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}"</template>
|
||||
</templates>
|
||||
</configuration>
|
||||
@@ -1,12 +0,0 @@
|
||||
<configuration name="cepstral.conf" description="Cepstral TTS configuration">
|
||||
<settings>
|
||||
<!--
|
||||
Possible encodings:
|
||||
* utf-8
|
||||
* us-ascii
|
||||
* iso8859-1 (default)
|
||||
* iso8859-15
|
||||
-->
|
||||
<param name="encoding" value="utf-8"/>
|
||||
</settings>
|
||||
</configuration>
|
||||
@@ -1,37 +0,0 @@
|
||||
<configuration name="cidlookup.conf" description="cidlookup Configuration">
|
||||
<settings>
|
||||
<!-- comment out url to not setup a url based lookup -->
|
||||
<!--<param name="url" value="http://query.voipcnam.com/query.php?api_key=MYAPIKEY&number=${caller_id_number}"/>-->
|
||||
|
||||
<!-- comment out whitepages-apikey to not use whitepages.com, you must
|
||||
get an API key from http://developer.whitepages.com/ -->
|
||||
<!-- <param name="whitepages-apikey" value="MYAPIKEY"/>-->
|
||||
|
||||
<!-- set to false to not cache (in memcache) results from the url query -->
|
||||
<param name="cache" value="true"/>
|
||||
<!-- expire is in seconds -->
|
||||
<param name="cache-expire" value="86400"/>
|
||||
|
||||
<param name="odbc-dsn" value="$${dsn_system}"/>
|
||||
<!--<param name="odbc-dsn" value="/var/www/fusionpbx/secure/fusionpbx.db"/>-->
|
||||
|
||||
<!-- comment out sql to not setup a database (directory) lookup -->
|
||||
<param name="sql" value="
|
||||
SELECT trim(concat(v_contacts.contact_name_given, ' ',v_contacts.contact_name_family,' (',v_contacts.contact_organization,')')) AS name, v_contact_phones.phone_number AS number
|
||||
FROM v_contacts, v_contact_phones
|
||||
WHERE v_contact_phones.contact_uuid = v_contacts.contact_uuid AND v_contact_phones.phone_number = '${caller_id_number}'
|
||||
LIMIT 1
|
||||
"/>
|
||||
|
||||
<!-- comment out citystate-sql to not setup a database (city/state)
|
||||
lookup -->
|
||||
<!--
|
||||
<param name="citystate-sql" value="
|
||||
SELECT ratecenter||' '||state as name
|
||||
FROM npa_nxx_company_ocn
|
||||
WHERE npa = ${caller_id_number:1:3} AND nxx = ${caller_id_number:4:3}
|
||||
LIMIT 1
|
||||
"/>
|
||||
-->
|
||||
</settings>
|
||||
</configuration>
|
||||
@@ -1,439 +0,0 @@
|
||||
<!-- 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. Disabled if dist-dtmf member flag is set. -->
|
||||
<caller-controls>
|
||||
<group name="default">
|
||||
<control action="mute" digits=""/>
|
||||
<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=""/>
|
||||
<control action="execute_application" digits="" data="lua app/conference_center/resources/scripts/raise_hand.lua true"/>
|
||||
<control action="execute_application" digits="" data="lua app/conference_center/resources/scripts/raise_hand.lua false"/>
|
||||
</group>
|
||||
<group name="moderator">
|
||||
<control action="mute" digits=""/>
|
||||
<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=""/>
|
||||
<control action="execute_application" digits="0" data="lua app/conference_center/resources/scripts/mute.lua non_moderator"/>
|
||||
<control action="execute_application" digits="*" data="lua app/conference_center/resources/scripts/unmute.lua non_moderator"/>
|
||||
</group>
|
||||
<group name="page">
|
||||
<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">
|
||||
<!-- Directory to drop CDR's
|
||||
'auto' means $PREFIX/logs/conference_cdr/<conference_uuid>.cdr.xml
|
||||
a non-absolute path means $PREFIX/logs/<value>/<conference_uuid>.cdr.xml
|
||||
absolute path means <value>/<conference_uuid>.cdr.xml
|
||||
-->
|
||||
<param name="cdr-log-dir" value="auto"/>
|
||||
<!--<param name="conference-flags" value="wait-mod" />-->
|
||||
<!-- Domain (for presence) -->
|
||||
<param name="domain" value=""/>
|
||||
<!-- 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="15"/>
|
||||
<param name="auto-gain-level" value="0"/>
|
||||
|
||||
<!--Can be | delim of waste|mute|deaf|dist-dtmf waste will always transmit data to each channel
|
||||
even during silence. dist-dtmf propagates dtmfs to all other members, but channel controls
|
||||
via dtmf will be disabled. -->
|
||||
<!--<param name="member-flags" value="waste"/>-->
|
||||
|
||||
<!-- Name of the caller control group to use for this profile -->
|
||||
<param name="caller-controls" value="default"/>
|
||||
<!-- Name of the caller control group to use for the moderator in this profile -->
|
||||
<param name="moderator-controls" value="moderator"/>
|
||||
<!-- 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 -->
|
||||
<!-- Override the default path here, after which you use relative paths in the other sound params -->
|
||||
<!-- Note: The default path is the conference's first caller's sound_prefix -->
|
||||
<!--<param name="sound-prefix" value="$${sounds_dir}/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="local_stream://default"/>
|
||||
<!-- 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"/>
|
||||
<!-- Conference pin -->
|
||||
<!--<param name="pin" value="12345"/>-->
|
||||
<!--<param name="moderator-pin" value="54321"/>-->
|
||||
<!-- Max number of times the user can be prompted for PIN -->
|
||||
<!--<param name="pin-retries" value="3"/>-->
|
||||
<!-- Default Caller ID Name for outbound calls -->
|
||||
<param name="caller-id-name" value=""/>
|
||||
<!-- Default Caller ID Number for outbound calls -->
|
||||
<param name="caller-id-number" value=""/>
|
||||
<!-- 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="$${recordings_dir}/${conference_name}_${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/>
|
||||
-->
|
||||
|
||||
<!-- IVR digit machine timeouts -->
|
||||
<!-- How much to wait between DTMF digits to match caller-controls -->
|
||||
<!-- <param name="ivr-dtmf-timeout" value="500"/> -->
|
||||
<!-- How much to wait for the first DTMF, 0 forever -->
|
||||
<!-- <param name="ivr-input-timeout" value="0" /> -->
|
||||
<!-- Delay before a conference is asked to be terminated -->
|
||||
<!-- <param name="endconf-grace-time" value="120" /> -->
|
||||
</profile>
|
||||
|
||||
<profile name="wait-mod">
|
||||
<param name="cdr-log-dir" value="auto"/>
|
||||
<param name="conference-flags" value="wait-mod" />
|
||||
<param name="domain" value=""/>
|
||||
<param name="rate" value="8000"/>
|
||||
<param name="interval" value="20"/>
|
||||
<param name="energy-level" value="15"/>
|
||||
<param name="auto-gain-level" value="0"/>
|
||||
<param name="caller-controls" value="default"/>
|
||||
<param name="moderator-controls" value="moderator"/>
|
||||
<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="local_stream://default"/>
|
||||
<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=""/>
|
||||
<param name="caller-id-number" value=""/>
|
||||
<param name="comfort-noise" value="true"/>
|
||||
</profile>
|
||||
|
||||
<profile name="wideband">
|
||||
<param name="domain" value=""/>
|
||||
<param name="rate" value="16000"/>
|
||||
<param name="interval" value="20"/>
|
||||
<param name="energy-level" value="15"/>
|
||||
<param name="auto-gain-level" value="0"/>
|
||||
<param name="caller-controls" value="default"/>
|
||||
<param name="moderator-controls" value="moderator"/>
|
||||
<!--<param name="sound-prefix" value="$${sounds_dir}/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="local_stream://default"/>
|
||||
<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=""/>
|
||||
<param name="caller-id-number" value=""/>
|
||||
<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=""/>
|
||||
<param name="rate" value="32000"/>
|
||||
<param name="interval" value="20"/>
|
||||
<param name="energy-level" value="15"/>
|
||||
<param name="auto-gain-level" value="0"/>
|
||||
<param name="caller-controls" value="default"/>
|
||||
<param name="moderator-controls" value="moderator"/>
|
||||
<!--<param name="sound-prefix" value="$${sounds_dir}/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="local_stream://default"/>
|
||||
<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=""/>
|
||||
<param name="caller-id-number" value=""/>
|
||||
<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=""/>
|
||||
<param name="rate" value="48000"/>
|
||||
<param name="interval" value="10"/>
|
||||
<param name="energy-level" value="15"/>
|
||||
<param name="auto-gain-level" value="0"/>
|
||||
<param name="caller-controls" value="default"/>
|
||||
<param name="moderator-controls" value="moderator"/>
|
||||
<!--<param name="sound-prefix" value="$${sounds_dir}/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="local_stream://default"/>
|
||||
<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=""/>
|
||||
<param name="caller-id-number" value=""/>
|
||||
<param name="comfort-noise" value="true"/>
|
||||
</profile>
|
||||
|
||||
<profile name="video-mcu-stereo">
|
||||
<param name="domain" value="$${domain}"/>
|
||||
<param name="rate" value="48000"/>
|
||||
<param name="channels" value="2"/>
|
||||
<param name="interval" value="20"/>
|
||||
<param name="energy-level" value="200"/>
|
||||
<!-- <param name="tts-engine" value="flite"/> -->
|
||||
<!-- <param name="tts-voice" value="kal16"/> -->
|
||||
<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="false"/>
|
||||
<param name="conference-flags" value="livearray-json-status|json-events|video-floor-only|rfc-4579|livearray-sync|minimize-video-encoding|manage-inbound-video-bitrate|video-required-for-canvas|video-mute-exit-canvas|mute-detect"/>
|
||||
<param name="video-auto-floor-msec" value="1000"/>
|
||||
<param name="video-mode" value="mux"/>
|
||||
<param name="video-layout-name" value="3x3"/>
|
||||
<param name="video-layout-name" value="group:grid"/>
|
||||
<param name="video-canvas-size" value="1920x1080"/>
|
||||
<param name="video-canvas-bgcolor" value="#333333"/>
|
||||
<param name="video-layout-bgcolor" value="#000000"/>
|
||||
<param name="video-codec-bandwidth" value="3mb"/>
|
||||
<param name="video-fps" value="30"/>
|
||||
<!-- <param name="video-codec-config-profile-name" value="conference"/> -->
|
||||
</profile>
|
||||
|
||||
<profile name="video-mcu-stereo-720">
|
||||
<param name="domain" value="$${domain}"/>
|
||||
<param name="rate" value="48000"/>
|
||||
<param name="channels" value="2"/>
|
||||
<param name="interval" value="20"/>
|
||||
<param name="energy-level" value="200"/>
|
||||
<!-- <param name="tts-engine" value="flite"/> -->
|
||||
<!-- <param name="tts-voice" value="kal16"/> -->
|
||||
<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="false"/>
|
||||
<param name="conference-flags" value="livearray-json-status|json-events|video-floor-only|rfc-4579|livearray-sync|minimize-video-encoding|manage-inbound-video-bitrate|video-required-for-canvas|video-mute-exit-canvas|mute-detect"/>
|
||||
<param name="video-auto-floor-msec" value="1000"/>
|
||||
<param name="video-mode" value="mux"/>
|
||||
<param name="video-layout-name" value="3x3"/>
|
||||
<param name="video-layout-name" value="group:grid"/>
|
||||
<param name="video-canvas-size" value="1280x720"/>
|
||||
<param name="video-canvas-bgcolor" value="#333333"/>
|
||||
<param name="video-layout-bgcolor" value="#000000"/>
|
||||
<param name="video-codec-bandwidth" value="3mb"/>
|
||||
<param name="video-fps" value="30"/>
|
||||
</profile>
|
||||
|
||||
<profile name="video-mcu-stereo-480">
|
||||
<param name="domain" value="$${domain}"/>
|
||||
<param name="rate" value="48000"/>
|
||||
<param name="channels" value="2"/>
|
||||
<param name="interval" value="20"/>
|
||||
<param name="energy-level" value="200"/>
|
||||
<!-- <param name="tts-engine" value="flite"/> -->
|
||||
<!-- <param name="tts-voice" value="kal16"/> -->
|
||||
<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="false"/>
|
||||
<param name="conference-flags" value="livearray-json-status|json-events|video-floor-only|rfc-4579|livearray-sync|minimize-video-encoding|manage-inbound-video-bitrate|video-required-for-canvas|video-mute-exit-canvas|mute-detect"/>
|
||||
<param name="video-auto-floor-msec" value="1000"/>
|
||||
<param name="video-mode" value="mux"/>
|
||||
<param name="video-layout-name" value="3x3"/>
|
||||
<param name="video-layout-name" value="group:grid"/>
|
||||
<param name="video-canvas-size" value="640x480"/>
|
||||
<param name="video-canvas-bgcolor" value="#333333"/>
|
||||
<param name="video-layout-bgcolor" value="#000000"/>
|
||||
<param name="video-codec-bandwidth" value="3mb"/>
|
||||
<param name="video-fps" value="30"/>
|
||||
</profile>
|
||||
|
||||
<profile name="video-mcu-stereo-320">
|
||||
<param name="domain" value="$${domain}"/>
|
||||
<param name="rate" value="48000"/>
|
||||
<param name="channels" value="2"/>
|
||||
<param name="interval" value="20"/>
|
||||
<param name="energy-level" value="200"/>
|
||||
<!-- <param name="tts-engine" value="flite"/> -->
|
||||
<!-- <param name="tts-voice" value="kal16"/> -->
|
||||
<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="false"/>
|
||||
<param name="conference-flags" value="livearray-json-status|json-events|video-floor-only|rfc-4579|livearray-sync|minimize-video-encoding|manage-inbound-video-bitrate|video-required-for-canvas|video-mute-exit-canvas|mute-detect"/>
|
||||
<param name="video-auto-floor-msec" value="1000"/>
|
||||
<param name="video-mode" value="mux"/>
|
||||
<param name="video-layout-name" value="3x3"/>
|
||||
<param name="video-layout-name" value="group:grid"/>
|
||||
<param name="video-canvas-size" value="480x320"/>
|
||||
<param name="video-canvas-bgcolor" value="#333333"/>
|
||||
<param name="video-layout-bgcolor" value="#000000"/>
|
||||
<param name="video-codec-bandwidth" value="3mb"/>
|
||||
<param name="video-fps" value="30"/>
|
||||
</profile>
|
||||
|
||||
<profile name="sla">
|
||||
<param name="domain" value=""/>
|
||||
<param name="rate" value="16000"/>
|
||||
<param name="interval" value="20"/>
|
||||
<param name="caller-controls" value="none"/>
|
||||
<param name="energy-level" value="200"/>
|
||||
<param name="moh-sound" value="silence"/>
|
||||
<param name="comfort-noise" value="true"/>
|
||||
</profile>
|
||||
|
||||
<profile name="page">
|
||||
<param name="domain" value=""/>
|
||||
<param name="rate" value="8000"/>
|
||||
<param name="interval" value="20"/>
|
||||
<param name="energy-level" value="300"/>
|
||||
<param name="caller-controls" value="page"/>
|
||||
<param name="moderator-controls" value="moderator"/>
|
||||
<!--<param name="sound-prefix" value="$${sounds_dir}/en/us/callie"/>-->
|
||||
<param name="muted-sound" value="conference/conf-muted.wav"/>
|
||||
<param name="unmuted-sound" value="conference/conf-unmuted.wav"/>
|
||||
<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="caller-id-name" value=""/>
|
||||
<param name="caller-id-number" value=""/>
|
||||
<param name="comfort-noise" value="true"/>
|
||||
<param name="terminate-on-silence" value="30"/>
|
||||
</profile>
|
||||
|
||||
</profiles>
|
||||
</configuration>
|
||||
@@ -1,393 +0,0 @@
|
||||
<configuration name="conference_layouts.conf" description="Audio Conference">
|
||||
<layout-settings>
|
||||
<layouts>
|
||||
<layout name="1x1">
|
||||
<image x="0" y="0" scale="360" floor="true"/>
|
||||
</layout>
|
||||
<layout name="1x2" auto-3d-position="true">
|
||||
<image x="90" y="0" scale="180"/>
|
||||
<image x="90" y="180" scale="180"/>
|
||||
</layout>
|
||||
<layout name="2x1" auto-3d-position="true">
|
||||
<image x="0" y="90" scale="180"/>
|
||||
<image x="180" y="90" scale="180"/>
|
||||
</layout>
|
||||
|
||||
<layout name="2x1-zoom" auto-3d-position="true">
|
||||
<image x="0" y="0" scale="180" hscale="360" zoom="true"/>
|
||||
<image x="180" y="0" scale="180" hscale="360" zoom="true"/>
|
||||
</layout>
|
||||
<layout name="3x1-zoom" auto-3d-position="true">
|
||||
<image x="0" y="0" scale="120" hscale="360" zoom="true"/>
|
||||
<image x="120" y="0" scale="120" hscale="360" zoom="true"/>
|
||||
<image x="240" y="0" scale="120" hscale="360" zoom="true"/>
|
||||
</layout>
|
||||
<layout name="5-grid-zoom" auto-3d-position="true">
|
||||
<image x="0" y="0" scale="180"/>
|
||||
<image x="180" y="0" scale="180"/>
|
||||
<image x="0" y="180" scale="120" hscale="180" zoom="true"/>
|
||||
<image x="120" y="180" scale="120" hscale="180" zoom="true"/>
|
||||
<image x="240" y="180" scale="120" hscale="180" zoom="true"/>
|
||||
</layout>
|
||||
<layout name="3x2-zoom" auto-3d-position="true">
|
||||
<image x="0" y="0" scale="120" hscale="180" zoom="true"/>
|
||||
<image x="120" y="0" scale="120" hscale="180" zoom="true"/>
|
||||
<image x="240" y="0" scale="120" hscale="180" zoom="true"/>
|
||||
<image x="0" y="180" scale="120" hscale="180" zoom="true"/>
|
||||
<image x="120" y="180" scale="120" hscale="180" zoom="true"/>
|
||||
<image x="240" y="180" scale="120" hscale="180" zoom="true"/>
|
||||
</layout>
|
||||
<layout name="7-grid-zoom" auto-3d-position="true">
|
||||
<image x="0" y="0" scale="120" hscale="180" zoom="true"/>
|
||||
<image x="120" y="0" scale="120" hscale="180" zoom="true"/>
|
||||
<image x="240" y="0" scale="120" hscale="180" zoom="true"/>
|
||||
<image x="0" y="180" scale="90" hscale="180" zoom="true"/>
|
||||
<image x="90" y="180" scale="90" hscale="180" zoom="true"/>
|
||||
<image x="180" y="180" scale="90" hscale="180" zoom="true"/>
|
||||
<image x="270" y="180" scale="90" hscale="180" zoom="true"/>
|
||||
</layout>
|
||||
<layout name="4x2-zoom" auto-3d-position="true">
|
||||
<image x="0" y="0" scale="90" hscale="180" zoom="true"/>
|
||||
<image x="90" y="0" scale="90" hscale="180" zoom="true"/>
|
||||
<image x="180" y="0" scale="90" hscale="180" zoom="true"/>
|
||||
<image x="270" y="0" scale="90" hscale="180" zoom="true"/>
|
||||
<image x="0" y="180" scale="90" hscale="180" zoom="true"/>
|
||||
<image x="90" y="180" scale="90" hscale="180" zoom="true"/>
|
||||
<image x="180" y="180" scale="90" hscale="180" zoom="true"/>
|
||||
<image x="270" y="180" scale="90" hscale="180" zoom="true"/>
|
||||
</layout>
|
||||
<layout name="1x1+2x1" auto-3d-position="true">
|
||||
<image x="90" y="0" scale="180"/>
|
||||
<image x="0" y="180" scale="180"/>
|
||||
<image x="180" y="180" scale="180"/>
|
||||
</layout>
|
||||
<layout name="2x2" auto-3d-position="true">
|
||||
<image x="0" y="0" scale="180"/>
|
||||
<image x="180" y="0" scale="180"/>
|
||||
<image x="0" y="180" scale="180"/>
|
||||
<image x="180" y="180" scale="180"/>
|
||||
</layout>
|
||||
<layout name="3x3" auto-3d-position="true">
|
||||
<image x="0" y="0" scale="120"/>
|
||||
<image x="120" y="0" scale="120"/>
|
||||
<image x="240" y="0" scale="120"/>
|
||||
<image x="0" y="120" scale="120"/>
|
||||
<image x="120" y="120" scale="120"/>
|
||||
<image x="240" y="120" scale="120"/>
|
||||
<image x="0" y="240" scale="120"/>
|
||||
<image x="120" y="240" scale="120"/>
|
||||
<image x="240" y="240" scale="120"/>
|
||||
</layout>
|
||||
<layout name="4x4" auto-3d-position="true">
|
||||
<image x="0" y="0" scale="90"/>
|
||||
<image x="90" y="0" scale="90"/>
|
||||
<image x="180" y="0" scale="90"/>
|
||||
<image x="270" y="0" scale="90"/>
|
||||
<image x="0" y="90" scale="90"/>
|
||||
<image x="90" y="90" scale="90"/>
|
||||
<image x="180" y="90" scale="90"/>
|
||||
<image x="270" y="90" scale="90"/>
|
||||
<image x="0" y="180" scale="90"/>
|
||||
<image x="90" y="180" scale="90"/>
|
||||
<image x="180" y="180" scale="90"/>
|
||||
<image x="270" y="180" scale="90"/>
|
||||
<image x="0" y="270" scale="90"/>
|
||||
<image x="90" y="270" scale="90"/>
|
||||
<image x="180" y="270" scale="90"/>
|
||||
<image x="270" y="270" scale="90"/>
|
||||
</layout>
|
||||
<layout name="5x5" auto-3d-position="true">
|
||||
<image x="0" y="0" scale="72"/>
|
||||
<image x="72" y="0" scale="72"/>
|
||||
<image x="144" y="0" scale="72"/>
|
||||
<image x="216" y="0" scale="72"/>
|
||||
<image x="288" y="0" scale="72"/>
|
||||
<image x="0" y="72" scale="72"/>
|
||||
<image x="72" y="72" scale="72"/>
|
||||
<image x="144" y="72" scale="72"/>
|
||||
<image x="216" y="72" scale="72"/>
|
||||
<image x="288" y="72" scale="72"/>
|
||||
<image x="0" y="144" scale="72"/>
|
||||
<image x="72" y="144" scale="72"/>
|
||||
<image x="144" y="144" scale="72"/>
|
||||
<image x="216" y="144" scale="72"/>
|
||||
<image x="288" y="144" scale="72"/>
|
||||
<image x="0" y="216" scale="72"/>
|
||||
<image x="72" y="216" scale="72"/>
|
||||
<image x="144" y="216" scale="72"/>
|
||||
<image x="216" y="216" scale="72"/>
|
||||
<image x="288" y="216" scale="72"/>
|
||||
<image x="0" y="288" scale="72"/>
|
||||
<image x="72" y="288" scale="72"/>
|
||||
<image x="144" y="288" scale="72"/>
|
||||
<image x="216" y="288" scale="72"/>
|
||||
<image x="288" y="288" scale="72"/>
|
||||
</layout>
|
||||
<layout name="6x6" auto-3d-position="true">
|
||||
<image x="0" y="0" scale="60"/>
|
||||
<image x="60" y="0" scale="60"/>
|
||||
<image x="120" y="0" scale="60"/>
|
||||
<image x="180" y="0" scale="60"/>
|
||||
<image x="240" y="0" scale="60"/>
|
||||
<image x="300" y="0" scale="60"/>
|
||||
<image x="0" y="60" scale="60"/>
|
||||
<image x="60" y="60" scale="60"/>
|
||||
<image x="120" y="60" scale="60"/>
|
||||
<image x="180" y="60" scale="60"/>
|
||||
<image x="240" y="60" scale="60"/>
|
||||
<image x="300" y="60" scale="60"/>
|
||||
<image x="0" y="120" scale="60"/>
|
||||
<image x="60" y="120" scale="60"/>
|
||||
<image x="120" y="120" scale="60"/>
|
||||
<image x="180" y="120" scale="60"/>
|
||||
<image x="240" y="120" scale="60"/>
|
||||
<image x="300" y="120" scale="60"/>
|
||||
<image x="0" y="180" scale="60"/>
|
||||
<image x="60" y="180" scale="60"/>
|
||||
<image x="120" y="180" scale="60"/>
|
||||
<image x="180" y="180" scale="60"/>
|
||||
<image x="240" y="180" scale="60"/>
|
||||
<image x="300" y="180" scale="60"/>
|
||||
<image x="0" y="240" scale="60"/>
|
||||
<image x="60" y="240" scale="60"/>
|
||||
<image x="120" y="240" scale="60"/>
|
||||
<image x="180" y="240" scale="60"/>
|
||||
<image x="240" y="240" scale="60"/>
|
||||
<image x="300" y="240" scale="60"/>
|
||||
<image x="0" y="300" scale="60"/>
|
||||
<image x="60" y="300" scale="60"/>
|
||||
<image x="120" y="300" scale="60"/>
|
||||
<image x="180" y="300" scale="60"/>
|
||||
<image x="240" y="300" scale="60"/>
|
||||
<image x="300" y="300" scale="60"/>
|
||||
</layout>
|
||||
<layout name="8x8" auto-3d-position="true">
|
||||
<image x="0" y="0" scale="45"/>
|
||||
<image x="45" y="0" scale="45"/>
|
||||
<image x="90" y="0" scale="45"/>
|
||||
<image x="135" y="0" scale="45"/>
|
||||
<image x="180" y="0" scale="45"/>
|
||||
<image x="225" y="0" scale="45"/>
|
||||
<image x="270" y="0" scale="45"/>
|
||||
<image x="315" y="0" scale="45"/>
|
||||
<image x="0" y="45" scale="45"/>
|
||||
<image x="45" y="45" scale="45"/>
|
||||
<image x="90" y="45" scale="45"/>
|
||||
<image x="135" y="45" scale="45"/>
|
||||
<image x="180" y="45" scale="45"/>
|
||||
<image x="225" y="45" scale="45"/>
|
||||
<image x="270" y="45" scale="45"/>
|
||||
<image x="315" y="45" scale="45"/>
|
||||
<image x="0" y="90" scale="45"/>
|
||||
<image x="45" y="90" scale="45"/>
|
||||
<image x="90" y="90" scale="45"/>
|
||||
<image x="135" y="90" scale="45"/>
|
||||
<image x="180" y="90" scale="45"/>
|
||||
<image x="225" y="90" scale="45"/>
|
||||
<image x="270" y="90" scale="45"/>
|
||||
<image x="315" y="90" scale="45"/>
|
||||
<image x="0" y="135" scale="45"/>
|
||||
<image x="45" y="135" scale="45"/>
|
||||
<image x="90" y="135" scale="45"/>
|
||||
<image x="135" y="135" scale="45"/>
|
||||
<image x="180" y="135" scale="45"/>
|
||||
<image x="225" y="135" scale="45"/>
|
||||
<image x="270" y="135" scale="45"/>
|
||||
<image x="315" y="135" scale="45"/>
|
||||
<image x="0" y="180" scale="45"/>
|
||||
<image x="45" y="180" scale="45"/>
|
||||
<image x="90" y="180" scale="45"/>
|
||||
<image x="135" y="180" scale="45"/>
|
||||
<image x="180" y="180" scale="45"/>
|
||||
<image x="225" y="180" scale="45"/>
|
||||
<image x="270" y="180" scale="45"/>
|
||||
<image x="315" y="180" scale="45"/>
|
||||
<image x="0" y="225" scale="45"/>
|
||||
<image x="45" y="225" scale="45"/>
|
||||
<image x="90" y="225" scale="45"/>
|
||||
<image x="135" y="225" scale="45"/>
|
||||
<image x="180" y="225" scale="45"/>
|
||||
<image x="225" y="225" scale="45"/>
|
||||
<image x="270" y="225" scale="45"/>
|
||||
<image x="315" y="225" scale="45"/>
|
||||
<image x="0" y="270" scale="45"/>
|
||||
<image x="45" y="270" scale="45"/>
|
||||
<image x="90" y="270" scale="45"/>
|
||||
<image x="135" y="270" scale="45"/>
|
||||
<image x="180" y="270" scale="45"/>
|
||||
<image x="225" y="270" scale="45"/>
|
||||
<image x="270" y="270" scale="45"/>
|
||||
<image x="315" y="270" scale="45"/>
|
||||
<image x="0" y="315" scale="45"/>
|
||||
<image x="45" y="315" scale="45"/>
|
||||
<image x="90" y="315" scale="45"/>
|
||||
<image x="135" y="315" scale="45"/>
|
||||
<image x="180" y="315" scale="45"/>
|
||||
<image x="225" y="315" scale="45"/>
|
||||
<image x="270" y="315" scale="45"/>
|
||||
<image x="315" y="315" scale="45"/>
|
||||
</layout>
|
||||
<layout name="1up_top_left+5" auto-3d-position="true">
|
||||
<image x="0" y="0" scale="240" floor="true"/>
|
||||
<image x="240" y="0" scale="120"/>
|
||||
<image x="240" y="120" scale="120"/>
|
||||
<image x="0" y="240" scale="120"/>
|
||||
<image x="120" y="240" scale="120"/>
|
||||
<image x="240" y="240" scale="120"/>
|
||||
</layout>
|
||||
<layout name="1up_top_left+7" auto-3d-position="true">
|
||||
<image x="0" y="0" scale="270" floor="true"/>
|
||||
<image x="270" y="0" scale="90"/>
|
||||
<image x="270" y="90" scale="90"/>
|
||||
<image x="270" y="180" scale="90"/>
|
||||
<image x="0" y="270" scale="90"/>
|
||||
<image x="90" y="270" scale="90"/>
|
||||
<image x="180" y="270" scale="90"/>
|
||||
<image x="270" y="270" scale="90"/>
|
||||
</layout>
|
||||
<layout name="1up_top_left+9" auto-3d-position="true">
|
||||
<image x="0" y="0" scale="288" floor="true"/>
|
||||
<image x="288" y="0" scale="72"/>
|
||||
<image x="288" y="72" scale="72"/>
|
||||
<image x="288" y="144" scale="72"/>
|
||||
<image x="288" y="216" scale="72"/>
|
||||
<image x="0" y="288" scale="72"/>
|
||||
<image x="72" y="288" scale="72"/>
|
||||
<image x="144" y="288" scale="72"/>
|
||||
<image x="216" y="288" scale="72"/>
|
||||
<image x="288" y="288" scale="72"/>
|
||||
</layout>
|
||||
<layout name="2up_top+8" auto-3d-position="true">
|
||||
<image x="0" y="0" scale="180" floor="true"/>
|
||||
<image x="180" y="0" scale="180" reservation_id="secondary"/>
|
||||
<image x="0" y="180" scale="90"/>
|
||||
<image x="90" y="180" scale="90"/>
|
||||
<image x="180" y="180" scale="90"/>
|
||||
<image x="270" y="180" scale="90"/>
|
||||
<image x="0" y="270" scale="90"/>
|
||||
<image x="90" y="270" scale="90"/>
|
||||
<image x="180" y="270" scale="90"/>
|
||||
<image x="270" y="270" scale="90"/>
|
||||
</layout>
|
||||
<layout name="2up_middle+8" auto-3d-position="true">
|
||||
<image x="0" y="90" scale="180" floor="true"/>
|
||||
<image x="180" y="90" scale="180" reservation_id="secondary"/>
|
||||
<image x="0" y="0" scale="90"/>
|
||||
<image x="90" y="0" scale="90"/>
|
||||
<image x="180" y="0" scale="90"/>
|
||||
<image x="270" y="0" scale="90"/>
|
||||
<image x="0" y="270" scale="90"/>
|
||||
<image x="90" y="270" scale="90"/>
|
||||
<image x="180" y="270" scale="90"/>
|
||||
<image x="270" y="270" scale="90"/>
|
||||
</layout>
|
||||
<layout name="2up_bottom+8" auto-3d-position="true">
|
||||
<image x="0" y="180" scale="180" floor="true"/>
|
||||
<image x="180" y="180" scale="180" reservation_id="secondary"/>
|
||||
<image x="0" y="0" scale="90"/>
|
||||
<image x="90" y="0" scale="90"/>
|
||||
<image x="180" y="0" scale="90"/>
|
||||
<image x="270" y="0" scale="90"/>
|
||||
<image x="0" y="90" scale="90"/>
|
||||
<image x="90" y="90" scale="90"/>
|
||||
<image x="180" y="90" scale="90"/>
|
||||
<image x="270" y="90" scale="90"/>
|
||||
</layout>
|
||||
<layout name="3up+4" auto-3d-position="true">
|
||||
<image x="0" y="0" scale="180" floor="true"/>
|
||||
<image x="180" y="0" scale="180" reservation_id="secondary"/>
|
||||
<image x="0" y="180" scale="180" reservation_id="third"/>
|
||||
<image x="180" y="180" scale="90"/>
|
||||
<image x="270" y="180" scale="90"/>
|
||||
<image x="180" y="270" scale="90"/>
|
||||
<image x="270" y="270" scale="90"/>
|
||||
</layout>
|
||||
<layout name="3up+9" auto-3d-position="true">
|
||||
<image x="0" y="0" scale="180" floor="true"/>
|
||||
<image x="180" y="0" scale="180" reservation_id="secondary"/>
|
||||
<image x="0" y="180" scale="180" reservation_id="third"/>
|
||||
<image x="180" y="180" scale="60"/>
|
||||
<image x="240" y="180" scale="60"/>
|
||||
<image x="300" y="180" scale="60"/>
|
||||
<image x="180" y="240" scale="60"/>
|
||||
<image x="240" y="240" scale="60"/>
|
||||
<image x="300" y="240" scale="60"/>
|
||||
<image x="180" y="300" scale="60"/>
|
||||
<image x="240" y="300" scale="60"/>
|
||||
<image x="300" y="300" scale="60"/>
|
||||
</layout>
|
||||
<layout name="2x1-presenter-zoom" auto-3d-position="true">
|
||||
<image x="0" y="0" scale="180" hscale="360" zoom="true" floor="true"/>
|
||||
<image x="180" y="0" scale="180" hscale="360" zoom="true" reservation_id="presenter"/>
|
||||
</layout>
|
||||
<layout name="presenter-dual-vertical">
|
||||
<image x="90" y="0" scale="180" floor-only="true"/>
|
||||
<image x="90" y="180" scale="180" reservation_id="presenter"/>
|
||||
</layout>
|
||||
<layout name="presenter-dual-horizontal">
|
||||
<image x="0" y="90" scale="180" floor-only="true"/>
|
||||
<image x="180" y="90" scale="180" reservation_id="presenter"/>
|
||||
</layout>
|
||||
<layout name="presenter-overlap-small-top-right">
|
||||
<image x="0" y="0" scale="360" floor-only="true"/>
|
||||
<image x="300" y="0" scale="60" overlap="true" reservation_id="presenter"/>
|
||||
</layout>
|
||||
<layout name="presenter-overlap-small-bot-right">
|
||||
<image x="0" y="0" scale="360" floor-only="true"/>
|
||||
<image x="300" y="300" scale="60" overlap="true" reservation_id="presenter"/>
|
||||
</layout>
|
||||
<layout name="presenter-overlap-large-top-right">
|
||||
<image x="0" y="0" scale="360" floor-only="true"/>
|
||||
<image x="180" y="0" scale="180" overlap="true" reservation_id="presenter"/>
|
||||
</layout>
|
||||
<layout name="presenter-overlap-large-bot-right">
|
||||
<image x="0" y="0" scale="360" floor-only="true"/>
|
||||
<image x="180" y="180" scale="180" overlap="true" reservation_id="presenter"/>
|
||||
</layout>
|
||||
<layout name="overlaps" auto-3d-position="true" floor-only="true">
|
||||
<image x="0" y="0" scale="360"/>
|
||||
<image x="300" y="300" scale="60" overlap="true"/>
|
||||
<image x="240" y="300" scale="60" overlap="true"/>
|
||||
<image x="180" y="300" scale="60" overlap="true"/>
|
||||
<image x="120" y="300" scale="60" overlap="true"/>
|
||||
<image x="60" y="300" scale="60" overlap="true"/>
|
||||
<image x="0" y="300" scale="60" overlap="true"/>
|
||||
</layout>
|
||||
|
||||
|
||||
</layouts>
|
||||
<groups>
|
||||
<group name="grid">
|
||||
<layout>1x1</layout>
|
||||
<layout>2x1</layout>
|
||||
<layout>1x1+2x1</layout>
|
||||
<layout>2x2</layout>
|
||||
<layout>3x3</layout>
|
||||
<layout>4x4</layout>
|
||||
<layout>5x5</layout>
|
||||
<layout>6x6</layout>
|
||||
<layout>8x8</layout>
|
||||
</group>
|
||||
<group name="grid-zoom">
|
||||
<layout>1x1</layout>
|
||||
<layout>2x1-zoom</layout>
|
||||
<layout>3x1-zoom</layout>
|
||||
<layout>2x2</layout>
|
||||
<layout>5-grid-zoom</layout>
|
||||
<layout>3x2-zoom</layout>
|
||||
<layout>7-grid-zoom</layout>
|
||||
<layout>4x2-zoom</layout>
|
||||
<layout>3x3</layout>
|
||||
</group>
|
||||
<group name="1up_top_left_plus">
|
||||
<layout>1up_top_left+5</layout>
|
||||
<layout>1up_top_left+7</layout>
|
||||
<layout>1up_top_left+9</layout>
|
||||
</group>
|
||||
<group name="3up_plus">
|
||||
<layout>3up+4</layout>
|
||||
<layout>3up+9</layout>
|
||||
</group>
|
||||
</groups>
|
||||
</layout-settings>
|
||||
</configuration>
|
||||
@@ -1,56 +0,0 @@
|
||||
<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>
|
||||
@@ -1,5 +0,0 @@
|
||||
<configuration name="curl.conf" description="cURL module">
|
||||
<settings>
|
||||
<param name="max-bytes" value="64000"/>
|
||||
</settings>
|
||||
</configuration>
|
||||
@@ -1,5 +0,0 @@
|
||||
<configuration name="db.conf" description="LIMIT DB Configuration">
|
||||
<settings>
|
||||
<!--<param name="odbc-dsn" value="$${dsn}"/>-->
|
||||
</settings>
|
||||
</configuration>
|
||||
@@ -1,9 +0,0 @@
|
||||
<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>
|
||||
@@ -1,9 +0,0 @@
|
||||
<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>
|
||||
@@ -1,21 +0,0 @@
|
||||
<configuration name="directory.conf" description="Directory">
|
||||
<settings>
|
||||
<!--<param name="odbc-dsn" value="$${dsn}"/>-->
|
||||
<!--<param name="dbname" value="directory"/>-->
|
||||
</settings>
|
||||
<profiles>
|
||||
<profile name="default">
|
||||
<param name="max-menu-attempts" value="3"/>
|
||||
<param name="min-search-digits" value="3"/>
|
||||
<param name="terminator-key" value="#"/>
|
||||
<param name="digit-timeout" value="3000"/>
|
||||
<param name="max-result" value="5"/>
|
||||
<param name="next-key" value="6"/>
|
||||
<param name="prev-key" value="4"/>
|
||||
<param name="switch-order-key" value="*"/>
|
||||
<param name="select-name-key" value="1"/>
|
||||
<param name="new-search-key" value="3"/>
|
||||
<param name="search-order" value="last_name"/>
|
||||
</profile>
|
||||
</profiles>
|
||||
</configuration>
|
||||
@@ -1,10 +0,0 @@
|
||||
<configuration name="distributor.conf" description="Distributor Configuration">
|
||||
<lists>
|
||||
<!-- every 10 calls to test you will get foo1 once and foo2 9 times...yes NINE TIMES! -->
|
||||
<!-- this is not the same as 100 with 10 and 90 that would do foo1 10 times in a row then foo2 90 times in a row -->
|
||||
<list name="test" total-weight="10">
|
||||
<node name="foo1" weight="1"/>
|
||||
<node name="foo2" weight="9"/>
|
||||
</list>
|
||||
</lists>
|
||||
</configuration>
|
||||
@@ -1,28 +0,0 @@
|
||||
<configuration name="easyroute.conf" description="EasyRoute Module">
|
||||
<settings>
|
||||
<!-- These are kind Obvious -->
|
||||
<param name="db-username" value="root"/>
|
||||
<param name="db-password" value="password"/>
|
||||
<param name="db-dsn" value="easyroute"/>
|
||||
|
||||
<!-- Default Technology and profile -->
|
||||
<param name="default-techprofile" value="sofia/default"/>
|
||||
|
||||
<!-- IP or Hostname of Default Route -->
|
||||
<param name="default-gateway" value="192.168.66.6"/>
|
||||
|
||||
<!-- Number of times to retry ODBC connection on connection problems, default is 120 -->
|
||||
<param name="odbc-retries" value="120"/>
|
||||
|
||||
<!-- Customer Query. Use this with Care!!! We are not responsible if you mess
|
||||
This up!!! Query *MUST* return columns in the following order!
|
||||
gateway varchar(128) - contains destination gateway host:port pair (ex: 192.168.1.1:5060 )
|
||||
group varchar(128) - contains optional group name
|
||||
call_limit varchar(16) - contains optional call limit
|
||||
tech_prefix varchar(128) - tech prefix used to build dial string (ex: sofia/default )
|
||||
acctcode varchar(128) - used to set channel variable acctcode for logging into the CDRs
|
||||
destination_number varchar(16) - Number returning for the query for building the dial string. (ex: 18005551212)
|
||||
See Documentation on the Wiki for further information -->
|
||||
<!-- <param name="custom-query" value="call FS_GET_SIP_LOCATION(%s);"/> -->
|
||||
</settings>
|
||||
</configuration>
|
||||
@@ -1,13 +0,0 @@
|
||||
<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/internal/$1"/>
|
||||
<!--<route service="E2U+XMPP" regex="XMPP:(.*)" replace="dingaling/$${xmpp_server_profile}/$1"/>-->
|
||||
</routes>
|
||||
</configuration>
|
||||
@@ -1,23 +0,0 @@
|
||||
<configuration name="erlang_event.conf" description="Erlang Socket Client">
|
||||
<settings>
|
||||
<param name="listen-ip" value="0.0.0.0"/>
|
||||
<param name="listen-port" value="8031"/>
|
||||
<!-- Specify the first part of the node name
|
||||
(the host part after the @ will be autodetected)
|
||||
OR pass a complete nodename to avoid autodetection
|
||||
eg. freeswitch@example or freeswitch@example.com.
|
||||
If you pass a complete node name, the 'shortname' parameter has no effect. -->
|
||||
<param name="nodename" value="freeswitch"/>
|
||||
<!-- Specify this OR 'cookie-file' or $HOME/.erlang.cookie will be read -->
|
||||
<param name="cookie" value="ClueCon"/>
|
||||
<!-- Read a cookie from an arbitary erlang cookie file instead -->
|
||||
<!--<param name="cookie-file" value="/tmp/erlang.cookie"/>-->
|
||||
<param name="shortname" value="true"/>
|
||||
<!-- in additon to cookie, optionally restrict by ACL -->
|
||||
<!--<param name="apply-inbound-acl" value="lan"/>-->
|
||||
<!-- alternative is "binary" -->
|
||||
<!--<param name="encoding" value="string"/>-->
|
||||
<!-- provide compatability with previous OTP release (use with care) -->
|
||||
<!--<param name="compat-rel" value="12"/> -->
|
||||
</settings>
|
||||
</configuration>
|
||||
@@ -1,14 +0,0 @@
|
||||
<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"/>
|
||||
<param name="ttl" value="1"/>
|
||||
<!-- <param name="loopback" value="no"/>-->
|
||||
<!-- Uncomment this to enable pre-shared key encryption on the packets. -->
|
||||
<!-- For this option to work, you'll need to have the openssl development -->
|
||||
<!-- headers installed when you ran ./configure -->
|
||||
<!-- <param name="psk" value="ClueCon"/> -->
|
||||
</settings>
|
||||
</configuration>
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
<configuration name="event_socket.conf" description="Socket Client">
|
||||
<settings>
|
||||
<param name="nat-map" value="false"/>
|
||||
<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>
|
||||
@@ -1,12 +0,0 @@
|
||||
<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="true"/>
|
||||
<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>
|
||||
@@ -1,13 +0,0 @@
|
||||
<configuration name="fifo.conf" description="FIFO Configuration">
|
||||
<settings>
|
||||
<!--<param name="odbc-dsn" value="$${dsn}"/>-->
|
||||
<param name="delete-all-outbound-member-on-startup" value="false"/>
|
||||
</settings>
|
||||
<fifos>
|
||||
<!--
|
||||
<fifo name="cool_fifo@$${domain}" importance="0">
|
||||
<member timeout="60" simo="1" lag="20">{member_wait=nowait}user/1005@$${domain}</member>
|
||||
</fifo>
|
||||
-->
|
||||
</fifos>
|
||||
</configuration>
|
||||
@@ -1,562 +0,0 @@
|
||||
<!-- Please refer to http://wiki.freeswitch.org/wiki/FreeTDM for further documentation -->
|
||||
|
||||
<!--
|
||||
This is a sample FreeSWITCH XML configuration for FreeTDM
|
||||
Remember you still need to configure freetdm.conf (no XML extension) in $prefix/conf/
|
||||
directory of FreeSWITCH. The freetdm.conf (no XML extension) is a simple text file
|
||||
definining the I/O interfaces (Sangoma, DAHDI etc). This file (freetdm.conf.xml) deals
|
||||
with the signaling protocols that you can run on top of your I/O interfaces.
|
||||
-->
|
||||
<configuration name="freetdm.conf" description="FreeTDM Configuration">
|
||||
|
||||
<settings>
|
||||
<param name="debug" value="0"/>
|
||||
<!--<param name="hold-music" value="$${moh_uri}"/>-->
|
||||
<!-- Analog global options (they apply to all spans)
|
||||
Remember you can only choose between either call-swap
|
||||
or 3-way, not both!
|
||||
-->
|
||||
<!--<param name="enable-analog-option" value="call-swap"/>-->
|
||||
<!--<param name="enable-analog-option" value="3-way"/>-->
|
||||
<!--
|
||||
Refuse to load the module if there is configuration errors
|
||||
Defaults to 'no'
|
||||
-->
|
||||
<!--<param name="fail-on-error" value="no"/>-->
|
||||
</settings>
|
||||
|
||||
<!-- Sample analog configuration (The analog_spans tag is for ftmod_analog) -->
|
||||
<analog_spans>
|
||||
<!-- The span name must match the name in your freetdm.conf -->
|
||||
<span name="myAnalog">
|
||||
<!--<param name="hold-music" value="$${moh_uri}"/>-->
|
||||
<!--
|
||||
3-way allows you to flash your FXS line and dial
|
||||
another number and put all the parties in a conference
|
||||
|
||||
call-swap allows you to flash your FXS line and swap
|
||||
between one call and another
|
||||
|
||||
Remember you can only choose between either call-swap
|
||||
or 3-way, not both!
|
||||
|
||||
<param name="enable-analog-option" value="call-swap"/>
|
||||
<param name="enable-analog-option" value="3-way"/>
|
||||
-->
|
||||
|
||||
<!-- Tones are defined in tones.conf
|
||||
This setting is very important for analog lines to
|
||||
work properly
|
||||
-->
|
||||
<param name="tonegroup" value="us"/>
|
||||
|
||||
<!-- How much time to wait for digits (in FXS lines) -->
|
||||
<param name="digit-timeout" value="2000"/>
|
||||
|
||||
<!-- Maximum number of digits to wait for (in FXS lines) -->
|
||||
<param name="max-digits" value="11"/>
|
||||
|
||||
<!-- whether you want to wait for caller id -->
|
||||
<param name="enable-callerid" value="true"/>
|
||||
|
||||
<!-- How much to wait for dial tone (0 if you just want to dial out immediately without waiting for dial tone) -->
|
||||
<!--<param name="wait-dialtone-timeout" value="5000"/>-->
|
||||
|
||||
<!-- whether you want to enable callwaiting feature -->
|
||||
<!--<param name="callwaiting" value="true"/>-->
|
||||
|
||||
<!-- whether you want to answer/hangup on polarity reverse for outgoing calls in FXO devices
|
||||
and send polarity reverse on answer/hangup for incoming calls in FXS devices -->
|
||||
<!--<param name="answer-polarity-reverse" value="false"/>-->
|
||||
<!--<param name="hangup-polarity-reverse" value="false"/>-->
|
||||
<!--
|
||||
Minimum delay (in milliseconds) required between an answer polarity reverse
|
||||
and hangup polarity reverse in order to assume the second polarity reverse is a real hangup
|
||||
<param name="polarity-delay" value="600"/>
|
||||
-->
|
||||
|
||||
<!-- Retrieve caller id on polarity reverse -->
|
||||
<!--
|
||||
<param name="polarity-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"/>-->
|
||||
|
||||
<!-- FreeSWITCH dialplan type and context to send the calls -->
|
||||
<param name="dialplan" value="XML"/>
|
||||
<param name="context" value="default"/>
|
||||
</span>
|
||||
</analog_spans>
|
||||
|
||||
<!--
|
||||
|
||||
openr2 (MFC-R2 signaling) spans (ftmod_r2)
|
||||
|
||||
In order to use this type of spans your FreeTDM must have been compiled with ftmod_r2 module.
|
||||
The module is compiled if the openr2 library is present when running the ./configure script
|
||||
in the FreeTDM source code
|
||||
|
||||
MFC-R2 signaling has lots of variants from country to country and even sometimes
|
||||
minor variants inside the same country. The only mandatory parameters here are:
|
||||
variant, but typically you also want to set max_ani and max_dnis.
|
||||
IT IS RECOMMENDED that you leave the default values (leaving them commented) for the
|
||||
other parameters unless you have problems or you have been instructed to change some
|
||||
parameter. OpenR2 library uses the 'variant' parameter to try to determine the
|
||||
best defaults for your country. If you want to contribute your configs for a particular
|
||||
country send them to the e-mail of the primary OpenR2 developer that you can find in the
|
||||
AUTHORS file of the OpenR2 package, they will be added to the samples directory of openr2.
|
||||
|
||||
-->
|
||||
<r2_spans>
|
||||
<span name="wp1" cfgprofile="testr2">
|
||||
|
||||
<!--
|
||||
MFC/R2 variant. This depends on the OpenR2 supported variants
|
||||
A list of values can be found by executing the openr2 command r2test -l
|
||||
some valid values are:
|
||||
mx (Mexico)
|
||||
ar (Argentina)
|
||||
br (Brazil)
|
||||
ph (Philippines)
|
||||
itu (per ITU spec)
|
||||
-->
|
||||
<param name="variant" value="mx"/>
|
||||
|
||||
<!-- switch parameters (required), where to send calls to -->
|
||||
<param name="dialplan" value="XML"/>
|
||||
<param name="context" value="default"/>
|
||||
|
||||
<!--
|
||||
Max amount of ANI (caller id digits) to ask for
|
||||
<param name="max_ani" value="4"/>
|
||||
-->
|
||||
<!--
|
||||
Max amount of DNIS to ask for
|
||||
<param name="max_dnis" value="4"/>
|
||||
-->
|
||||
|
||||
<!-- Do not set parameters below this line unless you desire to tweak it because is not working -->
|
||||
|
||||
<!--
|
||||
Whether or not to get the ANI before getting DNIS (only affects incoming calls)
|
||||
Some telcos require ANI first some others do not care, if default go wrong on
|
||||
incoming calls, change this value
|
||||
<param name="get_ani_first" value="yes"/>
|
||||
-->
|
||||
|
||||
<!--
|
||||
Caller Category to send. Accepted values:
|
||||
- national_subscriber
|
||||
- national_priority_subscriber
|
||||
- international_subscriber
|
||||
- international_priority_subscriber
|
||||
- collect_call
|
||||
Usually national_subscriber (the default) works just fine
|
||||
<param name="category" value="national_subscriber"/>
|
||||
-->
|
||||
|
||||
<!--
|
||||
Brazil uses a special calling party category for collect calls (llamadas por cobrar)
|
||||
instead of using the operator (as in Mexico). The R2 spec in Brazil says a special GB tone
|
||||
should be used to reject collect calls. If you want to ALLOW collect calls specify 'yes',
|
||||
if you want to BLOCK collect calls then say 'no'. Default is to block collect calls.
|
||||
(see also 'double_answer')
|
||||
<param name="allow_collect_calls" value="yes"/>
|
||||
-->
|
||||
|
||||
<!--
|
||||
This feature is related but independent of allow_collect_calls
|
||||
Some PBX's require a double-answer process to block collect calls, if
|
||||
you ever have problems blocking collect calls using Group B signals (allow_collect_calls=no)
|
||||
then you may want to try with double_answer=yes, this will cause that every answer signal
|
||||
is changed to perform 'answer -> clear back -> answer' (sort of a flash)
|
||||
(see also 'allow_collect_calls')
|
||||
<param name="double_answer" value="yes"/>
|
||||
-->
|
||||
|
||||
<!--
|
||||
This feature allows to skip the use of Group B/II signals and go directly
|
||||
to the accepted state for incoming calls
|
||||
<param name="immediate_accept" value="yes"/>
|
||||
-->
|
||||
|
||||
<!--
|
||||
Skip request of calling party category and ANI
|
||||
<param name="skip_category" value="yes"/>
|
||||
-->
|
||||
|
||||
<!--
|
||||
Brazil use a special signal to force the release of the line (hangup) from the
|
||||
backward perspective. When forced_release=no, the normal clear back signal
|
||||
will be sent on hangup, which is OK for all mfcr2 variants I know of, except for
|
||||
Brazilian variant, where the central will leave the line up for several seconds (30, 60)
|
||||
which sometimes is not what people really want. When forced_release=yes, a different
|
||||
signal will be sent to hangup the call indicating that the line should be released immediately
|
||||
<param name="forced_release" value="yes"/>
|
||||
-->
|
||||
|
||||
<!--
|
||||
Whether or not report to the other end 'accept call with charge'
|
||||
This setting has no effect with most telecos, usually is safe
|
||||
leave the default (yes), but once in a while when interconnecting with
|
||||
old PBXs this may be useful.
|
||||
Concretely this affects the Group B signal used to accept calls
|
||||
<param name="charge_calls" value="yes"/>
|
||||
-->
|
||||
|
||||
<!--
|
||||
MFC/R2 value in milliseconds for the MF timeout. Any negative value
|
||||
means 'default', smaller values than 500ms are not recommended
|
||||
and can cause malfunctioning. If you experience protocol error
|
||||
due to MF timeout try incrementing this value in 500ms steps
|
||||
<param name="mfback_timeout" value="1500"/>
|
||||
-->
|
||||
|
||||
<!--
|
||||
MFC/R2 value in milliseconds for the metering pulse timeout.
|
||||
Metering pulses are sent by some telcos for some R2 variants
|
||||
during a call presumably for billing purposes to indicate costs,
|
||||
however this pulses use the same signal that is used to indicate
|
||||
call hangup, therefore a timeout is sometimes required to distinguish
|
||||
between a *real* hangup and a billing pulse that should not
|
||||
last more than 500ms, If you experience call drops after some
|
||||
minutes of being stablished try setting a value of some ms here,
|
||||
values greater than 500ms are not recommended.
|
||||
BE AWARE that choosing the proper protocol variant parameter
|
||||
implicitly sets a good recommended value for this timer, use this
|
||||
parameter only when you *really* want to override the default, otherwise
|
||||
just comment out this value.
|
||||
<param name="metering_pulse_timeout" value="1000"/>
|
||||
-->
|
||||
|
||||
<!--
|
||||
WARNING: advanced users only! I really mean it
|
||||
this parameter is commented by default because
|
||||
YOU DON'T NEED IT UNLESS YOU REALLY GROK MFC/R2
|
||||
READ COMMENTS on doc/r2proto.conf in openr2 package
|
||||
for more info
|
||||
<param name="advanced_protocol_file" value="/usr/local/freeswitch/conf/r2proto.conf"/>
|
||||
-->
|
||||
|
||||
<!-- USE THIS FOR DEBUGGING MFC-R2 PROTOCOL -->
|
||||
<!--
|
||||
Where to dump advanced call file protocol logs
|
||||
<param name="logdir" value="$${base_dir}/log/mfcr2"/>
|
||||
-->
|
||||
|
||||
<!--
|
||||
MFC/R2 valid logging values are: all,error,warning,debug,notice,cas,mf,nothing
|
||||
error,warning,debug and notice are self-descriptive
|
||||
'cas' is for logging ABCD CAS tx and rx
|
||||
'mf' is for logging of the Multi Frequency tones
|
||||
You can mix up values, like: loglevel=error,debug,mf to log just error, debug and
|
||||
multi frequency messages
|
||||
'all' is a special value to log all the activity
|
||||
'nothing' is a clean-up value, in case you want to not log any activity for
|
||||
a channel or group of channels
|
||||
BE AWARE that the level of output logged will ALSO depend on
|
||||
the value you have in FreeSWITCH logging configurations, if you disable output FreeSWITCH
|
||||
then it does not matter if you specify 'all' here, nothing will be logged
|
||||
so FreeSWITCH has the last word on what is going to be logged
|
||||
<param name="logging" value="debug,notice,warning,error,mf,cas"/>
|
||||
-->
|
||||
|
||||
<!--
|
||||
whether or not to drop protocol call files into 'logdir'
|
||||
<param name="call_files" value="yes"/>
|
||||
-->
|
||||
|
||||
<!--
|
||||
Use only for very technical debugging
|
||||
This is the size (if 0, dumps are disabled) of MF dump files. MF dump files
|
||||
are audio files that are dumped when a protocol error occurs.
|
||||
The files are dumped in whatever you set in the logdir parameter.
|
||||
Value -1 uses a default recommended size (which stores 5 seconds of audio)
|
||||
<param name="mf_dump_size" value="-1"/>
|
||||
-->
|
||||
</span>
|
||||
</r2_spans>
|
||||
|
||||
<!-- Sangoma ISDN PRI/BRI spans. Requires libsng_isdn to be installed -->
|
||||
<sangoma_pri_spans>
|
||||
<span name="wp1">
|
||||
<!--
|
||||
Switch emulation/Variant
|
||||
Possible values are:
|
||||
national
|
||||
4ess
|
||||
5ess
|
||||
qsig
|
||||
euroisdn
|
||||
ntt
|
||||
|
||||
<param name="switchtype" value="national"/>
|
||||
-->
|
||||
<!--
|
||||
Signalling
|
||||
Possible values are:
|
||||
net
|
||||
cpe
|
||||
|
||||
<param name="signalling" value="cpe"/>
|
||||
-->
|
||||
<!--
|
||||
Overlap - whether to support overlap receive
|
||||
Possible values are: Yes/No
|
||||
|
||||
<param name="overlap" value="yes"/>
|
||||
-->
|
||||
<!--
|
||||
Facility - whether to support facility messages
|
||||
Possible values are: Yes/No
|
||||
|
||||
<param name="facility" value="yes"/>
|
||||
-->
|
||||
<!--
|
||||
Minimum Digits
|
||||
In overlap receive mode.
|
||||
Minimum number of digits to receive before sending notification
|
||||
to the dialplan
|
||||
Possible values are: <Any digit>
|
||||
|
||||
<param name="min-digits" value="8"/>
|
||||
-->
|
||||
<!--
|
||||
TEI - default value for Terminal Equipment Identifier.
|
||||
Used in Point-to-point connections
|
||||
Possible values are: <1-127>
|
||||
|
||||
<param name="tei" value="0"/>
|
||||
-->
|
||||
<!--
|
||||
Type of Number (TON)
|
||||
Set the TON on outbound calls
|
||||
Possible values are:
|
||||
unknown
|
||||
international
|
||||
national
|
||||
network-specific
|
||||
subscriber-number
|
||||
abbreviated-number
|
||||
|
||||
<param name="outbound-called-ton" value="unknown"/>
|
||||
<param name="outbound-calling-ton" value="unknown"/>
|
||||
<param name="outbound-rdnis-ton" value="unknown"/>
|
||||
-->
|
||||
<!--
|
||||
Numbering Plan Indendification (NPI)
|
||||
Set the NPI on outbound calls
|
||||
Possible values are:
|
||||
unknown
|
||||
isdn
|
||||
data
|
||||
telex
|
||||
national
|
||||
private
|
||||
reserved
|
||||
|
||||
<param name="outbound-called-npi" value="unknown"/>
|
||||
<param name="outbound-calling-npi" value="unknown"/>
|
||||
<param name="outbound-rdnis-npi" value="unknown"/>
|
||||
-->
|
||||
<!--
|
||||
Bearer Capability - Transfer Capability
|
||||
Set the Bearer Capability - Transfer Capability on outbound calls
|
||||
Possible values are:
|
||||
speech
|
||||
unrestricted-digital-information
|
||||
restricted-digital-information
|
||||
3.1-Khz-audio
|
||||
7-Khz-audio
|
||||
15-Khz-audio
|
||||
video
|
||||
|
||||
<param name="outbound-bc-transfer-cap" value="speech"/>
|
||||
-->
|
||||
<!--
|
||||
Bearer Capability - User Layer 1
|
||||
Set the Bearer Capability - User Layer 1 on outbound calls
|
||||
Possible values are:
|
||||
|
||||
V.110
|
||||
ulaw
|
||||
alaw
|
||||
|
||||
<param name="outbound-bc-user-layer1" value="speech"/>
|
||||
-->
|
||||
<!--
|
||||
Channel Restart Timeout
|
||||
If we do not receive a RESTART message within this timeout on link
|
||||
UP, we will send a channel restart.
|
||||
|
||||
|
||||
<param name="channel-restart-timeout" value="20"/>
|
||||
-->
|
||||
<!--
|
||||
Local Number (MSN)
|
||||
On incoming calls, we will only respond to this call if
|
||||
the Called Party Number matches this value.
|
||||
|
||||
Note: Up to 8 local numbers can be added per span.
|
||||
<param name="local-number" value="9054741990"/>
|
||||
-->
|
||||
<!--
|
||||
Facility Timeout
|
||||
Amount of time to wait for the FACILITY message after a SETUP message is
|
||||
received
|
||||
<param name="facility-timeout" value="1"/>
|
||||
-->
|
||||
<!--
|
||||
Transfer Timeout
|
||||
Amount of time to wait for the remote switch to respond to a transfer request
|
||||
<param name="transfer-timeout" value="20"/>
|
||||
-->
|
||||
<!--
|
||||
AT&T Transfer - Remove DTMF
|
||||
Whether to remove DTMF tones received from remote switch when performing
|
||||
AT&T Transfer.
|
||||
|
||||
<param name="att-remove-dtmf" value="yes/no"/>
|
||||
-->
|
||||
<!--
|
||||
Facility Information Element Decoding
|
||||
Whether to decode contents within Facility IE. You should only disable this option if your custom application has its own Facility IE decoding.
|
||||
|
||||
<param name="facility-ie-decode" value="yes/no"/>
|
||||
-->
|
||||
<!--
|
||||
Ignore cause value
|
||||
When using 5ESS switchtype, whether or not do initiate disconnects based on cause code.
|
||||
|
||||
<param name="ignore-cause-value" value="yes/no"/>
|
||||
-->
|
||||
<!--
|
||||
Trace (Interpreted)
|
||||
Whether or not to enable Q921/Q931 trace on start
|
||||
|
||||
<param name="q931-trace" value="yes/no"/>
|
||||
<param name="q921-trace" value="yes/no"/>
|
||||
-->
|
||||
<!--
|
||||
Trace (Raw)
|
||||
Whether or not to enable Q921/Q931 trace on start
|
||||
|
||||
<param name="q931-raw-trace" value="yes/no"/>
|
||||
<param name="q921-raw-trace" value="yes/no"/>
|
||||
-->
|
||||
<!--
|
||||
Force sending complete
|
||||
Will add Sending Complete IE to outgoing SETUP message
|
||||
By default, enabled on EuroISDN, disabled on US variants.
|
||||
|
||||
<param name="force-sending-complete" value="yes/no"/>
|
||||
-->
|
||||
<!--
|
||||
Early Media Override
|
||||
Assume early media is available, even if Q.931 message does not have
|
||||
progress indicator IE = in-band data ready
|
||||
|
||||
Possible values
|
||||
on-proceed
|
||||
on-progress
|
||||
on-alert
|
||||
|
||||
<param name="early-media-override" value="on-alert"/>
|
||||
-->
|
||||
<!--
|
||||
Invert Channel ID Invert Bit
|
||||
|
||||
Invert the Channel ID Extend Bit
|
||||
|
||||
<param name="chan-id-invert-extend-bit" value="yes/no"/>
|
||||
-->
|
||||
<!--
|
||||
CID Name transmit method
|
||||
|
||||
How to transmit Caller ID Name
|
||||
|
||||
Possible values:
|
||||
display-ie
|
||||
user-user-ie
|
||||
facility-ie
|
||||
default (will transmit CID-Name based on variant)
|
||||
|
||||
<param name="cid-name-transmit-method" value="default"/>
|
||||
-->
|
||||
<!--
|
||||
CID Name transmit
|
||||
|
||||
Whether to transmit Caller ID Name
|
||||
|
||||
Possible values:
|
||||
yes - always send CID-name
|
||||
no - nether send CID-name
|
||||
default (will transmit CID-Name based on variant)
|
||||
|
||||
<param name="cid-name-transmit-method" value="default"/>
|
||||
-->
|
||||
<!--
|
||||
Q.931 Timers in seconds
|
||||
|
||||
Override default Q.931 values
|
||||
|
||||
timers:
|
||||
timer-t301
|
||||
timer-t302
|
||||
timer-t303
|
||||
timer-t304
|
||||
timer-t305
|
||||
timer-t306
|
||||
timer-t307
|
||||
timer-t308
|
||||
timer-t310
|
||||
timer-t312
|
||||
timer-t313
|
||||
timer-t314
|
||||
timer-t316
|
||||
timer-t318
|
||||
timer-t319
|
||||
timer-t322
|
||||
|
||||
<param name="timer-t301" value="10"/>
|
||||
-->
|
||||
</span>
|
||||
</sangoma_pri_spans>
|
||||
|
||||
|
||||
<!--
|
||||
PRI passive tapping spans. Requires patched version from libpri at http://svn.digium.com/svn/libpri/team/moy/tap-1.4
|
||||
You must also configure FreeTDM with "-with-pritap" (see ./configure help for details)
|
||||
-->
|
||||
<pritap_spans>
|
||||
<span name="tapped1">
|
||||
<!-- The peer span name used to tap the link -->
|
||||
<param name="peerspan" value="tapped2"/>
|
||||
|
||||
<!--
|
||||
Whether to mix the audio from the peerspan with the audio from this span
|
||||
This is most likely what you want (and therefore the default) so you can hear
|
||||
the full conversation being tapped instead of just one side
|
||||
-->
|
||||
<!-- <param name="mixaudio" value="yes"/> -->
|
||||
|
||||
<!-- switch parameters (required), where to send calls to -->
|
||||
<param name="dialplan" value="XML"/>
|
||||
<param name="context" value="default"/>
|
||||
</span>
|
||||
|
||||
<span name="tapped2">
|
||||
<!-- This span is linked to "tapped1" through its peerspan parameter -->
|
||||
<param name="peerspan" value="tapped1"/>
|
||||
<!-- <param name="mixaudio" value="yes"/> -->
|
||||
|
||||
<!-- switch parameters (required), where to send calls to -->
|
||||
<param name="dialplan" value="XML"/>
|
||||
<param name="context" value="default"/>
|
||||
</span>
|
||||
</pritap_spans>
|
||||
</configuration>
|
||||
@@ -1,6 +0,0 @@
|
||||
<configuration name="hash.conf" description="Hash Configuration">
|
||||
<remotes>
|
||||
<!-- List of hosts from where to pull usage data -->
|
||||
<!-- <remote name="Test1" host="10.0.0.10" port="8021" password="ClueCon" interval="1000" /> -->
|
||||
</remotes>
|
||||
</configuration>
|
||||
@@ -1,127 +0,0 @@
|
||||
<configuration name="httapi.conf" description="HT-TAPI Hypertext Telephony API">
|
||||
<settings>
|
||||
<!-- print xml on the consol -->
|
||||
<param name="debug" value="true"/>
|
||||
<!-- time to keep audio files when discoverd they were deleted from the http server -->
|
||||
<param name="file-not-found-expires" value="300"/>
|
||||
<!-- how often to re-check the server to make sure the remote file has not changed -->
|
||||
<param name="file-cache-ttl" value="300"/>
|
||||
</settings>
|
||||
<profiles>
|
||||
<profile name="default">
|
||||
|
||||
<!-- default params for conference action tags -->
|
||||
<conference>
|
||||
<param name="default-profile" value="default"/>
|
||||
</conference>
|
||||
|
||||
<!-- default params for dial action tags -->
|
||||
<dial>
|
||||
<param name="context" value="default"/>
|
||||
<param name="dialplan" value="XML"/>
|
||||
</dial>
|
||||
|
||||
<!-- permissions -->
|
||||
<permissions>
|
||||
<!-- <permission name="all" value="true"/> -->
|
||||
<!--<permission name="none" value="true"/> -->
|
||||
<permission name="set-params" value="true"/>
|
||||
<permission name="set-vars" value="false">
|
||||
<!-- default to "deny" or "allow" -->
|
||||
<!-- type attr can be "deny" or "allow" nothing defaults to opposite of the list default so allow in this case -->
|
||||
<!--
|
||||
<variable-list default="deny">
|
||||
<variable name="caller_id_name"/>
|
||||
<variable name="hangup"/>
|
||||
</variable-list>
|
||||
-->
|
||||
</permission>
|
||||
<permission name="get-vars" value="false">
|
||||
<!-- default to "deny" or "allow" -->
|
||||
<!-- type attr can be "deny" or "allow" nothing defaults to opposite of the list default so allow in this case -->
|
||||
<!--
|
||||
<variable-list default="deny">
|
||||
<variable name="caller_id_name"/>
|
||||
<variable name="hangup"/>
|
||||
</variable-list>
|
||||
-->
|
||||
</permission>
|
||||
<permission name="extended-data" value="false"/>
|
||||
<permission name="execute-apps" value="true">
|
||||
<!-- default to "deny" or "allow" -->
|
||||
<application-list default="deny">
|
||||
<!-- type attr can be "deny" or "allow" nothing defaults to opposite of the list default so allow in this case -->
|
||||
<application name="info"/>
|
||||
<application name="hangup"/>
|
||||
</application-list>
|
||||
</permission>
|
||||
<permission name="expand-vars-in-tag-body" value="false">
|
||||
<!-- default to "deny" or "allow" -->
|
||||
<!-- type attr can be "deny" or "allow" nothing defaults to opposite of the list default so allow in this case -->
|
||||
<!--
|
||||
<variable-list default="deny">
|
||||
<variable name="caller_id_name"/>
|
||||
<variable name="hangup"/>
|
||||
</variable-list>
|
||||
|
||||
<api-list default="deny">
|
||||
<api name="expr"/>
|
||||
<api name="lua"/>
|
||||
</api-list>
|
||||
-->
|
||||
</permission>
|
||||
<permission name="dial" value="true"/>
|
||||
<permission name="dial-set-context" value="false"/>
|
||||
<permission name="dial-set-dialplan" value="false"/>
|
||||
<permission name="dial-set-cid-name" value="false"/>
|
||||
<permission name="dial-set-cid-number" value="false"/>
|
||||
<permission name="dial-full-originate" value="false"/>
|
||||
<permission name="conference" value="true"/>
|
||||
<permission name="conference-set-profile" value="false"/>
|
||||
</permissions>
|
||||
|
||||
<params>
|
||||
<!-- default url can be overridden by app data -->
|
||||
<param name="gateway-url" value="http://www.freeswitch.org/api/index.cgi" />
|
||||
|
||||
<!-- set this to provide authentication credentials to the server -->
|
||||
<!--<param name="gateway-credentials" value="muser:mypass"/>-->
|
||||
<!--<param name="auth-scheme" value="basic"/>-->
|
||||
|
||||
<!-- optional: this will enable the CA root certificate check by libcurl to
|
||||
verify that the certificate was issued by a major Certificate Authority.
|
||||
note: default value is disabled. only enable if you want this! -->
|
||||
<!--<param name="enable-cacert-check" value="true"/>-->
|
||||
<!-- optional: verify that the server is actually the one listed in the cert -->
|
||||
<!-- <param name="enable-ssl-verifyhost" value="true"/> -->
|
||||
|
||||
<!-- optional: these options can be used to specify custom SSL certificates
|
||||
to use for HTTPS communications. Either use both options or neither.
|
||||
Specify your public key with 'ssl-cert-path' and the private key with
|
||||
'ssl-key-path'. If your private key has a password, specify it with
|
||||
'ssl-key-password'. -->
|
||||
<!-- <param name="ssl-cert-path" value="$${base_dir}/conf/certs/public_key.pem"/> -->
|
||||
<!-- <param name="ssl-key-path" value="$${base_dir}/conf/certs/private_key.pem"/> -->
|
||||
<!-- <param name="ssl-key-password" value="MyPrivateKeyPassword"/> -->
|
||||
<!-- optional timeout -->
|
||||
<!-- <param name="timeout" value="10"/> -->
|
||||
|
||||
<!-- optional: use a custom CA certificate in PEM format to verify the peer
|
||||
with. This is useful if you are acting as your own certificate authority.
|
||||
note: only makes sense if used in combination with "enable-cacert-check." -->
|
||||
<!-- <param name="ssl-cacert-file" value="$${base_dir}/conf/certs/cacert.pem"/> -->
|
||||
|
||||
<!-- optional: specify the SSL version to force HTTPS to use. Valid options are
|
||||
"SSLv3" and "TLSv1". Otherwise libcurl will auto-negotiate the version. -->
|
||||
<!-- <param name="ssl-version" value="TLSv1"/> -->
|
||||
|
||||
<!-- optional: enables cookies and stores them in the specified file. -->
|
||||
<!-- <param name="cookie-file" value="/tmp/cookie-mod_xml_curl.txt"/> -->
|
||||
|
||||
<!-- one or more of these imply you want to pick the exact variables that are transmitted -->
|
||||
<!--<param name="enable-post-var" value="Unique-ID"/>-->
|
||||
</params>
|
||||
|
||||
</profile>
|
||||
</profiles>
|
||||
</configuration>
|
||||
@@ -1,43 +0,0 @@
|
||||
<configuration name="http_cache.conf" description="HTTP GET cache">
|
||||
<settings>
|
||||
<!-- set to true if you want to enable http:// and https:// formats. Do not use if mod_httapi is also loaded -->
|
||||
<param name="enable-file-formats" value="false"/>
|
||||
<!-- maximum size of cache -->
|
||||
<param name="max-urls" value="10000"/>
|
||||
<!-- location of cached files -->
|
||||
<param name="location" value="$${base_dir}/http_cache"/>
|
||||
<!-- if not specified by cache-control max-age directive, this value will be used
|
||||
to expire cached files -->
|
||||
<param name="default-max-age" value="86400"/>
|
||||
<!-- size of the prefetch thread pool -->
|
||||
<param name="prefetch-thread-count" value="8"/>
|
||||
<!-- size of the prefetch request queue -->
|
||||
<param name="prefetch-queue-size" value="100"/>
|
||||
<!-- absolute path to CA bundle file -->
|
||||
<param name="ssl-cacert" value="$${base_dir}/conf/cacert.pem"/>
|
||||
<!-- verify certificates -->
|
||||
<param name="ssl-verifypeer" value="true"/>
|
||||
<!-- verify host name matches certificate -->
|
||||
<param name="ssl-verifyhost" value="true"/>
|
||||
</settings>
|
||||
|
||||
<profiles>
|
||||
<!-- amazon s3 security credentials -->
|
||||
<profile name="s3">
|
||||
<aws-s3>
|
||||
<!-- 20 character key identifier -->
|
||||
<access-key-id><![CDATA[AKIAIOSFODNN7EXAMPLE]]></access-key-id>
|
||||
<!-- 40 character secret -->
|
||||
<secret-access-key><![CDATA[wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY]]></secret-access-key>
|
||||
</aws-s3>
|
||||
<!-- optional list of domains that this profile will automatically be applied to -->
|
||||
<!-- if you wish to apply the s3 credentials to a domain not listed here, then use
|
||||
{profile=s3}http://foo.s3... -->
|
||||
<domains>
|
||||
<domain name="bucket.s3.amazonaws.com"/>
|
||||
</domains>
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
</configuration>
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
<configuration name="ivr.conf" description="IVR menus">
|
||||
<menus>
|
||||
<X-PRE-PROCESS cmd="include" data="../ivr_menus/*.xml"/>
|
||||
</menus>
|
||||
</configuration>
|
||||
@@ -1,13 +0,0 @@
|
||||
<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>
|
||||
<startup class="net/cog/fs/system/Control" method="startup" arg="start up arg"/>
|
||||
<shutdown class="net/cog/fs/system/Control" method="shutdown" arg="shutdown arg"/>
|
||||
</configuration>
|
||||
@@ -1,50 +0,0 @@
|
||||
<configuration name="json_cdr.conf" description="JSON CDR">
|
||||
<settings>
|
||||
<!-- Global parameters -->
|
||||
<!-- <param name="log-b-leg" value="false"/> -->
|
||||
<!--<param name="prefix-a-leg" value="true"/> -->
|
||||
|
||||
<!-- Whether to URL encode the individual JSON values. Defaults to true, set to false for standard JSON. -->
|
||||
<!-- <param name="encode-values" value="true"/> -->
|
||||
|
||||
<!-- Normally if url and log-dir are present, url is attempted first and log-dir second. This options allows to do both systematically. -->
|
||||
<!-- <param name="log-http-and-disk" value="false"/> -->
|
||||
|
||||
<!-- File logging -->
|
||||
<!-- Directory where to create the "json_cdr" directory used to store JSON CDRs. Leave empty for no file logging. -->
|
||||
<!-- Might be overriden by a channel variable "json_cdr_base". -->
|
||||
<!-- <param name="log-dir" value="/var/log/freeswitch"/> -->
|
||||
<!-- Whether to rotate file CDRs. -->
|
||||
<!-- <param name="rotate" value="false"/> -->
|
||||
|
||||
<!-- HTTP(S) logging -->
|
||||
<!-- URL where to POST JSON CDRs. Leave empty for no URL logging. Up to 20 URLs may be specified. -->
|
||||
<!-- <param name="url" value=""/> -->
|
||||
<!-- Authentication scheme for the above URL. May be one of basic|digest|NTLM|GSS-NEGOTIATE|any-->
|
||||
<!-- <param name="auth-scheme" value="basic"/> -->
|
||||
<!-- Credentials in the form username:password if auth-scheme is used. Leave empty for no authentication. -->
|
||||
<!-- <param name="cred" value="string"/> -->
|
||||
<!-- Whether to base64 encode the entire JSON document before POSTing it. -->
|
||||
<!-- <param name="encode" value="base64|true|false"/> -->
|
||||
<!-- Number of retries in case of failure. Each specified URL is tried in turn. -->
|
||||
<!-- <param name="retries" value="0"/> -->
|
||||
<!-- Delay between retries (ms). -->
|
||||
<!-- <param name="delay" value="5000"/> -->
|
||||
<!-- Disable streaming if the server doesn't support it. -->
|
||||
<!-- <param name="disable-100-continue" value="false"/> -->
|
||||
<!-- If web posting failed, the CDR is written to a file. -->
|
||||
<!-- Error log dir ("json_cdr" is appended). Up to 20 may be specified. Default to log-dir if none is specified. -->
|
||||
<!-- <param name="err-log-dir" value=""/> -->
|
||||
|
||||
|
||||
<!-- SSL options -->
|
||||
<!-- <param name="ssl-key-path" value=""/> -->
|
||||
<!-- <param name="ssl-key-password" value=""/> -->
|
||||
<!-- SSL version. If specified, must be either "SSLv3" or "TLSv1". -->
|
||||
<!-- <param name="ssl-version" value=""/> -->
|
||||
<!-- <param name="enable-ssl-verifyhost" value="false"/> -->
|
||||
<!-- <param name="ssl-cert-path" value=""/> -->
|
||||
<!-- <param name="enable-cacert-check" value="false"/> -->
|
||||
<!-- <param name="ssl-cacert-file" value=""/> -->
|
||||
</settings>
|
||||
</configuration>
|
||||
@@ -1,88 +0,0 @@
|
||||
<configuration name="lcr.conf" description="LCR Configuration">
|
||||
<settings>
|
||||
<param name="odbc-dsn" value="$${dsn_system}"/>
|
||||
</settings>
|
||||
<profiles>
|
||||
<profile name="default">
|
||||
<param name="id" value="0"/>
|
||||
<param name="order_by" value="rate,quality,reliability"/>
|
||||
</profile>
|
||||
<profile name="qual_rel">
|
||||
<param name="id" value="1"/>
|
||||
<param name="order_by" value="quality,reliability"/>
|
||||
</profile>
|
||||
<profile name="rel_qual">
|
||||
<param name="id" value="2"/>
|
||||
<param name="order_by" value="reliability,quality"/>
|
||||
</profile>
|
||||
<!--
|
||||
Some samples of how to do custom SQL:
|
||||
|
||||
=============================================================
|
||||
PostgreSQL with contrib prefix module which supports fast
|
||||
prefix queries. Ideal option.
|
||||
=============================================================
|
||||
<profile name="pg_prefix">
|
||||
<param name="custom_sql" value="
|
||||
SELECT l.digits AS lcr_digits,
|
||||
c.carrier_name AS lcr_carrier_name,
|
||||
l.${lcr_rate_field} as lcr_rate_field,
|
||||
cg.prefix AS lcr_gw_prefix, cg.suffix AS lcr_gw_suffix,
|
||||
l.lead_strip AS lcr_lead_strip, l.trail_strip AS lcr_trail_strip,
|
||||
l.prefix AS lcr_prefix, l.suffix AS lcr_suffix
|
||||
FROM lcr l
|
||||
JOIN carriers c ON l.carrier_id=c.id
|
||||
JOIN carrier_gateway cg ON c.id=cg.carrier_id
|
||||
WHERE c.enabled = '1' AND cg.enabled = '1' AND l.enabled = '1'
|
||||
AND digits_prefix @> %q
|
||||
AND CURRENT_TIMESTAMP BETWEEN date_start AND date_end
|
||||
ORDER BY digits DESC, ${lcr_rate_field}, random();
|
||||
"/>
|
||||
</profile>
|
||||
|
||||
=============================================================
|
||||
PostgreSQL with contrib prefix module which supports fast
|
||||
prefix queries. Ideal option. Alternate syntax which requies
|
||||
a session but allows variable substitution.
|
||||
=============================================================
|
||||
<profile name="pg_prefix2">
|
||||
<param name="custom_sql" value="
|
||||
SELECT l.digits AS lcr_digits,
|
||||
c.carrier_name AS lcr_carrier_name,
|
||||
l.${lcr_rate_field} as lcr_rate_field,
|
||||
cg.prefix AS lcr_gw_prefix, cg.suffix AS lcr_gw_suffix,
|
||||
l.lead_strip AS lcr_lead_strip, l.trail_strip AS lcr_trail_strip,
|
||||
l.prefix AS lcr_prefix, l.suffix AS lcr_suffix
|
||||
FROM lcr l
|
||||
JOIN carriers c ON l.carrier_id=c.id
|
||||
JOIN carrier_gateway cg ON c.id=cg.carrier_id
|
||||
WHERE c.enabled = '1' AND cg.enabled = '1' AND l.enabled = '1'
|
||||
AND digits_prefix @> '${lcr_query_digits}'
|
||||
AND CURRENT_TIMESTAMP BETWEEN date_start AND date_end
|
||||
ORDER BY digits DESC, ${lcr_rate_field}, random();
|
||||
"/>
|
||||
</profile>
|
||||
|
||||
=============================================================
|
||||
Demonstrates use of computed inlist.
|
||||
=============================================================
|
||||
<profile name="inlist">
|
||||
<param name="custom_sql" value="
|
||||
SELECT l.digits AS lcr_digits,
|
||||
c.carrier_name AS lcr_carrier_name,
|
||||
l.${lcr_rate_field} as lcr_rate_field,
|
||||
cg.prefix AS lcr_gw_prefix, cg.suffix AS lcr_gw_suffix,
|
||||
l.lead_strip AS lcr_lead_strip, l.trail_strip AS lcr_trail_strip,
|
||||
l.prefix AS lcr_prefix, l.suffix AS lcr_suffix
|
||||
FROM lcr l
|
||||
JOIN carriers c ON l.carrier_id=c.id
|
||||
JOIN carrier_gateway cg ON c.id=cg.carrier_id
|
||||
WHERE c.enabled = '1' AND cg.enabled = '1' AND l.enabled = '1'
|
||||
AND digits IN (${lcr_query_expanded_digits})
|
||||
AND CURRENT_TIMESTAMP BETWEEN date_start AND date_end
|
||||
ORDER BY digits DESC, ${lcr_rate_field}, random();
|
||||
"/>
|
||||
</profile>
|
||||
-->
|
||||
</profiles>
|
||||
</configuration>
|
||||
@@ -1,42 +0,0 @@
|
||||
<configuration name="local_stream.conf" description="stream files from local dir">
|
||||
|
||||
<!-- fallback to default if requested moh class isn't found -->
|
||||
<directory name="default" path="$${sounds_dir}/music/default/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"/>
|
||||
<!-- list of short files to break in with every so often -->
|
||||
<!--<param name="chime-list" value="file1.wav,file2.wav"/>-->
|
||||
<!-- frequency of break-in (seconds)-->
|
||||
<!--<param name="chime-freq" value="30"/>-->
|
||||
<!-- limit to how many seconds the file will play -->
|
||||
<!--<param name="chime-max" value="500"/>-->
|
||||
</directory>
|
||||
|
||||
<directory name="default" path="$${sounds_dir}/music/default/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="default" path="$${sounds_dir}/music/default/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="default" path="$${sounds_dir}/music/default/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>
|
||||
@@ -1,29 +0,0 @@
|
||||
<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"/>
|
||||
<!-- Maximum number of log files to keep before wrapping -->
|
||||
<!-- If this parameter is enabled, the log filenames will not include a date stamp -->
|
||||
<param name="maximum-rotate" value="10"/>
|
||||
<!-- Uncomment to prefix all log lines by the session's uuid -->
|
||||
<param name="uuid" value="true" />
|
||||
</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>
|
||||
@@ -1,65 +0,0 @@
|
||||
<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/local/lib/lua/5.2/?.so"/>
|
||||
<param name="module-directory" value="/usr/local/lib/lua/5.2/?"/>
|
||||
<param name="module-directory" value="/usr/lib/x86_64-linux-gnu/lua/5.2/?.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="$${script_dir}/?.lua"/>
|
||||
|
||||
<!--
|
||||
Deliver XML from lua with the XML Handler
|
||||
-->
|
||||
<param name="xml-handler-script" value="app.lua xml_handler"/>
|
||||
<param name="xml-handler-bindings" value="configuration,dialplan,directory,languages"/>
|
||||
|
||||
<!--
|
||||
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.
|
||||
-->
|
||||
|
||||
<!-- FusionPBX: Support BLF for call flow -->
|
||||
<!-- There 2 way to handle this
|
||||
1 - Monitor - ignore SUBSCRIBE and just send NOTIFY each X seconds
|
||||
2 - Event handler - handle each SUBSCRIBE request
|
||||
-->
|
||||
<!--<param name="startup-script" value="call_flow_monitor.lua"/>-->
|
||||
<!--<param name="startup-script" value="blf_subscribe.lua flow"/>-->
|
||||
|
||||
<!-- FusionPBX: Support BLF for DND -->
|
||||
<!--<param name="startup-script" value="blf_subscribe.lua dnd"/>-->
|
||||
|
||||
<!-- FusionPBX: Support BLF for Call Forward -->
|
||||
<!--<param name="startup-script" value="blf_subscribe.lua forward"/>-->
|
||||
|
||||
<!-- FusionPBX: Support BLF for Call Center Agents -->
|
||||
<!--<param name="startup-script" value="blf_subscribe.lua agent"/>-->
|
||||
|
||||
<!-- FusionPBX: Support BLF for Voicemail -->
|
||||
<!--<param name="startup-script" value="blf_subscribe.lua voicemail"/>-->
|
||||
|
||||
<!-- FusionPBX: Support MWI indicator-->
|
||||
<!-- There 2 way to handle this
|
||||
1 - Monitor - ignore SUBSCRIBE and just send NOTIFY each X seconds
|
||||
2 - Event handler - handle each SUBSCRIBE request
|
||||
-->
|
||||
<!--<param name="startup-script" value="app/voicemail/resources/scripts/mwi.lua"/>-->
|
||||
<!--<param name="startup-script" value="app/voicemail/resources/scripts/mwi_subscribe.lua"/>-->
|
||||
|
||||
<!-- Subscribe to events -->
|
||||
<!--<hook event="PHONE_FEATURE_SUBSCRIBE" subclass="" script="app.lua feature_event"/>-->
|
||||
</settings>
|
||||
</configuration>
|
||||
@@ -1,6 +0,0 @@
|
||||
<configuration name="memcache.conf" description="memcache Configuration">
|
||||
<settings>
|
||||
<!-- comma sep list of servers: eg: localhost,otherhost:port,anotherone -->
|
||||
<param name="memcache-servers" value="localhost"/>
|
||||
</settings>
|
||||
</configuration>
|
||||
@@ -1,82 +0,0 @@
|
||||
<configuration name="modules.conf" description="Modules">
|
||||
<modules>
|
||||
|
||||
<!-- Applications -->
|
||||
<load module="mod_commands"/>
|
||||
<load module="mod_memcache"/>
|
||||
|
||||
<!-- Languages -->
|
||||
<load module="mod_lua"/>
|
||||
|
||||
<!-- Endpoints -->
|
||||
<load module="mod_sofia"/>
|
||||
|
||||
<!-- Loggers -->
|
||||
<load module="mod_logfile"/>
|
||||
<load module="mod_console"/>
|
||||
|
||||
<!-- Applications -->
|
||||
<load module="mod_callcenter"/>
|
||||
<load module="mod_fifo"/>
|
||||
<load module="mod_sms"/>
|
||||
<load module="mod_fsv"/>
|
||||
<load module="mod_esf"/>
|
||||
<load module="mod_expr"/>
|
||||
<load module="mod_dptools"/>
|
||||
<load module="mod_enum"/>
|
||||
<load module="mod_valet_parking"/>
|
||||
<load module="mod_spandsp"/>
|
||||
<load module="mod_db"/>
|
||||
<load module="mod_hash"/>
|
||||
<load module="mod_conference"/>
|
||||
|
||||
<!-- Auto -->
|
||||
|
||||
<!-- Codecs -->
|
||||
<load module="mod_g729"/>
|
||||
<load module="mod_g723_1"/>
|
||||
<load module="mod_bv"/>
|
||||
<load module="mod_amr"/>
|
||||
<load module="mod_h26x"/>
|
||||
|
||||
<!-- Dialplan Interfaces -->
|
||||
<load module="mod_dialplan_xml"/>
|
||||
|
||||
<!-- Endpoints -->
|
||||
<load module="mod_loopback"/>
|
||||
|
||||
<!-- Event Handlers -->
|
||||
<load module="mod_event_socket"/>
|
||||
|
||||
<!-- File Format Interfaces -->
|
||||
<load module="mod_sndfile"/>
|
||||
<load module="mod_native_file"/>
|
||||
|
||||
<!-- Say -->
|
||||
<load module="mod_say_en"/>
|
||||
<load module="mod_say_zh"/>
|
||||
<load module="mod_say_ru"/>
|
||||
<load module="mod_say_fr"/>
|
||||
<load module="mod_say_th"/>
|
||||
<load module="mod_say_he"/>
|
||||
<load module="mod_say_pt"/>
|
||||
<load module="mod_say_de"/>
|
||||
<load module="mod_say_it"/>
|
||||
<load module="mod_say_nl"/>
|
||||
<load module="mod_say_es"/>
|
||||
<load module="mod_say_hu"/>
|
||||
|
||||
<!-- Speech Recognition / Text to Speech -->
|
||||
<load module="mod_flite"/>
|
||||
<load module="mod_tts_commandline"/>
|
||||
|
||||
<!-- Streams / Files -->
|
||||
<load module="mod_local_stream"/>
|
||||
<load module="mod_tone_stream"/>
|
||||
<load module="mod_shout"/>
|
||||
|
||||
<!-- XML Interfaces -->
|
||||
<load module="mod_xml_cdr"/>
|
||||
|
||||
</modules>
|
||||
</configuration>
|
||||
@@ -1,20 +0,0 @@
|
||||
<configuration name="mongo.conf">
|
||||
<settings>
|
||||
<!--
|
||||
connection-string handles different ways to connect to mongo
|
||||
samples:
|
||||
server:port
|
||||
foo/server:port,server:port SET
|
||||
-->
|
||||
<param name="connection-string" value="127.0.0.1:27017"/>
|
||||
<param name="min-connections" value="10"/>
|
||||
<param name="max-connections" value="100"/>
|
||||
|
||||
<!--
|
||||
<param name="map" value="function() { emit(this.a, 1); }"/>
|
||||
<param name="reduce" value="function(key, values) { return Array.sum(values); }"/>
|
||||
<param name="finalize" value="function(key, value) { return value;}"/>
|
||||
-->
|
||||
|
||||
</settings>
|
||||
</configuration>
|
||||
@@ -1,50 +0,0 @@
|
||||
<configuration name="nibblebill.conf" description="Nibble Billing">
|
||||
<settings>
|
||||
<!-- See http://wiki.freeswitch.org/wiki/Mod_nibblebill for help with these options -->
|
||||
|
||||
<!-- Information for connecting to your database -->
|
||||
<param name="db_username" value="bandwidth.com"/>
|
||||
<param name="db_password" value="password"/>
|
||||
<param name="db_dsn" value="bandwidth.com"/>
|
||||
|
||||
<!-- The database table where your CASH column is located -->
|
||||
<param name="db_table" value="accounts"/>
|
||||
|
||||
<!-- The column name where we store the value of the account -->
|
||||
<param name="db_column_cash" value="cash"/>
|
||||
|
||||
<!-- The column name for the unique ID identifying the account -->
|
||||
<param name="db_column_account" value="id"/>
|
||||
|
||||
<!-- Custom SQL for loading current balance - overrides column names
|
||||
channel vars are interpreted.
|
||||
field nibble_balance is used for balance info
|
||||
|
||||
<param name="custom_sql_lookup" value="SELECT cash AS nibble_balance FROM accounts WHERE account_code='${nibble_account}'"/>
|
||||
-->
|
||||
|
||||
<!-- Custom SQL for loading current balance - overrides column names
|
||||
channel vars are interpreted.
|
||||
nibble_increment is the amount to update
|
||||
|
||||
<param name="custom_sql_save" value="UPDATE accounts SET cash=cash-${nibble_increment} WHERE account_code='${nibble_account}'"/>
|
||||
-->
|
||||
|
||||
|
||||
<!-- Default heartbeat interval. Set to 'off' for no heartbeat (i.e. bill only at end of call) -->
|
||||
<param name="global_heartbeat" value="60"/>
|
||||
|
||||
<!-- By default, warn a caller when their balance is at $5.00. You can set this to a negative number. -->
|
||||
<param name="lowbal_amt" value="5"/>
|
||||
<param name="lowbal_action" value="play ding"/>
|
||||
|
||||
<!-- By default, terminate a caller when their balance hits $0.00. You can set this to a negative number. -->
|
||||
<param name="nobal_amt" value="0"/>
|
||||
<param name="nobal_action" value="hangup"/>
|
||||
|
||||
<!-- If a call goes beyond a certain dollar amount, flag or terminate it -->
|
||||
<param name="percall_max_amt" value="100"/>
|
||||
<param name="percall_action" value="hangup"/>
|
||||
|
||||
</settings>
|
||||
</configuration>
|
||||
@@ -1,18 +0,0 @@
|
||||
<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"/>
|
||||
<param name="gk-address" value=""/> <!-- empty to disable, "*" to search LAN -->
|
||||
<param name="gk-identifer" value=""/> <!-- optional name of gk -->
|
||||
<param name="gk-interface" value=""/> <!-- optional listener interface name -->
|
||||
</settings>
|
||||
<listeners>
|
||||
<listener name="default">
|
||||
<param name="h323-ip" value="$${local_ip_v4}"/>
|
||||
<param name="h323-port" value="1720"/>
|
||||
</listener>
|
||||
</listeners>
|
||||
</configuration>
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
<configuration name="opus.conf">
|
||||
<settings>
|
||||
<param name="use-vbr" value="1"/>
|
||||
<!--<param name="use-dtx" value="1"/>-->
|
||||
<param name="complexity" value="10"/>
|
||||
<!-- Set the initial packet loss percentage 0-100 -->
|
||||
<!--<param name="packet-loss-percent" value="10"/>-->
|
||||
<!-- Support asymmetric sample rates -->
|
||||
<!--<param name="asymmetric-sample-rates" value="1"/>-->
|
||||
|
||||
<!-- Enable bitrate negotiation -->
|
||||
<!--<param name="bitrate-negotiation" value="1"/>-->
|
||||
|
||||
<!-- Keep FEC Enabled -->
|
||||
<param name="keep-fec-enabled" value="1"/>
|
||||
<!--<param name="use-jb-lookahead" value="true"/> -->
|
||||
<!--
|
||||
maxaveragebitrate: the maximum average codec bitrate (values: 6000 to 510000 in bps) 0 is not considered
|
||||
maxplaybackrate: the maximum codec internal frequency (values: 8000, 12000, 16000, 24000, 48000 in Hz) 0 is not considered
|
||||
This will set the local encoder and instruct the remote encoder trough specific "fmtp" attibute in the SDP.
|
||||
|
||||
Example: if you receive "maxaveragebitrate=20000" from SDP and you have set "maxaveragebitrate=24000" in this configuration
|
||||
the lowest will prevail in this case "20000" is set on the encoder and the corresponding fmtp attribute will be set
|
||||
to instruct the remote encoder to do the same.
|
||||
-->
|
||||
<param name="maxaveragebitrate" value="0"/>
|
||||
<param name="maxplaybackrate" value="0"/>
|
||||
<!-- Max capture rate, 8000, 12000, 16000, 24000 and 48000 are valid options -->
|
||||
<!--<param name="sprop-maxcapturerate" value="0"/>-->
|
||||
<!-- Enable automatic bitrate variation during the call based on RTCP feedback -->
|
||||
<!--<param name="adjust-bitrate" value="1"/>-->
|
||||
</settings>
|
||||
</configuration>
|
||||
@@ -1,53 +0,0 @@
|
||||
<configuration name="osp.conf" description="OSP Module Configuration">
|
||||
<settings>
|
||||
<!-- Debug info flag -->
|
||||
<param name="debug-info" value="disabled"/>
|
||||
<!-- Log level for debug info -->
|
||||
<param name="log-level" value="info"/>
|
||||
<!-- Crypto hareware accelerate is disabled by default -->
|
||||
<param name="crypto-hardware" value="disabled"/>
|
||||
<!-- SIP settings -->
|
||||
<param name="sip" module="sofia" profile="external"/>
|
||||
<!-- H.323 settings -->
|
||||
<!-- <param name="h323" module="h323" profile="external"/> -->
|
||||
<!-- IAX settings -->
|
||||
<!-- <param name="iax" module="iax" profile="external"/> -->
|
||||
<!-- Skype settings -->
|
||||
<!-- <param name="skype" module="skypopen" profile="external"/> -->
|
||||
<!-- Default destination protocol -->
|
||||
<param name="default-protocol" value="sip"/>
|
||||
</settings>
|
||||
|
||||
<profiles>
|
||||
<!-- Default OSP profile -->
|
||||
<profile name="default">
|
||||
<!-- Service point URLs, up to 8 allowed -->
|
||||
<!-- <param name="service-point-url" value="http://osptestserver.transnexus.com:5045/osp"/> -->
|
||||
<!-- <param name="service-point-url" value="https://127.0.0.1:1443/osp"/> -->
|
||||
<param name="service-point-url" value="http://127.0.0.1:5045/osp"/>
|
||||
|
||||
<!-- FreeSWITCH IP address for OSP -->
|
||||
<param name="device-ip" value="127.0.0.1:5080"/>
|
||||
|
||||
<!-- SSL lifetime in seconds -->
|
||||
<param name="ssl-lifetime" value="300"/>
|
||||
<!-- HTTP max connections, 1~1000 -->
|
||||
<param name="http-max-connections" value="20"/>
|
||||
<!-- HTTP persistence in seconds -->
|
||||
<param name="http-persistence" value="60"/>
|
||||
<!-- HTTP retry delay in seconds, 0~10 -->
|
||||
<param name="http-retry-delay" value="0"/>
|
||||
<!-- HTTP retry limit, 0~100 -->
|
||||
<param name="http-retry-limit" value="2"/>
|
||||
<!-- HTTP timeout in milliseconds, 200~60000 -->
|
||||
<param name="http-timeout" value="10000"/>
|
||||
|
||||
<!-- OSP work mode, direct or indirect -->
|
||||
<param name="work-mode" value="direct"/>
|
||||
<!-- OSP service type, voice or npquery -->
|
||||
<param name="service-type" value="voice"/>
|
||||
<!-- Max number of destinations -->
|
||||
<param name="max-destinations" value="12"/>
|
||||
</profile>
|
||||
</profiles>
|
||||
</configuration>
|
||||
@@ -1,16 +0,0 @@
|
||||
<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>
|
||||
@@ -1,12 +0,0 @@
|
||||
<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="language-weight" value="1"/>-->
|
||||
<!--<param name="narrowband-model" value="communicator"/>-->
|
||||
<!--<param name="wideband-model" value="wsj1"/>-->
|
||||
<!--<param name="dictionary" value="default.dic"/>-->
|
||||
</settings>
|
||||
</configuration>
|
||||
@@ -1,218 +0,0 @@
|
||||
<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"/>-->
|
||||
<!--Enable or Disable dual_streams-->
|
||||
<!--<param name="dual-streams" value="true"/>-->
|
||||
|
||||
<!--file to play when calls are on hold-->
|
||||
<param name="hold-file" value="$${hold_music}"/>
|
||||
<!--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="48000"/>
|
||||
<param name="codec-ms" value="20"/>
|
||||
</settings>
|
||||
|
||||
<!--
|
||||
mod_portaudio "streams"
|
||||
|
||||
The portaudio streams were introduced to support multiple devices and multiple channels in mod_portaudio.
|
||||
For example, if you have a sound card that supports multiple channels or have multiple sound cards and you
|
||||
want to use them at the same time, you can do it configuring streams and endpoints here.
|
||||
|
||||
A "stream" is just a logical container for some settings required by portaudio in order to stream audio and
|
||||
define a friendly name for that configuration. Streams in itself do not do anything else than contain configs.
|
||||
Once you have your streams defined you can proceed to define "endpoints". Go to the "<endpoints>" section
|
||||
for more information on endpoints.
|
||||
|
||||
You can use the command "pa shstreams" (portaudio shared streams) to show the configured streams.
|
||||
-->
|
||||
<streams>
|
||||
<!--
|
||||
In this example we define 2 streams, one for a usb audio device and another for the usual Mac defaults
|
||||
The name="" attribute in the <stream> tag must uniquely identify the stream configuration and can be
|
||||
later used when creating endpoints in the "instream" and "outstream" parameters of the endpoint.
|
||||
-->
|
||||
|
||||
<!-- This sample "usb1" configuration was tested with a USB Griffin iMic device -->
|
||||
<stream name="usb1">
|
||||
<!--
|
||||
Which device to use for input in this stream
|
||||
The value for this parameter must be either in the form '#devno',
|
||||
for example '#2' for device number 2, or 'device-name', like 'iMic USB audio system'
|
||||
The output of command "pa devlist" will show you device names and numbers as enumerated
|
||||
by portaudio.
|
||||
-->
|
||||
<param name="indev" value="#2" />
|
||||
|
||||
<!--
|
||||
Same as the indev but for output. In this case the device is capable of input and output
|
||||
Some devices are capable of input only or output only (see the default example)
|
||||
-->
|
||||
<param name="outdev" value="#2" />
|
||||
|
||||
<!-- The sample rate to use for this stream -->
|
||||
<param name="sample-rate" value="48000" />
|
||||
|
||||
<!--
|
||||
Size of the packets in milliseconds. The smaller the number the less latency you'll have
|
||||
The minimum value is 10ms
|
||||
-->
|
||||
<param name="codec-ms" value="10" />
|
||||
|
||||
<!--
|
||||
How many channels to open for this stream.
|
||||
If you're device is stereo, you can choose 2 here. However, bear in mind that then
|
||||
your left and right channels will be separated and when creating endpoints you will have
|
||||
to either choose the left or right channel. This may or may not be what you want. This separation
|
||||
means that you can have 2 separate FreeSWITCH calls, listening to one of them in your left channel
|
||||
and the other in the right chanel.
|
||||
-->
|
||||
<param name="channels" value="2" />
|
||||
</stream>
|
||||
|
||||
<!-- This default stream was tested using the default Macbook Pro input/output devices -->
|
||||
<stream name="default">
|
||||
<!-- The default system input device -->
|
||||
<param name="indev" value="#0" />
|
||||
<!-- The default system output device -->
|
||||
<param name="outdev" value="#1" />
|
||||
<!-- CD quality sampling rate ftw -->
|
||||
<param name="sample-rate" value="48000" />
|
||||
<!-- Low latency -->
|
||||
<param name="codec-ms" value="10" />
|
||||
<!-- Choosing 1 channel allows to hear in both left-right channel when using a headset -->
|
||||
<param name="channels" value="1" />
|
||||
</stream>
|
||||
</streams>
|
||||
|
||||
<!--
|
||||
mod_portaudio "endpoints"
|
||||
|
||||
Endpoints is a way to define the input and output that a given portaudio channel will use.
|
||||
There is a lot of flexibility. You can create endpoints which are "send-only", which means
|
||||
audio will be read from FreeSWITCH and sent down to the provided stream, but no audio will
|
||||
be read from that stream and only silence provided back to FreeSWITCH.
|
||||
|
||||
send-only endpoint:
|
||||
(FS CORE) ->-> audio ->-> sound-card-x
|
||||
|
||||
You can also create a read-only endpoint.
|
||||
|
||||
read-only-endpoint:
|
||||
(FS CORE) <-<- audio <-<- sound-card-x
|
||||
|
||||
And of course you can create a bidirectional endpoint:
|
||||
bidirectional-endpoint:
|
||||
(FS CORE) <-> audio <-> sound-card-x
|
||||
|
||||
You can also define a stream which uses only the left or only the right channel of a given device stream.
|
||||
This means you can have 2 SIP calls connected to the same device haring one call in your left ear and
|
||||
the other call to your right ear :-)
|
||||
|
||||
The name="parameter" of the endpoint allows you to use it in the FreeSWITCH dial plan to dial, ie:
|
||||
|
||||
<action application="bridge" data="portaudio/endpoint/usb1out-left" />
|
||||
|
||||
You can use the command "pa endpoints" to show the configured endpoints.
|
||||
-->
|
||||
<endpoints>
|
||||
|
||||
<!--
|
||||
An endpoint is a handle name to refer to a configuration that determines where to read media from
|
||||
and write media to. The endpoint can use any input/output stream combination for that purpose as
|
||||
long as the streams match the sampling rate and codec-ms (see <streams> XML tag).
|
||||
You can also omit the instream or the outstream parameter (but obviously not both).
|
||||
-->
|
||||
|
||||
<!--
|
||||
Configuration for a "default" bidirectional endpoint that uses the default stream defined previously in
|
||||
the <streams> section.
|
||||
-->
|
||||
<endpoint name="default">
|
||||
<!--
|
||||
The instream, outstream is the name of the stream and channel to use. The stream
|
||||
name is the same you configured in the <streams> section. This parameters follow
|
||||
the syntax <stream-name>:<channel index>. You can omit either the outstream
|
||||
or the instream, but not both! The channel index is zero-based and must be consistent
|
||||
with the number of channels available for that stream (as configured in the <stream> section).
|
||||
You cannot use index 1 if you chose channels=1 in the stream configuration.
|
||||
-->
|
||||
<param name="instream" value="default:0" />
|
||||
<param name="outstream" value="default:0" />
|
||||
</endpoint>
|
||||
|
||||
<!--
|
||||
This endpoint uses the USB stream defined previously in the <streams> section and
|
||||
is 'send-only' or 'output-only' and uses the channel index 0 (left channel in a stereo device)
|
||||
-->
|
||||
<endpoint name="usb1out-left">
|
||||
<param name="outstream" value="usb1:0" />
|
||||
</endpoint>
|
||||
|
||||
<!--
|
||||
This endpoint uses the USB stream defined previously in the <streams> section and
|
||||
is 'send-only' or 'output-only' and uses the channel index 1 (right channel in a stereo device)
|
||||
-->
|
||||
<endpoint name="usb1out-right">
|
||||
<param name="outstream" value="usb1:1" />
|
||||
</endpoint>
|
||||
|
||||
<!--
|
||||
This endpoint uses the USB stream defined previously in the <streams> section and
|
||||
is 'receive-only' or 'input-only' and uses the channel index 0 (left channel in a stereo device)
|
||||
-->
|
||||
<endpoint name="usb1in-left">
|
||||
<param name="instream" value="usb1:0" />
|
||||
</endpoint>
|
||||
|
||||
<!--
|
||||
This endpoint uses the USB stream defined previously in the <streams> section and
|
||||
is 'receive-only' or 'input-only' and uses the channel index 1 (right channel in a stereo device)
|
||||
-->
|
||||
<endpoint name="usb1in-right">
|
||||
<param name="instream" value="usb1:1" />
|
||||
</endpoint>
|
||||
|
||||
<!--
|
||||
This endpoint uses the USB stream defined previously in the <streams> section and
|
||||
is 'bidirectional' or 'send-receive' and uses the channel index 0 (left channel in a stereo device)
|
||||
-->
|
||||
<endpoint name="usb1-left">
|
||||
<param name="instream" value="usb1:0" />
|
||||
<param name="outstream" value="usb1:0" />
|
||||
</endpoint>
|
||||
|
||||
<!--
|
||||
This endpoint uses the USB stream defined previously in the <streams> section and
|
||||
is 'bidirectional' or 'send-receive' and uses the channel index 1 (right channel in a stereo device)
|
||||
-->
|
||||
<endpoint name="usb1-right">
|
||||
<param name="instream" value="usb1:1" />
|
||||
<param name="outstream" value="usb1:1" />
|
||||
</endpoint>
|
||||
|
||||
</endpoints>
|
||||
|
||||
</configuration>
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
<configuration name="post_load_modules.conf" description="Modules">
|
||||
<modules>
|
||||
<!-- Video -->
|
||||
<load module="mod_av"/>
|
||||
</modules>
|
||||
</configuration>
|
||||
@@ -1,9 +0,0 @@
|
||||
<configuration name="post_load_switch.conf" description="Core Configuration">
|
||||
<settings>
|
||||
<!-- Event handler uses event queue when set to true. False uses a threaded solution. -->
|
||||
<param name="events-use-dispatch" value="false"/>
|
||||
|
||||
<!-- SWITCH default is 1. Use this number of thread on startup. -->
|
||||
<param name="initial-event-threads" value="8"/>
|
||||
</settings>
|
||||
</configuration>
|
||||
@@ -1,6 +0,0 @@
|
||||
<configuration name="pre_load_modules.conf" description="Modules">
|
||||
<modules>
|
||||
<!-- Databases -->
|
||||
<load module="mod_pgsql"/>
|
||||
</modules>
|
||||
</configuration>
|
||||
@@ -1,7 +0,0 @@
|
||||
<configuration name="presence_map.conf" description="PRESENCE MAP">
|
||||
<domains>
|
||||
<domain name="$${domain}">
|
||||
<exten regex="3\d+" proto="conf"/>
|
||||
</domain>
|
||||
</domains>
|
||||
</configuration>
|
||||
@@ -1,16 +0,0 @@
|
||||
<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 module 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"/>-->
|
||||
<!--<param name="startup-script" value="startup_script_2"/>-->
|
||||
|
||||
</settings>
|
||||
</configuration>
|
||||
@@ -1,7 +0,0 @@
|
||||
<configuration name="redis.conf" description="mod_redis Configuration">
|
||||
<settings>
|
||||
<param name="host" value="localhost"/>
|
||||
<param name="port" value="6379"/>
|
||||
<param name="timeout" value="10000"/>
|
||||
</settings>
|
||||
</configuration>
|
||||
@@ -1,7 +0,0 @@
|
||||
<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>
|
||||
@@ -1,17 +0,0 @@
|
||||
<configuration name="rtmp.conf" description="RTMP Endpoint">
|
||||
<profiles>
|
||||
<profile name="default">
|
||||
<settings>
|
||||
<param name="bind-address" value="0.0.0.0:1935" />
|
||||
<param name="context" value="public" />
|
||||
<param name="dialplan" value="XML" />
|
||||
<!-- If this is set to true, no unauthenticated inbound calls will be allowed -->
|
||||
<param name="auth-calls" value="true" />
|
||||
<!-- How much time should the clients buffer the media stream (miliseconds) -->
|
||||
<param name="buffer-len" value="50" />
|
||||
<!-- Sets the maximum size of outbound RTMP chunks -->
|
||||
<param name="chunksize" value="512" />
|
||||
</settings>
|
||||
</profile>
|
||||
</profiles>
|
||||
</configuration>
|
||||
@@ -1,37 +0,0 @@
|
||||
<configuration name="sangoma_codec.conf" description="Sangoma Codec Configuration">
|
||||
|
||||
<settings>
|
||||
<!--
|
||||
Comma separated list of codecs to register with FreeSWITCH,
|
||||
by default (if this parameter is not set) all available codecs are registered.
|
||||
Valid codec values are: PCMU,PCMA,G729,G726-32,G722,GSM,G723,AMR,G7221,iLBC
|
||||
If this parameter is not specified only G729 will be registered
|
||||
<param name="register" value="all"/>
|
||||
-->
|
||||
|
||||
<!--
|
||||
List of codecs to not register with FreeSWITCH, by default this is empty,
|
||||
but you may want to not load PCMU and PCMA or may be others to not use your
|
||||
resources in codecs that are done well and fast in software.
|
||||
<param name="noregister" value="PCMU,PCMA"/>
|
||||
-->
|
||||
|
||||
<!--
|
||||
Transcoding SOAP server URL. If you are installing the soap server (sngtc_server)
|
||||
in the same box where FreeSWITCH, do not use this value, the default URL
|
||||
that is hard-coded will work out of the box for local installations.
|
||||
If you modify this value, you must configure your SOAP server (/etc/sngtc/sngtc_server.conf.xml)
|
||||
to listen for HTTP requests on the same IP/port that you specify here.
|
||||
<param name="soapserver" value="http://192.168.1.100:8080"/>
|
||||
-->
|
||||
|
||||
<!--
|
||||
RTP IP to use
|
||||
By default, this module asks FreeSWITCH for the local ip address. However if you want to use a specific
|
||||
IP address you can set it here.
|
||||
<param name="rtpip" value="192.168.1.1"/>
|
||||
-->
|
||||
</settings>
|
||||
|
||||
</configuration>
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
<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>
|
||||
@@ -1,6 +0,0 @@
|
||||
<configuration name="skinny.conf" description="Skinny Endpoints">
|
||||
<profiles>
|
||||
<X-PRE-PROCESS cmd="include" data="../skinny_profiles/*.xml"/>
|
||||
</profiles>
|
||||
</configuration>
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
<configuration name="smpp.conf" description="SMPP client and server Gateway">
|
||||
<gateways>
|
||||
<gateway name="example.com">
|
||||
<params>
|
||||
<param name="host" value="example.com"/>
|
||||
<param name="port" value="2775"/>
|
||||
<param name="debug" value="1"/>
|
||||
<param name="profile" value="default"/>
|
||||
<param name="system_id" value="username"/>
|
||||
<param name="password" value="password"/>
|
||||
<param name="system_type" value="remote_smpp"/>
|
||||
</params>
|
||||
</gateway>
|
||||
</gateways>
|
||||
</configuration>
|
||||
@@ -1,19 +0,0 @@
|
||||
<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"/>
|
||||
<!-- <param name="capture-server" value="udp:homer.domain.com:5060"/> -->
|
||||
</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>
|
||||
@@ -1,119 +0,0 @@
|
||||
<configuration name="spandsp.conf" description="SpanDSP config">
|
||||
<modem-settings>
|
||||
<!--
|
||||
total-modems set to N will create that many soft-modems.
|
||||
If you use them with Hylafax you need the following for each one numbered 0..N:
|
||||
|
||||
1) A line like this in /etc/inittab:
|
||||
|
||||
f0:2345:respawn:/usr/lib/fax/faxgetty /dev/FS0
|
||||
|
||||
2) copy conf/config.FS0 to /var/spool/hylafax/etc (or wherver the appropriate dir is on your system)
|
||||
|
||||
Subsequent modem configs would incrment the 0 to 1 and so on.
|
||||
|
||||
-->
|
||||
<param name="total-modems" value="0"/>
|
||||
<!-- Change the directory of the devices created from /dev. Needed if FS runs as non-root -->
|
||||
<!-- <param name="directory" value="/dev/FS"/> -->
|
||||
|
||||
<!-- Default context and dialplan to use on inbound calls from the modems -->
|
||||
<param name="context" value="default"/>
|
||||
<param name="dialplan" value="XML"/>
|
||||
|
||||
<!-- Extra tracing for debugging -->
|
||||
<param name="verbose" value="false"/>
|
||||
</modem-settings>
|
||||
|
||||
<fax-settings>
|
||||
<param name="use-ecm" value="false"/>
|
||||
<param name="verbose" value="false"/>
|
||||
<!--param name="verbose-log-level" value="INFO"/-->
|
||||
<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"/>
|
||||
<!-- How many packets to process before sending the re-invite on tx/rx -->
|
||||
<!-- <param name="t38-rx-reinvite-packet-count" value="50"/> -->
|
||||
<!-- <param name="t38-tx-reinvite-packet-count" value="100"/> -->
|
||||
</fax-settings>
|
||||
|
||||
<descriptors>
|
||||
|
||||
<!-- These tones are defined in Annex to ITU Operational Bulletin No. 781 - 1.II.2003 -->
|
||||
<!-- Various Tones Used in National Networks (According to ITU-T Recommendation E.180)(03/1998) -->
|
||||
|
||||
<!-- North America -->
|
||||
<descriptor name="1">
|
||||
<tone name="CED_TONE">
|
||||
<element freq1="2100" freq2="0" min="700" max="0"/>
|
||||
</tone>
|
||||
<tone name="SIT">
|
||||
<element freq1="950" freq2="0" min="256" max="400"/>
|
||||
<element freq1="1400" freq2="0" min="256" max="400"/>
|
||||
<element freq1="1800" freq2="0" min="256" max="400"/>
|
||||
</tone>
|
||||
<tone name="RING_TONE" description="North America ring">
|
||||
<element freq1="440" freq2="480" min="1200" max="0"/>
|
||||
</tone>
|
||||
<tone name="REORDER_TONE">
|
||||
<element freq1="480" freq2="620" min="224" max="316"/>
|
||||
<element freq1="0" freq2="0" min="168" max="352"/>
|
||||
<element freq1="480" freq2="620" min="224" max="316"/>
|
||||
</tone>
|
||||
<tone name="BUSY_TONE">
|
||||
<element freq1="480" freq2="620" min="464" max="536"/>
|
||||
<element freq1="0" freq2="0" min="464" max="572"/>
|
||||
<element freq1="480" freq2="620" min="464" max="536"/>
|
||||
</tone>
|
||||
</descriptor>
|
||||
|
||||
<!-- United Kingdom -->
|
||||
<descriptor name="44">
|
||||
<tone name="CED_TONE">
|
||||
<element freq1="2100" freq2="0" min="500" max="0"/>
|
||||
</tone>
|
||||
<tone name="SIT">
|
||||
<element freq1="950" freq2="0" min="256" max="400"/>
|
||||
<element freq1="1400" freq2="0" min="256" max="400"/>
|
||||
<element freq1="1800" freq2="0" min="256" max="400"/>
|
||||
</tone>
|
||||
<tone name="REORDER_TONE">
|
||||
<element freq1="400" freq2="0" min="368" max="416"/>
|
||||
<element freq1="0" freq2="0" min="336" max="368"/>
|
||||
<element freq1="400" freq2="0" min="256" max="288"/>
|
||||
<element freq1="0" freq2="0" min="512" max="544"/>
|
||||
</tone>
|
||||
<tone name="BUSY_TONE">
|
||||
<element freq1="400" freq2="0" min="352" max="384"/>
|
||||
<element freq1="0" freq2="0" min="352" max="384"/>
|
||||
<element freq1="400" freq2="0" min="352" max="384"/>
|
||||
<element freq1="0" freq2="0" min="352" max="384"/>
|
||||
</tone>
|
||||
</descriptor>
|
||||
|
||||
<!-- Germany -->
|
||||
<descriptor name="49">
|
||||
<tone name="CED_TONE">
|
||||
<element freq1="2100" freq2="0" min="500" max="0"/>
|
||||
</tone>
|
||||
<tone name="SIT">
|
||||
<element freq1="900" freq2="0" min="256" max="400"/>
|
||||
<element freq1="1400" freq2="0" min="256" max="400"/>
|
||||
<element freq1="1800" freq2="0" min="256" max="400"/>
|
||||
</tone>
|
||||
<tone name="REORDER_TONE">
|
||||
<element freq1="425" freq2="0" min="224" max="272"/>
|
||||
<element freq1="0" freq2="0" min="224" max="272"/>
|
||||
</tone>
|
||||
<tone name="BUSY_TONE">
|
||||
<element freq1="425" freq2="0" min="464" max="516"/>
|
||||
<element freq1="0" freq2="0" min="464" max="516"/>
|
||||
</tone>
|
||||
</descriptor>
|
||||
</descriptors>
|
||||
|
||||
</configuration>
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
<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>
|
||||
@@ -1,170 +0,0 @@
|
||||
<configuration name="switch.conf" description="Core Configuration">
|
||||
|
||||
<cli-keybindings>
|
||||
<key name="1" value="help"/>
|
||||
<key name="2" value="status"/>
|
||||
<key name="3" value="show channels"/>
|
||||
<key name="4" value="show calls"/>
|
||||
<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 internal"/>
|
||||
<key name="10" value="sofia profile internal siptrace on"/>
|
||||
<key name="11" value="sofia profile internal siptrace off"/>
|
||||
<key name="12" value="version"/>
|
||||
</cli-keybindings>
|
||||
|
||||
<default-ptimes>
|
||||
<!-- Set this to override the 20ms assumption of various codecs in the sdp with no ptime defined -->
|
||||
<!-- <codec name="G729" ptime="40"/> -->
|
||||
</default-ptimes>
|
||||
|
||||
<settings>
|
||||
<!-- Colorize the Console -->
|
||||
<param name="colorize-console" value="true"/>
|
||||
|
||||
<!-- Run the timer at 20ms by default and drop down as needed unless you set 1m-timer=true which was previous default -->
|
||||
<!-- <param name="1ms-timer" value="true"/> -->
|
||||
|
||||
<!--
|
||||
Set the Switch Name for HA environments.
|
||||
When setting the switch name, it will override the system hostname for all DB and CURL requests
|
||||
allowing cluster environments such as RHCS to have identical FreeSWITCH configurations but run
|
||||
as different hostnames.
|
||||
-->
|
||||
<!-- <param name="switchname" value="freeswitch"/> -->
|
||||
|
||||
<!-- Maximum number of simultaneous DB handles open -->
|
||||
<param name="max-db-handles" value="50"/>
|
||||
<!-- Maximum number of seconds to wait for a new DB handle before failing -->
|
||||
<param name="db-handle-timeout" value="10"/>
|
||||
|
||||
<!-- Minimum idle CPU before refusing calls -->
|
||||
<!-- <param name="min-idle-cpu" value="25"/> -->
|
||||
|
||||
<!--
|
||||
Max number of sessions to allow at any given time.
|
||||
|
||||
NOTICE: If you're driving 28 T1's in a single box you should set this to 644*2 or 1288
|
||||
this will ensure you're able to use the entire DS3 without a problem. Otherwise you'll
|
||||
be 144 channels short of always filling that DS3 up which can translate into waste.
|
||||
-->
|
||||
<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"/>
|
||||
|
||||
<!-- Set the core DEBUG level (0-10) -->
|
||||
<!-- <param name="debug-level" value="10"/> -->
|
||||
|
||||
<!-- SQL Buffer length within rage of 32k to 10m -->
|
||||
<!-- <param name="sql-buffer-len" value="1m"/> -->
|
||||
<!-- Maximum SQL Buffer length must be greater than sql-buffer-len -->
|
||||
<!-- <param name="max-sql-buffer-len" value="2m"/> -->
|
||||
|
||||
<!--
|
||||
The min-dtmf-duration specifies the minimum DTMF duration to use on
|
||||
outgoing events. Events shorter than this will be increased in duration
|
||||
to match min_dtmf_duration. You cannot configure a dtmf duration on a
|
||||
profile that is less than this setting. You may increase this value,
|
||||
but cannot set it lower than 400. This value cannot exceed
|
||||
max-dtmf-duration. -->
|
||||
<param name="min-dtmf-duration" value="640"/>
|
||||
|
||||
<!--
|
||||
The max-dtmf-duration caps the playout of a DTMF event at the specified
|
||||
duration. Events exceeding this duration will be truncated to this
|
||||
duration. You cannot configure a duration on a profile that exceeds
|
||||
this setting. This setting can be lowered, but cannot exceed 192000.
|
||||
This setting cannot be set lower than min_dtmf_duration. -->
|
||||
<!-- <param name="max-dtmf-duration" value="192000"/> -->
|
||||
|
||||
<!--
|
||||
The default_dtmf_duration specifies the DTMF duration to use on
|
||||
originated DTMF events or on events that are received without a
|
||||
duration specified. This value can be increased or lowered. This
|
||||
value is lower-bounded by min_dtmf_duration and upper-bounded by
|
||||
max-dtmf-duration\. -->
|
||||
<!-- <param name="default-dtmf-duration" value="2000"/> -->
|
||||
|
||||
<!--
|
||||
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"/>
|
||||
|
||||
Do not 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="mailer-app" value="/usr/bin/php /var/www/fusionpbx/secure/v_mailto.php"/>
|
||||
<param name="mailer-app-args" value="-t"/>
|
||||
<param name="dump-cores" value="yes"/>
|
||||
<!-- Enable verbose channel events to include every detail about a channel on every event -->
|
||||
<!-- <param name="verbose-channel-events" value="no"/> -->
|
||||
|
||||
<!-- Enable clock nanosleep -->
|
||||
<!-- <param name="enable-clock-nanosleep" value="true"/> -->
|
||||
|
||||
<!-- Enable monotonic timing -->
|
||||
<!-- <param name="enable-monotonic-timing" value="true"/> -->
|
||||
|
||||
<!-- NEEDS DOCUMENTATION -->
|
||||
<!-- <param name="enable-softtimer-timerfd" value="true"/> -->
|
||||
<!-- <param name="enable-cond-yield" value="true"/> -->
|
||||
<!-- <param name="enable-timer-matrix" value="true"/> -->
|
||||
<!-- <param name="threaded-system-exec" value="true"/> -->
|
||||
<!-- <param name="tipping-point" value="0"/> -->
|
||||
<!-- <param name="timer-affinity" value="disabled"/> -->
|
||||
<!-- NEEDS DOCUMENTATION -->
|
||||
|
||||
<!-- RTP port range -->
|
||||
<!-- <param name="rtp-start-port" value="16384"/> -->
|
||||
<!-- <param name="rtp-end-port" value="32768"/> -->
|
||||
|
||||
<!-- <param name="rtp-enable-zrtp" value="true"/> -->
|
||||
|
||||
<!-- <param name="core-db-dsn" value="$${dsn}" /> -->
|
||||
<!--
|
||||
Allow to specify the sqlite db at a different location (In this example, move it to ramdrive for
|
||||
better performance on most linux distro (note, you loose the data if you reboot))
|
||||
-->
|
||||
<!-- <param name="core-db-name" value="/dev/shm/core.db" /> -->
|
||||
|
||||
<!-- The system will create all the db schemas automatically, set this to false to avoid this behaviour -->
|
||||
<param name="auto-create-schemas" value="true"/>
|
||||
<!-- <param name="auto-clear-sql" value="true"/> -->
|
||||
<!-- <param name="enable-early-hangup" value="true"/> -->
|
||||
|
||||
<!-- <param name="core-dbtype" value="MSSQL"/> -->
|
||||
|
||||
<!-- Allow multiple registrations to the same account in the central registration table -->
|
||||
<!-- <param name="multiple-registrations" value="true"/> -->
|
||||
|
||||
<!-- Event handler uses event queue when set to true. False uses a threaded solution. -->
|
||||
<param name="events-use-dispatch" value="false"/>
|
||||
|
||||
<!-- SWITCH default is 1. Use this number of thread on startup. -->
|
||||
<param name="initial-event-threads" value="8"/>
|
||||
</settings>
|
||||
|
||||
</configuration>
|
||||
@@ -1,18 +0,0 @@
|
||||
<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="facility" value="user"/>
|
||||
<param name="ident" value="freeswitch"/>
|
||||
<param name="loglevel" value="warning"/>
|
||||
<!-- Uncomment the following line to log uuids in syslogs (when applicable) -->
|
||||
<!-- <param name="uuid" value="true"/> -->
|
||||
</settings>
|
||||
</configuration>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,15 +0,0 @@
|
||||
<configuration name="tts_commandline.conf" description="TextToSpeech Commandline configuration">
|
||||
<settings>
|
||||
<!--
|
||||
Some variables will be replaced :
|
||||
${text}: input text (quoted)
|
||||
${rate}: sample rate (example: 8000)
|
||||
${voice}: voice_name passed to TTS(quoted)
|
||||
${file}: output file (quoted, including .wav extension)
|
||||
|
||||
Example commands can be found at:
|
||||
http://wiki.freeswitch.org/wiki/Mod_tts_commandline#Example_commands
|
||||
-->
|
||||
<param name="command" value="echo ${text} | text2wave -f ${rate} > ${file}"/>
|
||||
</settings>
|
||||
</configuration>
|
||||
@@ -1,25 +0,0 @@
|
||||
<configuration name="unicall.conf" description="Unicall Configuration">
|
||||
<settings>
|
||||
<param name="context" value="default"/>
|
||||
<param name="dialplan" value="XML"/>
|
||||
<param name="suppress-dtmf-tone" value="true"/>
|
||||
</settings>
|
||||
<spans>
|
||||
<span id="1">
|
||||
<param name="protocol-class" value="mfcr2"/>
|
||||
<param name="protocol-variant" value="ar"/>
|
||||
<param name="protocol-end" value="peer"/>
|
||||
<param name="outgoing-allowed" value="true"/>
|
||||
<param name="dialplan" value="XML"/>
|
||||
<param name="context" value="default"/>
|
||||
</span>
|
||||
<span id="2">
|
||||
<param name="protocol-class" value="mfcr2"/>
|
||||
<param name="protocol-variant" value="ar"/>
|
||||
<param name="protocol-end" value="peer"/>
|
||||
<param name="outgoing-allowed" value="true"/>
|
||||
<param name="dialplan" value="XML"/>
|
||||
<param name="context" value="default"/>
|
||||
</span>
|
||||
</spans>
|
||||
</configuration>
|
||||
@@ -1,23 +0,0 @@
|
||||
<configuration name="unimrcp.conf" description="UniMRCP Client">
|
||||
<settings>
|
||||
<!-- UniMRCP profile to use for TTS -->
|
||||
<param name="default-tts-profile" value="voxeo-prophecy8.0-mrcp1"/>
|
||||
<!-- UniMRCP profile to use for ASR -->
|
||||
<param name="default-asr-profile" value="voxeo-prophecy8.0-mrcp1"/>
|
||||
<!-- UniMRCP logging level to appear in freeswitch.log. Options are:
|
||||
EMERGENCY|ALERT|CRITICAL|ERROR|WARNING|NOTICE|INFO|DEBUG -->
|
||||
<param name="log-level" value="DEBUG"/>
|
||||
<!-- Enable events for profile creation, open, and close -->
|
||||
<param name="enable-profile-events" value="false"/>
|
||||
|
||||
<param name="max-connection-count" value="100"/>
|
||||
<param name="offer-new-connection" value="1"/>
|
||||
<param name="request-timeout" value="3000"/>
|
||||
</settings>
|
||||
|
||||
<profiles>
|
||||
<X-PRE-PROCESS cmd="include" data="../mrcp_profiles/*.xml"/>
|
||||
</profiles>
|
||||
|
||||
</configuration>
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
<configuration name="v8.conf" description="Google V8 JavaScript Plug-Ins">
|
||||
<settings>
|
||||
<!-- <param name="startup-script" value="startup1.js"/> -->
|
||||
<!-- <param name="startup-script" value="startup2.js"/> -->
|
||||
<!-- <param name="xml-handler-script" value="directory.js"/> -->
|
||||
<!-- <param name="xml-handler-bindings" value="directory"/> -->
|
||||
<!-- <hook event="CUSTOM" subclass="sofia::register" script="catch-event.js"/> -->
|
||||
<!-- <hook event="CHANNEL_HANGUP" script="hangup-event.js"/> -->
|
||||
</settings>
|
||||
<modules>
|
||||
<!-- <load module="mod_v8_skel"/> -->
|
||||
</modules>
|
||||
</configuration>
|
||||
@@ -1,29 +0,0 @@
|
||||
<configuration name="verto.conf" description="HTML5 Verto Endpoint">
|
||||
<settings>
|
||||
<param name="debug" value="10"/>
|
||||
<param name="enable-presence" value="false"/>
|
||||
<param name="detach-timeout-sec" value="0"/>
|
||||
</settings>
|
||||
<profiles>
|
||||
<profile name="mine">
|
||||
<param name="bind-local" value="0.0.0.0:8081"/>
|
||||
<param name="bind-local" value="0.0.0.0:8082" secure="true"/>
|
||||
<param name="secure-combined" value="/etc/freeswitch/tls/wss.pem"/>
|
||||
<param name="secure-chain" value="/etc/freeswitch/tls/wss.pem"/>
|
||||
<!--<param name="secure-combined" value="/usr/local/freeswitch/tls/wss.pem"/>-->
|
||||
<!--<param name="secure-chain" value="/usr/local/freeswitch/tls/wss.pem"/>-->
|
||||
<param name="userauth" value="true"/>
|
||||
<param name="context" value="public"/>
|
||||
<param name="dialplan" value="XML"/>
|
||||
<param name="mcast-ip" value="239.1.1.1"/>
|
||||
<param name="mcast-port" value="1337"/>
|
||||
<param name="local-network" value="localnet.auto"/>
|
||||
<param name="apply-candidate-acl" value="wan.auto"/>
|
||||
<param name="rtp-ip" value="$${local_ip_v4}"/>
|
||||
<!-- <param name="ext-rtp-ip" value=""/> -->
|
||||
<param name="outbound-codec-string" value="opus,vp8"/>
|
||||
<param name="inbound-codec-string" value="opus,vp8"/>
|
||||
<param name="timer-name" value="soft"/>
|
||||
</profile>
|
||||
</profiles>
|
||||
</configuration>
|
||||
@@ -1,70 +0,0 @@
|
||||
<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="max-retries" value="3"/>
|
||||
<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="login-keys" value="*"/>
|
||||
<param name="main-menu-key" value="*"/>
|
||||
<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="skip-greet-key" value="#"/>
|
||||
<param name="previous-message-key" value="1"/>
|
||||
<param name="next-message-key" value="3"/>
|
||||
<param name="skip-info-key" value="*"/>
|
||||
<param name="repeat-message-key" value="0"/>
|
||||
<param name="record-silence-threshold" value="200"/>
|
||||
<param name="record-silence-hits" value="10"/>
|
||||
<param name="web-template-file" value="web-vm.tpl"/>
|
||||
<param name="db-password-override" value="false"/>
|
||||
<param name="allow-empty-password-auth" value="true"/>
|
||||
<!-- 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="0"/>
|
||||
<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}"/>-->
|
||||
<!--<param name="record-comment" value="Your Comment"/>-->
|
||||
<!--<param name="record-title" value="Your Title"/>-->
|
||||
<!--<param name="record-copyright" value="Your Copyright"/>-->
|
||||
</profile>
|
||||
</profiles>
|
||||
</configuration>
|
||||
@@ -1,208 +0,0 @@
|
||||
<configuration name="voicemail_ivr.conf" description="Voicemail IVR">
|
||||
<profiles>
|
||||
<profile name="default">
|
||||
<settings>
|
||||
<param name="IVR-Maximum-Attempts" value="3" />
|
||||
<param name="IVR-Entry-Timeout" value="3000" />
|
||||
<param name="Record-Format" value="wav" />
|
||||
<!--<param name="Record-Sample-Rate" value="8000" />-->
|
||||
<param name="Record-Silence-Hits" value="4" />
|
||||
<param name="Record-Silence-Threshold" value="200" />
|
||||
<param name="Record-Maximum-Length" value="30" />
|
||||
<!--<param name="Record-Minimum-Length" value="3" />-->
|
||||
<param name="Exit-Purge" value="true" />
|
||||
<param name="Password-Mask" value="XXX." />
|
||||
<param name="User-Mask" value="X." />
|
||||
|
||||
</settings>
|
||||
<apis>
|
||||
<api name="auth_login" value="vm_fsdb_auth_login" />
|
||||
<api name="msg_list" value="vm_fsdb_msg_list" />
|
||||
<api name="msg_count" value="vm_fsdb_msg_count" />
|
||||
<api name="msg_delete" value="vm_fsdb_msg_delete" />
|
||||
<api name="msg_undelete" value="vm_fsdb_msg_undelete" />
|
||||
<api name="msg_save" value="vm_fsdb_msg_save" />
|
||||
<api name="msg_purge" value="vm_fsdb_msg_purge" />
|
||||
<api name="msg_get" value="vm_fsdb_msg_get" />
|
||||
<api name="msg_forward" value="vm_fsdb_msg_forward" />
|
||||
<api name="pref_greeting_set" value="vm_fsdb_pref_greeting_set" />
|
||||
<api name="pref_recname_set" value="vm_fsdb_pref_recname_set" />
|
||||
<api name="pref_password_set" value="vm_fsdb_pref_password_set" />
|
||||
</apis>
|
||||
<menus>
|
||||
<menu name="std_authenticate">
|
||||
<phrases>
|
||||
<phrase name="fail_auth" value="fail_auth@voicemail_ivr" />
|
||||
</phrases>
|
||||
<keys>
|
||||
</keys>
|
||||
</menu>
|
||||
|
||||
<menu name="std_authenticate_ask_user">
|
||||
<phrases>
|
||||
<phrase name="instructions" value="enter_id@voicemail_ivr" />
|
||||
</phrases>
|
||||
<keys>
|
||||
<key dtmf="#" action="ivrengine:terminate_entry" variable="VM-Key-Terminator" />
|
||||
</keys>
|
||||
</menu>
|
||||
|
||||
<menu name="std_authenticate_ask_password">
|
||||
<phrases>
|
||||
<phrase name="instructions" value="enter_pass@voicemail_ivr" />
|
||||
</phrases>
|
||||
<keys>
|
||||
<key dtmf="#" action="ivrengine:terminate_entry" variable="VM-Key-Terminator" />
|
||||
</keys>
|
||||
</menu>
|
||||
|
||||
<menu name="std_main_menu">
|
||||
<phrases>
|
||||
<phrase name="msg_count" value="message_count@mtvoicemail" />
|
||||
<phrase name="say_date" value="say_date_event@mtvoicemail" />
|
||||
<phrase name="say_msg_number" value="say_message_number@mtvoicemail" />
|
||||
<phrase name="menu_options" value="menu@mtvoicemail" />
|
||||
</phrases>
|
||||
<keys>
|
||||
<key dtmf="1" action="new_msg:std_navigator" variable="VM-Key-Play-New-Messages" />
|
||||
<key dtmf="2" action="saved_msg:std_navigator" variable="VM-Key-Play-Saved-Messages" />
|
||||
<key dtmf="5" action="menu:std_preference" variable="VM-Key-Config-Menu"/>
|
||||
<key dtmf="#" action="return" variable="VM-Key-Terminator" />
|
||||
</keys>
|
||||
</menu>
|
||||
|
||||
<menu name="std_navigator">
|
||||
<settings>
|
||||
<!--<param name="Nav-Action-On-Delete" value="next_msg" />-->
|
||||
</settings>
|
||||
<phrases>
|
||||
<phrase name="msg_count" value="message_count@voicemail_ivr" />
|
||||
<phrase name="say_date" value="say_date_event@voicemail_ivr" />
|
||||
<phrase name="say_msg_number" value="say_message_number@voicemail_ivr" />
|
||||
<phrase name="menu_options" value="listen_file_check@voicemail_ivr" />
|
||||
<phrase name="ack" value="ack@voicemail_ivr" />
|
||||
<phrase name="play_message" value="play_message@voicemail_ivr" />
|
||||
</phrases>
|
||||
<keys>
|
||||
<key dtmf="1" action="skip_intro" variable="VM-Key-Main-Listen-File" />
|
||||
<key dtmf="6" action="next_msg" variable="VM-Key-Main-Next-Msg" />
|
||||
<key dtmf="4" action="prev_msg" />
|
||||
<key dtmf="7" action="delete_msg" variable="VM-Key-Main-Delete-File" /> <!-- Same key for undelete if it already deleted -->
|
||||
<key dtmf="8" action="menu:std_forward" variable="VM-Key-Main-Forward" />
|
||||
<key dtmf="3" action="save_msg" variable="VM-Key-Main-Save-File" />
|
||||
<key dtmf="2" action="callback" variable="VM-Key-Main-Callback" />
|
||||
<key dtmf="5" action="menu:std_preference" />
|
||||
<key dtmf="#" action="return" /> <!-- TODO Might Conflict with future fast-forward -->
|
||||
</keys>
|
||||
</menu>
|
||||
|
||||
<menu name="std_preference">
|
||||
<phrases>
|
||||
<phrase name="menu_options" value="config_menu@voicemail_ivr" />
|
||||
</phrases>
|
||||
<keys>
|
||||
<key dtmf="1" action="menu:std_record_greeting_with_slot" variable="VM-Key-Record-Greeting" />
|
||||
<key dtmf="2" action="menu:std_select_greeting_slot" variable="VM-Key-Choose-Greeting" />
|
||||
<key dtmf="3" action="menu:std_record_name" variable="VM-Key-Record-Name" />
|
||||
<key dtmf="6" action="menu:std_set_password" variable="VM-Key-Change-Password" />
|
||||
<key dtmf="#" action="return" variable="VM-Key-Main-Menu" />
|
||||
</keys>
|
||||
</menu>
|
||||
|
||||
<menu name="std_record_greeting">
|
||||
<phrases>
|
||||
<phrase name="instructions" value="record_greeting@voicemail_ivr" />
|
||||
<phrase name="play_recording" value="play_recording@voicemail_ivr" />
|
||||
<phrase name="menu_options" value="record_file_check@voicemail_ivr" />
|
||||
</phrases>
|
||||
<keys>
|
||||
<key dtmf="1" action="listen" variable="VM-Key-Listen-File" />
|
||||
<key dtmf="3" action="save" variable="VM-Key-Save-File" />
|
||||
<key dtmf="4" action="rerecord" variable="VM-Key-ReRecord-File" />
|
||||
<key dtmf="#" action="skip_instruction" />
|
||||
</keys>
|
||||
</menu>
|
||||
|
||||
|
||||
<menu name="std_record_name">
|
||||
<phrases>
|
||||
<phrase name="instructions" value="record_name@voicemail_ivr" />
|
||||
<phrase name="play_recording" value="play_recording@voicemail_ivr" />
|
||||
<phrase name="menu_options" value="record_file_check@voicemail_ivr" />
|
||||
</phrases>
|
||||
<keys>
|
||||
<key dtmf="1" action="listen" variable="VM-Key-Listen-File" />
|
||||
<key dtmf="3" action="save" variable="VM-Key-Save-File" />
|
||||
<key dtmf="4" action="rerecord" variable="VM-Key-ReRecord-File" />
|
||||
<key dtmf="#" action="skip_instruction" />
|
||||
</keys>
|
||||
</menu>
|
||||
|
||||
<menu name="std_record_message">
|
||||
<phrases>
|
||||
<phrase name="instructions" value="record_message@voicemail_ivr" />
|
||||
<phrase name="play_recording" value="play_recording@voicemail_ivr" />
|
||||
<phrase name="menu_options" value="record_file_check@voicemail_ivr" />
|
||||
</phrases>
|
||||
<keys>
|
||||
<key dtmf="1" action="listen" variable="VM-Key-Listen-File" />
|
||||
<key dtmf="3" action="save" variable="VM-Key-Save-File" />
|
||||
<key dtmf="4" action="rerecord" variable="VM-Key-ReRecord-File" />
|
||||
<key dtmf="#" action="skip_instruction" />
|
||||
</keys>
|
||||
</menu>
|
||||
|
||||
<menu name="std_forward_ask_prepend">
|
||||
<phrases>
|
||||
<phrase name="menu_options" value="forward_ask_prepend@voicemail_ivr" />
|
||||
</phrases>
|
||||
<keys>
|
||||
<key dtmf="1" action="prepend" variable="VM-Key-Prepend" />
|
||||
<key dtmf="8" action="forward" variable="VM-Key-Forward" />
|
||||
<key dtmf="#" action="return" variable="VM-Key-Return" />
|
||||
</keys>
|
||||
</menu>
|
||||
|
||||
<menu name="std_forward_ask_extension">
|
||||
<phrases>
|
||||
<phrase name="instructions" value="forward_ask_extension@voicemail_ivr" />
|
||||
<phrase name="ack" value="ack@voicemail_ivr" />
|
||||
<phrase name="invalid_extension" value="invalid_extension@voicemail_ivr" />
|
||||
</phrases>
|
||||
<keys>
|
||||
<key dtmf="#" action="ivrengine:terminate_entry" variable="VM-Key-Terminator" />
|
||||
</keys>
|
||||
</menu>
|
||||
|
||||
<menu name="std_select_greeting_slot">
|
||||
<phrases>
|
||||
<phrase name="instructions" value="choose_greeting@voicemail_ivr" />
|
||||
<phrase name="invalid_slot" value="choose_greeting_fail@voicemail_ivr" />
|
||||
<phrase name="selected_slot" value="greeting_selected@voicemail_ivr" />
|
||||
</phrases>
|
||||
<keys>
|
||||
</keys>
|
||||
</menu>
|
||||
|
||||
<menu name="std_record_greeting_with_slot">
|
||||
<phrases>
|
||||
<phrase name="instructions" value="choose_greeting@voicemail_ivr" />
|
||||
</phrases>
|
||||
<keys>
|
||||
</keys>
|
||||
</menu>
|
||||
|
||||
<menu name="std_set_password">
|
||||
<phrases>
|
||||
<phrase name="instructions" value="enter_pass@voicemail_ivr" />
|
||||
</phrases>
|
||||
<keys>
|
||||
<key dtmf="#" action="ivrengine:terminate_entry" variable="VM-Key-Terminator" />
|
||||
</keys>
|
||||
</menu>
|
||||
</menus>
|
||||
</profile>
|
||||
</profiles>
|
||||
</configuration>
|
||||
|
||||
|
||||
@@ -1,71 +0,0 @@
|
||||
<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://127.0.0.1/app/xml_cdr/xml_cdr_import.php"/>
|
||||
|
||||
<!-- optional: credentials to send to web server -->
|
||||
<param name="cred" value="{v_user}:{v_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"/> -->
|
||||
|
||||
<!-- Log via http and on disk, default is false -->
|
||||
<!-- <param name="log-http-and-disk" value="true"/> -->
|
||||
|
||||
<!-- 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, 'base64' for base64 encoding or 'textxml' for text/xml -->
|
||||
<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"/> -->
|
||||
|
||||
<!-- which auhtentification scheme to use. Supported values are: basic, digest, NTLM, GSS-NEGOTIATE or "any" for automatic detection -->
|
||||
<!--<param name="auth-scheme" value="basic"/>-->
|
||||
|
||||
<!-- optional: this will enable the CA root certificate check by libcurl to
|
||||
verify that the certificate was issued by a major Certificate Authority.
|
||||
note: default value is disabled. only enable if you want this! -->
|
||||
<!--<param name="enable-cacert-check" value="true"/>-->
|
||||
<!-- optional: verify that the server is actually the one listed in the cert -->
|
||||
<!-- <param name="enable-ssl-verifyhost" value="true"/> -->
|
||||
|
||||
<!-- optional: these options can be used to specify custom SSL certificates
|
||||
to use for HTTPS communications. Either use both options or neither.
|
||||
Specify your public key with 'ssl-cert-path' and the private key with
|
||||
'ssl-key-path'. If your private key has a password, specify it with
|
||||
'ssl-key-password'. -->
|
||||
<!-- <param name="ssl-cert-path" value="$${base_dir}/conf/certs/public_key.pem"/> -->
|
||||
<!-- <param name="ssl-key-path" value="$${base_dir}/conf/certs/private_key.pem"/> -->
|
||||
<!-- <param name="ssl-key-password" value="MyPrivateKeyPassword"/> -->
|
||||
|
||||
<!-- optional: use a custom CA certificate in PEM format to verify the peer
|
||||
with. This is useful if you are acting as your own certificate authority.
|
||||
note: only makes sense if used in combination with "enable-cacert-check." -->
|
||||
<!-- <param name="ssl-cacert-file" value="$${base_dir}/conf/certs/cacert.pem"/> -->
|
||||
|
||||
<!-- optional: specify the SSL version to force HTTPS to use. Valid options are
|
||||
"SSLv3" and "TLSv1". Otherwise libcurl will auto-negotiate the version. -->
|
||||
<!-- <param name="ssl-version" value="TLSv1"/> -->
|
||||
|
||||
<!-- optional: enables cookies and stores them in the specified file. -->
|
||||
<!-- <param name="cookie-file" value="/tmp/cookie-mod_xml_curl.txt"/> -->
|
||||
</settings>
|
||||
</configuration>
|
||||
@@ -1,49 +0,0 @@
|
||||
<configuration name="xml_curl.conf" description="cURL XML Gateway">
|
||||
<bindings>
|
||||
<binding name="example">
|
||||
<!-- Allow to bind on a particular IP for requests sent -->
|
||||
<!--<param name="bind-local" value="$${local_ip_v4}" />-->
|
||||
<!-- 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"/>-->
|
||||
<!--<param name="auth-scheme" value="basic"/>-->
|
||||
|
||||
<!-- optional: this will enable the CA root certificate check by libcurl to
|
||||
verify that the certificate was issued by a major Certificate Authority.
|
||||
note: default value is disabled. only enable if you want this! -->
|
||||
<!--<param name="enable-cacert-check" value="true"/>-->
|
||||
<!-- optional: verify that the server is actually the one listed in the cert -->
|
||||
<!-- <param name="enable-ssl-verifyhost" value="true"/> -->
|
||||
|
||||
<!-- optional: these options can be used to specify custom SSL certificates
|
||||
to use for HTTPS communications. Either use both options or neither.
|
||||
Specify your public key with 'ssl-cert-path' and the private key with
|
||||
'ssl-key-path'. If your private key has a password, specify it with
|
||||
'ssl-key-password'. -->
|
||||
<!-- <param name="ssl-cert-path" value="$${base_dir}/conf/certs/public_key.pem"/> -->
|
||||
<!-- <param name="ssl-key-path" value="$${base_dir}/conf/certs/private_key.pem"/> -->
|
||||
<!-- <param name="ssl-key-password" value="MyPrivateKeyPassword"/> -->
|
||||
<!-- optional timeout -->
|
||||
<!-- <param name="timeout" value="10"/> -->
|
||||
|
||||
<!-- optional: use a custom CA certificate in PEM format to verify the peer
|
||||
with. This is useful if you are acting as your own certificate authority.
|
||||
note: only makes sense if used in combination with "enable-cacert-check." -->
|
||||
<!-- <param name="ssl-cacert-file" value="$${base_dir}/conf/certs/cacert.pem"/> -->
|
||||
|
||||
<!-- optional: specify the SSL version to force HTTPS to use. Valid options are
|
||||
"SSLv3" and "TLSv1". Otherwise libcurl will auto-negotiate the version. -->
|
||||
<!-- <param name="ssl-version" value="TLSv1"/> -->
|
||||
|
||||
<!-- optional: enables cookies and stores them in the specified file. -->
|
||||
<!-- <param name="cookie-file" value="/tmp/cookie-mod_xml_curl.txt"/> -->
|
||||
|
||||
<!-- 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>
|
||||
@@ -1,10 +0,0 @@
|
||||
<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>
|
||||
@@ -1,6 +0,0 @@
|
||||
<configuration name="zeroconf.conf" description="Zeroconf Event Handler">
|
||||
<settings>
|
||||
<param name="publish" value="yes"/>
|
||||
<param name="browse" value="_sip._udp"/>
|
||||
</settings>
|
||||
</configuration>
|
||||
@@ -1,18 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<include>
|
||||
<context name="default">
|
||||
<extension name="demo">
|
||||
<condition field="to" expression="^(.*)$">
|
||||
<!-- <action application="lua" data="test.lua"/> -->
|
||||
<!-- <action application="reply" data="Hello, you said: ${_body}"/> -->
|
||||
</condition>
|
||||
</extension>
|
||||
</context>
|
||||
<context name="public">
|
||||
<extension name="demo">
|
||||
<condition field="to" expression="^(.*)$">
|
||||
<!-- <action application="lua" data="app.lua sms outbound"/> -->
|
||||
</condition>
|
||||
</extension>
|
||||
</context>
|
||||
</include>
|
||||
@@ -1,21 +0,0 @@
|
||||
[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)
|
||||
|
||||
|
||||
@@ -1,69 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<!--
|
||||
NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE
|
||||
|
||||
This is the FreeSWITCH default config. Everything you see before you now traverses
|
||||
down into all the directories including files which include more files. The default
|
||||
config comes out of the box already working in most situations as a PBX. This will
|
||||
allow you to get started testing and playing with various things in FreeSWITCH.
|
||||
|
||||
Before you start to modify this default please visit this wiki page:
|
||||
|
||||
http://wiki.freeswitch.org/wiki/Getting_Started_Guide#Some_stuff_to_try_out.21
|
||||
|
||||
If all else fails you can read our FAQ located at:
|
||||
|
||||
http://wiki.freeswitch.org/wiki/FreeSwitch_FAQ
|
||||
|
||||
NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE
|
||||
-->
|
||||
<document type="freeswitch/xml">
|
||||
<!--#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.
|
||||
-->
|
||||
<!--#comment
|
||||
vars.xml contains all the #set directives for the preprocessor.
|
||||
-->
|
||||
<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>
|
||||
|
||||
<section name="chatplan" description="Regex/XML Chatplan">
|
||||
<X-PRE-PROCESS cmd="include" data="chatplan/*.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>
|
||||
|
||||
<!-- languages section -->
|
||||
<section name="languages" description="Language Management">
|
||||
<X-PRE-PROCESS cmd="include" data="languages/de/*.xml"/>
|
||||
<X-PRE-PROCESS cmd="include" data="languages/en/*.xml"/>
|
||||
<X-PRE-PROCESS cmd="include" data="languages/es/*.xml"/>
|
||||
<X-PRE-PROCESS cmd="include" data="languages/fr/*.xml"/>
|
||||
<X-PRE-PROCESS cmd="include" data="languages/ru/*.xml"/>
|
||||
<X-PRE-PROCESS cmd="include" data="languages/he/*.xml"/>
|
||||
<X-PRE-PROCESS cmd="include" data="languages/pt/*.xml"/>
|
||||
</section>
|
||||
</document>
|
||||
@@ -1,81 +0,0 @@
|
||||
; !! THIS IS A SAMPLE CONFIGURATION ONLY !!
|
||||
|
||||
; refer to http://wiki.freeswitch.org/wiki/FreeTDM for further documentation
|
||||
|
||||
[general]
|
||||
; whether to launch a thread for CPU usage monitoring
|
||||
cpu_monitor => no
|
||||
|
||||
; How often (in milliseconds) monitor CPU usage
|
||||
cpu_monitoring_interval => 1000
|
||||
|
||||
; At what CPU percentage raise a CPU alarm
|
||||
cpu_set_alarm_threshold => 80
|
||||
|
||||
; At what CPU percentage stop the CPU alarm
|
||||
cpu_reset_alarm_threshold => 70
|
||||
|
||||
; Which action to take when the CPU alarm is raised
|
||||
; it can be warn and/or reject calls
|
||||
; cpu_alarm_action => warn,reject
|
||||
cpu_alarm_action => warn
|
||||
|
||||
; Where to dump DTMF debug files (see per span debugdtmf=yes option)
|
||||
debugdtmf_directory=/full/path/to/dtmf/directory
|
||||
|
||||
; spans are defined with [span <span type> <span name>]
|
||||
; the span type can either be zt, wanpipe or pika
|
||||
; the span name can be any unique string
|
||||
[span wanpipe myWanpipe]
|
||||
|
||||
; valid trunk types are: FXO, FXS, EM, E1, T1, J1, BRI, BRI_PTMP
|
||||
trunk_type => FXS
|
||||
|
||||
; add FXS channels from 3 to 4 at wanpipe span 1 to this freetdm span
|
||||
fxs-channel => 1:3-4
|
||||
|
||||
; IO stats. Defaults to yes, you can print the stats with ftdm iostats print <span> <chan>
|
||||
; This feature depends on the span IO type, currently only Wanpipe spans support it
|
||||
; This may cause a warning to be printed once in a while if audio is not provided fast enough
|
||||
; and causes the driver to transmit an idle frame (when there is no data provided by the application)
|
||||
iostats => yes
|
||||
|
||||
[span wanpipe myWanpipe2]
|
||||
trunk_type => FXO
|
||||
; This number will be used as DNIS for FXO devices
|
||||
fxo-channel => 1:1-2
|
||||
|
||||
[span zt myZaptelSpan]
|
||||
number => 9999
|
||||
fxs-channel => 1
|
||||
|
||||
[span zt mySecondZaptelSpan]
|
||||
; This number will be used as DNIS for FXO devices
|
||||
number => 2
|
||||
fxo-channel => 3
|
||||
|
||||
; MFC-R2 typical span configuration
|
||||
|
||||
; MFC-R2 with wanpipe (Sangoma)
|
||||
[span wanpipe myWanpipeSpan]
|
||||
trunk_type => E1
|
||||
cas-channel => 1-15:1101
|
||||
cas-channel => 17-31:1101
|
||||
|
||||
; MFC-R2 with Zaptel/DAHDI
|
||||
[span zt myWanpipeSpan]
|
||||
trunk_type => E1
|
||||
cas-channel => 1-15:1101
|
||||
cas-channel => 17-31:1101
|
||||
|
||||
; generic channel parameters
|
||||
; this parameters are accepted by any type of span/channel
|
||||
; remember that for generic channel parameters only channels
|
||||
; below the parameter within the span will be affected
|
||||
|
||||
; Channel audio gain
|
||||
; rxgain => 0.0
|
||||
; txgain => 0.0
|
||||
|
||||
; Whether to perform media dumps for DTMF debugging
|
||||
; debugdtmf => yes
|
||||
@@ -1,83 +0,0 @@
|
||||
%(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)
|
||||
@@ -1,64 +0,0 @@
|
||||
<include>
|
||||
<!-- 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"
|
||||
confirm-macro=""
|
||||
confirm-key=""
|
||||
tts-engine="flite"
|
||||
tts-voice="rms"
|
||||
confirm-attempts="3"
|
||||
timeout="10000"
|
||||
inter-digit-timeout="2000"
|
||||
max-failures="3"
|
||||
max-timeouts="3"
|
||||
digit-len="4">
|
||||
|
||||
<!-- The following are the definitions for the digits the user dials -->
|
||||
<!-- Digit 1 transfer caller to the public FreeSWITCH conference -->
|
||||
<entry action="menu-exec-app" digits="1" param="bridge sofia/$${domain}/888@conference.freeswitch.org"/>
|
||||
<entry action="menu-exec-app" digits="2" param="transfer 9196 XML default"/> <!-- FS echo -->
|
||||
<entry action="menu-exec-app" digits="3" param="transfer 9664 XML default"/> <!-- MOH -->
|
||||
<entry action="menu-exec-app" digits="4" param="transfer 9191 XML default"/> <!-- ClueCon -->
|
||||
<entry action="menu-exec-app" digits="5" param="transfer 1234*256 enum"/> <!-- Screaming monkeys -->
|
||||
<entry action="menu-sub" digits="6" param="demo_ivr_submenu"/> <!-- demo sub menu -->
|
||||
<!-- Using a regex in the digits tag lets you define a dial pattern for the caller
|
||||
You may define multiple regexes if you need a different pattern for some reason -->
|
||||
<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">
|
||||
|
||||
<!-- The demo IVR sub menu prompt basically just says, "press star to return to previous menu..." -->
|
||||
<entry action="menu-top" digits="*"/>
|
||||
</menu>
|
||||
|
||||
|
||||
<!-- 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-play-sound" digits="1" param="say:You pressed 1"/>
|
||||
<entry action="menu-exec-app" digits="2" param="transfer 1000 XML default"/>
|
||||
<entry action="menu-exec-app" digits="3" param="transfer 1001 XML default"/>
|
||||
</menu>
|
||||
-->
|
||||
</include>
|
||||
@@ -1,32 +0,0 @@
|
||||
<include>
|
||||
<!-- Client Profile (Original mode) -->
|
||||
<!-- to use this profile take the x- away from the open and close tags so its <profile> and </profile> -->
|
||||
<x-profile type="client">
|
||||
<param name="name" value="$${xmpp_client_profile}"/>
|
||||
<param name="login" value="myjid@myserver.com/talk"/>
|
||||
<param name="password" value="mypass"/>
|
||||
<param name="dialplan" value="XML"/>
|
||||
<param name="context" value="public"/>
|
||||
<param name="message" value="Jingle all the way"/>
|
||||
<param name="rtp-ip" value="$${bind_server_ip}"/>
|
||||
<!-- <param name="ext-rtp-ip" value="auto-nat"/> -->
|
||||
<param name="auto-login" value="true"/>
|
||||
<!-- SASL "plain" or "md5" -->
|
||||
<param name="sasl" value="plain"/>
|
||||
<!-- if the server where the jabber is hosted is not the same as the one in the jid -->
|
||||
<!--<param name="server" value="alternate.server.com"/>-->
|
||||
<!-- Enable TLS or not -->
|
||||
<param name="tls" value="true"/>
|
||||
<!-- disable to trade async for more calls -->
|
||||
<param name="use-rtp-timer" value="true"/>
|
||||
<!-- default extension (if one cannot be determined) -->
|
||||
<param name="exten" value="888"/>
|
||||
<!-- VAD choose one -->
|
||||
<!-- <param name="vad" value="in"/> -->
|
||||
<!-- <param name="vad" value="out"/> -->
|
||||
<!--<param name="vad" value="both"/>-->
|
||||
<!--<param name="avatar" value="/path/to/tiny.jpg"/>-->
|
||||
<!--<param name="candidate-acl" value="wan.auto"/>-->
|
||||
<param name="local-network-acl" value="localnet.auto"/>
|
||||
</x-profile>
|
||||
</include>
|
||||
@@ -1,21 +0,0 @@
|
||||
<include>
|
||||
<!-- Component (Server to Server Login) -->
|
||||
<!-- to use this profile take the x- away from the open and close tags so its <profile> and </profile> -->
|
||||
<x-profile type="component">
|
||||
<param name="name" value="$${xmpp_server_profile}"/>
|
||||
<param name="password" value="secret"/>
|
||||
<param name="dialplan" value="XML"/>
|
||||
<param name="context" value="public"/>
|
||||
<param name="rtp-ip" value="$${bind_server_ip}"/>
|
||||
<param name="server" value="jabber.server.org:5347"/>
|
||||
<!-- disable to trade async for more calls -->
|
||||
<param name="use-rtp-timer" value="true"/>
|
||||
<!-- "_auto_" means the extension will be automaticly set to the called jid -->
|
||||
<param name="exten" value="_auto_"/>
|
||||
<!--<param name="vad" value="both"/>-->
|
||||
<!--<param name="avatar" value="/path/to/tiny.jpg"/>-->
|
||||
<!--If you have ODBC support and a working dsn you can use it instead of SQLite-->
|
||||
<!--<param name="odbc-dsn" value="dsn:user:pass"/>-->
|
||||
<!--<param name="candidate-acl" value="wan.auto"/>-->
|
||||
</x-profile>
|
||||
</include>
|
||||
@@ -1,14 +0,0 @@
|
||||
<include>
|
||||
<language name="ar" say-module="ar" sound-prefix="$${sounds_dir}/ar/ar/callie" tts-engine="cepstral" tts-voice="callie">
|
||||
<phrases>
|
||||
<macros>
|
||||
<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/*.xml"/> <!-- vm/tts.xml if you want to use tts and have cepstral -->
|
||||
<X-PRE-PROCESS cmd="include" data="dir/sounds.xml"/> <!-- dir/tts.xml if you want to use tts and have cepstral -->
|
||||
<X-PRE-PROCESS cmd="include" data="ivr/*.xml"/> <!-- IVR and custom phrases go here -->
|
||||
<X-PRE-PROCESS cmd="include" data="vm/voicemail_ivr.xml"/>
|
||||
</macros>
|
||||
</phrases>
|
||||
</language>
|
||||
</include>
|
||||
@@ -1,145 +0,0 @@
|
||||
<include>
|
||||
|
||||
<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" pause="100"> <!-- 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="play-file" data="ivr/ivr-this_ivr_will_let_you_test_features.wav"/>
|
||||
<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 -->
|
||||
|
||||
<!-- Menu option 1: Call FreeSWITCH conference-->
|
||||
<action function="play-file" data="ivr/ivr-enter_ext_pound.wav"/>
|
||||
<action function="play-file" data="silence_stream://1500"/>
|
||||
<action function="play-file" data="ivr/ivr-to_call_the_freeswitch_conference.wav"/>
|
||||
<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"/>
|
||||
|
||||
<!-- Menu option 2: Do FreeSWITCH echo test -->
|
||||
<action function="play-file" data="ivr/ivr-to_do_a_freeswitch_echo_test.wav"/>
|
||||
<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"/>
|
||||
|
||||
<!-- Menu option 3: Listen to Music on Hold -->
|
||||
<action function="play-file" data="ivr/ivr-to_listen_to_moh.wav"/>
|
||||
<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"/>
|
||||
|
||||
<!-- Menu option 4: Register for ClueCon -->
|
||||
<action function="play-file" data="ivr/ivr-register_for_cluecon.wav"/>
|
||||
<action function="play-file" data="digits/4.wav"/>
|
||||
|
||||
<!-- Menu option 5: Listen to screaming monkeys -->
|
||||
<action function="play-file" data="ivr/ivr-to_hear_screaming_monkeys.wav"/>
|
||||
<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"/>
|
||||
|
||||
<!-- Menu option 6: Hear a sample submenu -->
|
||||
<action function="play-file" data="ivr/ivr-to_hear_sample_submenu.wav"/>
|
||||
<action function="play-file" data="ivr/ivr-please.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="play-file" data="digits/6.wav"/>
|
||||
|
||||
<!-- Menu option 9: Repeat these options -->
|
||||
<action function="play-file" data="ivr/ivr-to_repeat_these_options.wav"/>
|
||||
<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="play-file" data="silence_stream://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" pause="100">
|
||||
<input pattern="(.*)">
|
||||
<match>
|
||||
<!-- Menu option 1: Call FreeSWITCH conference-->
|
||||
<action function="play-file" data="silence_stream://1000"/>
|
||||
<action function="play-file" data="ivr/ivr-to_call_the_freeswitch_conference.wav"/>
|
||||
<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"/>
|
||||
|
||||
<!-- Menu option 2: Do FreeSWITCH echo test -->
|
||||
<action function="play-file" data="ivr/ivr-to_do_a_freeswitch_echo_test.wav"/>
|
||||
<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"/>
|
||||
|
||||
<!-- Menu option 3: Listen to Music on Hold -->
|
||||
<action function="play-file" data="ivr/ivr-to_listen_to_moh.wav"/>
|
||||
<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"/>
|
||||
|
||||
<!-- Menu option 4: Hear a sample submenu -->
|
||||
<action function="play-file" data="ivr/ivr-to_hear_sample_submenu.wav"/>
|
||||
<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"/>
|
||||
|
||||
<!-- Menu option 5: Listen to screaming monkeys -->
|
||||
<action function="play-file" data="ivr/ivr-to_hear_screaming_monkeys.wav"/>
|
||||
<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"/>
|
||||
|
||||
<!-- Menu option 9: Repeat these options -->
|
||||
<action function="play-file" data="ivr/ivr-to_repeat_these_options.wav"/>
|
||||
<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="play-file" data="silence_stream://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="play-file" data="ivr/ivr-sample_submenu.wav"/>
|
||||
|
||||
<!-- Menu option *: Return to top menu -->
|
||||
<action function="play-file" data="ivr/ivr-to_return_to_previous_menu.wav"/>
|
||||
<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"/>
|
||||
|
||||
</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="play-file" data="ivr/ivr-please.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="play-file" data="digits/star.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
</include>
|
||||
@@ -1,71 +0,0 @@
|
||||
<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>
|
||||
@@ -1,119 +0,0 @@
|
||||
<include>
|
||||
|
||||
<macro name="directory_intro">
|
||||
<input pattern="^(last_name)" break_on_match="false">
|
||||
<match>
|
||||
<action function="play-file" data="directory/dir-enter_person.wav"/>
|
||||
<action function="play-file" data="directory/dir-last_name.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
<input pattern="^(first_name)" break_on_match="false">
|
||||
<match>
|
||||
<action function="play-file" data="directory/dir-enter_person.wav"/>
|
||||
<action function="play-file" data="directory/dir-first_name.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
<input pattern="^(last_name):([0-9#*])$" break_on_match="false">
|
||||
<match>
|
||||
<action function="play-file" data="directory/dir-to_search_by.wav"/>
|
||||
<action function="play-file" data="directory/dir-first_name.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="say" data="$2" method="pronounced" type="name_spelled"/>
|
||||
</match>
|
||||
</input>
|
||||
<input pattern="^(first_name):([0-9#*])$" break_on_match="false">
|
||||
<match>
|
||||
<action function="play-file" data="directory/dir-to_search_by.wav"/>
|
||||
<action function="play-file" data="directory/dir-last_name.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="directory_min_search_digits">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="play-file" data="directory/dir-specify_mininum.wav"/>
|
||||
<action function="say" data="$1" method="pronounced" type="items"/>
|
||||
<action function="play-file" data="directory/dir-letters_of_person_name.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="directory_result_count">
|
||||
<input pattern="^0$" break_on_match="true">
|
||||
<match>
|
||||
<action function="play-file" data="directory/dir-no_matching_results.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="say" data="$1" method="pronounced" type="items"/>
|
||||
<action function="play-file" data="directory/dir-result_match.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="directory_result_count_too_large">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="play-file" data="directory/dir-too_many_result.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="directory_result_last">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="play-file" data="directory/dir-no_more_results.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="directory_result_item">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="play-file" data="directory/dir-result_number.wav"/>
|
||||
<action function="say" data="$1" method="pronounced" type="items"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="directory_result_at">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="play-file" data="directory/dir-at_extension.wav"/>
|
||||
<action function="say" data="$1" method="pronounced" type="name_spelled"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="directory_result_menu">
|
||||
<input pattern="^([0-9#*]),([0-9#*]),([0-9#*]),([0-9#*])$">
|
||||
<match>
|
||||
<action function="play-file" data="directory/dir-to_select_entry.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="directory/dir-for_next.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="directory/dir-for_prev.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="directory/dir-start_new_search.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="say" data="$4" method="pronounced" type="name_spelled"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="directory_result_say_name">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="say" data="$1" method="pronounced" type="name_spelled"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
</include>
|
||||
@@ -1,95 +0,0 @@
|
||||
<include>
|
||||
|
||||
<macro name="directory_intro">
|
||||
<input pattern="^(last_name)" break_on_match="false">
|
||||
<match>
|
||||
<action function="speak-text" data="Please enter the first few digit of the person last name"/>
|
||||
</match>
|
||||
</input>
|
||||
<input pattern="^(first_name)" break_on_match="false">
|
||||
<match>
|
||||
<action function="speak-text" data="Please enter the first few digit of the person first name"/>
|
||||
</match>
|
||||
</input>
|
||||
<input pattern="^(last_name):([0-9#*])$" break_on_match="false">
|
||||
<match>
|
||||
<action function="speak-text" data="to search by first name, press $2"/>
|
||||
</match>
|
||||
</input>
|
||||
<input pattern="^(first_name):([0-9#*])$" break_on_match="false">
|
||||
<match>
|
||||
<action function="speak-text" data="to search by last name, press $2"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="directory_min_search_digits">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="speak-text" data="You need to specify a minimum the first $1 letters of the person name, try again."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="directory_result_count">
|
||||
<input pattern="^0$" break_on_match="true">
|
||||
<match>
|
||||
<action function="speak-text" data="Your search match no user on this system, try again."/>
|
||||
</match>
|
||||
</input>
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="speak-text" data="$1 result match your search"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="directory_result_count_too_large">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="speak-text" data="Your search returned too many result, please try again"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="directory_result_last">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="speak-text" data="No more result"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="directory_result_item">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="speak-text" data="Result number $1"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="directory_result_menu">
|
||||
<input pattern="^([0-9#*]),([0-9#*]),([0-9#*]),([0-9#*])$">
|
||||
<match>
|
||||
<action function="speak-text" data="To select this entry press $1, for the next entry press $2, for the previous entry press $3, to make a new search press $4"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="directory_result_at">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="speak-text" data="at extension $1"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="directory_result_say_name">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="speak-text" data="$1"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
</include>
|
||||
@@ -1,16 +0,0 @@
|
||||
<include>
|
||||
<macro name="pin_number_start">
|
||||
<input>
|
||||
<match>
|
||||
<action function="play-file" data="voicemail/vm-continue.wav" />
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
<macro name="pin_number_enter_extension">
|
||||
<input>
|
||||
<match>
|
||||
<action function="play-file" data="ivr/ivr-please_enter_extension_followed_by_pound.wav" />
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
</include>
|
||||
@@ -1,142 +0,0 @@
|
||||
<include>
|
||||
<macro name="queue_position">
|
||||
<input pattern="^(\d+)$">
|
||||
<match>
|
||||
<action function="play-file" data="ivr/ivr-you_are_number.wav"/>
|
||||
<action function="say" data="$1" method="pronounced" type="items"/>
|
||||
<action function="play-file" data="ivr/ivr-in_line.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="has_called_conf">
|
||||
<input pattern="^(\d+)$">
|
||||
<match>
|
||||
<action function="play-file" data="$1"/>
|
||||
<action function="sleep" data="100"/>
|
||||
<action function="play-file" data="conference/conf-has_joined.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="has_left_conf">
|
||||
<input pattern="^(\d+)$">
|
||||
<match>
|
||||
<action function="play-file" data="$1"/>
|
||||
<action function="sleep" data="100"/>
|
||||
<action function="play-file" data="conference/conf-has_left.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="callers_in_conf">
|
||||
<input pattern="^1$" break_on_match="true">
|
||||
<match>
|
||||
<action function="sleep" data="500"/>
|
||||
<!--<action function="play-file" data="ivr/ivr-there_is.wav"/>-->
|
||||
<action function="play-file" data="digits/1.wav"/>
|
||||
<action function="sleep" data="100"/>
|
||||
<action function="play-file" data="conference/conf-listener_in_conference.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
<input pattern="^(\d+)$">
|
||||
<match>
|
||||
<action function="sleep" data="500"/>
|
||||
<action function="play-file" data="ivr/ivr-there_are.wav"/>
|
||||
<action function="say" data="$1" method="pronounced" type="items"/>
|
||||
<action function="sleep" data="100"/>
|
||||
<action function="play-file" data="conference/conf-members_in_conference.wav"/>
|
||||
</match>
|
||||
<nomatch>
|
||||
<action function="sleep" data="500"/>
|
||||
<action function="play-file" data="ivr/ivr-there_are.wav"/>
|
||||
<action function="play-file" data="digits/0.wav"/>
|
||||
<action function="sleep" data="100"/>
|
||||
<action function="play-file" data="conference/conf-members_in_conference.wav"/>
|
||||
</nomatch>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="enter_dest_number">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="sleep" data="1000"/>
|
||||
<action function="play-file" data="ivr/ivr-enter_destination_telephone_number.wav"/>
|
||||
<action function="sleep" data="1000"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="enter_src_number">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="sleep" data="1000"/>
|
||||
<action function="play-file" data="ivr/ivr-enter_source_telephone_number.wav"/>
|
||||
<action function="sleep" data="1000"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="call_forward_set">
|
||||
<input pattern="^(\d+):(\d+)$">
|
||||
<match>
|
||||
<action function="sleep" data="1000"/>
|
||||
<action function="play-file" data="ivr/ivr-extension_number.wav"/>
|
||||
<action function="sleep" data="400"/>
|
||||
<action function="say" data="$1" method="iterated" type="number"/>
|
||||
<action function="sleep" data="400"/>
|
||||
<action function="play-file" data="digits/2.wav"/>
|
||||
<action function="sleep" data="1000"/>
|
||||
<action function="play-file" data="ivr/ivr-extension_number.wav"/>
|
||||
<action function="sleep" data="400"/>
|
||||
<action function="say" data="$2" method="iterated" type="number"/>
|
||||
<action function="sleep" data="1000"/>
|
||||
<action function="play-file" data="ivr/ivr-call_forwarding_has_been_set.wav"/>
|
||||
<action function="sleep" data="1500"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="call_forward_cancel">
|
||||
<input pattern="^(\d+)$">
|
||||
<match>
|
||||
<action function="sleep" data="1000"/>
|
||||
<action function="play-file" data="ivr/ivr-extension_number.wav"/>
|
||||
<action function="sleep" data="400"/>
|
||||
<action function="say" data="$1" method="iterated" type="number"/>
|
||||
<action function="play-file" data="ivr/ivr-call_forwarding_has_been_cancelled.wav"/>
|
||||
<action function="sleep" data="1500"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="screen_confirm">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="sleep" data="500"/>
|
||||
<action function="play-file" data="ivr/ivr-call_from.wav"/>
|
||||
<action function="sleep" data="250"/>
|
||||
<!-- Note, be sure to pass in the full path to the file or else!! -->
|
||||
<action function="play-file" data="$1"/>
|
||||
<action function="sleep" data="500"/>
|
||||
<action function="play-file" data="ivr/ivr-to_accept_press_one.wav"/>
|
||||
<action function="sleep" data="500"/>
|
||||
<action function="play-file" data="ivr/ivr-to_reject.wav"/>
|
||||
<action function="sleep" data="50"/>
|
||||
<action function="play-file" data="ivr/ivr-hang_up.wav"/>
|
||||
<action function="sleep" data="1500"/>
|
||||
<action function="play-file" data="ivr/ivr-call_from.wav"/>
|
||||
<action function="sleep" data="250"/>
|
||||
<action function="play-file" data="$1"/>
|
||||
<action function="sleep" data="500"/>
|
||||
<action function="play-file" data="ivr/ivr-to_accept_press_one.wav"/>
|
||||
<action function="sleep" data="500"/>
|
||||
<action function="play-file" data="ivr/ivr-to_reject.wav"/>
|
||||
<action function="sleep" data="50"/>
|
||||
<action function="play-file" data="ivr/ivr-hang_up.wav"/>
|
||||
<action function="sleep" data="1500"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
</include>
|
||||
@@ -1,145 +0,0 @@
|
||||
<include>
|
||||
<macro name="wakeup-greeting">
|
||||
<input pattern="(.*)">
|
||||
<match>
|
||||
<!-- To schedule a wakeup call enter a 4 digit number -->
|
||||
<!-- For 6:30 am press 0630. Enter the digits now. -->
|
||||
<action function="execute" data="sleep(1000)"/>
|
||||
<action function="play-file" data="ivr/ivr-request_wakeup_call.wav"/>
|
||||
<!--
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="play-file" data="digits/0.wav"/>
|
||||
<action function="play-file" data="digits/6.wav"/>
|
||||
<action function="play-file" data="digits/3.wav"/>
|
||||
<action function="play-file" data="digits/0.wav"/>
|
||||
|
||||
<action function="execute" data="sleep(750)"/>
|
||||
<action function="play-file" data="ivr/ivr-for.wav"/>
|
||||
<action function="play-file" data="digits/6.wav"/>
|
||||
<action function="play-file" data="digits/30.wav"/>
|
||||
<action function="play-file" data="time/a-m.wav"/>
|
||||
-->
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
<macro name="wakeup-hours">
|
||||
<input pattern="(.*)">
|
||||
<match>
|
||||
<action function="execute" data="sleep(500)"/>
|
||||
<action function="play-file" data="ivr/ivr-please_enter_the.wav"/>
|
||||
<action function="play-file" data="time/hours.wav"/>
|
||||
<!--<action function="play-file" data="misc/followed.wav"/>-->
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
<macro name="wakeup-minutes">
|
||||
<input pattern="(.*)">
|
||||
<match>
|
||||
<action function="execute" data="sleep(500)"/>
|
||||
<action function="play-file" data="ivr/ivr-please_enter_the.wav"/>
|
||||
<action function="play-file" data="time/minutes.wav"/>
|
||||
<!--<action function="play-file" data="misc/followed.wav"/>-->
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
<macro name="wakeup-destination">
|
||||
<input pattern="(.*)">
|
||||
<match>
|
||||
<!-- Enter the number followed by pound -->
|
||||
<action function="execute" data="sleep(1000)"/>
|
||||
<action function="play-file" data="ivr/ivr-please_enter_the.wav"/>
|
||||
<action function="play-file" data="ivr/ivr-number.wav"/>
|
||||
<action function="play-file" data="misc/followed.wav"/>
|
||||
<action function="execute" data="sleep(100)"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
<macro name="wakeup-scheduled">
|
||||
<input pattern="(.*)">
|
||||
<match>
|
||||
<!-- Your wakeup call has been scheduled for 0715 -->
|
||||
<action function="execute" data="sleep(500)"/>
|
||||
<action function="play-file" data="ivr/ivr-requested_wakeup_call_for.wav"/>
|
||||
<action function="execute" data="sleep(100)"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
<macro name="wakeup-accept">
|
||||
<input pattern="(.*)">
|
||||
<match>
|
||||
<!-- To accept press 1 to cancel press 2 -->
|
||||
<action function="execute" data="sleep(500)"/>
|
||||
<action function="play-file" data="ivr/ivr-to_accept_press.wav"/>
|
||||
<action function="play-file" data="digits/1.wav"/>
|
||||
<action function="play-file" data="ivr/ivr-to_reject.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="play-file" data="digits/2.wav"/>
|
||||
<action function="execute" data="sleep(100)"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
<macro name="wakeup-cancel">
|
||||
<input pattern="(.*)">
|
||||
<match>
|
||||
<!-- To cancel the wakeup call press * -->
|
||||
<action function="execute" data="sleep(500)"/>
|
||||
<action function="play-file" data="ivr/ivr-cancel_wakeup_call.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="play-file" data="digits/2.wav"/>
|
||||
<action function="play-file" data="misc/followed.wav"/>
|
||||
<action function="execute" data="sleep(100)"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
<macro name="wakeup-cancelled">
|
||||
<input pattern="(.*)">
|
||||
<match>
|
||||
<!-- wakeup call cancelled -->
|
||||
<action function="execute" data="sleep(500)"/>
|
||||
<action function="play-file" data="ivr/ivr-wakeup_call_cancelled.wav"/>
|
||||
<action function="execute" data="sleep(100)"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
<macro name="wakeup-call">
|
||||
<input pattern="(.*)">
|
||||
<match>
|
||||
<!-- Say the current date and time -->
|
||||
<action function="execute" data="sleep(1000)"/>
|
||||
<action function="play-file" data="ivr/ivr-this_is_your_wakeup_call.wav"/>
|
||||
<action function="execute" data="sleep(100)"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
<macro name="wakeup-call-exit" enabled="false">
|
||||
<input pattern="(.*)">
|
||||
<match>
|
||||
<!-- This is your wakeup call to exit press 1 for 9 minutes press 2 -->
|
||||
<action function="execute" data="sleep(500)"/>
|
||||
<action function="play-file" data="ivr/ivr-this_is_your_wakeup_call.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-to_exit.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="play-file" data="digits/star.wav"/>
|
||||
<action function="execute" data="sleep(100)"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
<macro name="wakeup-call-snooze" enabled="false">
|
||||
<input pattern="(.*)">
|
||||
<match>
|
||||
<!-- This is your wakeup call to exit press 1 for 10 minutes press 2 -->
|
||||
<action function="execute" data="sleep(1000)"/>
|
||||
<action function="play-file" data="ivr/ivr-this_is_your_wakeup_call.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-to_exit.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="play-file" data="digits/1.wav"/>
|
||||
<action function="play-file" data="ivr/ivr-for.wav"/>
|
||||
<action function="play-file" data="digits/10.wav"/>
|
||||
<action function="play-file" data="time/minutes.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="play-file" data="digits/2.wav"/>
|
||||
<action function="execute" data="sleep(100)"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
</include>
|
||||
@@ -1,430 +0,0 @@
|
||||
<include>
|
||||
|
||||
<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_change_pass_success">
|
||||
<input pattern="(.*)">
|
||||
<match>
|
||||
<action function="play-file" data="ivr/ivr-Thank_you.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_change_pass_fail">
|
||||
<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"/>
|
||||
</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"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_menu">
|
||||
<input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
|
||||
<match>
|
||||
<!-- To listen to new messages -->
|
||||
<action function="play-file" data="voicemail/vm-listen_new.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="say" data="$1" method="pronounced" type="name_spelled"/>
|
||||
<action function="execute" data="sleep(100)"/>
|
||||
|
||||
<!-- To listen to saved messages -->
|
||||
<action function="play-file" data="voicemail/vm-listen_saved.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="say" data="$2" method="pronounced" type="name_spelled"/>
|
||||
<action function="execute" data="sleep(100)"/>
|
||||
|
||||
<!-- For advanced options -->
|
||||
<action function="play-file" data="voicemail/vm-advanced.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="say" data="$3" method="pronounced" type="name_spelled"/>
|
||||
<action function="execute" data="sleep(100)"/>
|
||||
|
||||
<!-- To exit -->
|
||||
<action function="play-file" data="voicemail/vm-to_exit.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="say" data="$4" method="pronounced" type="name_phonetic"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_config_menu">
|
||||
<input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
|
||||
<match>
|
||||
<!-- To record a greeting -->
|
||||
<action function="play-file" data="voicemail/vm-to_record_greeting.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="say" data="$1" method="pronounced" type="name_spelled"/>
|
||||
<action function="execute" data="sleep(100)"/>
|
||||
|
||||
<!-- To choose greeting -->
|
||||
<action function="play-file" data="voicemail/vm-choose_greeting.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="say" data="$2" method="pronounced" type="name_spelled"/>
|
||||
<action function="execute" data="sleep(100)"/>
|
||||
|
||||
<!-- To record your name -->
|
||||
<action function="play-file" data="voicemail/vm-record_name2.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="say" data="$3" method="pronounced" type="name_spelled"/>
|
||||
<action function="execute" data="sleep(100)"/>
|
||||
|
||||
<!-- To change password -->
|
||||
<action function="play-file" data="voicemail/vm-change_password.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="say" data="$4" method="pronounced" type="name_spelled"/>
|
||||
<action function="execute" data="sleep(100)"/>
|
||||
|
||||
<!-- To return to main menu -->
|
||||
<action function="play-file" data="voicemail/vm-main_menu.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="say" data="$5" method="pronounced" type="name_spelled"/>
|
||||
</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>
|
||||
<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-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="^000|^$|^[Aa]non|^[Pp]rivate" break_on_match="true">
|
||||
<match>
|
||||
<!-- add 'anonymous caller' sound here -->
|
||||
</match>
|
||||
</input>
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="play-file" data="ivr/ivr-this_is_a_call_from.wav"/>
|
||||
<action function="execute" data="sleep(100)"/>
|
||||
<action function="say" data="$1" method="pronounced" type="name_spelled"/>
|
||||
<action function="execute" data="sleep(500)"/>
|
||||
</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="short_date_time"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_disk_quota_exceeded">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="play-file" data="voicemail/vm-mailbox_full.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="valet_announce_ext">
|
||||
<input pattern="^([^\:]+):(.*)$">
|
||||
<match>
|
||||
<action function="say" data="$2" method="pronounced" type="name_spelled"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="valet_lot_full">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="play-file" data="tone_stream://%(275,10,600);%(275,100,300)"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="valet_lot_empty">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="play-file" data="tone_stream://%(275,10,600);%(275,100,300)"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
</include>
|
||||
@@ -1,238 +0,0 @@
|
||||
<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>
|
||||
@@ -1,184 +0,0 @@
|
||||
<include>
|
||||
|
||||
<macro name="voicemail_enter_new_pass">
|
||||
<input pattern="(.*)">
|
||||
<match>
|
||||
<action function="play-file" data="voicemail/vm-enter_new_pin.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_password_below_minimum">
|
||||
<input pattern="(.*)">
|
||||
<match>
|
||||
<action function="play-file" data="voicemail/vm-pin_below_minimum_length.wav"/>
|
||||
<action function="execute" data="sleep(300)"/>
|
||||
<action function="play-file" data="voicemail/vm-minimum_pin_length_is.wav"/>
|
||||
<action function="say" data="$1" method="pronounced" type="items"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_password_not_secure">
|
||||
<input pattern="(.*)">
|
||||
<match>
|
||||
<action function="play-file" data="voicemail/vm-password_is_not_secure.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_change_pass_repeat_success">
|
||||
<input pattern="(.*)">
|
||||
<match>
|
||||
<action function="play-file" data="ivr/ivr-you_entered.wav"/>
|
||||
<action function="say" data="$1" method="pronounced" type="name_spelled"/>
|
||||
<action function="execute" data="sleep(500)"/>
|
||||
<action function="play-file" data="voicemail/vm-password_has_been_changed.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<!-- similar to voicemail_listen_file_check in vm/sounds.xml, but maintains previous order -->
|
||||
<macro name="voicemail_listen_file_options">
|
||||
<input pattern="^([0-9#*]):([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-message_envelope.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-return_call.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-delete_recording.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"/>
|
||||
<action function="play-file" data="voicemail/vm-forward_to_email.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="say" data="$7" method="pronounced" type="name_spelled"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<!-- copied from vm/voicemail_ivr.xml, as not functioning there -->
|
||||
<macro name="goodbye">
|
||||
<input>
|
||||
<match>
|
||||
<action function="play-file" data="voicemail/vm-goodbye.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<!-- similar to voicemail_menu in vm/sounds.xml, but divided and simplified -->
|
||||
<macro name="voicemail_main_menu">
|
||||
<input pattern="^new:([0-9#*])$">
|
||||
<match>
|
||||
<!-- To listen to new messages -->
|
||||
<action function="play-file" data="voicemail/vm-listen_new.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="say" data="$1" method="pronounced" type="name_spelled"/>
|
||||
<action function="execute" data="sleep(100)"/>
|
||||
</match>
|
||||
</input>
|
||||
<input pattern="^saved:([0-9#*])$">
|
||||
<match>
|
||||
<!-- To listen to saved messages -->
|
||||
<action function="play-file" data="voicemail/vm-listen_saved.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="say" data="$1" method="pronounced" type="name_spelled"/>
|
||||
<action function="execute" data="sleep(100)"/>
|
||||
</match>
|
||||
</input>
|
||||
<input pattern="^advanced:([0-9#*])$">
|
||||
<match>
|
||||
<!-- For advanced options -->
|
||||
<action function="play-file" data="voicemail/vm-advanced.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="say" data="$1" method="pronounced" type="name_spelled"/>
|
||||
<action function="execute" data="sleep(100)"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<!-- similar to voicemail_record_file_check in vm/sounds.xml, but reorganized -->
|
||||
<macro name="voicemail_record_file_options">
|
||||
<input pattern="^([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-rerecord.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="say" data="$3" method="pronounced" type="name_spelled"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<!-- tutorial introduction -->
|
||||
<macro name="tutorial_intro">
|
||||
<input>
|
||||
<match>
|
||||
<action function="play-file" data="voicemail/vm-tutorial_yes_no.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<!-- tutorial to record name -->
|
||||
<macro name="tutorial_record_name">
|
||||
<input pattern="^([0-9#*])$">
|
||||
<match>
|
||||
<action function="play-file" data="voicemail/vm-tutorial_record_name.wav"/>
|
||||
<action function="execute" data="sleep(1000)"/>
|
||||
<action function="play-file" data="voicemail/vm-record_name2.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="say" data="$1" method="pronounced" type="name_spelled"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<!-- tutorial - skip step -->
|
||||
<macro name="tutorial_skip">
|
||||
<input pattern="^([0-9#*])$">
|
||||
<match>
|
||||
<action function="play-file" data="ivr/ivr-to_skip.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="say" data="$1" method="pronounced" type="name_spelled"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<!-- tutorial to change password -->
|
||||
<macro name="tutorial_change_password">
|
||||
<input pattern="^([0-9#*])$">
|
||||
<match>
|
||||
<action function="play-file" data="voicemail/vm-tutorial_change_pin.wav"/>
|
||||
<action function="execute" data="sleep(1000)"/>
|
||||
<action function="play-file" data="voicemail/vm-change_password.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="say" data="$1" method="pronounced" type="name_spelled"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<!-- tutorial to record greeting -->
|
||||
<macro name="tutorial_record_greeting">
|
||||
<input pattern="^([0-9#*])$">
|
||||
<match>
|
||||
<action function="play-file" data="voicemail/vm-to_record_greeting.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="say" data="$1" method="pronounced" type="name_spelled"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
</include>
|
||||
@@ -1,397 +0,0 @@
|
||||
<include>
|
||||
|
||||
<macros name="voicemail_ivr">
|
||||
<macro name="press_key">
|
||||
<input pattern="^(.*):(.*)$">
|
||||
<match>
|
||||
<action function="play-file" data="$2"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="say" data="$1" method="pronounced" type="name_spelled"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="plurial_msg">
|
||||
<input pattern="^[01]:(.*):(.*)$" break_on_match="true">
|
||||
<match>
|
||||
<action function="play-file" data="$1"/>
|
||||
</match>
|
||||
</input>
|
||||
<input pattern="^.*:(.*):(.*)$" break_on_match="true">
|
||||
<match>
|
||||
<action function="play-file" data="$2"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="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>
|
||||
<nomatch>
|
||||
<action function="play-file" data="voicemail/vm-enter_id.wav"/>
|
||||
<action function="say" data="${VM-Key-Terminator}" method="pronounced" type="name_spelled"/>
|
||||
</nomatch>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="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>
|
||||
<nomatch>
|
||||
<action function="play-file" data="voicemail/vm-enter_pass.wav"/>
|
||||
<action function="say" data="${VM-Key-Terminator}" method="pronounced" type="name_spelled"/>
|
||||
</nomatch>
|
||||
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="fail_auth">
|
||||
<input>
|
||||
<match>
|
||||
<action function="play-file" data="voicemail/vm-fail_auth.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="hello">
|
||||
<input>
|
||||
<match>
|
||||
<!--<action function="play-file" data="voicemail/vm-hello.wav"/> -->
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="goodbye">
|
||||
<input>
|
||||
<match>
|
||||
<action function="play-file" data="voicemail/vm-goodbye.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="abort">
|
||||
<input>
|
||||
<match>
|
||||
<action function="play-file" data="voicemail/vm-abort.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="message_count">
|
||||
<input field="${VM-Total-New-Urgent-Messages}" pattern="^(0)$">
|
||||
<nomatch>
|
||||
<action function="play-file" data="voicemail/vm-you_have.wav"/>
|
||||
<action function="say" data="${VM-Total-New-Urgent-Messages}" method="pronounced" type="items"/>
|
||||
<action function="play-file" data="voicemail/vm-urgent-new.wav"/>
|
||||
<action function="phrase" phrase="plurial_msg@voicemail_ivr" data="${VM-Total-New-Urgent-Messages}:voicemail/vm-message.wav:voicemail/vm-messages.wav"/>
|
||||
</nomatch>
|
||||
</input>
|
||||
<input field="${VM-Total-New-Messages}" pattern="^(\d+)$">
|
||||
<match>
|
||||
<action function="play-file" data="voicemail/vm-you_have.wav"/>
|
||||
<action function="say" data="${VM-Total-New-Messages}" method="pronounced" type="items"/>
|
||||
<action function="play-file" data="voicemail/vm-new.wav"/>
|
||||
<action function="phrase" phrase="plurial_msg@voicemail_ivr" data="${VM-Total-New-Messages}:voicemail/vm-message.wav:voicemail/vm-messages.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
<input field="${VM-Total-Saved-Messages}" pattern="^(0)$">
|
||||
<nomatch>
|
||||
<action function="play-file" data="currency/and.wav"/>
|
||||
<action function="say" data="${VM-Total-Saved-Messages}" method="pronounced" type="items"/>
|
||||
<action function="play-file" data="voicemail/vm-saved.wav"/>
|
||||
<action function="phrase" phrase="plurial_msg@voicemail_ivr" data="${VM-Total-Saved-Messages}:voicemail/vm-message.wav:voicemail/vm-messages.wav"/>
|
||||
</nomatch>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="menu">
|
||||
<input>
|
||||
<match>
|
||||
<action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Play-New-Messages}:voicemail/vm-listen_new.wav"/>
|
||||
<action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Play-Saved-Messages}:voicemail/vm-listen_saved.wav"/>
|
||||
<action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Config-Menu}:voicemail/vm-advanced.wav"/>
|
||||
<action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Terminator}:voicemail/vm-to_exit.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="config_menu">
|
||||
<input>
|
||||
<match>
|
||||
<action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Record-Greeting}:voicemail/vm-to_record_greeting.wav"/>
|
||||
<action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Choose-Greeting}:voicemail/vm-choose_greeting.wav"/>
|
||||
<action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Record-Name}:voicemail/vm-record_name2.wav"/>
|
||||
<action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Change-Password}:voicemail/vm-change_password.wav"/>
|
||||
<action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Main-Menu}:voicemail/vm-main_menu.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="record_name">
|
||||
<input>
|
||||
<match>
|
||||
<action function="play-file" data="voicemail/vm-record_name1.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="forward_ask_prepend">
|
||||
<input>
|
||||
<match>
|
||||
<action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Prepend}:voicemail/vm-forward_add_intro.wav"/>
|
||||
<action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Forward}:voicemail/vm-send_message_now.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="forward_ask_extension">
|
||||
<input>
|
||||
<match>
|
||||
<action function="play-file" data="voicemail/vm-forward_enter_ext.wav"/>
|
||||
<!--<action function="phrase" phrase="play-file" data="voicemail/vm-followed_by.wav"/>-->
|
||||
<!--<action function="say" data="${VM-Key-Terminate}" method="pronounced" type="name_spelled"/>-->
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="record_file_check">
|
||||
<input>
|
||||
<match>
|
||||
<action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Listen-File}:voicemail/vm-listen_to_recording.wav"/>
|
||||
<action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Save-File}:voicemail/vm-save_recording.wav"/>
|
||||
<action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Record-File}:voicemail/vm-rerecord.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="record_urgent_check">
|
||||
<input>
|
||||
<match>
|
||||
<action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Urgent}:voicemail/vm-mark-urgent.wav"/>
|
||||
<action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Terminator}:voicemail/vm-continue.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="forward_prepend">
|
||||
<input>
|
||||
<match>
|
||||
<action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Prepend}:voicemail/vm-forward_add_intro.wav"/>
|
||||
<action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Forward}:voicemail/vm-send_message_now.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="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="invalid_extension">
|
||||
<input>
|
||||
<match>
|
||||
<action function="play-file" data="voicemail/vm-that_was_an_invalid_ext.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="listen_file_check">
|
||||
<input>
|
||||
<match>
|
||||
<!--<action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Main-Next-Msg}:voicemail/vm-for_next_msg.wav"/>--> <!-- Not existant in callie recordings -->
|
||||
<action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Main-Listen-File}:voicemail/vm-listen_to_recording.wav"/>
|
||||
<action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Main-Save-File}:voicemail/vm-save_recording.wav"/>
|
||||
<action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Main-Delete-File}:voicemail/vm-delete_recording.wav"/>
|
||||
<action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Main-Forward}:voicemail/vm-to_forward.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
<input field="${VM-Message-Email}" pattern="^$">
|
||||
<nomatch>
|
||||
<action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Main-Email}:voicemail/vm-forward_to_email.wav"/>
|
||||
</nomatch>
|
||||
</input>
|
||||
<input>
|
||||
<match>
|
||||
<action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Main-Callback}:voicemail/vm-return_call.wav"/>
|
||||
<action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Main-Forward}:voicemail/vm-to_forward.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="choose_greeting">
|
||||
<input>
|
||||
<match>
|
||||
<action function="play-file" data="voicemail/vm-choose_greeting_choose.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="choose_greeting_fail">
|
||||
<input>
|
||||
<match>
|
||||
<action function="play-file" data="voicemail/vm-choose_greeting_fail.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="record_greeting">
|
||||
<input>
|
||||
<match>
|
||||
<action function="play-file" data="voicemail/vm-record_greeting.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="record_message">
|
||||
<input>
|
||||
<match>
|
||||
<action function="play-file" data="voicemail/vm-record_message.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="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="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="say_number">
|
||||
<input pattern="^(\d+)$">
|
||||
<match>
|
||||
<action function="say" data="$1" method="pronounced" type="items"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="say_message_number">
|
||||
<input>
|
||||
<match>
|
||||
<action function="play-file" data="voicemail/vm-${VM-Message-Type}.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-message_number.wav"/>
|
||||
<action function="say" data="${VM-Message-Number}" method="pronounced" type="items"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="say_phone_number">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="say" data="$1" method="pronounced" type="name_spelled"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="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="ack">
|
||||
<input pattern="^(too-small)$">
|
||||
<match>
|
||||
<action function="play-file" data="voicemail/vm-too-small.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
<input pattern="^(undeleted)$">
|
||||
<match>
|
||||
<action function="play-file" data="voicemail/vm-message.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-$1.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="say_date">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="say" data="$1" method="pronounced" type="short_date_time"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="say_date_event">
|
||||
<input>
|
||||
<match>
|
||||
<action function="say" data="${VM-Message-Received-Epoch}" method="pronounced" type="short_date_time"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="play_message">
|
||||
<input>
|
||||
<match>
|
||||
<action function="play-file" data="${VM-Message-File-Path}"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="play_recording">
|
||||
<input>
|
||||
<match>
|
||||
<action function="play-file" data="${VM-Record-File-Path}"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="disk_quota_exceeded">
|
||||
<input>
|
||||
<match>
|
||||
<action function="play-file" data="voicemail/vm-mailbox_full.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
</macros>
|
||||
|
||||
</include>
|
||||
@@ -1,14 +0,0 @@
|
||||
<include>
|
||||
<language name="de" say-module="de" sound-prefix="$${sounds_dir}/de/de/callie" tts-engine="cepstral" tts-voice="david">
|
||||
<phrases>
|
||||
<macros>
|
||||
<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/*.xml"/> <!-- vm/tts.xml if you want to use tts and have cepstral -->
|
||||
<X-PRE-PROCESS cmd="include" data="dir/sounds.xml"/> <!-- dir/tts.xml if you want to use tts and have cepstral -->
|
||||
<X-PRE-PROCESS cmd="include" data="ivr/*.xml"/> <!-- IVR and custom phrases go here -->
|
||||
<X-PRE-PROCESS cmd="include" data="vm/voicemail_ivr.xml"/>
|
||||
</macros>
|
||||
</phrases>
|
||||
</language>
|
||||
</include>
|
||||
@@ -1,145 +0,0 @@
|
||||
<include>
|
||||
|
||||
<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" pause="100"> <!-- 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="play-file" data="ivr/ivr-this_ivr_will_let_you_test_features.wav"/>
|
||||
<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 -->
|
||||
|
||||
<!-- Menu option 1: Call FreeSWITCH conference-->
|
||||
<action function="play-file" data="ivr/ivr-enter_ext_pound.wav"/>
|
||||
<action function="play-file" data="silence_stream://1500"/>
|
||||
<action function="play-file" data="ivr/ivr-to_call_the_freeswitch_conference.wav"/>
|
||||
<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"/>
|
||||
|
||||
<!-- Menu option 2: Do FreeSWITCH echo test -->
|
||||
<action function="play-file" data="ivr/ivr-to_do_a_freeswitch_echo_test.wav"/>
|
||||
<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"/>
|
||||
|
||||
<!-- Menu option 3: Listen to Music on Hold -->
|
||||
<action function="play-file" data="ivr/ivr-to_listen_to_moh.wav"/>
|
||||
<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"/>
|
||||
|
||||
<!-- Menu option 4: Register for ClueCon -->
|
||||
<action function="play-file" data="ivr/ivr-register_for_cluecon.wav"/>
|
||||
<action function="play-file" data="digits/4.wav"/>
|
||||
|
||||
<!-- Menu option 5: Listen to screaming monkeys -->
|
||||
<action function="play-file" data="ivr/ivr-to_hear_screaming_monkeys.wav"/>
|
||||
<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"/>
|
||||
|
||||
<!-- Menu option 6: Hear a sample submenu -->
|
||||
<action function="play-file" data="ivr/ivr-to_hear_sample_submenu.wav"/>
|
||||
<action function="play-file" data="ivr/ivr-please.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="play-file" data="digits/6.wav"/>
|
||||
|
||||
<!-- Menu option 9: Repeat these options -->
|
||||
<action function="play-file" data="ivr/ivr-to_repeat_these_options.wav"/>
|
||||
<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="play-file" data="silence_stream://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" pause="100">
|
||||
<input pattern="(.*)">
|
||||
<match>
|
||||
<!-- Menu option 1: Call FreeSWITCH conference-->
|
||||
<action function="play-file" data="silence_stream://1000"/>
|
||||
<action function="play-file" data="ivr/ivr-to_call_the_freeswitch_conference.wav"/>
|
||||
<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"/>
|
||||
|
||||
<!-- Menu option 2: Do FreeSWITCH echo test -->
|
||||
<action function="play-file" data="ivr/ivr-to_do_a_freeswitch_echo_test.wav"/>
|
||||
<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"/>
|
||||
|
||||
<!-- Menu option 3: Listen to Music on Hold -->
|
||||
<action function="play-file" data="ivr/ivr-to_listen_to_moh.wav"/>
|
||||
<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"/>
|
||||
|
||||
<!-- Menu option 4: Hear a sample submenu -->
|
||||
<action function="play-file" data="ivr/ivr-to_hear_sample_submenu.wav"/>
|
||||
<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"/>
|
||||
|
||||
<!-- Menu option 5: Listen to screaming monkeys -->
|
||||
<action function="play-file" data="ivr/ivr-to_hear_screaming_monkeys.wav"/>
|
||||
<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"/>
|
||||
|
||||
<!-- Menu option 9: Repeat these options -->
|
||||
<action function="play-file" data="ivr/ivr-to_repeat_these_options.wav"/>
|
||||
<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="play-file" data="silence_stream://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="play-file" data="ivr/ivr-sample_submenu.wav"/>
|
||||
|
||||
<!-- Menu option *: Return to top menu -->
|
||||
<action function="play-file" data="ivr/ivr-to_return_to_previous_menu.wav"/>
|
||||
<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"/>
|
||||
|
||||
</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="play-file" data="ivr/ivr-please.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="play-file" data="digits/star.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
</include>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user