「PIAST ページング」の版間の差分

提供: VoIP-Info.jp
移動先: 案内検索
(ページの作成:「PIASTをページング端末として使用する場合の例<br> ==必要条件== ALSAドライバ(raspbianデフォルトで入っているはず)<br> chan_alsa+chan...」)
 
(記述例)
47行目: 47行目:
 
  ;ハングアップ後に音声を流す
 
  ;ハングアップ後に音声を流す
 
  exten => h,1,NoOp(Paging Hangup)
 
  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 => h,n,System(/home/piast/relayoff.sh)
exten => h,n,System(asterisk -rx 'channel originate Console/0 application Playback hello-world')
 
 
内線からダイヤルしてページングさせたい場合には
 
内線からダイヤルしてページングさせたい場合には
 
  exten => 9999,1,Goto(paging,s,1)
 
  exten => 9999,1,Goto(paging,s,1)
 
のように書くだけです。
 
のように書くだけです。

2016年3月5日 (土) 15:36時点における版

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

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)

のように書くだけです。