最終更新日:170728 原本2014-06-16 

Asterisk入門してみた

  • IP電話加入してなくても使えます。(今まで必須かと思っていた。)
  • 050plusを使って外線発信ができる。
  • Asteriskサーバが自分の携帯に電話をかけてくれるように出来る。
    • 障害通知に最適かと思う。
  • インストールはasteriskパッケージを入れるか、ソースからビルド。
    • 日本語パッチやルーターの機種用にパッチがある様子。

参考サイト

SIPサーバ(Asterisk)

  • 設定ファイル

    • /etc/asterisk/sip.conf
    • /etc/asterisk/extensions.conf
    • /etc/asterisk/rtp.conf
  • log

    • /var/log/asterisk/messages
  • port

    • UDP: 5060 (Asteriskの認証用)
    • UDP: 10010~10020 (Asteriskでの通話用)

sip.conf

  • Asteriskサーバの設定 (bindaddress,port)
  • SIPクライアント認証設定
 [general]
+bindport=5060
+externhost=自宅サーバーのドメインを記述
+localnet=192.168.1.0/255.255.255.0
+
+[201]
+type=friend
+defaultuser=201
+secret=passw0rd1ffewf
+canreinvite=no
+host=dynamic
+
+[202]
+type=friend
+defaultuser=202
+secret=passw0rdzpiojdf
+canreinvite=no
+host=dynamic

extensions.conf

  • 発信元、発信先のルールを記述。
 [default]
+exten => 201,1,Dial(SIP/201,30,r)
+exten => 201,2,Hangup()
+
+exten => 202,1,Dial(SIP/202,30,r)
+exten => 202,2,Hangup()

rtp.conf

  • UDP。通話用のportかと思います。SIPクライアント数を超えない程度でいいんじゃないかと。
+rtpstart=10010
+rtpend=10020

SIPクライアント

  • iphone: PUSH通知がいくアプリを選択しましょう。
  • android: 設定 -> 通話 -> SIPの設定でOK。

CLI

  • /usr/sbin/asterisk -r

UDPではなくTCP通信に切り替える

sip.conf
 [general]
 context=default
-port=5090
-bindaddr=0.0.0.0
+tcpenable=yes
+udpbindaddr=0.0.0.0:5090
+tcpbindaddr=0.0.0.0:5090