Skip to content

ansible role for building a Freeswitch to use with drachtio-fsmrf

License

Notifications You must be signed in to change notification settings

shahzaib49/ansible-role-fsmrf

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ansible-role-fsmrf Build Status

This is an ansible role for building a Freeswitch v1.10.5 that is configured to work with the drachtio-fsmrf module. The mod_audio_fork module is built and installed as part of this role.

Additionally, by setting the build_with_extra variable to true, these additional modules will be built and included:

Freeswitch modules

Because this is designed for use as a media server via drachtio-fsmrf, a very limited list of modules are built and installed:

  <load module="mod_console"/>
  <load module="mod_audio_fork"/>
  <load module="mod_logfile"/>
  <load module="mod_cdr_csv"/>
  <load module="mod_event_socket"/>
  <load module="mod_sofia"/>
  <load module="mod_rtc"/>
  <load module="mod_commands"/>
  <load module="mod_conference"/>
  <load module="mod_dptools"/>
  <load module="mod_dialplan_xml"/>
  <load module="mod_httapi"/>
  <load module="mod_spandsp"/>
  <load module="mod_g723_1"/>
  <load module="mod_g729"/>
  <load module="mod_amr"/>
  <load module="mod_opus"/>
  <load module="mod_sndfile"/>
  <load module="mod_native_file"/>
  <load module="mod_local_stream"/>
  <load module="mod_tone_stream"/>
  <load module="mod_say_en"/>

Role variables

Available variables are listed below, along with default values (see defaults/main.yml):

build_with_extra: false

set to true if you want to build with the google grpc library and then build related google modules as described above

grpc_version: v1.20.0

The version of grpc to build

freeswitch_sources_path: /usr/local/src/freeswitch/

path to the FreeSwitch source directory

freeswitch_path: /usr/local/freeswitch/

path to the FreeSwitch install directory

freeswitch_secret: ClueCon 

freeswitch secret

freeswitch_sip_port: 5080
freeswitch_dtls_sip_port: 5081

sip ports to listen on

freeswitch_socket_acl:
  - 127.0.0.1/32

add any addresses (in cidr format) that should be allowed to connect to event socket

freeswitch_modules_template: ../templates/modules.conf 

modules.conf file used for FreeSwitch compilation

freeswitch_configure_command: configure --with-lws=yes

freeswitch configure command - you can add option

freeswitch_log_conf_template: ../templates/logfile.conf.xml

freeswitch log configuration file template

Example playbook

---
- hosts: all
  become: yes
  vars_prompt:
    - name: "build_with_extra"
      prompt: "Include the grpc modules (mod_google_transcribe, mod_google_tts, mod_dialogflow)?"
      private: no
      default: false
  roles:
    - ansible-role-fsmrf

About

ansible role for building a Freeswitch to use with drachtio-fsmrf

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • M4 93.5%
  • Jinja 5.9%
  • Shell 0.6%