Install and provision Freeswitch service for SIP audio and video calls via networks
freeswitch_language: ru
# You can modify for freeswitch (by defaul en (english))
freeswitch_default_ports:
rtp_start_port: 64535
# You can modify rtp start port for transmition media beetwen users or other SIP PBX (by defaul 64535)
rtp_end_port: 65535
# You can modify rtp end port for transmition media beetwen users or other SIP PBX (by defaul 65535)
sip_users:
# You can create single users (by default created only one user with number/login - 7009)
- name: XXX
phone: 7009
password: 1234
sip_user_groups:
# You can create user pool (by default created pool with number/login - from 1200 to 1299 )
begin: 1200
end: 1299
sip_conf_room:
narrowband:
# You can create conference with standart quility (Codec G.729, G.711, Software based, etc.) (by default created pool with number/login - from 3000 to 3005 )
- name: nb_conferences
begin: 3000
end: 3005
wideband:
# You can create conference with wideband quility (Codec G.722, Speex, 16kHz, etc.) (by default created pool with number/login - from 3100 to 3105 )
- name: wb_conferences
begin: 3100
end: 3105
ultrawideband:
# You can create conference with wideband quility (Codec G.722, Speex, 32 kHz, etc.) (by default created pool with number/login - from 3200 to 3205 )
- name: uwb_conferences
begin: 3200
end: 3205
mono_cd_quility:
# You can create conference with wideband quility (Codec G.722, Speex, 48 kHz, mono sound, etc.) (by default created pool with number/login - from 3300 to 3305 )
- name: cdquality_conferences
begin: 3300
end: 3305
stereo_cd_quility:
# You can create conference with wideband quility (Codec G.722, Speex, 48 kHz, stereo sound, etc.) (by default created pool with number/login - from 3500 to 3505 )
- name: cdquality_stereo_conferences
begin: 3500
end: 3505
- hosts: all
become: yes
roles:
- freeradius
MIT
- Download and install VirtualBox;
- Download and install Vagrant;
- [Mac/Linux only] Install Ansible;
- Install ansible-galaxy community.docker community.docker.
- Download this project and put it wherever you want;
- Open Terminal, cd to this directory;
- Check variables in directory
tests/vagrant.yml
; - Add DOCKER_USER, DOCKER_PASS, DOCKER_MAIL in environment. It's env's from your account in dockehub;
- Type in
vagrant up
.
example of meta/main.yml
galaxy_info:
author: Sergey Kurbatov
description: Ansible Role Infra
license: MIT
min_ansible_version: 2.4
platforms:
- name: Ubuntu
versions:
- all
dependencies:
- src: 'git+ssh://[email protected]:skurbatov/freeswitch.git'
vars:
sip_users:
- name: Hulio Eg
phone: 7666
password: 1234
sip_user_groups:
begin: 7000
end: 7200
sip_conf_room:
wideband:
- name: megaconf
begin: 3600
end: 3605
1200-1299,7009 - Extension for registration
2000-2002 - Sample dial groups
3000-3005 - Narrowband conferences (8kHz)
3100-3105 - Wideband conferences (16kHz)
3200-3205 - Ultra-wideband conferences (32kHz)
3300-3305 - CD-quality conferences with mono sound (48kHz)
3500-3505 - CD-quality conferences with stereo sound (48kHz)
4000 - Voicemail retrieval
5000 - Sample IVR
5900 - Call park
5901 - Call park retrieval
9888 - FreeSWITCH conference
9992 - Information application # TODO
9996 - Echo test # TODO
9999 - Music on hold # TODO
This project was created by Sergey Kurbatov.