ubuntu 24.04 に Asterisk22 と FreePBX17 をインストールする手順
sudo apt update
sudo apt dist-upgrade -y
sudo apt install -y sox wget build-essential subversion ubuntu-drivers-common
cd /usr/src/
sudo wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-22-current.tar.gz
sudo tar zxf asterisk-22-current.tar.gz
cd asterisk-22.*/
sudo contrib/scripts/get_mp3_source.sh
sudo contrib/scripts/install_prereq install
sudo ./configure
menuselect/menuselect --enable chan_mobile --enable chan_ooh323
menuselect/menuselect --enable CORE-SOUNDS-JA-WAV --enable CORE-SOUNDS-JA-ULAW --enable CORE-SOUNDS-JA-ALAW --enable CORE-SOUNDS-JA-GSM --enable CORE-SOUNDS-JA-G729 --enable CORE-SOUNDS-JA-G722 --enable CORE-SOUNDS-JA-SLN16 --enable CORE-SOUNDS-JA-SIREN7 --enable CORE-SOUNDS-JA-SIREN14
menuselect/menuselect --enable MOH-OPSOUND-WAV --enable MOH-OPSOUND-ULAW --enable MOH-OPSOUND-ALAW --enable MOH-OPSOUND-GSM
menuselect/menuselect --enable EXTRA-SOUNDS-EN-WAV --enable EXTRA-SOUNDS-EN-ULAW --enable EXTRA-SOUNDS-EN-ALAW --enable EXTRA-SOUNDS-EN-GSM --enable EXTRA-SOUNDS-EN-G729 --enable EXTRA-SOUNDS-EN-G722 --enable EXTRA-SOUNDS-EN-SLN16 --enable EXTRA-SOUNDS-EN-SIREN7 --enable EXTRA-SOUNDS-EN-SIREN14
sudo make -j2
sudo make install
sudo make samples
sudo make basic-pbx
sudo make config
sudo ldconfig
sudo addgroup --quiet --system asterisk
sudo adduser --quiet --system --ingroup asterisk --no-create-home --disabled-password asterisk
sudo sed -i -e 's/#AST_USER=/AST_USER=/' /etc/default/asterisk
sudo sed -i -e 's/#AST_GROUP=/AST_GROUP=/' /etc/default/asterisk
sudo usermod -a -G dialout,audio asterisk
sudo chown -R asterisk: /var/{lib,log,run,spool}/asterisk /usr/lib/asterisk /etc/asterisk
sudo chmod -R 750 /var/{lib,log,run,spool}/asterisk /usr/lib/asterisk /etc/asterisk
sudo systemctl enable asterisk
sudo systemctl restart asterisk
sudo apt update
sudo apt install -y apache2
sudo systemctl enable apache2
sudo systemctl restart apache2
sudo apt update
sudo apt install -y mariadb-server
sudo systemctl enable mariadb
sudo systemctl restart mariadb
cat <<EOF > createasteriskdb.sql
CREATE DATABASE asterisk;
CREATE DATABASE asteriskcdrdb;
CREATE USER 'DBユーザー名'@'localhost' IDENTIFIED BY 'DBユーザーパスワード';
GRANT ALL PRIVILEGES ON asterisk.* TO 'DBユーザー名'@'localhost';
GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO 'DBユーザー名'@'localhost';
FLUSH PRIVILEGES;
EOF
mysql -u root -p < createasteriskdb.sql
sudo apt install -y php libapache2-mod-php php-intl php-mysql php-curl php-cli php-zip php-xml php-gd php-common php-mbstring php-xmlrpc php-bcmath php-json php-sqlite3 php-soap php-zip php-ldap php-imap php-cas curl dirmngr apt-transport-https lsb-release ca-certificates gcc g++ make nodejs
curl -sL https://deb.nodesource.com/setup_22.x | sudo bash
sudo apt-get install -y gcc g++ make
sudo apt install -y nodejs
cd /tmp
wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-17.0-latest.tgz
tar xfz freepbx-17.0-latest.tgz
cd freepbx
sudo cp /etc/asterisk/asterisk.conf.old /etc/asterisk/asterisk.conf
sudo mkhomedir_helper asterisk
sudo ./start_asterisk start
sudo ./install -n --dbuser DBユーザー名 --dbpass DBユーザーパスワード
sudo sed 's/APACHE_RUN_USER=www-data/APACHE_RUN_USER=asterisk'
sudo sed 's/APACHE_RUN_GROUP=www-data/APACHE_RUN_GROUP=asterisk'
cat <<EOF > insert_envvars.txt
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
EOF
sudo sed '<\/VirtualHost>/i cat insert_envvars,txt' /etc/apache2/envvars
sudo sudo a2enmod rewrite
sudo usermod -aG www-data asterisk
sudo systemctl restart apache2
sudo fwconsole ma downloadinstall arimanager
sudo fwconsole ma downloadinstall pm2
sudo fwconsole chown
あとは、http://アドレス/admin にアクセス
モジュールのエラー出たら、
sudo fwconsole ma downloadinstall モジュール名
Virtualmin との両立
やりようはあるだろうけど、今のとこうまくいかず。Virtualhost を使えばよさそうなんですが。
力尽きてしまいました。
YAMAHA RTXの後ろにひかり電話直収
NTT西日本のひかり電話直接収容は成功してます。
ポート番号は 5060 を使うんですが 0.0.0.0-udp とかち合うので注意が必要です。
PJSIP 標準のポート番号を 5060 から変えていれば問題ないですが、そのままだと
ひかり電話用の 5060 とぶつかって from-internal からの着信を受けません。(Trunk 等)
ぶっちゃげダミーで 5060 変更しといてもひかり電話用の pjsip.transports_custom.conf に 5060 あれば 5060 で受けちゃうんで、5060 から変更しても 5060 使えるんですけどね。124.200.201.202:5060 とかしても 10.0.0.100 とかの 5060 でうけれるんですよね。複数 IP には対応しない(All は OK)仕様のようなんですけど釈然としません。僕的にはバグかなぁ。aor でブロックはできるんですが。 まとめて近いうちに別に書いときます。RTX の後ろに置くのは試験中です。
少々お待ちを。