-
Notifications
You must be signed in to change notification settings - Fork 25
/
Copy pathinstall_asterisk
executable file
·57 lines (44 loc) · 1.58 KB
/
install_asterisk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#!/bin/bash
set -e
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root"
exit 1
fi
echo "Install asterisk"
INSTALL_DIR=$(pwd)
BUILD_DIR=$INSTALL_DIR/tmp
mkdir -p "$BUILD_DIR"
add-apt-repository universe
apt-get update
apt-get install -y git curl wget libnewt-dev libssl-dev libncurses5-dev subversion libsqlite3-dev build-essential libjansson-dev libxml2-dev uuid-dev subversion debconf-utils libedit-dev
apt-get install -y libopencore-amrnb-dev libopencore-amrwb-dev libvo-amrwbenc-dev
cd "$BUILD_DIR"
# build plugins
git clone https://github.com/asterisk/asterisk asterisk
cd asterisk
git switch 16.17
# AMR support
git apply "$INSTALL_DIR"/src/asterisk/amr.patch
# always recall
git apply "$INSTALL_DIR"/src/asterisk/recall.patch
# loop mp3
git apply "$INSTALL_DIR"/src/asterisk/app_mp3.patch
contrib/scripts/get_mp3_source.sh
sed -i 's/apt-get install aptitude/apt-get install -y aptitude/' contrib/scripts/install_prereq
echo 'libvpb1 libvpb1/countrycode string 61' | debconf-set-selections -v
sudo contrib/scripts/install_prereq install
./bootstrap.sh
./configure --enable-dev-mode
make menuselect.makeopts
menuselect/menuselect --enable TEST_FRAMEWORK
make
cp ./codecs/codec_amr.so "$INSTALL_DIR"/res
cp ./res/res_format_attr_amr.so "$INSTALL_DIR"/res
cp ./pbx/pbx_spool.so "$INSTALL_DIR"/res
cp ./apps/app_mp3.so "$INSTALL_DIR"/res
apt-get install -y asterisk lame mpg123
# resources
cp "$INSTALL_DIR"/res/*.gsm /usr/share/asterisk/sounds/en_US_f_Allison/
# asterisk libs for amr support
cp "$INSTALL_DIR"/res/*.so /usr/lib/asterisk/modules/
echo "Install asterisk ended"