2021-08-04 02:42:55 +00:00
|
|
|
# 2021-08-03: Asterisk's own install_prereq (below) handles these?
|
2021-08-03 21:09:58 +00:00
|
|
|
#- name: Asterisk - Install dependencies
|
|
|
|
# include: asterisk_dependencies.yml
|
2019-01-17 06:47:59 +00:00
|
|
|
|
2021-08-04 13:49:54 +00:00
|
|
|
- name: Asterisk - Download {{ asterisk_url }}/{{ asterisk_src_file }} to {{ downloads_dir }}
|
2019-01-17 06:47:59 +00:00
|
|
|
get_url:
|
|
|
|
url: "{{ asterisk_url }}/{{ asterisk_src_file }}"
|
2021-08-04 13:49:54 +00:00
|
|
|
dest: "{{ downloads_dir }}" # e.g. /opt/iiab/downloads/asterisk-18-current.tar.gz
|
2019-01-17 06:47:59 +00:00
|
|
|
timeout: "{{ download_timeout }}"
|
2020-10-16 20:46:19 +00:00
|
|
|
when: internet_available
|
2019-01-17 06:47:59 +00:00
|
|
|
|
2021-08-04 09:51:11 +00:00
|
|
|
- name: Asterisk - Check for {{ downloads_dir }}/{{ asterisk_src_file }}
|
2019-01-17 06:47:59 +00:00
|
|
|
stat:
|
|
|
|
path: "{{ downloads_dir }}/{{ asterisk_src_file }}"
|
|
|
|
register: asterisk_src
|
|
|
|
|
2021-08-04 09:51:11 +00:00
|
|
|
- name: Asterisk - FAIL (force Ansible to exit) IF {{ downloads_dir }}/{{ asterisk_src_file }} doesn't exist
|
2019-01-17 06:47:59 +00:00
|
|
|
fail:
|
2021-08-04 13:49:54 +00:00
|
|
|
msg: "{{ downloads_dir }}/{{ asterisk_src_file }} is REQUIRED to install Asterisk."
|
2019-01-17 06:47:59 +00:00
|
|
|
when: not asterisk_src.stat.exists
|
|
|
|
|
2021-08-04 14:52:31 +00:00
|
|
|
- name: Asterisk - Create source dir {{ asterisk_src_dir }}
|
2021-08-03 15:51:51 +00:00
|
|
|
file:
|
2021-08-04 09:51:11 +00:00
|
|
|
path: "{{ asterisk_src_dir }}" # /opt/iiab/asterisk
|
2019-01-17 06:47:59 +00:00
|
|
|
state: directory
|
|
|
|
|
2021-08-04 14:52:31 +00:00
|
|
|
- name: Asterisk - Extract to source dir (root:root)
|
2021-08-03 15:51:51 +00:00
|
|
|
unarchive:
|
2019-01-17 06:47:59 +00:00
|
|
|
src: "{{ downloads_dir }}/{{ asterisk_src_file }}"
|
|
|
|
dest: "{{ asterisk_src_dir }}"
|
|
|
|
owner: root
|
|
|
|
group: root
|
2019-01-17 08:34:29 +00:00
|
|
|
extra_opts: [--strip-components=1]
|
2019-01-18 16:53:42 +00:00
|
|
|
creates: "{{ asterisk_src_dir }}/Makefile"
|
2019-01-17 06:47:59 +00:00
|
|
|
|
2021-08-04 13:49:54 +00:00
|
|
|
|
2021-08-03 21:09:58 +00:00
|
|
|
# 2021-08-03: Asterisk's install_prereq script (stanza just below) installs
|
|
|
|
# 'aptitude' regardless, within handle_debian() here:
|
|
|
|
# https://github.com/asterisk/asterisk/blob/master/contrib/scripts/install_prereq#L262-L271
|
|
|
|
#
|
2021-08-03 18:30:13 +00:00
|
|
|
#- name: Asterisk - Install aptitude (otherwise install_prereq fails?)
|
|
|
|
# package:
|
|
|
|
# name: aptitude
|
|
|
|
# state: latest
|
2019-01-17 09:04:40 +00:00
|
|
|
|
2021-08-04 09:51:11 +00:00
|
|
|
- name: Asterisk - Run 'install_prereq install' for dependencies - CAN TAKE 5 MIN OR LONGER!
|
2021-08-03 15:51:51 +00:00
|
|
|
shell: export DEBIAN_FRONTEND=noninteractive && ./contrib/scripts/install_prereq install
|
2019-01-17 06:47:59 +00:00
|
|
|
args:
|
2019-01-17 08:27:14 +00:00
|
|
|
chdir: "{{ asterisk_src_dir }}"
|
2019-01-17 06:47:59 +00:00
|
|
|
|
2021-08-03 21:09:58 +00:00
|
|
|
# 2021-08-03: Requires subversion (installed just above)
|
|
|
|
- name: Asterisk - Download mp3 decoder library into source tree
|
|
|
|
command: ./contrib/scripts/get_mp3_source.sh
|
|
|
|
args:
|
|
|
|
chdir: "{{ asterisk_src_dir }}"
|
|
|
|
creates: addons/mp3/mpg123.h
|
|
|
|
|
2019-01-17 06:47:59 +00:00
|
|
|
- name: Asterisk - Run the configure script
|
2021-08-03 15:51:51 +00:00
|
|
|
command: ./configure --with-jansson-bundled
|
2019-01-17 06:47:59 +00:00
|
|
|
args:
|
2019-01-18 16:53:42 +00:00
|
|
|
chdir: "{{ asterisk_src_dir }}"
|
2019-01-17 06:47:59 +00:00
|
|
|
|
2021-08-04 09:51:11 +00:00
|
|
|
- name: Asterisk - Run 'make menuselect.makeopts'
|
2021-08-03 15:51:51 +00:00
|
|
|
command: make menuselect.makeopts
|
2019-01-17 06:47:59 +00:00
|
|
|
args:
|
2019-01-17 08:27:14 +00:00
|
|
|
chdir: "{{ asterisk_src_dir }}"
|
2021-08-03 15:51:51 +00:00
|
|
|
creates: menuselect.makeopts
|
2019-01-17 06:47:59 +00:00
|
|
|
|
|
|
|
- name: Asterisk - Do a bit of menuselect configuration
|
|
|
|
command: >
|
|
|
|
menuselect/menuselect --enable app_macro --enable format_mp3
|
|
|
|
--enable CORE-SOUNDS-EN-WAV --enable CORE-SOUNDS-EN-G722
|
|
|
|
--enable EXTRA-SOUNDS-EN-WAV --enable EXTRA-SOUNDS-EN-G722 --enable EXTRA-SOUNDS-EN-GSM
|
2021-08-03 15:51:51 +00:00
|
|
|
--disable-category MENUSELECT_MOH
|
2019-01-17 06:47:59 +00:00
|
|
|
args:
|
2019-01-17 08:27:14 +00:00
|
|
|
chdir: "{{ asterisk_src_dir }}"
|
2019-01-17 06:47:59 +00:00
|
|
|
|
2019-02-11 19:46:08 +00:00
|
|
|
- name: Asterisk - Run 'make' - CAN TAKE 30 MIN OR LONGER!
|
2021-08-03 15:51:51 +00:00
|
|
|
command: make
|
2019-01-17 06:47:59 +00:00
|
|
|
args:
|
2019-01-17 08:27:14 +00:00
|
|
|
chdir: "{{ asterisk_src_dir }}"
|
2021-08-03 15:51:51 +00:00
|
|
|
creates: defaults.h
|
2019-01-17 06:47:59 +00:00
|
|
|
|
2019-02-11 19:46:08 +00:00
|
|
|
- name: Asterisk - Run 'make install' - CAN TAKE 2 MIN OR LONGER!
|
2019-01-17 06:47:59 +00:00
|
|
|
command: make install
|
|
|
|
args:
|
2019-01-17 08:27:14 +00:00
|
|
|
chdir: "{{ asterisk_src_dir }}"
|
2021-08-03 15:51:51 +00:00
|
|
|
creates: /usr/sbin/asterisk
|
2019-01-17 06:47:59 +00:00
|
|
|
|
2019-02-09 19:42:27 +00:00
|
|
|
- name: Asterisk - Run 'make config'
|
2019-01-20 06:22:12 +00:00
|
|
|
command: make config
|
|
|
|
args:
|
|
|
|
chdir: "{{ asterisk_src_dir }}"
|
|
|
|
|
2019-02-09 19:42:27 +00:00
|
|
|
- name: Asterisk - Run 'make samples'
|
2019-01-19 08:12:15 +00:00
|
|
|
command: make samples
|
|
|
|
args:
|
|
|
|
chdir: "{{ asterisk_src_dir }}"
|
2019-01-19 13:37:24 +00:00
|
|
|
|
2019-02-09 19:42:27 +00:00
|
|
|
- name: Asterisk - Run 'ldconfig'
|
2019-01-19 13:47:57 +00:00
|
|
|
shell: ldconfig
|
2019-01-17 06:47:59 +00:00
|
|
|
args:
|
2019-01-17 08:27:14 +00:00
|
|
|
chdir: "{{ asterisk_src_dir }}"
|
2019-01-17 06:47:59 +00:00
|
|
|
|
2021-08-04 13:49:54 +00:00
|
|
|
|
2019-02-09 19:54:22 +00:00
|
|
|
- name: Asterisk - Ensure group 'asterisk' exists
|
2019-01-17 09:33:41 +00:00
|
|
|
group:
|
|
|
|
name: asterisk
|
|
|
|
state: present
|
|
|
|
|
2021-08-04 09:51:11 +00:00
|
|
|
- name: "Asterisk - Ensure user 'asterisk' exists, and belongs to groups: audio,dialout"
|
2019-01-17 09:33:41 +00:00
|
|
|
user:
|
|
|
|
name: asterisk
|
|
|
|
group: asterisk
|
|
|
|
groups: audio,dialout
|
2021-08-03 15:51:51 +00:00
|
|
|
home: /var/lib/asterisk
|
2019-01-17 09:33:41 +00:00
|
|
|
system: yes
|
|
|
|
append: yes
|
|
|
|
|
2021-08-04 09:51:11 +00:00
|
|
|
- name: "Asterisk - Set ownership (asterisk:asterisk) for 5 directories: /etc/asterisk, /var/lib/asterisk, /var/log/asterisk, /var/spool/asterisk, /usr/lib/asterisk"
|
2021-08-03 15:51:51 +00:00
|
|
|
file:
|
|
|
|
dest: "{{ item }}"
|
|
|
|
owner: asterisk
|
2019-01-17 09:33:41 +00:00
|
|
|
group: asterisk
|
|
|
|
recurse: yes
|
2019-01-17 06:47:59 +00:00
|
|
|
with_items:
|
2019-01-17 09:33:41 +00:00
|
|
|
- /etc/asterisk
|
|
|
|
- /var/lib/asterisk
|
|
|
|
- /var/log/asterisk
|
|
|
|
- /var/spool/asterisk
|
|
|
|
- /usr/lib/asterisk
|
2019-01-17 06:47:59 +00:00
|
|
|
|
2019-02-09 19:54:22 +00:00
|
|
|
- name: Asterisk - Set default user to 'asterisk' in /etc/default/asterisk
|
2019-01-17 06:47:59 +00:00
|
|
|
lineinfile:
|
2019-01-18 08:09:29 +00:00
|
|
|
path: /etc/default/asterisk
|
|
|
|
regexp: 'AST_USER='
|
|
|
|
line: 'AST_USER="asterisk"'
|
2019-01-17 06:47:59 +00:00
|
|
|
|
2019-02-09 19:54:22 +00:00
|
|
|
- name: Asterisk - Set default group to 'asterisk' in /etc/default/asterisk
|
2019-01-17 06:47:59 +00:00
|
|
|
lineinfile:
|
2019-01-18 08:09:29 +00:00
|
|
|
path: /etc/default/asterisk
|
|
|
|
regexp: 'AST_GROUP='
|
|
|
|
line: 'AST_GROUP="asterisk"'
|
2019-01-17 06:47:59 +00:00
|
|
|
|
2019-02-09 19:54:22 +00:00
|
|
|
- name: Asterisk - Set default user to 'asterisk' in /etc/asterisk/asterisk.conf
|
2019-01-17 06:47:59 +00:00
|
|
|
lineinfile:
|
2019-01-18 08:09:29 +00:00
|
|
|
path: /etc/asterisk/asterisk.conf
|
|
|
|
regexp: 'runuser ='
|
|
|
|
line: 'runuser = asterisk'
|
2019-01-17 06:47:59 +00:00
|
|
|
|
2019-02-09 19:54:22 +00:00
|
|
|
- name: Asterisk - Set default group to 'asterisk' in /etc/asterisk/asterisk.conf
|
2019-01-17 06:47:59 +00:00
|
|
|
lineinfile:
|
2019-01-18 08:09:29 +00:00
|
|
|
path: /etc/asterisk/asterisk.conf
|
|
|
|
regexp: 'rungroup ='
|
|
|
|
line: 'rungroup = asterisk'
|