aboutsummaryrefslogtreecommitdiff
path: root/personal_infra/puppet/modules/freeswitch
diff options
context:
space:
mode:
authoralex <alex@pdp7.net>2025-10-26 10:00:41 +0100
committeralexpdp7 <alex@corcoles.net>2025-10-26 12:14:27 +0100
commit184f1a0143945549bf173a4bab22563a3af769c6 (patch)
tree9b3027c49a14473f34efd83031562e647c14dc39 /personal_infra/puppet/modules/freeswitch
parent51d9cd16d8f625603e0eecad315431f62fb8841f (diff)
Migrate from freeswitch to flexisip
Diffstat (limited to 'personal_infra/puppet/modules/freeswitch')
-rw-r--r--personal_infra/puppet/modules/freeswitch/README.md9
-rw-r--r--personal_infra/puppet/modules/freeswitch/manifests/init.pp24
-rw-r--r--personal_infra/puppet/modules/freeswitch/templates/switch.conf.xml208
-rw-r--r--personal_infra/puppet/modules/freeswitch/templates/vars.xml448
4 files changed, 0 insertions, 689 deletions
diff --git a/personal_infra/puppet/modules/freeswitch/README.md b/personal_infra/puppet/modules/freeswitch/README.md
deleted file mode 100644
index f44a17bb..00000000
--- a/personal_infra/puppet/modules/freeswitch/README.md
+++ /dev/null
@@ -1,9 +0,0 @@
-Baresip config:
-
-* account: `sip:ext@sip.pdp7.net;transport=tls`
-* password: ...
-* out proxy: `sip:sip.pdp7.net;transport=tls`
-* sip provider: `sip.pdp7.net`
-
-Ensure that certificate verification is disabled.
-Certificate verification might show as disabled when it is enabled.
diff --git a/personal_infra/puppet/modules/freeswitch/manifests/init.pp b/personal_infra/puppet/modules/freeswitch/manifests/init.pp
deleted file mode 100644
index 2323e832..00000000
--- a/personal_infra/puppet/modules/freeswitch/manifests/init.pp
+++ /dev/null
@@ -1,24 +0,0 @@
-class freeswitch($freeswitch_password, $freeswitch_address, $freeswitch_rtp_start_port, $freeswitch_rtp_end_port) {
- package {'okay-release':
- source => 'http://repo.okay.com.mx/centos/9/x86_64/release/okay-release-1-10.el9.noarch.rpm',
- }
- ->
- package {['freeswitch-config-vanilla', 'freeswitch-systemd', 'freeswitch-sounds-en-us-callie-all']:}
- ->
- service {'freeswitch':
- enable => true,
- ensure => running,
- }
-
- file {'/etc/freeswitch/vars.xml':
- content => template('freeswitch/vars.xml'),
- require => Package['freeswitch-config-vanilla'],
- notify => Service['freeswitch'],
- }
-
- file {'/etc/freeswitch/autoload_configs/switch.conf.xml':
- content => template('freeswitch/switch.conf.xml'),
- require => Package['freeswitch-config-vanilla'],
- notify => Service['freeswitch'],
- }
-}
diff --git a/personal_infra/puppet/modules/freeswitch/templates/switch.conf.xml b/personal_infra/puppet/modules/freeswitch/templates/switch.conf.xml
deleted file mode 100644
index 36891f9b..00000000
--- a/personal_infra/puppet/modules/freeswitch/templates/switch.conf.xml
+++ /dev/null
@@ -1,208 +0,0 @@
-<configuration name="switch.conf" description="Core Configuration">
-
- <cli-keybindings>
- <key name="1" value="help"/>
- <key name="2" value="status"/>
- <key name="3" value="show channels"/>
- <key name="4" value="show calls"/>
- <key name="5" value="sofia status"/>
- <key name="6" value="reloadxml"/>
- <key name="7" value="console loglevel 0"/>
- <key name="8" value="console loglevel 7"/>
- <key name="9" value="sofia status profile internal"/>
- <key name="10" value="sofia profile internal siptrace on"/>
- <key name="11" value="sofia profile internal siptrace off"/>
- <key name="12" value="version"/>
- </cli-keybindings>
-
- <default-ptimes>
- <!-- Set this to override the 20ms assumption of various codecs in the sdp with no ptime defined -->
- <!-- <codec name="G729" ptime="40"/> -->
- </default-ptimes>
-
- <settings>
- <!-- Colorize the Console -->
- <param name="colorize-console" value="true"/>
-
- <!--Include full timestamps in dialplan logs -->
- <param name="dialplan-timestamps" value="false"/>
-
- <!-- Run the timer at 20ms by default and drop down as needed unless you set 1m-timer=true which was previous default -->
- <!-- <param name="1ms-timer" value="true"/> -->
-
- <!--
- Set the Switch Name for HA environments.
- When setting the switch name, it will override the system hostname for all DB and CURL requests
- allowing cluster environments such as RHCS to have identical FreeSWITCH configurations but run
- as different hostnames.
- -->
- <!-- <param name="switchname" value="freeswitch"/> -->
- <!-- <param name="cpu-idle-smoothing-depth" value="30"/> -->
-
-
- <!-- Maximum number of simultaneous DB handles open -->
- <param name="max-db-handles" value="50"/>
- <!-- Maximum number of seconds to wait for a new DB handle before failing -->
- <param name="db-handle-timeout" value="10"/>
-
- <!-- Minimum idle CPU before refusing calls -->
- <!-- <param name="min-idle-cpu" value="25"/> -->
-
- <!-- Interval between heartbeat events -->
- <!-- <param name="event-heartbeat-interval" value="20"/> -->
-
- <!--
- Max number of sessions to allow at any given time.
-
- NOTICE: If you're driving 28 T1's in a single box you should set this to 644*2 or 1288
- this will ensure you're able to use the entire DS3 without a problem. Otherwise you'll
- be 144 channels short of always filling that DS3 up which can translate into waste.
- -->
- <param name="max-sessions" value="1000"/>
- <!--Most channels to create per second -->
- <param name="sessions-per-second" value="30"/>
- <!-- Default Global Log Level - value is one of debug,info,notice,warning,err,crit,alert -->
- <param name="loglevel" value="debug"/>
-
- <!-- Set the core DEBUG level (0-10) -->
- <!-- <param name="debug-level" value="10"/> -->
-
- <!-- SQL Buffer length within rage of 32k to 10m -->
- <!-- <param name="sql-buffer-len" value="1m"/> -->
- <!-- Maximum SQL Buffer length must be greater than sql-buffer-len -->
- <!-- <param name="max-sql-buffer-len" value="2m"/> -->
-
- <!--
- The min-dtmf-duration specifies the minimum DTMF duration to use on
- outgoing events. Events shorter than this will be increased in duration
- to match min_dtmf_duration. You cannot configure a dtmf duration on a
- profile that is less than this setting. You may increase this value,
- but cannot set it lower than 400. This value cannot exceed
- max-dtmf-duration. -->
- <!-- <param name="min-dtmf-duration" value="400"/> -->
-
- <!--
- The max-dtmf-duration caps the playout of a DTMF event at the specified
- duration. Events exceeding this duration will be truncated to this
- duration. You cannot configure a duration on a profile that exceeds
- this setting. This setting can be lowered, but cannot exceed 192000.
- This setting cannot be set lower than min_dtmf_duration. -->
- <!-- <param name="max-dtmf-duration" value="192000"/> -->
-
- <!--
- The default_dtmf_duration specifies the DTMF duration to use on
- originated DTMF events or on events that are received without a
- duration specified. This value can be increased or lowered. This
- value is lower-bounded by min_dtmf_duration and upper-bounded by
- max-dtmf-duration\. -->
- <!-- <param name="default-dtmf-duration" value="2000"/> -->
-
- <!--
- If you want to send out voicemail notifications via Windows you'll need to change the mailer-app
- variable to the setting below:
-
- <param name="mailer-app" value="msmtp"/>
-
- Do not change mailer-app-args.
- You will also need to download a sendmail clone for Windows (msmtp). This version works without issue:
- http://msmtp.sourceforge.net/index.html. Download and copy the .exe to %winddir%\system32.
- You'll need to create a small config file for smtp credentials (host name, authentication, tls, etc.) in
- %USERPROFILE%\Application Data\ called "msmtprc.txt". Below is a sample copy of this file:
-
- ###################################
- # The SMTP server of the provider.
- account provider
- host smtp.myisp.com
- from john@myisp.com
- auth login
- user johndoe
- password mypassword
-
- # Set a default account
- account default : provider
- ###################################
-
- -->
-
- <param name="mailer-app" value="sendmail"/>
- <param name="mailer-app-args" value="-t"/>
- <param name="dump-cores" value="yes"/>
-
- <!-- Enable verbose channel events to include every detail about a channel on every event -->
- <!-- <param name="verbose-channel-events" value="no"/> -->
-
- <!-- Enable clock nanosleep -->
- <!-- <param name="enable-clock-nanosleep" value="true"/> -->
-
- <!-- Enable monotonic timing -->
- <!-- <param name="enable-monotonic-timing" value="true"/> -->
-
- <!-- NEEDS DOCUMENTATION -->
- <!-- <param name="enable-softtimer-timerfd" value="true"/> -->
- <!-- <param name="enable-cond-yield" value="true"/> -->
- <!-- <param name="enable-timer-matrix" value="true"/> -->
- <!-- <param name="threaded-system-exec" value="true"/> -->
- <!-- <param name="tipping-point" value="0"/> -->
- <!-- <param name="timer-affinity" value="disabled"/> -->
- <!-- NEEDS DOCUMENTATION -->
-
- <!-- RTP port range -->
- <param name="rtp-start-port" value="<%= @freeswitch_rtp_start_port %>"/>
- <param name="rtp-end-port" value="<%= @freeswitch_rtp_end_port %>"/>
-
- <!-- Test each port to make sure it is not in use by some other process before allocating it to RTP -->
- <!-- <param name="rtp-port-usage-robustness" value="true"/> -->
-
- <param name="rtp-enable-zrtp" value="false"/>
-
- <!--
- Store encryption keys for secure media in channel variables and call CDRs. Default: false.
- WARNING: If true, anyone with CDR access can decrypt secure media!
- -->
- <!-- <param name="rtp-retain-crypto-keys" value="true"/> -->
-
- <!--
- Native PostgreSQL support was removed from the FreeSWITCH Core!
- =================================
- NOTICE: You MUST enable mod_pgsql
- =================================
- According to https://www.postgresql.org/docs/9.6/libpq-connect.html#LIBPQ-CONNSTRING
- There are two accepted formats for connection strings supported by the libpq library:
- * For plain keyword = value strings use pgsql://
- pgsql://hostaddr=127.0.0.1 dbname=freeswitch user=freeswitch password='' options='-c client_min_messages=NOTICE'
- * For RFC 3986 URIs use postgresql:// or postgres://
- postgresql://
- postgresql://localhost
- postgresql://localhost:5433
- postgresql://localhost/mydb
- postgresql://user@localhost
- postgresql://user:secret@localhost
- postgresql://other@localhost/otherdb?connect_timeout=10&application_name=myapp
- postgresql:///mydb?host=localhost&port=5433
- -->
- <!-- <param name="core-db-dsn" value="pgsql://hostaddr=127.0.0.1 dbname=freeswitch user=freeswitch password='' options='-c client_min_messages=NOTICE'" /> -->
- <!-- <param name="core-db-dsn" value="postgresql://freeswitch:@127.0.0.1/freeswitch?options=-c%20client_min_messages%3DNOTICE" /> -->
- <!-- <param name="core-db-dsn" value="mariadb://Server=localhost;Database=freeswitch;Uid=freeswitch;Pwd=pass;" /> -->
- <!-- <param name="core-db-dsn" value="dsn:username:password" /> -->
- <!--
- Allow to specify the sqlite db at a different location (In this example, move it to ramdrive for
- better performance on most linux distro (note, you loose the data if you reboot))
- -->
- <!-- <param name="core-db-name" value="/dev/shm/core.db" /> -->
-
- <!-- The system will create all the db schemas automatically, set this to false to avoid this behaviour -->
- <!-- <param name="auto-create-schemas" value="true"/> -->
- <!-- <param name="auto-clear-sql" value="true"/> -->
- <!-- <param name="enable-early-hangup" value="true"/> -->
-
- <!-- <param name="core-dbtype" value="MSSQL"/> -->
-
- <!-- Allow multiple registrations to the same account in the central registration table -->
- <!-- <param name="multiple-registrations" value="true"/> -->
-
- <!-- <param name="max-audio-channels" value="2"/> -->
-
- </settings>
-
-</configuration>
-
diff --git a/personal_infra/puppet/modules/freeswitch/templates/vars.xml b/personal_infra/puppet/modules/freeswitch/templates/vars.xml
deleted file mode 100644
index 850c0a17..00000000
--- a/personal_infra/puppet/modules/freeswitch/templates/vars.xml
+++ /dev/null
@@ -1,448 +0,0 @@
-<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=<%= @freeswitch_password %>"/>
- <!-- Did you change it yet? -->
- <!--
- The following variables are set dynamically - calculated if possible by freeswitch - and
- are available to the config as $${variable}. You can see their calculated value via fs_cli
- by entering eval $${variable}
-
- hostname
- local_ip_v4
- local_mask_v4
- local_ip_v6
- switch_serial
- base_dir
- recordings_dir
- sound_prefix
- sounds_dir
- conf_dir
- log_dir
- run_dir
- db_dir
- mod_dir
- htdocs_dir
- script_dir
- temp_dir
- grammar_dir
- certs_dir
- storage_dir
- cache_dir
- core_uuid
- zrtp_enabled
- nat_public_addr
- nat_private_addr
- nat_type
-
- -->
-
-
- <X-PRE-PROCESS cmd="set" data="sound_prefix=$${sounds_dir}/en/us/callie"/>
- <!--<Z-PRE-PROCESS cmd="set" data="sound_prefix=$${sounds_dir}/en/us/allison"/> -->
-
- <!--
- This setting is what sets the default domain FreeSWITCH will use if all else fails.
-
- FreeSWICH will default to $${local_ip_v4} unless changed. Changing this setting does
- affect the sip authentication. Please review conf/directory/default.xml for more
- information on this topic.
- -->
- <X-PRE-PROCESS cmd="set" data="domain=sip.pdp7.net"/>
- <X-PRE-PROCESS cmd="set" data="domain_name=$${domain}"/>
- <X-PRE-PROCESS cmd="set" data="hold_music=local_stream://moh"/>
- <X-PRE-PROCESS cmd="set" data="use_profile=external"/>
- <X-PRE-PROCESS cmd="set" data="rtp_sdes_suites=AEAD_AES_256_GCM_8|AEAD_AES_128_GCM_8|AES_CM_256_HMAC_SHA1_80|AES_CM_192_HMAC_SHA1_80|AES_CM_128_HMAC_SHA1_80|AES_CM_256_HMAC_SHA1_32|AES_CM_192_HMAC_SHA1_32|AES_CM_128_HMAC_SHA1_32|AES_CM_128_NULL_AUTH"/>
- <!--
- Enable ZRTP globally you can override this on a per channel basis
-
- http://wiki.freeswitch.org/wiki/ZRTP (on how to enable zrtp)
- -->
- <X-PRE-PROCESS cmd="set" data="zrtp_secure_media=true"/>
- <!--
- NOTICE: When using SRTP it's critical that you do not offer or accept
- variable bit rate codecs, doing so would leak information and possibly
- compromise your SRTP stream. (FS-6404)
-
- Supported SRTP Crypto Suites:
-
- AEAD_AES_256_GCM_8
- ____________________________________________________________________________
- This algorithm is identical to AEAD_AES_256_GCM (see Section 5.2 of
- [RFC5116]), except that the tag length, t, is 8, and an
- authentication tag with a length of 8 octets (64 bits) is used.
- An AEAD_AES_256_GCM_8 ciphertext is exactly 8 octets longer than its
- corresponding plaintext.
-
-
- AEAD_AES_128_GCM_8
- ____________________________________________________________________________
- This algorithm is identical to AEAD_AES_128_GCM (see Section 5.1 of
- [RFC5116]), except that the tag length, t, is 8, and an
- authentication tag with a length of 8 octets (64 bits) is used.
- An AEAD_AES_128_GCM_8 ciphertext is exactly 8 octets longer than its
- corresponding plaintext.
-
-
- AES_CM_256_HMAC_SHA1_80 | AES_CM_192_HMAC_SHA1_80 | AES_CM_128_HMAC_SHA1_80
- ____________________________________________________________________________
- AES_CM_128_HMAC_SHA1_80 is the SRTP default AES Counter Mode cipher
- and HMAC-SHA1 message authentication with an 80-bit authentication
- tag. The master-key length is 128 bits and has a default lifetime of
- a maximum of 2^48 SRTP packets or 2^31 SRTCP packets, whichever comes
- first.
-
-
- AES_CM_256_HMAC_SHA1_32 | AES_CM_192_HMAC_SHA1_32 | AES_CM_128_HMAC_SHA1_32
- ____________________________________________________________________________
- This crypto-suite is identical to AES_CM_128_HMAC_SHA1_80 except that
- the authentication tag is 32 bits. The length of the base64-decoded key and
- salt value for this crypto-suite MUST be 30 octets i.e., 240 bits; otherwise,
- the crypto attribute is considered invalid.
-
-
- AES_CM_128_NULL_AUTH
- ____________________________________________________________________________
- The SRTP default cipher (AES-128 Counter Mode), but to use no authentication
- method. This policy is NOT RECOMMENDED unless it is unavoidable; see
- Section 7.5 of [RFC3711].
-
-
- SRTP variables that modify behaviors based on direction/leg:
-
- rtp_secure_media
- ____________________________________________________________________________
- possible values:
- mandatory - Accept/Offer SAVP negotiation ONLY
- optional - Accept/Offer SAVP/AVP with SAVP preferred
- forbidden - More useful for inbound to deny SAVP negotiation
- false - implies forbidden
- true - implies mandatory
-
- default if not set is accept SAVP inbound if offered.
-
-
- rtp_secure_media_inbound | rtp_secure_media_outbound
- ____________________________________________________________________________
- This is the same as rtp_secure_media, but would apply to either inbound
- or outbound offers specifically.
-
-
- How to specify crypto suites:
- ____________________________________________________________________________
- By default without specifying any crypto suites FreeSWITCH will offer
- crypto suites from strongest to weakest accepting the strongest each
- endpoint has in common. If you wish to force specific crypto suites you
- can do so by appending the suites in a comma separated list in the order
- that you wish to offer them in.
-
- Examples:
-
- rtp_secure_media=mandatory:AES_CM_256_HMAC_SHA1_80,AES_CM_256_HMAC_SHA1_32
- rtp_secure_media=true:AES_CM_256_HMAC_SHA1_80,AES_CM_256_HMAC_SHA1_32
- rtp_secure_media=optional:AES_CM_256_HMAC_SHA1_80
- rtp_secure_media=true:AES_CM_256_HMAC_SHA1_80
-
- Additionally you can narrow this down on either inbound or outbound by
- specifying as so:
-
- rtp_secure_media_inbound=true:AEAD_AES_256_GCM_8
- rtp_secure_media_inbound=mandatory:AEAD_AES_256_GCM_8
- rtp_secure_media_outbound=true:AEAD_AES_128_GCM_8
- rtp_secure_media_outbound=optional:AEAD_AES_128_GCM_8
-
-
- rtp_secure_media_suites
- ____________________________________________________________________________
- Optionaly you can use rtp_secure_media_suites to dictate the suite list
- and only use rtp_secure_media=[optional|mandatory|false|true] without having
- to dictate the suite list with the rtp_secure_media* variables.
- -->
- <!--
- Examples of codec options: (module must be compiled and loaded)
-
- codecname[@8000h|16000h|32000h[@XXi]]
-
- XX is the frame size must be multples allowed for the codec
- FreeSWITCH can support 10-120ms on some codecs.
- We do not support exceeding the MTU of the RTP packet.
-
-
- iLBC@30i - iLBC using mode=30 which will win in all cases.
- DVI4@8000h@20i - IMA ADPCM 8kHz using 20ms ptime. (multiples of 10)
- DVI4@16000h@40i - IMA ADPCM 16kHz using 40ms ptime. (multiples of 10)
- speex@8000h@20i - Speex 8kHz using 20ms ptime.
- speex@16000h@20i - Speex 16kHz using 20ms ptime.
- speex@32000h@20i - Speex 32kHz using 20ms ptime.
- BV16 - BroadVoice 16kb/s narrowband, 8kHz
- BV32 - BroadVoice 32kb/s wideband, 16kHz
- G7221@16000h - G722.1 16kHz (aka Siren 7)
- G7221@32000h - G722.1C 32kHz (aka Siren 14)
- CELT@32000h - CELT 32kHz, only 10ms supported
- CELT@48000h - CELT 48kHz, only 10ms supported
- GSM@40i - GSM 8kHz using 40ms ptime. (GSM is done in multiples of 20, Default is 20ms)
- G722 - G722 16kHz using default 20ms ptime. (multiples of 10)
- PCMU - G711 8kHz ulaw using default 20ms ptime. (multiples of 10)
- PCMA - G711 8kHz alaw using default 20ms ptime. (multiples of 10)
- G726-16 - G726 16kbit adpcm using default 20ms ptime. (multiples of 10)
- G726-24 - G726 24kbit adpcm using default 20ms ptime. (multiples of 10)
- G726-32 - G726 32kbit adpcm using default 20ms ptime. (multiples of 10)
- G726-40 - G726 40kbit adpcm using default 20ms ptime. (multiples of 10)
- AAL2-G726-16 - Same as G726-16 but using AAL2 packing. (multiples of 10)
- AAL2-G726-24 - Same as G726-24 but using AAL2 packing. (multiples of 10)
- AAL2-G726-32 - Same as G726-32 but using AAL2 packing. (multiples of 10)
- AAL2-G726-40 - Same as G726-40 but using AAL2 packing. (multiples of 10)
- LPC - LPC10 using 90ms ptime (only supports 90ms at this time in FreeSWITCH)
- L16 - L16 isn't recommended for VoIP but you can do it. L16 can exceed the MTU rather quickly.
-
- These are the passthru audio codecs:
-
- G729 - G729 in passthru mode. (mod_g729)
- G723 - G723.1 in passthru mode. (mod_g723_1)
- AMR - AMR in passthru mode. (mod_amr)
-
- These are the passthru video codecs: (mod_h26x)
-
- H261 - H.261 Video
- H263 - H.263 Video
- H263-1998 - H.263-1998 Video
- H263-2000 - H.263-2000 Video
- H264 - H.264 Video
-
- RTP Dynamic Payload Numbers currently used in FreeSWITCH and their purpose.
-
- 96 - AMR
- 97 - iLBC (30)
- 98 - iLBC (20)
- 99 - Speex 8kHz, 16kHz, 32kHz
- 100 -
- 101 - telephone-event
- 102 -
- 103 -
- 104 -
- 105 -
- 106 - BV16
- 107 - G722.1 (16kHz)
- 108 -
- 109 -
- 110 -
- 111 -
- 112 -
- 113 -
- 114 - CELT 32kHz, 48kHz
- 115 - G722.1C (32kHz)
- 116 -
- 117 - SILK 8kHz
- 118 - SILK 12kHz
- 119 - SILK 16kHz
- 120 - SILK 24kHz
- 121 - AAL2-G726-40 && G726-40
- 122 - AAL2-G726-32 && G726-32
- 123 - AAL2-G726-24 && G726-24
- 124 - AAL2-G726-16 && G726-16
- 125 -
- 126 -
- 127 - BV32
-
- -->
- <X-PRE-PROCESS cmd="set" data="global_codec_prefs=OPUS,G722,PCMU,PCMA,H264,VP8"/>
- <X-PRE-PROCESS cmd="set" data="outbound_codec_prefs=OPUS,G722,PCMU,PCMA,H264,VP8"/>
-
- <!--
- xmpp_client_profile and xmpp_server_profile
- xmpp_client_profile can be any string.
- xmpp_server_profile is appended to "dingaling_" to form the database name
- containing the "subscriptions" table.
- used by: dingaling.conf.xml enum.conf.xml
- -->
-
- <X-PRE-PROCESS cmd="set" data="xmpp_client_profile=xmppc"/>
- <X-PRE-PROCESS cmd="set" data="xmpp_server_profile=xmpps"/>
- <!--
- THIS IS ONLY USED FOR DINGALING
-
- bind_server_ip
-
- Can be an ip address, a dns name, or "auto".
- This determines an ip address available on this host to bind.
- If you are separating RTP and SIP traffic, you will want to have
- use different addresses where this variable appears.
- Used by: dingaling.conf.xml
- -->
- <X-PRE-PROCESS cmd="set" data="bind_server_ip=auto"/>
-
- <!-- NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE
-
- If you're going to load test FreeSWITCH please input real IP addresses
- for external_rtp_ip and external_sip_ip
- -->
-
- <!-- external_rtp_ip
- Can be an one of:
- ip address: "12.34.56.78"
- a stun server lookup: "stun:stun.server.com"
- a DNS name: "host:host.server.com"
- where fs.mydomain.com is a DNS A record-useful when fs is on
- a dynamic IP address, and uses a dynamic DNS updater.
- If unspecified, the bind_server_ip value is used.
- Used by: sofia.conf.xml dingaling.conf.xml
- -->
- <X-PRE-PROCESS cmd="stun-set" data="external_rtp_ip=<%= @freeswitch_address %>"/>
-
- <!-- external_sip_ip
- Used as the public IP address for SDP.
- Can be an one of:
- ip address: "12.34.56.78"
- a stun server lookup: "stun:stun.server.com"
- a DNS name: "host:host.server.com"
- where fs.mydomain.com is a DNS A record-useful when fs is on
- a dynamic IP address, and uses a dynamic DNS updater.
- If unspecified, the bind_server_ip value is used.
- Used by: sofia.conf.xml dingaling.conf.xml
- -->
- <X-PRE-PROCESS cmd="stun-set" data="external_sip_ip=<%= @freeswitch_address %>"/>
-
- <!-- unroll-loops
- Used to turn on sip loopback unrolling.
- -->
- <X-PRE-PROCESS cmd="set" data="unroll_loops=true"/>
-
- <!-- outbound_caller_id and outbound_caller_name
- The caller ID telephone number we should use when calling out.
- Used by: conference.conf.xml and user directory for default
- outbound callerid name and number.
- -->
- <X-PRE-PROCESS cmd="set" data="outbound_caller_name=FreeSWITCH"/>
- <X-PRE-PROCESS cmd="set" data="outbound_caller_id=0000000000"/>
-
- <!-- various debug and defaults -->
- <X-PRE-PROCESS cmd="set" data="call_debug=false"/>
- <X-PRE-PROCESS cmd="set" data="console_loglevel=info"/>
- <X-PRE-PROCESS cmd="set" data="default_areacode=918"/>
- <X-PRE-PROCESS cmd="set" data="default_country=US"/>
-
- <!-- if false or undefined, the destination number is included in presence NOTIFY dm:note.
- if true, the destination number is not included -->
- <X-PRE-PROCESS cmd="set" data="presence_privacy=false"/>
-
- <X-PRE-PROCESS cmd="set" data="au-ring=%(400,200,383,417);%(400,2000,383,417)"/>
- <X-PRE-PROCESS cmd="set" data="be-ring=%(1000,3000,425)"/>
- <X-PRE-PROCESS cmd="set" data="ca-ring=%(2000,4000,440,480)"/>
- <X-PRE-PROCESS cmd="set" data="cn-ring=%(1000,4000,450)"/>
- <X-PRE-PROCESS cmd="set" data="cy-ring=%(1500,3000,425)"/>
- <X-PRE-PROCESS cmd="set" data="cz-ring=%(1000,4000,425)"/>
- <X-PRE-PROCESS cmd="set" data="de-ring=%(1000,4000,425)"/>
- <X-PRE-PROCESS cmd="set" data="dk-ring=%(1000,4000,425)"/>
- <X-PRE-PROCESS cmd="set" data="dz-ring=%(1500,3500,425)"/>
- <X-PRE-PROCESS cmd="set" data="eg-ring=%(2000,1000,475,375)"/>
- <X-PRE-PROCESS cmd="set" data="es-ring=%(1500,3000,425)"/>
- <X-PRE-PROCESS cmd="set" data="fi-ring=%(1000,4000,425)"/>
- <X-PRE-PROCESS cmd="set" data="fr-ring=%(1500,3500,440)"/>
- <X-PRE-PROCESS cmd="set" data="hk-ring=%(400,200,440,480);%(400,3000,440,480)"/>
- <X-PRE-PROCESS cmd="set" data="hu-ring=%(1250,3750,425)"/>
- <X-PRE-PROCESS cmd="set" data="il-ring=%(1000,3000,400)"/>
- <X-PRE-PROCESS cmd="set" data="in-ring=%(400,200,425,375);%(400,2000,425,375)"/>
- <X-PRE-PROCESS cmd="set" data="jp-ring=%(1000,2000,420,380)"/>
- <X-PRE-PROCESS cmd="set" data="ko-ring=%(1000,2000,440,480)"/>
- <X-PRE-PROCESS cmd="set" data="pk-ring=%(1000,2000,400)"/>
- <X-PRE-PROCESS cmd="set" data="pl-ring=%(1000,4000,425)"/>
- <X-PRE-PROCESS cmd="set" data="ro-ring=%(1850,4150,475,425)"/>
- <X-PRE-PROCESS cmd="set" data="rs-ring=%(1000,4000,425)"/>
- <X-PRE-PROCESS cmd="set" data="ru-ring=%(800,3200,425)"/>
- <X-PRE-PROCESS cmd="set" data="sa-ring=%(1200,4600,425)"/>
- <X-PRE-PROCESS cmd="set" data="tr-ring=%(2000,4000,450)"/>
- <X-PRE-PROCESS cmd="set" data="uk-ring=%(400,200,400,450);%(400,2000,400,450)"/>
- <X-PRE-PROCESS cmd="set" data="us-ring=%(2000,4000,440,480)"/>
- <X-PRE-PROCESS cmd="set" data="bong-ring=v=-7;%(100,0,941.0,1477.0);v=-7;>=2;+=.1;%(1400,0,350,440)"/>
- <X-PRE-PROCESS cmd="set" data="beep=%(1000,0,640)"/>
- <X-PRE-PROCESS cmd="set" data="sit=%(274,0,913.8);%(274,0,1370.6);%(380,0,1776.7)"/>
-
- <!--
- Digits Dialed filter: (FS-6940)
-
- The digits stream may contain valid credit card numbers or social security numbers, These digit
- filters will allow you to make a valant effort to stamp out sensitive information for
- PCI/HIPPA compliance. (see xml_cdr dialed_digits)
-
- df_us_ssn = US Social Security Number pattern
- df_us_luhn = Visa, MasterCard, American Express, Diners Club, Discover and JCB
- -->
- <X-PRE-PROCESS cmd="set" data="df_us_ssn=(?!219099999|078051120)(?!666|000|9\d{2})\d{3}(?!00)\d{2}(?!0{4})\d{4}"/>
- <X-PRE-PROCESS cmd="set" data="df_luhn=?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|6(?:011|5[0-9]{2})[0-9]{12}|(?:2131|1800|35\d{3})\d{11}"/>
- <!-- change XX to X below to enable -->
- <XX-PRE-PROCESS cmd="set" data="digits_dialed_filter=(($${df_luhn})|($${df_us_ssn}))"/>
-
- <!--
- Setting up your default sip provider is easy.
- Below are some values that should work in most cases.
-
- These are for conf/directory/default/example.com.xml
- -->
- <X-PRE-PROCESS cmd="set" data="default_provider=example.com"/>
- <X-PRE-PROCESS cmd="set" data="default_provider_username=joeuser"/>
- <X-PRE-PROCESS cmd="set" data="default_provider_password=password"/>
- <X-PRE-PROCESS cmd="set" data="default_provider_from_domain=example.com"/>
- <!-- true or false -->
- <X-PRE-PROCESS cmd="set" data="default_provider_register=false"/>
- <X-PRE-PROCESS cmd="set" data="default_provider_contact=5000"/>
-
- <!--
- SIP and TLS settings. http://wiki.freeswitch.org/wiki/Tls
-
- valid options: sslv2,sslv3,sslv23,tlsv1,tlsv1.1,tlsv1.2
-
- default: tlsv1,tlsv1.1,tlsv1.2
- -->
- <X-PRE-PROCESS cmd="set" data="sip_tls_version=tlsv1,tlsv1.1,tlsv1.2"/>
-
- <!--
- TLS cipher suite: default ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH
-
- The actual ciphers supported will change per platform.
-
- openssl ciphers -v 'ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH'
-
- Will show you what is available in your verion of openssl.
- -->
- <X-PRE-PROCESS cmd="set" data="sip_tls_ciphers=ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH"/>
-
- <!-- Internal SIP Profile -->
- <X-PRE-PROCESS cmd="set" data="internal_auth_calls=true"/>
- <X-PRE-PROCESS cmd="set" data="internal_sip_port=5060"/>
- <X-PRE-PROCESS cmd="set" data="internal_tls_port=5061"/>
- <X-PRE-PROCESS cmd="set" data="internal_ssl_enable=true"/>
-
- <!-- External SIP Profile -->
- <X-PRE-PROCESS cmd="set" data="external_auth_calls=false"/>
- <X-PRE-PROCESS cmd="set" data="external_sip_port=5080"/>
- <X-PRE-PROCESS cmd="set" data="external_tls_port=5081"/>
- <X-PRE-PROCESS cmd="set" data="external_ssl_enable=false"/>
-
- <!-- Video Settings -->
- <!-- Setting the max bandwdith -->
- <X-PRE-PROCESS cmd="set" data="rtp_video_max_bandwidth_in=3mb"/>
- <X-PRE-PROCESS cmd="set" data="rtp_video_max_bandwidth_out=3mb"/>
-
- <!-- WebRTC Video -->
- <!-- Suppress CNG for WebRTC Audio -->
- <X-PRE-PROCESS cmd="set" data="suppress_cng=true"/>
- <!-- Enable liberal DTMF for those that can't get it right -->
- <X-PRE-PROCESS cmd="set" data="rtp_liberal_dtmf=true"/>
- <!-- Helps with WebRTC Audio -->
-
- <!-- Stock Video Avatars -->
- <X-PRE-PROCESS cmd="set" data="video_mute_png=$${images_dir}/default-mute.png"/>
- <X-PRE-PROCESS cmd="set" data="video_no_avatar_png=$${images_dir}/default-avatar.png"/>
-
-</include>