匿名

差分

Chan console

2,399 バイト追加, 2024年9月12日 (木) 11:45
編集の要約なし
こんなもの誰が使っているのかわかりませんが、使っている人もいるかもしれない&ハマりポイントがあったのでメモ<br>
chan_alsa、chan_oss等はもともとPBX自体にヘッドセット等を付けて『交換台』代わりに使うための機能ではなかったかと思われます。それ以外にPC(サーバ)にスピーカーを付けてページングに使うとか、PCのサウンド機能を使うことで出来ることは色々あります。<br>
これまでAsteriskが直にALSAを叩いてた(chan_alsa)のをやめて、間にpulseaudioを使うようにしたのではないかと思われます(もともとそうだったのかもですがALSA直はやめたかったのかも)。<br>
Asteriskのチャネルとしてはextended扱い。なおAsterisk 20.x系で確認しています。
==必要パッケージ==
defaults.ctl.card 1
これでデバイス1がデフォルトになります。(おそらく再起動しないとダメ)
==動作確認==
ここまでの設定でたぶん大丈夫だと思いますが、Asteriskではない部分で動作を確認しておきます。まず alsamixer を何も指定せずに起動すると pulseaudio を制御対象として扱うはずです。<br>
[[画像:Alsamix-01.png | 320px]]<br>
alsamixer -c 1 と明示的にデバイス1を指定すれば、ここの例ではUSB Audioのコントロールになります。<br>
[[画像:Alsamix-02.png | 320px]]<br>
これで準備は大丈夫なはずです。
==Asteriskの設定==
Asteriskを ./configure からやりなおし make manuselect で chan_console をコンパイルするように指定してから、再度コンパイル/インストールを行います。<br>
chan_consoleの設定ファイルは configs/samples の下にありますが、console.conf は以下のような内容です。ジッタバッファが要るのか要らないのか調整中ですが・・・
[general]
jbenable = yes
jbmaxsize = 200
jbresyncthreshold = 1000
jbimpl = fixed
jbtargetextra = 40
jblog = no
[default]
input_device = pulse
output_device = pulse
autoanswer = yes
context = default
extension = s
callerid = Console<9999>
language = ja
overridecontext = no
mohinterpret = default
active = yes
 
ダイヤルする場合は他のテクノロジと同じです。
exten => 9999,1,Dial(CONSOLE/default)
とすればコンソールデバイスに対してダイヤルできます。<br>
上の例では autoanswer を yesにしているのでコンソールに対してダイヤルすると即応答します。ページングスピーカー代わりに使うならこの方法で良いかも。
 
==WIP==
音がブチブチするのが時々発生して完全な解決に至ってません。aplay とかで再生するときれいに再生されるが、Asteriskから使うとブチブチします。<br>
→環境依存あるいはオーディオインタフェース依存かもしれない。よくわからん!状況としてはAsteriskがRTPのタイミングがうまく取れていないような挙動の音になるようなならないような・・・