大切なお知らせ。
ZQwoonet CoDE[コード]ご利用の皆様へサイト閉鎖のお知らせ

平素はZQwoonet CoDE[コード]サイトをご愛顧いただきまして誠にありがとうございます。
当サイトは開設以来、多くの皆様に支えられましてこれまで運営してまいりましたが
利用者数の減少と運営システムの老朽化に伴い、誠に勝手ではございますが
2013年11月15日正午をもちましてサイトを閉鎖させていただく事となりました。
ご利用の皆様におかれましてはこれまでの長らくのご愛顧に対し深く感謝いたします。
誠にありがとうございました。

2013年10月
ZQwoonet CoDE[コード]運営事務局
CoDE wiki
KURO-BOX/T4 PBX化レポート 一覧表示
KURO-BOX/T4にAsteriskをインストールし、IP-PBX化します。
 更新日:2009/09/07 16:51
モニターに当選したKURO-BOX/T4にAsteriskをインストールし、
IP-PBXとして動作させます。

IP-PBXの知識が必要となりますが、設定をきちんと行えば、
NTTのひかり電話や、050IP電話にもレジストすることが出来ます。

本日(9/7)現在、構築進行中のため、随時更新を行う予定です。
関連写真レポート  玄箱T4 ハードウェアセットアップの巻 (写真レポで解説)
 更新日:2009/09/07 16:53
関連写真レポート  玄箱T4 OSセットアップの巻 (写真レポで解説)
 更新日:2009/09/07 16:53
玄箱T4 RAID-5を構築する (準備編)
 更新日:2009/09/07 18:46
IP-PBXを構築し、IP-PBXを介した全通話を録音したいため、
大きな記憶域を確保でき、ディスク障害に強いRAID-5を構築します。

まずは、必要なパッケージをインストールします。
必要なパッケージはmdadmなのです。

今回は、ついでに必要そうなパッケージを同時にインストールし、
アップデートをしておきます。

コマンドは、
apt-get install less mdadm gcc vim-nox setserial
apt-get update


このKURO-BOX/T4は、FDISKが入っていないので、partedでパーティション作業を行います。

初期インストールの状態では、下記のようになっていました。
Model: ATA Maxtor 7V300F0 (scsi)
Disk /dev/sda: 300GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number Start End Size File system Name Flags
1 17.4kB 512MB 512MB ext3 /boot
2 512MB 5632MB 5120MB ext3 /
3 5632MB 7680MB 2048MB linux-swap swap

予想通り、/dev/sdaにインストールされていますね・・・
ちなみに、ディスク番号1~4に sda~sddのようにdeviceが割り当てられています。

この/dev/sdaに新しいパーティションを設定します。

まず、partedを起動
# parted /dev/sda

下記のコマンドを入力するとディスクの空き状態が確認できます。
(parted) print free
↑partedのプロンプトです。

Number Start End Size File system Name Flags
1 17.4kB 512MB 512MB ext3 /boot
2 512MB 5632MB 5120MB ext3 /
3 5632MB 7680MB 2048MB linux-swap swap
7680MB 300GB 292GB Free Space

上記のように表示され、7680MB 300GB が未使用なことが分かります。

それでは、早速パーティションの作成を行います。
パーティションの作成はmkpartコマンドで行います。
(parted) mkpart

コマンドを入力すると下記の内容が質問されます。
Partition name? []? (名前を付けないためそのままEnter)
File system type? [ext2]? (RAID構成にするため、そのままEnter)
Start? 7680MB (スタート位置は、Freeスペースの先頭とします。)
End? 300GB (全て確保するため、終了位置は最後とします。)

これで、パーティションが作成されました。

RAIDで使用するためのフラグを下記のコマンドで設定します。
(parted) set 4 raid on

これでsdaは準備完了です。
これと同じ作業をsdb~sddまで行えばよいのですが、今後の作業を簡単にするため、sdaと全く同じ内容で作成します。

(parted) select /dev/sdb

(parted) mkpart
Partition name? []?
File system type? [ext2]?
Start? 17.4kB
End? 512MB

(parted) mkpart
Partition name? []?
File system type? [ext2]?
Start? 512kB
End? 5632MB

(parted) mkpart
Partition name? []?
File system type? [ext2]?
Start? 5632MB
End? 7680MB

(parted) mkpart
Partition name? []?
File system type? [ext2]?
Start? 7680MB
End? 300GB

(parted) set 4 raid on

上記の作業を/dev/sdb、/dev/sdc、/dev/sddに行います。

mkpartでの作業はここまでなので、quitコマンドで終了します。
(parted) quit

これでRAID-5を構築する準備は完了です。
玄箱T4 RAID-5を構築する (作成編)
 更新日:2009/09/07 19:39
前項で、RAID用のパーティションを作成したので、実際にRAID-5を構築します。

まず、root権限で下記のコマンドを実行します。

# mdadm -C /dev/md0 -l5 -n4 -f /dev/sd[abcd]4

ここでパーティション構成を同じにしておいた効果が発揮されます。
もし、パーティション番号が違う場合には、 -fオプションで、各パーティションを指定することとなります。

このコマンドを実行することでRAID-5の構築がスタートします。
私の環境の場合、292GB×4で約876GBのArrayとなり、構築に、およそ一晩かかりました。

進行状況の確認は2通りの方法があります。
方法1
# cat /proc/mdstat
md0 : active raid5 sda4[0] sdd4[3] sdc4[2] sdb4[1]
856671744 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]

方法2
# mdadm -D /dev/md0
/dev/md0:
Version : 00.90
Creation Time : Tue Dec 26 04:32:28 2006
Raid Level : raid5
Array Size : 856671744 (816.99 GiB 877.23 GB)
Used Dev Size : 285557248 (272.33 GiB 292.41 GB)
Raid Devices : 4
Total Devices : 4
Preferred Minor : 0
Persistence : Superblock is persistent

どちらも構築が完了した状態のステータスですが、構築中の場合は、
方法1の場合、resync = 23.4%  
方法2の場合、Rebuild Status : 24% complete
のような表示があります。


それでは、起動時にRAIDが有効になるよう下記の設定を行います。
# echo 'DEVICE /dev/sd[abcd]4' > /etc/mdadm.conf
# mdadm -Ds >> //etc/mdadm.conf

構築だけでは、フォーマットが行われていないので、下記のコマンドでフォーマットします。
# mkfs -t ext3 /dev/md0

フォーマットだけでは使用することが出来ないので、任意の位置にマウントします。
今回は、/mnt/dataを指定しました。
# mkdir /mnt/data
# mount -t ext3 /dev/md0 /mnt/data/

起動時にマウントされるようにfstabに設定します。
# vi /etc/fstab

# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
/dev/sda2 / ext3 errors=remount-ro 0 1
/dev/sda1 /boot ext3 errors=remount-ro 0 1
/dev/sda3 none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/md0 /mnt/data ext3 defaults 0 2   ←今回追加

これでRAID-5の領域が構築されました。

試しにパフォーマンステストをしてみました。
まずは読み込みから・・・
# hdparm -ft /dev/md0

/dev/md0:
Timing buffered disk reads: 104 MB in 3.01 seconds = 34.56 MB/sec

34MB/s≒約276Mbpsですね…

書き込みは、とりあえず1GBばかり書き込んでみました。
# dd if=/dev/zero of=/mnt/data/test.img bs=10M count=100
100+0 records in
100+0 records out
1048576000 bytes (1.0 GB) copied, 90.9475 s, 11.5 MB/s

11.5MB/s≒約92Mbpsですね・・・

まあまあじゃないでしょうか…
ちなみに、ハードウェアRAIDを組んでいる別サーバー(DELL PowerEdge2650 約5年前のサーバー)で試した結果は、
読み込み35.89 MB/s 書き込み59.4 MB/sでした。

読み込みはほぼ変わらないようですが、書き込みが専用のCPUを持っているハードウェアRAIDには勝てませんね…
時計が狂うぞ? (adjtimexインストール~ntp設定まで)
 更新日:2009/09/08 14:42
KURO-BOX/T4に内蔵されているRTCとOSでの間で不整合が発生しているようで、標準のままだと1秒間に0.01~0.03秒ずれてしまいます。

時刻の補正はntpdをインストールすれば直ると思い、早速インストール
# apt-get install ntp

ntpdの設定ファイルを修正します。
# vi /etc/ntp.conf

下記の項目を追加します。 
server -4 ntp.nict.jp iburst minpoll 6 maxpoll 10
server -4 ntp.nict.jp iburst minpoll 6 maxpoll 10
server -4 ntp.nict.jp iburst minpoll 6 maxpoll 10

今回は、日本標準時プロジェクト 公開NTPサーバを利用します。
なぜ同じ設定を3つ行うかは、下記のURLを参照してください。
h​t​t​p​:​/​/​w​w​w​2​.​n​i​c​t​.​g​o​.​j​p​/​w​/​w​1​1​4​/​t​s​p​/​P​u​b​N​t​p​/​q​a​.​h​t​m​l

さて、設定が終わったところで、ntpdを起動します。
# /etc/init.d/ntp start

これで時刻が自動的に補正されます。



しかし・・・・

KURO-BOX/T4では、ntpdで補正しきれないほど時刻が狂ってしまいます。
これを補正するのが、adjtimexです。

それでは、恒例のコマンドでインストールします。
# apt-get install adjtimex

インストールが終わると、adjtimexconfigを実行しろといわれます。
その指示に従い、実行します。
その前に、ntpdを停止しておかなければなりません。

# /etc/init.d/ntp stop
# adjtimexconfig

補正が終了したら再度ntpdを起動します。
# /etc/init.d/ntp start

これで補正が出来ると思いきや…
まだずれます…・ orz

仕方がないので、1時間のズレ幅を計測して計算の後、設定することにしました。

方法は下記の通り

まず、ntpdを停止します。
# /etc/init.d/ntp stop

下記のコマンドを実行し、1時間の誤差を算出します。
# ntpdate ntp.nict.jp; sleep 1h; ntpdate ntp.nict.jp
8 Sep 12:12:15 ntpdate[5520]: adjust time server 133.243.238.244 offset 0.000278 sec
8 Sep 13:12:15 ntpdate[5527]: adjust time server 133.243.238.243 offset -26.639278 sec (ちなみに←の値は適当です。)

1時間の誤差が分かったので、下記の計算式に当てはめてtickを求めます。
tick値 = 10000 + (offset * 24 / 8.64)

計算が出来たらシステムに適用します。
# adjtimex -t tick値

厳密に言えば、freq値も設定すべきなのですが、計算が大変なので、
とりあえずtick値のみで・・
詳しい計算式は下記を参照ください。
h​t​t​p​:​/​/​w​w​w​.​k​2​.​d​i​o​n​.​n​e​.​j​p​/​~​m​i​s​t​l​e​/​l​i​n​u​x​/​i​n​s​t​a​l​l​/​n​t​p​S​e​r​v​e​r​.​h​t​m​l

補正が終了したので、ntpdを起動します。
# /etc/init.d/ntp start

ntpdの稼働状態は次のコマンドで確認できます。
# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*ntp-a2.nict.go. .NICT. 1 u 9 64 1 6.149 0.044 0.101
+ntp-a3.nict.go. .NICT. 1 u 8 64 1 6.247 0.090 0.154
-ntp-b2.nict.go. .NICT. 1 u 7 64 1 7.787 -0.072 0.590

offsetも1ms程度なので、問題ないでしょう・・・

しばらく運用して、tick値に問題が無いようであれば、/etc/rc.local に
/etc/init.d/ntp stop ; adjtimex -t tick値 ; ntpdate ntp.nict.jp; /etc/init.d/ntp start
と記載することで、再起動時に自動設定されます。


追記:
検索すると、もっと良いスクリプトが多く公開されています。
それを使うのも1つですね…
IP-PBXの構築 (準備編)
 更新日:2009/09/11 14:27
さて、環境が整ったところで、IP-PBXを構築します。
今回は、Asterisk 1.6.1.5をインストールしたいと思います。

apt-getでasteriskをインストールすることが出来るのですが、
それだと、あまりにも簡単すぎるので、今回はソースからインストールを試みます。

今回使用したソースは下記のパッケージです。
asterisk-1.6.1.5.tar.gz
dahdi-linux-2.2.0.2.tar.gz
dahdi-tools-2.2.0.tar.gz

まず、dahdiをインストールします。
# wget h​t​t​p​:​/​/​d​o​w​n​l​o​a​d​s​.​a​s​t​e​r​i​s​k​.​o​r​g​/​p​u​b​/​t​e​l​e​p​h​o​n​y​/​d​a​h​d​i​-​l​i​n​u​x​/​d​a​h​d​i​-​l​i​n​u​x​-​2​.​2​.​0​.​2​.​t​a​r​.​g​z
# tar xvfz dahdi-linux-2.2.0.2.tar.gz
# cd dahdi-linux-2.2.0.2
# make

以上でコンパイルが開始されます。

しかし、標準のままではkernel-sourceが入っておりません。
しかも、apt-getでは取得できないため、付属のCD内に記載されているURLより、linux-2.6.30.tar.bz2をダウンロードします。

# cd /usr/src/
# bzip2 -dc /tmp/linux-2.6.30.tar.bz2 | tar xvf -

このコマンドで解凍が可能です。

一応、シンボルリンクも設定しておきましょう
# ln -s linux-2.6.30 linux

これで、カーネルのソースがインストールされました。

.configファイルがないので、デフォルトのコンフィグファイルをコピーします。
# cp ./arch/powerpc/configs/kuro_nas_t4_defconfig .config

配布されているパッケージと実際にインストールされているパッケージの
サブバージョンが異なりますので、無理矢理Makefileを書き換えてしまいます。

# cd /usr/src/linux
# vi Makefile

EXTRAVERSION = .1-BUFFALO

EXTRAVERSION = .1-BUFFALO-svn1376

dahdiは、一部のカーネルモジュールを参照しているようで、途中でエラーになってしまいます。
そのため、Kernel Moduleをコンパイルします。

# cd /usr/src/linux
# make modules

KernelModuleコンパイル中にpowerpc-linux-gnu-ldが無いよ って言われるので調べたところ、クロスコンパイル時に使用するldらしいので、敢えてインストールせずに /usr/bin/ldにシンボルリンクを張りました。
(2009/09/10追記):powerpc-linux-gnu-objcopyも無いので、同じく処理しました。
私の環境では問題なくコンパイルが終了したので、この場はヨシとしましょう。

ようやくdahdiのコンパイルに移ります。
# cd dahdi-linux-2.2.0.2
# make

コンパイルが終わったら、次はインストールです。
# make install

インストール終了後、dahdi-toolsをインストールしろと指示があるので、
指示に従いインストールを行います。

# tar xvfz dahdi-tools-2.2.0.tar.gz
# cd dahdi-tools-2.2.0
# ./configure
# make

コンパイルが終了後、インストールします。
# make install

次に、configファイルを作成します。
# make config

dahdi設定ファイルの調整を行います。
今回は、ハードウェアの接続は行わないため、dahdi_dummyのみ有効にします。
# vi /etc/dahdi/modules

先頭に『#』が無いものはモジュールが有効になるので、全て無効にするため、『#』を付加していきます。
最終行に 『dahdi_dummy』を追加します。

以上で dahdiのインストールが終了です。

次はasteriskのインストールです。

追記(2009/09/09):
現在 modprobeでモジュールが検出できない状態になっています。
詳細を調査中です。 解決後、本内容をアップデートします。
# modprobe dahdi
FATAL: Module dahdi not found.

追記(2009/09/10):
KernelのMakefileを修正することにより、問題なくコンパイル及び実行することが出来ました。
Thanks! Hiroppoさん
IP-PBXの構築 (Asteriskをインストールする)
 更新日:2009/09/11 14:26
やっと本題のAsteriskのインストールです。

Asteriskのインストールはとても簡単です。

まずは、パッケージをダウンロードします。
# wget h​t​t​p​:​/​/​d​o​w​n​l​o​a​d​s​.​a​s​t​e​r​i​s​k​.​o​r​g​/​p​u​b​/​t​e​l​e​p​h​o​n​y​/​a​s​t​e​r​i​s​k​/​r​e​l​e​a​s​e​s​/​a​s​t​e​r​i​s​k​-​1​.​6​.​1​.​5​.​t​a​r​.​g​z
注: 本日(2009/9/11)現在 Ver1.6.1.6が最新のようです。)

ダウンロードが完了したら、展開します。
# tar xvfz asterisk-1.6.1.5.tar.gz
# cd asterisk-1.6.1.5

h​t​t​p​:​/​/​v​o​i​p​-​i​n​f​o​.​j​p​/にて日本語パッチが公開されているので、日本語パッチを適用します。
KURO-BOX/T4でもオートパッチ・スクリプトが適用可能でしたので、オートパッチ・スクリプトで適用します。
# wget f​t​p​:​/​/​f​t​p​.​v​o​i​p​-​i​n​f​o​.​j​p​/​a​s​t​e​r​i​s​k​/​p​a​t​c​h​/​s​c​r​i​p​t​s​/​j​a​_​a​u​t​o​p​a​t​c​h​.​s​h
# chmod +x ja_autopatch.sh
# ./ja_autopatch.sh

パッチの適用が完了したら、早速コンパイルに移ります。
# ./configure
# make
# make install
# make samples
# make config

以上でAsteriskがインストールされました。

起動スクリプトも設定されているので、KURO-BOX/T4が起動すると同時にAsteriskも起動されます。
IP-PBXの構築 (Asteriskを設定する)
 更新日:2009/09/11 23:03
まず、h​t​t​p​:​/​/​v​o​i​p​-​i​n​f​o​.​j​p​/に日本語設定サンプルがあるので、
それを基準として作業します。

オリジナルの設定ファイルをバックアップしておきます。
# cd /etc
# mv asterisk ~asterisk

新しいディレクトリを作成します。
# mkdir asterisk
# cd asterisk

設定ファイルをダウンロードし、展開します。
# wget h​t​t​p​:​/​/​f​t​p​.​v​o​i​p​-​i​n​f​o​.​j​p​/​a​s​t​e​r​i​s​k​/​c​o​n​f​/​c​o​n​f​-​s​a​m​p​l​e​-​1​.​6​_​0​1​.​t​a​r​.​g​z
# tar xvfz conf-sample-1.6_01.tar.gz

Asteriskをリスタートします。
# /etc/init.d/asterisk restart

これで、初期設定は完了です。
手持ちのSIP Clientを設定すれば、Asteriskに接続可能になりました。

SIP Clientの設定が完了したら、試しに 317番に発信してみましょう
うまく接続できていれば時刻案内に接続されるはずです。

次は、ひかり電話(RT-S300NE経由)に接続します
IP-PBXの構築 (ひかり電話に接続する)
 更新日:2009/09/16 11:39
私の環境では、RT-S300NEを利用しているため、RT-S300NEでの設定例です。
どの機種でも大して変わらないと思いますが、他機種の場合には参考程度に留めてください。

複数チャネルサービス+追加番号サービスを契約しておりますが、RT-S300NEの仕様上、同一IPアドレスからのレジストは1つに限られてしまっているため、サービスを生かし切れていません。
ひかり電話オフィスタイプやビジネスタイプでの使用であれば問題なく使用できると思います。

それでは、早速設定を始めましょう

まずは、RT-S300NEの設定から・・・
[電話設定]-[内線設定]
使用してしていないIP端末を編集します。

[ダイジェスト認証]を[行わない]に設定します。
(Asterisk上でダイジェスト認証を行うことが出来ない 追:本来は出来るのですが、うまく動作してくれない)

[設定]ボタンをクリックし、[保存]ボタンをクリックします。

次はAsteriskの設定を行います。
# vi /etc/asterisk/sip.conf

[general]
:
:
register => 3@rt-s300ne-1/901
:
:
[rt-s300ne-1]
type=friend
port=5060
fromuser=3
host=RT-S300NEのIPアドレス
fromdomain=RT-S300NEのIPアドレス
context=default
insecure=invite,port
dtmfmode=inband
canreinvite=no
disallow=all
allow=ulaw
callgroup=1

上記の設定でRT-S300NEの内線番号3番を、Asterisk内の901に着信させます。

次に内線番号の指定をします。
# vi /etc/asterisk/extensions.conf

該当部分を変更します。 (変更部分のみ記載します)

[globals]
:
:
;For Hikari Denwa
MYNUMBER=03********
:
:
;Hikari-Denwa Dial-out Sample
exten => _0.,1,Set(CALLERID(num)=${MYNUMBER})
exten => _0.,n,Set(CALLERID(name)=${MYNUMBER})
exten => _0.,n,Dial(SIP/${EXTEN}@rt-s300ne-1,120,T)
:
:
exten => 901,1,dial(SIP/201) ←追加

以上の設定が完了したら、Asteriskを再起動します。 (reloadでもOK)

これで、ひかり電話に接続されました。
接続が出来ているかは電話をかけてみれば分かるのですが、コマンドラインでも確認可能です。

確認方法は以下です。

# asterisk -r
*CLI> sip show registry
Host dnsmgr Username Refresh State Reg.Time
rt-s300ne-1:5060 N 3 3585 Registered Wed, 16 Sep 2009 11:35:26
1 SIP registrations.

StateがRegisteredになっていれば接続されています。
あっ、 当然RT-S300NE側でも確認可能ですよ
IP-PBXの構築 (通話録音 準備編)
 更新日:2009/09/16 12:12
最近は社内業務の効率化や、トラブル防止のために通話録音を行う企業が増えてきました。
Asteriskも工夫をすれば通話録音が可能ですので、早速設定を進めていきます。

保存形式はMP3で、発着信とも全通話を録音する設定を行います。

まずは、MP3形式で保存するため、エンコーダーをインストールします。

今回はlameを使用します。

パッケージの入手から・・・
# mkdir lame
# cd lame/
# wget h​t​t​p​:​/​/​d​o​w​n​l​o​a​d​s​.​s​o​u​r​c​e​f​o​r​g​e​.​n​e​t​/​p​r​o​j​e​c​t​/​l​a​m​e​/​l​a​m​e​/​3​.​9​8​.​2​/​l​a​m​e​-​3​9​8​-​2​.​t​a​r​.​g​z​?​u​s​e​_​m​i​r​r​o​r​=​j​a​i​s​t

上記のURLはバージョンにより異なります。
lame本家:h​t​t​p​:​/​/​l​a​m​e​.​s​o​u​r​c​e​f​o​r​g​e​.​n​e​t​/​i​n​d​e​x​.​p​h​p

パッケージを展開します。
# tar xvfz lame-398-2.tar.gz
# cd lame-398-2

通常であればここで、make; make installと行きたいところですが、
このlameパッケージにはdebian用のrulesが同梱されているため、パッケージを作ってみます。
# dpkg-buildpackage -rfakeroot

libsndfile1-devパッケージが無いよ って怒られたのでインストールします。
# apt-get install libsndfile1-dev

依存関係も含めてインストールが完了したら、再チャレンジ…
# dpkg-buildpackage -rfakeroot

今度は、下記のエラー
/usr/bin/fakeroot: line 164: debian/rules: Permission denied
dpkg-buildpackage: failure: fakeroot debian/rules clean gave error exit status 126

どうやら実行権限が必要なようなので、付与します
# chmod +x debian/rules

もう一度パッケージの作成を実行
# dpkg-buildpackage -rfakeroot

今度は無事に終了しました。

パッケージのインストールをします。
# cd ..
# dpkg -i *.deb

これでlameのインストールが完了です。

次は、Asteriskに通話録音の設定をします。
IP-PBXの構築 (通話録音 設定編)
 更新日:2009/09/16 14:56
lameのインストールが完了したので、Asteriskの設定を進めていきます。

まず、wavからMP3に変換するためのシェルスクリプトを作成します。
# vi /usr/local/bin/wav2mp3.sh
#!/bin/sh
MP3_FILENAME=`echo $1 | sed -e "s/\.wav$/\.mp3/g"`
lame -S $1 $MP3_FILENAME
rm -f $1

実行権限を付与します
# chmod +x /usr/local/bin/wav2mp3.sh

このスクリプトと、変換プログラムさえ変えれば、どのような形式にも変換可能です。


アスタリスク側の設定を行っていきます。
折角なので、マクロを使用した方法で設定していきます。

まず、保存先を作成します。
# mkdir -p /mnt/data/asterisk/monitor

extensions.conf に設定を加えます。
# vi /etc/asterisk/extensions.conf
(最下部に)
[CallRecStart]
exten => s,1,NoOP(VoiceRec:${ARG1})
exten => s,n,Set(SAVEPATH=/mnt/data/asterisk/monitor)
exten => s,n,Set(TIMESTAMP=${STRFTIME(,,%G%m%d-%H%M%S)})
exten => s,n,Set(FILENAME=${SAVEPATH}/${ARG1}-${TIMESTAMP}-${CALLERID(num)}.wav)
exten => s,n,MixMonitor(${FILENAME},v(1),/usr/local/bin/wav2mp3.sh ${FILENAME})
exten => s,n,Return()

発信設定部分を修正します。
exten => _0.,1,Set(CALLERID(num)=${MYNUMBER})
exten => _0.,n,Set(CALLERID(name)=${MYNUMBER})
exten => _0.,n,GoSub(CallRecStart,s,1(OUTBOUND)) ←追加
exten => _0.,n,Dial(SIP/${EXTEN}@rt-s300ne-1,120,T)

着信設定部分を修正します。
exten => 901,1,Ringing
exten => 901,n,GoSub(CallRecStart,s,1(INBOUND))
exten => 901,n,dial(SIP/201)

設定を有効にします。
# asterisk -r
*CLI> dialplan reload

以上で設定終了です。

通話が始まると自動的に先に作成されたディレクトリ内にファイルが作成されます。
ファイル形式は、 (発着信区分)-(yyyymmdd)-(hhmmss)-(発信or着信番号).mp3 となっています。

ディレクトリへは、FTPやSCP、SMBなどでアクセスし、ファイルを取得できます。

注:着信番号はナンバーディスプレイ契約が無いと取得できません。
  非通知の場合には、anonymousとなるようです。