プログラミングで飯を食え。腕をあげたきゃ備忘録!

PHP、JavaScript、HTML5、CSS3などWEB系言語を中心に基本テク、備忘録をまとめます。Android、Iphoneアプリ開発についても!

CentOS7にAstriskのインストールから内線構築まで。


<Astriskのインストール>
 [Aasteriskのdependenciesをインストール]
 yum install -y make wget openssl-devel ncurses-devel newt-devel libxml2-devel kernel-devel gcc gcc-c++ sqlite-devel libuuid-devel
 
 
 [tarファイルをダウンロード]
  cd /usr/src/
  wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
  wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4-current.tar.gz
  wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13.1.0.tar.gz
 
 [tarファイルを解凍(指定するtarファイル名は適宜)]
  tar zxvf dahdi-linux-complete*
  tar zxvf libpri*
  tar zxvf asterisk*
  
 [DAHDIをインストール]
  cd /usr/src/dahdi-linux-complete*

       rpm -ivh ftp://195.220.108.108/linux/centos/7.0.1406/os/x86_64/Packages/kernel-3.10.0-123.el7.x86_64.rpm

  make && make install && make config
  
 [libpriをインストール]
  cd /usr/src/libpri*
  make && make install
  
 [JSONライブラリのインストール]
  yum list | grep json
  ↑↑↑ これでパッケージを探して
  たぶん↓のようなものが出てくる
  json-glib.i686
  json-glib-devel.i686
  json-glib-devel.x86_64
  これをインストール。
  
  yum -y install json-glib.i686
  yum -y install json-glib-devel.i686
  yum -y install json-glib-devel.x86_64
  
 [janssonのインストール]
  http://www.digip.org/jansson/
  ↑↑↑ ここの「Releases」のところでtar.gzのダウンロードURLを調べて、
  
  cd /usr/src/
  wget http://www.digip.org/jansson/releases/jansson-2.7.tar.gz
  tar zxvf jansson-2.7.tar.gz
  cd jansson-2.7
  ./configure
  make
  make install
  
 [Asteriskのディレクトリへ移動]
  cd /usr/src/asterisk*
  
 [Asteriskをインストール]
  ./configure --libdir=/usr/lib64 && make menuselect && make && make install
  make config
  make samples
  
 [DAHDI起動]
  service dahdi start
  
 [Asterisk起動]
  service asterisk start
  
 [AsteriskCLI(CUIみたいなもの)に接続するには]
  asterisk -vcr
  
 [内線を作るための/etc/asterisk/sip.confの超基本設定]
  [general]
  context=default
  port=5060
  bindaddr=0.0.0.0
  srvlookup=yes
  disallow=all
  allow=ulaw
  allow=alaw
  allow=gsm
  localnet=192.168.100.0/255.255.255.0
  language=ja
  
  [2001]
  type=friend
  defaultuser=2001
  secret=20011043
  canreinvite=no
  host=dynamic
  
  [2002]
  type=friend
  defaultuser=2002
  secret=20021043
  canreinvite=no
  host=dynamic
  
  [2003]
  type=friend
  defaultuser=2003
  secret=20031043
  canreinvite=no
  host=dynamic
  
 [内線を作るための/etc/asterisk/extensions.confの超基本設定]
  [default]
  exten => _200X,1,Dial(SIP/${EXTEN},30,r)
  exten => _200X,2,Hangup()
  
 [iptables(ファイアーウォール)でポートを開く]
  cd /etc/sysconfig/
  vi iptables
  -------------------------------------------------------------------
  -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
  -A INPUT -p tcp -m state --state NEW -m tcp --dport 5060 -j ACCEPT
  -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
  -A INPUT -p tcp -m state --state NEW -m tcp --dport 25 -j ACCEPT
  -A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
  -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
  -------------------------------------------------------------------
  このようにポートを解放して、iptables再起動。
  systemctl restart iptables.service
  systemctl enable iptables.service
  
  ※ ちなみに、iptablesの機能を全停止するには
    iptables -F


 [Asterisk再起動]

  service asterisk restart


 [Asteriskの状況を確認する]
  ● コンソールに入る
   asterisk -vcr
   
  ● peer(アカウント・クライアント)のレジスト状況を見る
   sip show peers
   
  ● peer(アカウント・クライアント)のレジスト状況をアカウントを指定して見る
   sip show peer 2001
   など。
   
  
 ※ 内線はX-Liteを使うなりSIP端末を使うなり、適宜設定してください。