「PIAST 保留音装置」の版間の差分
(→意地でもAsteriskを使う) |
|||
(同じ利用者による、間の1版が非表示) | |||
1行目: | 1行目: | ||
+ | [[カテゴリ:PIAST]] | ||
+ | |||
PIASTを保留音用の装置として使う<br> | PIASTを保留音用の装置として使う<br> | ||
'''あの'''有名な装置がディスコンになって困っていませんか?<br> | '''あの'''有名な装置がディスコンになって困っていませんか?<br> | ||
26行目: | 28行目: | ||
exten => 5963,1,NoOp(MoH Device Start) | exten => 5963,1,NoOp(MoH Device Start) | ||
exten => 5963,n,System(asterisk -rx 'channel originate Console/0 extension s@mohdevice') | exten => 5963,n,System(asterisk -rx 'channel originate Console/0 extension s@mohdevice') | ||
+ | exten => 5963,n,Playback(beep) | ||
+ | exten => 5963,n,Hangup | ||
これで'5963'にダイヤルするとConsoleチャネル、つまりALSAデバイスが先ほどのcontextに繋がれるので保留音を再生しはじめます。context内ではループしているので延々音楽を流し続けます。<br> | これで'5963'にダイヤルするとConsoleチャネル、つまりALSAデバイスが先ほどのcontextに繋がれるので保留音を再生しはじめます。context内ではループしているので延々音楽を流し続けます。<br> | ||
が、途中で止めたい!という場合もあるかもしれません。止める用の番号も作りましょう。 | が、途中で止めたい!という場合もあるかもしれません。止める用の番号も作りましょう。 | ||
exten => 5964,1,NoOp(MoH Device Stop) | exten => 5964,1,NoOp(MoH Device Stop) | ||
exten => 5964,n,System(asterisk -rx 'channel request hangup ALSA/default') | exten => 5964,n,System(asterisk -rx 'channel request hangup ALSA/default') | ||
+ | exten => 5964,n,Playback(beep) | ||
+ | exten => 5964,n,Hangup | ||
ダイヤルしたのはConsole/0なのですが、実際に繋がれるチャネルはALSA/defaultなので、このようにALSA/defaultをhangupさせます。これで再生を停止することができます。<br> | ダイヤルしたのはConsole/0なのですが、実際に繋がれるチャネルはALSA/defaultなので、このようにALSA/defaultをhangupさせます。これで再生を停止することができます。<br> | ||
つまり、5963をダイヤル、要するにINVITEすると再生開始、5964をINVITEすると再生停止とSIPで制御可能な保留音装置ができます。これならAsteriskを使う意味がありますね。 | つまり、5963をダイヤル、要するにINVITEすると再生開始、5964をINVITEすると再生停止とSIPで制御可能な保留音装置ができます。これならAsteriskを使う意味がありますね。 | ||
+ | |||
==参考情報== | ==参考情報== | ||
1番目の方法、つまりmplayerで音楽などを再生している状態でもALSAデバイスは複数のアプリケーションから再生を受け付けるため、音楽再生しつつAsteriskでページングができます。ただし音量調整が問題なので、バランスはうまいこと取っておく必要があります。<br> | 1番目の方法、つまりmplayerで音楽などを再生している状態でもALSAデバイスは複数のアプリケーションから再生を受け付けるため、音楽再生しつつAsteriskでページングができます。ただし音量調整が問題なので、バランスはうまいこと取っておく必要があります。<br> | ||
2番目の方法ではAsteriskがALSA/defaultの同時通話数を1とするので、再生中はBUSYになります。<br> | 2番目の方法ではAsteriskがALSA/defaultの同時通話数を1とするので、再生中はBUSYになります。<br> |
2016年3月10日 (木) 00:16時点における最新版
PIASTを保留音用の装置として使う
あの有名な装置がディスコンになって困っていませんか?
普通な方法
単なる保留音を流すための装置として使うのであれば、Asteriskを使う必要はありません。PIASTは接点入力は備えていませんが、その機能を使っているケースが殆ど無いらしいので問題はないでしょう。
要するにオーディオデバイスで音楽を延々と流し続ければいいだけなので、mplayerとかをインストールしてしまえば保留音装置としては使えます。
apt-get install mplayer
なのでループ再生用のシェルを作って
#!/bin/sh cd /var/lib/asterisk while : do mplayer *.wav > /dev/null 2&>1 done
とかやっておけば延々と音楽再生する装置になります。
意地でもAsteriskを使う
やはりAsteriskを使いたい場合には以下のextenを参考にどうぞ。
[mohdevice] exten => s,1,Answer exten => s,n(loop),Playback(/var/lib/asterisk/moh/macroform-cold_day) exten => s,n,Playback(/var/lib/asterisk/moh/macroform-robot_dity) exten => s,n,Playback(/var/lib/asterisk/moh/macroform-the_simplicity) exten => s,n,Goto(loop)
まずこんな感じで再生だけするcontextを作ります。AsteriskのPlaybackは拡張子を付けると失敗するのをお忘れなく。
次にトリガーするextenを作ります。
exten => 5963,1,NoOp(MoH Device Start) exten => 5963,n,System(asterisk -rx 'channel originate Console/0 extension s@mohdevice') exten => 5963,n,Playback(beep) exten => 5963,n,Hangup
これで'5963'にダイヤルするとConsoleチャネル、つまりALSAデバイスが先ほどのcontextに繋がれるので保留音を再生しはじめます。context内ではループしているので延々音楽を流し続けます。
が、途中で止めたい!という場合もあるかもしれません。止める用の番号も作りましょう。
exten => 5964,1,NoOp(MoH Device Stop) exten => 5964,n,System(asterisk -rx 'channel request hangup ALSA/default') exten => 5964,n,Playback(beep) exten => 5964,n,Hangup
ダイヤルしたのはConsole/0なのですが、実際に繋がれるチャネルはALSA/defaultなので、このようにALSA/defaultをhangupさせます。これで再生を停止することができます。
つまり、5963をダイヤル、要するにINVITEすると再生開始、5964をINVITEすると再生停止とSIPで制御可能な保留音装置ができます。これならAsteriskを使う意味がありますね。
参考情報
1番目の方法、つまりmplayerで音楽などを再生している状態でもALSAデバイスは複数のアプリケーションから再生を受け付けるため、音楽再生しつつAsteriskでページングができます。ただし音量調整が問題なので、バランスはうまいこと取っておく必要があります。
2番目の方法ではAsteriskがALSA/defaultの同時通話数を1とするので、再生中はBUSYになります。