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

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

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 の設定はとりあえず終わりです。
通話してみましょう。

次回へ続く。。。

ディスカッションに参加

1件のコメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください