Asterisk
もうずいぶん前に、AsteriskというPBXソフトをLinuxに入れたことがあります。今やポケットに入るPBXが簡単にできるようになっているんですよねぇ~ っていうことで、試してみました。 Wifi IP 電話をRaspberry Piで作るってことです。
ということで。。Raspberry Piも少しいじってみましょう(笑)
Raspberry Pi 自体の設定は、こちらから。。
で、いつものように。。 ながいこといじってなかったので、インストールしたものをアップデートします(笑)
RealVNCviewerを立ち上げて、Wifiで接続して
>sudo apt update
したら148もアップデートがある(笑)
>sudo apt upgrade
しばし休憩(笑)
その間に、時々Yを押しながら、こちらのページを読んでおきましょう(笑)
http://voip-info.jp/
Asteriskのインストール
本家サイトでは、ソースからインストールせよ!ってありますが。。
試しに、aptで入るのか?探してみました。
>apt-cache search asterisk
って打ってみたら、ありました。。。 いっぱいあるんですね。
pi@raspberrypi:~ $ apt-cache search asterisk asterisk - Open Source Private Branch Exchange (PBX) asterisk-config - Configuration files for Asterisk asterisk-core-sounds-en - asterisk PBX sound files - US English asterisk-core-sounds-en-g722 - asterisk PBX sound files - en-us/g722 asterisk-core-sounds-en-gsm - asterisk PBX sound files - en-us/gsm asterisk-core-sounds-en-wav - asterisk PBX sound files - en-us/wav asterisk-core-sounds-es - asterisk PBX sound files - Spanish asterisk-core-sounds-es-g722 - asterisk PBX sound files - es-mx/g722 asterisk-core-sounds-es-gsm - asterisk PBX sound files - es-mx/gsm asterisk-core-sounds-es-wav - asterisk PBX sound files - es-mx/wav asterisk-core-sounds-fr - asterisk PBX sound files - Canadian French asterisk-core-sounds-fr-g722 - asterisk PBX sound files - fr-ca/g722 asterisk-core-sounds-fr-gsm - asterisk PBX sound files - fr-ca/gsm asterisk-core-sounds-fr-wav - asterisk PBX sound files - fr-ca/wav asterisk-core-sounds-it - asterisk PBX sound files - Italian asterisk-core-sounds-it-g722 - asterisk PBX sound files - it-it/g722 asterisk-core-sounds-it-gsm - asterisk PBX sound files - it-it/gsm asterisk-core-sounds-it-wav - asterisk PBX sound files - it-it/wav asterisk-core-sounds-ru - asterisk PBX sound files - Russian asterisk-core-sounds-ru-g722 - asterisk PBX sound files - ru-ru/g722 asterisk-core-sounds-ru-gsm - asterisk PBX sound files - ru-ru/gsm asterisk-core-sounds-ru-wav - asterisk PBX sound files - ru-ru/wav asterisk-dahdi - DAHDI devices support for the Asterisk PBX asterisk-dev - Development files for Asterisk asterisk-doc - Source code documentation for Asterisk asterisk-espeak - eSpeak module for Asterisk asterisk-flite - flite module for Asterisk asterisk-mobile - Bluetooth phone support for the Asterisk PBX asterisk-modules - loadable modules for the Asterisk PBX asterisk-moh-opsound-g722 - asterisk extra sound files - English/g722 asterisk-moh-opsound-gsm - asterisk extra sound files - English/gsm asterisk-moh-opsound-wav - asterisk extra sound files - English/wav asterisk-mp3 - MP3 playback support for the Asterisk PBX asterisk-mysql - MySQL database protocol support for the Asterisk PBX asterisk-ooh323 - H.323 protocol support for the Asterisk PBX - ooH323c asterisk-opus - opus module for Asterisk asterisk-prompt-de - German voice prompts for the Asterisk PBX asterisk-prompt-es-co - Colombian Spanish voice prompts for Asterisk asterisk-prompt-fr-armelle - French voice prompts for Asterisk by Armelle Desjardins asterisk-prompt-fr-proformatique - French voice prompts for Asterisk asterisk-prompt-it - dummy transitional package asterisk-prompt-it-menardi - asterisk PBX Italian sound files asterisk-prompt-it-menardi-alaw - asterisk PBX Italian sound files - a-law prompts asterisk-prompt-it-menardi-gsm - asterisk PBX Italian sound files - gsm prompts asterisk-prompt-it-menardi-wav - asterisk PBX Italian sound files - wav prompts asterisk-prompt-se - Swedish voice prompts for Asterisk asterisk-testsuite - test suite for the Asterisk PBX asterisk-voicemail - simple voicemail support for the Asterisk PBX asterisk-voicemail-imapstorage - IMAP voicemail storage support for the Asterisk PBX asterisk-voicemail-odbcstorage - ODBC voicemail storage support for the Asterisk PBX asterisk-vpb - VoiceTronix devices support for the Asterisk PBX asttest - test runner for the Asterisk test suite - dummy package dahdi - utilities for using the DAHDI kernel modules dahdi-linux - DAHDI telephony interface - Linux userspace parts dahdi-source - DAHDI telephony interface - source code for kernel driver iaxmodem - software modem with IAX2 connectivity libasterisk-agi-perl - Collections of Perl modules to be used with Asterisk PBX AGI libnetsds-perl - Service Delivery Suite framework libopenr2-3 - MFC/R2 (telephony) call setup library libsipwitch-dev - secure peer-to-peer SIP VoIP server - development files libsipwitch1 - secure peer-to-peer SIP VoIP server - shared libraries libsipwitch1-dbg - secure peer-to-peer SIP VoIP server - debug symbols libss7-2.0 - Signalling System 7 (ss7) library libss7-dev - Signalling System 7 (ss7) development files op-panel - switchboard type application for the Asterisk PBX panoramisk - asyncio based library to play with asterisk (Python 3 binary) python-asterisk - Asterisk Manager API interface module for Python python-panoramisk-doc - asyncio based library to play with asterisk (doc) python-pyst - Python module for interacting with the Asterisk PBX python-starpy - Asterisk (AMI) protocols for Twisted Python python3-panoramisk - asyncio based library to play with asterisk (Python 3 library) resource-agents - Cluster Resource Agents ruby-ami - Ruby client library for the Asterisk Management Interface sipwitch - secure peer-to-peer VoIP server for the SIP protocol sipwitch-cgi - secure peer-to-peer SIP VoIP server - CGI XML-RPC interface asterisk-prompt-es - Spanish prompts for the Asterisk PBX dahdi-firmware-nonfree - DAHDI non-free firmware
ということで、以下のように打ってみて。。
>sudo apt-get install asterisk
インストールできました。/etc/asterisk に設定ファイル類があるようです。
設定
sip.confと、extentions.confをいじるようです。
http://voip-info.jp/index.php/Asterisk_%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB%E8%A8%AD%E5%AE%9A%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB_sip.conf
http://www.voip-info.jp/index.php/Extension%E9%81%93%E5%A0%B4
参考にしたページ。rootにならないと変更できないですよ。
この通りに設定します。
sip.confは
201 と 202 203 という番号のアカウントを追加
extensions.confは
内線番号「201」にかかってきたら 通話
内線番号「202」にかかってきたら 通話
内線番号「203」にかかってきたら 「Hello-World」の音声
としているそうです。
設定が終われば、リブート
$ sudo service asterisk restart
rootから動いているか確認
root@raspberrypi:/etc/asterisk# asterisk -r vvvvvc Asterisk 13.14.1~dfsg-2+deb9u4, Copyright (C) 1999 - 2014, Digium, Inc. and others. Created by Mark Spencer <markster@digium.com> Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details. This is free software, with components licensed under the GNU General Public License version 2 and other licenses; you are welcome to redistribute it under certain conditions. Type 'core show license' for details. ========================================================================= Connected to Asterisk 13.14.1~dfsg-2+deb9u4 currently running on raspberrypi (pid = 26818)
端末のセット Androidの場合
Zoiper IAX SIP VOIP Softphoneをインストール
https://play.google.com/store/apps/details?id=com.zoiper.android.app&hl=ja
設定は、アカウントでHOSTにRaspberry Pi のIPアドレス、 先ほどのSIPのアカウント202、パスワード Pass などを入れます。いろいろいじっているうちにつながりました(笑)。NetworkのところでUDPにしないとだめでした。
iPhoneの場合
AGEphoneをインストール
https://itunes.apple.com/jp/app/agephone/id395440596?mt=8
息子のアイポン借りました(笑)
Defaultのテンプレートを選び、DomainにRaspberry PiのIPアドレス、UserID 201 Password pass で接続できました。
接続確認
お互いに番号をかけると、つながります。当たり前だけど(笑)
203にかけると、Hello World って声が聞こえます。
sip.confの中身は
[general] context=default bindport=5060 bindaddr=0.0.0.0 language=ja localnet=192.168.0.0/255.255.255.0 [201] type=friend defaultuser=201 secret=pass canreinvite=no host=dynamic [202] type=friend defaultuser=202 secret=pass canreinvite=no host=dynamic [203] type=friend defaultuser=203 secret=pass 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() exten => 203,1,Answer() exten => 203,2,Playback(hello-world) exten => 203,3,Hangup()
次の展開 多者通話 とか
Conference call っていいます。電話会議ですね。
Asterisk純正だと ConfBridgeというのがあるそうです。
https://wiki.asterisk.org/wiki/display/AST/ConfBridge
https://wiki.asterisk.org/wiki/display/AST/ConfBridge+Configuration
Raspberry PiをAPモードにして。。 ローカルWifiで。。
http://nw-electric.way-nifty.com/blog/2018/05/pi-3wifi-access.html
https://qiita.com/130cmWolf/items/5019bdc192d900abb804?fbclid=IwAR1ds6W56Q_N1f_DFwy7hwDofSxsFQ6Yxdp9nEedAN5ZgYMzLz9x4aR_tb0
コメントを残していただけるとありがたいです