forked from SimplesIP/pabx-app
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
96 lines
2.3 KiB
96 lines
2.3 KiB
2 years ago
|
#!/bin/bash
|
||
|
PROGNAME=$(basename $0)
|
||
|
|
||
|
if test -z ${ASTERISK_VERSION}; then
|
||
|
echo "${PROGNAME}: ASTERISK_VERSION required" >&2
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
set -ex
|
||
|
|
||
|
useradd --system asterisk
|
||
|
|
||
|
yum -y install \
|
||
|
cpp \
|
||
|
gcc \
|
||
|
gcc-c++ \
|
||
|
make \
|
||
|
ncurses \
|
||
|
ncurses-devel \
|
||
|
libxml2 \
|
||
|
libxml2-devel \
|
||
|
openssl-devel \
|
||
|
newt-devel \
|
||
|
libuuid-devel \
|
||
|
net-snmp-devel \
|
||
|
xinetd \
|
||
|
tar \
|
||
|
libffi-devel \
|
||
|
sqlite-devel \
|
||
|
curl \
|
||
|
bison
|
||
|
|
||
|
mkdir -p /usr/src/asterisk \
|
||
|
/usr/src/asterisk/addons
|
||
|
|
||
|
cd /usr/src/asterisk/addons
|
||
|
curl -vsL http://downloads.asterisk.org/pub/telephony/asterisk/old-releases/asterisk-addons-${ASTERISK_ADDONS_VERSION}.tar.gz | tar --strip-components 1 -xz
|
||
|
|
||
|
cd /usr/src/asterisk
|
||
|
curl -vsL http://downloads.asterisk.org/pub/telephony/asterisk/old-releases/asterisk-${ASTERISK_VERSION}.tar.gz | tar --strip-components 1 -xz
|
||
|
|
||
|
# 1.5 jobs per core works out okay
|
||
|
: ${JOBS:=$(( $(nproc) + $(nproc) / 2 ))}
|
||
|
|
||
|
mkdir -p /etc/asterisk/ \
|
||
|
/var/spool/asterisk/fax
|
||
|
|
||
|
./configure --libdir=/usr/lib64
|
||
|
make menuselect/menuselect menuselect-tree menuselect.makeopts
|
||
|
|
||
|
# we don't need any sounds in docker, they will be mounted as volume
|
||
|
menuselect/menuselect --disable-category MENUSELECT_CORE_SOUNDS menuselect.makeopts
|
||
|
menuselect/menuselect --disable-category MENUSELECT_MOH menuselect.makeopts
|
||
|
menuselect/menuselect --disable-category MENUSELECT_EXTRA_SOUNDS menuselect.makeopts
|
||
|
|
||
|
make -j ${JOBS} all
|
||
|
make install
|
||
|
|
||
|
# copy default configs
|
||
|
# cp /usr/src/asterisk/configs/basic-pbx/*.conf /etc/asterisk/
|
||
|
make samples
|
||
|
make dist-clean
|
||
|
|
||
|
# set runuser and rungroup
|
||
|
sed -i -E 's/^;(run)(user|group)/\1\2/' /etc/asterisk/asterisk.conf
|
||
|
sed -i -e 's/# MAXFILES=/MAXFILES=/' /usr/sbin/safe_asterisk
|
||
|
|
||
|
cd /usr/src/asterisk/addons
|
||
|
|
||
|
./configure --libdir=/usr/lib64
|
||
|
make menuselect/menuselect menuselect-tree menuselect.makeopts
|
||
|
|
||
|
# disable saycountpl
|
||
|
menuselect/menuselect --disable app_saycountpl
|
||
|
|
||
|
# enable ooh323
|
||
|
menuselect/menuselect --enable chan_ooh323 menuselect.makeopts
|
||
|
|
||
|
make -j ${JOBS} all
|
||
|
make install
|
||
|
make samples
|
||
|
|
||
|
chown -R asterisk:asterisk /etc/asterisk \
|
||
|
/var/*/asterisk \
|
||
|
/usr/*/asterisk \
|
||
|
/usr/lib64/asterisk
|
||
|
chmod -R 750 /var/spool/asterisk
|
||
|
|
||
|
cd /
|
||
|
rm -rf /usr/src/asterisk \
|
||
|
/usr/src/codecs
|
||
|
|
||
|
yum -y clean all
|
||
|
rm -rf /var/cache/yum/*
|
||
|
|
||
|
exec rm -f /build-asterisk.sh
|