Asterisk13での通話録音をステレオ化する

こんにちは!

ギークフィードのエンジニアのSutouです。

主にAsterisk、freepbxなどサーバサイドをやることが多いです。

今回はAsteriskのDialplanを使って、通話録音するまでを書きたいと思います。

Asteriskで通話はできている状態からスタートしたいと思います。

 

環境情報

今回の環境ですが、

  • CentOS Linux release 7.6.1810 (Core)
  • asterisk 13.23.0

 

にておこないました。

 

asteriskでの録音

まずasteriskでの録音はMixMonitor()を使用します。

概要は以下のサイトを参考にしてください。

Mixmonitor

通話録音

 

デフォルトの保存先は/var/spool/asterisk/monitor/になっているかと思います。

 

基本的な使い方

MixMonitor(filename.extension[,options[,command]])

普通に録音する

dialplanはこのような感じ

一行目でファイル名を設定し、二行目で保存ディレクトリを設定、三行目で録音するというようになります。

オプション無しだと受話、送話ともにミックスされた状態の録音ができます。
ステレオ録音するというオプションはどうやら無いようです。

送話、受話を別々なファイルに保存する

送話、受話をそれぞれ録音するオプションがありますのでこれを使ってみましょう。

 

三行目でa 、t、 rのオプションを追加しました。

オプションの説明は以下の通りです。

a: 上書きしないでファイルを追加する。

t(file): 送信音声をファイルに録音する

r(file): 受信音声をファイルに録音する

 

mixされたファイルと、送話だけの音声、受話だけの音声が録音されたファイルの3つが作成されます。

二つのファイルから一つのステレオファイルを作成する。

 

soxというコマンドで送話音声と受話音声ファイルからステレオ音声を作成することができます。
centos7だとyum install sox でインストールができるかと思います。

 

手動で行うとこのような形で出来ます。

 

dialplanのMixMonitorでステレオ録音する

MixMonitorの第3引数でcommandが実行できるようなので、ここでsoxコマンドを実行しましょう。

 

これでステレオでの通話録音の作成ができました。

 

※はまったポイント

MixMonitorでのsoxコマンド実行でステレオのファイルが作成されないというところでハマってしまいました。

ファイルのフルパスを指定することで無事にできるようになりました。

 

 

asterisk13での通話録音をステレオ化するのまとめ

 

送信音声、受信音声をそれぞれの録音ファイルから、

soxコマンドでステレオファイルを作成しました。

 

soxコマンドで行いましたが、ffmpegなど使うといろいろ応用が利くかなと思います。

soxがいろいろ音声ファイルを編集したりと便利そうなコマンドなので、

使い方を覚えていきたいなと思いました。

 

 

この記事が気に入ったら
いいね ! しよう

Twitter で
The following two tabs change content below.
Sutou
Sutou
ギークフィードのエンジニアです。エンジニア歴は3年です。 CentOS、asterisk、PHP、js、C#とかやってます。 リンゴ県出身です。

【採用情報】一緒に働く仲間を募集しています

採用情報
ページトップへ