小規模宿泊施設用内線専用PBX構築

掲載日: / 更新日:
小規模宿泊施設用内線専用PBX構築

宿泊施設用にIP-PBXを構築した覚書(未FIXの仮版)

システム要件は

  • 内線専用(外線は不要)
  • フロントとお帳場等同時呼び出し
  • 各客室内線
  • 従業員用内線

Ubuntu/Lubuntu 18.04 + Asterisk 16 で構築

最初にとりあえず、システムを最新状態にしておく。

必要なライブラリーを入れる。

sudo apt -y install libedit-dev libnewt-dev libssl-dev libncurses5-dev subversion libsqlite3-dev build-essential libjansson-dev libxml2-dev uuid-dev

Asteriskのソースを入手

# cd /usr/src
# wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz
# tar zxvf asterisk-16-current.tar.gz
# cd asterisk-16.5.1

 

Asteriskのコンパイルとインストール

# sudo ./configure --with-jansson-bundled
# sudo make menuselect
# sudo make
# sudo make install
# sudo make samples
# sudo make basic-pbx
# sudo make config
# sudo make install-logrotate

「sudo make menuselect」の際にコンソールサイズが80×27以上ないと選択画面が表示されません。

Core Sound PackagesでCORE_SOUND-JA-GSM

q->sでsaveして抜けます

Asterisk設定ファイルの修正

 

  • /etc/asterisk/sip.conf
[general]
maxexpirey=3600
defaultexpirey=3600
context=default
;SIPポートは5060
bindport=5060
bindaddr=0.0.0.0
srvlookup=yes
allowguest=no
disallow=all
allow=ulaw
allow=alaw
allow=gsm
language=ja

;電話機用テンプレート(共通設定)
[phone](!)
type=friend
canreinvite=no
host=dynamic
dtmfmode=rfc2833
callgroup=1
pickupgroup=1
disallow=all
allow=ulaw

;ACL
;安全措置のため192.168系以外は受け付けない
;他のネットワークを使用している場合にはここを変更すること
deny=0.0.0.0/0
permit=192.168.0.0/255.255.0.0

;各電話機毎の設定
;以下各番号ごとにパスワード設定
[201](phone)
username=201
secret=pass

[202](phone)
username=202
secret=pass

[203](phone)
username=203
secret=pass

[205](phone)
username=205
secret=pass

[206](phone)
username=206
secret=pass

[207](phone)
username=207
secret=pass

[208](phone)
username=208
secret=pass

[210](phone)
username=210
secret=pass

;以下、省略....実際にはそれどれの番号で設定が必要

 

  • /etc/asterisk/extensions.conf
[general]
writeprotect=no
priorityjumping=no

[globals]
GROUP1=SIP/270&SIP/271&SIP/272&SIP/273&SIP/275
GROUP2=SIP/281&SIP/282&SIP/283&SIP/285&SIP/286&SIP/287&SIP/288
GROUP3=SIP/201&SIP/202&SIP/203&SIP/205&SIP/206&SIP/207&SIP/208&SIP/210&
       SIP/211&SIP/212&SIP/213&SIP/215&SIP/216&SIP/217&SIP/218&SIP/220&
       SIP/221&SIP/222&SIP/223&SIP/225&SIP/226&SIP/227&SIP/228&SIP/230
;自局の着信番号を設定する
;[incoming]セクションを参照

[default]
;200番をフロントに割り当て,270/271/272/273/275をCall
;グループ着信
exten => 200,1,NoOp(フロント着信)
exten => 200,n,Dial(${GROUP1},60)
exten => 200,n,Hangup

;280番を従業員用に割り当て,281/282/283/285/286/288をCall
;グループ着信
exten => 280,1,NoOp(従業員着信)
exten => 280,n,Dial(${GROUP2},60)
exten => 280,n,Hangup

;内線呼び出し
exten => _2ZZ,1,NoOp(内線呼出)
exten => _2ZZ,n,Dial(SIP/${EXTEN},60)
exten => _2ZZ,n,Hangup

この記述はこんな感じというだけで、実際に動作確認したのは別に記述しています。

まぁ、ここは、内線だけなら、この程度という参考

Asteriskをユーザモードで動作させる

この設定をしなくても、問題なく動作します。

しかし、ほぼメンテ無しで長時間動作させる為、セキュリティを配慮してユーザモードで動作させるようにします。

sudo groupadd asterisk
sudo useradd -r -d /var/lib/asterisk -g asterisk asterisk
sudo usermod -aG audio,dialout asterisk
sudo chown -R asterisk.asterisk /etc/asterisk
sudo chown -R asterisk.asterisk /var/{lib,log,spool}/asterisk
sudo chown -R asterisk.asterisk /usr/lib/asterisk

グループ、ユーザを作って、所有者などを変更と

# sudo vi /etc/default/asterisk
AST_USER="asterisk"
AST_GROUP="asterisk"

コメントアウトされているので頭の「#」を消す。

# sudo vi /etc/asterisk/asterisk.conf
runuser = asterisk
rungroup = asterisk

コメントアウトされているので頭の「;」を消す。

 

Asteriskのサービスをスタート

# sudo systemctl restart asterisk
# sudo systemctl enable asterisk

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA