【内線電話】Raspberry Pi にAsteriskというPBXソフトをインストールして。。。むふふ【IP電話】

スポンサーリンク
広告

Asterisk

もうずいぶん前に、AsteriskというPBXソフトをLinuxに入れたことがあります。今やポケットに入るPBXが簡単にできるようになっているんですよねぇ~ っていうことで、試してみました。 Wifi IP 電話をRaspberry Piで作るってことです。

ということで。。Raspberry Piも少しいじってみましょう(笑)

Raspberry Pi 自体の設定は、こちらから。。

【ラズパイ】Raspberry Pi NOOBS Wifi設定、VNCインストールなど事前設定しておく【インストール】
Rasbianなら/boot/wpa_supplicant.conf Raspberry Piの初期設定で、DonkeyにRasbianを...

で、いつものように。。 ながいこといじってなかったので、インストールしたものをアップデートします(笑)

RealVNCviewerを立ち上げて、Wifiで接続して

>sudo apt update

したら148もアップデートがある(笑)

>sudo apt upgrade

しばし休憩(笑)

その間に、時々Yを押しながら、こちらのページを読んでおきましょう(笑)

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をいじるようです。

Asterisk サンプル設定ファイル sip.conf - VoIP-Info.jp
Extension道場 - VoIP-Info.jp

参考にしたページ。rootにならないと変更できないですよ。

https://tomosoft.jp/design/?p=10040

この通りに設定します。

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をインストール

Zoiper IAX SIP VOIP Softphone - Apps on Google Play
Zoiper is a FREE IAX and SIP softphone application for voip calls over 3G or WiFi. There are NO ADVERTISEMENTS. For support please visit: Zoiper softphone of...

設定は、アカウントでHOSTにRaspberry Pi のIPアドレス、 先ほどのSIPのアカウント202、パスワード Pass などを入れます。いろいろいじっているうちにつながりました(笑)。NetworkのところでUDPにしないとだめでした。

iPhoneの場合

AGEphoneをインストール

‎AGEphone
‎AGEphone(エイジフォン) は高音質なIP電話の発信・応答を可能にするソフトフォンです。iPhoneにインストールし、ご利用のプロバイダーの情報を入力するだけで、通話サービスがご利用いただけます。 対応サービス(製品)であれば、 普段お使いのIP電話番号や社内の内線番号をそのまま使えますのでビジネスでもプライ...

息子のアイポン借りました(笑)

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というのがあるそうです。

ConfBridge - Asterisk Project - Asterisk Project Wiki
ConfBridge Configuration - Asterisk Project - Asterisk Project Wiki

Raspberry PiをAPモードにして。。 ローカルWifiで。。

Pi 3をWifi AccessPoint化(Raspbian stretch Lite 2018) - new_western_elec
昨年7月のRaspbianでアクセスポイント化する方法では、今年の3月以降のRaspbianではうまく動作しません。なんとも厄介な話ですが、常に新しいソフトや仕組みを取り入れて成長してきた「Linux」らしい環境の変化ともいえます。もう少し正確にかくとAccess Pointは動作するのですが、DHCPクライアントが起...
RaspberryPiをWi-fiのアクセスポイントにする。 - 可変ブログ
RaspberryPiにルーターの機能を付ける場合はここら辺 Raspberry Piの無線LANアクセスポイント化 - DesignAssembler Pi 3をWifi AccessPoint化(Raspbian stretch Lite 2018): new_western_elec How to Set up ...
アウトドアにおけるオフライン通話環境構築 - Qiita
#前置き ## オフライン通話とは 3G/4G回線パケット通信も利用せずに通話する環境。 --- 主にツーリング時の走行中バイク間での通話に利用している人が多いと思われ、主流と思われる物はLINEやSkypeでのパケット通信による...

コメントを残していただけるとありがたいです

Loading Facebook Comments ...
%d人のブロガーが「いいね」をつけました。