
こんにちは、アスタリスクハブの住民の皆さん。
あなたについては知りませんが、最近、標準のPBXとしてではなく、アスタリスクの使用に非常に興味を持っています。
前の投稿で、アスタリスクは駐車場の警備員として行動しました。 今回、私の構成のアスタリスクはトレーディングパビリオンでバックグラウンドミュージックを再生し、緊急の場合(または必要に応じて何らかのアナウンスを行う場合)、警告システムとして機能しました。
カットの下の詳細。
数週間前、私は1つの興味深い問題を抱えていました。つまり、バックグラウンドミュージックを再生するためのシステムを展開することです。
Googleで既存の「ボックス化された」ソリューションをすぐに見て、私はこれが私が望むものではないことに気付きました。 もちろん、プロ用の警告システム(たとえば、スタジアム用)またはアナログデバイスのいずれかが提供されましたが、信頼性はありますが、絶対にカスタマイズすることはできません。
また、既存のSIPアラートデバイスがレビューされました。 ここでより興味深いのは、拡張機能としてアスタリスクに登録されていること、マルチキャストをブロードキャストすること、さまざまなサウンドストリームに優先順位を付けることができることです。 ロシアでは、 IP-SIPスピーカーであるCyberdataを見つけることができます。 スピーカーに新しいファームウェアが追加され、インターフェイスが少し更新されました。 このデバイスで「遊んで」いる機会があるので、それを使用しないことは罪でした
それでは始めましょう。
もちろん、アスタリスクのインストールについては説明しません。ネットワークには高品質のマニュアルがいっぱいです。 私が追加する唯一のこと:私はすでにアスタリスク、mysql、php-apache、cdr-viewerでdocker-composeを長い間行ってきました。 これについては、次のトピックで説明する予定です。
アスタリスクにいくつかの拡張機能を作成します(デフォルトでは/etc/asterisk/sip.conf):
非表示のテキスト
[tmpl](!) type = peer host = dynamic canreinvite=no dtmfmode = rfc2833 insecure = invite nat = force_rport,comedia call-limit=2 qualify = yes context = from-internal disallow=all allow=alaw allow=ulaw directmedia=no [780](tmpl) defaultuser=780 secret=780 callerid="Dispatcher" <780> [790](tmpl) defaultuser=790 secret=790 callerid="Speaker1" <790> [800](tmpl) defaultuser=800 secret=800 callerid="Speaker2" <800>
テスト用の最も単純なアスタリスクダイヤルプランを作成します(デフォルトでは/etc/asterisk/extensions.conf):
非表示のテキスト
exten => _XXX,1,NoOp(Testing calls to speakers. Dialing ${EXTEN} from ${CALLERID}) same => n,Page(SIP/${EXTEN},qA(hello-world)) same => n,Hangup()
スピーカーのセットアップに移動します。
ローカルネットワークで見つけます(デフォルトでは、デバイスはdhcp用に構成されています)。

SIP拡張機能を設定します(スピーカーを入力するには、デフォルトのユーザー名/パスワードはadmin / adminです):

唯一の不便な点は、各操作の後、スピーカーを再起動するために送信する必要があることです。これには1分もかかります。
そして、マルチキャストをセットアップします。

碑文に注意してください。「SIPコールは優先度4.5と見なされます。 優先度9が最高で、0が最低です。 »スピーカーを呼び出すときにマルチキャストブロードキャストを中断するには、マルチキャスト設定の優先度を4以下にする必要があります。
次に、アスタリスクサーバーでマルチキャストブロードキャストを設定します。 ffmpegユーティリティを使用しました。
インストール:
sudo apt-get install ffmpeg
配信を開始します(もちろん、広告ではなくvocaltrance.fmからプレイリストを取得しました。もちろん、いずれかを選択できます)。
ffmpeg -re -i 176.9.36.203:8000 / vocaltrance_128 -filter_complex 'aresample = 8000、asetnsamples = n = 160' -acodec pcm_alaw -ac 1 -vn -f rtp udp://236.0.0.1:2000?buffer_size = 10000000? fifo_size = 1,000,000
そして聞く:)
明白な利点に加えて、この実装オプションには1つの大きな欠点があります。つまり、このスピーカーの価格は1枚あたり約400ドルです。
システムのコストを下げるために、私は普通のスピーカーを使うことにしました
そのような
とラズベリーパイ 。 (スピーカーとラズベリーのコストは約50ドルでした)。

それでは始めましょう。
raspbxディストリビューションをraspberryにインストールします。これは、ARMアーキテクチャ用の既製のfreepbxイメージです。 (インストールには、4Gbからのサイズのフラッシュドライブが必要です。)
インストールは簡単です。ダウンロード、適切なフラッシュドライブの使用、パーティションのマウント解除、ddを介したイメージの書き込み:
sudo dd if=path_of_your_image.img of=/dev/diskn bs=1M

admin / admin-Web用のssh root / raspberryのネットワーク上のログイン/パスワードを見つけます。
「ヘッド」アスタリスクへのトランクを作成します。
[やすり]
type=peer host=192.168.1.254 ;;ip "" Asterisk qualify=yes insecure = port,invite directmedia=no context=speakers canreinvite=no disallow=all allow=alaw allow=ulaw

「ヘッド」アスタリスクで同じトランクを作成し、それを単にIPラズベリーに向けます。
raspberryの呼び出しはchan_alsaに送信されます(デフォルトで読み込まれていない場合、モジュールはchan_alsa.soを読み込みます)。
音楽を再生するには、omxplayerを使用します(sudo apt-get -y install omxplayer)。
音楽の再生を中断するには、簡単なダイヤルプランを作成します。
非表示のテキスト
[speakers] exten => s,1,System(killall /usr/bin/omxplayer.bin) same => n,Wait(2) same => n,Dial(console/sdp) same => n,Hangup() exten => h,1,System(omxplayer -o local rtp://@236.0.0.1:2000)
「ヘッド」アスタリスクからの呼び出しの場合、元のダイヤルプランに追加します。
exten => 1000.1、ダイヤル(SIP / rasp / s、60、Tt)
同じ=> n、ハングアップ()
そして結果をお楽しみください:)
おわりに
その結果、アスタリスクによって制御される完全に機能するバックグラウンドミュージック通知/ブロードキャストシステムがあり、端末デバイス用のいくつかのオプションがあります。 他のデバイスのユースケースはコメントで歓迎されています。 ご清聴ありがとうございました。
ロシア語版: アスタリスク。 今回は緊急通知の可能性を持つバックグラウンドミュージックを放送するシステムとして 。