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
...省略...

参考: http://samples.northwind.mydns.jp/home/asterisk/asterisk5steps

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

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

http://www.creytiv.com/pub/

$ wget http://www.creytiv.com/pub/baresip-0.4.1.tar.gz
$ wget http://www.creytiv.com/pub/re-0.4.1.tar.gz
$ wget http://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 の設定はとりあえず終わりです。
通話してみましょう。

次回へ続く。。。

Grandstream電話機とAsterisk

Grandstream の電話機を評価する機会があったので Asterisk と使用したときの雑記です。あくまでも個人の感想です。

左から:
GXP1400
GXP280
GXP2100

 

 

 

 

 

OLIO SPEC の GS-L11 に CentOS 5.7 と Asterisk 1.4.43 をインストールして動作させました。GS-L11 に CentOS と Asterisk のインストールは特に問題なく行えました。

それぞれの電話機に番号を割り当て Asterisk にレジストし内線通話の検証。

GXP280 は受話器を耳に当てたときに「さー」というノイズらしき音がすることにすぐ気づきました。 GXP2100 で確認するとこちらは気になる音はせず、GXP1400 はわずかに「さー」という音がはいってきます。

通話は会話がとぎれるような感じがときどきします。ぶちぶちと途切れるのわけではないのですが、ある程度しゃべり続けていると「すうっ」と無音になりそうな感じで、通話していて違和感を感じるときがありました。このあたりの感覚の説明がうまく表現できません。上記写真に白い電話機の1部分が写っているのは SANYO SIP-2100 です。同じ設定でもこちらの電話機ではまったく違和感を感じることはないのですが。

受話器を置いた感じが悪いです。受話器をおいたつもりでもフックされてないようなとき(通話がきれていない)があります。「ガチャッ」とすこし力を入れて受話器を置いたほうが確実です。

電話機のボタンは英語表記。液晶に表示される文字は日本語切り替えがありました。

天気、株価、通貨情報を取得する機能もついてました。定期的に情報を更新するようになっていました。

転送は「Transfer」ボタンではブラインド転送(アンアテンドモード転送?)になりますので、 Asterisk 側の設定で「#」をアテンドモード転送に設定しました。

着信するとスピーカーフォンで通話ができる「自動応答機能」もありました。Webブラウザからの管理画面で設定可能です。使用者の状況によってこの機能は便利です。

 

EyeLeo – 健康に気を使ってくれます

ソフトウェア開発業に携わっていると何時間もPCの前から離れないなんてあたりまえのようになってしまいますよね。
私もその一人です。このところ坐骨神経痛、肩こりなどがつらくなってきました。G-SHOCKのアラームで1時間ごとにビープをなるようにしたりと、休憩をとる契機をつくってはみるものの無視しがち。

そこで、EyeLeoなるソフトがあるのを知りました。このソフト英語版ですが、インストールしてそのままデフォルト設定で、10分ごとに目の体操を促し、1時間ごとに5分間休憩を促してくれます。

設定時間がくると、レオがポップアップ表示され目を動かしたり、スクリーンロックをしてくれるので、休憩をとりやすくなりました。

EyeLeo: http://www.eyeleo.com/