Chan consoleのソースを表示
←
Chan console
ナビゲーションに移動
検索に移動
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
登録利用者
、
管理者
。
このページのソースの閲覧やコピーができます。
こんなもの誰が使っているのかわかりませんが、使っている人もいるかもしれない&ハマりポイントがあったのでメモ<br> chan_alsa、chan_oss等はもともとPBX自体にヘッドセット等を付けて『交換台』代わりに使うための機能ではなかったかと思われます。それ以外にPC(サーバ)にスピーカーを付けてページングに使うとか、PCのサウンド機能を使うことで出来ることは色々あります。<br> 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のインストール時に作成されます。<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がデフォルトになります。(おそらく再起動しないとダメ) ==動作確認== ここまでの設定でたぶん大丈夫だと思いますが、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) とすればコンソールデバイスに対してダイヤルできます。 ==WIP== 音がブチブチするのが時々発生して完全な解決に至ってません。aplay とかで再生するときれいに再生されるが、Asteriskから使うとブチブチします。
Chan console
に戻る。
ナビゲーション メニュー
個人用ツール
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
ソースを閲覧
履歴表示
その他
検索
案内
メインページ
最近の更新
おまかせ表示
ヘルプ
広告
サイトコンテンツ
コミュニティ
Asterisk
Asterisk 18
Asterisk 20
Asterisk 22
IP電話機
購入情報
導入事例
回線接続
ベンダー
ひかり電話
セキュリティ
イベント情報
スペシャル
Asterisk pjsip
ABS
黒電話 ハック
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報