前回は、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