mwolff44.freeswitch-mw
Freeswitch-mw
Rôle Ansible pour FreeSwitch 1.6
Conditions préalables
- Testé sur Ansible 2.0 ou supérieur.
Installation d’Ansible via pip
sudo apt-get install -y ansible
Variables du rôle
Les variables du rôle et leurs valeurs par défaut.
FreeSwitch
freeswitch_conf_dir: '/etc/freeswitch' # Répertoire de configuration
freeswitch_symlinks: True # Mise en place par défaut des liens symboliques dans /usr/local/freeswitch
freeswitch_install_conf: True # Autoriser l’installation des fichiers de configuration - Peut être désactivé lors de la mise à jour
freeswitch_conf_backup_dir: '/etc/freeswitch.orig' # Répertoire de sauvegarde de la configuration
freeswitch_config_template_dir: '../templates/freeswitch/config' # Répertoire de modèles utilisé pour la configuration de FreeSwitch
freeswitch_config_list: # Liste des fichiers de modèles de configuration se terminant par ".j2"
- autoload_configs/console.conf.xml.j2
- autoload_configs/logfile.conf.xml.j2
- autoload_configs/modules.conf.xml.j2
- autoload_configs/switch.conf.xml.j2
- autoload_configs/syslog.conf.xml.j2
freeswitch_install_script: True # Autoriser l’installation des fichiers de script - Peut être désactivé lors de la mise à jour
freeswitch_script_dir: '/usr/share/freeswitch/scripts' # Répertoire des scripts
freeswitch_script_backup_dir: '/usr/share/freeswitch/scripts.orig' # Répertoire de sauvegarde des scripts
freeswitch_script_template_dir: '../templates/freeswitch/scripts' # Répertoire de modèles utilisés pour le script FreeSwitch
freeswitch_script_list: # Liste des fichiers de modèles de script se terminant par ".j2"
- test.lua.j2
freeswitch_packages: # Paquets FreeSwitch à installer
- freeswitch-meta-all
- freeswitch-all-dbg
- gdb
Configuration FreeSwitch
freeswitch_log_mapping: <map name="err" value="debug,info,notice,warning,err,crit,alert"/>
freeswitch_log_max_rotate: <!-- <param name="maximum-rotate" value="32"/> -->
freeswitch_max_db_handles: 50 # Nombre maximum de handles DB simultanés ouverts
freeswitch_db_handle_timeout: 10 # Nombre maximum de secondes à attendre pour un nouveau handle DB avant d'échouer
freeswitch_min_idle_cpu: 25 # CPU inactif minimum avant de refuser des appels
freeswitch_max_sessions: 1000 # Nombre maximum de sessions autorisées à tout moment
freeswitch_sessions_per_second: 30 # Nombre maximum de canaux à créer par seconde
freeswitch_global_loglevel: debug # Niveau de log global par défaut - valeur parmi debug,info,notice,warning,err,crit,alert
freeswitch_rtp_start_port: 16384
freeswitch_rtp_end_port: 32768
ODBC
odbc_install: false
odbc_packages_install: false
odbc_packages:
- unixodbc-bin
- unixodbc-dev
odbc_postgresql_install: false
odbc_postgresql_packages:
- odbc-postgresql
postgresql_packages_install: false
odbc_template_dir: '../templates/odbc' # Répertoire de modèles utilisé pour ODBC
odbc_server: 127.0.0.1
odbc_port: 5432
odbc_database: 'mydatabase'
odbc_user: 'myuser'
odbc_password: 'mypass'
odbc_tracefile: '/tmp/psqlodbc.log'
Fail2ban
fail2ban_install: False # Par défaut : fail2ban ne sera pas installé
fail2ban_local_jail_file: /etc/fail2ban/jail.local # Fichier de prison fail2ban pour FreeSwitch
fail2ban_filter_dir: /etc/fail2ban/filter.d # Répertoire de filtre fail2ban
fail2ban_local_jail: ../templates/fail2ban/jail.local # Modèle de prison fail2ban pour FreeSwitch
fail2ban_fs: ../templates/fail2ban/freeswitch.conf # Modèle de filtre fail2ban pour FreeSwitch
fail2ban_dos_fs: ../templates/fail2ban/freeswitch-dos.conf # Modèle de filtre fail2ban pour freeswitch dos
Sngrep
sngrep_install: False # Par défaut : sngrep ne sera pas installé
Synchronisation horaire avec systemd
ntp_install: False # Par défaut : la synchronisation horaire ne sera pas configurée
ntp_servers: '{{ ntp_servers_map[ansible_distribution]
| d(ntp_servers_map["default"]) }}'
ntp_servers_map:
'Debian': [ '0.debian.pool.ntp.org', '1.debian.pool.ntp.org',
'2.debian.pool.ntp.org', '3.debian.pool.ntp.org' ]
'Ubuntu': [ '0.ubuntu.pool.ntp.org', '1.ubuntu.pool.ntp.org',
'2.ubuntu.pool.ntp.org', '3.ubuntu.pool.ntp.org' ]
'default': [ '0.pool.ntp.org', '1.pool.ntp.org',
'2.pool.ntp.org', '3.pool.ntp.org' ]
ntp_timezone: 'Europe/Paris'
ntp_timesyncd_template : ../templates/etc/systemd/timesyncd.conf.d/ansible.conf.j2
Dépendances
Aucune
Utilisation
Ajoutez mwolff44.freeswitch-mw
à vos rôles et configurez les variables dans votre fichier de playbook. Exemple :
- hosts: all
vars_files:
- 'defaults/main.yml'
tasks:
- include: 'tasks/main.yml'
handlers:
- include: 'handlers/main.yml'
Licence
Licence sous GPL v3. Voir le fichier LICENSE pour les détails.
Contributeur
Un remerciement spécial à : Bruno SALZANO / [email protected]
Informations sur l'auteur
Mathias WOLFF / Blog des télécoms - PyFreeBilling
Installer
ansible-galaxy install mwolff44.freeswitch-mw
Licence
gpl-3.0
Téléchargements
80
Propriétaire