「PIAST ページング」の版間の差分
(→記述例) |
(→設定例) |
||
(同じ利用者による、間の5版が非表示) | |||
1行目: | 1行目: | ||
+ | [[カテゴリ:PIAST]] | ||
+ | |||
PIASTをページング端末として使用する場合の例<br> | PIASTをページング端末として使用する場合の例<br> | ||
==必要条件== | ==必要条件== | ||
13行目: | 15行目: | ||
extension=s | extension=s | ||
output_device=default:0 | output_device=default:0 | ||
− | |||
noaudiocapture=true | noaudiocapture=true | ||
+ | ※何かのはずみで'default'が見えなくなることがあります。その場合には'aplay -L'でデバイスを確認してみてください。"sysdefault"がある場合にはoutput_device=sysdefault:0に変えてみてください。<br> | ||
+ | :どうもデスクトップを起動した後にこうなるような気がします。理由を知っている人がいたら教えてください。 | ||
+ | |||
modules.conf | modules.conf | ||
load => chan_alsa.so | load => chan_alsa.so | ||
20行目: | 24行目: | ||
明示的にalsaをロードする場合上の例のようにchan_alsaをロードし、can_ossをロードしない。<br> | 明示的にalsaをロードする場合上の例のようにchan_alsaをロードし、can_ossをロードしない。<br> | ||
alsamixerで音量を調整する必要があるので、必要に応じて音量調整を行うこと。<br> | alsamixerで音量を調整する必要があるので、必要に応じて音量調整を行うこと。<br> | ||
+ | |||
==記述例== | ==記述例== | ||
/home/piastに各種スクリプトが置いてあるとします。<br> | /home/piastに各種スクリプトが置いてあるとします。<br> | ||
52行目: | 57行目: | ||
exten => 9999,1,Goto(paging,s,1) | exten => 9999,1,Goto(paging,s,1) | ||
のように書くだけです。 | のように書くだけです。 | ||
+ | ==おまけ== | ||
+ | ページング開始時、終了時にチャイムげな音を鳴らす方法。ただしサイン波なのであまりかっこよくはありません。 | ||
+ | ;PIASTページング用 | ||
+ | [paging] | ||
+ | |||
+ | ;リレーをONしてページング実行、ページング前にチャイム(up)を鳴らす | ||
+ | exten => s,1,NoOp(Paging Start) | ||
+ | ;exten => s,n,System(/home/piast/relayon.sh) | ||
+ | exten => s,n,Dial(Console/0,,M(chimeup)) | ||
+ | |||
+ | ;ハングアップ後にチャイム(down)を鳴らす | ||
+ | exten => h,1,NoOp(Paging Hangup) | ||
+ | exten => h,n,System(asterisk -rx 'channel originate Console/0 extension s@macro-chimedown') | ||
+ | ;exten => h,n,System(/home/piast/relayoff.sh) | ||
+ | |||
+ | [macro-chimeup] | ||
+ | exten => s,1,Answer | ||
+ | exten => s,n,Wait(1) | ||
+ | exten => s,n,Playtones(!523/500,!659/500,!783/500,!1046/500) | ||
+ | exten => s,n,Wait(3) | ||
+ | |||
+ | [macro-chimedown] | ||
+ | exten => s,1,Answer | ||
+ | exten => s,n,Wait(1) | ||
+ | exten => s,n,Playtones(!1046/500,!783/500,!659/500,!523/500) | ||
+ | exten => s,n,Wait(3) | ||
+ | <br> | ||
+ | Originateを使えばいいじゃない!という場合には以下のように書きます。 | ||
+ | ;ハングアップ後にビープを鳴らす | ||
+ | exten => h,1,NoOp(Paging Hangup) | ||
+ | exten => h,n,Originate(Console/0,exten,macro-chimedown,s,1) | ||
+ | ;exten => h,n,System(/home/piast/relayoff.sh) |
2016年3月20日 (日) 16:56時点における最新版
PIASTをページング端末として使用する場合の例
必要条件
ALSAドライバ(raspbianデフォルトで入っているはず)
chan_alsa+chan_consoleでコンパイルされたAsterisk
PIAST アンプ
必要に応じて
PIAST リレー
設定例
alsa.conf
[general] autoanswer=yes context=local extension=s output_device=default:0 noaudiocapture=true
※何かのはずみで'default'が見えなくなることがあります。その場合には'aplay -L'でデバイスを確認してみてください。"sysdefault"がある場合にはoutput_device=sysdefault:0に変えてみてください。
- どうもデスクトップを起動した後にこうなるような気がします。理由を知っている人がいたら教えてください。
modules.conf
load => chan_alsa.so noload => chan_oss.so
明示的にalsaをロードする場合上の例のようにchan_alsaをロードし、can_ossをロードしない。
alsamixerで音量を調整する必要があるので、必要に応じて音量調整を行うこと。
記述例
/home/piastに各種スクリプトが置いてあるとします。
extensions.confに以下のように書きます。コンテキストは分けておいた方が後々便利です。
[paging] exten => s,1,NoOp(Paging Start) exten => s,n,Dial(Console/0,,A(beep))
この記述だけでビープ音の後にページングする機能が実装できます。再生するファイルを他のものにすれば別な音を再生してからページングできます。
ページング終了後にもビープやチャイム等の音を鳴らしたい場合にはこれだけではできないので、ちょっとしたワザを使います。
[paging] exten => s,1,NoOp(Paging Start) exten => s,n,Dial(Console/0,,A(beep)) ;ハングアップ後に音声を流す exten => h,1,NoOp(Paging Hangup) exten => h,n,System(asterisk -rx 'channel originate Console/0 application Playback hello-world')
チャネルが切断するとhエクステンションに飛ぶのを利用し、切断後にConsoleに対して音声ファイルを流します。
アンプをリレーで制御したい場合には以下の例のようにします。
[paging] exten => s,1,NoOp(Paging Start) exten => s,n,System(/home/piast/relayon.sh) exten => s,n,Dial(Console/0,,A(beep)) ;ハングアップ後に音声を流す exten => h,1,NoOp(Paging Hangup) exten => h,n,System(asterisk -rx 'channel originate Console/0 application Playback hello-world') exten => h,n,System(/home/piast/relayoff.sh)
内線からダイヤルしてページングさせたい場合には
exten => 9999,1,Goto(paging,s,1)
のように書くだけです。
おまけ
ページング開始時、終了時にチャイムげな音を鳴らす方法。ただしサイン波なのであまりかっこよくはありません。
;PIASTページング用 [paging] ;リレーをONしてページング実行、ページング前にチャイム(up)を鳴らす exten => s,1,NoOp(Paging Start) ;exten => s,n,System(/home/piast/relayon.sh) exten => s,n,Dial(Console/0,,M(chimeup)) ;ハングアップ後にチャイム(down)を鳴らす exten => h,1,NoOp(Paging Hangup) exten => h,n,System(asterisk -rx 'channel originate Console/0 extension s@macro-chimedown') ;exten => h,n,System(/home/piast/relayoff.sh) [macro-chimeup] exten => s,1,Answer exten => s,n,Wait(1) exten => s,n,Playtones(!523/500,!659/500,!783/500,!1046/500) exten => s,n,Wait(3) [macro-chimedown] exten => s,1,Answer exten => s,n,Wait(1) exten => s,n,Playtones(!1046/500,!783/500,!659/500,!523/500) exten => s,n,Wait(3)
Originateを使えばいいじゃない!という場合には以下のように書きます。
;ハングアップ後にビープを鳴らす exten => h,1,NoOp(Paging Hangup) exten => h,n,Originate(Console/0,exten,macro-chimedown,s,1) ;exten => h,n,System(/home/piast/relayoff.sh)