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
#!/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 |