mirror of https://gerrit.osmocom.org/osmo-dev
add freeswitch
Change-Id: If948de9e9e7e288b0a031ab973f453cd91a9e99b
This commit is contained in:
parent
87dae195e3
commit
667f19b199
|
@ -110,6 +110,11 @@ SIPCON_LOCAL="${TO_SIP_IP}"
|
|||
SIPCON_LOCAL_PORT="5060"
|
||||
SIPCON_REMOTE="127.0.0.1"
|
||||
SIPCON_REMOTE_PORT="5069"
|
||||
# SIPCON_SERVER:
|
||||
# "kamailio" -- launch kamailio
|
||||
# "freeswitch" -- launch freeswitch
|
||||
# "none" -- launch no server, use remotely running SIP server
|
||||
SIPCON_SERVER="kamailio"
|
||||
|
||||
LOG_OUTPUT0_TYPE=stderr
|
||||
LOG_OUTPUT1_TYPE=file current_log/${_name}.log
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
*
|
||||
!*/
|
||||
!.gitignore
|
||||
!conf/**
|
||||
!python/**
|
||||
!/freeswitch.sh
|
||||
__pycache__
|
|
@ -0,0 +1,5 @@
|
|||
<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>
|
|
@ -0,0 +1,31 @@
|
|||
<configuration name="acl.conf" description="Network Lists">
|
||||
<network-lists>
|
||||
<!--
|
||||
These ACL's are automatically created on startup.
|
||||
|
||||
rfc1918.auto - RFC1918 Space
|
||||
nat.auto - RFC1918 Excluding your local lan.
|
||||
localnet.auto - ACL for your local lan.
|
||||
loopback.auto - ACL for your local lan.
|
||||
-->
|
||||
|
||||
<list name="lan" default="allow">
|
||||
<node type="deny" cidr="192.168.42.0/24"/>
|
||||
</list>
|
||||
|
||||
<!--
|
||||
This will traverse the directory adding all users
|
||||
with the cidr= tag to this ACL, when this ACL matches
|
||||
the users variables and params apply as if they
|
||||
digest authenticated.
|
||||
-->
|
||||
<list name="domains" default="deny">
|
||||
<!-- domain= is special it scans the domain from the directory to build the ACL -->
|
||||
<node type="allow" domain="$${domain}"/>
|
||||
<!-- use cidr= if you wish to allow ip ranges to this domains acl. -->
|
||||
<!-- <node type="allow" cidr="192.168.0.0/24"/> -->
|
||||
<node type="allow" cidr="127.0.0.2/32"/> <!-- FIXME: ${SIPCON_LOCAL} -->
|
||||
</list>
|
||||
|
||||
</network-lists>
|
||||
</configuration>
|
|
@ -0,0 +1,12 @@
|
|||
<configuration name="alsa.conf" description="Soundcard Endpoint">
|
||||
<settings>
|
||||
<!--Default dialplan and caller-id info -->
|
||||
<param name="dialplan" value="XML"/>
|
||||
<param name="cid-name" value="N800 Alsa"/>
|
||||
<param name="cid-num" value="5555551212"/>
|
||||
|
||||
<!--audio sample rate and interval -->
|
||||
<param name="sample-rate" value="8000"/>
|
||||
<param name="codec-ms" value="20"/>
|
||||
</settings>
|
||||
</configuration>
|
|
@ -0,0 +1,18 @@
|
|||
<configuration name="amr.conf" description="mod_amr configuration">
|
||||
|
||||
<settings name="default">
|
||||
<!-- AMR mode set (see RFC 4867) -->
|
||||
<!-- param name="mode-set" value="0,1,2,3,4,5,6,7" /-->
|
||||
<param name="mode-set" value="4" />
|
||||
|
||||
<!-- enable octet alignment -->
|
||||
<param name="octet-align" value="1"/>
|
||||
|
||||
<!-- rhizomatica custom param: force OA mode always for osmo-bts -->
|
||||
<param name="force-oa" value="1"/>
|
||||
|
||||
<!-- enable discontinuous transmission -->
|
||||
<param name="dtx" value="false"/>
|
||||
<param name="default-bitrate" value="4"/>
|
||||
</settings>
|
||||
</configuration>
|
|
@ -0,0 +1,11 @@
|
|||
<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>
|
|
@ -0,0 +1,38 @@
|
|||
<configuration name="callcenter.conf" description="CallCenter">
|
||||
<settings>
|
||||
<!--<param name="odbc-dsn" value="dsn:user:pass"/>-->
|
||||
<!--<param name="dbname" value="/dev/shm/callcenter.db"/>-->
|
||||
</settings>
|
||||
|
||||
<queues>
|
||||
|
||||
<queue name="support@default">
|
||||
<param name="strategy" value="longest-idle-agent"/>
|
||||
<param name="moh-sound" value="$${hold_music}"/>
|
||||
<!--<param name="record-template" value="$${base_dir}/recordings/${strftime(%Y-%m-%d-%H-%M-%S)}.${destination_number}.${caller_id_number}.${uuid}.wav"/>-->
|
||||
<param name="time-base-score" value="system"/>
|
||||
<param name="max-wait-time" value="0"/>
|
||||
<param name="max-wait-time-with-no-agent" value="0"/>
|
||||
<param name="max-wait-time-with-no-agent-time-reached" value="5"/>
|
||||
<param name="tier-rules-apply" value="false"/>
|
||||
<param name="tier-rule-wait-second" value="300"/>
|
||||
<param name="tier-rule-wait-multiply-level" value="true"/>
|
||||
<param name="tier-rule-no-agent-no-wait" value="false"/>
|
||||
<param name="discard-abandoned-after" value="60"/>
|
||||
<param name="abandoned-resume-allowed" value="false"/>
|
||||
</queue>
|
||||
|
||||
</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>
|
||||
<!--<agent name="1000@default" type="callback" contact="[call_timeout=10]user/1000@default" status="Available" max-no-answer="3" wrap-up-time="10" reject-delay-time="10" busy-delay-time="60" />-->
|
||||
</agents>
|
||||
<tiers>
|
||||
<!-- If no level or position is provided, they will default to 1. You should do this to keep db value on restart. -->
|
||||
<!-- <tier agent="1000@default" queue="support@default" level="1" position="1"/> -->
|
||||
</tiers>
|
||||
|
||||
</configuration>
|
|
@ -0,0 +1,13 @@
|
|||
<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>
|
|
@ -0,0 +1,18 @@
|
|||
<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>
|
|
@ -0,0 +1,12 @@
|
|||
<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>
|
|
@ -0,0 +1,33 @@
|
|||
<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="phone:phone:phone"/>
|
||||
|
||||
<!-- comment out sql to not setup a database (directory) lookup -->
|
||||
<param name="sql" value="
|
||||
SELECT name||' ('||type||')' AS name
|
||||
FROM phonebook p JOIN numbers n ON p.id = n.phonebook_id
|
||||
WHERE n.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>
|
|
@ -0,0 +1,213 @@
|
|||
<!-- 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="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/<confernece_uuid>.cdr.xml
|
||||
a non-absolute path means $PREFIX/logs/<value>/<confernece_uuid>.cdr.xml
|
||||
absolute path means <value>/<confernece_uuid>.cdr.xml
|
||||
-->
|
||||
<!-- <param name="cdr-log-dir" value="auto"/> -->
|
||||
|
||||
<!-- Domain (for presence) -->
|
||||
<param name="domain" value="$${domain}"/>
|
||||
<!-- Sample Rate-->
|
||||
<param name="rate" value="8000"/>
|
||||
<!-- Number of milliseconds per frame -->
|
||||
<param name="interval" value="20"/>
|
||||
<!-- Energy level required for audio to be sent to the other users -->
|
||||
<param name="energy-level" value="300"/>
|
||||
|
||||
<!--Can be | delim of waste|mute|deaf|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="some name"/> -->
|
||||
<!-- Name of the caller control group to use for the moderator in this profile -->
|
||||
<!-- <param name="moderator-controls" value="some name"/> -->
|
||||
<!-- TTS Engine to use -->
|
||||
<!--<param name="tts-engine" value="cepstral"/>-->
|
||||
<!-- TTS Voice to use -->
|
||||
<!--<param name="tts-voice" value="david"/>-->
|
||||
|
||||
<!-- If TTS is enabled all audio-file params beginning with -->
|
||||
<!-- 'say:' will be considered text to say with TTS -->
|
||||
<!-- 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="$${hold_music}"/>
|
||||
<!-- File to play when you join the conference -->
|
||||
<param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/>
|
||||
<!-- File to play when you leave the conference -->
|
||||
<param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/>
|
||||
<!-- File to play when you are 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="$${outbound_caller_name}"/>
|
||||
<!-- Default Caller ID Number for outbound calls -->
|
||||
<param name="caller-id-number" value="$${outbound_caller_id}"/>
|
||||
<!-- Suppress start and stop talking events -->
|
||||
<!-- <param name="suppress-events" value="start-talking,stop-talking"/> -->
|
||||
<!-- enable comfort noise generation -->
|
||||
<param name="comfort-noise" value="true"/>
|
||||
<!-- Uncomment auto-record to toggle recording every conference call. -->
|
||||
<!-- Another valid value is shout://user:pass@server.com/live.mp3 -->
|
||||
<!--
|
||||
<param name="auto-record" value="$${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" /> -->
|
||||
<!-- Can be | delim of wait-mod|audio-always|video-bridge|video-floor-only
|
||||
wait_mod will wait until the moderator in,
|
||||
audio-always will always mix audio from all members regardless they are talking or not -->
|
||||
<!-- <param name="conference-flags" value="audio-always"/> -->
|
||||
</profile>
|
||||
|
||||
<profile name="wideband">
|
||||
<param name="domain" value="$${domain}"/>
|
||||
<param name="rate" value="16000"/>
|
||||
<param name="interval" value="20"/>
|
||||
<param name="energy-level" value="300"/>
|
||||
<!--<param name="sound-prefix" value="$${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="$${hold_music}"/>
|
||||
<param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/>
|
||||
<param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/>
|
||||
<param name="kicked-sound" value="conference/conf-kicked.wav"/>
|
||||
<param name="locked-sound" value="conference/conf-locked.wav"/>
|
||||
<param name="is-locked-sound" value="conference/conf-is-locked.wav"/>
|
||||
<param name="is-unlocked-sound" value="conference/conf-is-unlocked.wav"/>
|
||||
<param name="pin-sound" value="conference/conf-pin.wav"/>
|
||||
<param name="bad-pin-sound" value="conference/conf-bad-pin.wav"/>
|
||||
<param name="caller-id-name" value="$${outbound_caller_name}"/>
|
||||
<param name="caller-id-number" value="$${outbound_caller_id}"/>
|
||||
<param name="comfort-noise" value="true"/>
|
||||
<!--<param name="tts-engine" value="flite"/>-->
|
||||
<!--<param name="tts-voice" value="kal16"/>-->
|
||||
</profile>
|
||||
|
||||
<profile name="ultrawideband">
|
||||
<param name="domain" value="$${domain}"/>
|
||||
<param name="rate" value="32000"/>
|
||||
<param name="interval" value="20"/>
|
||||
<param name="energy-level" value="300"/>
|
||||
<!--<param name="sound-prefix" value="$${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="$${hold_music}"/>
|
||||
<param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/>
|
||||
<param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/>
|
||||
<param name="kicked-sound" value="conference/conf-kicked.wav"/>
|
||||
<param name="locked-sound" value="conference/conf-locked.wav"/>
|
||||
<param name="is-locked-sound" value="conference/conf-is-locked.wav"/>
|
||||
<param name="is-unlocked-sound" value="conference/conf-is-unlocked.wav"/>
|
||||
<param name="pin-sound" value="conference/conf-pin.wav"/>
|
||||
<param name="bad-pin-sound" value="conference/conf-bad-pin.wav"/>
|
||||
<param name="caller-id-name" value="$${outbound_caller_name}"/>
|
||||
<param name="caller-id-number" value="$${outbound_caller_id}"/>
|
||||
<param name="comfort-noise" value="true"/>
|
||||
<!--<param name="tts-engine" value="flite"/>-->
|
||||
<!--<param name="tts-voice" value="kal16"/>-->
|
||||
</profile>
|
||||
|
||||
<profile name="cdquality">
|
||||
<param name="domain" value="$${domain}"/>
|
||||
<param name="rate" value="48000"/>
|
||||
<param name="interval" value="10"/>
|
||||
<param name="energy-level" value="300"/>
|
||||
<!--<param name="sound-prefix" value="$${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="$${hold_music}"/>
|
||||
<param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/>
|
||||
<param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/>
|
||||
<param name="kicked-sound" value="conference/conf-kicked.wav"/>
|
||||
<param name="locked-sound" value="conference/conf-locked.wav"/>
|
||||
<param name="is-locked-sound" value="conference/conf-is-locked.wav"/>
|
||||
<param name="is-unlocked-sound" value="conference/conf-is-unlocked.wav"/>
|
||||
<param name="pin-sound" value="conference/conf-pin.wav"/>
|
||||
<param name="bad-pin-sound" value="conference/conf-bad-pin.wav"/>
|
||||
<param name="caller-id-name" value="$${outbound_caller_name}"/>
|
||||
<param name="caller-id-number" value="$${outbound_caller_id}"/>
|
||||
<param name="comfort-noise" value="true"/>
|
||||
</profile>
|
||||
|
||||
<profile name="sla">
|
||||
<param name="domain" value="$${domain}"/>
|
||||
<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>
|
||||
|
||||
</profiles>
|
||||
</configuration>
|
|
@ -0,0 +1,56 @@
|
|||
<configuration name="console.conf" description="Console Logger">
|
||||
<!-- pick a file name, a function name or 'all' -->
|
||||
<!-- map as many as you need for specific debugging -->
|
||||
<mappings>
|
||||
<!--
|
||||
name can be a file name, function name or 'all'
|
||||
value is one or more of debug,info,notice,warning,err,crit,alert,all
|
||||
See examples below
|
||||
|
||||
|
||||
The following map is the default, which is all debug levels enabled:
|
||||
<map name="all" value="debug,info,notice,warning,err,crit,alert"/>
|
||||
|
||||
|
||||
Example: the following turns on debugging for error and critical levels only
|
||||
<map name="all" value="err,crit"/>
|
||||
|
||||
NOTE: using map name="all" will override any other settings! If you
|
||||
want a more specific set of console messages then you will need
|
||||
to specify which files and/or functions you want to have debug
|
||||
messages. One option is to turn on just the more critical
|
||||
messages with map name="all", then specify the other types of
|
||||
console messages you want to see for various files and functions.
|
||||
|
||||
Example: turn on ERROR, CRIT, ALERT for all modules, then specify other
|
||||
levels for various modules and functions
|
||||
|
||||
<map name="all" value="err,crit,alert"/>
|
||||
<map name="switch_loadable_module_process" value="all"/>
|
||||
<map name="mod_local_stream.c" value="warning,debug"/>
|
||||
<map name="mod_sndfile.c" value="warning,info,debug"/>
|
||||
-->
|
||||
<map name="all" value="console,debug,info,notice,warning,err,crit,alert"/>
|
||||
|
||||
<!--
|
||||
You can use or modify this sample set of mappings. It turns on higher
|
||||
level messages for all modules and then specifies extra lower level
|
||||
messages for OpenZAP, Sofia, and switch core messages.
|
||||
|
||||
<map name="all" value="warning,err,crit,alert"/>
|
||||
<map name="zap_analog.c" value="all"/>
|
||||
<map name="zap_io.c" value="all"/>
|
||||
<map name="zap_isdn.c" value="all"/>
|
||||
<map name="zap_zt.c" value="all"/>
|
||||
<map name="mod_openzap" value="all"/>
|
||||
<map name="sofia.c" value="notice"/>
|
||||
<map name="switch_core_state_machine.c" value="all"/>
|
||||
|
||||
-->
|
||||
</mappings>
|
||||
<settings>
|
||||
<!-- comment or set to false for no color logging -->
|
||||
<param name="colorize" value="true"/>
|
||||
<param name="loglevel" value="$${console_loglevel}"/>
|
||||
</settings>
|
||||
</configuration>
|
|
@ -0,0 +1,5 @@
|
|||
<configuration name="db.conf" description="LIMIT DB Configuration">
|
||||
<settings>
|
||||
<!--<param name="odbc-dsn" value="dsn:user:pass"/>-->
|
||||
</settings>
|
||||
</configuration>
|
|
@ -0,0 +1,9 @@
|
|||
<configuration name="dialplan_directory.conf" description="Dialplan Directory">
|
||||
<settings>
|
||||
<param name="directory-name" value="ldap"/>
|
||||
<param name="host" value="ldap.freeswitch.org"/>
|
||||
<param name="dn" value="cn=Manager,dc=freeswitch,dc=org"/>
|
||||
<param name="pass" value="test"/>
|
||||
<param name="base" value="dc=freeswitch,dc=org"/>
|
||||
</settings>
|
||||
</configuration>
|
|
@ -0,0 +1,9 @@
|
|||
<configuration name="dingaling.conf" description="XMPP Jingle Endpoint">
|
||||
<settings>
|
||||
<param name="debug" value="0"/>
|
||||
<param name="codec-prefs" value="H264,PCMU"/>
|
||||
</settings>
|
||||
|
||||
<X-PRE-PROCESS cmd="include" data="../jingle_profiles/*.xml"/>
|
||||
|
||||
</configuration>
|
|
@ -0,0 +1,21 @@
|
|||
<configuration name="directory.conf" description="Directory">
|
||||
<settings>
|
||||
<!--<param name="odbc-dsn" value="dsn:user:pass"/>-->
|
||||
<!--<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>
|
|
@ -0,0 +1,10 @@
|
|||
<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>
|
|
@ -0,0 +1,28 @@
|
|||
<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>
|
|
@ -0,0 +1,21 @@
|
|||
<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="auto-reload" value="true"/>
|
||||
|
||||
<param name="query-timeout-ms" value="200"/>
|
||||
<param name="query-timeout-retry" value="2"/>
|
||||
<param name="random-nameserver" value="false"/>
|
||||
|
||||
<!-- If you have specific (non-recursive) servers for your enum queries, specify them here ( up to 10 ) -->
|
||||
<!-- <param name="nameserver" value="x.x.x.x"/> -->
|
||||
<!-- <param name="nameserver" value="y.y.y.y"/> -->
|
||||
</settings>
|
||||
|
||||
<routes>
|
||||
<route service="E2U+SIP" regex="sip:(.*)" replace="sofia/${use_profile}/$1;transport=udp"/>
|
||||
<route service="E2T+SIP" regex="sip:(.*)" replace="sofia/${use_profile}/$1;transport=tcp"/>
|
||||
<!--<route service="E2U+XMPP" regex="XMPP:(.*)" replace="dingaling/$${xmpp_server_profile}/$1"/>-->
|
||||
</routes>
|
||||
</configuration>
|
|
@ -0,0 +1,23 @@
|
|||
<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>
|
|
@ -0,0 +1,14 @@
|
|||
<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>
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
<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>
|
|
@ -0,0 +1,12 @@
|
|||
<configuration name="fax.conf" description="FAX application configuration">
|
||||
<settings>
|
||||
<param name="use-ecm" value="true"/>
|
||||
<param name="verbose" value="false"/>
|
||||
<param name="disable-v17" value="false"/>
|
||||
<param name="ident" value="SpanDSP Fax Ident"/>
|
||||
<param name="header" value="SpanDSP Fax Header"/>
|
||||
|
||||
<param name="spool-dir" value="/tmp"/>
|
||||
<param name="file-prefix" value="faxrx"/>
|
||||
</settings>
|
||||
</configuration>
|
|
@ -0,0 +1,10 @@
|
|||
<configuration name="fifo.conf" description="FIFO Configuration">
|
||||
<settings>
|
||||
<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>
|
|
@ -0,0 +1,88 @@
|
|||
<configuration name="format_cdr.conf" description="Multi Format CDR CURL logger">
|
||||
|
||||
<!-- You can have multiple profiles, to allow logging to both json and cdr simultaneously, or to
|
||||
different paths or servers with different settings, just be sure to use different name for
|
||||
each profile. -->
|
||||
<profiles>
|
||||
|
||||
<profile name="default">
|
||||
<settings>
|
||||
<!-- the format of data to send, defaults to xml -->
|
||||
<!-- <param name="format" value="json|xml"/> -->
|
||||
<param name="format" value="xml"/>
|
||||
|
||||
<!-- the url to post to if blank web posting is disabled -->
|
||||
<!-- <param name="url" value="http://localhost/cdr_curl/post.php"/> -->
|
||||
|
||||
<!-- optional: credentials to send to web server -->
|
||||
<!-- <param name="cred" value="user:pass"/> -->
|
||||
|
||||
<!-- the total number of retries (not counting the first 'try') to post to webserver incase of failure -->
|
||||
<!-- <param name="retries" value="2"/> -->
|
||||
|
||||
<!-- delay between retries in seconds, default is 5 seconds -->
|
||||
<!-- <param name="delay" value="1"/> -->
|
||||
|
||||
<!-- 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/format_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/format_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_format_cdr_curl.txt"/> -->
|
||||
|
||||
<!-- Whether to URL encode the individual JSON values. Defaults to true, set to false for standard JSON. -->
|
||||
<param name="encode-values" value="true"/>
|
||||
|
||||
</settings>
|
||||
</profile>
|
||||
</profiles>
|
||||
</configuration>
|
|
@ -0,0 +1,6 @@
|
|||
<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>
|
|
@ -0,0 +1,127 @@
|
|||
<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="Caller-Unique-ID"/>-->
|
||||
</params>
|
||||
|
||||
</profile>
|
||||
</profiles>
|
||||
</configuration>
|
|
@ -0,0 +1,17 @@
|
|||
<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"/>
|
||||
<param name="max-urls" value="10000"/>
|
||||
<param name="location" value="$${base_dir}/http_cache"/>
|
||||
<param name="default-max-age" value="86400"/>
|
||||
<param name="prefetch-thread-count" value="8"/>
|
||||
<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>
|
||||
</configuration>
|
|
@ -0,0 +1,5 @@
|
|||
<configuration name="ivr.conf" description="IVR menus">
|
||||
<menus>
|
||||
<X-PRE-PROCESS cmd="include" data="../ivr_menus/*.xml"/>
|
||||
</menus>
|
||||
</configuration>
|
|
@ -0,0 +1,8 @@
|
|||
<configuration name="java.conf" description="Java Plug-Ins">
|
||||
<javavm path="/opt/jdk1.6.0_04/jre/lib/amd64/server/libjvm.so"/>
|
||||
<options>
|
||||
<option value="-Djava.class.path=$${base_dir}/scripts/freeswitch.jar:$${base_dir}/scripts/example.jar"/>
|
||||
<option value="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=0.0.0.0:8000"/>
|
||||
</options>
|
||||
<startup class="org/freeswitch/example/ApplicationLauncher" method="startup"/>
|
||||
</configuration>
|
|
@ -0,0 +1,89 @@
|
|||
<configuration name="lcr.conf" description="LCR Configuration">
|
||||
<settings>
|
||||
<param name="odbc-dsn" value="freeswitch-mysql:freeswitch:Fr33Sw1tch"/>
|
||||
<!-- <param name="odbc-dsn" value="freeswitch-pgsql:freeswitch:Fr33Sw1tch"/> -->
|
||||
</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>
|
|
@ -0,0 +1,49 @@
|
|||
<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/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="moh/8000" path="$${sounds_dir}/music/8000">
|
||||
<param name="rate" value="8000"/>
|
||||
<param name="shuffle" value="true"/>
|
||||
<param name="channels" value="1"/>
|
||||
<param name="interval" value="20"/>
|
||||
<param name="timer-name" value="soft"/>
|
||||
</directory>
|
||||
|
||||
<directory name="moh/16000" path="$${sounds_dir}/music/16000">
|
||||
<param name="rate" value="16000"/>
|
||||
<param name="shuffle" value="true"/>
|
||||
<param name="channels" value="1"/>
|
||||
<param name="interval" value="20"/>
|
||||
<param name="timer-name" value="soft"/>
|
||||
</directory>
|
||||
|
||||
<directory name="moh/32000" path="$${sounds_dir}/music/32000">
|
||||
<param name="rate" value="32000"/>
|
||||
<param name="shuffle" value="true"/>
|
||||
<param name="channels" value="1"/>
|
||||
<param name="interval" value="20"/>
|
||||
<param name="timer-name" value="soft"/>
|
||||
</directory>
|
||||
<!--
|
||||
<directory name="moh/48000" path="$${sounds_dir}/music/48000">
|
||||
<param name="rate" value="48000"/>
|
||||
<param name="shuffle" value="true"/>
|
||||
<param name="channels" value="1"/>
|
||||
<param name="interval" value="10"/>
|
||||
<param name="timer-name" value="soft"/>
|
||||
</directory>
|
||||
-->
|
||||
</configuration>
|
|
@ -0,0 +1,29 @@
|
|||
<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="32"/> -->
|
||||
<!-- 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>
|
|
@ -0,0 +1,32 @@
|
|||
<configuration name="lua.conf" description="LUA Configuration">
|
||||
<settings>
|
||||
|
||||
<!--
|
||||
Specify local directories that will be searched for LUA modules
|
||||
These entries will be pre-pended to the LUA_CPATH environment variable
|
||||
-->
|
||||
<!-- <param name="module-directory" value="/usr/lib/lua/5.1/?.so"/> -->
|
||||
<!-- <param name="module-directory" value="/usr/local/lib/lua/5.1/?.so"/> -->
|
||||
|
||||
<!--
|
||||
Specify local directories that will be searched for LUA scripts
|
||||
These entries will be pre-pended to the LUA_PATH environment variable
|
||||
-->
|
||||
<!-- <param name="script-directory" value="/usr/local/lua/?.lua"/> -->
|
||||
<!-- <param name="script-directory" value="$${base_dir}/scripts/?.lua"/> -->
|
||||
|
||||
<!--<param name="xml-handler-script" value="/dp.lua"/>-->
|
||||
<!--<param name="xml-handler-bindings" value="dialplan"/>-->
|
||||
|
||||
<!--
|
||||
The following options identifies a lua script that is launched
|
||||
at startup and may live forever in the background.
|
||||
You can define multiple lines, one for each script you
|
||||
need to run.
|
||||
-->
|
||||
<!--<param name="startup-script" value="startup_script_1.lua"/>-->
|
||||
<!--<param name="startup-script" value="startup_script_2.lua"/>-->
|
||||
|
||||
<!--<hook event="CUSTOM" subclass="conference::maintenance" script="catch-event.lua"/>-->
|
||||
</settings>
|
||||
</configuration>
|
|
@ -0,0 +1,6 @@
|
|||
<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>
|
|
@ -0,0 +1,139 @@
|
|||
<configuration name="modules.conf" description="Modules">
|
||||
<modules>
|
||||
|
||||
<!-- Loggers (I'd load these first) -->
|
||||
<load module="mod_console"/>
|
||||
<load module="mod_logfile"/>
|
||||
<!-- <load module="mod_syslog"/> -->
|
||||
|
||||
<!--<load module="mod_yaml"/>-->
|
||||
|
||||
<!-- Multi-Faceted -->
|
||||
<!-- mod_enum is a dialplan interface, an application interface and an api command interface -->
|
||||
<!--<load module="mod_enum"/>-->
|
||||
|
||||
<!-- XML Interfaces -->
|
||||
<!-- <load module="mod_xml_rpc"/> -->
|
||||
<!-- <load module="mod_xml_curl"/> -->
|
||||
<!-- <load module="mod_xml_cdr"/> -->
|
||||
<!-- <load module="mod_xml_scgi"/> -->
|
||||
|
||||
<!-- Event Handlers -->
|
||||
<!--<load module="mod_cdr_csv"/>-->
|
||||
<load module="mod_cdr_pg_csv"/>
|
||||
<!-- <load module="mod_cdr_sqlite"/> -->
|
||||
<!-- <load module="mod_event_multicast"/> -->
|
||||
<load module="mod_event_socket"/>
|
||||
<!-- <load module="mod_event_zmq"/> -->
|
||||
<!-- <load module="mod_zeroconf"/> -->
|
||||
<!-- <load module="mod_erlang_event"/> -->
|
||||
<!-- <load module="mod_snmp"/> -->
|
||||
|
||||
<!-- Directory Interfaces -->
|
||||
<!-- <load module="mod_ldap"/> -->
|
||||
|
||||
<!-- Endpoints -->
|
||||
<!-- <load module="mod_dingaling"/> -->
|
||||
<!-- <load module="mod_portaudio"/> -->
|
||||
<!-- <load module="mod_alsa"/> -->
|
||||
<load module="mod_sofia"/>
|
||||
<load module="mod_loopback"/>
|
||||
<!-- <load module="mod_woomera"/> -->
|
||||
<!-- <load module="mod_freetdm"/> -->
|
||||
<!-- <load module="mod_openzap"/> -->
|
||||
<!-- <load module="mod_unicall"/> -->
|
||||
<!-- <load module="mod_skinny"/> -->
|
||||
<!-- <load module="mod_khomp"/> -->
|
||||
<!-- <load module="mod_rtmp"/> -->
|
||||
<load module="mod_sms"/>
|
||||
|
||||
<!-- Applications -->
|
||||
<load module="mod_commands"/>
|
||||
<!--<load module="mod_conference"/>-->
|
||||
<!-- <load module="mod_curl"/> -->
|
||||
<load module="mod_db"/>
|
||||
<load module="mod_dptools"/>
|
||||
<load module="mod_expr"/>
|
||||
<load module="mod_fifo"/>
|
||||
<load module="mod_hash"/>
|
||||
<load module="mod_voicemail"/>
|
||||
<!--<load module="mod_directory"/>-->
|
||||
<!--<load module="mod_distributor"/>-->
|
||||
<!--<load module="mod_lcr"/>-->
|
||||
<load module="mod_esf"/>
|
||||
<!--<load module="mod_fsv"/>-->
|
||||
<!--<load module="mod_cluechoo"/>
|
||||
<load module="mod_valet_parking"/>-->
|
||||
<!--<load module="mod_fsk"/>-->
|
||||
<!--<load module="mod_spy"/>-->
|
||||
<!--<load module="mod_random"/>-->
|
||||
<load module="mod_httapi"/>
|
||||
<!--<load module="mod_translate"/>-->
|
||||
|
||||
<!-- SNOM Module -->
|
||||
<!--<load module="mod_snom"/>-->
|
||||
|
||||
<!-- This one only works on Linux for now -->
|
||||
<!--<load module="mod_ladspa"/>-->
|
||||
|
||||
<!-- Dialplan Interfaces -->
|
||||
<!-- <load module="mod_dialplan_directory"/> -->
|
||||
<load module="mod_dialplan_xml"/>
|
||||
<!--<load module="mod_dialplan_asterisk"/>-->
|
||||
|
||||
<!-- Codec Interfaces -->
|
||||
<load module="mod_spandsp"/>
|
||||
<!--<load module="mod_g723_1"/>-->
|
||||
<!--<load module="mod_bcg729"/>-->
|
||||
<load module="mod_g729"/>
|
||||
<load module="mod_amr"/>
|
||||
<!--<load module="mod_ilbc"/>-->
|
||||
<!--<load module="mod_speex"/>
|
||||
<load module="mod_h26x"/>
|
||||
<load module="mod_vp8"/>
|
||||
<load module="mod_b64"/>-->
|
||||
<!--<load module="mod_siren"/>-->
|
||||
<!--<load module="mod_isac"/>-->
|
||||
<!--<load module="mod_celt"/>-->
|
||||
<!--<load module="mod_opus"/>-->
|
||||
|
||||
<!-- File Format Interfaces -->
|
||||
<load module="mod_sndfile"/>
|
||||
<load module="mod_native_file"/>
|
||||
<!-- <load module="mod_shell_stream"/> -->
|
||||
<!--For icecast/mp3 streams/files-->
|
||||
<load module="mod_shout"/>
|
||||
<!--For local streams (play all the files in a directory)-->
|
||||
<load module="mod_local_stream"/>
|
||||
<load module="mod_tone_stream"/>
|
||||
|
||||
<!-- Timers -->
|
||||
<!-- <load module="mod_timerfd"/> -->
|
||||
<!-- <load module="mod_posix_timer"/> -->
|
||||
|
||||
<!-- Languages -->
|
||||
<!-- <load module="mod_spidermonkey"/> -->
|
||||
<!-- <load module="mod_perl"/> -->
|
||||
<load module="mod_python"/>
|
||||
<!-- <load module="mod_java"/> -->
|
||||
<load module="mod_lua"/>
|
||||
|
||||
<!-- ASR /TTS -->
|
||||
<!-- <load module="mod_flite"/> -->
|
||||
<!-- <load module="mod_pocketsphinx"/> -->
|
||||
<!-- <load module="mod_cepstral"/> -->
|
||||
<!-- <load module="mod_tts_commandline"/> -->
|
||||
<!-- <load module="mod_rss"/> -->
|
||||
|
||||
<!-- Say -->
|
||||
<load module="mod_say_en"/>
|
||||
<load module="mod_say_es"/>
|
||||
<!-- <load module="mod_say_ru"/> -->
|
||||
<!-- <load module="mod_say_zh"/> -->
|
||||
|
||||
<!-- Third party modules -->
|
||||
<!--<load module="mod_nibblebill"/>-->
|
||||
<!--<load module="mod_callcenter"/>-->
|
||||
|
||||
</modules>
|
||||
</configuration>
|
|
@ -0,0 +1,20 @@
|
|||
<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>
|
|
@ -0,0 +1,48 @@
|
|||
<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="odbc-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>
|
|
@ -0,0 +1,21 @@
|
|||
<configuration name="opal.conf" description="Opal Endpoints">
|
||||
<settings>
|
||||
<param name="trace-level" value="3"/>
|
||||
<param name="context" value="default"/>
|
||||
<param name="dialplan" value="XML"/>
|
||||
<param name="dtmf-type" value="signal"/> <!-- string, signal, rfc2833, in-band -->
|
||||
<param name="jitter-size" value="40,100"/> <!-- Jitter buffer min/max size, milliseconds -->
|
||||
<!-- <param name="codec-prefs" value="PCMU,PCMA"/> --> <!-- list, and preferecnce order, of codecs -->
|
||||
<!-- <param name="disable-transcoding" value="true"/> --> <!-- do not transcode, use source channel codec only -->
|
||||
<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="$${local_ip_v4}"/> <!-- 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>
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
<!--
|
||||
To use this application simply install the open source Oreka recorder server (Orkaudio) and point
|
||||
the sip-server-addr and sip-server-port to the oreka server
|
||||
-->
|
||||
<configuration name="oreka.conf" description="Oreka Recorder configuration">
|
||||
<settings>
|
||||
<!-- Oreka/Orkaudio recording server address -->
|
||||
<!-- <param name="sip-server-addr" value="192.168.1.200"/> -->
|
||||
|
||||
<!-- Which port to send signaling to in the recording server -->
|
||||
<!-- <param name="sip-server-port" value="6000"/> -->
|
||||
</settings>
|
||||
</configuration>
|
|
@ -0,0 +1,53 @@
|
|||
<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>
|
|
@ -0,0 +1,16 @@
|
|||
<configuration name="perl.conf" description="PERL Configuration">
|
||||
<settings>
|
||||
<!--<param name="xml-handler-script" value="/tmp/xml.pl"/>-->
|
||||
<!--<param name="xml-handler-bindings" value="dialplan"/>-->
|
||||
|
||||
<!--
|
||||
The following options identifies a perl script that is launched
|
||||
at startup and may live forever in the background.
|
||||
You can define multiple lines, one for each script you
|
||||
need to run.
|
||||
-->
|
||||
<!--param name="startup-script" value="startup_script_1.pl"/-->
|
||||
<!--param name="startup-script" value="startup_script_2.pl"/-->
|
||||
|
||||
</settings>
|
||||
</configuration>
|
|
@ -0,0 +1,12 @@
|
|||
<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>
|
|
@ -0,0 +1,221 @@
|
|||
<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"/>
|
||||
|
||||
<!--uncomment the following line to make mod_portaudio fail to load if it fails to find a device-->
|
||||
<!-- <param name="unload-on-device-fail" value="true"/> -->
|
||||
</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>
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
<configuration name="post_load_modules.conf" description="Modules">
|
||||
<modules>
|
||||
</modules>
|
||||
</configuration>
|
|
@ -0,0 +1,7 @@
|
|||
<configuration name="presence_map.conf" description="PRESENCE MAP">
|
||||
<domains>
|
||||
<domain name="$${domain}">
|
||||
<exten regex="3\d+" proto="conf"/>
|
||||
</domain>
|
||||
</domains>
|
||||
</configuration>
|
|
@ -0,0 +1,16 @@
|
|||
<configuration name="python.conf" description="PYTHON Configuration">
|
||||
<settings>
|
||||
<!--<param name="xml-handler-script" value="dp"/>-->
|
||||
<!--<param name="xml-handler-bindings" value="dialplan"/>-->
|
||||
|
||||
<!--
|
||||
The following options identifies a py 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>
|
|
@ -0,0 +1,7 @@
|
|||
<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>
|
|
@ -0,0 +1,7 @@
|
|||
<configuration name="rss.conf" description="RSS Parser">
|
||||
<feeds>
|
||||
<!-- Just download the files to wherever and refer to them here -->
|
||||
<!-- <feed name="Slash Dot">/home/rss/rss.rss</feed> -->
|
||||
<!-- <feed name="News Forge">/home/rss/newsforge.rss</feed> -->
|
||||
</feeds>
|
||||
</configuration>
|
|
@ -0,0 +1,17 @@
|
|||
<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>
|
|
@ -0,0 +1,37 @@
|
|||
<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>
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
<configuration name="shout.conf" description="mod shout config">
|
||||
<settings>
|
||||
<!-- Don't change these unless you are insane -->
|
||||
<!--<param name="decoder" value="i586"/>-->
|
||||
<!--<param name="volume" value=".1"/>-->
|
||||
<!--<param name="outscale" value="8192"/>-->
|
||||
</settings>
|
||||
</configuration>
|
|
@ -0,0 +1,6 @@
|
|||
<configuration name="skinny.conf" description="Skinny Endpoints">
|
||||
<profiles>
|
||||
<X-PRE-PROCESS cmd="include" data="../skinny_profiles/*.xml"/>
|
||||
</profiles>
|
||||
</configuration>
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
<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>
|
|
@ -0,0 +1,115 @@
|
|||
<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="true"/>
|
||||
<param name="verbose" value="false"/>
|
||||
<param name="disable-v17" value="false"/>
|
||||
<param name="ident" value="SpanDSP Fax Ident"/>
|
||||
<param name="header" value="SpanDSP Fax Header"/>
|
||||
|
||||
<param name="spool-dir" value="/tmp"/>
|
||||
<param name="file-prefix" value="faxrx"/>
|
||||
</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>
|
||||
|
|
@ -0,0 +1,162 @@
|
|||
<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="info"/>
|
||||
|
||||
<!-- 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="400"/> -->
|
||||
|
||||
<!--
|
||||
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="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="16484"/>
|
||||
|
||||
<param name="rtp-enable-zrtp" value="false"/>
|
||||
|
||||
<!-- <param name="core-db-dsn" value="pgsql://hostaddr=127.0.0.1 dbname=freeswitch user=freeswitch password='' options='-c client_min_messages=NOTICE' application_name='freeswitch'" /> -->
|
||||
<!-- <param name="core-db-dsn" value="dsn:username:password" /> -->
|
||||
<!-- 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"/> -->
|
||||
|
||||
</settings>
|
||||
|
||||
</configuration>
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
<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>
|
|
@ -0,0 +1,551 @@
|
|||
<configuration name="timezones.conf" description="Timezones">
|
||||
<timezones>
|
||||
<zone name="Africa/Abidjan" value="GMT0" />
|
||||
<zone name="Africa/Accra" value="GMT0" />
|
||||
<zone name="Africa/Addis_Ababa" value="EAT-3" />
|
||||
<zone name="Africa/Algiers" value="CET-1" />
|
||||
<zone name="Africa/Asmara" value="EAT-3" />
|
||||
<zone name="Africa/Asmera" value="EAT-3" />
|
||||
<zone name="Africa/Bamako" value="GMT0" />
|
||||
<zone name="Africa/Bangui" value="WAT-1" />
|
||||
<zone name="Africa/Banjul" value="GMT0" />
|
||||
<zone name="Africa/Bissau" value="GMT0" />
|
||||
<zone name="Africa/Blantyre" value="CAT-2" />
|
||||
<zone name="Africa/Brazzaville" value="WAT-1" />
|
||||
<zone name="Africa/Bujumbura" value="CAT-2" />
|
||||
<zone name="Africa/Cairo" value="EET-2EEST,M4.5.5/1,M9.5.5/3" />
|
||||
<zone name="Africa/Casablanca" value="WET0" />
|
||||
<zone name="Africa/Ceuta" value="CET-1CEST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Africa/Conakry" value="GMT0" />
|
||||
<zone name="Africa/Dakar" value="GMT0" />
|
||||
<zone name="Africa/Dar_es_Salaam" value="EAT-3" />
|
||||
<zone name="Africa/Djibouti" value="EAT-3" />
|
||||
<zone name="Africa/Douala" value="WAT-1" />
|
||||
<zone name="Africa/El_Aaiun" value="WET0" />
|
||||
<zone name="Africa/Freetown" value="GMT0" />
|
||||
<zone name="Africa/Gaborone" value="CAT-2" />
|
||||
<zone name="Africa/Harare" value="CAT-2" />
|
||||
<zone name="Africa/Johannesburg" value="SAST-2" />
|
||||
<zone name="Africa/Kampala" value="EAT-3" />
|
||||
<zone name="Africa/Khartoum" value="EAT-3" />
|
||||
<zone name="Africa/Kigali" value="CAT-2" />
|
||||
<zone name="Africa/Kinshasa" value="WAT-1" />
|
||||
<zone name="Africa/Lagos" value="WAT-1" />
|
||||
<zone name="Africa/Libreville" value="WAT-1" />
|
||||
<zone name="Africa/Lome" value="GMT0" />
|
||||
<zone name="Africa/Luanda" value="WAT-1" />
|
||||
<zone name="Africa/Lubumbashi" value="CAT-2" />
|
||||
<zone name="Africa/Lusaka" value="CAT-2" />
|
||||
<zone name="Africa/Malabo" value="WAT-1" />
|
||||
<zone name="Africa/Maputo" value="CAT-2" />
|
||||
<zone name="Africa/Maseru" value="SAST-2" />
|
||||
<zone name="Africa/Mbabane" value="SAST-2" />
|
||||
<zone name="Africa/Mogadishu" value="EAT-3" />
|
||||
<zone name="Africa/Monrovia" value="GMT0" />
|
||||
<zone name="Africa/Nairobi" value="EAT-3" />
|
||||
<zone name="Africa/Ndjamena" value="WAT-1" />
|
||||
<zone name="Africa/Niamey" value="WAT-1" />
|
||||
<zone name="Africa/Nouakchott" value="GMT0" />
|
||||
<zone name="Africa/Ouagadougou" value="GMT0" />
|
||||
<zone name="Africa/Porto-Novo" value="WAT-1" />
|
||||
<zone name="Africa/Sao_Tome" value="GMT0" />
|
||||
<zone name="Africa/Timbuktu" value="GMT0" />
|
||||
<zone name="Africa/Tripoli" value="EET-2" />
|
||||
<zone name="Africa/Tunis" value="CET-1CEST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Africa/Windhoek" value="WAT-1WAST,M9.1.0,M4.1.0" />
|
||||
|
||||
<zone name="America/Adak" value="HAST10HADT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Anchorage" value="AKST9AKDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Anguilla" value="AST4" />
|
||||
<zone name="America/Antigua" value="AST4" />
|
||||
<zone name="America/Araguaina" value="BRT3" />
|
||||
<zone name="America/Argentina/Buenos_Aires" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
|
||||
<zone name="America/Argentina/Catamarca" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
|
||||
<zone name="America/Argentina/ComodRivadavia" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
|
||||
<zone name="America/Argentina/Cordoba" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
|
||||
<zone name="America/Argentina/Jujuy" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
|
||||
<zone name="America/Argentina/La_Rioja" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
|
||||
<zone name="America/Argentina/Mendoza" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
|
||||
<zone name="America/Argentina/Rio_Gallegos" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
|
||||
<zone name="America/Argentina/San_Juan" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
|
||||
<zone name="America/Argentina/San_Luis" value="ART3" />
|
||||
<zone name="America/Argentina/Tucuman" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
|
||||
<zone name="America/Argentina/Ushuaia" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
|
||||
<zone name="America/Aruba" value="AST4" />
|
||||
<zone name="America/Asuncion" value="PYT4PYST,M10.3.0/0,M3.2.0/0" />
|
||||
<zone name="America/Atikokan" value="EST5" />
|
||||
<zone name="America/Atka" value="HAST10HADT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Bahia" value="BRT3" />
|
||||
<zone name="America/Barbados" value="AST4" />
|
||||
<zone name="America/Belem" value="BRT3" />
|
||||
<zone name="America/Belize" value="CST6" />
|
||||
<zone name="America/Blanc-Sablon" value="AST4" />
|
||||
<zone name="America/Boa_Vista" value="AMT4" />
|
||||
<zone name="America/Bogota" value="COT5" />
|
||||
<zone name="America/Boise" value="MST7MDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Buenos_Aires" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
|
||||
<zone name="America/Cambridge_Bay" value="MST7MDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Campo_Grande" value="AMT4AMST,M10.2.0/0,M2.3.0/0" />
|
||||
<zone name="America/Cancun" value="CST6CDT,M4.1.0,M10.5.0" />
|
||||
<zone name="America/Caracas" value="VET4:30" />
|
||||
<zone name="America/Catamarca" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
|
||||
<zone name="America/Cayenne" value="GFT3" />
|
||||
<zone name="America/Cayman" value="EST5" />
|
||||
<zone name="America/Chicago" value="CST6CDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Chihuahua" value="MST7MDT,M4.1.0,M10.5.0" />
|
||||
<zone name="America/Coral_Harbour" value="EST5" />
|
||||
<zone name="America/Cordoba" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
|
||||
<zone name="America/Costa_Rica" value="CST6" />
|
||||
<zone name="America/Cuiaba" value="AMT4AMST,M10.2.0/0,M2.3.0/0" />
|
||||
<zone name="America/Curacao" value="AST4" />
|
||||
<zone name="America/Danmarkshavn" value="GMT0" />
|
||||
<zone name="America/Dawson" value="PST8PDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Dawson_Creek" value="MST7" />
|
||||
<zone name="America/Denver" value="MST7MDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Detroit" value="EST5EDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Dominica" value="AST4" />
|
||||
<zone name="America/Edmonton" value="MST7MDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Eirunepe" value="ACT5" />
|
||||
<zone name="America/El_Salvador" value="CST6" />
|
||||
<zone name="America/Ensenada" value="PST8PDT,M4.1.0,M10.5.0" />
|
||||
<zone name="America/Fortaleza" value="BRT3" />
|
||||
<zone name="America/Fort_Wayne" value="EST5EDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Glace_Bay" value="AST4ADT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Godthab" value="WGST" />
|
||||
<zone name="America/Goose_Bay" value="AST4ADT,M3.2.0/0:01,M11.1.0/0:01" />
|
||||
<zone name="America/Grand_Turk" value="EST5EDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Grenada" value="AST4" />
|
||||
<zone name="America/Guadeloupe" value="AST4" />
|
||||
<zone name="America/Guatemala" value="CST6" />
|
||||
<zone name="America/Guayaquil" value="ECT5" />
|
||||
<zone name="America/Guyana" value="GYT4" />
|
||||
<zone name="America/Halifax" value="AST4ADT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Havana" value="CST5CDT,M3.3.0/0,M10.5.0/1" />
|
||||
<zone name="America/Hermosillo" value="MST7" />
|
||||
<zone name="America/Indiana/Indianapolis" value="EST5EDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Indiana/Knox" value="CST6CDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Indiana/Marengo" value="EST5EDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Indiana/Petersburg" value="EST5EDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Indianapolis" value="EST5EDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Indiana/Tell_City" value="CST6CDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Indiana/Vevay" value="EST5EDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Indiana/Vincennes" value="EST5EDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Indiana/Winamac" value="EST5EDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Inuvik" value="MST7MDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Iqaluit" value="EST5EDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Jamaica" value="EST5" />
|
||||
<zone name="America/Jujuy" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
|
||||
<zone name="America/Juneau" value="AKST9AKDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Kentucky/Louisville" value="EST5EDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Kentucky/Monticello" value="EST5EDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Knox_IN" value="CST6CDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/La_Paz" value="BOT4" />
|
||||
<zone name="America/Lima" value="PET5" />
|
||||
<zone name="America/Los_Angeles" value="PST8PDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Louisville" value="EST5EDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Maceio" value="BRT3" />
|
||||
<zone name="America/Managua" value="CST6" />
|
||||
<zone name="America/Manaus" value="AMT4" />
|
||||
<zone name="America/Marigot" value="AST4" />
|
||||
<zone name="America/Martinique" value="AST4" />
|
||||
<zone name="America/Mazatlan" value="MST7MDT,M4.1.0,M10.5.0" />
|
||||
<zone name="America/Mendoza" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
|
||||
<zone name="America/Menominee" value="CST6CDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Merida" value="CST6CDT,M4.1.0,M10.5.0" />
|
||||
<zone name="America/Mexico_City" value="CST6CDT,M4.1.0,M10.5.0" />
|
||||
<zone name="America/Miquelon" value="PMST3PMDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Moncton" value="AST4ADT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Monterrey" value="CST6CDT,M4.1.0,M10.5.0" />
|
||||
<zone name="America/Montevideo" value="UYT3UYST,M10.1.0,M3.2.0" />
|
||||
<zone name="America/Montreal" value="EST5EDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Montserrat" value="AST4" />
|
||||
<zone name="America/Nassau" value="EST5EDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/New_York" value="EST5EDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Nipigon" value="EST5EDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Nome" value="AKST9AKDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Noronha" value="FNT2" />
|
||||
<zone name="America/North_Dakota/Center" value="CST6CDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/North_Dakota/New_Salem" value="CST6CDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Panama" value="EST5" />
|
||||
<zone name="America/Pangnirtung" value="EST5EDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Paramaribo" value="SRT3" />
|
||||
<zone name="America/Phoenix" value="MST7" />
|
||||
<zone name="America/Port-au-Prince" value="EST5" />
|
||||
<zone name="America/Porto_Acre" value="ACT5" />
|
||||
<zone name="America/Port_of_Spain" value="AST4" />
|
||||
<zone name="America/Porto_Velho" value="AMT4" />
|
||||
<zone name="America/Puerto_Rico" value="AST4" />
|
||||
<zone name="America/Rainy_River" value="CST6CDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Rankin_Inlet" value="CST6CDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Recife" value="BRT3" />
|
||||
<zone name="America/Regina" value="CST6" />
|
||||
<zone name="America/Resolute" value="EST5" />
|
||||
<zone name="America/Rio_Branco" value="ACT5" />
|
||||
<zone name="America/Rosario" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
|
||||
<zone name="America/Santiago" value="CLST" />
|
||||
<zone name="America/Santo_Domingo" value="AST4" />
|
||||
<zone name="America/Sao_Paulo" value="BRT3BRST,M10.2.0/0,M2.3.0/0" />
|
||||
<zone name="America/Scoresbysund" value="EGT1EGST,M3.5.0/0,M10.5.0/1" />
|
||||
<zone name="America/Shiprock" value="MST7MDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/St_Barthelemy" value="AST4" />
|
||||
<zone name="America/St_Johns" value="NST3:30NDT,M3.2.0/0:01,M11.1.0/0:01" />
|
||||
<zone name="America/St_Kitts" value="AST4" />
|
||||
<zone name="America/St_Lucia" value="AST4" />
|
||||
<zone name="America/St_Thomas" value="AST4" />
|
||||
<zone name="America/St_Vincent" value="AST4" />
|
||||
<zone name="America/Swift_Current" value="CST6" />
|
||||
<zone name="America/Tegucigalpa" value="CST6" />
|
||||
<zone name="America/Thule" value="AST4ADT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Thunder_Bay" value="EST5EDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Tijuana" value="PST8PDT,M4.1.0,M10.5.0" />
|
||||
<zone name="America/Toronto" value="EST5EDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Tortola" value="AST4" />
|
||||
<zone name="America/Vancouver" value="PST8PDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Virgin" value="AST4" />
|
||||
<zone name="America/Whitehorse" value="PST8PDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Winnipeg" value="CST6CDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Yakutat" value="AKST9AKDT,M3.2.0,M11.1.0" />
|
||||
<zone name="America/Yellowknife" value="MST7MDT,M3.2.0,M11.1.0" />
|
||||
|
||||
<zone name="Antarctica/Casey" value="WST-8" />
|
||||
<zone name="Antarctica/Davis" value="DAVT-7" />
|
||||
<zone name="Antarctica/DumontDUrville" value="DDUT-10" />
|
||||
<zone name="Antarctica/Mawson" value="MAWT-6" />
|
||||
<zone name="Antarctica/McMurdo" value="NZST-12NZDT,M9.5.0,M4.1.0/3" />
|
||||
<zone name="Antarctica/Palmer" value="CLST" />
|
||||
<zone name="Antarctica/Rothera" value="ROTT3" />
|
||||
<zone name="Antarctica/South_Pole" value="NZST-12NZDT,M9.5.0,M4.1.0/3" />
|
||||
<zone name="Antarctica/Syowa" value="SYOT-3" />
|
||||
<zone name="Antarctica/Vostok" value="VOST-6" />
|
||||
|
||||
<zone name="Arctic/Longyearbyen" value="CET-1CEST,M3.5.0,M10.5.0/3" />
|
||||
|
||||
<zone name="Asia/Aden" value="AST-3" />
|
||||
<zone name="Asia/Almaty" value="ALMT-6" />
|
||||
<zone name="Asia/Amman" value="EET-2EEST,M3.5.4/0,M10.5.5/1" />
|
||||
<zone name="Asia/Anadyr" value="ANAT-12ANAST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Asia/Aqtau" value="AQTT-5" />
|
||||
<zone name="Asia/Aqtobe" value="AQTT-5" />
|
||||
<zone name="Asia/Ashgabat" value="TMT-5" />
|
||||
<zone name="Asia/Ashkhabad" value="TMT-5" />
|
||||
<zone name="Asia/Baghdad" value="AST-3" />
|
||||
<zone name="Asia/Bahrain" value="AST-3" />
|
||||
<zone name="Asia/Baku" value="AZT-4AZST,M3.5.0/4,M10.5.0/5" />
|
||||
<zone name="Asia/Bangkok" value="ICT-7" />
|
||||
<zone name="Asia/Beirut" value="EET-2EEST,M3.5.0/0,M10.5.0/0" />
|
||||
<zone name="Asia/Bishkek" value="KGT-6" />
|
||||
<zone name="Asia/Brunei" value="BNT-8" />
|
||||
<zone name="Asia/Calcutta" value="IST-5:30" />
|
||||
<zone name="Asia/Choibalsan" value="CHOT-9" />
|
||||
<zone name="Asia/Chongqing" value="CST-8" />
|
||||
<zone name="Asia/Chungking" value="CST-8" />
|
||||
<zone name="Asia/Colombo" value="IST-5:30" />
|
||||
<zone name="Asia/Dacca" value="BDT-6" />
|
||||
<zone name="Asia/Damascus" value="EET-2EEST,M4.1.5/0,J274/0" />
|
||||
<zone name="Asia/Dhaka" value="BDT-6" />
|
||||
<zone name="Asia/Dili" value="TLT-9" />
|
||||
<zone name="Asia/Dubai" value="GST-4" />
|
||||
<zone name="Asia/Dushanbe" value="TJT-5" />
|
||||
<zone name="Asia/Gaza" value="EET-2EEST,J91/0,M9.2.4" />
|
||||
<zone name="Asia/Harbin" value="CST-8" />
|
||||
<zone name="Asia/Ho_Chi_Minh" value="ICT-7" />
|
||||
<zone name="Asia/Hong_Kong" value="HKT-8" />
|
||||
<zone name="Asia/Hovd" value="HOVT-7" />
|
||||
<zone name="Asia/Irkutsk" value="IRKT-8IRKST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Asia/Istanbul" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
|
||||
<zone name="Asia/Jakarta" value="WIT-7" />
|
||||
<zone name="Asia/Jayapura" value="EIT-9" />
|
||||
<zone name="Asia/Jerusalem" value="IDDT" />
|
||||
<zone name="Asia/Kabul" value="AFT-4:30" />
|
||||
<zone name="Asia/Kamchatka" value="PETT-12PETST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Asia/Karachi" value="PKT-5" />
|
||||
<zone name="Asia/Kashgar" value="CST-8" />
|
||||
<zone name="Asia/Katmandu" value="NPT-5:45" />
|
||||
<zone name="Asia/Kolkata" value="IST-5:30" />
|
||||
<zone name="Asia/Krasnoyarsk" value="KRAT-7KRAST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Asia/Kuala_Lumpur" value="MYT-8" />
|
||||
<zone name="Asia/Kuching" value="MYT-8" />
|
||||
<zone name="Asia/Kuwait" value="AST-3" />
|
||||
<zone name="Asia/Macao" value="CST-8" />
|
||||
<zone name="Asia/Macau" value="CST-8" />
|
||||
<zone name="Asia/Magadan" value="MAGT-11MAGST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Asia/Makassar" value="CIT-8" />
|
||||
<zone name="Asia/Manila" value="PHT-8" />
|
||||
<zone name="Asia/Muscat" value="GST-4" />
|
||||
<zone name="Asia/Nicosia" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
|
||||
<zone name="Asia/Novosibirsk" value="NOVT-6NOVST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Asia/Omsk" value="OMST-6OMSST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Asia/Oral" value="ORAT-5" />
|
||||
<zone name="Asia/Phnom_Penh" value="ICT-7" />
|
||||
<zone name="Asia/Pontianak" value="WIT-7" />
|
||||
<zone name="Asia/Pyongyang" value="KST-9" />
|
||||
<zone name="Asia/Qatar" value="AST-3" />
|
||||
<zone name="Asia/Qyzylorda" value="QYZT-6" />
|
||||
<zone name="Asia/Rangoon" value="MMT-6:30" />
|
||||
<zone name="Asia/Riyadh" value="AST-3" />
|
||||
<zone name="Asia/Riyadh87" value="zzz-3:07:04" />
|
||||
<zone name="Asia/Riyadh88" value="zzz-3:07:04" />
|
||||
<zone name="Asia/Riyadh89" value="zzz-3:07:04" />
|
||||
<zone name="Asia/Saigon" value="ICT-7" />
|
||||
<zone name="Asia/Sakhalin" value="SAKT-10SAKST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Asia/Samarkand" value="UZT-5" />
|
||||
<zone name="Asia/Seoul" value="KST-9" />
|
||||
<zone name="Asia/Shanghai" value="CST-8" />
|
||||
<zone name="Asia/Singapore" value="SGT-8" />
|
||||
<zone name="Asia/Taipei" value="CST-8" />
|
||||
<zone name="Asia/Tashkent" value="UZT-5" />
|
||||
<zone name="Asia/Tbilisi" value="GET-4" />
|
||||
<zone name="Asia/Tehran" value="IRDT" />
|
||||
<zone name="Asia/Tel_Aviv" value="IDDT" />
|
||||
<zone name="Asia/Thimbu" value="BTT-6" />
|
||||
<zone name="Asia/Thimphu" value="BTT-6" />
|
||||
<zone name="Asia/Tokyo" value="JST-9" />
|
||||
<zone name="Asia/Ujung_Pandang" value="CIT-8" />
|
||||
<zone name="Asia/Ulaanbaatar" value="ULAT-8" />
|
||||
<zone name="Asia/Ulan_Bator" value="ULAT-8" />
|
||||
<zone name="Asia/Urumqi" value="CST-8" />
|
||||
<zone name="Asia/Vientiane" value="ICT-7" />
|
||||
<zone name="Asia/Vladivostok" value="VLAT-10VLAST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Asia/Yakutsk" value="YAKT-9YAKST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Asia/Yekaterinburg" value="YEKT-5YEKST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Asia/Yerevan" value="AMT-4AMST,M3.5.0,M10.5.0/3" />
|
||||
|
||||
<zone name="Atlantic/Azores" value="AZOT1AZOST,M3.5.0/0,M10.5.0/1" />
|
||||
<zone name="Atlantic/Bermuda" value="AST4ADT,M3.2.0,M11.1.0" />
|
||||
<zone name="Atlantic/Canary" value="WET0WEST,M3.5.0/1,M10.5.0" />
|
||||
<zone name="Atlantic/Cape_Verde" value="CVT1" />
|
||||
<zone name="Atlantic/Faeroe" value="WET0WEST,M3.5.0/1,M10.5.0" />
|
||||
<zone name="Atlantic/Faroe" value="WET0WEST,M3.5.0/1,M10.5.0" />
|
||||
<zone name="Atlantic/Jan_Mayen" value="CET-1CEST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Atlantic/Madeira" value="WET0WEST,M3.5.0/1,M10.5.0" />
|
||||
<zone name="Atlantic/Reykjavik" value="GMT0" />
|
||||
<zone name="Atlantic/South_Georgia" value="GST2" />
|
||||
<zone name="Atlantic/Stanley" value="FKT4FKST,M9.1.0,M4.3.0" />
|
||||
<zone name="Atlantic/St_Helena" value="GMT0" />
|
||||
|
||||
<zone name="Australia/ACT" value="EST-10EST,M10.1.0,M4.1.0/3" />
|
||||
<zone name="Australia/Adelaide" value="CST-9:30CST,M10.1.0,M4.1.0/3" />
|
||||
<zone name="Australia/Brisbane" value="EST-10" />
|
||||
<zone name="Australia/Broken_Hill" value="CST-9:30CST,M10.1.0,M4.1.0/3" />
|
||||
<zone name="Australia/Canberra" value="EST-10EST,M10.1.0,M4.1.0/3" />
|
||||
<zone name="Australia/Currie" value="EST-10EST,M10.1.0,M4.1.0/3" />
|
||||
<zone name="Australia/Darwin" value="CST-9:30" />
|
||||
<zone name="Australia/Eucla" value="CWST-8:45" />
|
||||
<zone name="Australia/Hobart" value="EST-10EST,M10.1.0,M4.1.0/3" />
|
||||
<zone name="Australia/LHI" value="LHST-10:30LHST-11,M10.1.0,M4.1.0" />
|
||||
<zone name="Australia/Lindeman" value="EST-10" />
|
||||
<zone name="Australia/Lord_Howe" value="LHST-10:30LHST-11,M10.1.0,M4.1.0" />
|
||||
<zone name="Australia/Melbourne" value="EST-10EST,M10.1.0,M4.1.0/3" />
|
||||
<zone name="Australia/North" value="CST-9:30" />
|
||||
<zone name="Australia/NSW" value="EST-10EST,M10.1.0,M4.1.0/3" />
|
||||
<zone name="Australia/Perth" value="WST-8" />
|
||||
<zone name="Australia/Queensland" value="EST-10" />
|
||||
<zone name="Australia/South" value="CST-9:30CST,M10.1.0,M4.1.0/3" />
|
||||
<zone name="Australia/Sydney" value="EST-10EST,M10.1.0,M4.1.0/3" />
|
||||
<zone name="Australia/Tasmania" value="EST-10EST,M10.1.0,M4.1.0/3" />
|
||||
<zone name="Australia/Victoria" value="EST-10EST,M10.1.0,M4.1.0/3" />
|
||||
<zone name="Australia/West" value="WST-8" />
|
||||
<zone name="Australia/Yancowinna" value="CST-9:30CST,M10.1.0,M4.1.0/3" />
|
||||
|
||||
<zone name="Brazil/Acre" value="ACT5" />
|
||||
<zone name="Brazil/DeNoronha" value="FNT2" />
|
||||
<zone name="Brazil/East" value="BRT3BRST,M10.2.0/0,M2.3.0/0" />
|
||||
<zone name="Brazil/West" value="AMT4" />
|
||||
|
||||
<zone name="Canada/Atlantic" value="AST4ADT,M3.2.0,M11.1.0" />
|
||||
<zone name="Canada/Central" value="CST6CDT,M3.2.0,M11.1.0" />
|
||||
<zone name="Canada/Eastern" value="EST5EDT,M3.2.0,M11.1.0" />
|
||||
<zone name="Canada/East-Saskatchewan" value="CST6" />
|
||||
<zone name="Canada/Mountain" value="MST7MDT,M3.2.0,M11.1.0" />
|
||||
<zone name="Canada/Newfoundland" value="NST3:30NDT,M3.2.0/0:01,M11.1.0/0:01" />
|
||||
<zone name="Canada/Pacific" value="PST8PDT,M3.2.0,M11.1.0" />
|
||||
<zone name="Canada/Saskatchewan" value="CST6" />
|
||||
<zone name="Canada/Yukon" value="PST8PDT,M3.2.0,M11.1.0" />
|
||||
|
||||
<zone name="Chile/Continental" value="CLST" />
|
||||
<zone name="Chile/EasterIsland" value="EASST" />
|
||||
|
||||
<zone name="Etc/GMT" value="GMT0" />
|
||||
<zone name="Etc/GMT0" value="GMT0" />
|
||||
<zone name="Etc/GMT-0" value="GMT0" />
|
||||
<zone name="Etc/GMT+0" value="GMT0" />
|
||||
<zone name="Etc/GMT-1" value="GMT-1" />
|
||||
<zone name="Etc/GMT+1" value="GMT+1" />
|
||||
<zone name="Etc/GMT-10" value="GMT-10" />
|
||||
<zone name="Etc/GMT+10" value="GMT+10" />
|
||||
<zone name="Etc/GMT-11" value="GMT-11" />
|
||||
<zone name="Etc/GMT+11" value="GMT+11" />
|
||||
<zone name="Etc/GMT-12" value="GMT-12" />
|
||||
<zone name="Etc/GMT+12" value="GMT+12" />
|
||||
<zone name="Etc/GMT-13" value="GMT-13" />
|
||||
<zone name="Etc/GMT-14" value="GMT-14" />
|
||||
<zone name="Etc/GMT-2" value="GMT-2" />
|
||||
<zone name="Etc/GMT+2" value="GMT+2" />
|
||||
<zone name="Etc/GMT-3" value="GMT-3" />
|
||||
<zone name="Etc/GMT+3" value="GMT+3" />
|
||||
<zone name="Etc/GMT-4" value="GMT-4" />
|
||||
<zone name="Etc/GMT+4" value="GMT+4" />
|
||||
<zone name="Etc/GMT-5" value="GMT-5" />
|
||||
<zone name="Etc/GMT+5" value="GMT+5" />
|
||||
<zone name="Etc/GMT-6" value="GMT-6" />
|
||||
<zone name="Etc/GMT+6" value="GMT+6" />
|
||||
<zone name="Etc/GMT-7" value="GMT-7" />
|
||||
<zone name="Etc/GMT+7" value="GMT+7" />
|
||||
<zone name="Etc/GMT-8" value="GMT-8" />
|
||||
<zone name="Etc/GMT+8" value="GMT+8" />
|
||||
<zone name="Etc/GMT-9" value="GMT-9" />
|
||||
<zone name="Etc/GMT+9" value="GMT+9" />
|
||||
<zone name="Etc/Greenwich" value="GMT0" />
|
||||
<zone name="Etc/UCT" value="UCT0" />
|
||||
<zone name="Etc/Universal" value="UTC0" />
|
||||
<zone name="Etc/UTC" value="UTC0" />
|
||||
<zone name="Etc/Zulu" value="UTC0" />
|
||||
|
||||
<zone name="Europe/Amsterdam" value="CET-1CEST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Europe/Andorra" value="CET-1CEST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Europe/Athens" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
|
||||
<zone name="Europe/Belfast" value="GMT0BST,M3.5.0/1,M10.5.0" />
|
||||
<zone name="Europe/Belgrade" value="CET-1CEST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Europe/Berlin" value="CET-1CEST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Europe/Bratislava" value="CET-1CEST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Europe/Brussels" value="CET-1CEST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Europe/Bucharest" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
|
||||
<zone name="Europe/Budapest" value="CET-1CEST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Europe/Chisinau" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
|
||||
<zone name="Europe/Copenhagen" value="CET-1CEST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Europe/Dublin" value="GMT0IST,M3.5.0/1,M10.5.0" />
|
||||
<zone name="Europe/Gibraltar" value="CET-1CEST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Europe/Guernsey" value="GMT0BST,M3.5.0/1,M10.5.0" />
|
||||
<zone name="Europe/Helsinki" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
|
||||
<zone name="Europe/Isle_of_Man" value="GMT0BST,M3.5.0/1,M10.5.0" />
|
||||
<zone name="Europe/Istanbul" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
|
||||
<zone name="Europe/Jersey" value="GMT0BST,M3.5.0/1,M10.5.0" />
|
||||
<zone name="Europe/Kaliningrad" value="EET-2EEST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Europe/Kiev" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
|
||||
<zone name="Europe/Lisbon" value="WET0WEST,M3.5.0/1,M10.5.0" />
|
||||
<zone name="Europe/Ljubljana" value="CET-1CEST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Europe/London" value="GMT0BST,M3.5.0/1,M10.5.0" />
|
||||
<zone name="Europe/Luxembourg" value="CET-1CEST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Europe/Madrid" value="CET-1CEST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Europe/Malta" value="CET-1CEST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Europe/Mariehamn" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
|
||||
<zone name="Europe/Minsk" value="EET-2EEST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Europe/Monaco" value="CET-1CEST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Europe/Moscow" value="MSK-3MSD,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Europe/Nicosia" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
|
||||
<zone name="Europe/Oslo" value="CET-1CEST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Europe/Paris" value="CET-1CEST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Europe/Podgorica" value="CET-1CEST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Europe/Prague" value="CET-1CEST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Europe/Riga" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
|
||||
<zone name="Europe/Rome" value="CET-1CEST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Europe/Samara" value="SAMT-4SAMST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Europe/San_Marino" value="CET-1CEST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Europe/Sarajevo" value="CET-1CEST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Europe/Simferopol" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
|
||||
<zone name="Europe/Skopje" value="CET-1CEST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Europe/Sofia" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
|
||||
<zone name="Europe/Stockholm" value="CET-1CEST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Europe/Tallinn" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
|
||||
<zone name="Europe/Tirane" value="CET-1CEST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Europe/Tiraspol" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
|
||||
<zone name="Europe/Uzhgorod" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
|
||||
<zone name="Europe/Vaduz" value="CET-1CEST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Europe/Vatican" value="CET-1CEST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Europe/Vienna" value="CET-1CEST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Europe/Vilnius" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
|
||||
<zone name="Europe/Volgograd" value="VOLT-3VOLST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Europe/Warsaw" value="CET-1CEST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Europe/Zagreb" value="CET-1CEST,M3.5.0,M10.5.0/3" />
|
||||
<zone name="Europe/Zaporozhye" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
|
||||
<zone name="Europe/Zurich" value="CET-1CEST,M3.5.0,M10.5.0/3" />
|
||||
|
||||
<zone name="Indian/Antananarivo" value="EAT-3" />
|
||||
<zone name="Indian/Chagos" value="IOT-6" />
|
||||
<zone name="Indian/Christmas" value="CXT-7" />
|
||||
<zone name="Indian/Cocos" value="CCT-6:30" />
|
||||
<zone name="Indian/Comoro" value="EAT-3" />
|
||||
<zone name="Indian/Kerguelen" value="TFT-5" />
|
||||
<zone name="Indian/Mahe" value="SCT-4" />
|
||||
<zone name="Indian/Maldives" value="MVT-5" />
|
||||
<zone name="Indian/Mauritius" value="MUT-4" />
|
||||
<zone name="Indian/Mayotte" value="EAT-3" />
|
||||
<zone name="Indian/Reunion" value="RET-4" />
|
||||
|
||||
<zone name="Mexico/BajaNorte" value="PST8PDT,M4.1.0,M10.5.0" />
|
||||
<zone name="Mexico/BajaSur" value="MST7MDT,M4.1.0,M10.5.0" />
|
||||
<zone name="Mexico/General" value="CST6CDT,M4.1.0,M10.5.0" />
|
||||
|
||||
<zone name="Mideast/Riyadh87" value="zzz-3:07:04" />
|
||||
<zone name="Mideast/Riyadh88" value="zzz-3:07:04" />
|
||||
<zone name="Mideast/Riyadh89" value="zzz-3:07:04" />
|
||||
|
||||
<zone name="Pacific/Apia" value="WST11" />
|
||||
<zone name="Pacific/Auckland" value="NZST-12NZDT,M9.5.0,M4.1.0/3" />
|
||||
<zone name="Pacific/Chatham" value="CHAST-12:45CHADT,M9.5.0/2:45,M4.1.0/3:45" />
|
||||
<zone name="Pacific/Easter" value="EASST" />
|
||||
<zone name="Pacific/Efate" value="VUT-11" />
|
||||
<zone name="Pacific/Enderbury" value="PHOT-13" />
|
||||
<zone name="Pacific/Fakaofo" value="TKT10" />
|
||||
<zone name="Pacific/Fiji" value="FJT-12" />
|
||||
<zone name="Pacific/Funafuti" value="TVT-12" />
|
||||
<zone name="Pacific/Galapagos" value="GALT6" />
|
||||
<zone name="Pacific/Gambier" value="GAMT9" />
|
||||
<zone name="Pacific/Guadalcanal" value="SBT-11" />
|
||||
<zone name="Pacific/Guam" value="ChST-10" />
|
||||
<zone name="Pacific/Honolulu" value="HST10" />
|
||||
<zone name="Pacific/Johnston" value="HST10" />
|
||||
<zone name="Pacific/Kiritimati" value="LINT-14" />
|
||||
<zone name="Pacific/Kosrae" value="KOST-11" />
|
||||
<zone name="Pacific/Kwajalein" value="MHT-12" />
|
||||
<zone name="Pacific/Majuro" value="MHT-12" />
|
||||
<zone name="Pacific/Marquesas" value="MART9:30" />
|
||||
<zone name="Pacific/Midway" value="SST11" />
|
||||
<zone name="Pacific/Nauru" value="NRT-12" />
|
||||
<zone name="Pacific/Niue" value="NUT11" />
|
||||
<zone name="Pacific/Norfolk" value="NFT-11:30" />
|
||||
<zone name="Pacific/Noumea" value="NCT-11" />
|
||||
<zone name="Pacific/Pago_Pago" value="SST11" />
|
||||
<zone name="Pacific/Palau" value="PWT-9" />
|
||||
<zone name="Pacific/Pitcairn" value="PST8" />
|
||||
<zone name="Pacific/Ponape" value="PONT-11" />
|
||||
<zone name="Pacific/Port_Moresby" value="PGT-10" />
|
||||
<zone name="Pacific/Rarotonga" value="CKT10" />
|
||||
<zone name="Pacific/Saipan" value="ChST-10" />
|
||||
<zone name="Pacific/Samoa" value="SST11" />
|
||||
<zone name="Pacific/Tahiti" value="TAHT10" />
|
||||
<zone name="Pacific/Tarawa" value="GILT-12" />
|
||||
<zone name="Pacific/Tongatapu" value="TOT-13" />
|
||||
<zone name="Pacific/Truk" value="TRUT-10" />
|
||||
<zone name="Pacific/Wake" value="WAKT-12" />
|
||||
<zone name="Pacific/Wallis" value="WFT-12" />
|
||||
<zone name="Pacific/Yap" value="TRUT-10" />
|
||||
|
||||
<zone name="SystemV/AST4" value="AST4" />
|
||||
<zone name="SystemV/AST4ADT" value="AST4ADT,M3.2.0,M11.1.0" />
|
||||
<zone name="SystemV/CST6" value="CST6" />
|
||||
<zone name="SystemV/CST6CDT" value="CST6CDT,M3.2.0,M11.1.0" />
|
||||
<zone name="SystemV/EST5" value="EST5" />
|
||||
<zone name="SystemV/EST5EDT" value="EST5EDT,M3.2.0,M11.1.0" />
|
||||
<zone name="SystemV/HST10" value="HST10" />
|
||||
<zone name="SystemV/MST7" value="MST7" />
|
||||
<zone name="SystemV/MST7MDT" value="MST7MDT,M3.2.0,M11.1.0" />
|
||||
<zone name="SystemV/PST8" value="PST8" />
|
||||
<zone name="SystemV/PST8PDT" value="PST8PDT,M3.2.0,M11.1.0" />
|
||||
<zone name="SystemV/YST9" value="GAMT9" />
|
||||
<zone name="SystemV/YST9YDT" value="AKST9AKDT,M3.2.0,M11.1.0" />
|
||||
|
||||
<zone name="US/Alaska" value="AKST9AKDT,M3.2.0,M11.1.0" />
|
||||
<zone name="US/Aleutian" value="HAST10HADT,M3.2.0,M11.1.0" />
|
||||
<zone name="US/Arizona" value="MST7" />
|
||||
<zone name="US/Central" value="CST6CDT,M3.2.0,M11.1.0" />
|
||||
<zone name="US/Eastern" value="EST5EDT,M3.2.0,M11.1.0" />
|
||||
<zone name="US/East-Indiana" value="EST5EDT,M3.2.0,M11.1.0" />
|
||||
<zone name="US/Hawaii" value="HST10" />
|
||||
<zone name="US/Indiana-Starke" value="CST6CDT,M3.2.0,M11.1.0" />
|
||||
<zone name="US/Michigan" value="EST5EDT,M3.2.0,M11.1.0" />
|
||||
<zone name="US/Mountain" value="MST7MDT,M3.2.0,M11.1.0" />
|
||||
<zone name="US/Pacific" value="PST8PDT,M3.2.0,M11.1.0" />
|
||||
<zone name="US/Samoa" value="SST11" />
|
||||
</timezones>
|
||||
</configuration>
|
|
@ -0,0 +1,28 @@
|
|||
<include>
|
||||
<configuration name="translate.conf" description="Number Translation Rules">
|
||||
<profiles>
|
||||
<profile name="US">
|
||||
<rule regex="^\+(\d+)$" replace="$1"/>
|
||||
<rule regex="^(1[2-9]\d{2}[2-9]\d{6})$" replace="$1"/>
|
||||
<rule regex="^([2-9]\d{2}[2-9]\d{6})$" replace="1$1"/>
|
||||
<rule regex="^([2-9]\d{6})$" replace="1${areacode}$1"/>
|
||||
<rule regex="^011(\d+)$" replace="$1"/>
|
||||
</profile>
|
||||
<profile name="GB">
|
||||
<rule regex="^\+(\d+)$" replace="$1"/>
|
||||
<rule regex="^$" replace="$1"/>
|
||||
</profile>
|
||||
<profile name="HK">
|
||||
<rule regex="\+(\d+)$" replace="$1"/>
|
||||
<rule regex="^(852\d{8})$" replace="$1"/>
|
||||
<rule regex="^(\d{8})$" replace="852$1"/>
|
||||
</profile>
|
||||
</profiles>
|
||||
<!--
|
||||
<profile name="">
|
||||
<rule regex="^\+(\d+)$" replace="$1"/>
|
||||
<rule regex="^$" replace="$1"/>
|
||||
</profile>
|
||||
-->
|
||||
</configuration>
|
||||
</include>
|
|
@ -0,0 +1,15 @@
|
|||
<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>
|
|
@ -0,0 +1,25 @@
|
|||
<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>
|
|
@ -0,0 +1,23 @@
|
|||
<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>
|
||||
|
|
@ -0,0 +1,74 @@
|
|||
<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"/>
|
||||
<!-- play-new-messages-lifo and play-saved-messages-lifo default is false, playing oldest messages first
|
||||
<param name="play-new-messages-lifo" value="false"/>
|
||||
<param name="play-saved-messages-lifo" value="false"/>
|
||||
-->
|
||||
<param name="login-keys" value="0"/>
|
||||
<param name="main-menu-key" value="0"/>
|
||||
<param name="config-menu-key" value="5"/>
|
||||
<param name="record-greeting-key" value="1"/>
|
||||
<param name="choose-greeting-key" value="2"/>
|
||||
<param name="change-pass-key" value="6"/>
|
||||
<param name="record-name-key" value="3"/>
|
||||
<param name="record-file-key" value="3"/>
|
||||
<param name="listen-file-key" value="1"/>
|
||||
<param name="save-file-key" value="2"/>
|
||||
<param name="delete-file-key" value="7"/>
|
||||
<param name="undelete-file-key" value="8"/>
|
||||
<param name="email-key" value="4"/>
|
||||
<param name="pause-key" value="0"/>
|
||||
<param name="restart-key" value="1"/>
|
||||
<param name="ff-key" value="6"/>
|
||||
<param name="rew-key" value="4"/>
|
||||
<param name="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="2"/>
|
||||
<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="9"/>
|
||||
<param name="vmain-extension" value="vmain XML default"/>
|
||||
<param name="vmain-key" value="*"/>
|
||||
<!-- playback created files as soon as they were recorded by default -->
|
||||
<!--<param name="auto-playback-recordings" value="true"/>-->
|
||||
<email>
|
||||
<param name="template-file" value="voicemail.tpl"/>
|
||||
<param name="notify-template-file" value="notify-voicemail.tpl"/>
|
||||
<!-- this is the format voicemail_time will have -->
|
||||
<param name="date-fmt" value="%A, %B %d %Y, %I %M %p"/>
|
||||
<param name="email-from" value="${voicemail_account}@${voicemail_domain}"/>
|
||||
</email>
|
||||
<!--<param name="storage-dir" value="/tmp"/>-->
|
||||
<!--<param name="odbc-dsn" value="dsn:user:pass"/>-->
|
||||
<!--<param name="record-comment" value="Your Comment"/>-->
|
||||
<!--<param name="record-title" value="Your Title"/>-->
|
||||
<!--<param name="record-copyright" value="Your Copyright"/>-->
|
||||
</profile>
|
||||
</profiles>
|
||||
</configuration>
|
|
@ -0,0 +1,211 @@
|
|||
<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_greeting_get" value="vm_fsdb_pref_greeting_get" />
|
||||
<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">
|
||||
<settings>
|
||||
<param name="Action-On-New-Message" value="new_msg:std_navigator" />
|
||||
</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="menu@voicemail_ivr" />
|
||||
</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="2" action="save_msg" variable="VM-Key-Main-Save-File" />
|
||||
<key dtmf="5" action="callback" variable="VM-Key-Main-Callback" />
|
||||
<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="0" 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="2" 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="2" 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="2" 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>
|
||||
|
||||
|
|
@ -0,0 +1,71 @@
|
|||
<configuration name="xml_cdr.conf" description="XML CDR CURL logger">
|
||||
<settings>
|
||||
<!-- the url to post to if blank web posting is disabled -->
|
||||
<!-- <param name="url" value="http://localhost/cdr_curl/post.php"/> -->
|
||||
|
||||
<!-- optional: credentials to send to web server -->
|
||||
<!-- <param name="cred" value="user:pass"/> -->
|
||||
|
||||
<!-- the total number of retries (not counting the first 'try') to post to webserver incase of failure -->
|
||||
<!-- <param name="retries" value="2"/> -->
|
||||
|
||||
<!-- delay between retries in seconds, default is 5 seconds -->
|
||||
<!-- <param name="delay" value="1"/> -->
|
||||
|
||||
<!-- 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>
|
|
@ -0,0 +1,49 @@
|
|||
<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>
|
|
@ -0,0 +1,10 @@
|
|||
<configuration name="xml_rpc.conf" description="XML RPC">
|
||||
<settings>
|
||||
<!-- The port where you want to run the http service (default 8080) -->
|
||||
<param name="http-port" value="8080"/>
|
||||
<!-- if all 3 of the following params exist all http traffic will require auth -->
|
||||
<param name="auth-realm" value="freeswitch"/>
|
||||
<param name="auth-user" value="freeswitch"/>
|
||||
<param name="auth-pass" value="works"/>
|
||||
</settings>
|
||||
</configuration>
|
|
@ -0,0 +1,12 @@
|
|||
<configuration name="xml_scgi.conf" description="SCGI XML Gateway">
|
||||
<bindings>
|
||||
<binding name="example">
|
||||
<!-- one or more |-delim of configuration|directory|dialplan -->
|
||||
<!-- <param name="host" value="127.0.0.1" bindings="dialplan"/> -->
|
||||
<!-- <param name="port" value="8080"/> -->
|
||||
<!-- <param name="timeout" value="10"/> -->
|
||||
<!-- 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>
|
|
@ -0,0 +1,6 @@
|
|||
<configuration name="zeroconf.conf" description="Zeroconf Event Handler">
|
||||
<settings>
|
||||
<param name="publish" value="yes"/>
|
||||
<param name="browse" value="_sip._udp"/>
|
||||
</settings>
|
||||
</configuration>
|
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<include>
|
||||
<context name="public">
|
||||
<extension name="dialplan-dgsm">
|
||||
<condition field="to" expression="^(.*)$">
|
||||
<action application="python" data="dialplan-dgsm"/>
|
||||
</condition>
|
||||
</extension>
|
||||
</context>
|
||||
</include>
|
|
@ -0,0 +1,63 @@
|
|||
<!--
|
||||
NOTICE:
|
||||
|
||||
This context is usually accessed via the external sip profile listening on port 5080.
|
||||
|
||||
It is recommended to have separate inbound and outbound contexts. Not only for security
|
||||
but clearing up why you would need to do such a thing. You don't want outside un-authenticated
|
||||
callers hitting your default context which allows dialing calls thru your providers and results
|
||||
in Toll Fraud.
|
||||
-->
|
||||
|
||||
<!-- http://wiki.freeswitch.org/wiki/Dialplan_XML -->
|
||||
<include>
|
||||
<context name="public">
|
||||
|
||||
<extension name="unloop">
|
||||
<condition field="${unroll_loops}" expression="^true$"/>
|
||||
<condition field="${sip_looped_call}" expression="^true$">
|
||||
<action application="deflect" data="${destination_number}"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<!--
|
||||
Tag anything pass thru here as an outside_call so you can make sure not
|
||||
to create any routing loops based on the conditions that it came from
|
||||
the outside of the switch.
|
||||
-->
|
||||
<extension name="outside_call" continue="true">
|
||||
<condition>
|
||||
<action application="set" data="outside_call=true"/>
|
||||
<action application="export" data="RFC2822_DATE=${strftime(%a, %d %b %Y %T %z)}"/>
|
||||
</condition>
|
||||
</extension>
|
||||
|
||||
<extension name="call_debug" continue="true">
|
||||
<condition field="${call_debug}" expression="^true$" break="never">
|
||||
<action application="info"/>
|
||||
</condition>
|
||||
</extension>
|
||||
|
||||
|
||||
<!--
|
||||
You can place files in the public directory to get included.
|
||||
-->
|
||||
<!--<X-PRE-PROCESS cmd="include" data="public/*.xml"/>-->
|
||||
<!--
|
||||
If you have made it this far lets challenge the caller and if they authenticate
|
||||
lets try what they dialed in the default context. (commented out by default)
|
||||
-->
|
||||
<!--
|
||||
<extension name="check_auth" continue="true">
|
||||
<condition field="${sip_authorized}" expression="^true$" break="never">
|
||||
<anti-action application="respond" data="407"/>
|
||||
</condition>
|
||||
</extension>
|
||||
|
||||
<extension name="transfer_to_default">
|
||||
<condition>
|
||||
<action application="transfer" data="${destination_number} XML default"/>
|
||||
</condition>
|
||||
</extension>
|
||||
-->
|
||||
</context>
|
||||
</include>
|
|
@ -0,0 +1,21 @@
|
|||
[default]
|
||||
|
||||
; Things you're used to....
|
||||
exten => music,n,Dial(SIP/1234@conference.freeswitch.org|120)
|
||||
|
||||
exten => _1XXXXX,n,set(cool=${EXTEN})
|
||||
exten => _1XXXXX,n,set(myvar=true)
|
||||
exten => _1XXXXX,n,Goto(default|music)
|
||||
exten => 2137991400/1000,n,Goto(default|music)
|
||||
|
||||
|
||||
; Some new magic you can do....
|
||||
exten => ~^(18(0{2}|8{2}|7{2}|6{2})\d{7})$,n,enum($1)
|
||||
exten => ~^(18(0{2}|8{2}|7{2}|6{2})\d{7})$,n,bridge(${enum_auto_route})
|
||||
|
||||
; instead of exten, put anything about the call you would rather match on.
|
||||
; either the names of a field in caller_profile or a string of variables to expand.
|
||||
caller_id_number => 2137991400,n,Goto(default|music)
|
||||
${sip_from_user} => bill,n,Goto(default|music)
|
||||
|
||||
|
Binary file not shown.
|
@ -0,0 +1,58 @@
|
|||
<?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>
|
||||
</document>
|
|
@ -0,0 +1,983 @@
|
|||
# This is a comment. I love comments.
|
||||
|
||||
# This file controls what Internet media types are sent to the client for
|
||||
# given file extension(s). Sending the correct media type to the client
|
||||
# is important so they know how to handle the content of the file.
|
||||
# Extra types can either be added here or by using an AddType directive
|
||||
# in your config files. For more information about Internet media types,
|
||||
# please read RFC 2045, 2046, 2047, 2048, and 2077. The Internet media type
|
||||
# registry is at <http://www.iana.org/assignments/media-types/>.
|
||||
|
||||
# MIME type Extensions
|
||||
application/activemessage
|
||||
application/andrew-inset ez
|
||||
application/applefile
|
||||
application/atom+xml atom
|
||||
application/atomcat+xml atomcat
|
||||
application/atomicmail
|
||||
application/atomsvc+xml atomsvc
|
||||
application/auth-policy+xml
|
||||
application/batch-smtp
|
||||
application/beep+xml
|
||||
application/cals-1840
|
||||
application/ccxml+xml ccxml
|
||||
application/cellml+xml
|
||||
application/cnrp+xml
|
||||
application/commonground
|
||||
application/conference-info+xml
|
||||
application/cpl+xml
|
||||
application/csta+xml
|
||||
application/cstadata+xml
|
||||
application/cybercash
|
||||
application/davmount+xml davmount
|
||||
application/dca-rft
|
||||
application/dec-dx
|
||||
application/dialog-info+xml
|
||||
application/dicom
|
||||
application/dns
|
||||
application/dvcs
|
||||
application/ecmascript ecma
|
||||
application/edi-consent
|
||||
application/edi-x12
|
||||
application/edifact
|
||||
application/epp+xml
|
||||
application/eshop
|
||||
application/fastinfoset
|
||||
application/fastsoap
|
||||
application/fits
|
||||
application/font-tdpfr pfr
|
||||
application/h224
|
||||
application/http
|
||||
application/hyperstudio stk
|
||||
application/iges
|
||||
application/im-iscomposing+xml
|
||||
application/index
|
||||
application/index.cmd
|
||||
application/index.obj
|
||||
application/index.response
|
||||
application/index.vnd
|
||||
application/iotp
|
||||
application/ipp
|
||||
application/isup
|
||||
application/javascript js
|
||||
application/json json
|
||||
application/kpml-request+xml
|
||||
application/kpml-response+xml
|
||||
application/mac-binhex40 hqx
|
||||
application/mac-compactpro cpt
|
||||
application/macwriteii
|
||||
application/marc mrc
|
||||
application/mathematica ma nb mb
|
||||
application/mathml+xml mathml
|
||||
application/mbms-associated-procedure-description+xml
|
||||
application/mbms-deregister+xml
|
||||
application/mbms-envelope+xml
|
||||
application/mbms-msk+xml
|
||||
application/mbms-msk-response+xml
|
||||
application/mbms-protection-description+xml
|
||||
application/mbms-reception-report+xml
|
||||
application/mbms-register+xml
|
||||
application/mbms-register-response+xml
|
||||
application/mbms-user-service-description+xml
|
||||
application/mbox mbox
|
||||
application/mediaservercontrol+xml mscml
|
||||
application/mikey
|
||||
application/mp4 mp4s
|
||||
application/mpeg4-generic
|
||||
application/mpeg4-iod
|
||||
application/mpeg4-iod-xmt
|
||||
application/msword doc dot
|
||||
application/mxf mxf
|
||||
application/nasdata
|
||||
application/news-message-id
|
||||
application/news-transmission
|
||||
application/nss
|
||||
application/ocsp-request
|
||||
application/ocsp-response
|
||||
application/octet-stream bin dms lha lzh class so iso dmg dist distz pkg bpk dump elc
|
||||
application/oda oda
|
||||
application/oebps-package+xml
|
||||
application/ogg ogg
|
||||
application/parityfec
|
||||
application/pdf pdf
|
||||
application/pgp-encrypted pgp
|
||||
application/pgp-keys
|
||||
application/pgp-signature asc sig
|
||||
application/pics-rules prf
|
||||
application/pidf+xml
|
||||
application/pkcs10 p10
|
||||
application/pkcs7-mime p7m p7c
|
||||
application/pkcs7-signature p7s
|
||||
application/pkix-cert cer
|
||||
application/pkix-crl crl
|
||||
application/pkix-pkipath pkipath
|
||||
application/pkixcmp pki
|
||||
application/pls+xml pls
|
||||
application/poc-settings+xml
|
||||
application/postscript ai eps ps
|
||||
application/prs.alvestrand.titrax-sheet
|
||||
application/prs.cww cww
|
||||
application/prs.nprend
|
||||
application/prs.plucker
|
||||
application/qsig
|
||||
application/rdf+xml rdf
|
||||
application/reginfo+xml rif
|
||||
application/relax-ng-compact-syntax rnc
|
||||
application/remote-printing
|
||||
application/resource-lists+xml rl
|
||||
application/riscos
|
||||
application/rlmi+xml
|
||||
application/rls-services+xml rs
|
||||
application/rsd+xml rsd
|
||||
application/rss+xml rss
|
||||
application/rtf rtf
|
||||
application/rtx
|
||||
application/samlassertion+xml
|
||||
application/samlmetadata+xml
|
||||
application/sbml+xml sbml
|
||||
application/sdp sdp
|
||||
application/set-payment
|
||||
application/set-payment-initiation setpay
|
||||
application/set-registration
|
||||
application/set-registration-initiation setreg
|
||||
application/sgml
|
||||
application/sgml-open-catalog
|
||||
application/shf+xml shf
|
||||
application/sieve
|
||||
application/simple-filter+xml
|
||||
application/simple-message-summary
|
||||
application/simplesymbolcontainer
|
||||
application/slate
|
||||
application/smil
|
||||
application/smil+xml smi smil
|
||||
application/soap+fastinfoset
|
||||
application/soap+xml
|
||||
application/spirits-event+xml
|
||||
application/srgs gram
|
||||
application/srgs+xml grxml
|
||||
application/ssml+xml ssml
|
||||
application/timestamp-query
|
||||
application/timestamp-reply
|
||||
application/tve-trigger
|
||||
application/vemmi
|
||||
application/vividence.scriptfile
|
||||
application/vnd.3gpp.bsf+xml
|
||||
application/vnd.3gpp.pic-bw-large plb
|
||||
application/vnd.3gpp.pic-bw-small psb
|
||||
application/vnd.3gpp.pic-bw-var pvb
|
||||
application/vnd.3gpp.sms
|
||||
application/vnd.3gpp2.bcmcsinfo+xml
|
||||
application/vnd.3gpp2.sms
|
||||
application/vnd.3m.post-it-notes pwn
|
||||
application/vnd.accpac.simply.aso aso
|
||||
application/vnd.accpac.simply.imp imp
|
||||
application/vnd.acucobol acu
|
||||
application/vnd.acucorp atc acutc
|
||||
application/vnd.adobe.xdp+xml xdp
|
||||
application/vnd.adobe.xfdf xfdf
|
||||
application/vnd.aether.imp
|
||||
application/vnd.amiga.ami ami
|
||||
application/vnd.anser-web-certificate-issue-initiation cii
|
||||
application/vnd.anser-web-funds-transfer-initiation fti
|
||||
application/vnd.antix.game-component atx
|
||||
application/vnd.apple.installer+xml mpkg
|
||||
application/vnd.audiograph aep
|
||||
application/vnd.autopackage
|
||||
application/vnd.avistar+xml
|
||||
application/vnd.blueice.multipass mpm
|
||||
application/vnd.bmi bmi
|
||||
application/vnd.businessobjects rep
|
||||
application/vnd.cab-jscript
|
||||
application/vnd.canon-cpdl
|
||||
application/vnd.canon-lips
|
||||
application/vnd.cendio.thinlinc.clientconf
|
||||
application/vnd.chemdraw+xml cdxml
|
||||
application/vnd.chipnuts.karaoke-mmd mmd
|
||||
application/vnd.cinderella cdy
|
||||
application/vnd.cirpack.isdn-ext
|
||||
application/vnd.claymore cla
|
||||
application/vnd.clonk.c4group c4g c4d c4f c4p c4u
|
||||
application/vnd.commerce-battelle
|
||||
application/vnd.commonspace csp cst
|
||||
application/vnd.contact.cmsg cdbcmsg
|
||||
application/vnd.cosmocaller cmc
|
||||
application/vnd.crick.clicker clkx
|
||||
application/vnd.crick.clicker.keyboard clkk
|
||||
application/vnd.crick.clicker.palette clkp
|
||||
application/vnd.crick.clicker.template clkt
|
||||
application/vnd.crick.clicker.wordbank clkw
|
||||
application/vnd.criticaltools.wbs+xml wbs
|
||||
application/vnd.ctc-posml pml
|
||||
application/vnd.cups-pdf
|
||||
application/vnd.cups-postscript
|
||||
application/vnd.cups-ppd ppd
|
||||
application/vnd.cups-raster
|
||||
application/vnd.cups-raw
|
||||
application/vnd.curl curl
|
||||
application/vnd.cybank
|
||||
application/vnd.data-vision.rdz rdz
|
||||
application/vnd.denovo.fcselayout-link fe_launch
|
||||
application/vnd.dna dna
|
||||
application/vnd.dolby.mlp mlp
|
||||
application/vnd.dpgraph dpg
|
||||
application/vnd.dreamfactory dfac
|
||||
application/vnd.dvb.esgcontainer
|
||||
application/vnd.dvb.ipdcesgaccess
|
||||
application/vnd.dxr
|
||||
application/vnd.ecdis-update
|
||||
application/vnd.ecowin.chart mag
|
||||
application/vnd.ecowin.filerequest
|
||||
application/vnd.ecowin.fileupdate
|
||||
application/vnd.ecowin.series
|
||||
application/vnd.ecowin.seriesrequest
|
||||
application/vnd.ecowin.seriesupdate
|
||||
application/vnd.enliven nml
|
||||
application/vnd.epson.esf esf
|
||||
application/vnd.epson.msf msf
|
||||
application/vnd.epson.quickanime qam
|
||||
application/vnd.epson.salt slt
|
||||
application/vnd.epson.ssf ssf
|
||||
application/vnd.ericsson.quickcall
|
||||
application/vnd.eszigno3+xml es3 et3
|
||||
application/vnd.eudora.data
|
||||
application/vnd.ezpix-album ez2
|
||||
application/vnd.ezpix-package ez3
|
||||
application/vnd.fdf fdf
|
||||
application/vnd.ffsns
|
||||
application/vnd.fints
|
||||
application/vnd.flographit gph
|
||||
application/vnd.fluxtime.clip ftc
|
||||
application/vnd.framemaker fm frame maker
|
||||
application/vnd.frogans.fnc fnc
|
||||
application/vnd.frogans.ltf ltf
|
||||
application/vnd.fsc.weblaunch fsc
|
||||
application/vnd.fujitsu.oasys oas
|
||||
application/vnd.fujitsu.oasys2 oa2
|
||||
application/vnd.fujitsu.oasys3 oa3
|
||||
application/vnd.fujitsu.oasysgp fg5
|
||||
application/vnd.fujitsu.oasysprs bh2
|
||||
application/vnd.fujixerox.art-ex
|
||||
application/vnd.fujixerox.art4
|
||||
application/vnd.fujixerox.hbpl
|
||||
application/vnd.fujixerox.ddd ddd
|
||||
application/vnd.fujixerox.docuworks xdw
|
||||
application/vnd.fujixerox.docuworks.binder xbd
|
||||
application/vnd.fut-misnet
|
||||
application/vnd.fuzzysheet fzs
|
||||
application/vnd.genomatix.tuxedo txd
|
||||
application/vnd.google-earth.kml+xml kml
|
||||
application/vnd.google-earth.kmz kmz
|
||||
application/vnd.grafeq gqf gqs
|
||||
application/vnd.gridmp
|
||||
application/vnd.groove-account gac
|
||||
application/vnd.groove-help ghf
|
||||
application/vnd.groove-identity-message gim
|
||||
application/vnd.groove-injector grv
|
||||
application/vnd.groove-tool-message gtm
|
||||
application/vnd.groove-tool-template tpl
|
||||
application/vnd.groove-vcard vcg
|
||||
application/vnd.handheld-entertainment+xml zmm
|
||||
application/vnd.hbci hbci
|
||||
application/vnd.hcl-bireports
|
||||
application/vnd.hhe.lesson-player les
|
||||
application/vnd.hp-hpgl hpgl
|
||||
application/vnd.hp-hpid hpid
|
||||
application/vnd.hp-hps hps
|
||||
application/vnd.hp-jlyt jlt
|
||||
application/vnd.hp-pcl pcl
|
||||
application/vnd.hp-pclxl pclxl
|
||||
application/vnd.httphone
|
||||
application/vnd.hzn-3d-crossword x3d
|
||||
application/vnd.ibm.afplinedata
|
||||
application/vnd.ibm.electronic-media
|
||||
application/vnd.ibm.minipay mpy
|
||||
application/vnd.ibm.modcap afp listafp list3820
|
||||
application/vnd.ibm.rights-management irm
|
||||
application/vnd.ibm.secure-container sc
|
||||
application/vnd.igloader igl
|
||||
application/vnd.immervision-ivp ivp
|
||||
application/vnd.immervision-ivu ivu
|
||||
application/vnd.informedcontrol.rms+xml
|
||||
application/vnd.intercon.formnet xpw xpx
|
||||
application/vnd.intertrust.digibox
|
||||
application/vnd.intertrust.nncp
|
||||
application/vnd.intu.qbo qbo
|
||||
application/vnd.intu.qfx qfx
|
||||
application/vnd.ipunplugged.rcprofile rcprofile
|
||||
application/vnd.irepository.package+xml irp
|
||||
application/vnd.is-xpr xpr
|
||||
application/vnd.jam jam
|
||||
application/vnd.japannet-directory-service
|
||||
application/vnd.japannet-jpnstore-wakeup
|
||||
application/vnd.japannet-payment-wakeup
|
||||
application/vnd.japannet-registration
|
||||
application/vnd.japannet-registration-wakeup
|
||||
application/vnd.japannet-setstore-wakeup
|
||||
application/vnd.japannet-verification
|
||||
application/vnd.japannet-verification-wakeup
|
||||
application/vnd.jcp.javame.midlet-rms rms
|
||||
application/vnd.jisp jisp
|
||||
application/vnd.kahootz ktz ktr
|
||||
application/vnd.kde.karbon karbon
|
||||
application/vnd.kde.kchart chrt
|
||||
application/vnd.kde.kformula kfo
|
||||
application/vnd.kde.kivio flw
|
||||
application/vnd.kde.kontour kon
|
||||
application/vnd.kde.kpresenter kpr kpt
|
||||
application/vnd.kde.kspread ksp
|
||||
application/vnd.kde.kword kwd kwt
|
||||
application/vnd.kenameaapp htke
|
||||
application/vnd.kidspiration kia
|
||||
application/vnd.kinar kne knp
|
||||
application/vnd.koan skp skd skt skm
|
||||
application/vnd.liberty-request+xml
|
||||
application/vnd.llamagraphics.life-balance.desktop lbd
|
||||
application/vnd.llamagraphics.life-balance.exchange+xml lbe
|
||||
application/vnd.lotus-1-2-3 123
|
||||
application/vnd.lotus-approach apr
|
||||
application/vnd.lotus-freelance pre
|
||||
application/vnd.lotus-notes nsf
|
||||
application/vnd.lotus-organizer org
|
||||
application/vnd.lotus-screencam scm
|
||||
application/vnd.lotus-wordpro lwp
|
||||
application/vnd.macports.portpkg portpkg
|
||||
application/vnd.marlin.drm.actiontoken+xml
|
||||
application/vnd.marlin.drm.conftoken+xml
|
||||
application/vnd.marlin.drm.mdcf
|
||||
application/vnd.mcd mcd
|
||||
application/vnd.medcalcdata mc1
|
||||
application/vnd.mediastation.cdkey cdkey
|
||||
application/vnd.meridian-slingshot
|
||||
application/vnd.mfer mwf
|
||||
application/vnd.mfmp mfm
|
||||
application/vnd.micrografx.flo flo
|
||||
application/vnd.micrografx.igx igx
|
||||
application/vnd.mif mif
|
||||
application/vnd.minisoft-hp3000-save
|
||||
application/vnd.mitsubishi.misty-guard.trustweb
|
||||
application/vnd.mobius.daf daf
|
||||
application/vnd.mobius.dis dis
|
||||
application/vnd.mobius.mbk mbk
|
||||
application/vnd.mobius.mqy mqy
|
||||
application/vnd.mobius.msl msl
|
||||
application/vnd.mobius.plc plc
|
||||
application/vnd.mobius.txf txf
|
||||
application/vnd.mophun.application mpn
|
||||
application/vnd.mophun.certificate mpc
|
||||
application/vnd.motorola.flexsuite
|
||||
application/vnd.motorola.flexsuite.adsi
|
||||
application/vnd.motorola.flexsuite.fis
|
||||
application/vnd.motorola.flexsuite.gotap
|
||||
application/vnd.motorola.flexsuite.kmr
|
||||
application/vnd.motorola.flexsuite.ttc
|
||||
application/vnd.motorola.flexsuite.wem
|
||||
application/vnd.mozilla.xul+xml xul
|
||||
application/vnd.ms-artgalry cil
|
||||
application/vnd.ms-asf asf
|
||||
application/vnd.ms-cab-compressed cab
|
||||
application/vnd.ms-excel xls xlm xla xlc xlt xlw
|
||||
application/vnd.ms-fontobject eot
|
||||
application/vnd.ms-htmlhelp chm
|
||||
application/vnd.ms-ims ims
|
||||
application/vnd.ms-lrm lrm
|
||||
application/vnd.ms-playready.initiator+xml
|
||||
application/vnd.ms-powerpoint ppt pps pot
|
||||
application/vnd.ms-project mpp mpt
|
||||
application/vnd.ms-tnef
|
||||
application/vnd.ms-wmdrm.lic-chlg-req
|
||||
application/vnd.ms-wmdrm.lic-resp
|
||||
application/vnd.ms-wmdrm.meter-chlg-req
|
||||
application/vnd.ms-wmdrm.meter-resp
|
||||
application/vnd.ms-works wps wks wcm wdb
|
||||
application/vnd.ms-wpl wpl
|
||||
application/vnd.ms-xpsdocument xps
|
||||
application/vnd.mseq mseq
|
||||
application/vnd.msign
|
||||
application/vnd.music-niff
|
||||
application/vnd.musician mus
|
||||
application/vnd.ncd.control
|
||||
application/vnd.nervana
|
||||
application/vnd.netfpx
|
||||
application/vnd.neurolanguage.nlu nlu
|
||||
application/vnd.noblenet-directory nnd
|
||||
application/vnd.noblenet-sealer nns
|
||||
application/vnd.noblenet-web nnw
|
||||
application/vnd.nokia.catalogs
|
||||
application/vnd.nokia.conml+wbxml
|
||||
application/vnd.nokia.conml+xml
|
||||
application/vnd.nokia.isds-radio-presets
|
||||
application/vnd.nokia.iptv.config+xml
|
||||
application/vnd.nokia.landmark+wbxml
|
||||
application/vnd.nokia.landmark+xml
|
||||
application/vnd.nokia.landmarkcollection+xml
|
||||
application/vnd.nokia.n-gage.ac+xml
|
||||
application/vnd.nokia.n-gage.data ngdat
|
||||
application/vnd.nokia.n-gage.symbian.install n-gage
|
||||
application/vnd.nokia.ncd
|
||||
application/vnd.nokia.pcd+wbxml
|
||||
application/vnd.nokia.pcd+xml
|
||||
application/vnd.nokia.radio-preset rpst
|
||||
application/vnd.nokia.radio-presets rpss
|
||||
application/vnd.novadigm.edm edm
|
||||
application/vnd.novadigm.edx edx
|
||||
application/vnd.novadigm.ext ext
|
||||
application/vnd.oasis.opendocument.chart odc
|
||||
application/vnd.oasis.opendocument.chart-template otc
|
||||
application/vnd.oasis.opendocument.formula odf
|
||||
application/vnd.oasis.opendocument.formula-template otf
|
||||
application/vnd.oasis.opendocument.graphics odg
|
||||
application/vnd.oasis.opendocument.graphics-template otg
|
||||
application/vnd.oasis.opendocument.image odi
|
||||
application/vnd.oasis.opendocument.image-template oti
|
||||
application/vnd.oasis.opendocument.presentation odp
|
||||
application/vnd.oasis.opendocument.presentation-template otp
|
||||
application/vnd.oasis.opendocument.spreadsheet ods
|
||||
application/vnd.oasis.opendocument.spreadsheet-template ots
|
||||
application/vnd.oasis.opendocument.text odt
|
||||
application/vnd.oasis.opendocument.text-master otm
|
||||
application/vnd.oasis.opendocument.text-template ott
|
||||
application/vnd.oasis.opendocument.text-web oth
|
||||
application/vnd.obn
|
||||
application/vnd.olpc-sugar xo
|
||||
application/vnd.oma-scws-config
|
||||
application/vnd.oma-scws-http-request
|
||||
application/vnd.oma-scws-http-response
|
||||
application/vnd.oma.bcast.associated-procedure-parameter+xml
|
||||
application/vnd.oma.bcast.drm-trigger+xml
|
||||
application/vnd.oma.bcast.imd+xml
|
||||
application/vnd.oma.bcast.notification+xml
|
||||
application/vnd.oma.bcast.sgboot
|
||||
application/vnd.oma.bcast.sgdd+xml
|
||||
application/vnd.oma.bcast.sgdu
|
||||
application/vnd.oma.bcast.simple-symbol-container
|
||||
application/vnd.oma.bcast.smartcard-trigger+xml
|
||||
application/vnd.oma.bcast.sprov+xml
|
||||
application/vnd.oma.dd2+xml dd2
|
||||
application/vnd.oma.drm.risd+xml
|
||||
application/vnd.oma.group-usage-list+xml
|
||||
application/vnd.oma.poc.groups+xml
|
||||
application/vnd.oma.xcap-directory+xml
|
||||
application/vnd.omads-email+xml
|
||||
application/vnd.omads-file+xml
|
||||
application/vnd.omads-folder+xml
|
||||
application/vnd.omaloc-supl-init
|
||||
application/vnd.openofficeorg.extension oxt
|
||||
application/vnd.osa.netdeploy
|
||||
application/vnd.osgi.dp dp
|
||||
application/vnd.otps.ct-kip+xml
|
||||
application/vnd.palm prc pdb pqa oprc
|
||||
application/vnd.paos.xml
|
||||
application/vnd.pg.format str
|
||||
application/vnd.pg.osasli ei6
|
||||
application/vnd.piaccess.application-licence
|
||||
application/vnd.picsel efif
|
||||
application/vnd.poc.group-advertisement+xml
|
||||
application/vnd.pocketlearn plf
|
||||
application/vnd.powerbuilder6 pbd
|
||||
application/vnd.powerbuilder6-s
|
||||
application/vnd.powerbuilder7
|
||||
application/vnd.powerbuilder7-s
|
||||
application/vnd.powerbuilder75
|
||||
application/vnd.powerbuilder75-s
|
||||
application/vnd.preminet
|
||||
application/vnd.previewsystems.box box
|
||||
application/vnd.proteus.magazine mgz
|
||||
application/vnd.publishare-delta-tree qps
|
||||
application/vnd.pvi.ptid1 ptid
|
||||
application/vnd.pwg-multiplexed
|
||||
application/vnd.pwg-xhtml-print+xml
|
||||
application/vnd.qualcomm.brew-app-res
|
||||
application/vnd.quark.quarkxpress qxd qxt qwd qwt qxl qxb
|
||||
application/vnd.rapid
|
||||
application/vnd.recordare.musicxml mxl
|
||||
application/vnd.recordare.musicxml+xml
|
||||
application/vnd.renlearn.rlprint
|
||||
application/vnd.rn-realmedia rm
|
||||
application/vnd.ruckus.download
|
||||
application/vnd.s3sms
|
||||
application/vnd.scribus
|
||||
application/vnd.sealed.3df
|
||||
application/vnd.sealed.csf
|
||||
application/vnd.sealed.doc
|
||||
application/vnd.sealed.eml
|
||||
application/vnd.sealed.mht
|
||||
application/vnd.sealed.net
|
||||
application/vnd.sealed.ppt
|
||||
application/vnd.sealed.tiff
|
||||
application/vnd.sealed.xls
|
||||
application/vnd.sealedmedia.softseal.html
|
||||
application/vnd.sealedmedia.softseal.pdf
|
||||
application/vnd.seemail see
|
||||
application/vnd.sema sema
|
||||
application/vnd.semd semd
|
||||
application/vnd.semf semf
|
||||
application/vnd.shana.informed.formdata ifm
|
||||
application/vnd.shana.informed.formtemplate itp
|
||||
application/vnd.shana.informed.interchange iif
|
||||
application/vnd.shana.informed.package ipk
|
||||
application/vnd.simtech-mindmapper twd twds
|
||||
application/vnd.smaf mmf
|
||||
application/vnd.solent.sdkm+xml sdkm sdkd
|
||||
application/vnd.spotfire.dxp dxp
|
||||
application/vnd.spotfire.sfs sfs
|
||||
application/vnd.sss-cod
|
||||
application/vnd.sss-dtf
|
||||
application/vnd.sss-ntf
|
||||
application/vnd.street-stream
|
||||
application/vnd.sun.wadl+xml
|
||||
application/vnd.sus-calendar sus susp
|
||||
application/vnd.svd svd
|
||||
application/vnd.swiftview-ics
|
||||
application/vnd.syncml+xml xsm
|
||||
application/vnd.syncml.dm+wbxml bdm
|
||||
application/vnd.syncml.dm+xml xdm
|
||||
application/vnd.syncml.ds.notification
|
||||
application/vnd.tao.intent-module-archive tao
|
||||
application/vnd.tmobile-livetv tmo
|
||||
application/vnd.trid.tpt tpt
|
||||
application/vnd.triscape.mxs mxs
|
||||
application/vnd.trueapp tra
|
||||
application/vnd.truedoc
|
||||
application/vnd.ufdl ufd ufdl
|
||||
application/vnd.uiq.theme utz
|
||||
application/vnd.umajin umj
|
||||
application/vnd.unity unityweb
|
||||
application/vnd.uoml+xml uoml
|
||||
application/vnd.uplanet.alert
|
||||
application/vnd.uplanet.alert-wbxml
|
||||
application/vnd.uplanet.bearer-choice
|
||||
application/vnd.uplanet.bearer-choice-wbxml
|
||||
application/vnd.uplanet.cacheop
|
||||
application/vnd.uplanet.cacheop-wbxml
|
||||
application/vnd.uplanet.channel
|
||||
application/vnd.uplanet.channel-wbxml
|
||||
application/vnd.uplanet.list
|
||||
application/vnd.uplanet.list-wbxml
|
||||
application/vnd.uplanet.listcmd
|
||||
application/vnd.uplanet.listcmd-wbxml
|
||||
application/vnd.uplanet.signal
|
||||
application/vnd.vcx vcx
|
||||
application/vnd.vd-study
|
||||
application/vnd.vectorworks
|
||||
application/vnd.vidsoft.vidconference
|
||||
application/vnd.visio vsd vst vss vsw
|
||||
application/vnd.visionary vis
|
||||
application/vnd.vividence.scriptfile
|
||||
application/vnd.vsf vsf
|
||||
application/vnd.wap.sic
|
||||
application/vnd.wap.slc
|
||||
application/vnd.wap.wbxml wbxml
|
||||
application/vnd.wap.wmlc wmlc
|
||||
application/vnd.wap.wmlscriptc wmlsc
|
||||
application/vnd.webturbo wtb
|
||||
application/vnd.wfa.wsc
|
||||
application/vnd.wordperfect wpd
|
||||
application/vnd.wqd wqd
|
||||
application/vnd.wrq-hp3000-labelled
|
||||
application/vnd.wt.stf stf
|
||||
application/vnd.wv.csp+wbxml
|
||||
application/vnd.wv.csp+xml
|
||||
application/vnd.wv.ssp+xml
|
||||
application/vnd.xara xar
|
||||
application/vnd.xfdl xfdl
|
||||
application/vnd.xmpie.cpkg
|
||||
application/vnd.xmpie.dpkg
|
||||
application/vnd.xmpie.plan
|
||||
application/vnd.xmpie.ppkg
|
||||
application/vnd.xmpie.xlim
|
||||
application/vnd.yamaha.hv-dic hvd
|
||||
application/vnd.yamaha.hv-script hvs
|
||||
application/vnd.yamaha.hv-voice hvp
|
||||
application/vnd.yamaha.smaf-audio saf
|
||||
application/vnd.yamaha.smaf-phrase spf
|
||||
application/vnd.yellowriver-custom-menu cmp
|
||||
application/vnd.zzazz.deck+xml zaz
|
||||
application/voicexml+xml vxml
|
||||
application/watcherinfo+xml
|
||||
application/whoispp-query
|
||||
application/whoispp-response
|
||||
application/winhlp hlp
|
||||
application/wita
|
||||
application/wordperfect5.1
|
||||
application/wsdl+xml wsdl
|
||||
application/wspolicy+xml wspolicy
|
||||
application/x-ace-compressed ace
|
||||
application/x-bcpio bcpio
|
||||
application/x-bittorrent torrent
|
||||
application/x-bzip bz
|
||||
application/x-bzip2 bz2 boz
|
||||
application/x-cdlink vcd
|
||||
application/x-chat chat
|
||||
application/x-chess-pgn pgn
|
||||
application/x-compress
|
||||
application/x-cpio cpio
|
||||
application/x-csh csh
|
||||
application/x-director dcr dir dxr fgd
|
||||
application/x-dvi dvi
|
||||
application/x-futuresplash spl
|
||||
application/x-gtar gtar
|
||||
application/x-gzip
|
||||
application/x-hdf hdf
|
||||
application/x-latex latex
|
||||
application/x-ms-wmd wmd
|
||||
application/x-ms-wmz wmz
|
||||
application/x-msaccess mdb
|
||||
application/x-msbinder obd
|
||||
application/x-mscardfile crd
|
||||
application/x-msclip clp
|
||||
application/x-msdownload exe dll com bat msi
|
||||
application/x-msmediaview mvb m13 m14
|
||||
application/x-msmetafile wmf
|
||||
application/x-msmoney mny
|
||||
application/x-mspublisher pub
|
||||
application/x-msschedule scd
|
||||
application/x-msterminal trm
|
||||
application/x-mswrite wri
|
||||
application/x-netcdf nc cdf
|
||||
application/x-pkcs12 p12 pfx
|
||||
application/x-pkcs7-certificates p7b spc
|
||||
application/x-pkcs7-certreqresp p7r
|
||||
application/x-rar-compressed rar
|
||||
application/x-sh sh
|
||||
application/x-shar shar
|
||||
application/x-shockwave-flash swf
|
||||
application/x-stuffit sit
|
||||
application/x-stuffitx sitx
|
||||
application/x-sv4cpio sv4cpio
|
||||
application/x-sv4crc sv4crc
|
||||
application/x-tar tar
|
||||
application/x-tcl tcl
|
||||
application/x-tex tex
|
||||
application/x-texinfo texinfo texi
|
||||
application/x-ustar ustar
|
||||
application/x-wais-source src
|
||||
application/x-x509-ca-cert der crt
|
||||
application/x400-bp
|
||||
application/xcap-att+xml
|
||||
application/xcap-caps+xml
|
||||
application/xcap-el+xml
|
||||
application/xcap-error+xml
|
||||
application/xcap-ns+xml
|
||||
application/xenc+xml xenc
|
||||
application/xhtml+xml xhtml xht
|
||||
application/xml xml xsl
|
||||
application/xml-dtd dtd
|
||||
application/xml-external-parsed-entity
|
||||
application/xmpp+xml
|
||||
application/xop+xml xop
|
||||
application/xslt+xml xslt
|
||||
application/xspf+xml xspf
|
||||
application/xv+xml mxml xhvml xvml xvm
|
||||
application/zip zip
|
||||
audio/32kadpcm
|
||||
audio/3gpp
|
||||
audio/3gpp2
|
||||
audio/ac3
|
||||
audio/amr
|
||||
audio/amr-wb
|
||||
audio/amr-wb+
|
||||
audio/asc
|
||||
audio/basic au snd
|
||||
audio/bv16
|
||||
audio/bv32
|
||||
audio/clearmode
|
||||
audio/cn
|
||||
audio/dat12
|
||||
audio/dls
|
||||
audio/dsr-es201108
|
||||
audio/dsr-es202050
|
||||
audio/dsr-es202211
|
||||
audio/dsr-es202212
|
||||
audio/dvi4
|
||||
audio/eac3
|
||||
audio/evrc
|
||||
audio/evrc-qcp
|
||||
audio/evrc0
|
||||
audio/evrc1
|
||||
audio/evrcb
|
||||
audio/evrcb0
|
||||
audio/evrcb1
|
||||
audio/g722
|
||||
audio/g7221
|
||||
audio/g723
|
||||
audio/g726-16
|
||||
audio/g726-24
|
||||
audio/g726-32
|
||||
audio/g726-40
|
||||
audio/g728
|
||||
audio/g729
|
||||
audio/g7291
|
||||
audio/g729d
|
||||
audio/g729e
|
||||
audio/gsm
|
||||
audio/gsm-efr
|
||||
audio/ilbc
|
||||
audio/l16
|
||||
audio/l20
|
||||
audio/l24
|
||||
audio/l8
|
||||
audio/lpc
|
||||
audio/midi mid midi kar rmi
|
||||
audio/mobile-xmf
|
||||
audio/mp4 mp4a
|
||||
audio/mp4a-latm
|
||||
audio/mpa
|
||||
audio/mpa-robust
|
||||
audio/mpeg mpga mp2 mp2a mp3 m2a m3a
|
||||
audio/mpeg4-generic
|
||||
audio/parityfec
|
||||
audio/pcma
|
||||
audio/pcmu
|
||||
audio/prs.sid
|
||||
audio/qcelp
|
||||
audio/red
|
||||
audio/rtp-enc-aescm128
|
||||
audio/rtp-midi
|
||||
audio/rtx
|
||||
audio/smv
|
||||
audio/smv0
|
||||
audio/smv-qcp
|
||||
audio/sp-midi
|
||||
audio/t140c
|
||||
audio/t38
|
||||
audio/telephone-event
|
||||
audio/tone
|
||||
audio/vdvi
|
||||
audio/vmr-wb
|
||||
audio/vnd.3gpp.iufp
|
||||
audio/vnd.4sb
|
||||
audio/vnd.audiokoz
|
||||
audio/vnd.celp
|
||||
audio/vnd.cisco.nse
|
||||
audio/vnd.cmles.radio-events
|
||||
audio/vnd.cns.anp1
|
||||
audio/vnd.cns.inf1
|
||||
audio/vnd.digital-winds eol
|
||||
audio/vnd.dlna.adts
|
||||
audio/vnd.dolby.mlp
|
||||
audio/vnd.everad.plj
|
||||
audio/vnd.hns.audio
|
||||
audio/vnd.lucent.voice lvp
|
||||
audio/vnd.nokia.mobile-xmf
|
||||
audio/vnd.nortel.vbk
|
||||
audio/vnd.nuera.ecelp4800 ecelp4800
|
||||
audio/vnd.nuera.ecelp7470 ecelp7470
|
||||
audio/vnd.nuera.ecelp9600 ecelp9600
|
||||
audio/vnd.octel.sbc
|
||||
audio/vnd.qcelp
|
||||
audio/vnd.rhetorex.32kadpcm
|
||||
audio/vnd.sealedmedia.softseal.mpeg
|
||||
audio/vnd.vmx.cvsd
|
||||
audio/wav wav
|
||||
audio/x-aiff aif aiff aifc
|
||||
audio/x-mpegurl m3u
|
||||
audio/x-ms-wax wax
|
||||
audio/x-ms-wma wma
|
||||
audio/x-pn-realaudio ram ra
|
||||
audio/x-pn-realaudio-plugin rmp
|
||||
audio/x-wav wav
|
||||
chemical/x-cdx cdx
|
||||
chemical/x-cif cif
|
||||
chemical/x-cmdf cmdf
|
||||
chemical/x-cml cml
|
||||
chemical/x-csml csml
|
||||
chemical/x-pdb pdb
|
||||
chemical/x-xyz xyz
|
||||
image/bmp bmp
|
||||
image/cgm cgm
|
||||
image/fits
|
||||
image/g3fax g3
|
||||
image/gif gif
|
||||
image/ief ief
|
||||
image/jp2
|
||||
image/jpeg jpeg jpg jpe
|
||||
image/jpm
|
||||
image/jpx
|
||||
image/naplps
|
||||
image/png png
|
||||
image/prs.btif btif
|
||||
image/prs.pti
|
||||
image/svg+xml svg svgz
|
||||
image/t38
|
||||
image/tiff tiff tif
|
||||
image/tiff-fx
|
||||
image/vnd.adobe.photoshop psd
|
||||
image/vnd.cns.inf2
|
||||
image/vnd.djvu djvu djv
|
||||
image/vnd.dwg dwg
|
||||
image/vnd.dxf dxf
|
||||
image/vnd.fastbidsheet fbs
|
||||
image/vnd.fpx fpx
|
||||
image/vnd.fst fst
|
||||
image/vnd.fujixerox.edmics-mmr mmr
|
||||
image/vnd.fujixerox.edmics-rlc rlc
|
||||
image/vnd.globalgraphics.pgb
|
||||
image/vnd.microsoft.icon ico
|
||||
image/vnd.mix
|
||||
image/vnd.ms-modi mdi
|
||||
image/vnd.net-fpx npx
|
||||
image/vnd.sealed.png
|
||||
image/vnd.sealedmedia.softseal.gif
|
||||
image/vnd.sealedmedia.softseal.jpg
|
||||
image/vnd.svf
|
||||
image/vnd.wap.wbmp wbmp
|
||||
image/vnd.xiff xif
|
||||
image/x-cmu-raster ras
|
||||
image/x-cmx cmx
|
||||
image/x-icon
|
||||
image/x-pcx pcx
|
||||
image/x-pict pic pct
|
||||
image/x-portable-anymap pnm
|
||||
image/x-portable-bitmap pbm
|
||||
image/x-portable-graymap pgm
|
||||
image/x-portable-pixmap ppm
|
||||
image/x-rgb rgb
|
||||
image/x-xbitmap xbm
|
||||
image/x-xpixmap xpm
|
||||
image/x-xwindowdump xwd
|
||||
message/cpim
|
||||
message/delivery-status
|
||||
message/disposition-notification
|
||||
message/external-body
|
||||
message/http
|
||||
message/news
|
||||
message/partial
|
||||
message/rfc822 eml mime
|
||||
message/s-http
|
||||
message/sip
|
||||
message/sipfrag
|
||||
message/tracking-status
|
||||
model/iges igs iges
|
||||
model/mesh msh mesh silo
|
||||
model/vnd.dwf dwf
|
||||
model/vnd.flatland.3dml
|
||||
model/vnd.gdl gdl
|
||||
model/vnd.gs.gdl
|
||||
model/vnd.gtw gtw
|
||||
model/vnd.moml+xml
|
||||
model/vnd.mts mts
|
||||
model/vnd.parasolid.transmit.binary
|
||||
model/vnd.parasolid.transmit.text
|
||||
model/vnd.vtu vtu
|
||||
model/vrml wrl vrml
|
||||
multipart/alternative
|
||||
multipart/appledouble
|
||||
multipart/byteranges
|
||||
multipart/digest
|
||||
multipart/encrypted
|
||||
multipart/form-data
|
||||
multipart/header-set
|
||||
multipart/mixed
|
||||
multipart/parallel
|
||||
multipart/related
|
||||
multipart/report
|
||||
multipart/signed
|
||||
multipart/voice-message
|
||||
text/calendar ics ifb
|
||||
text/css css
|
||||
text/csv csv
|
||||
text/directory
|
||||
text/dns
|
||||
text/enriched
|
||||
text/html html htm
|
||||
text/parityfec
|
||||
text/plain txt text conf def list log in
|
||||
text/prs.fallenstein.rst
|
||||
text/prs.lines.tag dsc
|
||||
text/red
|
||||
text/rfc822-headers
|
||||
text/richtext rtx
|
||||
text/rtf
|
||||
text/rtp-enc-aescm128
|
||||
text/rtx
|
||||
text/sgml sgml sgm
|
||||
text/t140
|
||||
text/tab-separated-values tsv
|
||||
text/troff t tr roff man me ms
|
||||
text/uri-list uri uris urls
|
||||
text/vnd.abc
|
||||
text/vnd.curl
|
||||
text/vnd.dmclientscript
|
||||
text/vnd.esmertec.theme-descriptor
|
||||
text/vnd.fly fly
|
||||
text/vnd.fmi.flexstor flx
|
||||
text/vnd.in3d.3dml 3dml
|
||||
text/vnd.in3d.spot spot
|
||||
text/vnd.iptc.newsml
|
||||
text/vnd.iptc.nitf
|
||||
text/vnd.latex-z
|
||||
text/vnd.motorola.reflex
|
||||
text/vnd.ms-mediapackage
|
||||
text/vnd.net2phone.commcenter.command
|
||||
text/vnd.sun.j2me.app-descriptor jad
|
||||
text/vnd.trolltech.linguist
|
||||
text/vnd.wap.si
|
||||
text/vnd.wap.sl
|
||||
text/vnd.wap.wml wml
|
||||
text/vnd.wap.wmlscript wmls
|
||||
text/x-asm s asm
|
||||
text/x-c c cc cxx cpp h hh dic
|
||||
text/x-fortran f for f77 f90
|
||||
text/x-pascal p pas
|
||||
text/x-java-source java
|
||||
text/x-setext etx
|
||||
text/x-uuencode uu
|
||||
text/x-vcalendar vcs
|
||||
text/x-vcard vcf
|
||||
text/xml
|
||||
text/xml-external-parsed-entity
|
||||
video/3gpp 3gp
|
||||
video/3gpp-tt
|
||||
video/3gpp2 3g2
|
||||
video/bmpeg
|
||||
video/bt656
|
||||
video/celb
|
||||
video/dv
|
||||
video/h261 h261
|
||||
video/h263 h263
|
||||
video/h263-1998
|
||||
video/h263-2000
|
||||
video/h264 h264
|
||||
video/jpeg jpgv
|
||||
video/jpm jpm jpgm
|
||||
video/mj2 mj2 mjp2
|
||||
video/mp1s
|
||||
video/mp2p
|
||||
video/mp2t
|
||||
video/mp4 mp4 mp4v mpg4
|
||||
video/mp4v-es
|
||||
video/mpeg mpeg mpg mpe m1v m2v
|
||||
video/mpeg4-generic
|
||||
video/mpv
|
||||
video/nv
|
||||
video/parityfec
|
||||
video/pointer
|
||||
video/quicktime qt mov
|
||||
video/raw
|
||||
video/rtp-enc-aescm128
|
||||
video/rtx
|
||||
video/smpte292m
|
||||
video/vc1
|
||||
video/vnd.dlna.mpeg-tts
|
||||
video/vnd.fvt fvt
|
||||
video/vnd.hns.video
|
||||
video/vnd.motorola.video
|
||||
video/vnd.motorola.videop
|
||||
video/vnd.mpegurl mxu m4u
|
||||
video/vnd.nokia.interleaved-multimedia
|
||||
video/vnd.nokia.videovoip
|
||||
video/vnd.objectvideo
|
||||
video/vnd.sealed.mpeg1
|
||||
video/vnd.sealed.mpeg4
|
||||
video/vnd.sealed.swf
|
||||
video/vnd.sealedmedia.softseal.mov
|
||||
video/vnd.vivo viv
|
||||
video/x-fli fli
|
||||
video/x-ms-asf asf asx
|
||||
video/x-ms-wm wm
|
||||
video/x-ms-wmv wmv
|
||||
video/x-ms-wmx wmx
|
||||
video/x-ms-wvx wvx
|
||||
video/x-msvideo avi
|
||||
video/x-sgi-movie movie
|
||||
x-conference/x-cooltalk ice
|
|
@ -0,0 +1,412 @@
|
|||
<profile name="internal">
|
||||
<!--
|
||||
This is a sofia sip profile/user agent. This will service exactly one ip and port.
|
||||
In FreeSWITCH you can run multiple sip user agents on their own ip and port.
|
||||
|
||||
When you hear someone say "sofia profile" this is what they are talking about.
|
||||
-->
|
||||
|
||||
<!-- http://wiki.freeswitch.org/wiki/Sofia_Configuration_Files -->
|
||||
<!--aliases are other names that will work as a valid profile name for this profile-->
|
||||
<aliases>
|
||||
<!--
|
||||
<alias name="default"/>
|
||||
-->
|
||||
</aliases>
|
||||
<!-- Outbound Registrations -->
|
||||
|
||||
<domains>
|
||||
<!-- indicator to parse the directory for domains with parse="true" to get gateways-->
|
||||
<!--<domain name="$${domain}" parse="true"/>-->
|
||||
<!-- indicator to parse the directory for domains with parse="true" to get gateways and alias every domain to this profile -->
|
||||
<!--<domain name="all" alias="true" parse="true"/>-->
|
||||
<domain name="all" alias="true" parse="false"/>
|
||||
</domains>
|
||||
|
||||
<settings>
|
||||
|
||||
|
||||
<!-- inject delay between dtmf digits on send to help some slow interpreters (also per channel with rtp_digit_delay var -->
|
||||
<!-- <param name="rtp-digit-delay" value="40"/>-->
|
||||
|
||||
<!--
|
||||
When calls are in no media this will bring them back to media
|
||||
when you press the hold button.
|
||||
-->
|
||||
<!--<param name="media-option" value="resume-media-on-hold"/> -->
|
||||
<!--
|
||||
This will allow a call after an attended transfer go back to
|
||||
bypass media after an attended transfer.
|
||||
-->
|
||||
<!--<param name="media-option" value="bypass-media-after-att-xfer"/>-->
|
||||
<!-- <param name="user-agent-string" value="FreeSWITCH Rocks!"/> -->
|
||||
<param name="debug" value="0"/>
|
||||
<!-- If you want FreeSWITCH to shutdown if this profile fails to load, uncomment the next line. -->
|
||||
<!-- <param name="shutdown-on-fail" value="true"/> -->
|
||||
<param name="sip-trace" value="no"/>
|
||||
<param name="sip-capture" value="no"/>
|
||||
|
||||
<!-- Use presence_map.conf.xml to convert extension regex to presence protos for routing -->
|
||||
<!-- <param name="presence-proto-lookup" value="true"/> -->
|
||||
|
||||
|
||||
<!-- Don't be picky about negotiated DTMF just always offer 2833 and accept both 2833 and INFO -->
|
||||
<param name="liberal-dtmf" value="true"/>
|
||||
|
||||
|
||||
<!--
|
||||
Sometimes, in extremely rare edge cases, the Sofia SIP stack may stop
|
||||
responding. These options allow you to enable and control a watchdog
|
||||
on the Sofia SIP stack so that if it stops responding for the
|
||||
specified number of milliseconds, it will cause FreeSWITCH to crash
|
||||
immediately. This is useful if you run in an HA environment and
|
||||
need to ensure automated recovery from such a condition. Note that if
|
||||
your server is idle a lot, the watchdog may fire due to not receiving
|
||||
any SIP messages. Thus, if you expect your system to be idle, you
|
||||
should leave the watchdog disabled. It can be toggled on and off
|
||||
through the FreeSWITCH CLI either on an individual profile basis or
|
||||
globally for all profiles. So, if you run in an HA environment with a
|
||||
master and slave, you should use the CLI to make sure the watchdog is
|
||||
only enabled on the master.
|
||||
If such crash occurs, FreeSWITCH will dump core if allowed. The
|
||||
stacktrace will include function watchdog_triggered_abort().
|
||||
-->
|
||||
<param name="watchdog-enabled" value="no"/>
|
||||
<param name="watchdog-step-timeout" value="30000"/>
|
||||
<param name="watchdog-event-timeout" value="30000"/>
|
||||
|
||||
<param name="log-auth-failures" value="false"/>
|
||||
<param name="forward-unsolicited-mwi-notify" value="false"/>
|
||||
|
||||
<param name="context" value="public"/>
|
||||
<param name="rfc2833-pt" value="101"/>
|
||||
<!-- port to bind to for sip traffic -->
|
||||
<param name="sip-port" value="5069"/> <!-- FIXME: ${SIPCON_REMOTE_PORT} -->
|
||||
<param name="dialplan" value="XML"/>
|
||||
<param name="dtmf-duration" value="2000"/>
|
||||
<param name="inbound-codec-prefs" value="$${global_codec_prefs}"/>
|
||||
<param name="outbound-codec-prefs" value="$${global_codec_prefs}"/>
|
||||
<param name="rtp-timer-name" value="soft"/>
|
||||
<!-- ip address to use for rtp, DO NOT USE HOSTNAMES ONLY IP ADDRESSES -->
|
||||
<param name="rtp-ip" value="$${local_ip_v4}"/>
|
||||
<!-- ip address to bind to, DO NOT USE HOSTNAMES ONLY IP ADDRESSES -->
|
||||
<param name="sip-ip" value="127.0.0.1"/> <!-- FIXME: ${SIPCON_REMOTE} -->
|
||||
<!--<param name="hold-music" value="$${hold_music}"/>-->
|
||||
<param name="apply-nat-acl" value="nat.auto"/>
|
||||
|
||||
|
||||
<!-- (default true) set to false if you do not wish to have called party info in 1XX responses -->
|
||||
<!-- <param name="cid-in-1xx" value="false"/> -->
|
||||
|
||||
<!-- extended info parsing -->
|
||||
<!-- <param name="extended-info-parsing" value="true"/> -->
|
||||
|
||||
<param name="aggressive-nat-detection" value="false"/>
|
||||
<!--
|
||||
There are known issues (asserts and segfaults) when 100rel is enabled.
|
||||
It is not recommended to enable 100rel at this time.
|
||||
-->
|
||||
<!--<param name="enable-100rel" value="true"/>-->
|
||||
|
||||
<!-- uncomment if you don't wish to try a next SRV destination on 503 response -->
|
||||
<!-- RFC3263 Section 4.3 -->
|
||||
<!--<param name="disable-srv503" value="true"/>-->
|
||||
|
||||
<!-- Enable Compact SIP headers. -->
|
||||
<!--<param name="enable-compact-headers" value="true"/>-->
|
||||
<!--
|
||||
enable/disable session timers
|
||||
-->
|
||||
<!--<param name="enable-timer" value="false"/>-->
|
||||
<!--<param name="minimum-session-expires" value="120"/>-->
|
||||
<param name="apply-inbound-acl" value="domains"/>
|
||||
<!--
|
||||
This defines your local network, by default we detect your local network
|
||||
and create this localnet.auto ACL for this.
|
||||
-->
|
||||
<param name="local-network-acl" value="localnet.auto"/>
|
||||
<param name="apply-register-acl" value="domains"/>
|
||||
<param name="apply-candidate-acl" value="domains"/>
|
||||
<!--<param name="dtmf-type" value="info"/>-->
|
||||
|
||||
|
||||
<!-- 'true' means every time 'first-only' means on the first register -->
|
||||
<!--<param name="send-message-query-on-register" value="true"/>-->
|
||||
|
||||
<!-- 'true' means every time 'first-only' means on the first register -->
|
||||
<!--<param name="send-presence-on-register" value="first-only"/> -->
|
||||
|
||||
|
||||
<!-- Caller-ID type (choose one, can be overridden by inbound call type and/or sip_cid_type channel variable -->
|
||||
<!-- Remote-Party-ID header -->
|
||||
<!--<param name="caller-id-type" value="rpid"/>-->
|
||||
|
||||
<!-- P-*-Identity family of headers -->
|
||||
<!--<param name="caller-id-type" value="pid"/>-->
|
||||
|
||||
<!-- neither one -->
|
||||
<!--<param name="caller-id-type" value="none"/>-->
|
||||
|
||||
|
||||
|
||||
<param name="record-path" value="$${recordings_dir}"/>
|
||||
<param name="record-template" value="${caller_id_number}.${target_domain}.${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/>
|
||||
<!--enable to use presence -->
|
||||
<param name="manage-presence" value="false"/>
|
||||
<!-- send a presence probe on each register to query devices to send presence instead of sending presence with less info -->
|
||||
<!--<param name="presence-probe-on-register" value="true"/>-->
|
||||
<!--<param name="manage-shared-appearance" value="true"/>-->
|
||||
<!-- used to share presence info across sofia profiles -->
|
||||
<!-- Name of the db to use for this profile -->
|
||||
<!--<param name="dbname" value="share_presence"/>-->
|
||||
<param name="presence-hosts" value="$${domain},$${local_ip_v4}"/>
|
||||
<param name="presence-privacy" value="$${presence_privacy}"/>
|
||||
<!-- ************************************************* -->
|
||||
|
||||
<!-- This setting is for AAL2 bitpacking on G726 -->
|
||||
<!-- <param name="bitpacking" value="aal2"/> -->
|
||||
<!--max number of open dialogs in proceeding -->
|
||||
<!--<param name="max-proceeding" value="1000"/>-->
|
||||
<!--session timers for all call to expire after the specified seconds -->
|
||||
<!--<param name="session-timeout" value="1800"/>-->
|
||||
<!-- Can be 'true' or 'contact' -->
|
||||
<!--<param name="multiple-registrations" value="contact"/>-->
|
||||
<!--set to 'greedy' if you want your codec list to take precedence -->
|
||||
<param name="inbound-codec-negotiation" value="generous"/>
|
||||
<!-- if you want to send any special bind params of your own -->
|
||||
<!--<param name="bind-params" value="transport=udp"/>-->
|
||||
<!--<param name="unregister-on-options-fail" value="true"/>-->
|
||||
<!-- Send an OPTIONS packet to all registered endpoints -->
|
||||
<!--<param name="all-reg-options-ping" value="true"/>-->
|
||||
<!-- Send an OPTIONS packet to NATed registered endpoints. Can be 'true' or 'udp-only'. -->
|
||||
<!--<param name="nat-options-ping" value="true"/>-->
|
||||
|
||||
<!-- TLS: disabled by default, set to "true" to enable -->
|
||||
<param name="tls" value="$${internal_ssl_enable}"/>
|
||||
<!-- Set to true to not bind on the normal sip-port but only on the TLS port -->
|
||||
<param name="tls-only" value="false"/>
|
||||
<!-- additional bind parameters for TLS -->
|
||||
<param name="tls-bind-params" value="transport=tls"/>
|
||||
<!-- Port to listen on for TLS requests. (5061 will be used if unspecified) -->
|
||||
<param name="tls-sip-port" value="$${internal_tls_port}"/>
|
||||
<!-- Location of the agent.pem and cafile.pem ssl certificates (needed for TLS server) -->
|
||||
<!--<param name="tls-cert-dir" value=""/>-->
|
||||
<!-- Optionally set the passphrase password used by openSSL to encrypt/decrypt TLS private key files -->
|
||||
<param name="tls-passphrase" value=""/>
|
||||
<!-- Verify the date on TLS certificates -->
|
||||
<param name="tls-verify-date" value="true"/>
|
||||
<!-- TLS verify policy, when registering/inviting gateways with other servers (outbound) or handling inbound registration/invite requests how should we verify their certificate -->
|
||||
<!-- set to 'in' to only verify incoming connections, 'out' to only verify outgoing connections, 'all' to verify all connections, also 'in_subjects', 'out_subjects' and 'all_subjects' for subject validation. Multiple policies can be split with a '|' pipe -->
|
||||
<param name="tls-verify-policy" value="none"/>
|
||||
<!-- Certificate max verify depth to use for validating peer TLS certificates when the verify policy is not none -->
|
||||
<param name="tls-verify-depth" value="2"/>
|
||||
<!-- If the tls-verify-policy is set to subjects_all or subjects_in this sets which subjects are allowed, multiple subjects can be split with a '|' pipe -->
|
||||
<param name="tls-verify-in-subjects" value=""/>
|
||||
<!-- TLS version ("sslv23" (default), "tlsv1"). NOTE: Phones may not work with TLSv1 -->
|
||||
<param name="tls-version" value="$${sip_tls_version}"/>
|
||||
|
||||
<!-- turn on auto-flush during bridge (skip timer sleep when the socket already has data)
|
||||
(reduces delay on latent connections default true, must be disabled explicitly)-->
|
||||
<!--<param name="rtp-autoflush-during-bridge" value="false"/>-->
|
||||
|
||||
<!--If you don't want to pass through timestamps from 1 RTP call to another (on a per call basis with rtp_rewrite_timestamps chanvar)-->
|
||||
<!--<param name="rtp-rewrite-timestamps" value="true"/>-->
|
||||
<!--<param name="pass-rfc2833" value="true"/>-->
|
||||
<!--If you have ODBC support and a working dsn you can use it instead of SQLite-->
|
||||
<!--<param name="odbc-dsn" value="dsn:user:pass"/>-->
|
||||
|
||||
<!-- Or, if you have PGSQL support, you can use that -->
|
||||
<!--<param name="odbc-dsn" value="pgsql://hostaddr=127.0.0.1 dbname=freeswitch user=freeswitch password='' options='-c client_min_messages=NOTICE' application_name='freeswitch'" />-->
|
||||
|
||||
<!--Uncomment to set all inbound calls to no media mode-->
|
||||
<!--<param name="inbound-bypass-media" value="true"/>-->
|
||||
|
||||
<!--Uncomment to set all inbound calls to proxy media mode-->
|
||||
<!--<param name="inbound-proxy-media" value="true"/>-->
|
||||
|
||||
<!-- Let calls hit the dialplan before selecting codec for the a-leg -->
|
||||
<param name="inbound-late-negotiation" value="false"/>
|
||||
|
||||
<!-- Allow ZRTP clients to negotiate end-to-end security associations (also enables late negotiation) -->
|
||||
<param name="inbound-zrtp-passthru" value="true"/>
|
||||
|
||||
<!-- this lets anything register -->
|
||||
<!-- comment the next line and uncomment one or both of the other 2 lines for call authentication -->
|
||||
<!-- <param name="accept-blind-reg" value="true"/> -->
|
||||
|
||||
<!-- accept any authentication without actually checking (not a good feature for most people) -->
|
||||
<!-- <param name="accept-blind-auth" value="true"/> -->
|
||||
|
||||
<!-- suppress CNG on this profile or per call with the 'suppress_cng' variable -->
|
||||
<!-- <param name="suppress-cng" value="true"/> -->
|
||||
|
||||
<!--TTL for nonce in sip auth-->
|
||||
<param name="nonce-ttl" value="60"/>
|
||||
<!--Uncomment if you want to force the outbound leg of a bridge to only offer the codec
|
||||
that the originator is using-->
|
||||
<!--<param name="disable-transcoding" value="true"/>-->
|
||||
<!-- Handle 302 Redirect in the dialplan -->
|
||||
<!--<param name="manual-redirect" value="true"/> -->
|
||||
<!-- Disable Transfer -->
|
||||
<!--<param name="disable-transfer" value="true"/> -->
|
||||
<!-- Disable Register -->
|
||||
<!--<param name="disable-register" value="true"/> -->
|
||||
<!-- Used for when phones respond to a challenged ACK with method INVITE in the hash -->
|
||||
<!--<param name="NDLB-broken-auth-hash" value="true"/>-->
|
||||
<!-- add a ;received="<ip>:<port>" to the contact when replying to register for nat handling -->
|
||||
<!--<param name="NDLB-received-in-nat-reg-contact" value="true"/>-->
|
||||
<param name="auth-calls" value="$${internal_auth_calls}"/>
|
||||
<!-- Force the user and auth-user to match. -->
|
||||
<param name="inbound-reg-force-matching-username" value="true"/>
|
||||
<!-- on authed calls, authenticate *all* the packets not just invite -->
|
||||
<param name="auth-all-packets" value="false"/>
|
||||
|
||||
<!-- external_sip_ip
|
||||
Used as the public IP address for SDP.
|
||||
Can be an one of:
|
||||
ip address - "12.34.56.78"
|
||||
a stun server lookup - "stun:stun.server.com"
|
||||
a DNS name - "host:host.server.com"
|
||||
auto - Use guessed ip.
|
||||
auto-nat - Use ip learned from NAT-PMP or UPNP
|
||||
-->
|
||||
<param name="ext-rtp-ip" value="$${local_ip_v4}"/>
|
||||
<param name="ext-sip-ip" value="$${local_ip_v4}"/>
|
||||
|
||||
<!-- rtp inactivity timeout -->
|
||||
<param name="rtp-timeout-sec" value="300"/>
|
||||
<param name="rtp-hold-timeout-sec" value="1800"/>
|
||||
<!-- VAD choose one (out is a good choice); -->
|
||||
<!-- <param name="vad" value="in"/> -->
|
||||
<!-- <param name="vad" value="out"/> -->
|
||||
<!-- <param name="vad" value="both"/> -->
|
||||
<!--<param name="alias" value="sip:10.0.1.251:5555"/>-->
|
||||
<!--
|
||||
These are enabled to make the default config work better out of the box.
|
||||
If you need more than ONE domain you'll need to not use these options.
|
||||
|
||||
-->
|
||||
<!--all inbound reg will look in this domain for the users -->
|
||||
<param name="force-register-domain" value="$${domain}"/>
|
||||
<!--force the domain in subscriptions to this value -->
|
||||
<param name="force-subscription-domain" value="$${domain}"/>
|
||||
<!--all inbound reg will stored in the db using this domain -->
|
||||
<param name="force-register-db-domain" value="$${domain}"/>
|
||||
|
||||
|
||||
<!-- uncomment for sip over websocket support -->
|
||||
<!--<param name="ws-binding" value=":5066"/>-->
|
||||
|
||||
<!-- uncomment for sip over secure websocket support -->
|
||||
<!-- You need wss.pem in /usr/local/freeswitch/certs for wss -->
|
||||
<!--<param name="wss-binding" value=":7443"/>-->
|
||||
|
||||
|
||||
<!--<param name="delete-subs-on-register" value="false"/>-->
|
||||
|
||||
<!-- launch a new thread to process each new inbound register when using heavier backends -->
|
||||
<!-- <param name="inbound-reg-in-new-thread" value="true"/> -->
|
||||
|
||||
<!-- enable rtcp on every channel also can be done per leg basis with rtcp_audio_interval_msec variable set to passthru to pass it across a call-->
|
||||
<!--<param name="rtcp-audio-interval-msec" value="5000"/>-->
|
||||
<!--<param name="rtcp-video-interval-msec" value="5000"/>-->
|
||||
|
||||
<!--force suscription expires to a lower value than requested-->
|
||||
<!--<param name="force-subscription-expires" value="60"/>-->
|
||||
|
||||
<!-- add a random deviation to the expires value of the 202 Accepted -->
|
||||
<!--<param name="sip-subscription-max-deviation" value="120"/>-->
|
||||
|
||||
<!-- disable register and transfer which may be undesirable in a public switch -->
|
||||
<!--<param name="disable-transfer" value="true"/>-->
|
||||
<!--<param name="disable-register" value="true"/>-->
|
||||
|
||||
<!--
|
||||
enable-3pcc can be set to either 'true' or 'proxy', true accepts the call
|
||||
right away, proxy waits until the call has been answered then sends accepts
|
||||
-->
|
||||
<!--<param name="enable-3pcc" value="true"/>-->
|
||||
|
||||
<!-- use at your own risk or if you know what this does.-->
|
||||
<!--<param name="NDLB-force-rport" value="true"/>-->
|
||||
<!--
|
||||
Choose the realm challenge key. Default is auto_to if not set.
|
||||
|
||||
auto_from - uses the from field as the value for the sip realm.
|
||||
auto_to - uses the to field as the value for the sip realm.
|
||||
<anyvalue> - you can input any value to use for the sip realm.
|
||||
|
||||
If you want URL dialing to work you'll want to set this to auto_from.
|
||||
|
||||
If you use any other value besides auto_to or auto_from you'll
|
||||
loose the ability to do multiple domains.
|
||||
|
||||
Note: comment out to restore the behavior before 2008-09-29
|
||||
-->
|
||||
<param name="challenge-realm" value="auto_from"/>
|
||||
<!--<param name="disable-rtp-auto-adjust" value="true"/>-->
|
||||
<!-- on inbound calls make the uuid of the session equal to the sip call id of that call -->
|
||||
<!--<param name="inbound-use-callid-as-uuid" value="true"/>-->
|
||||
<!-- on outbound calls set the callid to match the uuid of the session -->
|
||||
<!--<param name="outbound-use-uuid-as-callid" value="true"/>-->
|
||||
<!-- set to false disable this feature -->
|
||||
<!--<param name="rtp-autofix-timing" value="false"/>-->
|
||||
|
||||
<!-- set this param to false if your gateway for some reason hates X- headers that it is supposed to ignore-->
|
||||
<!--<param name="pass-callee-id" value="false"/>-->
|
||||
|
||||
<!-- clear clears them all or supply the name to add or the name
|
||||
prefixed with ~ to remove valid values:
|
||||
|
||||
clear
|
||||
CISCO_SKIP_MARK_BIT_2833
|
||||
SONUS_SEND_INVALID_TIMESTAMP_2833
|
||||
|
||||
-->
|
||||
<!--<param name="auto-rtp-bugs" data="clear"/>-->
|
||||
|
||||
<!-- the following can be used as workaround with bogus SRV/NAPTR records -->
|
||||
<!--<param name="disable-srv" value="false" />-->
|
||||
<!--<param name="disable-naptr" value="false" />-->
|
||||
|
||||
<!-- The following can be used to fine-tune timers within sofia's transport layer
|
||||
Those settings are for advanced users and can safely be left as-is -->
|
||||
|
||||
<!-- Initial retransmission interval (in milliseconds).
|
||||
Set the T1 retransmission interval used by the SIP transaction engine.
|
||||
The T1 is the initial duration used by request retransmission timers A and E (UDP) as well as response retransmission timer G. -->
|
||||
<!-- <param name="timer-T1" value="500" /> -->
|
||||
|
||||
<!-- Transaction timeout (defaults to T1 * 64).
|
||||
Set the T1x64 timeout value used by the SIP transaction engine.
|
||||
The T1x64 is duration used for timers B, F, H, and J (UDP) by the SIP transaction engine.
|
||||
The timeout value T1x64 can be adjusted separately from the initial retransmission interval T1. -->
|
||||
<!-- <param name="timer-T1X64" value="32000" /> -->
|
||||
|
||||
|
||||
<!-- Maximum retransmission interval (in milliseconds).
|
||||
Set the maximum retransmission interval used by the SIP transaction engine.
|
||||
The T2 is the maximum duration used for the timers E (UDP) and G by the SIP transaction engine.
|
||||
Note that the timer A is not capped by T2. Retransmission interval of INVITE requests grows exponentially
|
||||
until the timer B fires. -->
|
||||
<!-- <param name="timer-T2" value="4000" /> -->
|
||||
|
||||
<!--
|
||||
Transaction lifetime (in milliseconds).
|
||||
Set the lifetime for completed transactions used by the SIP transaction engine.
|
||||
A completed transaction is kept around for the duration of T4 in order to catch late responses.
|
||||
The T4 is the maximum duration for the messages to stay in the network and the duration of SIP timer K. -->
|
||||
<!-- <param name="timer-T4" value="4000" /> -->
|
||||
|
||||
<!-- Turn on a jitterbuffer for every call -->
|
||||
<!-- <param name="auto-jitterbuffer-msec" value="60"/> -->
|
||||
|
||||
|
||||
<!-- By default mod_sofia will ignore the codecs in the sdp for hold/unhold operations
|
||||
Set this to true if you want to actually parse the sdp and re-negotiate the codec during hold/unhold.
|
||||
It's probably not what you want so stick with the default unless you really need to change this.
|
||||
-->
|
||||
<!--<param name="renegotiate-codec-on-hold" value="true"/>-->
|
||||
|
||||
</settings>
|
||||
</profile>
|
|
@ -0,0 +1,448 @@
|
|||
<include>
|
||||
<!-- Preprocessor Variables
|
||||
These are introduced when configuration strings must be consistent across modules.
|
||||
NOTICE: YOU CAN NOT COMMENT OUT AN X-PRE-PROCESS line, Remove the line instead.
|
||||
|
||||
WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
|
||||
|
||||
YOU SHOULD CHANGE THIS default_password value if you don't want to be subject to any
|
||||
toll fraud in the future. It's your responsibility to secure your own system.
|
||||
|
||||
This default config is used to demonstrate the feature set of FreeSWITCH.
|
||||
|
||||
WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
|
||||
-->
|
||||
<X-PRE-PROCESS cmd="set" data="default_password=1234"/>
|
||||
<!-- Did you change it yet? -->
|
||||
<!--
|
||||
The following variables are set dynamically - calculated if possible by freeswitch - and
|
||||
are available to the config as $${variable}. You can see their calculated value via fs_cli
|
||||
by entering eval $${variable}
|
||||
|
||||
hostname
|
||||
local_ip_v4
|
||||
local_mask_v4
|
||||
local_ip_v6
|
||||
switch_serial
|
||||
base_dir
|
||||
recordings_dir
|
||||
sound_prefix
|
||||
sounds_dir
|
||||
conf_dir
|
||||
log_dir
|
||||
run_dir
|
||||
db_dir
|
||||
mod_dir
|
||||
htdocs_dir
|
||||
script_dir
|
||||
temp_dir
|
||||
grammar_dir
|
||||
certs_dir
|
||||
storage_dir
|
||||
cache_dir
|
||||
core_uuid
|
||||
zrtp_enabled
|
||||
nat_public_addr
|
||||
nat_private_addr
|
||||
nat_type
|
||||
|
||||
-->
|
||||
|
||||
|
||||
<X-PRE-PROCESS cmd="set" data="sound_prefix=$${sounds_dir}/en/us/callie"/>
|
||||
<!--<Z-PRE-PROCESS cmd="set" data="sound_prefix=$${sounds_dir}/en/us/allison"/> -->
|
||||
|
||||
<!--
|
||||
This setting is what sets the default domain FreeSWITCH will use if all else fails.
|
||||
|
||||
FreeSWICH will default to $${local_ip_v4} unless changed. Changing this setting does
|
||||
affect the sip authentication. Please review conf/directory/default.xml for more
|
||||
information on this topic.
|
||||
-->
|
||||
<X-PRE-PROCESS cmd="set" data="domain=$${local_ip_v4}"/>
|
||||
<X-PRE-PROCESS cmd="set" data="domain_name=$${domain}"/>
|
||||
<X-PRE-PROCESS cmd="set" data="hold_music=local_stream://moh"/>
|
||||
<!-- <X-PRE-PROCESS cmd="set" data="use_profile=external"/> -->
|
||||
<X-PRE-PROCESS cmd="set" data="rtp_sdes_suites=AEAD_AES_256_GCM_8|AEAD_AES_128_GCM_8|AES_CM_256_HMAC_SHA1_80|AES_CM_192_HMAC_SHA1_80|AES_CM_128_HMAC_SHA1_80|AES_CM_256_HMAC_SHA1_32|AES_CM_192_HMAC_SHA1_32|AES_CM_128_HMAC_SHA1_32|AES_CM_128_NULL_AUTH"/>
|
||||
<!--
|
||||
Enable ZRTP globally you can override this on a per channel basis
|
||||
|
||||
http://wiki.freeswitch.org/wiki/ZRTP (on how to enable zrtp)
|
||||
-->
|
||||
<X-PRE-PROCESS cmd="set" data="zrtp_secure_media=true"/>
|
||||
<!--
|
||||
NOTICE: When using SRTP it's critical that you do not offer or accept
|
||||
variable bit rate codecs, doing so would leak information and possibly
|
||||
compromise your SRTP stream. (FS-6404)
|
||||
|
||||
Supported SRTP Crypto Suites:
|
||||
|
||||
AEAD_AES_256_GCM_8
|
||||
____________________________________________________________________________
|
||||
This algorithm is identical to AEAD_AES_256_GCM (see Section 5.2 of
|
||||
[RFC5116]), except that the tag length, t, is 8, and an
|
||||
authentication tag with a length of 8 octets (64 bits) is used.
|
||||
An AEAD_AES_256_GCM_8 ciphertext is exactly 8 octets longer than its
|
||||
corresponding plaintext.
|
||||
|
||||
|
||||
AEAD_AES_128_GCM_8
|
||||
____________________________________________________________________________
|
||||
This algorithm is identical to AEAD_AES_128_GCM (see Section 5.1 of
|
||||
[RFC5116]), except that the tag length, t, is 8, and an
|
||||
authentication tag with a length of 8 octets (64 bits) is used.
|
||||
An AEAD_AES_128_GCM_8 ciphertext is exactly 8 octets longer than its
|
||||
corresponding plaintext.
|
||||
|
||||
|
||||
AES_CM_256_HMAC_SHA1_80 | AES_CM_192_HMAC_SHA1_80 | AES_CM_128_HMAC_SHA1_80
|
||||
____________________________________________________________________________
|
||||
AES_CM_128_HMAC_SHA1_80 is the SRTP default AES Counter Mode cipher
|
||||
and HMAC-SHA1 message authentication with an 80-bit authentication
|
||||
tag. The master-key length is 128 bits and has a default lifetime of
|
||||
a maximum of 2^48 SRTP packets or 2^31 SRTCP packets, whichever comes
|
||||
first.
|
||||
|
||||
|
||||
AES_CM_256_HMAC_SHA1_32 | AES_CM_192_HMAC_SHA1_32 | AES_CM_128_HMAC_SHA1_32
|
||||
____________________________________________________________________________
|
||||
This crypto-suite is identical to AES_CM_128_HMAC_SHA1_80 except that
|
||||
the authentication tag is 32 bits. The length of the base64-decoded key and
|
||||
salt value for this crypto-suite MUST be 30 octets i.e., 240 bits; otherwise,
|
||||
the crypto attribute is considered invalid.
|
||||
|
||||
|
||||
AES_CM_128_NULL_AUTH
|
||||
____________________________________________________________________________
|
||||
The SRTP default cipher (AES-128 Counter Mode), but to use no authentication
|
||||
method. This policy is NOT RECOMMENDED unless it is unavoidable; see
|
||||
Section 7.5 of [RFC3711].
|
||||
|
||||
|
||||
SRTP variables that modify behaviors based on direction/leg:
|
||||
|
||||
rtp_secure_media
|
||||
____________________________________________________________________________
|
||||
possible values:
|
||||
mandatory - Accept/Offer SAVP negotiation ONLY
|
||||
optional - Accept/Offer SAVP/AVP with SAVP preferred
|
||||
forbidden - More useful for inbound to deny SAVP negotiation
|
||||
false - implies forbidden
|
||||
true - implies mandatory
|
||||
|
||||
default if not set is accept SAVP inbound if offered.
|
||||
|
||||
|
||||
rtp_secure_media_inbound | rtp_secure_media_outbound
|
||||
____________________________________________________________________________
|
||||
This is the same as rtp_secure_media, but would apply to either inbound
|
||||
or outbound offers specifically.
|
||||
|
||||
|
||||
How to specify crypto suites:
|
||||
____________________________________________________________________________
|
||||
By default without specifying any crypto suites FreeSWITCH will offer
|
||||
crypto suites from strongest to weakest accepting the strongest each
|
||||
endpoint has in common. If you wish to force specific crypto suites you
|
||||
can do so by appending the suites in a comma separated list in the order
|
||||
that you wish to offer them in.
|
||||
|
||||
Examples:
|
||||
|
||||
rtp_secure_media=mandatory:AES_CM_256_HMAC_SHA1_80,AES_CM_256_HMAC_SHA1_32
|
||||
rtp_secure_media=true:AES_CM_256_HMAC_SHA1_80,AES_CM_256_HMAC_SHA1_32
|
||||
rtp_secure_media=optional:AES_CM_256_HMAC_SHA1_80
|
||||
rtp_secure_media=true:AES_CM_256_HMAC_SHA1_80
|
||||
|
||||
Additionally you can narrow this down on either inbound or outbound by
|
||||
specifying as so:
|
||||
|
||||
rtp_secure_media_inbound=true:AEAD_AES_256_GCM_8
|
||||
rtp_secure_media_inbound=mandatory:AEAD_AES_256_GCM_8
|
||||
rtp_secure_media_outbound=true:AEAD_AES_128_GCM_8
|
||||
rtp_secure_media_outbound=optional:AEAD_AES_128_GCM_8
|
||||
|
||||
|
||||
rtp_secure_media_suites
|
||||
____________________________________________________________________________
|
||||
Optionaly you can use rtp_secure_media_suites to dictate the suite list
|
||||
and only use rtp_secure_media=[optional|mandatory|false|true] without having
|
||||
to dictate the suite list with the rtp_secure_media* variables.
|
||||
-->
|
||||
<!--
|
||||
Examples of codec options: (module must be compiled and loaded)
|
||||
|
||||
codecname[@8000h|16000h|32000h[@XXi]]
|
||||
|
||||
XX is the frame size must be multples allowed for the codec
|
||||
FreeSWITCH can support 10-120ms on some codecs.
|
||||
We do not support exceeding the MTU of the RTP packet.
|
||||
|
||||
|
||||
iLBC@30i - iLBC using mode=30 which will win in all cases.
|
||||
DVI4@8000h@20i - IMA ADPCM 8kHz using 20ms ptime. (multiples of 10)
|
||||
DVI4@16000h@40i - IMA ADPCM 16kHz using 40ms ptime. (multiples of 10)
|
||||
speex@8000h@20i - Speex 8kHz using 20ms ptime.
|
||||
speex@16000h@20i - Speex 16kHz using 20ms ptime.
|
||||
speex@32000h@20i - Speex 32kHz using 20ms ptime.
|
||||
BV16 - BroadVoice 16kb/s narrowband, 8kHz
|
||||
BV32 - BroadVoice 32kb/s wideband, 16kHz
|
||||
G7221@16000h - G722.1 16kHz (aka Siren 7)
|
||||
G7221@32000h - G722.1C 32kHz (aka Siren 14)
|
||||
CELT@32000h - CELT 32kHz, only 10ms supported
|
||||
CELT@48000h - CELT 48kHz, only 10ms supported
|
||||
GSM@40i - GSM 8kHz using 40ms ptime. (GSM is done in multiples of 20, Default is 20ms)
|
||||
G722 - G722 16kHz using default 20ms ptime. (multiples of 10)
|
||||
PCMU - G711 8kHz ulaw using default 20ms ptime. (multiples of 10)
|
||||
PCMA - G711 8kHz alaw using default 20ms ptime. (multiples of 10)
|
||||
G726-16 - G726 16kbit adpcm using default 20ms ptime. (multiples of 10)
|
||||
G726-24 - G726 24kbit adpcm using default 20ms ptime. (multiples of 10)
|
||||
G726-32 - G726 32kbit adpcm using default 20ms ptime. (multiples of 10)
|
||||
G726-40 - G726 40kbit adpcm using default 20ms ptime. (multiples of 10)
|
||||
AAL2-G726-16 - Same as G726-16 but using AAL2 packing. (multiples of 10)
|
||||
AAL2-G726-24 - Same as G726-24 but using AAL2 packing. (multiples of 10)
|
||||
AAL2-G726-32 - Same as G726-32 but using AAL2 packing. (multiples of 10)
|
||||
AAL2-G726-40 - Same as G726-40 but using AAL2 packing. (multiples of 10)
|
||||
LPC - LPC10 using 90ms ptime (only supports 90ms at this time in FreeSWITCH)
|
||||
L16 - L16 isn't recommended for VoIP but you can do it. L16 can exceed the MTU rather quickly.
|
||||
|
||||
These are the passthru audio codecs:
|
||||
|
||||
G729 - G729 in passthru mode. (mod_g729)
|
||||
G723 - G723.1 in passthru mode. (mod_g723_1)
|
||||
AMR - AMR in passthru mode. (mod_amr)
|
||||
|
||||
These are the passthru video codecs: (mod_h26x)
|
||||
|
||||
H261 - H.261 Video
|
||||
H263 - H.263 Video
|
||||
H263-1998 - H.263-1998 Video
|
||||
H263-2000 - H.263-2000 Video
|
||||
H264 - H.264 Video
|
||||
|
||||
RTP Dynamic Payload Numbers currently used in FreeSWITCH and their purpose.
|
||||
|
||||
96 - AMR
|
||||
97 - iLBC (30)
|
||||
98 - iLBC (20)
|
||||
99 - Speex 8kHz, 16kHz, 32kHz
|
||||
100 -
|
||||
101 - telephone-event
|
||||
102 -
|
||||
103 -
|
||||
104 -
|
||||
105 -
|
||||
106 - BV16
|
||||
107 - G722.1 (16kHz)
|
||||
108 -
|
||||
109 -
|
||||
110 -
|
||||
111 -
|
||||
112 -
|
||||
113 -
|
||||
114 - CELT 32kHz, 48kHz
|
||||
115 - G722.1C (32kHz)
|
||||
116 -
|
||||
117 - SILK 8kHz
|
||||
118 - SILK 12kHz
|
||||
119 - SILK 16kHz
|
||||
120 - SILK 24kHz
|
||||
121 - AAL2-G726-40 && G726-40
|
||||
122 - AAL2-G726-32 && G726-32
|
||||
123 - AAL2-G726-24 && G726-24
|
||||
124 - AAL2-G726-16 && G726-16
|
||||
125 -
|
||||
126 -
|
||||
127 - BV32
|
||||
|
||||
-->
|
||||
<X-PRE-PROCESS cmd="set" data="global_codec_prefs=PCMU,PCMA,AMR,GSM"/>
|
||||
<X-PRE-PROCESS cmd="set" data="outbound_codec_prefs=PCMU,PCMA,AMR,GSM"/>
|
||||
|
||||
<!--
|
||||
xmpp_client_profile and xmpp_server_profile
|
||||
xmpp_client_profile can be any string.
|
||||
xmpp_server_profile is appended to "dingaling_" to form the database name
|
||||
containing the "subscriptions" table.
|
||||
used by: dingaling.conf.xml enum.conf.xml
|
||||
-->
|
||||
|
||||
<X-PRE-PROCESS cmd="set" data="xmpp_client_profile=xmppc"/>
|
||||
<X-PRE-PROCESS cmd="set" data="xmpp_server_profile=xmpps"/>
|
||||
<!--
|
||||
THIS IS ONLY USED FOR DINGALING
|
||||
|
||||
bind_server_ip
|
||||
|
||||
Can be an ip address, a dns name, or "auto".
|
||||
This determines an ip address available on this host to bind.
|
||||
If you are separating RTP and SIP traffic, you will want to have
|
||||
use different addresses where this variable appears.
|
||||
Used by: dingaling.conf.xml
|
||||
-->
|
||||
<X-PRE-PROCESS cmd="set" data="bind_server_ip=auto"/>
|
||||
|
||||
<!-- NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE
|
||||
|
||||
If you're going to load test FreeSWITCH please input real IP addresses
|
||||
for external_rtp_ip and external_sip_ip
|
||||
-->
|
||||
|
||||
<!-- external_rtp_ip
|
||||
Can be an one of:
|
||||
ip address: "12.34.56.78"
|
||||
a stun server lookup: "stun:stun.server.com"
|
||||
a DNS name: "host:host.server.com"
|
||||
where fs.mydomain.com is a DNS A record-useful when fs is on
|
||||
a dynamic IP address, and uses a dynamic DNS updater.
|
||||
If unspecified, the bind_server_ip value is used.
|
||||
Used by: sofia.conf.xml dingaling.conf.xml
|
||||
-->
|
||||
<X-PRE-PROCESS cmd="stun-set" data="external_rtp_ip=stun:stun.freeswitch.org"/>
|
||||
|
||||
<!-- external_sip_ip
|
||||
Used as the public IP address for SDP.
|
||||
Can be an one of:
|
||||
ip address: "12.34.56.78"
|
||||
a stun server lookup: "stun:stun.server.com"
|
||||
a DNS name: "host:host.server.com"
|
||||
where fs.mydomain.com is a DNS A record-useful when fs is on
|
||||
a dynamic IP address, and uses a dynamic DNS updater.
|
||||
If unspecified, the bind_server_ip value is used.
|
||||
Used by: sofia.conf.xml dingaling.conf.xml
|
||||
-->
|
||||
<X-PRE-PROCESS cmd="stun-set" data="external_sip_ip=stun:stun.freeswitch.org"/>
|
||||
|
||||
<!-- unroll-loops
|
||||
Used to turn on sip loopback unrolling.
|
||||
-->
|
||||
<X-PRE-PROCESS cmd="set" data="unroll_loops=true"/>
|
||||
|
||||
<!-- outbound_caller_id and outbound_caller_name
|
||||
The caller ID telephone number we should use when calling out.
|
||||
Used by: conference.conf.xml and user directory for default
|
||||
outbound callerid name and number.
|
||||
-->
|
||||
<X-PRE-PROCESS cmd="set" data="outbound_caller_name=FreeSWITCH"/>
|
||||
<X-PRE-PROCESS cmd="set" data="outbound_caller_id=0000000000"/>
|
||||
|
||||
<!-- various debug and defaults -->
|
||||
<X-PRE-PROCESS cmd="set" data="call_debug=false"/>
|
||||
<X-PRE-PROCESS cmd="set" data="console_loglevel=info"/>
|
||||
<X-PRE-PROCESS cmd="set" data="default_areacode=918"/>
|
||||
<X-PRE-PROCESS cmd="set" data="default_country=US"/>
|
||||
|
||||
<!-- if false or undefined, the destination number is included in presence NOTIFY dm:note.
|
||||
if true, the destination number is not included -->
|
||||
<X-PRE-PROCESS cmd="set" data="presence_privacy=false"/>
|
||||
|
||||
<X-PRE-PROCESS cmd="set" data="au-ring=%(400,200,383,417);%(400,2000,383,417)"/>
|
||||
<X-PRE-PROCESS cmd="set" data="be-ring=%(1000,3000,425)"/>
|
||||
<X-PRE-PROCESS cmd="set" data="ca-ring=%(2000,4000,440,480)"/>
|
||||
<X-PRE-PROCESS cmd="set" data="cn-ring=%(1000,4000,450)"/>
|
||||
<X-PRE-PROCESS cmd="set" data="cy-ring=%(1500,3000,425)"/>
|
||||
<X-PRE-PROCESS cmd="set" data="cz-ring=%(1000,4000,425)"/>
|
||||
<X-PRE-PROCESS cmd="set" data="de-ring=%(1000,4000,425)"/>
|
||||
<X-PRE-PROCESS cmd="set" data="dk-ring=%(1000,4000,425)"/>
|
||||
<X-PRE-PROCESS cmd="set" data="dz-ring=%(1500,3500,425)"/>
|
||||
<X-PRE-PROCESS cmd="set" data="eg-ring=%(2000,1000,475,375)"/>
|
||||
<X-PRE-PROCESS cmd="set" data="es-ring=%(1500,3000,425)"/>
|
||||
<X-PRE-PROCESS cmd="set" data="fi-ring=%(1000,4000,425)"/>
|
||||
<X-PRE-PROCESS cmd="set" data="fr-ring=%(1500,3500,440)"/>
|
||||
<X-PRE-PROCESS cmd="set" data="hk-ring=%(400,200,440,480);%(400,3000,440,480)"/>
|
||||
<X-PRE-PROCESS cmd="set" data="hu-ring=%(1250,3750,425)"/>
|
||||
<X-PRE-PROCESS cmd="set" data="il-ring=%(1000,3000,400)"/>
|
||||
<X-PRE-PROCESS cmd="set" data="in-ring=%(400,200,425,375);%(400,2000,425,375)"/>
|
||||
<X-PRE-PROCESS cmd="set" data="jp-ring=%(1000,2000,420,380)"/>
|
||||
<X-PRE-PROCESS cmd="set" data="ko-ring=%(1000,2000,440,480)"/>
|
||||
<X-PRE-PROCESS cmd="set" data="pk-ring=%(1000,2000,400)"/>
|
||||
<X-PRE-PROCESS cmd="set" data="pl-ring=%(1000,4000,425)"/>
|
||||
<X-PRE-PROCESS cmd="set" data="ro-ring=%(1850,4150,475,425)"/>
|
||||
<X-PRE-PROCESS cmd="set" data="rs-ring=%(1000,4000,425)"/>
|
||||
<X-PRE-PROCESS cmd="set" data="ru-ring=%(800,3200,425)"/>
|
||||
<X-PRE-PROCESS cmd="set" data="sa-ring=%(1200,4600,425)"/>
|
||||
<X-PRE-PROCESS cmd="set" data="tr-ring=%(2000,4000,450)"/>
|
||||
<X-PRE-PROCESS cmd="set" data="uk-ring=%(400,200,400,450);%(400,2000,400,450)"/>
|
||||
<X-PRE-PROCESS cmd="set" data="us-ring=%(2000,4000,440,480)"/>
|
||||
<X-PRE-PROCESS cmd="set" data="bong-ring=v=-7;%(100,0,941.0,1477.0);v=-7;>=2;+=.1;%(1400,0,350,440)"/>
|
||||
<X-PRE-PROCESS cmd="set" data="beep=%(1000,0,640)"/>
|
||||
<X-PRE-PROCESS cmd="set" data="sit=%(274,0,913.8);%(274,0,1370.6);%(380,0,1776.7)"/>
|
||||
|
||||
<!--
|
||||
Digits Dialed filter: (FS-6940)
|
||||
|
||||
The digits stream may contain valid credit card numbers or social security numbers, These digit
|
||||
filters will allow you to make a valant effort to stamp out sensitive information for
|
||||
PCI/HIPPA compliance. (see xml_cdr dialed_digits)
|
||||
|
||||
df_us_ssn = US Social Security Number pattern
|
||||
df_us_luhn = Visa, MasterCard, American Express, Diners Club, Discover and JCB
|
||||
-->
|
||||
<X-PRE-PROCESS cmd="set" data="df_us_ssn=(?!219099999|078051120)(?!666|000|9\d{2})\d{3}(?!00)\d{2}(?!0{4})\d{4}"/>
|
||||
<X-PRE-PROCESS cmd="set" data="df_luhn=?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|6(?:011|5[0-9]{2})[0-9]{12}|(?:2131|1800|35\d{3})\d{11}"/>
|
||||
<!-- change XX to X below to enable -->
|
||||
<XX-PRE-PROCESS cmd="set" data="digits_dialed_filter=(($${df_luhn})|($${df_us_ssn}))"/>
|
||||
|
||||
<!--
|
||||
Setting up your default sip provider is easy.
|
||||
Below are some values that should work in most cases.
|
||||
|
||||
These are for conf/directory/default/example.com.xml
|
||||
-->
|
||||
<X-PRE-PROCESS cmd="set" data="default_provider=example.com"/>
|
||||
<X-PRE-PROCESS cmd="set" data="default_provider_username=joeuser"/>
|
||||
<X-PRE-PROCESS cmd="set" data="default_provider_password=password"/>
|
||||
<X-PRE-PROCESS cmd="set" data="default_provider_from_domain=example.com"/>
|
||||
<!-- true or false -->
|
||||
<X-PRE-PROCESS cmd="set" data="default_provider_register=false"/>
|
||||
<X-PRE-PROCESS cmd="set" data="default_provider_contact=5000"/>
|
||||
|
||||
<!--
|
||||
SIP and TLS settings. http://wiki.freeswitch.org/wiki/Tls
|
||||
|
||||
valid options: sslv2,sslv3,sslv23,tlsv1,tlsv1.1,tlsv1.2
|
||||
|
||||
default: tlsv1,tlsv1.1,tlsv1.2
|
||||
-->
|
||||
<X-PRE-PROCESS cmd="set" data="sip_tls_version=tlsv1,tlsv1.1,tlsv1.2"/>
|
||||
|
||||
<!--
|
||||
TLS cipher suite: default ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH
|
||||
|
||||
The actual ciphers supported will change per platform.
|
||||
|
||||
openssl ciphers -v 'ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH'
|
||||
|
||||
Will show you what is available in your verion of openssl.
|
||||
-->
|
||||
<X-PRE-PROCESS cmd="set" data="sip_tls_ciphers=ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH"/>
|
||||
|
||||
<!-- Internal SIP Profile -->
|
||||
<X-PRE-PROCESS cmd="set" data="internal_auth_calls=true"/>
|
||||
<X-PRE-PROCESS cmd="set" data="internal_sip_port=5060"/>
|
||||
<X-PRE-PROCESS cmd="set" data="internal_tls_port=5061"/>
|
||||
<X-PRE-PROCESS cmd="set" data="internal_ssl_enable=false"/>
|
||||
|
||||
<!-- External SIP Profile -->
|
||||
<X-PRE-PROCESS cmd="set" data="external_auth_calls=false"/>
|
||||
<X-PRE-PROCESS cmd="set" data="external_sip_port=5080"/>
|
||||
<X-PRE-PROCESS cmd="set" data="external_tls_port=5081"/>
|
||||
<X-PRE-PROCESS cmd="set" data="external_ssl_enable=false"/>
|
||||
|
||||
<!-- Video Settings -->
|
||||
<!-- Setting the max bandwdith -->
|
||||
<X-PRE-PROCESS cmd="set" data="rtp_video_max_bandwidth_in=3mb"/>
|
||||
<X-PRE-PROCESS cmd="set" data="rtp_video_max_bandwidth_out=3mb"/>
|
||||
|
||||
<!-- WebRTC Video -->
|
||||
<!-- Suppress CNG for WebRTC Audio -->
|
||||
<X-PRE-PROCESS cmd="set" data="suppress_cng=true"/>
|
||||
<!-- Enable liberal DTMF for those that can't get it right -->
|
||||
<X-PRE-PROCESS cmd="set" data="rtp_liberal_dtmf=true"/>
|
||||
<!-- Helps with WebRTC Audio -->
|
||||
|
||||
<!-- Stock Video Avatars -->
|
||||
<X-PRE-PROCESS cmd="set" data="video_mute_png=$${images_dir}/default-mute.png"/>
|
||||
<X-PRE-PROCESS cmd="set" data="video_no_avatar_png=$${images_dir}/default-avatar.png"/>
|
||||
|
||||
</include>
|
|
@ -0,0 +1,24 @@
|
|||
#!/bin/sh
|
||||
NETDIR="$(cd $(dirname "$0")/..; pwd)"
|
||||
(sleep 5; echo; echo; echo "NOTE: type 'shutdown' to quit"; echo) &
|
||||
set -ex
|
||||
|
||||
export PYTHONPATH="$NETDIR/freeswitch/python:$PYTHONPATH"
|
||||
|
||||
if ! [ -d /usr/lib/freeswitch/mod ]; then
|
||||
echo "ERROR: missing dir /usr/lib/freeswitch/mod"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! [ -e freeswitch/mod ]; then
|
||||
ln -sf /usr/lib/freeswitch/mod freeswitch/mod
|
||||
fi
|
||||
|
||||
freeswitch \
|
||||
-nf \
|
||||
-nonat \
|
||||
-nonatmap \
|
||||
-nocal \
|
||||
-nort \
|
||||
-c \
|
||||
-base ./freeswitch
|
|
@ -0,0 +1,53 @@
|
|||
import json
|
||||
import os
|
||||
import subprocess
|
||||
|
||||
script_dir = os.path.dirname(__file__)
|
||||
timeout_ms = 2000
|
||||
|
||||
def query_mslookup(query_str):
|
||||
result_line = subprocess.check_output([
|
||||
'osmo-mslookup-client', query_str, '-f', 'json'])
|
||||
if isinstance(result_line, bytes):
|
||||
result_line = result_line.decode('ascii')
|
||||
return json.loads(result_line)
|
||||
|
||||
def query_mslookup_msisdn(msisdn):
|
||||
return query_mslookup('sip.voice.%s.msisdn' % str(msisdn))
|
||||
|
||||
def handler(session, args):
|
||||
print('[dialplan-dgsm] handler')
|
||||
msisdn = session.getVariable('destination_number')
|
||||
print('[dialplan-dgsm] resolving: sip.voice.' + str(msisdn) + '.msisdn')
|
||||
|
||||
# Run mslookup.py. In theory, we should be able to import it and call mslookup.resolve() directly, however this
|
||||
# has lead to hard-to-debug segfaults when calling it the second time. For now, use a separate python process.
|
||||
try:
|
||||
result = query_mslookup_msisdn(msisdn)
|
||||
|
||||
print('[dialplan-dgsm] result: ' + str(result))
|
||||
|
||||
# This example only makes use of IPv4
|
||||
if not result['v4']:
|
||||
print('[dialplan-dgsm] no IPv4 result from mslookup')
|
||||
session.hangup('UNALLOCATED_NUMBER')
|
||||
return
|
||||
|
||||
sip_ip, sip_port = result['v4'] # osmo-dev defaults: same as ${SIPCON_LOCAL}
|
||||
dial_str = 'sofia/internal/sip:{}@{}:{}'.format(msisdn, sip_ip, sip_port)
|
||||
print('[dialplan-dgsm] dial_str: ' + str(dial_str))
|
||||
|
||||
session.execute('bridge', dial_str)
|
||||
except:
|
||||
print('[dialplan-dgsm]: could not resolve MSISDN {} with mslookup.py'.format(msisdn))
|
||||
session.hangup('UNALLOCATED_NUMBER')
|
||||
|
||||
|
||||
# Freeswitch refuses to load the module without this
|
||||
def fsapi(session, stream, env, args):
|
||||
stream.write(env.serialize())
|
||||
|
||||
if __name__ == '__main__':
|
||||
import json
|
||||
import sys
|
||||
print(json.dumps(query_mslookup(sys.argv[1])))
|
|
@ -86,14 +86,32 @@ bsc="LD_LIBRARY_PATH=/usr/local/lib gdb -ex run --args osmo-bsc -c osmo-bsc.cfg"
|
|||
if [ "x${MSC_MNCC}" != "xinternal" ]; then
|
||||
sipcon="osmo-sip-connector -c osmo-sip-connector.cfg"
|
||||
|
||||
# Require kamailio (PATH hack is needed for Debian)
|
||||
kamailio="$(PATH="$PATH:/usr/sbin:/sbin" which kamailio)"
|
||||
if [ -z "$kamailio" ]; then
|
||||
echo "ERROR: kamailio is not installed, but it's required for external MNCC."
|
||||
echo "After installing it, make sure that it does *not* run as daemon."
|
||||
exit 1
|
||||
fi
|
||||
kamailio="$kamailio -f kamailio.cfg -D -e -E"
|
||||
case "${SIPCON_SERVER}" in
|
||||
"kamailio")
|
||||
# Require kamailio (PATH hack is needed for Debian)
|
||||
kamailio="$(PATH="$PATH:/usr/sbin:/sbin" which kamailio)"
|
||||
if [ -z "$kamailio" ]; then
|
||||
echo "ERROR: kamailio is not installed."
|
||||
echo "After installing it, make sure that it does *not* run as daemon."
|
||||
exit 1
|
||||
fi
|
||||
kamailio="$kamailio -f kamailio.cfg -D -e -E"
|
||||
;;
|
||||
"freeswitch")
|
||||
if [ -z "$(which freeswitch)" ]; then
|
||||
echo "ERROR: freeswitch is not installed."
|
||||
echo "Guide: https://freeswitch.org/confluence/display/FREESWITCH/Debian+10+Buster"
|
||||
echo "After installing it, make sure that it does *not* run as daemon."
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
"none")
|
||||
;;
|
||||
*)
|
||||
echo "ERROR: unknown value "${SIPCON_SERVER}" for SIPCON_SERVER!"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
sudo tcpdump -i $dev -n -w current_log/$dev.single.pcap -U not port 22 &
|
||||
|
@ -123,7 +141,10 @@ if [ "x${MSC_MNCC}" != "xinternal" ]; then
|
|||
sleep .2
|
||||
term "$sipcon" SIPCON &
|
||||
sleep .2
|
||||
term "$kamailio" KAMAILIO &
|
||||
case "${SIPCON_SERVER}" in
|
||||
"kamailio") term "$kamailio" KAMAILIO &;;
|
||||
"freeswitch") term "./freeswitch/freeswitch.sh" FREESWITCH &;;
|
||||
esac
|
||||
fi
|
||||
|
||||
#ssh bts rm /tmp/bts.log /tmp/pcu.log
|
||||
|
@ -150,7 +171,7 @@ killall osmo-ggsn
|
|||
if [ "x${MSC_MNCC}" != "xinternal" ]; then
|
||||
# 'killall' seems to work only with the shortened name
|
||||
killall osmo-sip-connec
|
||||
killall kamailio
|
||||
killall "${SIPCON_SERVER}"
|
||||
fi
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue