カテゴリー
Linux

Ubuntu 10.04 LTSをUSBからインストール

少し古いノートPC  (Panasonic Let’s Note CF-W5) に Ubuntu 12.04 LTS をインストールしたのですが、ちょっと遅いので、以前インストールしたことのある Ubuntu 10.04 にインストールし直しました。

インストールCDイメージ(.iso) をダウンロードして、USBメモリからインストールしました。

詳細 (英語) :https://www.ubuntu.com/download/help/create-a-usb-stick-on-windows

準備

  1. 2GB以上のUSBメモリを用意します。
  2. PCにUSBメモリを差してドライブとして認識させます。
  3. Universal USB インストーラをダウンロードします。
  4. Ubuntu 10.04.4 LTS Desktop の iso イメージをダウンロードします。

ステップ1: Universal-USB-Installer の実行

ダウンロードしたインストーラ (例: Universal-USB-Installer-1.8.9.8.exe) をクリックして実行します。ライセンス同意のダイアログがでますので、内容を読んで同意します。 [I Agree] ボタンをクリックします。

Universal_USB_Installer_1.8.7.0_Setup1

ステップ2: Linux ディストリビューションの選択

「Step 1: Select a Linux Distribution from the dropdown to put on your USB」 というドロップダウンからUSBメモリに入れる Linux ディストリビューションを選択します。

ここでは Ubuntu 10.04.X を選択。

Universal_USB_Installer_1.8.7.0_Setup2

ステップ3: Linux の iso イメージの選択

「Step 2: PENDING: Brows to your ubuntu-10.04*desktop*.iso」というラベルのテキストボックスに準備しておいた ubuntu-10.04.04-desktop.iso のパスを指定するか「Browse」で選択します。

 

ステップ4: USBメモリのドライブの指定

「Step 3: Select your USB Flash Drive Letter Only」というラベルの下にあるコンボボックスから USB メモリのドライブを選択します。

ここでは、”E:” です。USB メモリをフォーマットする場合は、「Format E: Drive (Erase Content)」チェックボックスをクリックしておきます。

ステップ5: USB メモリへの書き込みに同意

「Create」ボタンをクリックします。

「Universal USB Installer is Ready to perform the following actions.」というダイアログが表示されたら、「はい(Y)」ボタンをクリックして実行します。

Universal_USB_Installer_1.8.7.0_Setup3

イメージを展開する進捗が表示されますので、このまま待ちます。

Universal_USB_Installer_1.8.7.0_Setup4

USBメモリにイメージの書き込みが終了すると 「Installation Done, Process is Complete!」が表示されますので、 「Close」 ボタンをクリックして終了します。

 

これで、このUSBメモリはブート可能になりました。

インストールする PC にこの USB メモリを差して、USBからブートさせると Ubuntu 10.04 LTS のインストールが始まります。

カテゴリー
Asterisk IP-PBX

BaresipをUbuntuで使用する(その3)

前回は、Baresip のオーディオ関連の設定を行い、通話の準備ができました。今回は、Asterisk <-> Baresip 間の双方向コミュニケーションが動作するかを確認するために、エコーテスト(Echo アプリケーション)という機能を利用します。

また、Echo アプリケーションは、チャネルから読み出したオーディオをそのまま書き出す(エコー)アプリケーションです。Asterisk端末間の遅延と音質をテストするために用いることが出来ます。

8001 をダイアルするとエコーテストが実行されるようにAsterisk のダイアルプランを作成します。

1. extensions.conf の修正

extensions.conf に 8001 がダイアルされた時の処理を記述します。

$ sudo vi /etc/asterisk/extensions.conf
[globals]
; グローバルで 8001 を変数に定義
ECHO_TEST=8001
... 省略 ...
[default]
; エコー テスト : 8001 がダイアルされた処理
exten => ${ECHO_TEST},1,Answer
exten => ${ECHO_TEST},n,Wait(1)
exten => ${ECHO_TEST},n,Playback(demo-echotest)
exten => ${ECHO_TEST},n,Playback(beep)
exten => ${ECHO_TEST},n,Echo
exten => ${ECHO_TEST},n,Playback(demo-echodone)
exten => ${ECHO_TEST},n,Playback(vm-goodbye)

保存します。

2. ダイアルプランの再読み込み

extensions.conf の修正を終えたら、Asterisk を再起動して新しいダイアルプランを読み込ませます。

$ sudo service asterisk restart

または、
Asterisk CLI(コマンドラインインターフェース)からは、

hostname*CLI> dialplan reload

3. Baresip からダイアル

では、Baresip でエコーテストをやってみます。

Baresip を実行します。

# baresip
baresip v0.4.1 Copyright (C) 2010 - 2011 Alfred E. Heggestad
auprec: PCMA 8000Hz 1ch
auprec: PCMU 8000Hz 1ch
ausrc: alsa
auplay: alsa
medianat: stun
medianat: turn
medianat: ice
Populated 2 audio precs
Populated 0 video precs
Populated 0 audio filters
Local IP address: IPv4=eth0:192.168.1.3 IPv6=:::1
dl: mod: /usr/local/lib/baresip/modules/uuid.so (/usr/local/lib/baresip/modules/uuid.so: cannot open shared object file: No such file or directory)
conf: module uuid.so: No such file or directory
uuid: uuid_load: No such file or directory
ua: 2001@192.168.1.100
Populated 1 account
Populated 1 contact
2001@192.168.1.100: 200 OK () [1 binding]
ui: All 1 useragents registered successfully! (79 ms)

次に、8001 をダイアルします。ダイアルするには、キーボードの D をタイプします。すると、Baresip のコンソールにカーソルがブリンク表示され、次のようになります:

>             ■

ここで 8001 をタイプし、 続けてEnter キーをタイプします。

>         8001■
connecting to 'sip:8001@192.168.1.100'..
SIP Progress: 100 Trying ()
Set audio enprer: PCMU 8000Hz 1ch
Set audio deprer: PCMU 8000Hz 1ch
Enable telephone-event: pt_tx=101, pt_rx=101
video stream is disabled..
2001@192.168.1.100: Call established: sip:8001@192.168.1.100
main: long async blocking: 124>100 ms (h=0x3a569b arg=0x9db33c8)

ここで、英語のメッセージが聞こえてきます。
you are about to entering echo test….

エコーテストを終了するには、# を入力します。

4. まとめ

以上で、 Baresip のビルド、インストールと実行まで確認しました。Baresip の他にもオープンソースのソフトフォンはありますが、CUIであり、デーモンとして動作させることが可能です。

つまり、状況によっては、PCの起動と同時にバックグラウンドで Baresip を動かしておいて、着信がきたら自動応答で通話を開始することができます。

プライバシーの点からすると好ましくありませんが、寝たきり状態や手の不自由な場合など、ハンディーキャップがあるに対してコミュニケーションの手段を提供することが出来ます。

ハードフォン(IP電話機)にも自動応答機能がついているものもあります*。電話専用でなく、他機能を含むデバイスに通話機能を持たせるなどには便利なソフトだと思います。

Baresip を自動応答にするには .baresip/accounts を以下のようにアカウントの後ろに “;answermode=auto” を付加します。

$ vi .baresip/accounts
<2001:1234@192.168.1.100>;answermode=auto
カテゴリー
Asterisk IP-PBX

BaresipをUbuntuで使用する(その2)

前回は Ubuntu に Baresip を入れてアカウント設定までしました。

通話をするためにはオーディオの入出力が出来なければなりません。私の Ubuntu 10.04 には ALSA オーディオドライバーが入っていますので、それを使用するようにします。

もう1点、動作確認していて気づきました。Baresip は ALSA をサポートしますが、ビルド時に ALSA のヘッダーファイル等が入っていないと ALSA 用のオーディオ ドライバー モジュールをビルドしてくれません。そこで libasound2-dev パッケージをインストールしてから、Baresip をビルドする必要がありました。

$ sudo apt-get install libasound2-dev

この後に、前回の手順で Baresip をビルドしてインストールしてください。

1. .baresip/config の修正

ホームディレクトリに移動して、.baresip/config ファイルを開き、ALSA オーディオ ドライバー モジュールを使用するように構成を変えます。

$ vi .baresip/config
# Audio driver Modules
#module oss.so
module alsa.so
#module portaudio.so
#module gst.so

上記のように oss.so の行頭に # を挿入してコメントアウトして、alsa.so の行頭の # を取り除きます。 修正ができたら保存します。

2. alsamixer でオーディオの確認

使用するPCによってはマイク入力がミュートされている場合がありますので、alsamixer で確認しておきます。

$ alsamixer

「録音」が 0 になっていないことを確認してください。

3. 通話

これで通話ができる状態になりました。しかし、通話するには相手の電話機か、もしくはもう1台PCがなければなりません。

用意するのが面倒なので、Asterisk が持っている「エコーテスト」という機能で音声がとおるか確認しましょう。

ということで、次回へ続く。。

カテゴリー
Asterisk IP-PBX

BaresipをUbuntuで使用する

Baresip – 「Baresip はポータブルで組み立て式のオーディオとビデオをサポートしたSIP ユーザーエージェントです」とサイトの英語を直訳してみました。

簡単にいうと SIP ソフトフォンで以下のモジュールで構成されています

  • libre – SIPスタック他リアルタイム コミュニケーションをサポートするライブラリ
  • librem – オーディオ・ビデオ サポートライブラリ
  • baresip – SIP ユーザーエージェント

通話の際にユーザーインターフェースとなるのは baresip です。インストール可能なパッケージはないので、ソースをダウンロードしてビルドする必要があります。

0. 準備

  • Asterisk サーバー
IP アドレス: 192.168.1.100
sip.conf (抜粋):
[2001]
context=default
defaultuser=2001
secret=1234
...省略...

参考: Ubuntu 12.04 LTSへAsterisk 1.8.x をインストール

1. ソースのダウンロード

上記3つのモジュールのソースを下記より取得してきます。

https://www.creytiv.com/pub/

$ wget https://www.creytiv.com/pub/baresip-0.4.1.tar.gz
$ wget https://www.creytiv.com/pub/re-0.4.1.tar.gz
$ wget https://www.creytiv.com/pub/rem-0.4.1.tar.gz

2. libre ライブラリのビルド

$ tar zxvf re-0.4.1.tar.gz
$ cd re-0.4.1
$ make
$ sudo make install
$ sudo ldconfig

3. librem ライブラリのビルド

 $ tar zxvf rem-0.4.1.tar.gz
$ cd rem-0.4.1
$ make
$ sudo make install
$ sudo ldconfig

4. baresip のビルド

$ tar zxvf baresip-0.4.1.tar.gz
$ cd baresip-0.4.1
$ make
$ sudo make install

ビルドとインストールは以上です。一度、動かしてみます。

5. baresip の実行

$ baresip
baresip v0.4.1 Copyright (C) 2010 - 2011 Alfred E. Heggestad
conf: creating config template /home/<user>/.baresip/config
auprec: PCMA 8000Hz 1ch
auprec: PCMU 8000Hz 1ch
ausrc: oss
auplay: oss
medianat: stun
medianat: turn
medianat: ice
Populated 2 audio precs
Populated 0 video precs
Populated 0 audio filters
Local IP address: IPv4=eth0:192.168.1.3 IPv6=:::1
dl: mod: /usr/local/lib/baresip/modules/uuid.so (/usr/local/lib/baresip/modules/uuid.so: cannot open shared object file: No such file or directory)
conf: module uuid.so: No such file or directory
uuid: uuid_load: No such file or directory
conf: creating configuration template /home/<user>/.baresip/accounts
ua:<user>@domain
Populated 1 account
conf: creating contacts template /home/<user>/.baresip/contacts
Populated 1 contact
ua:<user>@domain: Register: Destination address required

アカウントがないなどエラーが出てきます。キーボードの ‘Q’ をタイプすると終了します。

6. アカウントの設定

一度 baresip を実行すると、ホームディレクトリに accounts ファイルが作成されます。これにSIPアカウントとサーバーを設定します。

$vi /home/<user>/.baresip/accounts
# SIP accounts - one account per line
#
# Displayname ;addr-params
#
# uri-params:
# ;transport={udp,tcp,tls}
#
# addr-params:
# ;outbound=sip:primary.example.com
# ;regint=3600
# ;sipnat={outbound}
# ;auth_user=username
# ;medianat={stun,turn,ice}
# ;rtpkeep={zero,stun,dyna,rtcp}
# ;stunserver=stun:[user:pass]@host[:port]
# ;mediaenc={srtp,srtp-mand}
# ;answermode={manual,early,auto}
# ;ptime={10,20,30,40,...}
# ;audio_precs=speex/16000,pcma,...
# ;video_precs=h264,h263,...
#
# Examples:
#
# <sip:user:secret@domain.com;transport=tcp>
# <sip:user:secret@1.2.3.4;transport=tcp>
# <sip:user:secret@[2001:df8:0:16:216:6fff:fe91:614c]:5070;transport=tcp>
#
<sip:<user>:<user>@domain>

0. 準備 で用意した Asterisk サーバーのアカウント設定で、上記のファイルの最終行を以下のように編集します。

<sip:2001:1234@192.168.1.100>

ファイルを保存して、baresip を実行します。

$ baresip
baresip v0.4.1 Copyright (C) 2010 - 2011 Alfred E. Heggestad
auprec: PCMA 8000Hz 1ch
auprec: PCMU 8000Hz 1ch
ausrc: oss
auplay: oss
medianat: stun
medianat: turn
medianat: ice
Populated 2 audio precs
Populated 0 video precs
Populated 0 audio filters
Local IP address: IPv4=eth0:192.168.1.3 IPv6=:::1
dl: mod: /usr/local/lib/baresip/modules/uuid.so (/usr/local/lib/baresip/modules/uuid.so: cannot open shared object file: No such file or directory)
conf: module uuid.so: No such file or directory
uuid: uuid_load: No such file or directory
ua: 2001@192.168.1.100
Populated 1 account
Populated 1 contact
2001@192.168.1.100: 200 OK () [1 binding]
ui: All 1 useragents registered successfully! (77 ms)

これで、baresip の設定はとりあえず終わりです。
通話してみましょう。

次回へ続く。。。