「Chan console」の版間の差分
(→必要パッケージ) |
(→必要パッケージ) |
||
40行目: | 40行目: | ||
# apt install pulseaudio | # apt install pulseaudio | ||
してpulseaudioも入れてください。 | してpulseaudioも入れてください。 | ||
+ | ==pulseaudioの設定== | ||
+ | 通常、pulseaudioは非rootで個別にデーモン起動するため、サーバで使うために設定してやる必要があります。まず、asteriskがpulseaudioにアクセスできるようにグループに足してやります。ユーザ/グループ pulseaudio はpulseaudioのインストール時に作成されます。<br> | ||
+ | /etc/group のpulseaudio に asteriskを足します。コマンドでやってもOK。 | ||
+ | pulse:x:124:asterisk | ||
+ | pulse-access:x:125:asterisk | ||
+ | pulseaudioをデーモンとして起動するため /etc/systemd/system に pulseaudio.service という名前で以下の内容のファイルを作ります。 | ||
+ | [Unit] | ||
+ | Description=Pulse Audio | ||
+ | |||
+ | [Service] | ||
+ | Type=simple | ||
+ | ExecStart=/usr/bin/pulseaudio --system --disallow-exit --disable-shm | ||
+ | |||
+ | [Install] | ||
+ | WantedBy=multi-user.target | ||
+ | これで systemctl daemon-reload して systemctl start pulseaudio すれば起動します。システム再起動時に自動起動されるように systemctl enable pulseaudio も行っておきましょう。 | ||
+ | ==ALSAの設定== | ||
+ | pulseaudioはバックエンドにALSAを使う(他も使える?)ので、もし、サウンドカードが複数あったりオンボード+USBのような構成をしている場合にはALSA側で、どれがdefaultになるか設定しておきます。<br> | ||
+ | 参考 : https://www.alsa-project.org/wiki/Setting_the_default_device<br> | ||
+ | 以下の例は環境によって異なりますので注意してください。<br> | ||
+ | # cat /proc/asound/cards | ||
+ | 0 [PCH ]: HDA-Intel - HDA Intel PCH | ||
+ | HDA Intel PCH at 0xf7c00000 irq 32 | ||
+ | 1 [Device ]: USB-Audio - USB Audio Device | ||
+ | C-Media Electronics Inc. USB Audio Device at usb-0000:00:1d.0-1.4, full speed | ||
+ | 例ではデバイス0がオンボード(intel)で、デバイス1がUSBのC-Mediaサウンドです。もし、デバイス1をデフォルトにしたければ、/etc/asound.conf ファイルを作成し、以下のようにします。 | ||
+ | defaults.pcm.card 1 | ||
+ | defaults.ctl.card 1 | ||
+ | これでデバイス1がデフォルトになります。(おそらく再起動しないとダメ) |
2024年9月12日 (木) 10:51時点における版
こんなもの誰が使っているのかわかりませんが、使っている人もいるかもしれない&ハマりポイントがあったのでメモ
chan_alsa、chan_oss等はもともとPBX自体にヘッドセット等を付けて『交換台』代わりに使うための機能ではなかったかと思われます。それ以外にPC(サーバ)にスピーカーを付けてページングに使うとか、PCのサウンド機能を使うことで出来ることは色々あります。
Asteriskのチャネルとしてはextended扱い。なおAsterisk 20.x系で確認しています。
必要パッケージ
make menuconfigすればわかりますが
************************************************** Asterisk Module and Build Option Selection ************************************************** Press 'h' for help. --- Core --- [*] chan_bridge_media [*] chan_dahdi [*] chan_iax2 XXX chan_motif [*] chan_pjsip [*] chan_rtp --- Extended --- [*] chan_audiosocket [*] chan_console [*] chan_unistim --- Deprecated --- [ ] chan_alsa [ ] chan_mgcp [ ] chan_sip [ ] chan_skinny Console Channel Driver Depends on: portaudio(E) <=**
portaudioが必要とされます。Debianだと
portaudio19-dev - Portable audio I/O - development files
なので
# apt install portaudio19-dev
してから ./configure しなおせば chan_console が選択できるようになります。 が、しかし実はこれだけでは動かず、pulseaudioがないとダメなようです。もし、要らない方法を見つけた人がいたら教えてください。
# apt install pulseaudio
してpulseaudioも入れてください。
pulseaudioの設定
通常、pulseaudioは非rootで個別にデーモン起動するため、サーバで使うために設定してやる必要があります。まず、asteriskがpulseaudioにアクセスできるようにグループに足してやります。ユーザ/グループ pulseaudio はpulseaudioのインストール時に作成されます。
/etc/group のpulseaudio に asteriskを足します。コマンドでやってもOK。
pulse:x:124:asterisk pulse-access:x:125:asterisk
pulseaudioをデーモンとして起動するため /etc/systemd/system に pulseaudio.service という名前で以下の内容のファイルを作ります。
[Unit] Description=Pulse Audio [Service] Type=simple ExecStart=/usr/bin/pulseaudio --system --disallow-exit --disable-shm [Install] WantedBy=multi-user.target
これで systemctl daemon-reload して systemctl start pulseaudio すれば起動します。システム再起動時に自動起動されるように systemctl enable pulseaudio も行っておきましょう。
ALSAの設定
pulseaudioはバックエンドにALSAを使う(他も使える?)ので、もし、サウンドカードが複数あったりオンボード+USBのような構成をしている場合にはALSA側で、どれがdefaultになるか設定しておきます。
参考 : https://www.alsa-project.org/wiki/Setting_the_default_device
以下の例は環境によって異なりますので注意してください。
# cat /proc/asound/cards 0 [PCH ]: HDA-Intel - HDA Intel PCH HDA Intel PCH at 0xf7c00000 irq 32 1 [Device ]: USB-Audio - USB Audio Device C-Media Electronics Inc. USB Audio Device at usb-0000:00:1d.0-1.4, full speed
例ではデバイス0がオンボード(intel)で、デバイス1がUSBのC-Mediaサウンドです。もし、デバイス1をデフォルトにしたければ、/etc/asound.conf ファイルを作成し、以下のようにします。
defaults.pcm.card 1 defaults.ctl.card 1
これでデバイス1がデフォルトになります。(おそらく再起動しないとダメ)