define Package/freeswitch-config-minimal
$(call Package/freeswitch/Default)
- TITLE:=FreeSWITCH minimal OpenWRT config
+ TITLE:=FreeSWITCH a minimal FS config
DEPENDS:= freeswitch
endef
define Package/freeswitch-config-minimal/description
- The OpenWRT configuration for the OpenWRT FreeSWITCH minimal package collection.
+ A minimal configuration of FreeSWITCH for OpenWRT devices. Is what the UCI
+ configuration began with.
+
+endef
+
+define Package/freeswitch-config-uci
+$(call Package/freeswitch/Default)
+ TITLE:=UCI-configuration for FreeSWITCH
+ DEPENDS:= freeswitch
+endef
+
+define Package/freeswitch-config-uci/description
+ The UCI configuration system for FreeSWITCH on OpenWRT.
endef
define Package/freeswitch-collection-upstream-defaults
+freeswitch-tools
endef
+define Package/freeswitch-collection-minimal
+$(call Package/freeswitch/Default)
+ TITLE:=A FreeSWITCH minimal package collection
+ DEPENDS:= freeswitch \
+ +freeswitch-config-minimal \
+ +freeswitch-mod-commands \
+ +freeswitch-mod-syslog \
+ +freeswitch-mod-dialplan-xml \
+ +freeswitch-mod-dptools \
+ +freeswitch-mod-event-socket \
+ +freeswitch-mod-local-stream \
+ +freeswitch-mod-sndfile \
+ +freeswitch-mod-sofia \
+ +freeswitch-mod-tone-stream \
+ +freeswitch-mod-voipcodecs \
+ +freeswitch-tools
+endef
+
# mod_lua is included in FreeSWITCH minimal because it is intended to be used
# by the LuCI / ucitrigger interface to FreeSWITCH on OpenWRT
-define Package/freeswitch-collection-minimal
+define Package/freeswitch-collection-uci-minimal
$(call Package/freeswitch/Default)
- TITLE:=FreeSWITCH on OpenWRT minimal config
+ TITLE:=FreeSWITCH on OpenWRT minimal collection of packages
DEPENDS:= freeswitch \
- +freeswitch-config-minimal \
+ +freeswitch-config-uci \
+freeswitch-mod-commands \
+freeswitch-mod-syslog \
+freeswitch-mod-dialplan-xml \
$(INSTALL_DIR) $(1)/etc/freeswitch
endef
+define Package/freeswitch-collection-uci-minimal/install
+ $(INSTALL_DIR) $(1)/etc/freeswitch
+endef
+
define Package/freeswitch-config-minimal/install
$(INSTALL_DIR) $(1)/etc/freeswitch
$(CP) ./files/etc.minimal/* $(1)/etc/freeswitch/
endef
+define Package/freeswitch-config-uci/install
+ $(INSTALL_DIR) $(1)/etc/freeswitch
+ $(CP) ./files/etc.uci/* $(1)/etc/freeswitch/
+ $(INSTALL_DIR) $(1)/usr/lib/freeswitch/uci
+ $(CP) ./files/uci/* $(1)/usr/lib/freeswitch/uci/
+endef
+
define Package/freeswitch-sounds-en/install
$(INSTALL_DIR) $(1)/usr/freeswitch/sounds
$(CP) $(PKG_INSTALL_DIR)/usr/freeswitch/sounds/en $(1)/usr/freeswitch/sounds/
$(eval $(call BuildPackage,freeswitch))
$(eval $(call BuildPackage,freeswitch-collection-upstream-defaults))
$(eval $(call BuildPackage,freeswitch-collection-minimal))
+$(eval $(call BuildPackage,freeswitch-collection-uci-minimal))
$(eval $(call BuildPackage,freeswitch-sounds-en))
$(eval $(call BuildPackage,freeswitch-sounds-moh))
$(eval $(call BuildPackage,freeswitch-tools))
$(eval $(call BuildPackage,freeswitch-example-config))
$(eval $(call BuildPackage,freeswitch-config-upstream-defaults))
$(eval $(call BuildPackage,freeswitch-config-minimal))
+$(eval $(call BuildPackage,freeswitch-config-uci))
#$(eval $(call BuildPlugin,Name,Title,Files,Depends))
$(eval $(call BuildPlugin,alsa,Alsa endpoint,mod_alsa,,+alsa-lib))
--- /dev/null
+<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"/>
+ <node type="allow" cidr="192.168.42.42/32"/>
+ </list>
+ -->
+
+ <!--
+ This will traverse the directory adding all users
+ with the cidr= tag to this ACL, when this ACL matches
+ the users variables and params apply as if they
+ digest authenticated.
+ -->
+ <list name="domains" default="deny">
+ <node type="allow" domain="$${domain}"/>
+ </list>
+
+ </network-lists>
+</configuration>
+
--- /dev/null
+<configuration name="console.conf" description="Console Logger">
+ <!-- pick a file name, a function name or 'all' -->
+ <!-- map as many as you need for specific debugging -->
+ <mappings>
+ <!--
+ name can be a file name, function name or 'all'
+ value is one or more of debug,info,notice,warning,err,crit,alert,all
+ See examples below
+
+
+ The following map is the default, which is all debug levels enabled:
+ <map name="all" value="debug,info,notice,warning,err,crit,alert"/>
+
+
+ Example: the following turns on debugging for error and critical levels only
+ <map name="all" value="err,crit"/>
+
+ NOTE: using map name="all" will override any other settings! If you
+ want a more specific set of console messages then you will need
+ to specify which files and/or functions you want to have debug
+ messages. One option is to turn on just the more critical
+ messages with map name="all", then specify the other types of
+ console messages you want to see for various files and functions.
+
+ Example: turn on ERROR, CRIT, ALERT for all modules, then specify other
+ levels for various modules and functions
+
+ <map name="all" value="err,crit,alert"/>
+ <map name="switch_loadable_module_process" value="all"/>
+ <map name="mod_local_stream.c" value="warning,debug"/>
+ <map name="mod_sndfile.c" value="warning,info,debug"/>
+ -->
+ <map name="all" value="console,debug,info,notice,warning,err,crit,alert"/>
+
+ <!--
+ You can use or modify this sample set of mappings. It turns on higher
+ level messages for all modules and then specifies extra lower level
+ messages for OpenZAP, Sofia, and switch core messages.
+
+ <map name="all" value="warning,err,crit,alert"/>
+ <map name="zap_analog.c" value="all"/>
+ <map name="zap_io.c" value="all"/>
+ <map name="zap_isdn.c" value="all"/>
+ <map name="zap_zt.c" value="all"/>
+ <map name="mod_openzap" value="all"/>
+ <map name="sofia.c" value="notice"/>
+ <map name="switch_core_state_machine.c" value="all"/>
+
+ -->
+ </mappings>
+ <settings>
+ <!-- comment or set to false for no color logging -->
+ <param name="colorize" value="true"/>
+ <param name="loglevel" value="$${console_loglevel}"/>
+ </settings>
+</configuration>
--- /dev/null
+<configuration name="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>
--- /dev/null
+<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>
--- /dev/null
+<configuration name="lua.conf" description="LUA Configuration">
+ <settings>
+
+ <!--
+ Specify local directories that will be searched for LUA modules
+ These entries will be pre-pended to the LUA_CPATH environment variable
+ -->
+ <!-- <param name="module-directory" value="/usr/lib/lua/5.1/?.so"/> -->
+ <!-- <param name="module-directory" value="/usr/local/lib/lua/5.1/?.so"/> -->
+
+ <!--
+ Specify local directories that will be searched for LUA scripts
+ These entries will be pre-pended to the LUA_PATH environment variable
+ -->
+ <!-- <param name="script-directory" value="/usr/local/lua/?.lua"/> -->
+ <!-- <param name="script-directory" value="$${base_dir}/scripts/?.lua"/> -->
+
+ <!--<param name="xml-handler-script" value="/dp.lua"/>-->
+ <!--<param name="xml-handler-bindings" value="dialplan"/>-->
+
+ <!--
+ The following options identifies a lua script that is launched
+ at startup and may live forever in the background.
+ You can define multiple lines, one for each script you
+ need to run.
+ -->
+ <!--<param name="startup-script" value="startup_script_1.lua"/>-->
+ <!--<param name="startup-script" value="startup_script_2.lua"/>-->
+ </settings>
+</configuration>
--- /dev/null
+<configuration name="modules.conf" description="Modules">
+ <modules>
+
+ <!-- Loggers (I'd load these first) -->
+ <!-- <load module="mod_console"/> -->
+ <!-- <load module="mod_logfile"/> -->
+ <load module="mod_syslog"/>
+
+ <!--<load module="mod_yaml"/>-->
+
+ <!-- Multi-Faceted -->
+ <!-- mod_enum is a dialplan interface, an application interface and an api command interface -->
+ <!-- <load module="mod_enum"/> -->
+
+ <!-- XML Interfaces -->
+ <!-- <load module="mod_xml_rpc"/> -->
+ <!-- <load module="mod_xml_curl"/> -->
+ <!-- <load module="mod_xml_cdr"/> -->
+
+ <!-- Event Handlers -->
+ <!-- <load module="mod_cdr_csv"/> -->
+ <!-- <load module="mod_event_multicast"/> -->
+ <load module="mod_event_socket"/>
+ <!-- <load module="mod_zeroconf"/> -->
+
+ <!-- Directory Interfaces -->
+ <!-- <load module="mod_ldap"/> -->
+
+ <!-- Endpoints -->
+ <!-- <load module="mod_dingaling"/> -->
+ <!-- <load module="mod_portaudio"/> -->
+ <!-- <load module="mod_alsa"/> -->
+ <load module="mod_sofia"/>
+ <!-- <load module="mod_loopback"/> -->
+ <!-- <load module="mod_woomera"/> -->
+ <!-- <load module="mod_openzap"/> -->
+ <!-- <load module="mod_unicall"/> -->
+
+ <!-- Applications -->
+ <load module="mod_commands"/>
+ <!-- <load module="mod_conference"/> -->
+ <load module="mod_dptools"/>
+ <!-- <load module="mod_expr"/> -->
+ <!-- <load module="mod_fifo"/> -->
+ <!-- <load module="mod_voicemail"/> -->
+ <!--<load module="mod_directory"/>-->
+ <!--<load module="mod_fax"/>-->
+ <!--<load module="mod_lcr"/>-->
+ <!-- <load module="mod_limit"/> -->
+ <!-- <load module="mod_esf"/> -->
+ <!-- <load module="mod_fsv"/> -->
+ <!-- <load module="mod_cluechoo"/> -->
+ <!-- <load module="mod_valet_parking"/> -->
+ <!--<load module="mod_spy"/>-->
+ <!-- <load module="mod_curl"/> -->
+
+ <!-- SNOM Module -->
+ <!--<load module="mod_snom"/>-->
+
+ <!-- Dialplan Interfaces -->
+ <!-- <load module="mod_dialplan_directory"/> -->
+ <load module="mod_dialplan_xml"/>
+ <!-- <load module="mod_dialplan_asterisk"/> -->
+
+ <!-- Codec Interfaces -->
+ <load module="mod_voipcodecs"/>
+ <!-- <load module="mod_g723_1"/> -->
+ <!-- <load module="mod_g729"/> -->
+ <!-- <load module="mod_amr"/> -->
+ <!-- <load module="mod_ilbc"/> -->
+ <!-- <load module="mod_speex"/> -->
+ <!-- <load module="mod_h26x"/> -->
+ <!-- <load module="mod_siren"/> -->
+ <!--<load module="mod_celt"/>-->
+
+ <!-- File Format Interfaces -->
+ <load module="mod_sndfile"/>
+ <!-- <load module="mod_native_file"/> -->
+ <!--For icecast/mp3 streams/files-->
+ <!--<load module="mod_shout"/>-->
+ <!--For local streams (play all the files in a directory)-->
+ <load module="mod_local_stream"/>
+ <load module="mod_tone_stream"/>
+ <!-- <load module="mod_file_string"/> -->
+
+ <!-- Timers -->
+
+ <!-- Languages -->
+ <!-- <load module="mod_spidermonkey"/> -->
+ <!-- <load module="mod_perl"/> -->
+ <!-- <load module="mod_python"/> -->
+ <!-- <load module="mod_java"/> -->
+ <load module="mod_lua"/>
+
+ <!-- ASR /TTS -->
+ <!-- <load module="mod_flite"/> -->
+ <!-- <load module="mod_pocketsphinx"/> -->
+ <!-- <load module="mod_cepstral"/> -->
+ <!-- <load module="mod_tts_commandline"/> -->
+ <!-- <load module="mod_rss"/> -->
+
+ <!-- Say -->
+ <!-- <load module="mod_say_en"/> -->
+ <!-- <load module="mod_say_ru"/> -->
+ <!-- <load module="mod_say_zh"/> -->
+
+ <!-- Third party modules -->
+ <!--<load module="mod_nibblebill"/>-->
+
+ </modules>
+</configuration>
--- /dev/null
+<configuration name="post_load_modules.conf" description="Modules">
+ <modules>
+ </modules>
+</configuration>
--- /dev/null
+<configuration name="sofia.conf" description="sofia Endpoint">
+
+ <global_settings>
+ <param name="log-level" value="0"/>
+ <!-- <param name="auto-restart" value="false"/> -->
+ <param name="debug-presence" value="0"/>
+ </global_settings>
+
+ <!--
+ The rabbit hole goes deep. This includes all the
+ profiles in the sip_profiles directory that is up
+ one level from this directory.
+ -->
+ <profiles>
+ <X-PRE-PROCESS cmd="include" data="../sip_profiles/*.xml"/>
+ </profiles>
+
+</configuration>
--- /dev/null
+<configuration name="switch.conf" description="Core Configuration">
+
+ <cli-keybindings>
+ <key name="1" value="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>
+
+ <settings>
+ <!--Colorize the Console -->
+ <param name="colorize-console" value="true"/>
+ <!--Most channels to allow at once -->
+ <param name="max-sessions" value="1000"/>
+ <!--Most channels to create per second -->
+ <param name="sessions-per-second" value="30"/>
+ <!-- Default Global Log Level - value is one of debug,info,notice,warning,err,crit,alert -->
+ <param name="loglevel" value="debug"/>
+ <!-- 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"/>-->
+ <param name="mailer-app" value="sendmail"/>
+ <param name="mailer-app-args" value="-t"/>
+ <param name="dump-cores" value="yes"/>
+ <!--RTP port range -->
+ <!--<param name="rtp-start-port" value="16384"/>-->
+ <!--<param name="rtp-end-port" value="32768"/>-->
+ <param name="rtp-enable-zrtp" value="true"/>
+ <!-- <param name="core-db-dsn" value="dsn:username:password" /> -->
+ </settings>
+
+</configuration>
+
--- /dev/null
+<configuration name="syslog.conf" description="Syslog Logger">
+ <!-- SYSLOG -->
+ <!-- emerg - system is unusable -->
+ <!-- alert - action must be taken immediately -->
+ <!-- crit - critical conditions -->
+ <!-- err - error conditions -->
+ <!-- warning - warning conditions -->
+ <!-- notice - normal, but significant, condition -->
+ <!-- info - informational message -->
+ <!-- debug - debug-level message -->
+ <settings>
+ <param name="facility" value="user"/>
+ <param name="ident" value="freeswitch"/>
+ <param name="loglevel" value="info"/>
+ <!-- Uncomment the following line to log uuids in syslogs (when applicable) -->
+ <!-- <param name="uuid" value="true"/> -->
+ </settings>
+</configuration>
--- /dev/null
+<configuration name="timezones.conf" description="Timezones">
+ <timezones>
+ <zone name="Africa/Abidjan" value="GMT0" />
+ <zone name="Africa/Accra" value="GMT0" />
+ <zone name="Africa/Addis_Ababa" value="EAT-3" />
+ <zone name="Africa/Algiers" value="CET-1" />
+ <zone name="Africa/Asmara" value="EAT-3" />
+ <zone name="Africa/Asmera" value="EAT-3" />
+ <zone name="Africa/Bamako" value="GMT0" />
+ <zone name="Africa/Bangui" value="WAT-1" />
+ <zone name="Africa/Banjul" value="GMT0" />
+ <zone name="Africa/Bissau" value="GMT0" />
+ <zone name="Africa/Blantyre" value="CAT-2" />
+ <zone name="Africa/Brazzaville" value="WAT-1" />
+ <zone name="Africa/Bujumbura" value="CAT-2" />
+ <zone name="Africa/Cairo" value="EEST" />
+ <zone name="Africa/Casablanca" value="WET0" />
+ <zone name="Africa/Ceuta" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Africa/Conakry" value="GMT0" />
+ <zone name="Africa/Dakar" value="GMT0" />
+ <zone name="Africa/Dar_es_Salaam" value="EAT-3" />
+ <zone name="Africa/Djibouti" value="EAT-3" />
+ <zone name="Africa/Douala" value="WAT-1" />
+ <zone name="Africa/El_Aaiun" value="WET0" />
+ <zone name="Africa/Freetown" value="GMT0" />
+ <zone name="Africa/Gaborone" value="CAT-2" />
+ <zone name="Africa/Harare" value="CAT-2" />
+ <zone name="Africa/Johannesburg" value="SAST-2" />
+ <zone name="Africa/Kampala" value="EAT-3" />
+ <zone name="Africa/Khartoum" value="EAT-3" />
+ <zone name="Africa/Kigali" value="CAT-2" />
+ <zone name="Africa/Kinshasa" value="WAT-1" />
+ <zone name="Africa/Lagos" value="WAT-1" />
+ <zone name="Africa/Libreville" value="WAT-1" />
+ <zone name="Africa/Lome" value="GMT0" />
+ <zone name="Africa/Luanda" value="WAT-1" />
+ <zone name="Africa/Lubumbashi" value="CAT-2" />
+ <zone name="Africa/Lusaka" value="CAT-2" />
+ <zone name="Africa/Malabo" value="WAT-1" />
+ <zone name="Africa/Maputo" value="CAT-2" />
+ <zone name="Africa/Maseru" value="SAST-2" />
+ <zone name="Africa/Mbabane" value="SAST-2" />
+ <zone name="Africa/Mogadishu" value="EAT-3" />
+ <zone name="Africa/Monrovia" value="GMT0" />
+ <zone name="Africa/Nairobi" value="EAT-3" />
+ <zone name="Africa/Ndjamena" value="WAT-1" />
+ <zone name="Africa/Niamey" value="WAT-1" />
+ <zone name="Africa/Nouakchott" value="GMT0" />
+ <zone name="Africa/Ouagadougou" value="GMT0" />
+ <zone name="Africa/Porto-Novo" value="WAT-1" />
+ <zone name="Africa/Sao_Tome" value="GMT0" />
+ <zone name="Africa/Timbuktu" value="GMT0" />
+ <zone name="Africa/Tripoli" value="EET-2" />
+ <zone name="Africa/Tunis" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Africa/Windhoek" value="WAT-1WAST,M9.1.0,M4.1.0" />
+
+ <zone name="America/Adak" value="HAST10HADT,M3.2.0,M11.1.0" />
+ <zone name="America/Anchorage" value="AKST9AKDT,M3.2.0,M11.1.0" />
+ <zone name="America/Anguilla" value="AST4" />
+ <zone name="America/Antigua" value="AST4" />
+ <zone name="America/Araguaina" value="BRT3" />
+ <zone name="America/Argentina/Buenos_Aires" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/Catamarca" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/ComodRivadavia" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/Cordoba" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/Jujuy" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/La_Rioja" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/Mendoza" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/Rio_Gallegos" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/San_Juan" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/San_Luis" value="ART3" />
+ <zone name="America/Argentina/Tucuman" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/Ushuaia" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Aruba" value="AST4" />
+ <zone name="America/Asuncion" value="PYT4PYST,M10.3.0/0,M3.2.0/0" />
+ <zone name="America/Atikokan" value="EST5" />
+ <zone name="America/Atka" value="HAST10HADT,M3.2.0,M11.1.0" />
+ <zone name="America/Bahia" value="BRT3" />
+ <zone name="America/Barbados" value="AST4" />
+ <zone name="America/Belem" value="BRT3" />
+ <zone name="America/Belize" value="CST6" />
+ <zone name="America/Blanc-Sablon" value="AST4" />
+ <zone name="America/Boa_Vista" value="AMT4" />
+ <zone name="America/Bogota" value="COT5" />
+ <zone name="America/Boise" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="America/Buenos_Aires" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Cambridge_Bay" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="America/Campo_Grande" value="AMT4AMST,M10.2.0/0,M2.3.0/0" />
+ <zone name="America/Cancun" value="CST6CDT,M4.1.0,M10.5.0" />
+ <zone name="America/Caracas" value="VET4:30" />
+ <zone name="America/Catamarca" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Cayenne" value="GFT3" />
+ <zone name="America/Cayman" value="EST5" />
+ <zone name="America/Chicago" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/Chihuahua" value="MST7MDT,M4.1.0,M10.5.0" />
+ <zone name="America/Coral_Harbour" value="EST5" />
+ <zone name="America/Cordoba" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Costa_Rica" value="CST6" />
+ <zone name="America/Cuiaba" value="AMT4AMST,M10.2.0/0,M2.3.0/0" />
+ <zone name="America/Curacao" value="AST4" />
+ <zone name="America/Danmarkshavn" value="GMT0" />
+ <zone name="America/Dawson" value="PST8PDT,M3.2.0,M11.1.0" />
+ <zone name="America/Dawson_Creek" value="MST7" />
+ <zone name="America/Denver" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="America/Detroit" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Dominica" value="AST4" />
+ <zone name="America/Edmonton" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="America/Eirunepe" value="ACT5" />
+ <zone name="America/El_Salvador" value="CST6" />
+ <zone name="America/Ensenada" value="PST8PDT,M4.1.0,M10.5.0" />
+ <zone name="America/Fortaleza" value="BRT3" />
+ <zone name="America/Fort_Wayne" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Glace_Bay" value="AST4ADT,M3.2.0,M11.1.0" />
+ <zone name="America/Godthab" value="WGST" />
+ <zone name="America/Goose_Bay" value="AST4ADT,M3.2.0/0:01,M11.1.0/0:01" />
+ <zone name="America/Grand_Turk" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Grenada" value="AST4" />
+ <zone name="America/Guadeloupe" value="AST4" />
+ <zone name="America/Guatemala" value="CST6" />
+ <zone name="America/Guayaquil" value="ECT5" />
+ <zone name="America/Guyana" value="GYT4" />
+ <zone name="America/Halifax" value="AST4ADT,M3.2.0,M11.1.0" />
+ <zone name="America/Havana" value="CST5CDT,M3.3.0/0,M10.5.0/1" />
+ <zone name="America/Hermosillo" value="MST7" />
+ <zone name="America/Indiana/Indianapolis" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Indiana/Knox" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/Indiana/Marengo" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Indiana/Petersburg" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Indianapolis" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Indiana/Tell_City" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/Indiana/Vevay" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Indiana/Vincennes" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Indiana/Winamac" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Inuvik" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="America/Iqaluit" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Jamaica" value="EST5" />
+ <zone name="America/Jujuy" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Juneau" value="AKST9AKDT,M3.2.0,M11.1.0" />
+ <zone name="America/Kentucky/Louisville" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Kentucky/Monticello" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Knox_IN" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/La_Paz" value="BOT4" />
+ <zone name="America/Lima" value="PET5" />
+ <zone name="America/Los_Angeles" value="PST8PDT,M3.2.0,M11.1.0" />
+ <zone name="America/Louisville" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Maceio" value="BRT3" />
+ <zone name="America/Managua" value="CST6" />
+ <zone name="America/Manaus" value="AMT4" />
+ <zone name="America/Marigot" value="AST4" />
+ <zone name="America/Martinique" value="AST4" />
+ <zone name="America/Mazatlan" value="MST7MDT,M4.1.0,M10.5.0" />
+ <zone name="America/Mendoza" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Menominee" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/Merida" value="CST6CDT,M4.1.0,M10.5.0" />
+ <zone name="America/Mexico_City" value="CST6CDT,M4.1.0,M10.5.0" />
+ <zone name="America/Miquelon" value="PMST3PMDT,M3.2.0,M11.1.0" />
+ <zone name="America/Moncton" value="AST4ADT,M3.2.0,M11.1.0" />
+ <zone name="America/Monterrey" value="CST6CDT,M4.1.0,M10.5.0" />
+ <zone name="America/Montevideo" value="UYT3UYST,M10.1.0,M3.2.0" />
+ <zone name="America/Montreal" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Montserrat" value="AST4" />
+ <zone name="America/Nassau" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/New_York" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Nipigon" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Nome" value="AKST9AKDT,M3.2.0,M11.1.0" />
+ <zone name="America/Noronha" value="FNT2" />
+ <zone name="America/North_Dakota/Center" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/North_Dakota/New_Salem" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/Panama" value="EST5" />
+ <zone name="America/Pangnirtung" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Paramaribo" value="SRT3" />
+ <zone name="America/Phoenix" value="MST7" />
+ <zone name="America/Port-au-Prince" value="EST5" />
+ <zone name="America/Porto_Acre" value="ACT5" />
+ <zone name="America/Port_of_Spain" value="AST4" />
+ <zone name="America/Porto_Velho" value="AMT4" />
+ <zone name="America/Puerto_Rico" value="AST4" />
+ <zone name="America/Rainy_River" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/Rankin_Inlet" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/Recife" value="BRT3" />
+ <zone name="America/Regina" value="CST6" />
+ <zone name="America/Resolute" value="EST5" />
+ <zone name="America/Rio_Branco" value="ACT5" />
+ <zone name="America/Rosario" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Santiago" value="CLST" />
+ <zone name="America/Santo_Domingo" value="AST4" />
+ <zone name="America/Sao_Paulo" value="BRT3BRST,M10.2.0/0,M2.3.0/0" />
+ <zone name="America/Scoresbysund" value="EGT1EGST,M3.5.0/0,M10.5.0/1" />
+ <zone name="America/Shiprock" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="America/St_Barthelemy" value="AST4" />
+ <zone name="America/St_Johns" value="NST3:30NDT,M3.2.0/0:01,M11.1.0/0:01" />
+ <zone name="America/St_Kitts" value="AST4" />
+ <zone name="America/St_Lucia" value="AST4" />
+ <zone name="America/St_Thomas" value="AST4" />
+ <zone name="America/St_Vincent" value="AST4" />
+ <zone name="America/Swift_Current" value="CST6" />
+ <zone name="America/Tegucigalpa" value="CST6" />
+ <zone name="America/Thule" value="AST4ADT,M3.2.0,M11.1.0" />
+ <zone name="America/Thunder_Bay" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Tijuana" value="PST8PDT,M4.1.0,M10.5.0" />
+ <zone name="America/Toronto" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Tortola" value="AST4" />
+ <zone name="America/Vancouver" value="PST8PDT,M3.2.0,M11.1.0" />
+ <zone name="America/Virgin" value="AST4" />
+ <zone name="America/Whitehorse" value="PST8PDT,M3.2.0,M11.1.0" />
+ <zone name="America/Winnipeg" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/Yakutat" value="AKST9AKDT,M3.2.0,M11.1.0" />
+ <zone name="America/Yellowknife" value="MST7MDT,M3.2.0,M11.1.0" />
+
+ <zone name="Antarctica/Casey" value="WST-8" />
+ <zone name="Antarctica/Davis" value="DAVT-7" />
+ <zone name="Antarctica/DumontDUrville" value="DDUT-10" />
+ <zone name="Antarctica/Mawson" value="MAWT-6" />
+ <zone name="Antarctica/McMurdo" value="NZST-12NZDT,M9.5.0,M4.1.0/3" />
+ <zone name="Antarctica/Palmer" value="CLST" />
+ <zone name="Antarctica/Rothera" value="ROTT3" />
+ <zone name="Antarctica/South_Pole" value="NZST-12NZDT,M9.5.0,M4.1.0/3" />
+ <zone name="Antarctica/Syowa" value="SYOT-3" />
+ <zone name="Antarctica/Vostok" value="VOST-6" />
+
+ <zone name="Arctic/Longyearbyen" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+
+ <zone name="Asia/Aden" value="AST-3" />
+ <zone name="Asia/Almaty" value="ALMT-6" />
+ <zone name="Asia/Amman" value="EET-2EEST,M3.5.4/0,M10.5.5/1" />
+ <zone name="Asia/Anadyr" value="ANAT-12ANAST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Aqtau" value="AQTT-5" />
+ <zone name="Asia/Aqtobe" value="AQTT-5" />
+ <zone name="Asia/Ashgabat" value="TMT-5" />
+ <zone name="Asia/Ashkhabad" value="TMT-5" />
+ <zone name="Asia/Baghdad" value="AST-3" />
+ <zone name="Asia/Bahrain" value="AST-3" />
+ <zone name="Asia/Baku" value="AZT-4AZST,M3.5.0/4,M10.5.0/5" />
+ <zone name="Asia/Bangkok" value="ICT-7" />
+ <zone name="Asia/Beirut" value="EET-2EEST,M3.5.0/0,M10.5.0/0" />
+ <zone name="Asia/Bishkek" value="KGT-6" />
+ <zone name="Asia/Brunei" value="BNT-8" />
+ <zone name="Asia/Calcutta" value="IST-5:30" />
+ <zone name="Asia/Choibalsan" value="CHOT-9" />
+ <zone name="Asia/Chongqing" value="CST-8" />
+ <zone name="Asia/Chungking" value="CST-8" />
+ <zone name="Asia/Colombo" value="IST-5:30" />
+ <zone name="Asia/Dacca" value="BDT-6" />
+ <zone name="Asia/Damascus" value="EET-2EEST,M4.1.5/0,J274/0" />
+ <zone name="Asia/Dhaka" value="BDT-6" />
+ <zone name="Asia/Dili" value="TLT-9" />
+ <zone name="Asia/Dubai" value="GST-4" />
+ <zone name="Asia/Dushanbe" value="TJT-5" />
+ <zone name="Asia/Gaza" value="EET-2EEST,J91/0,M9.2.4" />
+ <zone name="Asia/Harbin" value="CST-8" />
+ <zone name="Asia/Ho_Chi_Minh" value="ICT-7" />
+ <zone name="Asia/Hong_Kong" value="HKT-8" />
+ <zone name="Asia/Hovd" value="HOVT-7" />
+ <zone name="Asia/Irkutsk" value="IRKT-8IRKST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Istanbul" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Asia/Jakarta" value="WIT-7" />
+ <zone name="Asia/Jayapura" value="EIT-9" />
+ <zone name="Asia/Jerusalem" value="IDDT" />
+ <zone name="Asia/Kabul" value="AFT-4:30" />
+ <zone name="Asia/Kamchatka" value="PETT-12PETST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Karachi" value="PKT-5" />
+ <zone name="Asia/Kashgar" value="CST-8" />
+ <zone name="Asia/Katmandu" value="NPT-5:45" />
+ <zone name="Asia/Kolkata" value="IST-5:30" />
+ <zone name="Asia/Krasnoyarsk" value="KRAT-7KRAST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Kuala_Lumpur" value="MYT-8" />
+ <zone name="Asia/Kuching" value="MYT-8" />
+ <zone name="Asia/Kuwait" value="AST-3" />
+ <zone name="Asia/Macao" value="CST-8" />
+ <zone name="Asia/Macau" value="CST-8" />
+ <zone name="Asia/Magadan" value="MAGT-11MAGST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Makassar" value="CIT-8" />
+ <zone name="Asia/Manila" value="PHT-8" />
+ <zone name="Asia/Muscat" value="GST-4" />
+ <zone name="Asia/Nicosia" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Asia/Novosibirsk" value="NOVT-6NOVST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Omsk" value="OMST-6OMSST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Oral" value="ORAT-5" />
+ <zone name="Asia/Phnom_Penh" value="ICT-7" />
+ <zone name="Asia/Pontianak" value="WIT-7" />
+ <zone name="Asia/Pyongyang" value="KST-9" />
+ <zone name="Asia/Qatar" value="AST-3" />
+ <zone name="Asia/Qyzylorda" value="QYZT-6" />
+ <zone name="Asia/Rangoon" value="MMT-6:30" />
+ <zone name="Asia/Riyadh" value="AST-3" />
+ <zone name="Asia/Riyadh87" value="zzz-3:07:04" />
+ <zone name="Asia/Riyadh88" value="zzz-3:07:04" />
+ <zone name="Asia/Riyadh89" value="zzz-3:07:04" />
+ <zone name="Asia/Saigon" value="ICT-7" />
+ <zone name="Asia/Sakhalin" value="SAKT-10SAKST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Samarkand" value="UZT-5" />
+ <zone name="Asia/Seoul" value="KST-9" />
+ <zone name="Asia/Shanghai" value="CST-8" />
+ <zone name="Asia/Singapore" value="SGT-8" />
+ <zone name="Asia/Taipei" value="CST-8" />
+ <zone name="Asia/Tashkent" value="UZT-5" />
+ <zone name="Asia/Tbilisi" value="GET-4" />
+ <zone name="Asia/Tehran" value="IRDT" />
+ <zone name="Asia/Tel_Aviv" value="IDDT" />
+ <zone name="Asia/Thimbu" value="BTT-6" />
+ <zone name="Asia/Thimphu" value="BTT-6" />
+ <zone name="Asia/Tokyo" value="JST-9" />
+ <zone name="Asia/Ujung_Pandang" value="CIT-8" />
+ <zone name="Asia/Ulaanbaatar" value="ULAT-8" />
+ <zone name="Asia/Ulan_Bator" value="ULAT-8" />
+ <zone name="Asia/Urumqi" value="CST-8" />
+ <zone name="Asia/Vientiane" value="ICT-7" />
+ <zone name="Asia/Vladivostok" value="VLAT-10VLAST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Yakutsk" value="YAKT-9YAKST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Yekaterinburg" value="YEKT-5YEKST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Yerevan" value="AMT-4AMST,M3.5.0,M10.5.0/3" />
+
+ <zone name="Atlantic/Azores" value="AZOT1AZOST,M3.5.0/0,M10.5.0/1" />
+ <zone name="Atlantic/Bermuda" value="AST4ADT,M3.2.0,M11.1.0" />
+ <zone name="Atlantic/Canary" value="WET0WEST,M3.5.0/1,M10.5.0" />
+ <zone name="Atlantic/Cape_Verde" value="CVT1" />
+ <zone name="Atlantic/Faeroe" value="WET0WEST,M3.5.0/1,M10.5.0" />
+ <zone name="Atlantic/Faroe" value="WET0WEST,M3.5.0/1,M10.5.0" />
+ <zone name="Atlantic/Jan_Mayen" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Atlantic/Madeira" value="WET0WEST,M3.5.0/1,M10.5.0" />
+ <zone name="Atlantic/Reykjavik" value="GMT0" />
+ <zone name="Atlantic/South_Georgia" value="GST2" />
+ <zone name="Atlantic/Stanley" value="FKT4FKST,M9.1.0,M4.3.0" />
+ <zone name="Atlantic/St_Helena" value="GMT0" />
+
+ <zone name="Australia/ACT" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Adelaide" value="CST-9:30CST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Brisbane" value="EST-10" />
+ <zone name="Australia/Broken_Hill" value="CST-9:30CST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Canberra" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Currie" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Darwin" value="CST-9:30" />
+ <zone name="Australia/Eucla" value="CWST-8:45" />
+ <zone name="Australia/Hobart" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/LHI" value="LHST-10:30LHST-11,M10.1.0,M4.1.0" />
+ <zone name="Australia/Lindeman" value="EST-10" />
+ <zone name="Australia/Lord_Howe" value="LHST-10:30LHST-11,M10.1.0,M4.1.0" />
+ <zone name="Australia/Melbourne" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/North" value="CST-9:30" />
+ <zone name="Australia/NSW" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Perth" value="WST-8" />
+ <zone name="Australia/Queensland" value="EST-10" />
+ <zone name="Australia/South" value="CST-9:30CST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Sydney" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Tasmania" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Victoria" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/West" value="WST-8" />
+ <zone name="Australia/Yancowinna" value="CST-9:30CST,M10.1.0,M4.1.0/3" />
+
+ <zone name="Brazil/Acre" value="ACT5" />
+ <zone name="Brazil/DeNoronha" value="FNT2" />
+ <zone name="Brazil/East" value="BRT3BRST,M10.2.0/0,M2.3.0/0" />
+ <zone name="Brazil/West" value="AMT4" />
+
+ <zone name="Canada/Atlantic" value="AST4ADT,M3.2.0,M11.1.0" />
+ <zone name="Canada/Central" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="Canada/Eastern" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="Canada/East-Saskatchewan" value="CST6" />
+ <zone name="Canada/Mountain" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="Canada/Newfoundland" value="NST3:30NDT,M3.2.0/0:01,M11.1.0/0:01" />
+ <zone name="Canada/Pacific" value="PST8PDT,M3.2.0,M11.1.0" />
+ <zone name="Canada/Saskatchewan" value="CST6" />
+ <zone name="Canada/Yukon" value="PST8PDT,M3.2.0,M11.1.0" />
+
+ <zone name="Chile/Continental" value="CLST" />
+ <zone name="Chile/EasterIsland" value="EASST" />
+
+ <zone name="Etc/GMT" value="GMT0" />
+ <zone name="Etc/GMT0" value="GMT0" />
+ <zone name="Etc/GMT-0" value="GMT0" />
+ <zone name="Etc/GMT+0" value="GMT0" />
+ <zone name="Etc/GMT-1" value="GMT-1" />
+ <zone name="Etc/GMT+1" value="GMT+1" />
+ <zone name="Etc/GMT-10" value="GMT-10" />
+ <zone name="Etc/GMT+10" value="GMT+10" />
+ <zone name="Etc/GMT-11" value="GMT-11" />
+ <zone name="Etc/GMT+11" value="GMT+11" />
+ <zone name="Etc/GMT-12" value="GMT-12" />
+ <zone name="Etc/GMT+12" value="GMT+12" />
+ <zone name="Etc/GMT-13" value="GMT-13" />
+ <zone name="Etc/GMT-14" value="GMT-14" />
+ <zone name="Etc/GMT-2" value="GMT-2" />
+ <zone name="Etc/GMT+2" value="GMT+2" />
+ <zone name="Etc/GMT-3" value="GMT-3" />
+ <zone name="Etc/GMT+3" value="GMT+3" />
+ <zone name="Etc/GMT-4" value="GMT-4" />
+ <zone name="Etc/GMT+4" value="GMT+4" />
+ <zone name="Etc/GMT-5" value="GMT-5" />
+ <zone name="Etc/GMT+5" value="GMT+5" />
+ <zone name="Etc/GMT-6" value="GMT-6" />
+ <zone name="Etc/GMT+6" value="GMT+6" />
+ <zone name="Etc/GMT-7" value="GMT-7" />
+ <zone name="Etc/GMT+7" value="GMT+7" />
+ <zone name="Etc/GMT-8" value="GMT-8" />
+ <zone name="Etc/GMT+8" value="GMT+8" />
+ <zone name="Etc/GMT-9" value="GMT-9" />
+ <zone name="Etc/GMT+9" value="GMT+9" />
+ <zone name="Etc/Greenwich" value="GMT0" />
+ <zone name="Etc/UCT" value="UCT0" />
+ <zone name="Etc/Universal" value="UTC0" />
+ <zone name="Etc/UTC" value="UTC0" />
+ <zone name="Etc/Zulu" value="UTC0" />
+
+ <zone name="Europe/Amsterdam" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Andorra" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Athens" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Belfast" value="GMT0BST,M3.5.0/1,M10.5.0" />
+ <zone name="Europe/Belgrade" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Berlin" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Bratislava" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Brussels" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Bucharest" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Budapest" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Chisinau" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Copenhagen" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Dublin" value="GMT0IST,M3.5.0/1,M10.5.0" />
+ <zone name="Europe/Gibraltar" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Guernsey" value="GMT0BST,M3.5.0/1,M10.5.0" />
+ <zone name="Europe/Helsinki" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Isle_of_Man" value="GMT0BST,M3.5.0/1,M10.5.0" />
+ <zone name="Europe/Istanbul" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Jersey" value="GMT0BST,M3.5.0/1,M10.5.0" />
+ <zone name="Europe/Kaliningrad" value="EET-2EEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Kiev" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Lisbon" value="WET0WEST,M3.5.0/1,M10.5.0" />
+ <zone name="Europe/Ljubljana" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/London" value="GMT0BST,M3.5.0/1,M10.5.0" />
+ <zone name="Europe/Luxembourg" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Madrid" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Malta" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Mariehamn" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Minsk" value="EET-2EEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Monaco" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Moscow" value="MSK-3MSD,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Nicosia" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Oslo" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Paris" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Podgorica" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Prague" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Riga" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Rome" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Samara" value="SAMT-4SAMST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/San_Marino" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Sarajevo" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Simferopol" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Skopje" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Sofia" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Stockholm" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Tallinn" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Tirane" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Tiraspol" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Uzhgorod" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Vaduz" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Vatican" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Vienna" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Vilnius" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Volgograd" value="VOLT-3VOLST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Warsaw" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Zagreb" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Zaporozhye" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Zurich" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+
+ <zone name="Indian/Antananarivo" value="EAT-3" />
+ <zone name="Indian/Chagos" value="IOT-6" />
+ <zone name="Indian/Christmas" value="CXT-7" />
+ <zone name="Indian/Cocos" value="CCT-6:30" />
+ <zone name="Indian/Comoro" value="EAT-3" />
+ <zone name="Indian/Kerguelen" value="TFT-5" />
+ <zone name="Indian/Mahe" value="SCT-4" />
+ <zone name="Indian/Maldives" value="MVT-5" />
+ <zone name="Indian/Mauritius" value="MUT-4" />
+ <zone name="Indian/Mayotte" value="EAT-3" />
+ <zone name="Indian/Reunion" value="RET-4" />
+
+ <zone name="Mexico/BajaNorte" value="PST8PDT,M4.1.0,M10.5.0" />
+ <zone name="Mexico/BajaSur" value="MST7MDT,M4.1.0,M10.5.0" />
+ <zone name="Mexico/General" value="CST6CDT,M4.1.0,M10.5.0" />
+
+ <zone name="Mideast/Riyadh87" value="zzz-3:07:04" />
+ <zone name="Mideast/Riyadh88" value="zzz-3:07:04" />
+ <zone name="Mideast/Riyadh89" value="zzz-3:07:04" />
+
+ <zone name="Pacific/Apia" value="WST11" />
+ <zone name="Pacific/Auckland" value="NZST-12NZDT,M9.5.0,M4.1.0/3" />
+ <zone name="Pacific/Chatham" value="CHAST-12:45CHADT,M9.5.0/2:45,M4.1.0/3:45" />
+ <zone name="Pacific/Easter" value="EASST" />
+ <zone name="Pacific/Efate" value="VUT-11" />
+ <zone name="Pacific/Enderbury" value="PHOT-13" />
+ <zone name="Pacific/Fakaofo" value="TKT10" />
+ <zone name="Pacific/Fiji" value="FJT-12" />
+ <zone name="Pacific/Funafuti" value="TVT-12" />
+ <zone name="Pacific/Galapagos" value="GALT6" />
+ <zone name="Pacific/Gambier" value="GAMT9" />
+ <zone name="Pacific/Guadalcanal" value="SBT-11" />
+ <zone name="Pacific/Guam" value="ChST-10" />
+ <zone name="Pacific/Honolulu" value="HST10" />
+ <zone name="Pacific/Johnston" value="HST10" />
+ <zone name="Pacific/Kiritimati" value="LINT-14" />
+ <zone name="Pacific/Kosrae" value="KOST-11" />
+ <zone name="Pacific/Kwajalein" value="MHT-12" />
+ <zone name="Pacific/Majuro" value="MHT-12" />
+ <zone name="Pacific/Marquesas" value="MART9:30" />
+ <zone name="Pacific/Midway" value="SST11" />
+ <zone name="Pacific/Nauru" value="NRT-12" />
+ <zone name="Pacific/Niue" value="NUT11" />
+ <zone name="Pacific/Norfolk" value="NFT-11:30" />
+ <zone name="Pacific/Noumea" value="NCT-11" />
+ <zone name="Pacific/Pago_Pago" value="SST11" />
+ <zone name="Pacific/Palau" value="PWT-9" />
+ <zone name="Pacific/Pitcairn" value="PST8" />
+ <zone name="Pacific/Ponape" value="PONT-11" />
+ <zone name="Pacific/Port_Moresby" value="PGT-10" />
+ <zone name="Pacific/Rarotonga" value="CKT10" />
+ <zone name="Pacific/Saipan" value="ChST-10" />
+ <zone name="Pacific/Samoa" value="SST11" />
+ <zone name="Pacific/Tahiti" value="TAHT10" />
+ <zone name="Pacific/Tarawa" value="GILT-12" />
+ <zone name="Pacific/Tongatapu" value="TOT-13" />
+ <zone name="Pacific/Truk" value="TRUT-10" />
+ <zone name="Pacific/Wake" value="WAKT-12" />
+ <zone name="Pacific/Wallis" value="WFT-12" />
+ <zone name="Pacific/Yap" value="TRUT-10" />
+
+ <zone name="SystemV/AST4" value="AST4" />
+ <zone name="SystemV/AST4ADT" value="AST4ADT,M3.2.0,M11.1.0" />
+ <zone name="SystemV/CST6" value="CST6" />
+ <zone name="SystemV/CST6CDT" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="SystemV/EST5" value="EST5" />
+ <zone name="SystemV/EST5EDT" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="SystemV/HST10" value="HST10" />
+ <zone name="SystemV/MST7" value="MST7" />
+ <zone name="SystemV/MST7MDT" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="SystemV/PST8" value="PST8" />
+ <zone name="SystemV/PST8PDT" value="PST8PDT,M3.2.0,M11.1.0" />
+ <zone name="SystemV/YST9" value="GAMT9" />
+ <zone name="SystemV/YST9YDT" value="AKST9AKDT,M3.2.0,M11.1.0" />
+
+ <zone name="US/Alaska" value="AKST9AKDT,M3.2.0,M11.1.0" />
+ <zone name="US/Aleutian" value="HAST10HADT,M3.2.0,M11.1.0" />
+ <zone name="US/Arizona" value="MST7" />
+ <zone name="US/Central" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="US/Eastern" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="US/East-Indiana" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="US/Hawaii" value="HST10" />
+ <zone name="US/Indiana-Starke" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="US/Michigan" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="US/Mountain" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="US/Pacific" value="PST8PDT,M3.2.0,M11.1.0" />
+ <zone name="US/Samoa" value="SST11" />
+ </timezones>
+</configuration>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ NOTICE:
+
+ This context is usually accessed via authenticated callers on the sip profile on port 5060
+ or transfered callers from the public context which arrived via the sip profile on port 5080.
+
+ Authenticated users will use the user_context variable on the user to determine what context
+ they can access. You can also add a user in the directory with the cidr= attribute acl.conf.xml
+ will build the domains ACL using this value.
+-->
+<!-- http://wiki.freeswitch.org/wiki/Dialplan_XML -->
+<include>
+ <context name="default">
+
+ <extension name="unloop">
+ <condition field="${unroll_loops}" expression="^true$"/>
+ <condition field="${sip_looped_call}" expression="^true$">
+ <action application="deflect" data="${destination_number}"/>
+ </condition>
+ </extension>
+
+ <extension name="redial">
+ <condition field="destination_number" expression="^870$">
+ <action application="transfer" data="${hash(select/${domain_name}-last_dial/${caller_id_number})}"/>
+ </condition>
+ </extension>
+
+ <extension name="global" continue="true">
+ <condition field="${call_debug}" expression="^true$" break="never">
+ <action application="info"/>
+ </condition>
+ <condition field="${sip_has_crypto}" expression="^(AES_CM_128_HMAC_SHA1_32|AES_CM_128_HMAC_SHA1_80)$" break="never">
+ <action application="set" data="sip_secure_media=true"/>
+ <!-- Offer SRTP on outbound legs if we have it on inbound. -->
+ <!-- <action application="export" data="sip_secure_media=true"/> -->
+ </condition>
+ </extension>
+
+ <!-- If sip_req_host is not a local domain then this has to be an external sip uri -->
+ <!--
+ <extension name="external_sip_uri" continue="true">
+ <condition field="source" expression="mod_sofia"/>
+ <condition field="${outside_call}" expression="^$"/>
+ <condition field="${domain_exists(${sip_req_host})}" expression="true">
+ <anti-action application="bridge" data="sofia/${use_profile}/${sip_to_uri}"/>
+ </condition>
+ </extension>
+ -->
+
+ <extension name="call_return">
+ <condition field="destination_number" expression="^\*69$|^869$|^lcr$">
+ <action application="transfer" data="${hash(select/${domain_name}-call_return/${caller_id_number})}"/>
+ </condition>
+ </extension>
+
+ <extension name="extension-intercom">
+ <condition field="destination_number" expression="^8(100[0-4])$">
+ <action application="set" data="dialed_extension=$1"/>
+ <action application="export" data="sip_auto_answer=true"/>
+ <action application="bridge" data="user/${dialed_extension}@${domain_name}"/>
+ </condition>
+ </extension>
+
+ <!--
+ dial the extension (1000-1004) for 2 minutes before giving up
+ otherwise hang up after a successful bridge (hangup_after-bridge=true).
+ Record call if *2 is pressed during call.
+ -->
+ <extension name="Local_Extension">
+ <condition field="destination_number" expression="^(100[0-4])$">
+ <action application="set" data="dialed_extension=$1"/>
+ <action application="export" data="dialed_extension=$1"/>
+ <!-- bind_meta_app can have these args <key> [a|b|ab] [a|b|o|s] <app> -->
+ <!-- <action application="bind_meta_app" data="1 b s record_session::$${recordings_dir}/${caller_id_number}.${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/> -->
+ <action application="set" data="ringback=${us-ring}"/>
+ <!-- <action application="set" data="transfer_ringback=$${hold_music}"/> -->
+ <action application="set" data="call_timeout=240"/>
+ <!-- <action application="set" data="sip_exclude_contact=${network_addr}"/> -->
+ <action application="set" data="hangup_after_bridge=true"/>
+ <!--<action application="set" data="continue_on_fail=NORMAL_TEMPORARY_FAILURE,USER_BUSY,NO_ANSWER,TIMEOUT,NO_ROUTE_DESTINATION"/> -->
+ <action application="set" data="continue_on_fail=false"/>
+ <!--<action application="set" data="called_party_callgroup=${user_data(${dialed_extension}@${domain_name} var callgroup)}"/>-->
+ <!--<action application="export" data="nolocal:sip_secure_media=${user_data(${dialed_extension}@${domain_name} var sip_secure_media)}"/>-->
+ <action application="bridge" data="user/${dialed_extension}@${domain_name}"/>
+ </condition>
+ </extension>
+
+ <extension name="show_info">
+ <condition field="destination_number" expression="^9992$">
+ <action application="answer"/>
+ <action application="info"/>
+ <action application="sleep" data="250"/>
+ <action application="hangup"/>
+ </condition>
+ </extension>
+
+ <extension name="delay_echo">
+ <condition field="destination_number" expression="^9995$">
+ <action application="answer"/>
+ <action application="delay_echo" data="5000"/>
+ </condition>
+ </extension>
+
+ <extension name="echo">
+ <condition field="destination_number" expression="^9996$">
+ <action application="answer"/>
+ <action application="echo"/>
+ </condition>
+ </extension>
+
+ <extension name="milliwatt">
+ <condition field="destination_number" expression="^9997$">
+ <action application="answer"/>
+ <action application="playback" data="tone_stream://%(251,0,1004);loops=-1"/>
+ </condition>
+ </extension>
+
+ <extension name="tone_stream">
+ <condition field="destination_number" expression="^9998$">
+ <action application="answer"/>
+ <action application="playback" data="tone_stream://path=${base_dir}/conf/tetris.ttml;loops=10"/>
+ </condition>
+ </extension>
+
+ <extension name="fur_elise">
+ <condition field="destination_number" expression="^9991$">
+ <action application="answer"/>
+ <action application="playback" data="tone_stream://path=${base_dir}/conf/fur_elise.ttml;loops=10"/>
+ </condition>
+ </extension>
+
+ <extension name="dial_through_gateway">
+ <!-- Dial any 10 digit or 1+10 number -->
+ <condition field="destination_number" expression="^(1{0,1}\d{10})$">
+ <action application="bridge" data="sofia/gateway/example.com/$1" />
+ </condition>
+ </extension>
+
+ <!--
+ You can place files in the default directory to get included.
+ -->
+ <X-PRE-PROCESS cmd="include" data="default/*.xml"/>
+
+ <!--
+ WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
+
+ Anything you put below this line will may get ignored due to the files in
+ default/*.xml
+
+ WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
+ -->
+
+ </context>
+</include>
--- /dev/null
+<!--
+ 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"/>
+ </condition>
+ </extension>
+
+ <extension name="call_debug" continue="true">
+ <condition field="${call_debug}" expression="^true$" break="never">
+ <action application="info"/>
+ </condition>
+ </extension>
+
+ <extension name="public_extensions">
+ <condition field="destination_number" expression="^(100[0-4])$">
+ <action application="transfer" data="$1 XML default"/>
+ </condition>
+ </extension>
+
+ <!--
+ You can place files in the public directory to get included.
+ -->
+ <X-PRE-PROCESS cmd="include" data="public/*.xml"/>
+ </context>
+</include>
--- /dev/null
+<!--
+ NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE
+
+ FreeSWITCH works off the concept of users and domains just like email.
+ You have users that are in domains for example 1000@domain.com.
+
+ When freeswitch gets a register packet it looks for the user in the directory
+ based on the from or to domain in the packet depending on how your sofia profile
+ is configured. Out of the box the default domain will be the IP address of the
+ machine running FreeSWITCH. This IP can be found by typing "sofia status" at the
+ CLI. You will register your phones to the IP and not the hostname by default.
+ If you wish to register using the domain please open vars.xml in the root conf
+ directory and set the default domain to the hostname you desire. Then you would
+ use the domain name in the client instead of the IP address to register
+ with FreeSWITCH.
+
+ NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE
+-->
+
+<include>
+ <!--the domain or ip (the right hand side of the @ in the addr-->
+ <domain name="$${domain}">
+ <params>
+ <param name="dial-string" value="{presence_id=${dialed_user}@${dialed_domain}}${sofia_contact(${dialed_user}@${dialed_domain})}"/>
+ </params>
+
+ <variables>
+ <variable name="record_stereo" value="true"/>
+ <variable name="default_gateway" value="$${default_provider}"/>
+ <variable name="default_areacode" value="$${default_areacode}"/>
+ <variable name="transfer_fallback_extension" value="operator"/>
+ </variables>
+
+ <groups>
+ <group name="default">
+ <users>
+ <X-PRE-PROCESS cmd="include" data="default/*.xml"/>
+ </users>
+ </group>
+ </groups>
+
+ </domain>
+</include>
--- /dev/null
+<include>
+ <user id="1000">
+ <params>
+ <param name="password" value="$${default_password}"/>
+ <param name="vm-password" value="1000"/>
+ </params>
+ <variables>
+ <variable name="toll_allow" value="domestic,international,local"/>
+ <variable name="accountcode" value="1000"/>
+ <variable name="user_context" value="default"/>
+ <variable name="effective_caller_id_name" value="Extension 1000"/>
+ <variable name="effective_caller_id_number" value="1000"/>
+ <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+ <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+ <variable name="callgroup" value="techsupport"/>
+ </variables>
+ </user>
+</include>
--- /dev/null
+<include>
+ <user id="1001">
+ <params>
+ <param name="password" value="$${default_password}"/>
+ <param name="vm-password" value="1001"/>
+ </params>
+ <variables>
+ <variable name="toll_allow" value="domestic,international,local"/>
+ <variable name="accountcode" value="1001"/>
+ <variable name="user_context" value="default"/>
+ <variable name="effective_caller_id_name" value="Extension 1001"/>
+ <variable name="effective_caller_id_number" value="1001"/>
+ <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+ <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+ <variable name="callgroup" value="techsupport"/>
+ </variables>
+ </user>
+</include>
--- /dev/null
+<include>
+ <user id="1002">
+ <params>
+ <param name="password" value="$${default_password}"/>
+ <param name="vm-password" value="1002"/>
+ </params>
+ <variables>
+ <variable name="toll_allow" value="domestic,international,local"/>
+ <variable name="accountcode" value="1002"/>
+ <variable name="user_context" value="default"/>
+ <variable name="effective_caller_id_name" value="Extension 1002"/>
+ <variable name="effective_caller_id_number" value="1002"/>
+ <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+ <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+ <variable name="callgroup" value="techsupport"/>
+ </variables>
+ </user>
+</include>
--- /dev/null
+<include>
+ <user id="1003">
+ <params>
+ <param name="password" value="$${default_password}"/>
+ <param name="vm-password" value="1003"/>
+ </params>
+ <variables>
+ <variable name="toll_allow" value="domestic,international,local"/>
+ <variable name="accountcode" value="1003"/>
+ <variable name="user_context" value="default"/>
+ <variable name="effective_caller_id_name" value="Extension 1003"/>
+ <variable name="effective_caller_id_number" value="1003"/>
+ <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+ <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+ <variable name="callgroup" value="techsupport"/>
+ </variables>
+ </user>
+</include>
--- /dev/null
+<include>
+ <user id="1004">
+ <params>
+ <param name="password" value="$${default_password}"/>
+ <param name="vm-password" value="1004"/>
+ </params>
+ <variables>
+ <variable name="toll_allow" value="domestic,international,local"/>
+ <variable name="accountcode" value="1004"/>
+ <variable name="user_context" value="default"/>
+ <variable name="effective_caller_id_name" value="Extension 1004"/>
+ <variable name="effective_caller_id_number" value="1004"/>
+ <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+ <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+ <variable name="callgroup" value="techsupport"/>
+ </variables>
+ </user>
+</include>
--- /dev/null
+<include>
+ <user id="default"> <!--if id is numeric mailbox param is not necessary-->
+ <!--
+ ATTENTION PLEASE READ THIS... (I know you won't but you've been warrned)
+
+ Let it be known that this user can register without a password but since we do not assign
+ this user a user_context and we don't authenticate this user they will be put in context 'public'.
+
+ This isn't a security issue as the endpoint would be put into the same context 'public' as the
+ sofia profile that starts on 5080 by default. If you're paranoid just remove this file and
+ remove the external profile also.
+
+ If you're this paranoid you might wanna go buy some more tinfoil and disconnect from the internets.
+
+ Cuz we all know the internets is for pr0n anyway.
+
+ -->
+ <variables>
+ <!--all variables here will be set on all inbound calls that originate from this user -->
+ <!-- set these to take advantage of a dialplan localized to this user -->
+ <variable name="numbering_plan" value="$${default_country}"/>
+ <variable name="default_areacode" value="$${default_areacode}"/>
+ <variable name="default_gateway" value="$${default_provider}"/>
+ </variables>
+ </user>
+</include>
--- /dev/null
+<?xml version="1.0"?>
+<!--
+ NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE
+
+ This is the OpenWRT FreeSWITCH minimal config. It is modified from the the
+ FreeSWITCH default config to use only the modules in the freeswitch-minimal
+ package, and is less exhaustive. If you wish to view the default FreeSWITCH
+ config install package freeswitch-config-example and look under
+ /usr/share/freeswitch/examples/conf. 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 the FreeSWITCH 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>
+
+ <!-- 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>
+
+
--- /dev/null
+%(167, 0, 659)
+%(167, 0, 622)
+%(167, 0, 659)
+%(167, 0, 622)
+%(167, 0, 659)
+%(167, 0, 494)
+%(167, 0, 554)
+%(167, 0, 523)
+%(333, 0, 440)
+%(167, 0, 0)
+%(167, 0, 262)
+%(167, 0, 330)
+%(167, 0, 440)
+%(333, 0, 494)
+%(167, 0, 0)
+%(167, 0, 330)
+%(167, 0, 415)
+%(167, 0, 494)
+%(333, 0, 523)
+%(167, 0, 0)
+%(167, 0, 330)
+%(167, 0, 659)
+%(167, 0, 622)
+%(167, 0, 659)
+%(167, 0, 622)
+%(167, 0, 659)
+%(167, 0, 494)
+%(167, 0, 554)
+%(167, 0, 523)
+%(333, 0, 440)
+%(167, 0, 0)
+%(167, 0, 262)
+%(167, 0, 330)
+%(167, 0, 440)
+%(333, 0, 494)
+%(167, 0, 0)
+%(167, 0, 330)
+%(167, 0, 523)
+%(167, 0, 494)
+%(167, 0, 440)
+%(167, 0, 0)
+%(167, 0, 494)
+%(167, 0, 523)
+%(167, 0, 587)
+%(333, 0, 659)
+%(167, 0, 0)
+%(167, 0, 392)
+%(167, 0, 698)
+%(167, 0, 784)
+%(333, 0, 587)
+%(167, 0, 0)
+%(167, 0, 349)
+%(167, 0, 659)
+%(167, 0, 587)
+%(333, 0, 523)
+%(167, 0, 0)
+%(167, 0, 330)
+%(167, 0, 587)
+%(167, 0, 523)
+%(333, 0, 494)
+%(167, 0, 0)
+%(167, 0, 330)
+%(167, 0, 659)
+%(167, 0, 330)
+%(167, 0, 659)
+%(167, 0, 659)
+%(167, 0, 1319)
+%(167, 0, 622)
+%(167, 0, 659)
+%(167, 0, 622)
+%(167, 0, 659)
+%(167, 0, 622)
+%(167, 0, 659)
+%(167, 0, 622)
+%(167, 0, 659)
+%(167, 0, 622)
+%(167, 0, 659)
+%(167, 0, 622)
+%(167, 0, 659)
+%(167, 0, 494)
+%(167, 0, 554)
+%(167, 0, 523)
+%(333, 0, 440)
--- /dev/null
+# This is a comment. I love comments.
+
+# This file controls what Internet media types are sent to the client for
+# given file extension(s). Sending the correct media type to the client
+# is important so they know how to handle the content of the file.
+# Extra types can either be added here or by using an AddType directive
+# in your config files. For more information about Internet media types,
+# please read RFC 2045, 2046, 2047, 2048, and 2077. The Internet media type
+# registry is at <http://www.iana.org/assignments/media-types/>.
+
+# MIME type Extensions
+application/activemessage
+application/andrew-inset ez
+application/applefile
+application/atom+xml atom
+application/atomcat+xml atomcat
+application/atomicmail
+application/atomsvc+xml atomsvc
+application/auth-policy+xml
+application/batch-smtp
+application/beep+xml
+application/cals-1840
+application/ccxml+xml ccxml
+application/cellml+xml
+application/cnrp+xml
+application/commonground
+application/conference-info+xml
+application/cpl+xml
+application/csta+xml
+application/cstadata+xml
+application/cybercash
+application/davmount+xml davmount
+application/dca-rft
+application/dec-dx
+application/dialog-info+xml
+application/dicom
+application/dns
+application/dvcs
+application/ecmascript ecma
+application/edi-consent
+application/edi-x12
+application/edifact
+application/epp+xml
+application/eshop
+application/fastinfoset
+application/fastsoap
+application/fits
+application/font-tdpfr pfr
+application/h224
+application/http
+application/hyperstudio stk
+application/iges
+application/im-iscomposing+xml
+application/index
+application/index.cmd
+application/index.obj
+application/index.response
+application/index.vnd
+application/iotp
+application/ipp
+application/isup
+application/javascript js
+application/json json
+application/kpml-request+xml
+application/kpml-response+xml
+application/mac-binhex40 hqx
+application/mac-compactpro cpt
+application/macwriteii
+application/marc mrc
+application/mathematica ma nb mb
+application/mathml+xml mathml
+application/mbms-associated-procedure-description+xml
+application/mbms-deregister+xml
+application/mbms-envelope+xml
+application/mbms-msk+xml
+application/mbms-msk-response+xml
+application/mbms-protection-description+xml
+application/mbms-reception-report+xml
+application/mbms-register+xml
+application/mbms-register-response+xml
+application/mbms-user-service-description+xml
+application/mbox mbox
+application/mediaservercontrol+xml mscml
+application/mikey
+application/mp4 mp4s
+application/mpeg4-generic
+application/mpeg4-iod
+application/mpeg4-iod-xmt
+application/msword doc dot
+application/mxf mxf
+application/nasdata
+application/news-message-id
+application/news-transmission
+application/nss
+application/ocsp-request
+application/ocsp-response
+application/octet-stream bin dms lha lzh class so iso dmg dist distz pkg bpk dump elc
+application/oda oda
+application/oebps-package+xml
+application/ogg ogg
+application/parityfec
+application/pdf pdf
+application/pgp-encrypted pgp
+application/pgp-keys
+application/pgp-signature asc sig
+application/pics-rules prf
+application/pidf+xml
+application/pkcs10 p10
+application/pkcs7-mime p7m p7c
+application/pkcs7-signature p7s
+application/pkix-cert cer
+application/pkix-crl crl
+application/pkix-pkipath pkipath
+application/pkixcmp pki
+application/pls+xml pls
+application/poc-settings+xml
+application/postscript ai eps ps
+application/prs.alvestrand.titrax-sheet
+application/prs.cww cww
+application/prs.nprend
+application/prs.plucker
+application/qsig
+application/rdf+xml rdf
+application/reginfo+xml rif
+application/relax-ng-compact-syntax rnc
+application/remote-printing
+application/resource-lists+xml rl
+application/riscos
+application/rlmi+xml
+application/rls-services+xml rs
+application/rsd+xml rsd
+application/rss+xml rss
+application/rtf rtf
+application/rtx
+application/samlassertion+xml
+application/samlmetadata+xml
+application/sbml+xml sbml
+application/sdp sdp
+application/set-payment
+application/set-payment-initiation setpay
+application/set-registration
+application/set-registration-initiation setreg
+application/sgml
+application/sgml-open-catalog
+application/shf+xml shf
+application/sieve
+application/simple-filter+xml
+application/simple-message-summary
+application/simplesymbolcontainer
+application/slate
+application/smil
+application/smil+xml smi smil
+application/soap+fastinfoset
+application/soap+xml
+application/spirits-event+xml
+application/srgs gram
+application/srgs+xml grxml
+application/ssml+xml ssml
+application/timestamp-query
+application/timestamp-reply
+application/tve-trigger
+application/vemmi
+application/vividence.scriptfile
+application/vnd.3gpp.bsf+xml
+application/vnd.3gpp.pic-bw-large plb
+application/vnd.3gpp.pic-bw-small psb
+application/vnd.3gpp.pic-bw-var pvb
+application/vnd.3gpp.sms
+application/vnd.3gpp2.bcmcsinfo+xml
+application/vnd.3gpp2.sms
+application/vnd.3m.post-it-notes pwn
+application/vnd.accpac.simply.aso aso
+application/vnd.accpac.simply.imp imp
+application/vnd.acucobol acu
+application/vnd.acucorp atc acutc
+application/vnd.adobe.xdp+xml xdp
+application/vnd.adobe.xfdf xfdf
+application/vnd.aether.imp
+application/vnd.amiga.ami ami
+application/vnd.anser-web-certificate-issue-initiation cii
+application/vnd.anser-web-funds-transfer-initiation fti
+application/vnd.antix.game-component atx
+application/vnd.apple.installer+xml mpkg
+application/vnd.audiograph aep
+application/vnd.autopackage
+application/vnd.avistar+xml
+application/vnd.blueice.multipass mpm
+application/vnd.bmi bmi
+application/vnd.businessobjects rep
+application/vnd.cab-jscript
+application/vnd.canon-cpdl
+application/vnd.canon-lips
+application/vnd.cendio.thinlinc.clientconf
+application/vnd.chemdraw+xml cdxml
+application/vnd.chipnuts.karaoke-mmd mmd
+application/vnd.cinderella cdy
+application/vnd.cirpack.isdn-ext
+application/vnd.claymore cla
+application/vnd.clonk.c4group c4g c4d c4f c4p c4u
+application/vnd.commerce-battelle
+application/vnd.commonspace csp cst
+application/vnd.contact.cmsg cdbcmsg
+application/vnd.cosmocaller cmc
+application/vnd.crick.clicker clkx
+application/vnd.crick.clicker.keyboard clkk
+application/vnd.crick.clicker.palette clkp
+application/vnd.crick.clicker.template clkt
+application/vnd.crick.clicker.wordbank clkw
+application/vnd.criticaltools.wbs+xml wbs
+application/vnd.ctc-posml pml
+application/vnd.cups-pdf
+application/vnd.cups-postscript
+application/vnd.cups-ppd ppd
+application/vnd.cups-raster
+application/vnd.cups-raw
+application/vnd.curl curl
+application/vnd.cybank
+application/vnd.data-vision.rdz rdz
+application/vnd.denovo.fcselayout-link fe_launch
+application/vnd.dna dna
+application/vnd.dolby.mlp mlp
+application/vnd.dpgraph dpg
+application/vnd.dreamfactory dfac
+application/vnd.dvb.esgcontainer
+application/vnd.dvb.ipdcesgaccess
+application/vnd.dxr
+application/vnd.ecdis-update
+application/vnd.ecowin.chart mag
+application/vnd.ecowin.filerequest
+application/vnd.ecowin.fileupdate
+application/vnd.ecowin.series
+application/vnd.ecowin.seriesrequest
+application/vnd.ecowin.seriesupdate
+application/vnd.enliven nml
+application/vnd.epson.esf esf
+application/vnd.epson.msf msf
+application/vnd.epson.quickanime qam
+application/vnd.epson.salt slt
+application/vnd.epson.ssf ssf
+application/vnd.ericsson.quickcall
+application/vnd.eszigno3+xml es3 et3
+application/vnd.eudora.data
+application/vnd.ezpix-album ez2
+application/vnd.ezpix-package ez3
+application/vnd.fdf fdf
+application/vnd.ffsns
+application/vnd.fints
+application/vnd.flographit gph
+application/vnd.fluxtime.clip ftc
+application/vnd.framemaker fm frame maker
+application/vnd.frogans.fnc fnc
+application/vnd.frogans.ltf ltf
+application/vnd.fsc.weblaunch fsc
+application/vnd.fujitsu.oasys oas
+application/vnd.fujitsu.oasys2 oa2
+application/vnd.fujitsu.oasys3 oa3
+application/vnd.fujitsu.oasysgp fg5
+application/vnd.fujitsu.oasysprs bh2
+application/vnd.fujixerox.art-ex
+application/vnd.fujixerox.art4
+application/vnd.fujixerox.hbpl
+application/vnd.fujixerox.ddd ddd
+application/vnd.fujixerox.docuworks xdw
+application/vnd.fujixerox.docuworks.binder xbd
+application/vnd.fut-misnet
+application/vnd.fuzzysheet fzs
+application/vnd.genomatix.tuxedo txd
+application/vnd.google-earth.kml+xml kml
+application/vnd.google-earth.kmz kmz
+application/vnd.grafeq gqf gqs
+application/vnd.gridmp
+application/vnd.groove-account gac
+application/vnd.groove-help ghf
+application/vnd.groove-identity-message gim
+application/vnd.groove-injector grv
+application/vnd.groove-tool-message gtm
+application/vnd.groove-tool-template tpl
+application/vnd.groove-vcard vcg
+application/vnd.handheld-entertainment+xml zmm
+application/vnd.hbci hbci
+application/vnd.hcl-bireports
+application/vnd.hhe.lesson-player les
+application/vnd.hp-hpgl hpgl
+application/vnd.hp-hpid hpid
+application/vnd.hp-hps hps
+application/vnd.hp-jlyt jlt
+application/vnd.hp-pcl pcl
+application/vnd.hp-pclxl pclxl
+application/vnd.httphone
+application/vnd.hzn-3d-crossword x3d
+application/vnd.ibm.afplinedata
+application/vnd.ibm.electronic-media
+application/vnd.ibm.minipay mpy
+application/vnd.ibm.modcap afp listafp list3820
+application/vnd.ibm.rights-management irm
+application/vnd.ibm.secure-container sc
+application/vnd.igloader igl
+application/vnd.immervision-ivp ivp
+application/vnd.immervision-ivu ivu
+application/vnd.informedcontrol.rms+xml
+application/vnd.intercon.formnet xpw xpx
+application/vnd.intertrust.digibox
+application/vnd.intertrust.nncp
+application/vnd.intu.qbo qbo
+application/vnd.intu.qfx qfx
+application/vnd.ipunplugged.rcprofile rcprofile
+application/vnd.irepository.package+xml irp
+application/vnd.is-xpr xpr
+application/vnd.jam jam
+application/vnd.japannet-directory-service
+application/vnd.japannet-jpnstore-wakeup
+application/vnd.japannet-payment-wakeup
+application/vnd.japannet-registration
+application/vnd.japannet-registration-wakeup
+application/vnd.japannet-setstore-wakeup
+application/vnd.japannet-verification
+application/vnd.japannet-verification-wakeup
+application/vnd.jcp.javame.midlet-rms rms
+application/vnd.jisp jisp
+application/vnd.kahootz ktz ktr
+application/vnd.kde.karbon karbon
+application/vnd.kde.kchart chrt
+application/vnd.kde.kformula kfo
+application/vnd.kde.kivio flw
+application/vnd.kde.kontour kon
+application/vnd.kde.kpresenter kpr kpt
+application/vnd.kde.kspread ksp
+application/vnd.kde.kword kwd kwt
+application/vnd.kenameaapp htke
+application/vnd.kidspiration kia
+application/vnd.kinar kne knp
+application/vnd.koan skp skd skt skm
+application/vnd.liberty-request+xml
+application/vnd.llamagraphics.life-balance.desktop lbd
+application/vnd.llamagraphics.life-balance.exchange+xml lbe
+application/vnd.lotus-1-2-3 123
+application/vnd.lotus-approach apr
+application/vnd.lotus-freelance pre
+application/vnd.lotus-notes nsf
+application/vnd.lotus-organizer org
+application/vnd.lotus-screencam scm
+application/vnd.lotus-wordpro lwp
+application/vnd.macports.portpkg portpkg
+application/vnd.marlin.drm.actiontoken+xml
+application/vnd.marlin.drm.conftoken+xml
+application/vnd.marlin.drm.mdcf
+application/vnd.mcd mcd
+application/vnd.medcalcdata mc1
+application/vnd.mediastation.cdkey cdkey
+application/vnd.meridian-slingshot
+application/vnd.mfer mwf
+application/vnd.mfmp mfm
+application/vnd.micrografx.flo flo
+application/vnd.micrografx.igx igx
+application/vnd.mif mif
+application/vnd.minisoft-hp3000-save
+application/vnd.mitsubishi.misty-guard.trustweb
+application/vnd.mobius.daf daf
+application/vnd.mobius.dis dis
+application/vnd.mobius.mbk mbk
+application/vnd.mobius.mqy mqy
+application/vnd.mobius.msl msl
+application/vnd.mobius.plc plc
+application/vnd.mobius.txf txf
+application/vnd.mophun.application mpn
+application/vnd.mophun.certificate mpc
+application/vnd.motorola.flexsuite
+application/vnd.motorola.flexsuite.adsi
+application/vnd.motorola.flexsuite.fis
+application/vnd.motorola.flexsuite.gotap
+application/vnd.motorola.flexsuite.kmr
+application/vnd.motorola.flexsuite.ttc
+application/vnd.motorola.flexsuite.wem
+application/vnd.mozilla.xul+xml xul
+application/vnd.ms-artgalry cil
+application/vnd.ms-asf asf
+application/vnd.ms-cab-compressed cab
+application/vnd.ms-excel xls xlm xla xlc xlt xlw
+application/vnd.ms-fontobject eot
+application/vnd.ms-htmlhelp chm
+application/vnd.ms-ims ims
+application/vnd.ms-lrm lrm
+application/vnd.ms-playready.initiator+xml
+application/vnd.ms-powerpoint ppt pps pot
+application/vnd.ms-project mpp mpt
+application/vnd.ms-tnef
+application/vnd.ms-wmdrm.lic-chlg-req
+application/vnd.ms-wmdrm.lic-resp
+application/vnd.ms-wmdrm.meter-chlg-req
+application/vnd.ms-wmdrm.meter-resp
+application/vnd.ms-works wps wks wcm wdb
+application/vnd.ms-wpl wpl
+application/vnd.ms-xpsdocument xps
+application/vnd.mseq mseq
+application/vnd.msign
+application/vnd.music-niff
+application/vnd.musician mus
+application/vnd.ncd.control
+application/vnd.nervana
+application/vnd.netfpx
+application/vnd.neurolanguage.nlu nlu
+application/vnd.noblenet-directory nnd
+application/vnd.noblenet-sealer nns
+application/vnd.noblenet-web nnw
+application/vnd.nokia.catalogs
+application/vnd.nokia.conml+wbxml
+application/vnd.nokia.conml+xml
+application/vnd.nokia.isds-radio-presets
+application/vnd.nokia.iptv.config+xml
+application/vnd.nokia.landmark+wbxml
+application/vnd.nokia.landmark+xml
+application/vnd.nokia.landmarkcollection+xml
+application/vnd.nokia.n-gage.ac+xml
+application/vnd.nokia.n-gage.data ngdat
+application/vnd.nokia.n-gage.symbian.install n-gage
+application/vnd.nokia.ncd
+application/vnd.nokia.pcd+wbxml
+application/vnd.nokia.pcd+xml
+application/vnd.nokia.radio-preset rpst
+application/vnd.nokia.radio-presets rpss
+application/vnd.novadigm.edm edm
+application/vnd.novadigm.edx edx
+application/vnd.novadigm.ext ext
+application/vnd.oasis.opendocument.chart odc
+application/vnd.oasis.opendocument.chart-template otc
+application/vnd.oasis.opendocument.formula odf
+application/vnd.oasis.opendocument.formula-template otf
+application/vnd.oasis.opendocument.graphics odg
+application/vnd.oasis.opendocument.graphics-template otg
+application/vnd.oasis.opendocument.image odi
+application/vnd.oasis.opendocument.image-template oti
+application/vnd.oasis.opendocument.presentation odp
+application/vnd.oasis.opendocument.presentation-template otp
+application/vnd.oasis.opendocument.spreadsheet ods
+application/vnd.oasis.opendocument.spreadsheet-template ots
+application/vnd.oasis.opendocument.text odt
+application/vnd.oasis.opendocument.text-master otm
+application/vnd.oasis.opendocument.text-template ott
+application/vnd.oasis.opendocument.text-web oth
+application/vnd.obn
+application/vnd.olpc-sugar xo
+application/vnd.oma-scws-config
+application/vnd.oma-scws-http-request
+application/vnd.oma-scws-http-response
+application/vnd.oma.bcast.associated-procedure-parameter+xml
+application/vnd.oma.bcast.drm-trigger+xml
+application/vnd.oma.bcast.imd+xml
+application/vnd.oma.bcast.notification+xml
+application/vnd.oma.bcast.sgboot
+application/vnd.oma.bcast.sgdd+xml
+application/vnd.oma.bcast.sgdu
+application/vnd.oma.bcast.simple-symbol-container
+application/vnd.oma.bcast.smartcard-trigger+xml
+application/vnd.oma.bcast.sprov+xml
+application/vnd.oma.dd2+xml dd2
+application/vnd.oma.drm.risd+xml
+application/vnd.oma.group-usage-list+xml
+application/vnd.oma.poc.groups+xml
+application/vnd.oma.xcap-directory+xml
+application/vnd.omads-email+xml
+application/vnd.omads-file+xml
+application/vnd.omads-folder+xml
+application/vnd.omaloc-supl-init
+application/vnd.openofficeorg.extension oxt
+application/vnd.osa.netdeploy
+application/vnd.osgi.dp dp
+application/vnd.otps.ct-kip+xml
+application/vnd.palm prc pdb pqa oprc
+application/vnd.paos.xml
+application/vnd.pg.format str
+application/vnd.pg.osasli ei6
+application/vnd.piaccess.application-licence
+application/vnd.picsel efif
+application/vnd.poc.group-advertisement+xml
+application/vnd.pocketlearn plf
+application/vnd.powerbuilder6 pbd
+application/vnd.powerbuilder6-s
+application/vnd.powerbuilder7
+application/vnd.powerbuilder7-s
+application/vnd.powerbuilder75
+application/vnd.powerbuilder75-s
+application/vnd.preminet
+application/vnd.previewsystems.box box
+application/vnd.proteus.magazine mgz
+application/vnd.publishare-delta-tree qps
+application/vnd.pvi.ptid1 ptid
+application/vnd.pwg-multiplexed
+application/vnd.pwg-xhtml-print+xml
+application/vnd.qualcomm.brew-app-res
+application/vnd.quark.quarkxpress qxd qxt qwd qwt qxl qxb
+application/vnd.rapid
+application/vnd.recordare.musicxml mxl
+application/vnd.recordare.musicxml+xml
+application/vnd.renlearn.rlprint
+application/vnd.rn-realmedia rm
+application/vnd.ruckus.download
+application/vnd.s3sms
+application/vnd.scribus
+application/vnd.sealed.3df
+application/vnd.sealed.csf
+application/vnd.sealed.doc
+application/vnd.sealed.eml
+application/vnd.sealed.mht
+application/vnd.sealed.net
+application/vnd.sealed.ppt
+application/vnd.sealed.tiff
+application/vnd.sealed.xls
+application/vnd.sealedmedia.softseal.html
+application/vnd.sealedmedia.softseal.pdf
+application/vnd.seemail see
+application/vnd.sema sema
+application/vnd.semd semd
+application/vnd.semf semf
+application/vnd.shana.informed.formdata ifm
+application/vnd.shana.informed.formtemplate itp
+application/vnd.shana.informed.interchange iif
+application/vnd.shana.informed.package ipk
+application/vnd.simtech-mindmapper twd twds
+application/vnd.smaf mmf
+application/vnd.solent.sdkm+xml sdkm sdkd
+application/vnd.spotfire.dxp dxp
+application/vnd.spotfire.sfs sfs
+application/vnd.sss-cod
+application/vnd.sss-dtf
+application/vnd.sss-ntf
+application/vnd.street-stream
+application/vnd.sun.wadl+xml
+application/vnd.sus-calendar sus susp
+application/vnd.svd svd
+application/vnd.swiftview-ics
+application/vnd.syncml+xml xsm
+application/vnd.syncml.dm+wbxml bdm
+application/vnd.syncml.dm+xml xdm
+application/vnd.syncml.ds.notification
+application/vnd.tao.intent-module-archive tao
+application/vnd.tmobile-livetv tmo
+application/vnd.trid.tpt tpt
+application/vnd.triscape.mxs mxs
+application/vnd.trueapp tra
+application/vnd.truedoc
+application/vnd.ufdl ufd ufdl
+application/vnd.uiq.theme utz
+application/vnd.umajin umj
+application/vnd.unity unityweb
+application/vnd.uoml+xml uoml
+application/vnd.uplanet.alert
+application/vnd.uplanet.alert-wbxml
+application/vnd.uplanet.bearer-choice
+application/vnd.uplanet.bearer-choice-wbxml
+application/vnd.uplanet.cacheop
+application/vnd.uplanet.cacheop-wbxml
+application/vnd.uplanet.channel
+application/vnd.uplanet.channel-wbxml
+application/vnd.uplanet.list
+application/vnd.uplanet.list-wbxml
+application/vnd.uplanet.listcmd
+application/vnd.uplanet.listcmd-wbxml
+application/vnd.uplanet.signal
+application/vnd.vcx vcx
+application/vnd.vd-study
+application/vnd.vectorworks
+application/vnd.vidsoft.vidconference
+application/vnd.visio vsd vst vss vsw
+application/vnd.visionary vis
+application/vnd.vividence.scriptfile
+application/vnd.vsf vsf
+application/vnd.wap.sic
+application/vnd.wap.slc
+application/vnd.wap.wbxml wbxml
+application/vnd.wap.wmlc wmlc
+application/vnd.wap.wmlscriptc wmlsc
+application/vnd.webturbo wtb
+application/vnd.wfa.wsc
+application/vnd.wordperfect wpd
+application/vnd.wqd wqd
+application/vnd.wrq-hp3000-labelled
+application/vnd.wt.stf stf
+application/vnd.wv.csp+wbxml
+application/vnd.wv.csp+xml
+application/vnd.wv.ssp+xml
+application/vnd.xara xar
+application/vnd.xfdl xfdl
+application/vnd.xmpie.cpkg
+application/vnd.xmpie.dpkg
+application/vnd.xmpie.plan
+application/vnd.xmpie.ppkg
+application/vnd.xmpie.xlim
+application/vnd.yamaha.hv-dic hvd
+application/vnd.yamaha.hv-script hvs
+application/vnd.yamaha.hv-voice hvp
+application/vnd.yamaha.smaf-audio saf
+application/vnd.yamaha.smaf-phrase spf
+application/vnd.yellowriver-custom-menu cmp
+application/vnd.zzazz.deck+xml zaz
+application/voicexml+xml vxml
+application/watcherinfo+xml
+application/whoispp-query
+application/whoispp-response
+application/winhlp hlp
+application/wita
+application/wordperfect5.1
+application/wsdl+xml wsdl
+application/wspolicy+xml wspolicy
+application/x-ace-compressed ace
+application/x-bcpio bcpio
+application/x-bittorrent torrent
+application/x-bzip bz
+application/x-bzip2 bz2 boz
+application/x-cdlink vcd
+application/x-chat chat
+application/x-chess-pgn pgn
+application/x-compress
+application/x-cpio cpio
+application/x-csh csh
+application/x-director dcr dir dxr fgd
+application/x-dvi dvi
+application/x-futuresplash spl
+application/x-gtar gtar
+application/x-gzip
+application/x-hdf hdf
+application/x-latex latex
+application/x-ms-wmd wmd
+application/x-ms-wmz wmz
+application/x-msaccess mdb
+application/x-msbinder obd
+application/x-mscardfile crd
+application/x-msclip clp
+application/x-msdownload exe dll com bat msi
+application/x-msmediaview mvb m13 m14
+application/x-msmetafile wmf
+application/x-msmoney mny
+application/x-mspublisher pub
+application/x-msschedule scd
+application/x-msterminal trm
+application/x-mswrite wri
+application/x-netcdf nc cdf
+application/x-pkcs12 p12 pfx
+application/x-pkcs7-certificates p7b spc
+application/x-pkcs7-certreqresp p7r
+application/x-rar-compressed rar
+application/x-sh sh
+application/x-shar shar
+application/x-shockwave-flash swf
+application/x-stuffit sit
+application/x-stuffitx sitx
+application/x-sv4cpio sv4cpio
+application/x-sv4crc sv4crc
+application/x-tar tar
+application/x-tcl tcl
+application/x-tex tex
+application/x-texinfo texinfo texi
+application/x-ustar ustar
+application/x-wais-source src
+application/x-x509-ca-cert der crt
+application/x400-bp
+application/xcap-att+xml
+application/xcap-caps+xml
+application/xcap-el+xml
+application/xcap-error+xml
+application/xcap-ns+xml
+application/xenc+xml xenc
+application/xhtml+xml xhtml xht
+application/xml xml xsl
+application/xml-dtd dtd
+application/xml-external-parsed-entity
+application/xmpp+xml
+application/xop+xml xop
+application/xslt+xml xslt
+application/xspf+xml xspf
+application/xv+xml mxml xhvml xvml xvm
+application/zip zip
+audio/32kadpcm
+audio/3gpp
+audio/3gpp2
+audio/ac3
+audio/amr
+audio/amr-wb
+audio/amr-wb+
+audio/asc
+audio/basic au snd
+audio/bv16
+audio/bv32
+audio/clearmode
+audio/cn
+audio/dat12
+audio/dls
+audio/dsr-es201108
+audio/dsr-es202050
+audio/dsr-es202211
+audio/dsr-es202212
+audio/dvi4
+audio/eac3
+audio/evrc
+audio/evrc-qcp
+audio/evrc0
+audio/evrc1
+audio/evrcb
+audio/evrcb0
+audio/evrcb1
+audio/g722
+audio/g7221
+audio/g723
+audio/g726-16
+audio/g726-24
+audio/g726-32
+audio/g726-40
+audio/g728
+audio/g729
+audio/g7291
+audio/g729d
+audio/g729e
+audio/gsm
+audio/gsm-efr
+audio/ilbc
+audio/l16
+audio/l20
+audio/l24
+audio/l8
+audio/lpc
+audio/midi mid midi kar rmi
+audio/mobile-xmf
+audio/mp4 mp4a
+audio/mp4a-latm
+audio/mpa
+audio/mpa-robust
+audio/mpeg mpga mp2 mp2a mp3 m2a m3a
+audio/mpeg4-generic
+audio/parityfec
+audio/pcma
+audio/pcmu
+audio/prs.sid
+audio/qcelp
+audio/red
+audio/rtp-enc-aescm128
+audio/rtp-midi
+audio/rtx
+audio/smv
+audio/smv0
+audio/smv-qcp
+audio/sp-midi
+audio/t140c
+audio/t38
+audio/telephone-event
+audio/tone
+audio/vdvi
+audio/vmr-wb
+audio/vnd.3gpp.iufp
+audio/vnd.4sb
+audio/vnd.audiokoz
+audio/vnd.celp
+audio/vnd.cisco.nse
+audio/vnd.cmles.radio-events
+audio/vnd.cns.anp1
+audio/vnd.cns.inf1
+audio/vnd.digital-winds eol
+audio/vnd.dlna.adts
+audio/vnd.dolby.mlp
+audio/vnd.everad.plj
+audio/vnd.hns.audio
+audio/vnd.lucent.voice lvp
+audio/vnd.nokia.mobile-xmf
+audio/vnd.nortel.vbk
+audio/vnd.nuera.ecelp4800 ecelp4800
+audio/vnd.nuera.ecelp7470 ecelp7470
+audio/vnd.nuera.ecelp9600 ecelp9600
+audio/vnd.octel.sbc
+audio/vnd.qcelp
+audio/vnd.rhetorex.32kadpcm
+audio/vnd.sealedmedia.softseal.mpeg
+audio/vnd.vmx.cvsd
+audio/wav wav
+audio/x-aiff aif aiff aifc
+audio/x-mpegurl m3u
+audio/x-ms-wax wax
+audio/x-ms-wma wma
+audio/x-pn-realaudio ram ra
+audio/x-pn-realaudio-plugin rmp
+audio/x-wav wav
+chemical/x-cdx cdx
+chemical/x-cif cif
+chemical/x-cmdf cmdf
+chemical/x-cml cml
+chemical/x-csml csml
+chemical/x-pdb pdb
+chemical/x-xyz xyz
+image/bmp bmp
+image/cgm cgm
+image/fits
+image/g3fax g3
+image/gif gif
+image/ief ief
+image/jp2
+image/jpeg jpeg jpg jpe
+image/jpm
+image/jpx
+image/naplps
+image/png png
+image/prs.btif btif
+image/prs.pti
+image/svg+xml svg svgz
+image/t38
+image/tiff tiff tif
+image/tiff-fx
+image/vnd.adobe.photoshop psd
+image/vnd.cns.inf2
+image/vnd.djvu djvu djv
+image/vnd.dwg dwg
+image/vnd.dxf dxf
+image/vnd.fastbidsheet fbs
+image/vnd.fpx fpx
+image/vnd.fst fst
+image/vnd.fujixerox.edmics-mmr mmr
+image/vnd.fujixerox.edmics-rlc rlc
+image/vnd.globalgraphics.pgb
+image/vnd.microsoft.icon ico
+image/vnd.mix
+image/vnd.ms-modi mdi
+image/vnd.net-fpx npx
+image/vnd.sealed.png
+image/vnd.sealedmedia.softseal.gif
+image/vnd.sealedmedia.softseal.jpg
+image/vnd.svf
+image/vnd.wap.wbmp wbmp
+image/vnd.xiff xif
+image/x-cmu-raster ras
+image/x-cmx cmx
+image/x-icon
+image/x-pcx pcx
+image/x-pict pic pct
+image/x-portable-anymap pnm
+image/x-portable-bitmap pbm
+image/x-portable-graymap pgm
+image/x-portable-pixmap ppm
+image/x-rgb rgb
+image/x-xbitmap xbm
+image/x-xpixmap xpm
+image/x-xwindowdump xwd
+message/cpim
+message/delivery-status
+message/disposition-notification
+message/external-body
+message/http
+message/news
+message/partial
+message/rfc822 eml mime
+message/s-http
+message/sip
+message/sipfrag
+message/tracking-status
+model/iges igs iges
+model/mesh msh mesh silo
+model/vnd.dwf dwf
+model/vnd.flatland.3dml
+model/vnd.gdl gdl
+model/vnd.gs.gdl
+model/vnd.gtw gtw
+model/vnd.moml+xml
+model/vnd.mts mts
+model/vnd.parasolid.transmit.binary
+model/vnd.parasolid.transmit.text
+model/vnd.vtu vtu
+model/vrml wrl vrml
+multipart/alternative
+multipart/appledouble
+multipart/byteranges
+multipart/digest
+multipart/encrypted
+multipart/form-data
+multipart/header-set
+multipart/mixed
+multipart/parallel
+multipart/related
+multipart/report
+multipart/signed
+multipart/voice-message
+text/calendar ics ifb
+text/css css
+text/csv csv
+text/directory
+text/dns
+text/enriched
+text/html html htm
+text/parityfec
+text/plain txt text conf def list log in
+text/prs.fallenstein.rst
+text/prs.lines.tag dsc
+text/red
+text/rfc822-headers
+text/richtext rtx
+text/rtf
+text/rtp-enc-aescm128
+text/rtx
+text/sgml sgml sgm
+text/t140
+text/tab-separated-values tsv
+text/troff t tr roff man me ms
+text/uri-list uri uris urls
+text/vnd.abc
+text/vnd.curl
+text/vnd.dmclientscript
+text/vnd.esmertec.theme-descriptor
+text/vnd.fly fly
+text/vnd.fmi.flexstor flx
+text/vnd.in3d.3dml 3dml
+text/vnd.in3d.spot spot
+text/vnd.iptc.newsml
+text/vnd.iptc.nitf
+text/vnd.latex-z
+text/vnd.motorola.reflex
+text/vnd.ms-mediapackage
+text/vnd.net2phone.commcenter.command
+text/vnd.sun.j2me.app-descriptor jad
+text/vnd.trolltech.linguist
+text/vnd.wap.si
+text/vnd.wap.sl
+text/vnd.wap.wml wml
+text/vnd.wap.wmlscript wmls
+text/x-asm s asm
+text/x-c c cc cxx cpp h hh dic
+text/x-fortran f for f77 f90
+text/x-pascal p pas
+text/x-java-source java
+text/x-setext etx
+text/x-uuencode uu
+text/x-vcalendar vcs
+text/x-vcard vcf
+text/xml
+text/xml-external-parsed-entity
+video/3gpp 3gp
+video/3gpp-tt
+video/3gpp2 3g2
+video/bmpeg
+video/bt656
+video/celb
+video/dv
+video/h261 h261
+video/h263 h263
+video/h263-1998
+video/h263-2000
+video/h264 h264
+video/jpeg jpgv
+video/jpm jpm jpgm
+video/mj2 mj2 mjp2
+video/mp1s
+video/mp2p
+video/mp2t
+video/mp4 mp4 mp4v mpg4
+video/mp4v-es
+video/mpeg mpeg mpg mpe m1v m2v
+video/mpeg4-generic
+video/mpv
+video/nv
+video/parityfec
+video/pointer
+video/quicktime qt mov
+video/raw
+video/rtp-enc-aescm128
+video/rtx
+video/smpte292m
+video/vc1
+video/vnd.dlna.mpeg-tts
+video/vnd.fvt fvt
+video/vnd.hns.video
+video/vnd.motorola.video
+video/vnd.motorola.videop
+video/vnd.mpegurl mxu m4u
+video/vnd.nokia.interleaved-multimedia
+video/vnd.nokia.videovoip
+video/vnd.objectvideo
+video/vnd.sealed.mpeg1
+video/vnd.sealed.mpeg4
+video/vnd.sealed.swf
+video/vnd.sealedmedia.softseal.mov
+video/vnd.vivo viv
+video/x-fli fli
+video/x-ms-asf asf asx
+video/x-ms-wm wm
+video/x-ms-wmv wmv
+video/x-ms-wmx wmx
+video/x-ms-wvx wvx
+video/x-msvideo avi
+video/x-sgi-movie movie
+x-conference/x-cooltalk ice
--- /dev/null
+<profile name="external">
+ <!-- http://wiki.freeswitch.org/wiki/Sofia_Configuration_Files -->
+ <!-- This profile is only for outbound registrations to providers -->
+ <gateways>
+ <X-PRE-PROCESS cmd="include" data="external/*.xml"/>
+ </gateways>
+
+ <aliases>
+ <!--
+ <alias name="outbound"/>
+ <alias name="nat"/>
+ -->
+ </aliases>
+
+ <domains>
+ <domain name="all" alias="false" parse="true"/>
+ </domains>
+
+ <settings>
+ <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="rfc2833-pt" value="101"/>
+ <param name="sip-port" value="$${external_sip_port}"/>
+ <param name="dialplan" value="XML"/>
+ <param name="context" value="public"/>
+ <param name="dtmf-duration" value="2000"/>
+ <param name="inbound-codec-prefs" value="$${global_codec_prefs}"/>
+ <param name="outbound-codec-prefs" value="$${outbound_codec_prefs}"/>
+ <param name="hold-music" value="$${hold_music}"/>
+ <param name="rtp-timer-name" value="soft"/>
+ <!--<param name="enable-100rel" value="true"/>-->
+ <!-- This could be set to "passive" -->
+ <param name="local-network-acl" value="localnet.auto"/>
+ <param name="manage-presence" value="false"/>
+
+ <!-- used to share presence info across sofia profiles
+ manage-presence needs to be set to passive on this profile
+ if you want it to behave as if it were the internal profile
+ for presence.
+ -->
+ <!-- Name of the db to use for this profile -->
+ <!--<param name="dbname" value="share_presence"/>-->
+ <!--<param name="presence-hosts" value="$${domain}"/>-->
+ <!--<param name="force-register-domain" value="$${domain}"/>-->
+ <!--all inbound reg will stored in the db using this domain -->
+ <!--<param name="force-register-db-domain" value="$${domain}"/>-->
+ <!-- ************************************************* -->
+
+ <!--<param name="aggressive-nat-detection" value="true"/>-->
+ <param name="inbound-codec-negotiation" value="generous"/>
+ <param name="nonce-ttl" value="60"/>
+ <param name="auth-calls" value="false"/>
+ <!--
+ DO NOT USE HOSTNAMES, ONLY IP ADDRESSES IN THESE SETTINGS!
+ -->
+ <param name="rtp-ip" value="$${local_ip_v4}"/>
+ <param name="sip-ip" value="$${local_ip_v4}"/>
+ <param name="ext-rtp-ip" value="auto-nat"/>
+ <param name="ext-sip-ip" value="auto-nat"/>
+ <param name="rtp-timeout-sec" value="300"/>
+ <param name="rtp-hold-timeout-sec" value="1800"/>
+ <!--<param name="enable-3pcc" value="true"/>-->
+
+ <!-- TLS: disabled by default, set to "true" to enable -->
+ <param name="tls" value="$${external_ssl_enable}"/>
+ <!-- additional bind parameters for TLS -->
+ <param name="tls-bind-params" value="transport=tls"/>
+ <!-- Port to listen on for TLS requests. (5081 will be used if unspecified) -->
+ <param name="tls-sip-port" value="$${external_tls_port}"/>
+ <!-- Location of the agent.pem and cafile.pem ssl certificates (needed for TLS server) -->
+ <param name="tls-cert-dir" value="$${external_ssl_dir}"/>
+ <!-- TLS version ("sslv23" (default), "tlsv1"). NOTE: Phones may not work with TLSv1 -->
+ <param name="tls-version" value="$${sip_tls_version}"/>
+
+ </settings>
+</profile>
--- /dev/null
+<include>
+ <!-- Don't change gateway name unless you also change the dialplan -->
+ <gateway name="example.com">
+ <!--/// account username *required* ///-->
+ <!--<param name="username" value="cluecon"/>-->
+ <!--/// auth realm: *optional* same as gateway name, if blank ///-->
+ <!--<param name="realm" value="asterlink.com"/>-->
+ <!--/// username to use in from: *optional* same as username, if blank ///-->
+ <!--<param name="from-user" value="cluecon"/>-->
+ <!--/// domain to use in from: *optional* same as realm, if blank ///-->
+ <!--<param name="from-domain" value="asterlink.com"/>-->
+ <!--/// account password *required* ///-->
+ <!--<param name="password" value="2007"/>-->
+ <!--/// extension for inbound calls: *optional* same as username, if blank ///-->
+ <!--<param name="extension" value="cluecon"/>-->
+ <!--/// proxy host: *optional* same as realm, if blank ///-->
+ <!--<param name="proxy" value="asterlink.com"/>-->
+ <!--/// send register to this proxy: *optional* same as proxy, if blank ///-->
+ <!--<param name="register-proxy" value="mysbc.com"/>-->
+ <!--/// expire in seconds: *optional* 3600, if blank ///-->
+ <!--<param name="expire-seconds" value="60"/>-->
+ <!--/// should this profile regiser with the gateway? ///-->
+ <!--<param name="register" value="false"/>-->
+ <!-- which transport to use for register -->
+ <!--<param name="register-transport" value="udp"/>-->
+ <!--How many seconds before a retry when a failure or timeout occurs -->
+ <!--<param name="retry-seconds" value="30"/>-->
+ <!--Use the callerid of an inbound call in the from field on outbound calls via this gateway -->
+ <!--<param name="caller-id-in-from" value="false"/>-->
+ <!--extra sip params to send in the contact-->
+ <!--<param name="contact-params" value="tport=tcp"/>-->
+ <!--/// Force the contact paramater to a particular value (e.g. extension number). ///-->
+ <!--/// Use this if your gateways are registering at gw+username@ip and this is a problem for your provider. ///-->
+ <!--<param name="extension-in-contact" value="Xxxx" />-->
+ <!--send an options ping every x seconds, failure will unregister and/or mark it down-->
+ <!--<param name="ping" value="25"/>-->
+ </gateway>
+</include>
--- /dev/null
+<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 -->
+ <gateways>
+ <X-PRE-PROCESS cmd="include" data="internal/*.xml"/>
+ </gateways>
+
+ <domains>
+ <!-- indicator to parse the directory for domains with parse="true" to get gateways-->
+ <!--<domain name="$${domain}" parse="true"/>-->
+ <!-- indicator to parse the directory for domains with parse="true" to get gateways and alias every domain to this profile -->
+ <!--<domain name="all" alias="true" parse="true"/>-->
+ <domain name="all" alias="true" parse="false"/>
+ </domains>
+
+ <settings>
+ <!--
+ When calls are in no media this will bring them back to media
+ when you press the hold button.
+ -->
+ <!--<param name="media-option" value="resume-media-on-hold"/> -->
+ <!--
+ This will allow a call after an attended transfer go back to
+ bypass media after an attended transfer.
+ -->
+ <!--<param name="media-option" value="bypass-media-after-att-xfer"/>-->
+ <!-- <param name="user-agent-string" value="FreeSWITCH Rocks!"/> -->
+ <param name="debug" value="0"/>
+ <!-- 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="log-auth-failures" value="true"/>
+ <param name="context" value="public"/>
+ <param name="rfc2833-pt" value="101"/>
+ <!-- port to bind to for sip traffic -->
+ <param name="sip-port" value="$${internal_sip_port}"/>
+ <param name="dialplan" value="XML"/>
+ <param name="dtmf-duration" value="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="$${local_ip_v4}"/>
+ <param name="hold-music" value="$${hold_music}"/>
+ <param name="apply-nat-acl" value="nat.auto"/>
+
+ <!-- extended info parsing -->
+ <!-- <param name="extended-info-parsing" value="true"/> -->
+
+ <!--<param name="aggressive-nat-detection" value="true"/>-->
+ <!--
+ 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"/>-->
+ <!-- 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="dtmf-type" value="info"/>-->
+
+
+ <!-- 'true' means every time 'first-only' means on the first register -->
+ <!--<param name="send-message-query-on-register" value="true"/>-->
+
+
+
+ <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="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}"/>-->
+ <!-- ************************************************* -->
+
+ <!-- This setting is for AAL2 bitpacking on G726 -->
+ <!-- <param name="bitpacking" value="aal2"/> -->
+ <!--max number of open dialogs in proceeding -->
+ <!--<param name="max-proceeding" value="1000"/>-->
+ <!--session timers for all call to expire after the specified seconds -->
+ <!--<param name="session-timeout" value="120"/>-->
+ <!-- Can be 'true' or 'contact' -->
+ <!--<param name="multiple-registrations" value="contact"/>-->
+ <!--set to 'greedy' if you want your codec list to take precedence -->
+ <param name="inbound-codec-negotiation" value="generous"/>
+ <!-- if you want to send any special bind params of your own -->
+ <!--<param name="bind-params" value="transport=udp"/>-->
+ <!--<param name="unregister-on-options-fail" value="true"/>-->
+
+ <!-- TLS: disabled by default, set to "true" to enable -->
+ <param name="tls" value="$${internal_ssl_enable}"/>
+ <!-- additional bind parameters for TLS -->
+ <param name="tls-bind-params" value="transport=tls"/>
+ <!-- Port to listen on for TLS requests. (5061 will be used if unspecified) -->
+ <param name="tls-sip-port" value="$${internal_tls_port}"/>
+ <!-- Location of the agent.pem and cafile.pem ssl certificates (needed for TLS server) -->
+ <param name="tls-cert-dir" value="$${internal_ssl_dir}"/>
+ <!-- TLS version ("sslv23" (default), "tlsv1"). NOTE: Phones may not work with TLSv1 -->
+ <param name="tls-version" value="$${sip_tls_version}"/>
+
+ <!-- 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"/>-->
+
+ <!--Uncomment to set all inbound calls to no media mode-->
+ <!--<param name="inbound-bypass-media" value="true"/>-->
+
+ <!--Uncomment to set all inbound calls to proxy media mode-->
+ <!--<param name="inbound-proxy-media" value="true"/>-->
+
+ <!--Uncomment to let calls hit the dialplan *before* you decide if the codec is ok-->
+ <!--<param name="inbound-late-negotiation" value="true"/>-->
+
+ <!-- this lets anything register -->
+ <!-- comment the next line and uncomment one or both of the other 2 lines for call authentication -->
+ <!-- <param name="accept-blind-reg" value="true"/> -->
+
+ <!-- accept any authentication without actually checking (not a good feature for most people) -->
+ <!-- <param name="accept-blind-auth" value="true"/> -->
+
+ <!-- suppress CNG on this profile or per call with the 'suppress_cng' variable -->
+ <!-- <param name="suppress-cng" value="true"/> -->
+
+ <!--TTL for nonce in sip auth-->
+ <param name="nonce-ttl" value="60"/>
+ <!--Uncomment if you want to force the outbound leg of a bridge to only offer the codec
+ that the originator is using-->
+ <!--<param name="disable-transcoding" value="true"/>-->
+ <!-- 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="auto-nat"/>
+ <param name="ext-sip-ip" value="auto-nat"/>
+
+ <!-- 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}"/>
+ <!--force suscription expires to a lower value than requested-->
+ <!--<param name="force-subscription-expires" value="60"/>-->
+ <!-- disable register and transfer which may be undesirable in a public switch -->
+ <!--<param name="disable-transfer" value="true"/>-->
+ <!--<param name="disable-register" value="true"/>-->
+
+ <!--
+ enable-3pcc can be set to either 'true' or 'proxy', true accepts the call
+ right away, proxy waits until the call has been answered then sends accepts
+ -->
+ <!--<param name="enable-3pcc" value="true"/>-->
+
+ <!-- use at your own risk or if you know what this does.-->
+ <!--<param name="NDLB-force-rport" value="true"/>-->
+ <!--
+ Choose the realm challenge key. Default is auto_to if not set.
+
+ auto_from - uses the from field as the value for the sip realm.
+ auto_to - uses the to field as the value for the sip realm.
+ <anyvalue> - you can input any value to use for the sip realm.
+
+ If you want URL dialing to work you'll want to set this to auto_from.
+
+ If you use any other value besides auto_to or auto_from you'll loose
+ the ability to do multiple domains.
+
+ Note: comment out to restore the behavior before 2008-09-29
+
+ -->
+ <param name="challenge-realm" value="auto_from"/>
+ <!--<param name="disable-rtp-auto-adjust" value="true"/>-->
+ <!-- on inbound calls make the uuid of the session equal to the sip call id of that call -->
+ <!--<param name="inbound-use-callid-as-uuid" value="true"/>-->
+ <!-- on outbound calls set the callid to match the uuid of the session -->
+ <!--<param name="outbound-use-uuid-as-callid" value="true"/>-->
+ <!-- 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" /> -->
+
+ </settings>
+</profile>
+
--- /dev/null
+<include>
+ <!--<gateway name="asterlink.com">-->
+ <!--/// account username *required* ///-->
+ <!--<param name="username" value="cluecon"/>-->
+ <!--/// auth realm: *optional* same as gateway name, if blank ///-->
+ <!--<param name="realm" value="asterlink.com"/>-->
+ <!--/// username to use in from: *optional* same as username, if blank ///-->
+ <!--<param name="from-user" value="cluecon"/>-->
+ <!--/// domain to use in from: *optional* same as realm, if blank ///-->
+ <!--<param name="from-domain" value="asterlink.com"/>-->
+ <!--/// account password *required* ///-->
+ <!--<param name="password" value="2007"/>-->
+ <!--/// extension for inbound calls: *optional* same as username, if blank ///-->
+ <!--<param name="extension" value="cluecon"/>-->
+ <!--/// proxy host: *optional* same as realm, if blank ///-->
+ <!--<param name="proxy" value="asterlink.com"/>-->
+ <!--/// send register to this proxy: *optional* same as proxy, if blank ///-->
+ <!--<param name="register-proxy" value="mysbc.com"/>-->
+ <!--/// expire in seconds: *optional* 3600, if blank ///-->
+ <!--<param name="expire-seconds" value="60"/>-->
+ <!--/// do not register ///-->
+ <!--<param name="register" value="false"/>-->
+ <!-- which transport to use for register -->
+ <!--<param name="register-transport" value="udp"/>-->
+ <!--How many seconds before a retry when a failure or timeout occurs -->
+ <!--<param name="retry-seconds" value="30"/>-->
+ <!--Use the callerid of an inbound call in the from field on outbound calls via this gateway -->
+ <!--<param name="caller-id-in-from" value="false"/>-->
+ <!--extra sip params to send in the contact-->
+ <!--<param name="contact-params" value="tport=tcp"/>-->
+ <!-- Put the extension in the contact -->
+ <!--<param name="extension-in-contact" value="true"/>-->
+ <!--send an options ping every x seconds, failure will unregister and/or mark it down-->
+ <!--<param name="ping" value="25"/>-->
+ <!--</gateway>-->
+</include>
--- /dev/null
+%(428,0,659,494)
+%(214,0,494,415)
+%(214,0,523,440)
+%(214,0,587,494)
+%(107,0,659,494)
+%(107,0,587,494)
+%(214,0,523,440)
+%(214,0,494,415)
+%(428,0,330,440)
+%(214,0,330,440)
+%(214,0,523,440)
+%(428,0,659,523)
+%(214,0,587,494)
+%(214,0,523,440)
+%(214,0,494,415)
+%(214,0,494,440)
+%(214,0,494,415)
+%(214,0,523,440)
+%(428,0,587,494)
+%(428,0,659,523)
+%(428,0,523,440)
+%(428,0,330,440)
+%(857,0,330,440)
+%(214,0,0,0)
+%(428,0,587,349)
+%(214,0,698,440)
+%(214,0,880,523)
+%(107,0,880,523)
+%(107,0,880,523)
+%(214,0,784,494)
+%(214,0,698,440)
+%(642,0,659,392)
+%(214,0,523,330)
+%(214,0,659,392)
+%(107,0,659,440)
+%(107,0,659,392)
+%(214,0,587,349)
+%(214,0,523,330)
+%(214,0,494,415)
+%(214,0,494,330)
+%(214,0,494,415)
+%(214,0,523,440)
+%(214,0,587,494)
+%(214,0,587,415)
+%(214,0,659,523)
+%(214,0,659,415)
+%(214,0,523,440)
+%(214,0,523,330)
+%(428,0,440,330)
+%(428,0,440,330)
+%(428,0,0,0)
+%(857,0,330,262)
+%(857,0,262,220)
+%(857,0,294,247)
+%(857,0,247,208)
+%(857,0,262,220)
+%(857,0,220,165)
+%(857,0,208,165)
+%(428,0,247,208)
+%(428,0,0,0)
+%(857,0,330,262)
+%(857,0,262,220)
+%(857,0,294,247)
+%(857,0,208,165)
+%(428,0,262,220)
+%(428,0,330,262)
+%(857,0,440,330)
+%(857,0,415,294)
+%(857,0,0,0)
--- /dev/null
+[us]
+generate-dial => v=-7;%(1000,0,350,440)
+detect-dial => 350,440
+
+generate-ring => v=-7;%(2000,4000,440,480)
+detect-ring => 440,480
+
+generate-busy => v=-7;%(500,500,480,620)
+detect-busy => 480,620
+
+generate-attn => v=0;%(100,100,1400,2060,2450,2600)
+detect-attn => 1400,2060,2450,2600
+
+generate-callwaiting-sas => v=0;%(300,0,440)
+detect-callwaiting-sas => 440
+
+generate-callwaiting-cas => v=0;%(80,0,2750,2130)
+detect-callwaiting-cas => 2750,2130
+
+detect-fail1 => 913.8
+detect-fail2 => 1370.6
+detect-fail3 => 1776.7
+
+
+[sg]
+generate-dial => v=-7;%(1000,0,425)
+detect-dial => 425
+
+generate-ring => v=-7;%(2000,4000,425)
+detect-ring => 425
+
+generate-busy => v=-7;%(750,750,425)
+detect-busy => 425
+
+generate-attn => v=0;%(100,100,1400,2060,2450,2600)
+detect-attn => 1400,2060,2450,2600
+
+generate-callwaiting-sas => v=0;%(300,0,440)
+detect-callwaiting-sas => 440
+
+generate-callwaiting-cas => v=0;%(80,0,2750,2130)
+detect-callwaiting-cas => 2750,2130
+
+detect-fail1 => 913.8
+detect-fail2 => 1370.6
+detect-fail3 => 1776.7
+
+[ru]
+generate-dial => v=-7;%(1000,425)
+detect-dial => 0
+generate-ring => v=-7;%(800,5000,425,0)
+detect-ring => 425,0
+generate-busy => v=-7;%(350,350,425,0)
+detect-busy => 425,0
+generate-attn => v=0;%(100,100,1400,2060,2450,2600)
+detect-attn => 1400,2060,2450,2600
+generate-callwaiting-sas => v=0;%(300,0,440)
+detect-callwaiting-sas => 440,480
+generate-callwaiting-cas => v=0;%(80,0,2750,2130)
+detect-callwaiting-cas => 2750,2130
+detect-fail1 => 913.8
+detect-fail2 => 1370.6
+detect-fail3 => 1776.7
--- /dev/null
+<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? -->
+
+ <X-PRE-PROCESS cmd="set" data="sound_prefix=$${sounds_dir}/en/us/callie"/>
+
+ <!--
+ This setting is what sets the default domain FreeSWITCH will use if all else fails.
+
+ FreeSWICH will default to $${local_ip_v4} unless changed. Changing this setting does
+ affect the sip authentication. Please review conf/directory/default.xml for more
+ information on this topic.
+ -->
+ <X-PRE-PROCESS cmd="set" data="domain=$${local_ip_v4}"/>
+ <X-PRE-PROCESS cmd="set" data="domain_name=$${domain}"/>
+ <X-PRE-PROCESS cmd="set" data="hold_music=local_stream://moh"/>
+ <X-PRE-PROCESS cmd="set" data="use_profile=internal"/>
+
+ <!--
+ 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 what for.
+
+ 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=G7221@32000h,G7221@16000h,G722,PCMU,PCMA,GSM"/>
+ <X-PRE-PROCESS cmd="set" data="outbound_codec_prefs=PCMU,PCMA,GSM"/>
+
+ <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="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="set" data="external_sip_ip=stun:stun.freeswitch.org"/>
+
+ <!-- unroll-loops
+ Used to turn on sip loopback unrolling.
+ -->
+ <X-PRE-PROCESS cmd="set" data="unroll_loops=true"/>
+
+ <!-- outbound_caller_id and outbound_caller_name
+ The caller ID telephone number we should use when calling out.
+ Used by: conference.conf.xml and user directory for default
+ outbound callerid name and number.
+ -->
+ <X-PRE-PROCESS cmd="set" data="outbound_caller_name=FreeSWITCH"/>
+ <X-PRE-PROCESS cmd="set" data="outbound_caller_id=0000000000"/>
+
+ <!-- various debug and defaults -->
+ <X-PRE-PROCESS cmd="set" data="call_debug=false"/>
+ <X-PRE-PROCESS cmd="set" data="console_loglevel=info"/>
+ <X-PRE-PROCESS cmd="set" data="default_areacode=918"/>
+ <X-PRE-PROCESS cmd="set" data="default_country=US"/>
+
+ <X-PRE-PROCESS cmd="set" data="uk-ring=%(400,200,400,450);%(400,2200,400,450)"/>
+ <X-PRE-PROCESS cmd="set" data="us-ring=%(2000,4000,440.0,480.0)"/>
+ <X-PRE-PROCESS cmd="set" data="fr-ring=%(1500,3500,440.0,0.0)"/>
+ <X-PRE-PROCESS cmd="set" data="rs-ring=%(1000,4000,425.0,0.0)"/>
+ <X-PRE-PROCESS cmd="set" data="ru-ring=%(800,3200,425,0)"/>
+ <X-PRE-PROCESS cmd="set" data="bong-ring=v=-7;%(100,0,941.0,1477.0);v=-7;>=2;+=.1;%(1400,0,350,440)"/>
+ <X-PRE-PROCESS cmd="set" data="sit=%(274,0,913.8);%(274,0,1370.6);%(380,0,1776.7)"/>
+
+ <!--
+ SIP and TLS settings. http://wiki.freeswitch.org/wiki/Tls
+ -->
+ <X-PRE-PROCESS cmd="set" data="sip_tls_version=tlsv1"/>
+
+ <!-- Internal SIP Profile -->
+ <X-PRE-PROCESS cmd="set" data="internal_auth_calls=true"/>
+ <X-PRE-PROCESS cmd="set" data="internal_sip_port=5060"/>
+ <X-PRE-PROCESS cmd="set" data="internal_tls_port=5061"/>
+ <X-PRE-PROCESS cmd="set" data="internal_ssl_enable=false"/>
+ <X-PRE-PROCESS cmd="set" data="internal_ssl_dir=$${base_dir}/conf/ssl"/>
+
+ <!-- External SIP Profile -->
+ <X-PRE-PROCESS cmd="set" data="external_auth_calls=false"/>
+ <X-PRE-PROCESS cmd="set" data="external_sip_port=5080"/>
+ <X-PRE-PROCESS cmd="set" data="external_tls_port=5081"/>
+ <X-PRE-PROCESS cmd="set" data="external_ssl_enable=false"/>
+ <X-PRE-PROCESS cmd="set" data="external_ssl_dir=$${base_dir}/conf/ssl"/>
+
+ <!-- Call recordings directory -->
+ <X-PRE-PROCESS cmd="set" data="recordings_dir=/home/freeswitch/recordings" />
+</include>
config 'global' 'state'
option 'started' '0'
+config 'profile_top' 'internal_top'
+
+config 'profile_top' 'external_top'
+
+config 'external_gateway' 'external_example'
+
+
mkdir -p $FS_DIR_DB
mkdir -p $FS_DIR_LOG
ulimit -s 240
+ include /usr/lib/freeswitch/uci
+ fs_init_xml
$FS_DIR/usr/bin/freeswitch $OPTIONS -nc
}
--- /dev/null
+#!/bin/sh
+# Copyright (C) 2010 Vertical Communications
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+
+# Uncomment commented out XML line
+fs_uncomment_xml_line() {
+ local file="$1"
+ local tag="$2"
+ local attribute1="$3"
+ local value1="$4"
+ local attribute2="$5"
+ local value2="$6"
+ if [ -n "$attribute2" ]; then
+ if [ -n "$value2" ]; then
+ sed -i -e "/<${tag} ${attribute1}=\"""${value1}""\".*${attribute2}=\"""${value2}""\".*\/>/ s|^\(.*\)<!--.*<${tag}\(.*\)${attribute1}=\"""${value1}""\"\(.*\)${attribute2}\=\"""${value2}""\"\(.*\)/>.*-->\(.*\)\$|\1<${tag}\2${attribute1}=\"${value1}\"\3${attribute2}=\"${value2}\"\4/>\5|" $file
+ else
+ sed -i -e "/<${tag} ${attribute1}=\"""${value1}""\".*${attribute2}=.*\/>/ s|^\(.*\)<!--.*<${tag}\(.*\)${attribute1}=\"""${value1}""\"\(.*\)${attribute2}\=\(.*\)/>.*-->\(.*\)\$|\1<${tag}\2${attribute1}=\"""${value1}""\"\3${attribute2}=\4/>\5|" $file
+ fi
+ elif [ -n "$attribute1" ]; then
+ sed -i -e "/<${tag} ${attribute1}=\"""${value1}""\".*\/>/ s|^\(.*\)<!--.*<${tag}\(.*\)${attribute1}=\"""${value1}""\"\(.*\)\/>.*-->\(.*\)\$|\1<${tag}\2${attribute1}=\"""${value1}""\"\3\/>\4|" $file
+ else
+ logger -t freeswitch "Error uncommenting tag $tag in file $1; no attributes defined"
+ fi
+}
+
+# Comment previously uncommented XML line
+fs_comment_xml_line() {
+ local file="$1"
+ local tag="$2"
+ local attribute1="$3"
+ local value1="$4"
+ local attribute2="$5"
+ local value2="$6"
+ if [ -n "$attribute2" ]; then
+ sed -i -e "/<[^!]${tag} ${attribute1}=\"""${value1}""\".*${attribute2}=\"""${value2}""\"\/>/ s|\(.*\)<${tag}\(.*\)${attribute1}=\"""${value1}""\"\(.*\)${attribute2}=\"""${value2}""\"\(.*\)/>(.*\)\$|<!-- \1<${tag}\2${attribute1}=\"${value1}\"\3${attribute2}=\"""${value2}""\"\4/>\5 -->|" $file
+ elif [ -n "$attribute1" ]; then
+ sed -i -e "/<[^!]${tag} ${attribute1}=\"""${value1}""\".*\/>/ s|\(.*\)<${tag}\(.*\)${attribute1}=\"""${value1}""\"\(.*\)/>\(.*\)\$|\1<!-- <${tag}\2${attribute1}=\"""${value1}""\"\3/>\4 -->|" $file
+ else
+ logger -t freeswitch "Error uncommenting tag $tag in file $1; no attributes defined"
+ fi
+}
+
+# Modify second attribute in tag with two attributes (tag and one attribute
+# specified) if tag exists and is comments modifies, if commented,
+# uncomments and and modifies it.
+fs_mod_attribute2() {
+ local file="$1"
+ local tag="$2"
+ local attribute1="$3"
+ local value1="$4"
+ local attribute2="$5"
+ local newvalue="$6"
+ fs_uncomment_xml_line "$file" "$tag" "$attribute1" "$value1" "$attribute2"
+ sed -i -e "/[^<!-]*<${tag} ${attribute1}=\"""${value1}""\".*${attribute2}=\""".*""\"\/>/ s|\(.*\)<${tag}\(.*\)${attribute1}=\"""${value1}""\"\(.*\)${attribute2}=\""".*""\"\(.*\)/>\(.*\)\$|\1<${tag}\2${attribute1}=\"""${value1}""\"\3${attribute2}=\"""${newvalue}""\"\4/>\5|" $file
+}
+
+fs_set_param() {
+ local file="$1"
+ local param="$2"
+ local newvalue="$3"
+
+ if [ -n "$newvalue" ]; then
+ fs_mod_attribute2 "$file" param name "$param" value "$newvalue"
+ else
+ fs_comment_xml_line "$file" param name "$param"
+ fi
+}
+
+fs_set_param_bool() {
+ local file="$1"
+ local param="$2"
+ local boolvalue="$3"
+
+ if [ "$boolvalue" = "0" ]; then
+ fs_set_param "$file" "$param" "false"
+ else
+ fs_set_param "$file" "$param" "true"
+ fi
+}
+
--- /dev/null
+#!/bin/sh
+
+# Copyright (C) 2010 Vertical Communications
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+
+fs_parse_param_action() {
+ local cfg="$1"
+ local param_file="$2"
+ local param="$3"
+ local param_type="$4"
+ local default="$5"
+ local value
+
+ if [ -z "$default" ]; then
+ config_get value "$cfg" "$(echo $param|tr - _ )"
+ else
+ config_get value "$cfg" "$(echo $param|tr - _ )" "$default"
+ fi
+
+ if [ "$param_type" = "bool" ]; then
+ if [ "$value" = "0" ] || [ "$value" = "false" ] || [ "$value" = "no" ]; then
+ value="false"
+ elif [ "$value" = "1" ] || [ "$value" = "true" ] || [ "$value" = "yes" ]; then
+ value="true"
+ fi
+ fi
+
+ fs_set_param "$param_file" "$param" "$value"
+}
+
+fs_to_xml_param_list() {
+ local cfg="$1"
+ local param_list="$2"
+ local param_file="$3"
+ local i=0
+ local param
+ local default
+ local list_item
+ local param_type
+ echo "$param_list" | {
+ local list_item
+ read -t 1 list_item
+ while [ "$list_item" != '[FS-EOF]' ]; do
+ if [ $i -eq 0 ]; then
+ param="$list_item"
+ i=1
+ elif [ $i -eq 1 ]; then
+ param_type="$list_item"
+ i=2
+ else
+ default="$list_item"
+ fs_parse_param_action "$cfg" "$param_file" "$param" "$param_type" "$default"
+ i=0
+ fi
+ read -t 1 list_item
+ done
+ }
+}
--- /dev/null
+#!/bin/sh
+# Copyright (C) 2010 Vertical Communications
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+
+# . /etc/functions.sh
+# . /usr/lib/freeswitch/uci/common/param_from_config.sh
+
+fs_profile_gateway() {
+ local cfg="$1"
+ local param_file="$2"
+ local param_list="username
+string
+
+password
+password
+
+realm
+string
+
+from-user
+string
+
+from-domain
+string
+
+extension
+string
+
+proxy
+string
+
+register-proxy
+string
+
+expire-seconds
+integer
+
+register
+bool
+
+register-transport
+string
+
+retry-seconds
+integer
+
+caller-id-in-from
+bool
+
+contact-params
+string
+
+extension-in-contact
+string
+
+ping
+integer
+
+[FS-EOF]
+"
+
+ fs_to_xml_param_list "$cfg" "$param_list" "$param_file"
+}
+
+fs_profile_internal_top() {
+ local cfg="$1"
+ local param_file="$2"
+ local param_list="media-option
+string
+
+user-agent-string
+string
+
+debug
+integer
+0
+shutdown-on-fail
+bool
+
+sip-trace
+string
+no
+log-auth-failures
+bool
+true
+context
+string
+public
+rfc2833-pt
+integer
+101
+sip-port
+integer
+\$\${internal_sip_port}
+dialplan
+string
+XML
+dtmf-duration
+integer
+2000
+inbound-codec-prefs
+string
+\$\${global_codec_prefs}
+outbound-codec-prefs
+string
+\$\${global_codec_prefs}
+rtp-timer-name
+string
+soft
+rtp-ip
+string
+\$\${local_ip_v4}
+sip-ip
+string
+\$\${local_ip_v4}
+hold-music
+string
+\$\${hold_music}
+apply-nat-acl
+string
+nat.auto
+extended-info-parsing
+bool
+
+aggressive-nat-detection
+bool
+
+enable-100rel
+bool
+
+enable-compact-headers
+bool
+
+enable-timer
+bool
+
+minimum-session-expires
+integer
+
+apply-inbound-acl
+string
+domains
+local-network-acl
+string
+localnet.auto
+apply-register-acl
+string
+
+dtmf-type
+string
+info
+send-message-query-on-register
+bool
+
+record-path
+string
+\$\${recordings_dir}
+record-template
+string
+\${caller_id_number}.\${target_domain}.\${strftime(%Y-%m-%d-%H-%M-%S)}.wav
+manage-presence
+bool
+true
+manage-shared-appearance
+bool
+
+dbname
+string
+
+presence-hosts
+string
+
+bitpacking
+string
+
+max-proceeding
+integer
+
+session-timeout
+integer
+
+multiple-registrations
+string
+
+inbound-codec-negotiation
+string
+generous
+bind-params
+string
+
+unregister-on-options-fail
+bool
+
+tls
+bool
+\$\${internal_ssl_enable}
+tls-bind-params
+string
+transport=tls
+tls-sip-port
+integer
+\$\${internal_tls_port}
+tls-cert-dir
+string
+\$\${internal_ssl_dir}
+tls-version
+string
+\$\${sip_tls_version}
+rtp-autoflush-during-bridge
+bool
+
+rtp-rewrite-timestamps
+bool
+
+pass-rfc2833
+bool
+
+odbc-dsn
+string
+
+inbound-bypass-media
+bool
+
+inbound-proxy-media
+bool
+
+inbound-late-negotiation
+bool
+
+accept-blind-reg
+bool
+
+accept-blind-auth
+bool
+
+suppress-cng
+bool
+
+nonce-ttl
+integer
+60
+disable-transcoding
+bool
+
+manual-redirect
+bool
+
+disable-transfer
+bool
+
+disable-register
+bool
+
+NDLB-broken-auth-hash
+bool
+
+NDLB-received-in-nat-reg-contact
+bool
+
+auth-calls
+bool
+\$\${internal_auth_calls}
+inbound-reg-force-match-username
+bool
+true
+auth-all-package
+bool
+false
+ext-rtp-ip
+string
+auto-nat
+ext-sip-ip
+string
+auto-nat
+rtp-timeout-sec
+integer
+300
+rtp-hold-timeout-sec
+integer
+1800
+vad
+string
+
+alias
+string
+
+force-register-domain
+string
+\$\${domain}
+force-subscription-domain
+string
+\$\${domain}
+force-register-db-domain
+string
+\$\${domain}
+force-subscription-expires
+integer
+
+enable-3pcc
+string
+
+NDLB-force-rport
+bool
+
+challenge-realm
+string
+auto_from
+disable-rtp-auto-adjust
+bool
+
+inbound-use-callid-as-uuid
+bool
+
+outbound-use-callid-as-uuid
+bool
+
+pass-callee-id
+bool
+
+auto-rtp-bugs
+string
+
+disable-srv
+bool
+
+disable-naptr
+bool
+
+[FS-EOF]
+"
+ fs_to_xml_param_list "$cfg" "$param_list" "$param_file"
+}
+
+fs_profile_external_top() {
+ local cfg="$1"
+ local param_file="$2"
+ local param_list="debug
+integer
+0
+shutdown-on-fail
+bool
+
+sip-trace
+string
+no
+context
+string
+public
+rfc2833-pt
+integer
+101
+sip-port
+integer
+\$\${external_sip_port}
+dialplan
+string
+XML
+inbound-codec-prefs
+string
+\$\${global_codec_prefs}
+outbound-codec-prefs
+string
+\$\${outbound_codec_prefs}
+rtp-timer-name
+string
+soft
+dtmf-duration
+integer
+2000
+rtp-ip
+string
+\$\${local_ip_v4}
+sip-ip
+string
+\$\${local_ip_v4}
+ext-rtp-ip
+string
+auto-nat
+ext-sip-ip
+string
+auto-nat
+hold-music
+string
+\$\${hold_music}
+aggressive-nat-detection
+bool
+
+enable-100rel
+bool
+
+local-network-acl
+string
+localnet.auto
+manage-presence
+bool
+false
+dbname
+string
+
+presence-hosts
+string
+
+tls
+bool
+\$\${external_ssl_enable}
+tls-bind-params
+string
+transport=tls
+tls-sip-port
+integer
+\$\${external_tls_port}
+tls-cert-dir
+string
+\$\${external_ssl_dir}
+tls-version
+string
+\$\${sip_tls_version}
+nonce-ttl
+integer
+60
+auth-calls
+bool
+false
+inbound-codec-negotiation
+string
+generous
+rtp-timeout-sec
+integer
+300
+rtp-hold-timeout-sec
+integer
+1800
+[FS-EOF]
+"
+ fs_to_xml_param_list "$cfg" "$param_list" "$param_file"
+}
--- /dev/null
+#!/bin/sh
+# Copyright (C) 2010 Vertical Communications
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+
+# Note that the fs_profile_* functions require the FS XML files contains
+# commented out sections for the parameters that are not currently in use, but
+# which are to be available to the UCI FS config
+fs_init_xml() {
+ config_load freeswitch
+ fs_profile_internal_top "internal_top" "/etc/freeswitch/sip_profiles/internal.xml"
+ fs_profile_external_top "external_top" "/etc/freeswitch/sip_profiles/external.xml"
+ fs_profile_gateway "external_example" "/etc/freeswitch/sip_profiles/external/example.xml"
+ fs_profile_gateway "internal_example" "/etc/freeswitch/sip_profiles/internal/example.xml"
+}