<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>http://www.voip-info.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Takahashi</id>
	<title>VoIP-Info.jp - 利用者の投稿記録 [ja]</title>
	<link rel="self" type="application/atom+xml" href="http://www.voip-info.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Takahashi"/>
	<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php/%E7%89%B9%E5%88%A5:%E6%8A%95%E7%A8%BF%E8%A8%98%E9%8C%B2/Takahashi"/>
	<updated>2026-04-22T01:14:09Z</updated>
	<subtitle>利用者の投稿記録</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8&amp;diff=12585</id>
		<title>メインページ</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8&amp;diff=12585"/>
		<updated>2026-02-17T01:47:39Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* サイト更新 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &#039;&#039;&#039;VoIP-Info.jp Wiki&#039;&#039;&#039; ==&lt;br /&gt;
このサイトでは[[Asterisk]]の話題を中心にVoIP関連の情報交換を行なっています。&amp;lt;br&amp;gt;&lt;br /&gt;
なおこのページは https://www.voip-info.jp https://voip-info.jp のいずれでもアクセスできます。&amp;lt;br&amp;gt;&lt;br /&gt;
Asterisk PBX、VoIP、IP電話に興味をお持ちの皆様ご参加下さい。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Asteriskをビジネスとして扱われている方は[[Asteriskコンサルタント]]のページへ。仕事を依頼したい、仕事として受けたいなど、ビジネスマッチングにお使い下さい。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;警告&#039;&#039;&#039;:以前のWikiからもそうでしたが、広告宣伝に情報が埋もれることだけは避けたいので、特定企業への誘導リンク等は適切なページへ貼ってください。[[購入情報]]や[[Asteriskコンサルタント]]のページがそれに相当します。&amp;lt;br&amp;gt;&lt;br /&gt;
広告出稿をご希望の場合はwebmaster&#039;at&#039;voip-info.jpへメールでお問合せください [[広告]]。&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
各種ユーザ会関連情報は[[コミュニティ]]のページへ。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;サイト更新&#039;&#039;&#039;==&lt;br /&gt;
サーバのOSを更新し、MediaWikiも更新しました。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
編集等を行う方は [[ユーザー登録方法]] のページを読んでください。メール認証を行わないと編集ができないようになっています。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Slackもやってます。無料版ですが。交流等にもお使いください。以下の招待リンクから参加できます。リンク切れたらまた更新します。&amp;lt;br&amp;gt;&lt;br /&gt;
:https://join.slack.com/t/voip-infojp/shared_invite/zt-3q90lhbmu-Rew_m2viHAOCpMwv0CCFgQ&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Asteriskバージョン&#039;&#039;&#039;==&lt;br /&gt;
いまだ古いバージョンのAsteriskを使い続けているケースが多く見受けられますが、サポート切れ(セキュリティfixですら提供されない)ものが多く見受けられますので注意してください。&amp;lt;br&amp;gt;&lt;br /&gt;
アップデートする際にSIPチャネルはchan_sipからchan_pjsipへ移行する必要がありますので注意してください。&lt;br /&gt;
*[[Asterisk 18]] のサポートは2025/10/20までです。&lt;br /&gt;
*[[Asterisk 20]] のサポートは2026/10/19までです。&lt;br /&gt;
*[[Asterisk 22]] がリリースされました。サポートは2028/10/16までです。chan_sipとMacroは完全廃止されました。&lt;br /&gt;
:https://docs.asterisk.org/About-the-Project/Asterisk-Versions/&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;注意したい情報&#039;&#039;&#039;==&lt;br /&gt;
===chan_sipの扱い===&lt;br /&gt;
Asterisk 21(非LTS)でchan_sipが削除され、Asterisk 22で完全廃止されています。今後、chan_sipは使えません。&amp;lt;br&amp;gt;&lt;br /&gt;
PjSIPの情報は [[Asterisk_pjsip]] のページを参照してください。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Macro===&lt;br /&gt;
Macro(app_macro)もAsterisk 21で削除され、Asterisk 22で完全廃止されています。Macroそれ自体を使っている場合、各アプリケーションのオプション等で使っている場合にはGosubへ移行が必要です。→ [[Extension_Macro_To_Gosub]]&lt;br /&gt;
&lt;br /&gt;
===注意情報===&lt;br /&gt;
&amp;lt;strong&amp;gt;[[テレワーク関連に対する注意喚起]]&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===安直にサーバを立てないでください===&lt;br /&gt;
Asteriskの情報に辿り着き、クラウド上等にPBXを構築する場合、ネット上の一般的な情報だけを元に安直にAsteriskサーバを立てるのはやめましょう。インターネット上で開いているサーバには十分なセキュリティを施しておかないと、いわゆる『タダがけ』でやられます。特にSIPの5060ポートに対する攻撃は、あっという間に来ます。[[Asterisk SIP セキュリティ]] のページを参考にして注意して運用してください。&lt;br /&gt;
===会社の電話(番号)をテレワークでも使いたい===&lt;br /&gt;
これは我々の得意とする分野です。お困りの場合には [[コミュニティ]] のページからユーザ会にご参加いただき、案件を投げてもらえれば手を挙げてくれるベンダーさんもいるかと思います。[[Asteriskコンサルタント]] ページも参考にしてください。&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;注意喚起&#039;&#039;&#039;==&lt;br /&gt;
===SIPポートへの攻撃についてご注意下さい===&lt;br /&gt;
SIPポートへの攻撃が流行っているようですので、ご注意下さい。&amp;lt;br&amp;gt;&lt;br /&gt;
セキュリティを破る場合に多い攻撃は&#039;&#039;&#039;SIPのREGISTERを総当たりで試す&#039;&#039;&#039;というものです。&amp;lt;br&amp;gt;&lt;br /&gt;
最近ではREGISTERを試す前にOPTIONSを投げ、SIPのポートが開いているかどうかを試す挙動もあります。&amp;lt;br&amp;gt;&lt;br /&gt;
対策方法等については : &#039;&#039;&#039;[[Asterisk SIP セキュリティ]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Fail2banによるiptablesでのブロック方法の設定をまとめました : &#039;&#039;&#039;[[SIP-Fail2ban]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DNSへのアタックに注意===&lt;br /&gt;
昨今はDNSサーバを自前で用意することも少なくなっていますが参考に→ [[DNSamp対策]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;注目の情報&#039;&#039;&#039;==&lt;br /&gt;
*新サンプル設定ファイル&lt;br /&gt;
:サンプル設定ファイルをAsterisk 20以降用としました&lt;br /&gt;
:[[Asterisk 20 サンプル設定ファイル]]&lt;br /&gt;
*[[ABS]] をリリースしました&lt;br /&gt;
:軽量なAsteriskベースのPBXをお探しの場合にどうぞ&lt;br /&gt;
:キーテレホン挙動もできるのでビジホン用途でも使えます [[ABS]]&lt;br /&gt;
&lt;br /&gt;
==お願い==&lt;br /&gt;
SPAMに気付いた方は正常なページへの差し戻しまたは削除をお願いします。同一ページが複数回のSPAM書き込みを受けた場合にはページの保護をお願いします。&amp;lt;br&amp;gt;&lt;br /&gt;
情報が古くなりリンク切れ、あるいは別なサイトにリンクされている場合にはリンクの削除をお願いします。&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=%E9%BB%92%E9%9B%BB%E8%A9%B1_%E3%83%8F%E3%83%83%E3%82%AF&amp;diff=12581</id>
		<title>黒電話 ハック</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=%E9%BB%92%E9%9B%BB%E8%A9%B1_%E3%83%8F%E3%83%83%E3%82%AF&amp;diff=12581"/>
		<updated>2026-01-28T03:45:13Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* マイコンにつなぐには？ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;最近どーも、黒電話をハックして再発見＆再発明しようとしている人が多いようなのでページを作っておきます。&amp;lt;BR&amp;gt;&lt;br /&gt;
==まず読むべきもの==&lt;br /&gt;
*電話はなぜつながるのか 知っておきたいNTT電話、IP電話、携帯電話の基礎知識&lt;br /&gt;
:https://www.amazon.co.jp/dp/4822282864/&lt;br /&gt;
*NTT技術参考資料(通称：ぎさんし)&lt;br /&gt;
:https://www.ntt-east.co.jp/gisanshi/&lt;br /&gt;
==基本的な話==&lt;br /&gt;
アナログ電話機は2線式で全二重の音声通信をやっています。なので自分の音声も相手の音声も同一の線に乗ります。&amp;lt;BR&amp;gt;&lt;br /&gt;
:だから受話器からは自分の声も聞こえます&lt;br /&gt;
基本的な電圧(直流バイアス)は48V(正確には-48V)&lt;br /&gt;
:&amp;quot;電話&amp;quot;仕様のDCは48Vが基本です&lt;br /&gt;
:PoEで48Vが使われるのはこの仕様が理由で、もともとツイストペア線ネットワークは電話線流用から始まっているため&lt;br /&gt;
:鳴動(ベルを鳴らす)の際には直流バイアスに加えて48V(42～53V)の交流(AC:15～20Hz)を重畳します(技参資:3.5.2参照)。&lt;br /&gt;
:&amp;quot;呼び&amp;quot;のインピーダンスは600Ωです。ただし端末(電話機)のインピーダンスは線路(電線)を加えたものになるので、これより低いのが普通です。&lt;br /&gt;
&amp;quot;シグナリング&amp;quot;は受話器を上げた、下した、ダイヤルしたなどの操作によって相手と繋いだり切ったりすることを言います。&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;quot;ダイヤル&amp;quot;には2種類の方法があり回転(ロータリー)式の電話機はDP(ダイヤルパルス)、押しボタン(プッシュ)式の電話機はDT(ダイヤルトーン)です。&lt;br /&gt;
:DPは10PPSと20PPSの2種類があります。PPSは秒間のパルスの数のこと&lt;br /&gt;
:DPは受話器の上げ下ろし(オフ/オンフック)と等価なので器用な人はフックボタンでダイヤルできます&lt;br /&gt;
:DTは2種類のトーンを同時に出して制御する方式です&lt;br /&gt;
電話機に繋ぐポートを&#039;&#039;&#039;FXS&#039;&#039;&#039;、電話回線に繋ぐポートを&#039;&#039;&#039;FXO&#039;&#039;&#039;といいます。&lt;br /&gt;
&lt;br /&gt;
==ネットにつなぐには？==&lt;br /&gt;
アナログ電話機をIP化する装置をATA(Analog Telephone Adapter)といいます。ATAはとても安い値段で売ってます。&amp;lt;BR&amp;gt;&lt;br /&gt;
:ただし、日本製ではないものが多いためDPに対応するATAは多くありません。&amp;lt;BR&amp;gt;&lt;br /&gt;
:DPに対応している代表的なものはNTT東西のひかり電話アダプタというかルータ(PRとかRT)か、ヤマハのアナログポートを持つものです。&amp;lt;BR&amp;gt;&lt;br /&gt;
:Grandstream の [http://www.grandstream.jp/%E3%83%9B%E3%83%BC%E3%83%A0/%E8%A3%BD%E5%93%81%E6%83%85%E5%A0%B1/ata%E3%83%BB%E3%82%B2%E3%83%BC%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A4/%E3%82%A2%E3%83%8A%E3%83%AD%E3%82%B0%E9%9B%BB%E8%A9%B1%E3%82%A2%E3%83%80%E3%83%97%E3%82%BF/handytone-802/  HT-802]がDPサポートしているって話もあるので人柱募集。&lt;br /&gt;
::HT-801/4号A自動式電話機の組み合わせで発信および着信を確認しました。おそらく600-A1電話機でもイケるでしょう。ただし20pps(600/601-A2)による発信はダメみたいで、ダイヤルしてもせいぜい１桁までしか反応してくれない。&lt;br /&gt;
:電話回線(NTT側)をIP化する装置はゲートウェイと呼びます。ATAによってはこの機能をあわせもつものもあります。&lt;br /&gt;
:::ただし停電時バックアップ用にのみFXOを持つものはゲートウェイにはなりません。&lt;br /&gt;
ATAを使うとIP化できるので一般的にはSIPで制御できるようになります。SIPになればAsteriskとかで制御簡単。&amp;lt;BR&amp;gt;&lt;br /&gt;
:IP化したけど、どうやって制御すんねーん！という人はAsteriskについて調べてください。ってか、ここ。&amp;lt;BR&amp;gt;&lt;br /&gt;
:USBのFXSもありますがあまりメジャーではないです。USB FXSを使う場合は制御がDAHDI(旧Zaptel)のものが多いのでAsteriskが要ります&lt;br /&gt;
:目覚まし(モーニングコール)とか簡単にできるんだけどなぁ・・・&lt;br /&gt;
&lt;br /&gt;
==黒電話用交換機==&lt;br /&gt;
何だかんだで黒電話を使いたいという人のために黒電話交換機をつくる記事をかきました。&lt;br /&gt;
:https://note.com/tsq/n/na46906c40e02&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk%2BRadio&amp;diff=12579</id>
		<title>Asterisk+Radio</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk%2BRadio&amp;diff=12579"/>
		<updated>2026-01-20T00:43:34Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* ローカル(同一ホスト)版 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ここでいうRadioは無線機のことなのです。&amp;lt;br&amp;gt;&lt;br /&gt;
注:当初、レピータと表記していましたが、うちらの業界的にはゲートウェイだろうってことでゲートウェイに改めました。&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=ニーズ=&lt;br /&gt;
PBXに無線機、特定小電力を接続するニーズは結構あります。特に店舗運営をしているような場合、フロアは無線機を使っているケースが少なくありません。というわけで以前から統合したソリューションを出しているメーカー/ベンダーもあります。んじゃあAsteriskでもやってしまおうという計画。&lt;br /&gt;
(世の中にはSIPを喋る無線基地局もあります)&lt;br /&gt;
&lt;br /&gt;
=注意=&lt;br /&gt;
この方法を使うとアマチュア無線機とか業務無線機(特小とかデジ簡ではないやつ、免許局)も繋ぐことができますが、技術的なこと以外の問題点が多々あるので繋ぐ場合には自分で調べてください。業務上で無線と電話を繋いでいる例はもちろんあります。&amp;lt;br&amp;gt;&lt;br /&gt;
オーディオを外から流し込むとデータ通信にも使用できてしまう可能性がありますが、技適を受けた特小無線機の場合は電波形式がF3E(音声電話)なので、音声チャネル上であってもデジタル信号を送信すると別な電波形式になるため技適の範囲から逸脱しますので行わないでください。&lt;br /&gt;
&lt;br /&gt;
=しくみ=&lt;br /&gt;
無線機とはいっても音声のやりとりなので基本的な接続は簡単で、Asteriskからオーディオを入出力してやれば無線と音声でやりとりできます。要するにアナログのB2BUAなわけです。&amp;lt;br&amp;gt;&lt;br /&gt;
[[画像:AstRadio1.png | x240px]]&amp;lt;br&amp;gt;&lt;br /&gt;
とはいえ問題はありまして、PTT(Push-To-Talk)をどうするかです。通常、無線機は半二重で誰かが喋っている間は他は聞く動作になり、喋りたい時にはPTTを押して喋ります。なのでAsteriskからPTTを制御しなくてはなりません。&amp;lt;br&amp;gt;&lt;br /&gt;
[[画像:AstRadio2.png | x240px]]&amp;lt;br&amp;gt;&lt;br /&gt;
でまあ無線機のヘッドセットとか外部マイクにはPTT制御がついているため、これを何等かの方法で制御してやればAsteriskから無線機が制御できます。思いつく簡単な方法としては入手性の容易なUSBシリアルを使って、RTSとかDTRの制御線でPTTを制御する方法です。&amp;lt;br&amp;gt;&lt;br /&gt;
[[画像:AstRadio3.png | x240px]]&amp;lt;br&amp;gt;&lt;br /&gt;
ですがここで再度問題が。Asteriskを入れるようなサーバとかアプライアンスはオーディオインタフェースが付いていなかったりするわけで、その場合、USBオーディオ(安い)を増設して使う方法が考えられます。&amp;lt;br&amp;gt;&lt;br /&gt;
[[画像:AstRadio4.png | x240px]]&amp;lt;br&amp;gt;&lt;br /&gt;
まあ、これで良いといえば良いのですが、この方法だと回路とかケーブルを自作しないとできないのでちょいと面倒です。できれば何も自作したくないですよね。電子回路の知識とかまで要求されるのもアレですし。そして、この方法のもうひとつの問題はUSBケーブル2本挿しというあまり美しくない構成になることです。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
参考：無線機によってはVOX(Voice Operated eXchanged)という機能を備えているものがあります。これは音声によって自動的に送信するもので、この機能があればPTT制御を音声で行うことができますが特小機では本体にこの機能を備えるものが少ない(ICOM IC-4310,4400などは本体にこの機能がある)ことと、音声以外のノイズでも送信状態になってしまうので、運用に注意が必要です。VOXを使えばPTT制御はなしで使えるので、通常のオーディオインタフェースで接続することができますが無線機に対応したケーブルを作ることが必要となります。&lt;br /&gt;
&lt;br /&gt;
=DigiRig mobile=&lt;br /&gt;
探せばある！&amp;lt;br&amp;gt;&lt;br /&gt;
上記の構成を考えた場合、必要なコンポーネントとしてはUSBオーディオとUSBシリアルで、これを1台にまとめる（USBケーブル1本)場合にはUSBハブが必要になります。PTT制御回路を加えたものを基板を起こして作れば無線インタフェースのできあがりなので、作るかと思ったのですが作り始める前によく考えようというわけでして。&amp;lt;br&amp;gt;&lt;br /&gt;
もともとRaspberry PiをPBX化する[[PIAST]]ではリレー制御回路を用意したりしてましたが、Raspberry PiはオーディオINを持たない(OUTのみ)ので別途USBかSPIのオーディオインタフェースを付けてやる必要があり、難儀してしました。&amp;lt;br&amp;gt;&lt;br /&gt;
んでまあ、こんなのは誰か作って売ってるだろうと探してみたらありました！どうやって探したかというと何のことはないアマチュア無線用です。最近のアマチュア無線機ではデジタルモード(FT8等)通信のためにオーディオIFと無線機制御が付いていて、USB接続できるようになっていますが、ちょっと昔のアマチュア無線機にはオーディオ入出力(要するにマイクとスピーカ)しか付いておらず、オーディオしかない無線機でデジタルモードを使うにはPCのサウンドカードやらを使います。なので昔のアマチュア無線機(リグ)をデジタル対応にする機器類が売られているので、よさげなのを探したらありました！&amp;lt;br&amp;gt;&lt;br /&gt;
[https://www.qrz.com/db/K0TX K0TX] 局が開発/販売している DigiRig がそれで、OSHWとして公開されているので自分でも作ろうと思えば作れなくはありませんが、売られているものの出来がとても良く、買った方が早いでしょう。&amp;lt;br&amp;gt;&lt;br /&gt;
https://digirig.net/&amp;lt;br&amp;gt;&lt;br /&gt;
今回使っているのは DigiRig mobile というタイプです。&amp;lt;br&amp;gt;&lt;br /&gt;
https://digirig.net/product/digirig-mobile/&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[画像:DigiRigMobile.JPG | 420px]]&amp;lt;br&amp;gt;&lt;br /&gt;
USBインタフェースはUSB-Cコネクタで写真の左側、右側が無線機の接続用です。無線機接続用にAUDIOとSERIALがありますが、今回使用するのはAUDIOだけです。SERIALは無線機制御(CAT)のインタフェースに繋ぐ用です。&amp;lt;br&amp;gt;&lt;br /&gt;
無線機と接続するには無線機のメーカ毎のケーブルが売られているので、これも併せて買えばOKです。テストではICOM用とケンウッド(Baofeng)を入手して使用しています。&amp;lt;br&amp;gt;&lt;br /&gt;
[[画像:DigiRigICOM.JPG | 420px]]&amp;lt;br&amp;gt;&lt;br /&gt;
ICOMの特小機なら&amp;quot;ICOM HT Cable for Digirig Mobile&amp;quot;が使えます(2ピン、2.5と3.5のタイプのもの)。ケンウッド機の場合には&amp;quot;Baofeng HT Digirig Cables Set&amp;quot;が使えます(注:セットケーブルの黒い方。緑は使わない)。アルインコに関しては別なシステム(アマチュア無線機)でアイコム互換の2ピン(2.5/3.5のタイプ)が使えることを確認しています。八重洲、スタンダード(たぶん3.5Φ 4P方式)は調査していませんが、わかれば追記します。&amp;lt;br&amp;gt;&lt;br /&gt;
基本的にDigiRig Mobileとケーブルを買えば接続できるので工作等は必要ありません。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
参考：ケーブルさえあればどのメーカーの無線機でも接続可能な「はず」です。無線機との接続ケーブルは各種ありますが、今回試したのはICOMの2ピン(2.5/3/5)タイプとケンウッド用です。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
注意1：同じICOMでもIC-4310はヘッドセット用のコネクタが異なります。この場合にはICOMのオプションケーブル(OPC-2132)を使用することで2ピンタイプに変換してからDigiRigのケーブルと接続します。&amp;lt;br&amp;gt;&lt;br /&gt;
IC-4310のTRRSは八重洲と同じ配列でいけるようです。八重洲CT-91を使って3.5/2.5に変換し、ICOM HT Cableで動作を確認しました。3.5ΦでTRRSのタイプはPTT制御も共通しているんじゃないかと思います。ただしIC-4310は防水のネジ付3.5mmなのでプラグの入手が困難なのでケーブルが自作しにくいのでOPC-2132を買うのが早いでしょう。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
注意2：ICOMとケンウッドはコネクタの形状が似ていますが、PTTの制御方式が異なるのでケーブルは兼用できません。それ以前に2.5と3.5の役割が逆だし。そもそもプラグ間のピッチが異なります。ケンウッドがなんで Baofeng 用なのかというとケンウッドのPTT方式をパクった中国製が多いからです。なんでケンウッド式を使ったのかは謎ですが。&lt;br /&gt;
&lt;br /&gt;
=ここで一回躓く=&lt;br /&gt;
さて、シカケは揃いました。あとはAsteriskに接続して・・・と、やってみたのですが上手くないです。理由がどうにもこうにもわからないので諦めました。&amp;lt;br&amp;gt;&lt;br /&gt;
当初の目論見ではAsteriskのConsoleデバイスで繋ごうと思ってたのですが、どうもオーディオがおかしくなりまともに音が出ないことが多くあります。たまに出ても数秒しか持たないなどさんざんでした。おそらくALSA+Pulseaudio+chan_consoleの組み合わせが悪いのか何なのかなのですが、もし解決方法を気付いた人がいたら教えてください。[[chan_console]] のテストをやっていて発見しました。USBオーディオの種類を変えてみても症状が治まらないので諦めました。&lt;br /&gt;
=無線ゲートウェイを作る=&lt;br /&gt;
というわけで、Asteriskで直収するのは諦めてSIPを喋る無線ゲートウェイをつくりましょう。話は簡単です。SIPのソフトフォンを入れたSBC等を用意して、それにDigiRigで無線機を繋ぎ、ヘッドセット等の代わりが無線機になっていればOKです。&amp;lt;br&amp;gt;&lt;br /&gt;
でまあ、今回はとりあえずRaspberry Pi 3B+を使いました。ソフトフォンを動かすだけなら余ってるRaspberry Piとかでいけます。&amp;lt;br&amp;gt;&lt;br /&gt;
参考1：SIP,RTPのポートについて考慮すればAsteriskと同居させることはできます。なので、サーバ内でpjsuaを動かすのもアリですが、電波状況の良い場所に設置することを考えると単独のゲートウェイ式の方が良いと思います。&amp;lt;br&amp;gt;&lt;br /&gt;
参考2：Raspberry Pi 2B+でも動作を確認しました。Raspberry Pi 32bit版OSとなりますが動作に問題はなさそうです。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
今回の接続は下図のようになります。&amp;lt;br&amp;gt;&lt;br /&gt;
[[画像:AstRadio5.png | 480px]]&lt;br /&gt;
==pjsua==&lt;br /&gt;
ソフトフォンとしてPjSIPのUA、pjsuaを使います。そういえばpjproject自体のコンパイル等はVoIP-Infoで説明していない(AsteriskのPjSIPだけ)ことに今更気付きました。&amp;lt;br&amp;gt;&lt;br /&gt;
===Raspberry Piセットアップ===&lt;br /&gt;
まずRaspberry Piをセットアップします。Raspberry Pi Imagerで最新のものを入れてください。ここではbookwormベースのRaspberry Pi OSを例にしています。インストールしたら最低限のセットアップ/アップデートを行っておきます。なお、ソフトフォンとして使うのでIPアドレスを固定する必要はありません。Asteriskに対してREGISTERして使います。&amp;lt;br&amp;gt;&lt;br /&gt;
Raspberry Pi OSの場合デフォルトのインストールでほとんどのものは足りているはずなのですが、pjsuaでALSAを使いたいのでALSAとPortaudioの開発ライブラリを入れておいてください。&lt;br /&gt;
 apt-get install libasound2-dev portaudio19-dev&lt;br /&gt;
&lt;br /&gt;
====オンボードオーディオの無効化====&lt;br /&gt;
必ずしもやる必要はないと思います。&amp;lt;br&amp;gt;&lt;br /&gt;
もし、pjsuaがオーディオデバイスを見失って正しく送受話できない場合にはRaspberry Piの設定を変更します。&amp;lt;br&amp;gt;&lt;br /&gt;
/boot/firmware/config.txt を編集します。以下の2か所を例のように修正し、BCMオーディオ(ヘッドフォン)とHDMIオーディオを無効にします。&lt;br /&gt;
 # Enable audio (loads snd_bcm2835)&lt;br /&gt;
 #dtparam=audio=on&lt;br /&gt;
 dtparam=audio=off&lt;br /&gt;
&lt;br /&gt;
 # Enable DRM VC4 V3D driver&lt;br /&gt;
 #dtoverlay=vc4-kms-v3d&lt;br /&gt;
 dtoverlay=vc4-kms-v3d,noaudio&lt;br /&gt;
 max_framebuffers=2&lt;br /&gt;
以下のようにサウンドカードがひとつだけになれば正解です&lt;br /&gt;
 # cat /proc/asound/cards&lt;br /&gt;
  0 [Device         ]: USB-Audio - USB Audio Device&lt;br /&gt;
                       C-Media Electronics Inc. USB Audio Device at usb-3f980000.usb-1.3.2, full speed&lt;br /&gt;
&lt;br /&gt;
===PjSIPコンパイル===&lt;br /&gt;
PjSIP自体はPjProjectのページからダウンロードして展開します。&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.pjsip.org/&amp;lt;br&amp;gt;&lt;br /&gt;
あるいはPjprojectのgithubから入手することもできます。&amp;lt;br&amp;gt;&lt;br /&gt;
https://github.com/pjsip/pjproject&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
展開するとバージョンに応じたディレクトリ(pjproject-2.14.1)ができるので、その下で作業します。cloneした場合には単にpjprojectというディレクトリになります。&amp;lt;br&amp;gt;&lt;br /&gt;
 ./configure --with-external-pa&lt;br /&gt;
 make dep&lt;br /&gt;
 make&lt;br /&gt;
するとコンパイルできます。&amp;lt;br&amp;gt;&lt;br /&gt;
コンパイルが完了すると pjproject-2.14.1/pjsip-apps/bin の下に pjsua-aarch64-unknown-linux-gnu というプログラムができあがっているので、これを適当なディレクトリに pjsua という名前でコピーしておきます。&lt;br /&gt;
&lt;br /&gt;
===pjsua設定ファイル===&lt;br /&gt;
以下のような内容でAsteriskに対してREGISTERするソフトフォンとして動作させます。無線機と接続するのでオートアンサモードにしておきます。&lt;br /&gt;
 # PJSUA config&lt;br /&gt;
 --local-port 5090&lt;br /&gt;
 --capture-dev 1&lt;br /&gt;
 --playback-dev 1&lt;br /&gt;
 --no-vad&lt;br /&gt;
 --id sip:phone10@192.168.254.234&lt;br /&gt;
 --registrar sip:192.168.254.234:5070&lt;br /&gt;
 --realm *&lt;br /&gt;
 --username phone10&lt;br /&gt;
 --password password&lt;br /&gt;
 --auto-answer 200&lt;br /&gt;
auto-answerの指定値は応答コード(200 OK)です。&amp;lt;br&amp;gt;&lt;br /&gt;
設定ファイルを使用しての起動は以下のようにします。&lt;br /&gt;
 ./pjsua --config-file pjsua.conf&lt;br /&gt;
SIPのトレースが出てウルサイのを消したい場合には&lt;br /&gt;
 # PJSUA config&lt;br /&gt;
 --local-port 5090&lt;br /&gt;
 --log-level 0&lt;br /&gt;
 --capture-dev 1&lt;br /&gt;
 --playback-dev 1&lt;br /&gt;
 --no-vad&lt;br /&gt;
 --id sip:phone10@192.168.254.234&lt;br /&gt;
 --registrar sip:192.168.254.234:5070&lt;br /&gt;
 --realm *&lt;br /&gt;
 --username phone10&lt;br /&gt;
 --password password&lt;br /&gt;
 --auto-answer 200&lt;br /&gt;
--log-level で出力される情報を変更します。&amp;lt;br&amp;gt;&lt;br /&gt;
--local-port はpjsua側のSIPポートなので他のものと被らない値を指定してください。&amp;lt;br&amp;gt;&lt;br /&gt;
====オーディオデバイスの確認====&lt;br /&gt;
オーディオデバイスは --capture-devと--playback-devで指定しますが、これはpjsua(pjsip)が認識しているオーディオデバイスのIDです。この例ではALSAが認識しているデバイスは&lt;br /&gt;
 # cat /proc/asound/cards&lt;br /&gt;
  0 [vc4hdmi        ]: vc4-hdmi - vc4-hdmi&lt;br /&gt;
                       vc4-hdmi&lt;br /&gt;
  1 [Headphones     ]: bcm2835_headpho - bcm2835 Headphones&lt;br /&gt;
                       bcm2835 Headphones&lt;br /&gt;
  2 [Device         ]: USB-Audio - USB Audio Device&lt;br /&gt;
                       C-Media Electronics Inc. USB Audio Device at usb-3f980000.usb-1.3.2, full spee&lt;br /&gt;
となっているので、ALSAの認識では0,1,2(hw:0,0、hw:1,0とか)になるのですが、pjsuaはこの通りには認識しません。pjsuaが認識しているデバイスIDを確認するにはpjsip-apps/binの下にあるpjsystestを使います。&lt;br /&gt;
 # cd pjsip-apps/bin&lt;br /&gt;
 # ls&lt;br /&gt;
 PJSYSTEST.TXT         pjsua-aarch64-unknown-linux-gnu      samples&lt;br /&gt;
 PJSYSTEST_RESULT.TXT  pjsystest-aarch64-unknown-linux-gnu&lt;br /&gt;
pjsystest-aarch64-unknown-linux-gnuがそれにあたりますので(pjsua同様にアーキテクチャ名とかが付く)、これを実行します。ログがわーっと出てメニューが出ますので、10の&amp;quot;View Devices&amp;quot;を実行します。&lt;br /&gt;
 M E N U :&lt;br /&gt;
 ---------&lt;br /&gt;
 0: Tests&lt;br /&gt;
   00: Run test wizard&lt;br /&gt;
   01: Device Test&lt;br /&gt;
   02: Play Tone&lt;br /&gt;
   03: Play WAV File1&lt;br /&gt;
   04: Play WAV File2&lt;br /&gt;
   05: Record Audio&lt;br /&gt;
   06: Latency Test&lt;br /&gt;
   07: AEC/AES Test&lt;br /&gt;
 &lt;br /&gt;
   09: Exit&lt;br /&gt;
 1: Options&lt;br /&gt;
   10: View Devices&lt;br /&gt;
   11: View Settings&lt;br /&gt;
 &lt;br /&gt;
 Enter the menu number: 10&lt;br /&gt;
 18:03:50.311              systest.c  Running Audio Device List&lt;br /&gt;
 Audio Device List&lt;br /&gt;
 Found 2 devices&lt;br /&gt;
   0: PA [bcm2835 Headphones: - (hw:1,0)] (0/8)&lt;br /&gt;
   1: PA [USB Audio Device: - (hw:2,0)] (1/2)&lt;br /&gt;
 &lt;br /&gt;
 1:OK&lt;br /&gt;
上の例をみるとわかるようにpjsuaは0をオンボードのヘッドフォンジャック、1をDigiRigのUSBオーディオと認識しているので、この場合の--capture-devと--playback-devの指定は &#039;&#039;&#039;1&#039;&#039;&#039; となります。&amp;lt;br&amp;gt;&lt;br /&gt;
言い訳け：--capture-devで指定できるのがどうもALSAデバイスではないというのには気付いてたんですが、sndinfoで見ろってコマンドラインのヘルプに書いてあるのにsndinfoが無いんで悩んでましたが、今のバージョンだとpjsystestで見られるというのにようやく気付いた次第。上の例だとたぶんPA(Portaudio)経由の認識で、HDMIサウンドは「使えない」と判断してるようです。&lt;br /&gt;
&lt;br /&gt;
===テスト===&lt;br /&gt;
ここまでで動作を確認できます。Asteriskに対するREGISTERが確認できれば、エンドポイント(ここの例ではphone10)に対してダイヤルすれば無線機と繋がります。Asteriskから&lt;br /&gt;
 exten =&amp;gt; 1234,1,Dial(PJSIP/phone10)&lt;br /&gt;
を行えばpjsuaは自動で応答し繋がりますので、無線で何か喋ると電話側で聞こえるはずです。音量の調整は無線機のボリュームとマイクゲイン、pjsua側設定やalsamixerでよしなに調整してください。電話機から喋りたい場合にはpjsuaに繋いだ無線機のPTTを手で押します。このPTTをソフト的に制御するのが次の課題です。&lt;br /&gt;
&lt;br /&gt;
==PTT制御==&lt;br /&gt;
注意：初期公開版から変更し、PTT制御をsocket対応としました。必要な処理が減ります。ですが、pttctl自体がかなりザルなので注意して使用してください。インターネット上に公開なんてしてはいけません。セキュリティを高める手段は他の方法を併用して行ってください。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
音声の入出力ができるようになったので、後はPTTを制御するだけです。前述のようにDigiRigはUSBシリアルも内蔵しており、RTSでPTTが制御できるようになっています。RTSを制御すればいいので簡単ですねと言いたいところですが、デバイスに対するIOCTLを発行しないとなのでちょいと面倒です。なので、この部分は書いておきました。&amp;lt;br&amp;gt;&lt;br /&gt;
Asteriskサンプル設定ファイルと同じところにpttctrlというプログラムを置いておきます。&amp;lt;br&amp;gt;&lt;br /&gt;
https://github.com/takao-t/asterisk-conf/tree/main/pttctrl&amp;lt;br&amp;gt;&lt;br /&gt;
これをコンパイルするには&lt;br /&gt;
 gcc -o pttctl pttctl.c -lrt&lt;br /&gt;
使い方は&lt;br /&gt;
 pttctl /dev/ttyUSB0 5091&lt;br /&gt;
のように引数に対象のデバイスと、使うポート番号を指定して起動します。&amp;lt;br&amp;gt;&lt;br /&gt;
このプログラム自体はデーモン(常駐)化して使用します。やり方は後で説明しますが、とりあえずフォアグラウンドで試してみてください。&amp;lt;br&amp;gt;&lt;br /&gt;
PTTを制御するにはTCPで指定のポートに対して書き込みを行います。ただし前置詞として&amp;quot;NETPTT:&amp;quot;を付けます。書き込みはnetcat(nc)が簡単です。ローカルで試すならnetcat-traditionalパッケージをインストールしてください。&amp;lt;br&amp;gt;&lt;br /&gt;
PTTをオン、つまり送信するなら&lt;br /&gt;
 echo &amp;quot;NETPTT:ON&amp;quot; | nc localhost 5091&lt;br /&gt;
オフにする(離す)なら&lt;br /&gt;
 echo &amp;quot;NETPTT:OFF&amp;quot; | nc localhost 5091&lt;br /&gt;
を実行します。ですがこれだけだと押したかどうかを判断するのが面倒なので、状態反転も持たせてあります。&lt;br /&gt;
 echo &amp;quot;NETPTT:ALT&amp;quot; | nc localhost 5091&lt;br /&gt;
で現在の状態を反転します。オフならオンに、オンならオフになります。&amp;lt;br&amp;gt;&lt;br /&gt;
なお、特小の場合には連続送信は3分未満となっている(無線機が勝手に切る)ので、このプログラムでは送信状態になってから170秒でオフにするようにしています。&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==まとめる==&lt;br /&gt;
ここまでの作業をまとめて無線ゲートウェイをつくります。Raspberry Pi(3b+)の場合ですが&amp;lt;br&amp;gt;&lt;br /&gt;
*&amp;lt;s&amp;gt;オンボードのオーディオデバイスを全て無効化しDigiRigだけ使うようにする&amp;lt;/s&amp;gt;&lt;br /&gt;
*pjsuaをコンパイルし、/usr/local/bin/pjsua とする&lt;br /&gt;
*pjsuaの設定ファイルを /usr/local/etc/pjsua.conf とする&lt;br /&gt;
*PTT制御プログラムをコンパイルし /usr/local/bin/pttctl とする&lt;br /&gt;
以上を行い、/etc/rc.local に以下を書いて再起動しても無線ゲートウェイとして動くようにします。&lt;br /&gt;
 #!/bin/sh -e&lt;br /&gt;
 #&lt;br /&gt;
 # rc.local&lt;br /&gt;
 #&lt;br /&gt;
 # This script is executed at the end of each multiuser runlevel.&lt;br /&gt;
 # Make sure that the script will &amp;quot;exit 0&amp;quot; on success or any other&lt;br /&gt;
 # value on error.&lt;br /&gt;
 #&lt;br /&gt;
 # In order to enable or disable this script just change the execution&lt;br /&gt;
 # bits.&lt;br /&gt;
 #&lt;br /&gt;
 # By default this script does nothing.&lt;br /&gt;
 &lt;br /&gt;
 # Print the IP address&lt;br /&gt;
 _IP=$(hostname -I) || true&lt;br /&gt;
 if [ &amp;quot;$_IP&amp;quot; ]; then&lt;br /&gt;
   printf &amp;quot;My IP address is %s\n&amp;quot; &amp;quot;$_IP&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 nohup /usr/local/bin/pttctl /dev/ttyUSB0 5091 &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 &amp;amp;&lt;br /&gt;
 screen -dmS pjsua /usr/local/bin/pjsua --config-file /usr/local/etc/pjsua.conf &amp;amp;&lt;br /&gt;
 &lt;br /&gt;
 exit 0&lt;br /&gt;
pjsuaはttyから切り離されたがらないのでscreenでバックグラウンド起動させます(デフォルトで入っていない場合はaptでscreenを入れて)。&amp;lt;br&amp;gt;&lt;br /&gt;
これで無線ゲートウェイ、要するにSIPを喋る無線機アダプタのできあがりです。&amp;lt;br&amp;gt;&lt;br /&gt;
性能的にはpi zero系でもかまわないと思うのですが、OTGケーブルが要るのがちょっと面倒かも。&lt;br /&gt;
&lt;br /&gt;
=Asteriskから使う=&lt;br /&gt;
このシステムの完成図は次のようになります。&amp;lt;br&amp;gt;&lt;br /&gt;
[[画像:AstRadio6.png | 640px]]&amp;lt;br&amp;gt;&lt;br /&gt;
無線ゲートウェイができたのでAsteriskから使いましょう。無線区間と&amp;quot;通話&amp;quot;するだけなら単にSIPの電話機として扱うだけです。Dialしてやれば無線の区間で何が話されているのかは聞くことができます。ですが、こちらから発話しようとするとPTTを押さないといけないので、PTT制御が必要になります。&amp;lt;br&amp;gt;&lt;br /&gt;
まず、PTT制御するAsteriskのハンドラを書きます。これはnetcat(nc)で無線ゲートウェイに対して制御を投げます。ただし、IPアドレスを明示指定して書いてしまうと無線ゲートウェイのIPアドレスが変わった場合に書き換えが必要になってしまうので、Asteriskが『知っている』エンドポイント名で指定できるようにします。&amp;lt;br&amp;gt;&lt;br /&gt;
PJSIP_CONTACTS DBがIPアドレスを含むコンタクトを持っているので、そこからIPアドレスだけ取り出します。netcat(nc)する場合のポート番号はpttctlの引数で指定したものと同じものを設定してください。無線ゲートウェイのエンドポイント名が変わった場合にはphone10の部分を書き換える必要があります。&lt;br /&gt;
 [sub-pttctl]&lt;br /&gt;
 exten =&amp;gt; s,1,NoOp&lt;br /&gt;
 exten =&amp;gt; s,n,Set(TARGET=phone10)&lt;br /&gt;
 exten =&amp;gt; s,n,Set(RCONTACT=${PJSIP_DIAL_CONTACTS(${TARGET})})&lt;br /&gt;
 exten =&amp;gt; s,n,Set(RCONTACT=${CUT(RCONTACT,@,2)})&lt;br /&gt;
 exten =&amp;gt; s,n,Set(RCONTACT=${CUT(RCONTACT,:,1)})&lt;br /&gt;
 exten =&amp;gt; s,n,System(echo ${ARG1} | /usr/bin/nc ${RCONTACT} 5091)&lt;br /&gt;
 exten =&amp;gt; s,n,Return&lt;br /&gt;
ダイヤルして無線ゲートウェイと通話中に、このハンドラを使えるようにします。DYNAMIC_FEATUREで指定します。&amp;lt;br&amp;gt;&lt;br /&gt;
features.confに以下のようにハンドラを登録します。登録するのはapplicationmapになります。&lt;br /&gt;
 [applicationmap]&lt;br /&gt;
 pttctl =&amp;gt; **,self/caller,Gosub(sub-pttctl,s,1(&amp;quot;NETPTT:ALT&amp;quot;))&lt;br /&gt;
内線のextenとしては以下のような感じになります。内線8890を無線機区間用として例示します。&lt;br /&gt;
 exten =&amp;gt; 8890,1,NoOp&lt;br /&gt;
 exten =&amp;gt; 8890,n,Set(__DYNAMIC_FEATURES=pttctl)&lt;br /&gt;
 exten =&amp;gt; 8890,n,Dial(PJSIP/phone10)&lt;br /&gt;
 exten =&amp;gt; 8890,n,Hangup&lt;br /&gt;
DYNAMIC_FEATUREを登録したので、無線ゲートウェイに対して通話中に&amp;quot;**&amp;quot;を押すとPTTのオン、オフを行うことができます。これで無線でしゃべることもできるようになります。&amp;lt;br&amp;gt;&lt;br /&gt;
ただし、これは少し問題があります。PTTをオンにしたままAsterisk側の電話機を切ってしまうとPTTホールド状態で終了してしまい電波を掴んだままになってしまい、pttctlのタイムアウト(170秒)まで送信状態が続いてしまうので、電話を切ったらPTTをオフにしてやらなくてはいけません。次のように修正します。&lt;br /&gt;
 exten =&amp;gt; 8890,1,NoOp&lt;br /&gt;
 exten =&amp;gt; 8890,n,Set(CHANNEL(hangup_handler_push)=sub-pttctl,s,1(&amp;quot;NETPTT:OFF&amp;quot;))&lt;br /&gt;
 exten =&amp;gt; 8890,n,Set(__DYNAMIC_FEATURES=pttctl)&lt;br /&gt;
 exten =&amp;gt; 8890,n,Dial(PJSIP/phone10)&lt;br /&gt;
 exten =&amp;gt; 8890,n,Hangup&lt;br /&gt;
ハングアップハンドラとしてPTTオフを登録します。&lt;br /&gt;
==電話機側も無線みたいに入りたい==&lt;br /&gt;
電話機側も複数入って無線区間とやりとりしたい場合には音声会議につっこむ手段があります。例えば無線ゲートウェイを以下のコマンドで会議、radioに参加させます。&lt;br /&gt;
 channel originate PJSIP/phone10 application ConfBridge radio&lt;br /&gt;
これでConfBridge(radio)に電話機側から参加すれば無線区間同様に同時に通話できます。が、しかしPTTの制御ができないので少し工夫します。音声会議の場合、DTMFが音声会議のメニュー制御に取られるのでDYNAMIC_FEATURESの方法が使えないため、ConfBridgeのメニューでPTTを制御します。ただこのとき引数を受け付けないようなので、まずPTT制御用のextenを以下のように書きます。&lt;br /&gt;
 [sub-pttctl2]&lt;br /&gt;
 exten =&amp;gt; s,1,NoOp&lt;br /&gt;
 exten =&amp;gt; s,n,Set(TARGET=phone10)&lt;br /&gt;
 exten =&amp;gt; s,n,Set(RCONTACT=${PJSIP_DIAL_CONTACTS(${TARGET})})&lt;br /&gt;
 exten =&amp;gt; s,n,Set(RCONTACT=${CUT(RCONTACT,@,2)})&lt;br /&gt;
 exten =&amp;gt; s,n,Set(RCONTACT=${CUT(RCONTACT,:,1)})&lt;br /&gt;
 exten =&amp;gt; s,n,System(echo &amp;quot;NETPTT:ALT&amp;quot; | /usr/bin/nc ${RCONTACT} 5091)&lt;br /&gt;
次にconfbridge.confには以下のような無線用メニューを書きます&lt;br /&gt;
 [radiomenu]&lt;br /&gt;
 type=menu&lt;br /&gt;
 **=dialplan_exec(sub-pttctl2,s,1)&lt;br /&gt;
 *1=toggle_mute&lt;br /&gt;
 *4=decrease_listening_volume&lt;br /&gt;
 *6=increase_listening_volume&lt;br /&gt;
 *7=decrease_talking_volume&lt;br /&gt;
 *8=leave_conference&lt;br /&gt;
 *9=increase_talking_volume&lt;br /&gt;
&amp;quot;**&amp;quot;以外はまあ適当に。&amp;lt;br&amp;gt;&lt;br /&gt;
その上でダイヤルするには以下のように書きます&lt;br /&gt;
 exten =&amp;gt; 8891,1,NoOp&lt;br /&gt;
 exten =&amp;gt; 8891,n,Set(CHANNEL(hangup_handler_push)=sub-pttctl,s,1(&amp;quot;NETPTT:OFF&amp;quot;))&lt;br /&gt;
 exten =&amp;gt; 8891,n,Answer&lt;br /&gt;
 exten =&amp;gt; 8891,n,ConfBridge(radio,,,radiomenu)&lt;br /&gt;
 exten =&amp;gt; 8891,n,Hangup&lt;br /&gt;
これで会議&amp;quot;radio&amp;quot;に参加するとPTTの制御もできるようになります。ただし『誰か』がPTTをオンにすると会議内の全員の声が無線に飛びますから、あまりわいわいしないようにとか、オンにしたのとは別な人がオフにもできるので運用上で注意してください。また、上の例ではPTTで発話中に誰かが回線を切るとPTTがオフになります。&lt;br /&gt;
&lt;br /&gt;
=解決したい=&lt;br /&gt;
情報お持ちの方、更新して！&amp;lt;br&amp;gt;&lt;br /&gt;
*&amp;lt;s&amp;gt;ALSAのデバイスが複数あっても明示指定して使えるようにしたい&amp;lt;/s&amp;gt; →解決(したつもり)&lt;br /&gt;
*無線機が音を出してない時にパツパツ音がするのを止めたい →どうも無線機のせいかも。無線機の電源を切る/ケーブルを抜く、で止まる。&lt;br /&gt;
&lt;br /&gt;
[[カテゴリ:Asterisk]]&lt;br /&gt;
[[カテゴリ:Pjsip]]&lt;br /&gt;
[[カテゴリ:無線]]&lt;br /&gt;
&lt;br /&gt;
=ついでに=&lt;br /&gt;
欲が出ます。オーディオデバイスを明示指定する方法がわかったら、Raspberry Piのヘッドフォンジャックも使いたいじゃないですか。&amp;lt;br&amp;gt;&lt;br /&gt;
外付けでアンプが必要にはなりますが、これをページングスピーカーとして使うこともできます。pjsuaをもうひとつ起動し、自動着信にしておけばDialするだけでページング用に使えます。&amp;lt;br&amp;gt;&lt;br /&gt;
その場合、もうひとつのpjsuaは以下の例のような設定ファイルを作ります。&lt;br /&gt;
 # PJSUA config(paging)&lt;br /&gt;
 --local-port 5082&lt;br /&gt;
 --log-level 0&lt;br /&gt;
 --capture-dev -1&lt;br /&gt;
 --playback-dev 0&lt;br /&gt;
 --no-vad&lt;br /&gt;
 --id sip:phone11@192.168.254.234&lt;br /&gt;
 --registrar sip:192.168.254.234:5070&lt;br /&gt;
 --realm *&lt;br /&gt;
 --username phone11&lt;br /&gt;
 --password password&lt;br /&gt;
 --auto-answer 200&lt;br /&gt;
Asteriskの別なアカウントとしてREGISTERするのは当然ですが、--local-portで、もうひとつのpjsuaが使っているポートとは別なポートを指定することと、オーディオ入力デバイスがないので --caputure-dev を -1 に設定するところがポイントです。これでRaspberry Piは無線ゲートウェイ兼ページング用として使うことができます。&amp;lt;br&amp;gt;&lt;br /&gt;
店内放送を電話からやってるところ見たことありません？&lt;br /&gt;
=ローカル(同一ホスト)版=&lt;br /&gt;
Asteriskと同じサーバ上で動かす場合、わざわざPjSUAでB2BUAにせず、AsteriskのAudioScoketを使えば簡単に実装できます。ので、作っておきました。&amp;lt;br&amp;gt;&lt;br /&gt;
単一スクリプトで音声通話とPTT制御(DTMFの&#039;*&#039;)をやっていますので、ハングアップしたらPTT OFFも自動で行います。PTTを&#039;*&#039;以外にしたい場合にはプログラムを書き換えてください。&lt;br /&gt;
:https://github.com/takao-t/AsToRadio&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk%2BRadio&amp;diff=12578</id>
		<title>Asterisk+Radio</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk%2BRadio&amp;diff=12578"/>
		<updated>2026-01-19T19:41:57Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* ついでに */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ここでいうRadioは無線機のことなのです。&amp;lt;br&amp;gt;&lt;br /&gt;
注:当初、レピータと表記していましたが、うちらの業界的にはゲートウェイだろうってことでゲートウェイに改めました。&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=ニーズ=&lt;br /&gt;
PBXに無線機、特定小電力を接続するニーズは結構あります。特に店舗運営をしているような場合、フロアは無線機を使っているケースが少なくありません。というわけで以前から統合したソリューションを出しているメーカー/ベンダーもあります。んじゃあAsteriskでもやってしまおうという計画。&lt;br /&gt;
(世の中にはSIPを喋る無線基地局もあります)&lt;br /&gt;
&lt;br /&gt;
=注意=&lt;br /&gt;
この方法を使うとアマチュア無線機とか業務無線機(特小とかデジ簡ではないやつ、免許局)も繋ぐことができますが、技術的なこと以外の問題点が多々あるので繋ぐ場合には自分で調べてください。業務上で無線と電話を繋いでいる例はもちろんあります。&amp;lt;br&amp;gt;&lt;br /&gt;
オーディオを外から流し込むとデータ通信にも使用できてしまう可能性がありますが、技適を受けた特小無線機の場合は電波形式がF3E(音声電話)なので、音声チャネル上であってもデジタル信号を送信すると別な電波形式になるため技適の範囲から逸脱しますので行わないでください。&lt;br /&gt;
&lt;br /&gt;
=しくみ=&lt;br /&gt;
無線機とはいっても音声のやりとりなので基本的な接続は簡単で、Asteriskからオーディオを入出力してやれば無線と音声でやりとりできます。要するにアナログのB2BUAなわけです。&amp;lt;br&amp;gt;&lt;br /&gt;
[[画像:AstRadio1.png | x240px]]&amp;lt;br&amp;gt;&lt;br /&gt;
とはいえ問題はありまして、PTT(Push-To-Talk)をどうするかです。通常、無線機は半二重で誰かが喋っている間は他は聞く動作になり、喋りたい時にはPTTを押して喋ります。なのでAsteriskからPTTを制御しなくてはなりません。&amp;lt;br&amp;gt;&lt;br /&gt;
[[画像:AstRadio2.png | x240px]]&amp;lt;br&amp;gt;&lt;br /&gt;
でまあ無線機のヘッドセットとか外部マイクにはPTT制御がついているため、これを何等かの方法で制御してやればAsteriskから無線機が制御できます。思いつく簡単な方法としては入手性の容易なUSBシリアルを使って、RTSとかDTRの制御線でPTTを制御する方法です。&amp;lt;br&amp;gt;&lt;br /&gt;
[[画像:AstRadio3.png | x240px]]&amp;lt;br&amp;gt;&lt;br /&gt;
ですがここで再度問題が。Asteriskを入れるようなサーバとかアプライアンスはオーディオインタフェースが付いていなかったりするわけで、その場合、USBオーディオ(安い)を増設して使う方法が考えられます。&amp;lt;br&amp;gt;&lt;br /&gt;
[[画像:AstRadio4.png | x240px]]&amp;lt;br&amp;gt;&lt;br /&gt;
まあ、これで良いといえば良いのですが、この方法だと回路とかケーブルを自作しないとできないのでちょいと面倒です。できれば何も自作したくないですよね。電子回路の知識とかまで要求されるのもアレですし。そして、この方法のもうひとつの問題はUSBケーブル2本挿しというあまり美しくない構成になることです。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
参考：無線機によってはVOX(Voice Operated eXchanged)という機能を備えているものがあります。これは音声によって自動的に送信するもので、この機能があればPTT制御を音声で行うことができますが特小機では本体にこの機能を備えるものが少ない(ICOM IC-4310,4400などは本体にこの機能がある)ことと、音声以外のノイズでも送信状態になってしまうので、運用に注意が必要です。VOXを使えばPTT制御はなしで使えるので、通常のオーディオインタフェースで接続することができますが無線機に対応したケーブルを作ることが必要となります。&lt;br /&gt;
&lt;br /&gt;
=DigiRig mobile=&lt;br /&gt;
探せばある！&amp;lt;br&amp;gt;&lt;br /&gt;
上記の構成を考えた場合、必要なコンポーネントとしてはUSBオーディオとUSBシリアルで、これを1台にまとめる（USBケーブル1本)場合にはUSBハブが必要になります。PTT制御回路を加えたものを基板を起こして作れば無線インタフェースのできあがりなので、作るかと思ったのですが作り始める前によく考えようというわけでして。&amp;lt;br&amp;gt;&lt;br /&gt;
もともとRaspberry PiをPBX化する[[PIAST]]ではリレー制御回路を用意したりしてましたが、Raspberry PiはオーディオINを持たない(OUTのみ)ので別途USBかSPIのオーディオインタフェースを付けてやる必要があり、難儀してしました。&amp;lt;br&amp;gt;&lt;br /&gt;
んでまあ、こんなのは誰か作って売ってるだろうと探してみたらありました！どうやって探したかというと何のことはないアマチュア無線用です。最近のアマチュア無線機ではデジタルモード(FT8等)通信のためにオーディオIFと無線機制御が付いていて、USB接続できるようになっていますが、ちょっと昔のアマチュア無線機にはオーディオ入出力(要するにマイクとスピーカ)しか付いておらず、オーディオしかない無線機でデジタルモードを使うにはPCのサウンドカードやらを使います。なので昔のアマチュア無線機(リグ)をデジタル対応にする機器類が売られているので、よさげなのを探したらありました！&amp;lt;br&amp;gt;&lt;br /&gt;
[https://www.qrz.com/db/K0TX K0TX] 局が開発/販売している DigiRig がそれで、OSHWとして公開されているので自分でも作ろうと思えば作れなくはありませんが、売られているものの出来がとても良く、買った方が早いでしょう。&amp;lt;br&amp;gt;&lt;br /&gt;
https://digirig.net/&amp;lt;br&amp;gt;&lt;br /&gt;
今回使っているのは DigiRig mobile というタイプです。&amp;lt;br&amp;gt;&lt;br /&gt;
https://digirig.net/product/digirig-mobile/&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[画像:DigiRigMobile.JPG | 420px]]&amp;lt;br&amp;gt;&lt;br /&gt;
USBインタフェースはUSB-Cコネクタで写真の左側、右側が無線機の接続用です。無線機接続用にAUDIOとSERIALがありますが、今回使用するのはAUDIOだけです。SERIALは無線機制御(CAT)のインタフェースに繋ぐ用です。&amp;lt;br&amp;gt;&lt;br /&gt;
無線機と接続するには無線機のメーカ毎のケーブルが売られているので、これも併せて買えばOKです。テストではICOM用とケンウッド(Baofeng)を入手して使用しています。&amp;lt;br&amp;gt;&lt;br /&gt;
[[画像:DigiRigICOM.JPG | 420px]]&amp;lt;br&amp;gt;&lt;br /&gt;
ICOMの特小機なら&amp;quot;ICOM HT Cable for Digirig Mobile&amp;quot;が使えます(2ピン、2.5と3.5のタイプのもの)。ケンウッド機の場合には&amp;quot;Baofeng HT Digirig Cables Set&amp;quot;が使えます(注:セットケーブルの黒い方。緑は使わない)。アルインコに関しては別なシステム(アマチュア無線機)でアイコム互換の2ピン(2.5/3.5のタイプ)が使えることを確認しています。八重洲、スタンダード(たぶん3.5Φ 4P方式)は調査していませんが、わかれば追記します。&amp;lt;br&amp;gt;&lt;br /&gt;
基本的にDigiRig Mobileとケーブルを買えば接続できるので工作等は必要ありません。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
参考：ケーブルさえあればどのメーカーの無線機でも接続可能な「はず」です。無線機との接続ケーブルは各種ありますが、今回試したのはICOMの2ピン(2.5/3/5)タイプとケンウッド用です。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
注意1：同じICOMでもIC-4310はヘッドセット用のコネクタが異なります。この場合にはICOMのオプションケーブル(OPC-2132)を使用することで2ピンタイプに変換してからDigiRigのケーブルと接続します。&amp;lt;br&amp;gt;&lt;br /&gt;
IC-4310のTRRSは八重洲と同じ配列でいけるようです。八重洲CT-91を使って3.5/2.5に変換し、ICOM HT Cableで動作を確認しました。3.5ΦでTRRSのタイプはPTT制御も共通しているんじゃないかと思います。ただしIC-4310は防水のネジ付3.5mmなのでプラグの入手が困難なのでケーブルが自作しにくいのでOPC-2132を買うのが早いでしょう。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
注意2：ICOMとケンウッドはコネクタの形状が似ていますが、PTTの制御方式が異なるのでケーブルは兼用できません。それ以前に2.5と3.5の役割が逆だし。そもそもプラグ間のピッチが異なります。ケンウッドがなんで Baofeng 用なのかというとケンウッドのPTT方式をパクった中国製が多いからです。なんでケンウッド式を使ったのかは謎ですが。&lt;br /&gt;
&lt;br /&gt;
=ここで一回躓く=&lt;br /&gt;
さて、シカケは揃いました。あとはAsteriskに接続して・・・と、やってみたのですが上手くないです。理由がどうにもこうにもわからないので諦めました。&amp;lt;br&amp;gt;&lt;br /&gt;
当初の目論見ではAsteriskのConsoleデバイスで繋ごうと思ってたのですが、どうもオーディオがおかしくなりまともに音が出ないことが多くあります。たまに出ても数秒しか持たないなどさんざんでした。おそらくALSA+Pulseaudio+chan_consoleの組み合わせが悪いのか何なのかなのですが、もし解決方法を気付いた人がいたら教えてください。[[chan_console]] のテストをやっていて発見しました。USBオーディオの種類を変えてみても症状が治まらないので諦めました。&lt;br /&gt;
=無線ゲートウェイを作る=&lt;br /&gt;
というわけで、Asteriskで直収するのは諦めてSIPを喋る無線ゲートウェイをつくりましょう。話は簡単です。SIPのソフトフォンを入れたSBC等を用意して、それにDigiRigで無線機を繋ぎ、ヘッドセット等の代わりが無線機になっていればOKです。&amp;lt;br&amp;gt;&lt;br /&gt;
でまあ、今回はとりあえずRaspberry Pi 3B+を使いました。ソフトフォンを動かすだけなら余ってるRaspberry Piとかでいけます。&amp;lt;br&amp;gt;&lt;br /&gt;
参考1：SIP,RTPのポートについて考慮すればAsteriskと同居させることはできます。なので、サーバ内でpjsuaを動かすのもアリですが、電波状況の良い場所に設置することを考えると単独のゲートウェイ式の方が良いと思います。&amp;lt;br&amp;gt;&lt;br /&gt;
参考2：Raspberry Pi 2B+でも動作を確認しました。Raspberry Pi 32bit版OSとなりますが動作に問題はなさそうです。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
今回の接続は下図のようになります。&amp;lt;br&amp;gt;&lt;br /&gt;
[[画像:AstRadio5.png | 480px]]&lt;br /&gt;
==pjsua==&lt;br /&gt;
ソフトフォンとしてPjSIPのUA、pjsuaを使います。そういえばpjproject自体のコンパイル等はVoIP-Infoで説明していない(AsteriskのPjSIPだけ)ことに今更気付きました。&amp;lt;br&amp;gt;&lt;br /&gt;
===Raspberry Piセットアップ===&lt;br /&gt;
まずRaspberry Piをセットアップします。Raspberry Pi Imagerで最新のものを入れてください。ここではbookwormベースのRaspberry Pi OSを例にしています。インストールしたら最低限のセットアップ/アップデートを行っておきます。なお、ソフトフォンとして使うのでIPアドレスを固定する必要はありません。Asteriskに対してREGISTERして使います。&amp;lt;br&amp;gt;&lt;br /&gt;
Raspberry Pi OSの場合デフォルトのインストールでほとんどのものは足りているはずなのですが、pjsuaでALSAを使いたいのでALSAとPortaudioの開発ライブラリを入れておいてください。&lt;br /&gt;
 apt-get install libasound2-dev portaudio19-dev&lt;br /&gt;
&lt;br /&gt;
====オンボードオーディオの無効化====&lt;br /&gt;
必ずしもやる必要はないと思います。&amp;lt;br&amp;gt;&lt;br /&gt;
もし、pjsuaがオーディオデバイスを見失って正しく送受話できない場合にはRaspberry Piの設定を変更します。&amp;lt;br&amp;gt;&lt;br /&gt;
/boot/firmware/config.txt を編集します。以下の2か所を例のように修正し、BCMオーディオ(ヘッドフォン)とHDMIオーディオを無効にします。&lt;br /&gt;
 # Enable audio (loads snd_bcm2835)&lt;br /&gt;
 #dtparam=audio=on&lt;br /&gt;
 dtparam=audio=off&lt;br /&gt;
&lt;br /&gt;
 # Enable DRM VC4 V3D driver&lt;br /&gt;
 #dtoverlay=vc4-kms-v3d&lt;br /&gt;
 dtoverlay=vc4-kms-v3d,noaudio&lt;br /&gt;
 max_framebuffers=2&lt;br /&gt;
以下のようにサウンドカードがひとつだけになれば正解です&lt;br /&gt;
 # cat /proc/asound/cards&lt;br /&gt;
  0 [Device         ]: USB-Audio - USB Audio Device&lt;br /&gt;
                       C-Media Electronics Inc. USB Audio Device at usb-3f980000.usb-1.3.2, full speed&lt;br /&gt;
&lt;br /&gt;
===PjSIPコンパイル===&lt;br /&gt;
PjSIP自体はPjProjectのページからダウンロードして展開します。&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.pjsip.org/&amp;lt;br&amp;gt;&lt;br /&gt;
あるいはPjprojectのgithubから入手することもできます。&amp;lt;br&amp;gt;&lt;br /&gt;
https://github.com/pjsip/pjproject&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
展開するとバージョンに応じたディレクトリ(pjproject-2.14.1)ができるので、その下で作業します。cloneした場合には単にpjprojectというディレクトリになります。&amp;lt;br&amp;gt;&lt;br /&gt;
 ./configure --with-external-pa&lt;br /&gt;
 make dep&lt;br /&gt;
 make&lt;br /&gt;
するとコンパイルできます。&amp;lt;br&amp;gt;&lt;br /&gt;
コンパイルが完了すると pjproject-2.14.1/pjsip-apps/bin の下に pjsua-aarch64-unknown-linux-gnu というプログラムができあがっているので、これを適当なディレクトリに pjsua という名前でコピーしておきます。&lt;br /&gt;
&lt;br /&gt;
===pjsua設定ファイル===&lt;br /&gt;
以下のような内容でAsteriskに対してREGISTERするソフトフォンとして動作させます。無線機と接続するのでオートアンサモードにしておきます。&lt;br /&gt;
 # PJSUA config&lt;br /&gt;
 --local-port 5090&lt;br /&gt;
 --capture-dev 1&lt;br /&gt;
 --playback-dev 1&lt;br /&gt;
 --no-vad&lt;br /&gt;
 --id sip:phone10@192.168.254.234&lt;br /&gt;
 --registrar sip:192.168.254.234:5070&lt;br /&gt;
 --realm *&lt;br /&gt;
 --username phone10&lt;br /&gt;
 --password password&lt;br /&gt;
 --auto-answer 200&lt;br /&gt;
auto-answerの指定値は応答コード(200 OK)です。&amp;lt;br&amp;gt;&lt;br /&gt;
設定ファイルを使用しての起動は以下のようにします。&lt;br /&gt;
 ./pjsua --config-file pjsua.conf&lt;br /&gt;
SIPのトレースが出てウルサイのを消したい場合には&lt;br /&gt;
 # PJSUA config&lt;br /&gt;
 --local-port 5090&lt;br /&gt;
 --log-level 0&lt;br /&gt;
 --capture-dev 1&lt;br /&gt;
 --playback-dev 1&lt;br /&gt;
 --no-vad&lt;br /&gt;
 --id sip:phone10@192.168.254.234&lt;br /&gt;
 --registrar sip:192.168.254.234:5070&lt;br /&gt;
 --realm *&lt;br /&gt;
 --username phone10&lt;br /&gt;
 --password password&lt;br /&gt;
 --auto-answer 200&lt;br /&gt;
--log-level で出力される情報を変更します。&amp;lt;br&amp;gt;&lt;br /&gt;
--local-port はpjsua側のSIPポートなので他のものと被らない値を指定してください。&amp;lt;br&amp;gt;&lt;br /&gt;
====オーディオデバイスの確認====&lt;br /&gt;
オーディオデバイスは --capture-devと--playback-devで指定しますが、これはpjsua(pjsip)が認識しているオーディオデバイスのIDです。この例ではALSAが認識しているデバイスは&lt;br /&gt;
 # cat /proc/asound/cards&lt;br /&gt;
  0 [vc4hdmi        ]: vc4-hdmi - vc4-hdmi&lt;br /&gt;
                       vc4-hdmi&lt;br /&gt;
  1 [Headphones     ]: bcm2835_headpho - bcm2835 Headphones&lt;br /&gt;
                       bcm2835 Headphones&lt;br /&gt;
  2 [Device         ]: USB-Audio - USB Audio Device&lt;br /&gt;
                       C-Media Electronics Inc. USB Audio Device at usb-3f980000.usb-1.3.2, full spee&lt;br /&gt;
となっているので、ALSAの認識では0,1,2(hw:0,0、hw:1,0とか)になるのですが、pjsuaはこの通りには認識しません。pjsuaが認識しているデバイスIDを確認するにはpjsip-apps/binの下にあるpjsystestを使います。&lt;br /&gt;
 # cd pjsip-apps/bin&lt;br /&gt;
 # ls&lt;br /&gt;
 PJSYSTEST.TXT         pjsua-aarch64-unknown-linux-gnu      samples&lt;br /&gt;
 PJSYSTEST_RESULT.TXT  pjsystest-aarch64-unknown-linux-gnu&lt;br /&gt;
pjsystest-aarch64-unknown-linux-gnuがそれにあたりますので(pjsua同様にアーキテクチャ名とかが付く)、これを実行します。ログがわーっと出てメニューが出ますので、10の&amp;quot;View Devices&amp;quot;を実行します。&lt;br /&gt;
 M E N U :&lt;br /&gt;
 ---------&lt;br /&gt;
 0: Tests&lt;br /&gt;
   00: Run test wizard&lt;br /&gt;
   01: Device Test&lt;br /&gt;
   02: Play Tone&lt;br /&gt;
   03: Play WAV File1&lt;br /&gt;
   04: Play WAV File2&lt;br /&gt;
   05: Record Audio&lt;br /&gt;
   06: Latency Test&lt;br /&gt;
   07: AEC/AES Test&lt;br /&gt;
 &lt;br /&gt;
   09: Exit&lt;br /&gt;
 1: Options&lt;br /&gt;
   10: View Devices&lt;br /&gt;
   11: View Settings&lt;br /&gt;
 &lt;br /&gt;
 Enter the menu number: 10&lt;br /&gt;
 18:03:50.311              systest.c  Running Audio Device List&lt;br /&gt;
 Audio Device List&lt;br /&gt;
 Found 2 devices&lt;br /&gt;
   0: PA [bcm2835 Headphones: - (hw:1,0)] (0/8)&lt;br /&gt;
   1: PA [USB Audio Device: - (hw:2,0)] (1/2)&lt;br /&gt;
 &lt;br /&gt;
 1:OK&lt;br /&gt;
上の例をみるとわかるようにpjsuaは0をオンボードのヘッドフォンジャック、1をDigiRigのUSBオーディオと認識しているので、この場合の--capture-devと--playback-devの指定は &#039;&#039;&#039;1&#039;&#039;&#039; となります。&amp;lt;br&amp;gt;&lt;br /&gt;
言い訳け：--capture-devで指定できるのがどうもALSAデバイスではないというのには気付いてたんですが、sndinfoで見ろってコマンドラインのヘルプに書いてあるのにsndinfoが無いんで悩んでましたが、今のバージョンだとpjsystestで見られるというのにようやく気付いた次第。上の例だとたぶんPA(Portaudio)経由の認識で、HDMIサウンドは「使えない」と判断してるようです。&lt;br /&gt;
&lt;br /&gt;
===テスト===&lt;br /&gt;
ここまでで動作を確認できます。Asteriskに対するREGISTERが確認できれば、エンドポイント(ここの例ではphone10)に対してダイヤルすれば無線機と繋がります。Asteriskから&lt;br /&gt;
 exten =&amp;gt; 1234,1,Dial(PJSIP/phone10)&lt;br /&gt;
を行えばpjsuaは自動で応答し繋がりますので、無線で何か喋ると電話側で聞こえるはずです。音量の調整は無線機のボリュームとマイクゲイン、pjsua側設定やalsamixerでよしなに調整してください。電話機から喋りたい場合にはpjsuaに繋いだ無線機のPTTを手で押します。このPTTをソフト的に制御するのが次の課題です。&lt;br /&gt;
&lt;br /&gt;
==PTT制御==&lt;br /&gt;
注意：初期公開版から変更し、PTT制御をsocket対応としました。必要な処理が減ります。ですが、pttctl自体がかなりザルなので注意して使用してください。インターネット上に公開なんてしてはいけません。セキュリティを高める手段は他の方法を併用して行ってください。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
音声の入出力ができるようになったので、後はPTTを制御するだけです。前述のようにDigiRigはUSBシリアルも内蔵しており、RTSでPTTが制御できるようになっています。RTSを制御すればいいので簡単ですねと言いたいところですが、デバイスに対するIOCTLを発行しないとなのでちょいと面倒です。なので、この部分は書いておきました。&amp;lt;br&amp;gt;&lt;br /&gt;
Asteriskサンプル設定ファイルと同じところにpttctrlというプログラムを置いておきます。&amp;lt;br&amp;gt;&lt;br /&gt;
https://github.com/takao-t/asterisk-conf/tree/main/pttctrl&amp;lt;br&amp;gt;&lt;br /&gt;
これをコンパイルするには&lt;br /&gt;
 gcc -o pttctl pttctl.c -lrt&lt;br /&gt;
使い方は&lt;br /&gt;
 pttctl /dev/ttyUSB0 5091&lt;br /&gt;
のように引数に対象のデバイスと、使うポート番号を指定して起動します。&amp;lt;br&amp;gt;&lt;br /&gt;
このプログラム自体はデーモン(常駐)化して使用します。やり方は後で説明しますが、とりあえずフォアグラウンドで試してみてください。&amp;lt;br&amp;gt;&lt;br /&gt;
PTTを制御するにはTCPで指定のポートに対して書き込みを行います。ただし前置詞として&amp;quot;NETPTT:&amp;quot;を付けます。書き込みはnetcat(nc)が簡単です。ローカルで試すならnetcat-traditionalパッケージをインストールしてください。&amp;lt;br&amp;gt;&lt;br /&gt;
PTTをオン、つまり送信するなら&lt;br /&gt;
 echo &amp;quot;NETPTT:ON&amp;quot; | nc localhost 5091&lt;br /&gt;
オフにする(離す)なら&lt;br /&gt;
 echo &amp;quot;NETPTT:OFF&amp;quot; | nc localhost 5091&lt;br /&gt;
を実行します。ですがこれだけだと押したかどうかを判断するのが面倒なので、状態反転も持たせてあります。&lt;br /&gt;
 echo &amp;quot;NETPTT:ALT&amp;quot; | nc localhost 5091&lt;br /&gt;
で現在の状態を反転します。オフならオンに、オンならオフになります。&amp;lt;br&amp;gt;&lt;br /&gt;
なお、特小の場合には連続送信は3分未満となっている(無線機が勝手に切る)ので、このプログラムでは送信状態になってから170秒でオフにするようにしています。&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==まとめる==&lt;br /&gt;
ここまでの作業をまとめて無線ゲートウェイをつくります。Raspberry Pi(3b+)の場合ですが&amp;lt;br&amp;gt;&lt;br /&gt;
*&amp;lt;s&amp;gt;オンボードのオーディオデバイスを全て無効化しDigiRigだけ使うようにする&amp;lt;/s&amp;gt;&lt;br /&gt;
*pjsuaをコンパイルし、/usr/local/bin/pjsua とする&lt;br /&gt;
*pjsuaの設定ファイルを /usr/local/etc/pjsua.conf とする&lt;br /&gt;
*PTT制御プログラムをコンパイルし /usr/local/bin/pttctl とする&lt;br /&gt;
以上を行い、/etc/rc.local に以下を書いて再起動しても無線ゲートウェイとして動くようにします。&lt;br /&gt;
 #!/bin/sh -e&lt;br /&gt;
 #&lt;br /&gt;
 # rc.local&lt;br /&gt;
 #&lt;br /&gt;
 # This script is executed at the end of each multiuser runlevel.&lt;br /&gt;
 # Make sure that the script will &amp;quot;exit 0&amp;quot; on success or any other&lt;br /&gt;
 # value on error.&lt;br /&gt;
 #&lt;br /&gt;
 # In order to enable or disable this script just change the execution&lt;br /&gt;
 # bits.&lt;br /&gt;
 #&lt;br /&gt;
 # By default this script does nothing.&lt;br /&gt;
 &lt;br /&gt;
 # Print the IP address&lt;br /&gt;
 _IP=$(hostname -I) || true&lt;br /&gt;
 if [ &amp;quot;$_IP&amp;quot; ]; then&lt;br /&gt;
   printf &amp;quot;My IP address is %s\n&amp;quot; &amp;quot;$_IP&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 nohup /usr/local/bin/pttctl /dev/ttyUSB0 5091 &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 &amp;amp;&lt;br /&gt;
 screen -dmS pjsua /usr/local/bin/pjsua --config-file /usr/local/etc/pjsua.conf &amp;amp;&lt;br /&gt;
 &lt;br /&gt;
 exit 0&lt;br /&gt;
pjsuaはttyから切り離されたがらないのでscreenでバックグラウンド起動させます(デフォルトで入っていない場合はaptでscreenを入れて)。&amp;lt;br&amp;gt;&lt;br /&gt;
これで無線ゲートウェイ、要するにSIPを喋る無線機アダプタのできあがりです。&amp;lt;br&amp;gt;&lt;br /&gt;
性能的にはpi zero系でもかまわないと思うのですが、OTGケーブルが要るのがちょっと面倒かも。&lt;br /&gt;
&lt;br /&gt;
=Asteriskから使う=&lt;br /&gt;
このシステムの完成図は次のようになります。&amp;lt;br&amp;gt;&lt;br /&gt;
[[画像:AstRadio6.png | 640px]]&amp;lt;br&amp;gt;&lt;br /&gt;
無線ゲートウェイができたのでAsteriskから使いましょう。無線区間と&amp;quot;通話&amp;quot;するだけなら単にSIPの電話機として扱うだけです。Dialしてやれば無線の区間で何が話されているのかは聞くことができます。ですが、こちらから発話しようとするとPTTを押さないといけないので、PTT制御が必要になります。&amp;lt;br&amp;gt;&lt;br /&gt;
まず、PTT制御するAsteriskのハンドラを書きます。これはnetcat(nc)で無線ゲートウェイに対して制御を投げます。ただし、IPアドレスを明示指定して書いてしまうと無線ゲートウェイのIPアドレスが変わった場合に書き換えが必要になってしまうので、Asteriskが『知っている』エンドポイント名で指定できるようにします。&amp;lt;br&amp;gt;&lt;br /&gt;
PJSIP_CONTACTS DBがIPアドレスを含むコンタクトを持っているので、そこからIPアドレスだけ取り出します。netcat(nc)する場合のポート番号はpttctlの引数で指定したものと同じものを設定してください。無線ゲートウェイのエンドポイント名が変わった場合にはphone10の部分を書き換える必要があります。&lt;br /&gt;
 [sub-pttctl]&lt;br /&gt;
 exten =&amp;gt; s,1,NoOp&lt;br /&gt;
 exten =&amp;gt; s,n,Set(TARGET=phone10)&lt;br /&gt;
 exten =&amp;gt; s,n,Set(RCONTACT=${PJSIP_DIAL_CONTACTS(${TARGET})})&lt;br /&gt;
 exten =&amp;gt; s,n,Set(RCONTACT=${CUT(RCONTACT,@,2)})&lt;br /&gt;
 exten =&amp;gt; s,n,Set(RCONTACT=${CUT(RCONTACT,:,1)})&lt;br /&gt;
 exten =&amp;gt; s,n,System(echo ${ARG1} | /usr/bin/nc ${RCONTACT} 5091)&lt;br /&gt;
 exten =&amp;gt; s,n,Return&lt;br /&gt;
ダイヤルして無線ゲートウェイと通話中に、このハンドラを使えるようにします。DYNAMIC_FEATUREで指定します。&amp;lt;br&amp;gt;&lt;br /&gt;
features.confに以下のようにハンドラを登録します。登録するのはapplicationmapになります。&lt;br /&gt;
 [applicationmap]&lt;br /&gt;
 pttctl =&amp;gt; **,self/caller,Gosub(sub-pttctl,s,1(&amp;quot;NETPTT:ALT&amp;quot;))&lt;br /&gt;
内線のextenとしては以下のような感じになります。内線8890を無線機区間用として例示します。&lt;br /&gt;
 exten =&amp;gt; 8890,1,NoOp&lt;br /&gt;
 exten =&amp;gt; 8890,n,Set(__DYNAMIC_FEATURES=pttctl)&lt;br /&gt;
 exten =&amp;gt; 8890,n,Dial(PJSIP/phone10)&lt;br /&gt;
 exten =&amp;gt; 8890,n,Hangup&lt;br /&gt;
DYNAMIC_FEATUREを登録したので、無線ゲートウェイに対して通話中に&amp;quot;**&amp;quot;を押すとPTTのオン、オフを行うことができます。これで無線でしゃべることもできるようになります。&amp;lt;br&amp;gt;&lt;br /&gt;
ただし、これは少し問題があります。PTTをオンにしたままAsterisk側の電話機を切ってしまうとPTTホールド状態で終了してしまい電波を掴んだままになってしまい、pttctlのタイムアウト(170秒)まで送信状態が続いてしまうので、電話を切ったらPTTをオフにしてやらなくてはいけません。次のように修正します。&lt;br /&gt;
 exten =&amp;gt; 8890,1,NoOp&lt;br /&gt;
 exten =&amp;gt; 8890,n,Set(CHANNEL(hangup_handler_push)=sub-pttctl,s,1(&amp;quot;NETPTT:OFF&amp;quot;))&lt;br /&gt;
 exten =&amp;gt; 8890,n,Set(__DYNAMIC_FEATURES=pttctl)&lt;br /&gt;
 exten =&amp;gt; 8890,n,Dial(PJSIP/phone10)&lt;br /&gt;
 exten =&amp;gt; 8890,n,Hangup&lt;br /&gt;
ハングアップハンドラとしてPTTオフを登録します。&lt;br /&gt;
==電話機側も無線みたいに入りたい==&lt;br /&gt;
電話機側も複数入って無線区間とやりとりしたい場合には音声会議につっこむ手段があります。例えば無線ゲートウェイを以下のコマンドで会議、radioに参加させます。&lt;br /&gt;
 channel originate PJSIP/phone10 application ConfBridge radio&lt;br /&gt;
これでConfBridge(radio)に電話機側から参加すれば無線区間同様に同時に通話できます。が、しかしPTTの制御ができないので少し工夫します。音声会議の場合、DTMFが音声会議のメニュー制御に取られるのでDYNAMIC_FEATURESの方法が使えないため、ConfBridgeのメニューでPTTを制御します。ただこのとき引数を受け付けないようなので、まずPTT制御用のextenを以下のように書きます。&lt;br /&gt;
 [sub-pttctl2]&lt;br /&gt;
 exten =&amp;gt; s,1,NoOp&lt;br /&gt;
 exten =&amp;gt; s,n,Set(TARGET=phone10)&lt;br /&gt;
 exten =&amp;gt; s,n,Set(RCONTACT=${PJSIP_DIAL_CONTACTS(${TARGET})})&lt;br /&gt;
 exten =&amp;gt; s,n,Set(RCONTACT=${CUT(RCONTACT,@,2)})&lt;br /&gt;
 exten =&amp;gt; s,n,Set(RCONTACT=${CUT(RCONTACT,:,1)})&lt;br /&gt;
 exten =&amp;gt; s,n,System(echo &amp;quot;NETPTT:ALT&amp;quot; | /usr/bin/nc ${RCONTACT} 5091)&lt;br /&gt;
次にconfbridge.confには以下のような無線用メニューを書きます&lt;br /&gt;
 [radiomenu]&lt;br /&gt;
 type=menu&lt;br /&gt;
 **=dialplan_exec(sub-pttctl2,s,1)&lt;br /&gt;
 *1=toggle_mute&lt;br /&gt;
 *4=decrease_listening_volume&lt;br /&gt;
 *6=increase_listening_volume&lt;br /&gt;
 *7=decrease_talking_volume&lt;br /&gt;
 *8=leave_conference&lt;br /&gt;
 *9=increase_talking_volume&lt;br /&gt;
&amp;quot;**&amp;quot;以外はまあ適当に。&amp;lt;br&amp;gt;&lt;br /&gt;
その上でダイヤルするには以下のように書きます&lt;br /&gt;
 exten =&amp;gt; 8891,1,NoOp&lt;br /&gt;
 exten =&amp;gt; 8891,n,Set(CHANNEL(hangup_handler_push)=sub-pttctl,s,1(&amp;quot;NETPTT:OFF&amp;quot;))&lt;br /&gt;
 exten =&amp;gt; 8891,n,Answer&lt;br /&gt;
 exten =&amp;gt; 8891,n,ConfBridge(radio,,,radiomenu)&lt;br /&gt;
 exten =&amp;gt; 8891,n,Hangup&lt;br /&gt;
これで会議&amp;quot;radio&amp;quot;に参加するとPTTの制御もできるようになります。ただし『誰か』がPTTをオンにすると会議内の全員の声が無線に飛びますから、あまりわいわいしないようにとか、オンにしたのとは別な人がオフにもできるので運用上で注意してください。また、上の例ではPTTで発話中に誰かが回線を切るとPTTがオフになります。&lt;br /&gt;
&lt;br /&gt;
=解決したい=&lt;br /&gt;
情報お持ちの方、更新して！&amp;lt;br&amp;gt;&lt;br /&gt;
*&amp;lt;s&amp;gt;ALSAのデバイスが複数あっても明示指定して使えるようにしたい&amp;lt;/s&amp;gt; →解決(したつもり)&lt;br /&gt;
*無線機が音を出してない時にパツパツ音がするのを止めたい →どうも無線機のせいかも。無線機の電源を切る/ケーブルを抜く、で止まる。&lt;br /&gt;
&lt;br /&gt;
[[カテゴリ:Asterisk]]&lt;br /&gt;
[[カテゴリ:Pjsip]]&lt;br /&gt;
[[カテゴリ:無線]]&lt;br /&gt;
&lt;br /&gt;
=ついでに=&lt;br /&gt;
欲が出ます。オーディオデバイスを明示指定する方法がわかったら、Raspberry Piのヘッドフォンジャックも使いたいじゃないですか。&amp;lt;br&amp;gt;&lt;br /&gt;
外付けでアンプが必要にはなりますが、これをページングスピーカーとして使うこともできます。pjsuaをもうひとつ起動し、自動着信にしておけばDialするだけでページング用に使えます。&amp;lt;br&amp;gt;&lt;br /&gt;
その場合、もうひとつのpjsuaは以下の例のような設定ファイルを作ります。&lt;br /&gt;
 # PJSUA config(paging)&lt;br /&gt;
 --local-port 5082&lt;br /&gt;
 --log-level 0&lt;br /&gt;
 --capture-dev -1&lt;br /&gt;
 --playback-dev 0&lt;br /&gt;
 --no-vad&lt;br /&gt;
 --id sip:phone11@192.168.254.234&lt;br /&gt;
 --registrar sip:192.168.254.234:5070&lt;br /&gt;
 --realm *&lt;br /&gt;
 --username phone11&lt;br /&gt;
 --password password&lt;br /&gt;
 --auto-answer 200&lt;br /&gt;
Asteriskの別なアカウントとしてREGISTERするのは当然ですが、--local-portで、もうひとつのpjsuaが使っているポートとは別なポートを指定することと、オーディオ入力デバイスがないので --caputure-dev を -1 に設定するところがポイントです。これでRaspberry Piは無線ゲートウェイ兼ページング用として使うことができます。&amp;lt;br&amp;gt;&lt;br /&gt;
店内放送を電話からやってるところ見たことありません？&lt;br /&gt;
=ローカル(同一ホスト)版=&lt;br /&gt;
Asteriskと同じサーバ上で動かす場合、わざわざPjSUAでB2BUAにせず、AsteriskのAudioScoketを使えば簡単に実装できます。ので、作っておきました。&lt;br /&gt;
:https://github.com/takao-t/AsToRadio&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12577</id>
		<title>Asterisk chan websocket</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12577"/>
		<updated>2025-12-16T17:26:57Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* その他 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[カテゴリ:Asterisk]]&lt;br /&gt;
[[カテゴリ:websocket]]&lt;br /&gt;
&lt;br /&gt;
Asteriskの新しいチャネルとしてWebsocketチャネルが追加された。&amp;lt;br&amp;gt;&lt;br /&gt;
使用可能なバージョンは 23.0.0,22.6,0, 21.11.0, 20.16.0 のそれぞれ以降のバージョン。メジャーバージョンによる追加ではなく、マイナーバージョンの途中から追加されているので注意。&amp;lt;br&amp;gt;&lt;br /&gt;
従来からあるPjSIPのws/wssではなく、チャネルドライバとしてのWebsocket。&lt;br /&gt;
:https://docs.asterisk.org/Configuration/Channel-Drivers/WebSocket/?h=chan_websocket&lt;br /&gt;
==関連するモジュール==&lt;br /&gt;
chan_websocket&amp;lt;br&amp;gt;&lt;br /&gt;
res_websocket_client&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 *CLI&amp;gt; core show channeltype WebSocket&lt;br /&gt;
 -- Info about channel driver: WebSocket --&lt;br /&gt;
   Device State: no&lt;br /&gt;
 Presence State: no&lt;br /&gt;
     Indication: no&lt;br /&gt;
      Transfer : no&lt;br /&gt;
   Capabilities:  (codec2|g723|ulaw|alaw|gsm|g726|g726aal2|adpcm|slin|slin12|slin16|slin24|slin32|slin44|slin48|slin96|slin192|lpc10|g729|speex|speex16|speex32|ilbc|g722|siren7|siren14|g719|opus|jpeg|png|h261|h263|h263p|h264|h265|mpeg4|vp8|vp9|red|t140|t38|silk8|silk12|silk16|silk24)&lt;br /&gt;
    Digit Begin: no&lt;br /&gt;
      Digit End: yes&lt;br /&gt;
     Send HTML : no&lt;br /&gt;
  Image Support: no&lt;br /&gt;
   Text Support: no&lt;br /&gt;
 *CLI&amp;gt; module show like res_websocket_client.so&lt;br /&gt;
 Module                         Description                              Use Count  Status      Support Level&lt;br /&gt;
 res_websocket_client.so        WebSocket Client Support                 2          Running              core&lt;br /&gt;
&lt;br /&gt;
==注意点==&lt;br /&gt;
Websocket接続ではあるものの、リアルタイムの場合には、RTPと同様に20ミリ秒のペーシング(1フレームあたり20ミリ秒)の送出間隔を守ること。AsteriskからWebsocketへの送出はこの20ミリ秒フレームで送られるが、外部からAsteriskに送りつける場合にも20ミリ秒を守る必要がある。これが乱れると音声の品質低下、あるいは再生されないといった問題が発生する。この問題は割とハマるので注意。&amp;lt;br&amp;gt;&lt;br /&gt;
20ミリ秒が守れない場合にはバッファリングモードで使用すること。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==設定==&lt;br /&gt;
AsteriskからWebsocketに対して発信する場合の例。&amp;lt;br&amp;gt;&lt;br /&gt;
websocket_client.conf に以下のように記述する。&amp;quot;ws-connection1&amp;quot;が識別名。&lt;br /&gt;
 [ws-connection1]&lt;br /&gt;
 type = websocket_client&lt;br /&gt;
 uri = ws://127.0.0.1:8765&lt;br /&gt;
 protocols = media&lt;br /&gt;
 connection_type = per_call_config&lt;br /&gt;
 connection_timeout = 500&lt;br /&gt;
 reconnect_interval = 500&lt;br /&gt;
 reconnect_attempts = 5&lt;br /&gt;
 tls_enabled = no&lt;br /&gt;
websocket_client.conf を変更した場合には CLI から module reload res_websocket_client.so を実行すると設定が反映される。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Websocketに対して発信する場合には以下のように書く&lt;br /&gt;
 exten =&amp;gt; 9805,1,NoOp&lt;br /&gt;
 exten =&amp;gt; 9805,n,Dial(Websocket/ws-connection1/c(slin16))&lt;br /&gt;
 exten =&amp;gt; 9805,n,Hangup&lt;br /&gt;
テクノロジにWebsocket、/の後に識別名、その後にCODECを指定。c(slin16)はCODECにslin16(16kHzサンプリング 16bit LEのリニアPCM)の意味。CODECはチャネルで指定できるものが使えるが、Websocketのアプリケーション側で解釈できるものを使うこと。&amp;lt;br&amp;gt;&lt;br /&gt;
なお、AudioSocketではslin(8kHz 16bit LE)しか使えないが、Websocketではslin16の16kHzが使える。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Asteriskを着信側に使う場合はちょっと面倒なので省略。使い勝手はあまりよくない。&lt;br /&gt;
==Websocket側サンプルコード==&lt;br /&gt;
Websocketで待ち受け、ALSAデバイスで通話するサンプル。&amp;lt;br&amp;gt;&lt;br /&gt;
https://github.com/takao-t/asterisk-experimental/blob/main/websokect/ws_audio_server.py&amp;lt;br&amp;gt;&lt;br /&gt;
Websocketで待ち受け、音声をエコーバックするサンプル。&amp;lt;br&amp;gt;&lt;br /&gt;
https://github.com/takao-t/asterisk-experimental/blob/main/websokect/ws_echo.py&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
AsteriskのWebsocketチャネルではバイナリ(音声)データとテキストをサポートしている。テキストデータではステータスやコマンド等をやりとりできるので、サンプルコードに入れてあるが、この挙動(ANSWER)は今のところ効かない。Asterisk側の問題ではないかと思われる。&amp;lt;br&amp;gt;&lt;br /&gt;
Dial時オプションに&#039;n&#039;を付けるとAuto Answerしないとドキュメントに書かれているものの、Dial(Websocket/ws-connection1/c(slin16)n) のように書いてもAnswerしてしまうので、サンプルコード中の&amp;quot;ANSWER&amp;quot;送信は実際には効かないが、コマンド送りの例として残してある。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
ペーシングに関する参考情報:&amp;lt;br&amp;gt;&lt;br /&gt;
:ALSAオーディオを使用している場合、送出のタイミングはオーディオデバイスに依存しているので20ミリ秒が守られる&lt;br /&gt;
:エコーバックの場合にはAsteriskが送出してくる音声をそのまま返すのでAsteriskのタイミングで動作している&lt;br /&gt;
&lt;br /&gt;
==バッファリングモード==&lt;br /&gt;
20ミリ秒のペーシングが行えない場合には、Asteriskのバッファを使う手段が使える。この場合、以下の手順で送信する(Websocket-&amp;gt;Asterisk)。要するにXON/XOFFによる制御なのでシリアル制御に慣れている人にはおなじみの方法。&lt;br /&gt;
 WS-&amp;gt;Asterisk&lt;br /&gt;
  TEXTでSTART_MEDIA_BUFFERINGを送信&lt;br /&gt;
 Asteriskがバッファリング開始&lt;br /&gt;
  WS-&amp;gt;Asteriskに音声データ送信&lt;br /&gt;
 Asterisk-&amp;gt;WS&lt;br /&gt;
  バッファが9割になるとXOFF送出&lt;br /&gt;
  WS-&amp;gt;Asteriskは送出を停止&lt;br /&gt;
 Asterisk-&amp;gt;WS&lt;br /&gt;
  バッファが減ったらXON送出&lt;br /&gt;
  Asterisk-&amp;gt;WSは送出を再開&lt;br /&gt;
バッファリングモードのサンプルコード&lt;br /&gt;
:https://github.com/takao-t/asterisk-experimental/blob/main/websokect/ws_buffer_test.py&lt;br /&gt;
使用例としてはAIが生成した音声ファイルを送り付けて再生する場合など。基本XON/XOFFに従って制御すれば大丈夫そうである。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
ドキュメントによれば内部バッファは1,000フレーム。バッファのXON/XOFFの閾値はGET_STATUSでみると&lt;br /&gt;
 STATUS queue_length:2 xon_level:800 xoff_level:900 queue_full:false bulk_media:false media_paused:false&lt;br /&gt;
900でXOFF、800でXONするので、100フレーム以上をまとめて送るのはあまり良くなさそうな気がする。そもそもまとめて送るというよりも、ペーシングに配慮しないための機能が本来なのかも。&lt;br /&gt;
&lt;br /&gt;
==DTMF==&lt;br /&gt;
AsteriskからWebsocketにDTMFはTEXTで送られる。エコーバックのサンプルプログラムで試してみるとわかるが、以下のようなテキスト情報が得られる。&lt;br /&gt;
 --- WebSocket エコーサーバ ---&lt;br /&gt;
 サーバ: ws://0.0.0.0:8765&lt;br /&gt;
 ----------------------&lt;br /&gt;
 Ctrl+C で停止します。&lt;br /&gt;
 クライアント (&#039;127.0.0.1&#039;, 52856) が接続しました。&lt;br /&gt;
 受信 (TEXT): MEDIA_START connection_id:ws-connection1 channel:WebSocket/ws-connection1/0x7f46e8024170 format:slin16 optimal_frame_size:640 ptime:20&lt;br /&gt;
 受信 (TEXT): DTMF_END digit:9&lt;br /&gt;
 受信 (TEXT): DTMF_END digit:6&lt;br /&gt;
 受信 (TEXT): DTMF_END digit:5&lt;br /&gt;
 受信 (TEXT): DTMF_END digit:1&lt;br /&gt;
==その他==&lt;br /&gt;
20.18.0,22.8.0,23.2.0ではメッセージにJSONをサポートするらしい。&amp;lt;br&amp;gt;&lt;br /&gt;
JSONモードで使うとWebsocket経由でチャネル変数も送れる。&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8&amp;diff=12576</id>
		<title>メインページ</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8&amp;diff=12576"/>
		<updated>2025-12-16T04:17:49Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* サイト更新 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &#039;&#039;&#039;VoIP-Info.jp Wiki&#039;&#039;&#039; ==&lt;br /&gt;
このサイトでは[[Asterisk]]の話題を中心にVoIP関連の情報交換を行なっています。&amp;lt;br&amp;gt;&lt;br /&gt;
なおこのページは https://www.voip-info.jp https://voip-info.jp のいずれでもアクセスできます。&amp;lt;br&amp;gt;&lt;br /&gt;
Asterisk PBX、VoIP、IP電話に興味をお持ちの皆様ご参加下さい。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Asteriskをビジネスとして扱われている方は[[Asteriskコンサルタント]]のページへ。仕事を依頼したい、仕事として受けたいなど、ビジネスマッチングにお使い下さい。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;警告&#039;&#039;&#039;:以前のWikiからもそうでしたが、広告宣伝に情報が埋もれることだけは避けたいので、特定企業への誘導リンク等は適切なページへ貼ってください。[[購入情報]]や[[Asteriskコンサルタント]]のページがそれに相当します。&amp;lt;br&amp;gt;&lt;br /&gt;
広告出稿をご希望の場合はwebmaster&#039;at&#039;voip-info.jpへメールでお問合せください [[広告]]。&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
各種ユーザ会関連情報は[[コミュニティ]]のページへ。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;サイト更新&#039;&#039;&#039;==&lt;br /&gt;
サーバのOSを更新し、MediaWikiも更新しました。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
編集等を行う方は [[ユーザー登録方法]] のページを読んでください。メール認証を行わないと編集ができないようになっています。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Slackもやってます。無料版ですが。交流等にもお使いください。以下の招待リンクから参加できます。リンク切れたらまた更新します。&amp;lt;br&amp;gt;&lt;br /&gt;
:https://join.slack.com/t/voip-infojp/shared_invite/zt-3l8o4t8ee-BPsVvuY4kDt2Y~OSxP4yRQ&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Asteriskバージョン&#039;&#039;&#039;==&lt;br /&gt;
いまだ古いバージョンのAsteriskを使い続けているケースが多く見受けられますが、サポート切れ(セキュリティfixですら提供されない)ものが多く見受けられますので注意してください。&amp;lt;br&amp;gt;&lt;br /&gt;
アップデートする際にSIPチャネルはchan_sipからchan_pjsipへ移行する必要がありますので注意してください。&lt;br /&gt;
*[[Asterisk 18]] のサポートは2025/10/20までです。&lt;br /&gt;
*[[Asterisk 20]] のサポートは2026/10/19までです。&lt;br /&gt;
*[[Asterisk 22]] がリリースされました。サポートは2028/10/16までです。chan_sipとMacroは完全廃止されました。&lt;br /&gt;
:https://docs.asterisk.org/About-the-Project/Asterisk-Versions/&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;注意したい情報&#039;&#039;&#039;==&lt;br /&gt;
===chan_sipの扱い===&lt;br /&gt;
Asterisk 21(非LTS)でchan_sipが削除され、Asterisk 22で完全廃止されています。今後、chan_sipは使えません。&amp;lt;br&amp;gt;&lt;br /&gt;
PjSIPの情報は [[Asterisk_pjsip]] のページを参照してください。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Macro===&lt;br /&gt;
Macro(app_macro)もAsterisk 21で削除され、Asterisk 22で完全廃止されています。Macroそれ自体を使っている場合、各アプリケーションのオプション等で使っている場合にはGosubへ移行が必要です。→ [[Extension_Macro_To_Gosub]]&lt;br /&gt;
&lt;br /&gt;
===注意情報===&lt;br /&gt;
&amp;lt;strong&amp;gt;[[テレワーク関連に対する注意喚起]]&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===安直にサーバを立てないでください===&lt;br /&gt;
Asteriskの情報に辿り着き、クラウド上等にPBXを構築する場合、ネット上の一般的な情報だけを元に安直にAsteriskサーバを立てるのはやめましょう。インターネット上で開いているサーバには十分なセキュリティを施しておかないと、いわゆる『タダがけ』でやられます。特にSIPの5060ポートに対する攻撃は、あっという間に来ます。[[Asterisk SIP セキュリティ]] のページを参考にして注意して運用してください。&lt;br /&gt;
===会社の電話(番号)をテレワークでも使いたい===&lt;br /&gt;
これは我々の得意とする分野です。お困りの場合には [[コミュニティ]] のページからユーザ会にご参加いただき、案件を投げてもらえれば手を挙げてくれるベンダーさんもいるかと思います。[[Asteriskコンサルタント]] ページも参考にしてください。&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;注意喚起&#039;&#039;&#039;==&lt;br /&gt;
===SIPポートへの攻撃についてご注意下さい===&lt;br /&gt;
SIPポートへの攻撃が流行っているようですので、ご注意下さい。&amp;lt;br&amp;gt;&lt;br /&gt;
セキュリティを破る場合に多い攻撃は&#039;&#039;&#039;SIPのREGISTERを総当たりで試す&#039;&#039;&#039;というものです。&amp;lt;br&amp;gt;&lt;br /&gt;
最近ではREGISTERを試す前にOPTIONSを投げ、SIPのポートが開いているかどうかを試す挙動もあります。&amp;lt;br&amp;gt;&lt;br /&gt;
対策方法等については : &#039;&#039;&#039;[[Asterisk SIP セキュリティ]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Fail2banによるiptablesでのブロック方法の設定をまとめました : &#039;&#039;&#039;[[SIP-Fail2ban]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DNSへのアタックに注意===&lt;br /&gt;
昨今はDNSサーバを自前で用意することも少なくなっていますが参考に→ [[DNSamp対策]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;注目の情報&#039;&#039;&#039;==&lt;br /&gt;
*新サンプル設定ファイル&lt;br /&gt;
:サンプル設定ファイルをAsterisk 20以降用としました&lt;br /&gt;
:[[Asterisk 20 サンプル設定ファイル]]&lt;br /&gt;
*[[ABS]] をリリースしました&lt;br /&gt;
:軽量なAsteriskベースのPBXをお探しの場合にどうぞ&lt;br /&gt;
:キーテレホン挙動もできるのでビジホン用途でも使えます [[ABS]]&lt;br /&gt;
&lt;br /&gt;
==お願い==&lt;br /&gt;
SPAMに気付いた方は正常なページへの差し戻しまたは削除をお願いします。同一ページが複数回のSPAM書き込みを受けた場合にはページの保護をお願いします。&amp;lt;br&amp;gt;&lt;br /&gt;
情報が古くなりリンク切れ、あるいは別なサイトにリンクされている場合にはリンクの削除をお願いします。&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk_22&amp;diff=12574</id>
		<title>Asterisk 22</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk_22&amp;diff=12574"/>
		<updated>2025-12-11T06:30:56Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* 新機能(追加) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[カテゴリ:Asterisk]]&lt;br /&gt;
[[カテゴリ:Asterisk22]]&lt;br /&gt;
[[カテゴリ:pjsip]]&lt;br /&gt;
&lt;br /&gt;
Asterisk 22.0.0が2024年10月16日(現地時間)リリースされました。&amp;lt;br&amp;gt;&lt;br /&gt;
:メンテナンス終了は2028年10月16日&lt;br /&gt;
:セキュリティフィックス提供終了は2029年10月&lt;br /&gt;
==概要==&lt;br /&gt;
Asterisk 22は最新のAsteriskのメジャーリリースで、Asterisk 20同様にLTS(Long Term Support:通常4年)になります。&lt;br /&gt;
:https://docs.asterisk.org/About-the-Project/Asterisk-Versions/&lt;br /&gt;
===Asterisk 20からの変更点で重要なもの===&lt;br /&gt;
*chan_sipは廃止(ソースコードも含まれない)&lt;br /&gt;
*chan_alsa,chan_mgcp,chan_skinnyも廃止&lt;br /&gt;
*app_macroは廃止&lt;br /&gt;
make menuselectで確認するとわかりますが、廃止予定だったチャネルはすべて&#039;&#039;&#039;廃止&#039;&#039;&#039;されています。&lt;br /&gt;
                        **************************************************&lt;br /&gt;
                            Asterisk Module and Build Option Selection&lt;br /&gt;
                        **************************************************&lt;br /&gt;
 &lt;br /&gt;
                                 Press &#039;h&#039; for help.&lt;br /&gt;
 &lt;br /&gt;
                                 --- Core ---&lt;br /&gt;
                             [*] chan_bridge_media&lt;br /&gt;
                             [*] chan_dahdi&lt;br /&gt;
                             [*] chan_iax2&lt;br /&gt;
                             XXX chan_motif&lt;br /&gt;
                             [*] chan_pjsip&lt;br /&gt;
                             [*] chan_rtp&lt;br /&gt;
                                 --- Extended ---&lt;br /&gt;
                             [*] chan_audiosocket&lt;br /&gt;
                             [*] chan_console&lt;br /&gt;
                             [*] chan_unistim&lt;br /&gt;
Asterisk 22で使用できるチャネルは上記だけです。&amp;lt;br&amp;gt;&lt;br /&gt;
なおH.323やbluetooth(mobile)チャネルはこれまで通り、addon扱いです。&lt;br /&gt;
                        **************************************************&lt;br /&gt;
                            Asterisk Module and Build Option Selection&lt;br /&gt;
                        **************************************************&lt;br /&gt;
 &lt;br /&gt;
                                 Press &#039;h&#039; for help.&lt;br /&gt;
 &lt;br /&gt;
                                 --- Extended ---&lt;br /&gt;
                             [ ] chan_mobile&lt;br /&gt;
                             [ ] chan_ooh323&lt;br /&gt;
                             [ ] format_mp3&lt;br /&gt;
                             XXX res_config_mysql&lt;br /&gt;
===マイナーバージョンにおける注意===&lt;br /&gt;
22の途中(正確にどのバージョンかは把握していませんが)からPJSIP_CONTACTSのDBが変更になっています。カラムが1つ追加されているだけですが、古いスキーマでDBを作っているとエラーで正常動作しません。新しいものを使ってください。&lt;br /&gt;
&lt;br /&gt;
==新機能==&lt;br /&gt;
Asterisk 21で採用されたものを継承します。&amp;lt;br&amp;gt;&lt;br /&gt;
===テナントID===&lt;br /&gt;
pjsip.confで tenantid= が設定できるようになりました。CHANNEL()ファンクションでこの値を参照/設定できるようになりました(CHANNEL(tenantid))。&lt;br /&gt;
===pjsip_wizard===&lt;br /&gt;
res_pjsip_config_wizard.so がリロード可能になりました。&lt;br /&gt;
===RECORD_TIME===&lt;br /&gt;
変数 RECORD_TIME が追加され、Record()で録音した場合の録音時間(ミリ秒)を返すようになりました。&lt;br /&gt;
==新機能(追加)==&lt;br /&gt;
22は途中で修正/機能追加が入っているので注意してください。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Asterisk 22.6.0～&lt;br /&gt;
* chan_websocket&lt;br /&gt;
:[[Asterisk chan websocket | Websocket]] の音声チャネルが追加。&amp;lt;br&amp;gt;&lt;br /&gt;
:PjSIPのWebsocketではなく、AsteriskがサポートするチャネルとしてのWebsocketクライアント。&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Asterisk 22.7.0～&lt;br /&gt;
* Audiosocket&lt;br /&gt;
CODECが追加されています。試験はしていませんが8k 16PCM以外もサポートされるようになったようです&lt;br /&gt;
:https://docs.asterisk.org/Configuration/Channel-Drivers/AudioSocket/#protocol-definition&lt;br /&gt;
* chan_websocket&lt;br /&gt;
JSONタイプのメッセージがサポートされるようになりました&lt;br /&gt;
:https://docs.asterisk.org/Configuration/Channel-Drivers/WebSocket/&lt;br /&gt;
&lt;br /&gt;
==削除されたもの==&lt;br /&gt;
&lt;br /&gt;
===CDR===&lt;br /&gt;
NoCDRが削除、ResetCDRの&#039;e&#039;オプションが削除&lt;br /&gt;
===app_macro===&lt;br /&gt;
Macroは完全に削除。Macroを利用していたextenは要注意。&amp;lt;br&amp;gt;&lt;br /&gt;
Asterisk app_ のオプション類でマクロを呼び出せたものもマクロは使用不可となったのでGosubに置換すること。&amp;lt;br&amp;gt;&lt;br /&gt;
:app_dialのMオプションも削除&lt;br /&gt;
:app_minivmマクロを使用した記述は動作しない&lt;br /&gt;
:app_queue 呼び出し先でマクロは使用できない&lt;br /&gt;
:ccss コールバックマクロはなし gosubのみ&lt;br /&gt;
:app_voicemail マクロサポートはなし&lt;br /&gt;
:チャネル マクロコンテキスト/プライオリティは削除&lt;br /&gt;
:オプション stdexten&lt;br /&gt;
:pbx マクロロックが削除&lt;br /&gt;
:pbx_dundi マクロはサーチしない&lt;br /&gt;
:snmp マクロコンテキスト,exten,プライオリティは削除&lt;br /&gt;
移行方法は [[Extension_Macro_To_Gosub]] を参考に。&lt;br /&gt;
&lt;br /&gt;
===app_osplookup===&lt;br /&gt;
このモジュールは削除(Asterisk 19で非推奨)&lt;br /&gt;
===chan_alsa===&lt;br /&gt;
このモジュールは削除(Asterisk 19で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
→ [[chan_console]] へ移行のこと&lt;br /&gt;
===chan_mgcp===&lt;br /&gt;
このモジュールは削除(Asterisk 19で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
===chan_sip===&lt;br /&gt;
このモジュールは削除(Asterisk 17で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;要注意:完全に削除。明示指定してコンパイルすることも不可。&amp;lt;/strong&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===chan_skinny===&lt;br /&gt;
このモジュールは削除(Asterisk 19で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
Cisco電話機(skinny)は使用不可。&lt;br /&gt;
===pbx_builtins===&lt;br /&gt;
ImportVar、SetAMAFlagsは削除&lt;br /&gt;
===res_monitor===&lt;br /&gt;
このモジュールは削除(Asterisk 16で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
これによりapp_queueのWおよびwオプションも削除&amp;lt;br&amp;gt;&lt;br /&gt;
MixMonitorを使用すること。&lt;br /&gt;
&lt;br /&gt;
===その他===&lt;br /&gt;
細かい変更点等は公式を参照のこと。&amp;lt;br&amp;gt;&lt;br /&gt;
https://docs.asterisk.org/Asterisk_22_Documentation/WhatsNew/&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===廃止予定===&lt;br /&gt;
users.confは廃止予定となっており、Asterisk 23で削除されているようです。users.confによる設定は使えなくなります。&lt;br /&gt;
&lt;br /&gt;
==注意==&lt;br /&gt;
*&#039;&#039;&#039;SIPチャネル要注意&#039;&#039;&#039;&lt;br /&gt;
:SIPチャネルはPjSipが標準となりました。chan_sipはソースも配布されず&#039;&#039;&#039;完全に廃止&#039;&#039;&#039;されました。&amp;lt;br&amp;gt;&lt;br /&gt;
→ [[Asterisk pjsip]]&amp;lt;br&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Macro廃止&#039;&#039;&#039;&lt;br /&gt;
:Macroが完全廃止されました。Gosub/Returnへの書き換えが必要です。&lt;br /&gt;
:extenでMacroを多用している例は多いので22へ移行する場合には対応してください。&lt;br /&gt;
==現状==&lt;br /&gt;
2024/10 : Asterisk 20からのアップグレードで問題はなさそうです。API周り等で細かいところまではチェックしていませんが、Asterisk 18ベースのextenでは特に問題がないようにみえています。&lt;br /&gt;
&lt;br /&gt;
==インストール==&lt;br /&gt;
===前提となるパッケージ類=== &lt;br /&gt;
GCC、G++(GNU-C++)、OpenSSL、Ncurses、bison、カーネルソース(DAHDIを使う場合)、libxml2、SQLite3、libuuid-devel&amp;lt;br&amp;gt;&lt;br /&gt;
dnsutilsは使う人がいるかもなので追加。libsrtp2はブラウザフォン対応用、libunboundはRTX/NVRで直収のため。&amp;lt;br&amp;gt;&lt;br /&gt;
Debianで説明します。&amp;lt;br&amp;gt;&lt;br /&gt;
以下の例はbookworm最小インストール(netinstall)からパッケージを追加した例です。&amp;lt;br&amp;gt;&lt;br /&gt;
 apt -y install build-essential libedit-dev uuid-dev libxml2-dev libncurses-dev libsqlite3-dev sqlite3 libssl-dev subversion git net-tools dnsutils libsrtp2-dev libunbound-dev&lt;br /&gt;
Asteriskの基本的な部分は上記のパッケージ追加で問題ないと思います。なおJanssonはAsteriskのバンドルでインストールしますので、configure時に指定します。&amp;lt;br&amp;gt;&lt;br /&gt;
Asterisk 20と同様の環境でコンパイルできました。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Asteriskソースの入手===&lt;br /&gt;
Asterisk 22のソースは以下からダウンロードできます。なお asterisk-22-current.tar.gz が最新バージョンへのシンボリックリンクとなっていますので、これをダウンロードすれば最新バージョンが入手できます。&lt;br /&gt;
 http://downloads.asterisk.org/pub/telephony/asterisk/&lt;br /&gt;
展開するディレクトリはどこでもかまいませんが、ここでは/usr/src/とします。&lt;br /&gt;
 # cd /usr/src&lt;br /&gt;
 # wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-22-current.tar.gz&lt;br /&gt;
入手したら展開しておきます。展開すると現在のAsteriskのバージョンのディレクトリに展開されます。以降それぞれの作業は、それぞれの展開したサブディレクトリで行います。&lt;br /&gt;
 # tar zxvf asterisk-22-current.tar.gz&lt;br /&gt;
 # cd asterisk-22.x.x&lt;br /&gt;
&lt;br /&gt;
===Asteriskのコンパイルとインストール===&lt;br /&gt;
基本的にconfigureしてmakeするだけですが、Janssonをバンドルで行うので以下のオプションでconfigureします。。&lt;br /&gt;
 # ./configure --with-jansson-bundled&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
以前のバージョンからアップグレードを行う場合、変更されたモジュール類が多いので、一旦、以前のモジュールをディレクトリごと名前変更してバックアップしてからインストールしてください。&amp;lt;BR&amp;gt;&lt;br /&gt;
 mv /usr/lib/asterisk/module /usr/lib/asterisk/module.20.bak&lt;br /&gt;
&lt;br /&gt;
あとはコンパイルとインストールを行うだけです(新規インストールの場合)。&lt;br /&gt;
 # make&lt;br /&gt;
 # make install&lt;br /&gt;
 # make samples&lt;br /&gt;
 # make config&lt;br /&gt;
これで新規インストールは完了します。最後の make config で起動時に自動起動するようになります。&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;アップグレード時の注意&#039;&#039;&#039;：以前のバージョンからアップグレードする場合、/etc/asterisk の設定ファイル類をバックアップしてから行ってください。make samplesすると /etc/asterisk の内容を上書きしてしまいます。アップグレード時は make installするだけで事足りることが多いです。(make configはシステムのスタートアップファイル類を更新するので大きな変更がない場合には更新の必要はありません。&lt;br /&gt;
====『何か』が足りない場合のヒント====&lt;br /&gt;
Asteriskのモジュールでコンパイルされないものが出てきた場合には以下の方法で対処してください。Asteriskの機能アップとともに依存するパッケージも増えているので『新しい機能を使いたいのに動かない』ような場合には要チェックです。&amp;lt;br&amp;gt;&lt;br /&gt;
make menuselectを実行します。コンパイルされていないモジュールを探します。例えば以下はLUAが使いたいけど、使えない場合に調べてみると&#039;pbx_lua&#039;がコンパイルされていない例です。&lt;br /&gt;
                               **************************************************&lt;br /&gt;
                                   Asterisk Module and Build Option Selection&lt;br /&gt;
                               **************************************************&lt;br /&gt;
 &lt;br /&gt;
                                        Press &#039;h&#039; for help.&lt;br /&gt;
 &lt;br /&gt;
                                        --- Core ---&lt;br /&gt;
                                    [*] pbx_config&lt;br /&gt;
                                    [*] pbx_loopback&lt;br /&gt;
                                    [*] pbx_spool&lt;br /&gt;
                                        --- Extended ---&lt;br /&gt;
                                    [*] pbx_ael&lt;br /&gt;
                                    XXX pbx_dundi&lt;br /&gt;
                                    XXX pbx_lua&lt;br /&gt;
                                    [*] pbx_realtime&lt;br /&gt;
XXXで表示されるものは『何か』が足りないのでコンパイル/インストールされないものです。カーソルを該当する箇所に移動すると、画面の下の方をみると次のような表示があるはずです。&lt;br /&gt;
                               Lua PBX Switch&lt;br /&gt;
 &lt;br /&gt;
                               Depends on: lua(E)&lt;br /&gt;
 &lt;br /&gt;
                               Support Level: extended&lt;br /&gt;
Depends onが何に依存しているかの情報で要するに&amp;quot;lua&amp;quot;に依存していることがわかります。&amp;lt;br&amp;gt;&lt;br /&gt;
ではluaのパッケージを追加すればOKかというと、それだけでは不足で、Asteriskはソースからコンパイルするので、単純なパッケージ追加だけではなく-devも追加する必要うがあります。なので、例えばLUAならば。&lt;br /&gt;
 apt install lua5.3&lt;br /&gt;
 apt install lua5.3-dev&lt;br /&gt;
のように、devパッケージも併せてインストールします。&amp;lt;br&amp;gt;&lt;br /&gt;
インストールが終わったら再度configureとmake menuselectをしてみましょう。&lt;br /&gt;
 # ./configure --with-jansson-bundled&lt;br /&gt;
 # make menuselect&lt;br /&gt;
再度確認すると次のようになっているはずです。&lt;br /&gt;
                                        --- Extended ---&lt;br /&gt;
                                    [*] pbx_ael&lt;br /&gt;
                                    XXX pbx_dundi&lt;br /&gt;
                                    [*] pbx_lua&lt;br /&gt;
                                    [*] pbx_realtime&lt;br /&gt;
これで表示が&#039;&#039;&#039;[*]&#039;&#039;&#039;となったので、コンパイル/インストールされることがわかります。このようにして何のパッケージが不足しているかを確認/追加します。&amp;lt;br&amp;gt;&lt;br /&gt;
ただしAsteriskのmake menuselectで表示されるパッケージ名称は『一般的な』ものなので自分のディストリでそれが何に相当するのかは調べてください。&lt;br /&gt;
&lt;br /&gt;
===日本語音声のインストール===&lt;br /&gt;
Asteriskの本体に付随する日本語音声は古いためGoogle TTSで合成した日本語音声(トーキー)を用意してあります(Asterisk 18ベース)。githubに用意してありますのでご利用ください。&amp;lt;br&amp;gt;&lt;br /&gt;
※core-sounds.txtを確認したところ、18と20,22で音声の差異は無いようです。&lt;br /&gt;
 git clone https://github.com/takao-t/asterisk-sound-ja.git&lt;br /&gt;
tarでまとめたものを展開します。&lt;br /&gt;
 cd asterisk-sound-ja&lt;br /&gt;
 cp core-sound-ja.tgz /var/lib/asterisk/sounds/.&lt;br /&gt;
 cd /var/lib/asterisk/sounds/&lt;br /&gt;
 tar zxvf core-sound-ja.tgz&lt;br /&gt;
これで sounds/ja の下に日本語音声ファイル類が入ります。LANGUAGE系の設定をjaにすると日本語音声が使えます。&amp;lt;br&amp;gt;&lt;br /&gt;
日本語文法に必要なパッチ類を以前提供していましたが、現在ではAsterisk本体にマージされているため文法はLANGUAGEの設定のみで対応できます。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ユーザの追加と設定==&lt;br /&gt;
Asteriskをasterisk:asteriskで起動させるために以下のようにグループ/ユーザを追加します。UID,GIDの5060は単なる趣味です。&lt;br /&gt;
 addgroup --gid 5060 asterisk&lt;br /&gt;
 adduser --uid 5060 --gid 5060 asterisk --disabled-password&lt;br /&gt;
Asteriskの実行ユーザ/グループは /etc/defaults/asterisk を編集します。以下の部分のコメントを外します。&lt;br /&gt;
 # Uncomment the following and set them to the user/groups that you&lt;br /&gt;
 # want to run Asterisk as. NOTE: this requires substantial work to&lt;br /&gt;
 # be sure that Asterisk&#039;s environment has permission to write the&lt;br /&gt;
 # files required  for  its  operation, including logs, its comm&lt;br /&gt;
 # socket, the asterisk database, etc.&lt;br /&gt;
 AST_USER=&amp;quot;asterisk&amp;quot;     &amp;lt;==ここと&lt;br /&gt;
 AST_GROUP=&amp;quot;asterisk&amp;quot;    &amp;lt;==ここ&lt;br /&gt;
&lt;br /&gt;
ディレクトリ/ファイル類の権限も調整しておきましょう。&lt;br /&gt;
 chown -R asterisk:asterisk /var/log/asterisk&lt;br /&gt;
 chown -R asterisk:asterisk /var/lib/asterisk&lt;br /&gt;
 chown -R asterisk:asterisk /var/spool/asterisk&lt;br /&gt;
 chown -R asterisk:asterisk /usr/lib/asterisk&lt;br /&gt;
 chown -R asterisk:asterisk /etc/asterisk&lt;br /&gt;
これでsystemctlで起動すればAsteriskが動くはずです。&lt;br /&gt;
&lt;br /&gt;
==サンプル設定ファイルと応用例==&lt;br /&gt;
Asterisk 20以降用に大幅に書き直しました。&amp;lt;br&amp;gt;&lt;br /&gt;
:https://github.com/takao-t/asterisk-conf/tree/main/asterisk_20&lt;br /&gt;
:使い方 [[Asterisk_20_サンプル設定ファイル]]&lt;br /&gt;
:解説 [[Asterisk_20_サンプル設定ファイル_解説]]&lt;br /&gt;
:NVR500の使用例 [[Asterisk+NVR500]]&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk_22&amp;diff=12573</id>
		<title>Asterisk 22</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk_22&amp;diff=12573"/>
		<updated>2025-12-11T06:29:35Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* chan_websocket */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[カテゴリ:Asterisk]]&lt;br /&gt;
[[カテゴリ:Asterisk22]]&lt;br /&gt;
[[カテゴリ:pjsip]]&lt;br /&gt;
&lt;br /&gt;
Asterisk 22.0.0が2024年10月16日(現地時間)リリースされました。&amp;lt;br&amp;gt;&lt;br /&gt;
:メンテナンス終了は2028年10月16日&lt;br /&gt;
:セキュリティフィックス提供終了は2029年10月&lt;br /&gt;
==概要==&lt;br /&gt;
Asterisk 22は最新のAsteriskのメジャーリリースで、Asterisk 20同様にLTS(Long Term Support:通常4年)になります。&lt;br /&gt;
:https://docs.asterisk.org/About-the-Project/Asterisk-Versions/&lt;br /&gt;
===Asterisk 20からの変更点で重要なもの===&lt;br /&gt;
*chan_sipは廃止(ソースコードも含まれない)&lt;br /&gt;
*chan_alsa,chan_mgcp,chan_skinnyも廃止&lt;br /&gt;
*app_macroは廃止&lt;br /&gt;
make menuselectで確認するとわかりますが、廃止予定だったチャネルはすべて&#039;&#039;&#039;廃止&#039;&#039;&#039;されています。&lt;br /&gt;
                        **************************************************&lt;br /&gt;
                            Asterisk Module and Build Option Selection&lt;br /&gt;
                        **************************************************&lt;br /&gt;
 &lt;br /&gt;
                                 Press &#039;h&#039; for help.&lt;br /&gt;
 &lt;br /&gt;
                                 --- Core ---&lt;br /&gt;
                             [*] chan_bridge_media&lt;br /&gt;
                             [*] chan_dahdi&lt;br /&gt;
                             [*] chan_iax2&lt;br /&gt;
                             XXX chan_motif&lt;br /&gt;
                             [*] chan_pjsip&lt;br /&gt;
                             [*] chan_rtp&lt;br /&gt;
                                 --- Extended ---&lt;br /&gt;
                             [*] chan_audiosocket&lt;br /&gt;
                             [*] chan_console&lt;br /&gt;
                             [*] chan_unistim&lt;br /&gt;
Asterisk 22で使用できるチャネルは上記だけです。&amp;lt;br&amp;gt;&lt;br /&gt;
なおH.323やbluetooth(mobile)チャネルはこれまで通り、addon扱いです。&lt;br /&gt;
                        **************************************************&lt;br /&gt;
                            Asterisk Module and Build Option Selection&lt;br /&gt;
                        **************************************************&lt;br /&gt;
 &lt;br /&gt;
                                 Press &#039;h&#039; for help.&lt;br /&gt;
 &lt;br /&gt;
                                 --- Extended ---&lt;br /&gt;
                             [ ] chan_mobile&lt;br /&gt;
                             [ ] chan_ooh323&lt;br /&gt;
                             [ ] format_mp3&lt;br /&gt;
                             XXX res_config_mysql&lt;br /&gt;
===マイナーバージョンにおける注意===&lt;br /&gt;
22の途中(正確にどのバージョンかは把握していませんが)からPJSIP_CONTACTSのDBが変更になっています。カラムが1つ追加されているだけですが、古いスキーマでDBを作っているとエラーで正常動作しません。新しいものを使ってください。&lt;br /&gt;
&lt;br /&gt;
==新機能==&lt;br /&gt;
Asterisk 21で採用されたものを継承します。&amp;lt;br&amp;gt;&lt;br /&gt;
===テナントID===&lt;br /&gt;
pjsip.confで tenantid= が設定できるようになりました。CHANNEL()ファンクションでこの値を参照/設定できるようになりました(CHANNEL(tenantid))。&lt;br /&gt;
===pjsip_wizard===&lt;br /&gt;
res_pjsip_config_wizard.so がリロード可能になりました。&lt;br /&gt;
===RECORD_TIME===&lt;br /&gt;
変数 RECORD_TIME が追加され、Record()で録音した場合の録音時間(ミリ秒)を返すようになりました。&lt;br /&gt;
==新機能(追加)==&lt;br /&gt;
22は途中で修正/機能追加が入っているので注意してください。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Asterisk 22.7.0～&lt;br /&gt;
* Audiosocket&lt;br /&gt;
CODECが追加されています。試験はしていませんが8k 16PCM以外もサポートされるようになったようです&lt;br /&gt;
:https://docs.asterisk.org/Configuration/Channel-Drivers/AudioSocket/#protocol-definition&lt;br /&gt;
* chan_websocket&lt;br /&gt;
JSONタイプのメッセージがサポートされるようになりました&lt;br /&gt;
:https://docs.asterisk.org/Configuration/Channel-Drivers/WebSocket/&lt;br /&gt;
&lt;br /&gt;
==削除されたもの==&lt;br /&gt;
&lt;br /&gt;
===CDR===&lt;br /&gt;
NoCDRが削除、ResetCDRの&#039;e&#039;オプションが削除&lt;br /&gt;
===app_macro===&lt;br /&gt;
Macroは完全に削除。Macroを利用していたextenは要注意。&amp;lt;br&amp;gt;&lt;br /&gt;
Asterisk app_ のオプション類でマクロを呼び出せたものもマクロは使用不可となったのでGosubに置換すること。&amp;lt;br&amp;gt;&lt;br /&gt;
:app_dialのMオプションも削除&lt;br /&gt;
:app_minivmマクロを使用した記述は動作しない&lt;br /&gt;
:app_queue 呼び出し先でマクロは使用できない&lt;br /&gt;
:ccss コールバックマクロはなし gosubのみ&lt;br /&gt;
:app_voicemail マクロサポートはなし&lt;br /&gt;
:チャネル マクロコンテキスト/プライオリティは削除&lt;br /&gt;
:オプション stdexten&lt;br /&gt;
:pbx マクロロックが削除&lt;br /&gt;
:pbx_dundi マクロはサーチしない&lt;br /&gt;
:snmp マクロコンテキスト,exten,プライオリティは削除&lt;br /&gt;
移行方法は [[Extension_Macro_To_Gosub]] を参考に。&lt;br /&gt;
&lt;br /&gt;
===app_osplookup===&lt;br /&gt;
このモジュールは削除(Asterisk 19で非推奨)&lt;br /&gt;
===chan_alsa===&lt;br /&gt;
このモジュールは削除(Asterisk 19で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
→ [[chan_console]] へ移行のこと&lt;br /&gt;
===chan_mgcp===&lt;br /&gt;
このモジュールは削除(Asterisk 19で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
===chan_sip===&lt;br /&gt;
このモジュールは削除(Asterisk 17で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;要注意:完全に削除。明示指定してコンパイルすることも不可。&amp;lt;/strong&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===chan_skinny===&lt;br /&gt;
このモジュールは削除(Asterisk 19で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
Cisco電話機(skinny)は使用不可。&lt;br /&gt;
===pbx_builtins===&lt;br /&gt;
ImportVar、SetAMAFlagsは削除&lt;br /&gt;
===res_monitor===&lt;br /&gt;
このモジュールは削除(Asterisk 16で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
これによりapp_queueのWおよびwオプションも削除&amp;lt;br&amp;gt;&lt;br /&gt;
MixMonitorを使用すること。&lt;br /&gt;
&lt;br /&gt;
===その他===&lt;br /&gt;
細かい変更点等は公式を参照のこと。&amp;lt;br&amp;gt;&lt;br /&gt;
https://docs.asterisk.org/Asterisk_22_Documentation/WhatsNew/&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===廃止予定===&lt;br /&gt;
users.confは廃止予定となっており、Asterisk 23で削除されているようです。users.confによる設定は使えなくなります。&lt;br /&gt;
&lt;br /&gt;
==注意==&lt;br /&gt;
*&#039;&#039;&#039;SIPチャネル要注意&#039;&#039;&#039;&lt;br /&gt;
:SIPチャネルはPjSipが標準となりました。chan_sipはソースも配布されず&#039;&#039;&#039;完全に廃止&#039;&#039;&#039;されました。&amp;lt;br&amp;gt;&lt;br /&gt;
→ [[Asterisk pjsip]]&amp;lt;br&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Macro廃止&#039;&#039;&#039;&lt;br /&gt;
:Macroが完全廃止されました。Gosub/Returnへの書き換えが必要です。&lt;br /&gt;
:extenでMacroを多用している例は多いので22へ移行する場合には対応してください。&lt;br /&gt;
==現状==&lt;br /&gt;
2024/10 : Asterisk 20からのアップグレードで問題はなさそうです。API周り等で細かいところまではチェックしていませんが、Asterisk 18ベースのextenでは特に問題がないようにみえています。&lt;br /&gt;
&lt;br /&gt;
==インストール==&lt;br /&gt;
===前提となるパッケージ類=== &lt;br /&gt;
GCC、G++(GNU-C++)、OpenSSL、Ncurses、bison、カーネルソース(DAHDIを使う場合)、libxml2、SQLite3、libuuid-devel&amp;lt;br&amp;gt;&lt;br /&gt;
dnsutilsは使う人がいるかもなので追加。libsrtp2はブラウザフォン対応用、libunboundはRTX/NVRで直収のため。&amp;lt;br&amp;gt;&lt;br /&gt;
Debianで説明します。&amp;lt;br&amp;gt;&lt;br /&gt;
以下の例はbookworm最小インストール(netinstall)からパッケージを追加した例です。&amp;lt;br&amp;gt;&lt;br /&gt;
 apt -y install build-essential libedit-dev uuid-dev libxml2-dev libncurses-dev libsqlite3-dev sqlite3 libssl-dev subversion git net-tools dnsutils libsrtp2-dev libunbound-dev&lt;br /&gt;
Asteriskの基本的な部分は上記のパッケージ追加で問題ないと思います。なおJanssonはAsteriskのバンドルでインストールしますので、configure時に指定します。&amp;lt;br&amp;gt;&lt;br /&gt;
Asterisk 20と同様の環境でコンパイルできました。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Asteriskソースの入手===&lt;br /&gt;
Asterisk 22のソースは以下からダウンロードできます。なお asterisk-22-current.tar.gz が最新バージョンへのシンボリックリンクとなっていますので、これをダウンロードすれば最新バージョンが入手できます。&lt;br /&gt;
 http://downloads.asterisk.org/pub/telephony/asterisk/&lt;br /&gt;
展開するディレクトリはどこでもかまいませんが、ここでは/usr/src/とします。&lt;br /&gt;
 # cd /usr/src&lt;br /&gt;
 # wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-22-current.tar.gz&lt;br /&gt;
入手したら展開しておきます。展開すると現在のAsteriskのバージョンのディレクトリに展開されます。以降それぞれの作業は、それぞれの展開したサブディレクトリで行います。&lt;br /&gt;
 # tar zxvf asterisk-22-current.tar.gz&lt;br /&gt;
 # cd asterisk-22.x.x&lt;br /&gt;
&lt;br /&gt;
===Asteriskのコンパイルとインストール===&lt;br /&gt;
基本的にconfigureしてmakeするだけですが、Janssonをバンドルで行うので以下のオプションでconfigureします。。&lt;br /&gt;
 # ./configure --with-jansson-bundled&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
以前のバージョンからアップグレードを行う場合、変更されたモジュール類が多いので、一旦、以前のモジュールをディレクトリごと名前変更してバックアップしてからインストールしてください。&amp;lt;BR&amp;gt;&lt;br /&gt;
 mv /usr/lib/asterisk/module /usr/lib/asterisk/module.20.bak&lt;br /&gt;
&lt;br /&gt;
あとはコンパイルとインストールを行うだけです(新規インストールの場合)。&lt;br /&gt;
 # make&lt;br /&gt;
 # make install&lt;br /&gt;
 # make samples&lt;br /&gt;
 # make config&lt;br /&gt;
これで新規インストールは完了します。最後の make config で起動時に自動起動するようになります。&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;アップグレード時の注意&#039;&#039;&#039;：以前のバージョンからアップグレードする場合、/etc/asterisk の設定ファイル類をバックアップしてから行ってください。make samplesすると /etc/asterisk の内容を上書きしてしまいます。アップグレード時は make installするだけで事足りることが多いです。(make configはシステムのスタートアップファイル類を更新するので大きな変更がない場合には更新の必要はありません。&lt;br /&gt;
====『何か』が足りない場合のヒント====&lt;br /&gt;
Asteriskのモジュールでコンパイルされないものが出てきた場合には以下の方法で対処してください。Asteriskの機能アップとともに依存するパッケージも増えているので『新しい機能を使いたいのに動かない』ような場合には要チェックです。&amp;lt;br&amp;gt;&lt;br /&gt;
make menuselectを実行します。コンパイルされていないモジュールを探します。例えば以下はLUAが使いたいけど、使えない場合に調べてみると&#039;pbx_lua&#039;がコンパイルされていない例です。&lt;br /&gt;
                               **************************************************&lt;br /&gt;
                                   Asterisk Module and Build Option Selection&lt;br /&gt;
                               **************************************************&lt;br /&gt;
 &lt;br /&gt;
                                        Press &#039;h&#039; for help.&lt;br /&gt;
 &lt;br /&gt;
                                        --- Core ---&lt;br /&gt;
                                    [*] pbx_config&lt;br /&gt;
                                    [*] pbx_loopback&lt;br /&gt;
                                    [*] pbx_spool&lt;br /&gt;
                                        --- Extended ---&lt;br /&gt;
                                    [*] pbx_ael&lt;br /&gt;
                                    XXX pbx_dundi&lt;br /&gt;
                                    XXX pbx_lua&lt;br /&gt;
                                    [*] pbx_realtime&lt;br /&gt;
XXXで表示されるものは『何か』が足りないのでコンパイル/インストールされないものです。カーソルを該当する箇所に移動すると、画面の下の方をみると次のような表示があるはずです。&lt;br /&gt;
                               Lua PBX Switch&lt;br /&gt;
 &lt;br /&gt;
                               Depends on: lua(E)&lt;br /&gt;
 &lt;br /&gt;
                               Support Level: extended&lt;br /&gt;
Depends onが何に依存しているかの情報で要するに&amp;quot;lua&amp;quot;に依存していることがわかります。&amp;lt;br&amp;gt;&lt;br /&gt;
ではluaのパッケージを追加すればOKかというと、それだけでは不足で、Asteriskはソースからコンパイルするので、単純なパッケージ追加だけではなく-devも追加する必要うがあります。なので、例えばLUAならば。&lt;br /&gt;
 apt install lua5.3&lt;br /&gt;
 apt install lua5.3-dev&lt;br /&gt;
のように、devパッケージも併せてインストールします。&amp;lt;br&amp;gt;&lt;br /&gt;
インストールが終わったら再度configureとmake menuselectをしてみましょう。&lt;br /&gt;
 # ./configure --with-jansson-bundled&lt;br /&gt;
 # make menuselect&lt;br /&gt;
再度確認すると次のようになっているはずです。&lt;br /&gt;
                                        --- Extended ---&lt;br /&gt;
                                    [*] pbx_ael&lt;br /&gt;
                                    XXX pbx_dundi&lt;br /&gt;
                                    [*] pbx_lua&lt;br /&gt;
                                    [*] pbx_realtime&lt;br /&gt;
これで表示が&#039;&#039;&#039;[*]&#039;&#039;&#039;となったので、コンパイル/インストールされることがわかります。このようにして何のパッケージが不足しているかを確認/追加します。&amp;lt;br&amp;gt;&lt;br /&gt;
ただしAsteriskのmake menuselectで表示されるパッケージ名称は『一般的な』ものなので自分のディストリでそれが何に相当するのかは調べてください。&lt;br /&gt;
&lt;br /&gt;
===日本語音声のインストール===&lt;br /&gt;
Asteriskの本体に付随する日本語音声は古いためGoogle TTSで合成した日本語音声(トーキー)を用意してあります(Asterisk 18ベース)。githubに用意してありますのでご利用ください。&amp;lt;br&amp;gt;&lt;br /&gt;
※core-sounds.txtを確認したところ、18と20,22で音声の差異は無いようです。&lt;br /&gt;
 git clone https://github.com/takao-t/asterisk-sound-ja.git&lt;br /&gt;
tarでまとめたものを展開します。&lt;br /&gt;
 cd asterisk-sound-ja&lt;br /&gt;
 cp core-sound-ja.tgz /var/lib/asterisk/sounds/.&lt;br /&gt;
 cd /var/lib/asterisk/sounds/&lt;br /&gt;
 tar zxvf core-sound-ja.tgz&lt;br /&gt;
これで sounds/ja の下に日本語音声ファイル類が入ります。LANGUAGE系の設定をjaにすると日本語音声が使えます。&amp;lt;br&amp;gt;&lt;br /&gt;
日本語文法に必要なパッチ類を以前提供していましたが、現在ではAsterisk本体にマージされているため文法はLANGUAGEの設定のみで対応できます。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ユーザの追加と設定==&lt;br /&gt;
Asteriskをasterisk:asteriskで起動させるために以下のようにグループ/ユーザを追加します。UID,GIDの5060は単なる趣味です。&lt;br /&gt;
 addgroup --gid 5060 asterisk&lt;br /&gt;
 adduser --uid 5060 --gid 5060 asterisk --disabled-password&lt;br /&gt;
Asteriskの実行ユーザ/グループは /etc/defaults/asterisk を編集します。以下の部分のコメントを外します。&lt;br /&gt;
 # Uncomment the following and set them to the user/groups that you&lt;br /&gt;
 # want to run Asterisk as. NOTE: this requires substantial work to&lt;br /&gt;
 # be sure that Asterisk&#039;s environment has permission to write the&lt;br /&gt;
 # files required  for  its  operation, including logs, its comm&lt;br /&gt;
 # socket, the asterisk database, etc.&lt;br /&gt;
 AST_USER=&amp;quot;asterisk&amp;quot;     &amp;lt;==ここと&lt;br /&gt;
 AST_GROUP=&amp;quot;asterisk&amp;quot;    &amp;lt;==ここ&lt;br /&gt;
&lt;br /&gt;
ディレクトリ/ファイル類の権限も調整しておきましょう。&lt;br /&gt;
 chown -R asterisk:asterisk /var/log/asterisk&lt;br /&gt;
 chown -R asterisk:asterisk /var/lib/asterisk&lt;br /&gt;
 chown -R asterisk:asterisk /var/spool/asterisk&lt;br /&gt;
 chown -R asterisk:asterisk /usr/lib/asterisk&lt;br /&gt;
 chown -R asterisk:asterisk /etc/asterisk&lt;br /&gt;
これでsystemctlで起動すればAsteriskが動くはずです。&lt;br /&gt;
&lt;br /&gt;
==サンプル設定ファイルと応用例==&lt;br /&gt;
Asterisk 20以降用に大幅に書き直しました。&amp;lt;br&amp;gt;&lt;br /&gt;
:https://github.com/takao-t/asterisk-conf/tree/main/asterisk_20&lt;br /&gt;
:使い方 [[Asterisk_20_サンプル設定ファイル]]&lt;br /&gt;
:解説 [[Asterisk_20_サンプル設定ファイル_解説]]&lt;br /&gt;
:NVR500の使用例 [[Asterisk+NVR500]]&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk_22&amp;diff=12572</id>
		<title>Asterisk 22</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk_22&amp;diff=12572"/>
		<updated>2025-12-11T06:25:21Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* 新機能 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[カテゴリ:Asterisk]]&lt;br /&gt;
[[カテゴリ:Asterisk22]]&lt;br /&gt;
[[カテゴリ:pjsip]]&lt;br /&gt;
&lt;br /&gt;
Asterisk 22.0.0が2024年10月16日(現地時間)リリースされました。&amp;lt;br&amp;gt;&lt;br /&gt;
:メンテナンス終了は2028年10月16日&lt;br /&gt;
:セキュリティフィックス提供終了は2029年10月&lt;br /&gt;
==概要==&lt;br /&gt;
Asterisk 22は最新のAsteriskのメジャーリリースで、Asterisk 20同様にLTS(Long Term Support:通常4年)になります。&lt;br /&gt;
:https://docs.asterisk.org/About-the-Project/Asterisk-Versions/&lt;br /&gt;
===Asterisk 20からの変更点で重要なもの===&lt;br /&gt;
*chan_sipは廃止(ソースコードも含まれない)&lt;br /&gt;
*chan_alsa,chan_mgcp,chan_skinnyも廃止&lt;br /&gt;
*app_macroは廃止&lt;br /&gt;
make menuselectで確認するとわかりますが、廃止予定だったチャネルはすべて&#039;&#039;&#039;廃止&#039;&#039;&#039;されています。&lt;br /&gt;
                        **************************************************&lt;br /&gt;
                            Asterisk Module and Build Option Selection&lt;br /&gt;
                        **************************************************&lt;br /&gt;
 &lt;br /&gt;
                                 Press &#039;h&#039; for help.&lt;br /&gt;
 &lt;br /&gt;
                                 --- Core ---&lt;br /&gt;
                             [*] chan_bridge_media&lt;br /&gt;
                             [*] chan_dahdi&lt;br /&gt;
                             [*] chan_iax2&lt;br /&gt;
                             XXX chan_motif&lt;br /&gt;
                             [*] chan_pjsip&lt;br /&gt;
                             [*] chan_rtp&lt;br /&gt;
                                 --- Extended ---&lt;br /&gt;
                             [*] chan_audiosocket&lt;br /&gt;
                             [*] chan_console&lt;br /&gt;
                             [*] chan_unistim&lt;br /&gt;
Asterisk 22で使用できるチャネルは上記だけです。&amp;lt;br&amp;gt;&lt;br /&gt;
なおH.323やbluetooth(mobile)チャネルはこれまで通り、addon扱いです。&lt;br /&gt;
                        **************************************************&lt;br /&gt;
                            Asterisk Module and Build Option Selection&lt;br /&gt;
                        **************************************************&lt;br /&gt;
 &lt;br /&gt;
                                 Press &#039;h&#039; for help.&lt;br /&gt;
 &lt;br /&gt;
                                 --- Extended ---&lt;br /&gt;
                             [ ] chan_mobile&lt;br /&gt;
                             [ ] chan_ooh323&lt;br /&gt;
                             [ ] format_mp3&lt;br /&gt;
                             XXX res_config_mysql&lt;br /&gt;
===マイナーバージョンにおける注意===&lt;br /&gt;
22の途中(正確にどのバージョンかは把握していませんが)からPJSIP_CONTACTSのDBが変更になっています。カラムが1つ追加されているだけですが、古いスキーマでDBを作っているとエラーで正常動作しません。新しいものを使ってください。&lt;br /&gt;
&lt;br /&gt;
==新機能==&lt;br /&gt;
Asterisk 21で採用されたものを継承します。&amp;lt;br&amp;gt;&lt;br /&gt;
===テナントID===&lt;br /&gt;
pjsip.confで tenantid= が設定できるようになりました。CHANNEL()ファンクションでこの値を参照/設定できるようになりました(CHANNEL(tenantid))。&lt;br /&gt;
===pjsip_wizard===&lt;br /&gt;
res_pjsip_config_wizard.so がリロード可能になりました。&lt;br /&gt;
===RECORD_TIME===&lt;br /&gt;
変数 RECORD_TIME が追加され、Record()で録音した場合の録音時間(ミリ秒)を返すようになりました。&lt;br /&gt;
===chan_websocket===&lt;br /&gt;
[[Asterisk chan websocket | Websocket]] の音声チャネルが追加(22.6以降)。&amp;lt;br&amp;gt;&lt;br /&gt;
PjSIPのWebsocketではなく、AsteriskがサポートするチャネルとしてのWebsocketクライアント。&lt;br /&gt;
==新機能(追加)==&lt;br /&gt;
22は途中で修正/機能追加が入っているので注意してください。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Asterisk 22.7.0～&lt;br /&gt;
* Audiosocket&lt;br /&gt;
CODECが追加されています。試験はしていませんが8k 16PCM以外もサポートされるようになったようです&lt;br /&gt;
:https://docs.asterisk.org/Configuration/Channel-Drivers/AudioSocket/#protocol-definition&lt;br /&gt;
* chan_websocket&lt;br /&gt;
JSONタイプのメッセージがサポートされるようになりました&lt;br /&gt;
:https://docs.asterisk.org/Configuration/Channel-Drivers/WebSocket/&lt;br /&gt;
&lt;br /&gt;
==削除されたもの==&lt;br /&gt;
&lt;br /&gt;
===CDR===&lt;br /&gt;
NoCDRが削除、ResetCDRの&#039;e&#039;オプションが削除&lt;br /&gt;
===app_macro===&lt;br /&gt;
Macroは完全に削除。Macroを利用していたextenは要注意。&amp;lt;br&amp;gt;&lt;br /&gt;
Asterisk app_ のオプション類でマクロを呼び出せたものもマクロは使用不可となったのでGosubに置換すること。&amp;lt;br&amp;gt;&lt;br /&gt;
:app_dialのMオプションも削除&lt;br /&gt;
:app_minivmマクロを使用した記述は動作しない&lt;br /&gt;
:app_queue 呼び出し先でマクロは使用できない&lt;br /&gt;
:ccss コールバックマクロはなし gosubのみ&lt;br /&gt;
:app_voicemail マクロサポートはなし&lt;br /&gt;
:チャネル マクロコンテキスト/プライオリティは削除&lt;br /&gt;
:オプション stdexten&lt;br /&gt;
:pbx マクロロックが削除&lt;br /&gt;
:pbx_dundi マクロはサーチしない&lt;br /&gt;
:snmp マクロコンテキスト,exten,プライオリティは削除&lt;br /&gt;
移行方法は [[Extension_Macro_To_Gosub]] を参考に。&lt;br /&gt;
&lt;br /&gt;
===app_osplookup===&lt;br /&gt;
このモジュールは削除(Asterisk 19で非推奨)&lt;br /&gt;
===chan_alsa===&lt;br /&gt;
このモジュールは削除(Asterisk 19で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
→ [[chan_console]] へ移行のこと&lt;br /&gt;
===chan_mgcp===&lt;br /&gt;
このモジュールは削除(Asterisk 19で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
===chan_sip===&lt;br /&gt;
このモジュールは削除(Asterisk 17で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;要注意:完全に削除。明示指定してコンパイルすることも不可。&amp;lt;/strong&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===chan_skinny===&lt;br /&gt;
このモジュールは削除(Asterisk 19で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
Cisco電話機(skinny)は使用不可。&lt;br /&gt;
===pbx_builtins===&lt;br /&gt;
ImportVar、SetAMAFlagsは削除&lt;br /&gt;
===res_monitor===&lt;br /&gt;
このモジュールは削除(Asterisk 16で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
これによりapp_queueのWおよびwオプションも削除&amp;lt;br&amp;gt;&lt;br /&gt;
MixMonitorを使用すること。&lt;br /&gt;
&lt;br /&gt;
===その他===&lt;br /&gt;
細かい変更点等は公式を参照のこと。&amp;lt;br&amp;gt;&lt;br /&gt;
https://docs.asterisk.org/Asterisk_22_Documentation/WhatsNew/&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===廃止予定===&lt;br /&gt;
users.confは廃止予定となっており、Asterisk 23で削除されているようです。users.confによる設定は使えなくなります。&lt;br /&gt;
&lt;br /&gt;
==注意==&lt;br /&gt;
*&#039;&#039;&#039;SIPチャネル要注意&#039;&#039;&#039;&lt;br /&gt;
:SIPチャネルはPjSipが標準となりました。chan_sipはソースも配布されず&#039;&#039;&#039;完全に廃止&#039;&#039;&#039;されました。&amp;lt;br&amp;gt;&lt;br /&gt;
→ [[Asterisk pjsip]]&amp;lt;br&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Macro廃止&#039;&#039;&#039;&lt;br /&gt;
:Macroが完全廃止されました。Gosub/Returnへの書き換えが必要です。&lt;br /&gt;
:extenでMacroを多用している例は多いので22へ移行する場合には対応してください。&lt;br /&gt;
==現状==&lt;br /&gt;
2024/10 : Asterisk 20からのアップグレードで問題はなさそうです。API周り等で細かいところまではチェックしていませんが、Asterisk 18ベースのextenでは特に問題がないようにみえています。&lt;br /&gt;
&lt;br /&gt;
==インストール==&lt;br /&gt;
===前提となるパッケージ類=== &lt;br /&gt;
GCC、G++(GNU-C++)、OpenSSL、Ncurses、bison、カーネルソース(DAHDIを使う場合)、libxml2、SQLite3、libuuid-devel&amp;lt;br&amp;gt;&lt;br /&gt;
dnsutilsは使う人がいるかもなので追加。libsrtp2はブラウザフォン対応用、libunboundはRTX/NVRで直収のため。&amp;lt;br&amp;gt;&lt;br /&gt;
Debianで説明します。&amp;lt;br&amp;gt;&lt;br /&gt;
以下の例はbookworm最小インストール(netinstall)からパッケージを追加した例です。&amp;lt;br&amp;gt;&lt;br /&gt;
 apt -y install build-essential libedit-dev uuid-dev libxml2-dev libncurses-dev libsqlite3-dev sqlite3 libssl-dev subversion git net-tools dnsutils libsrtp2-dev libunbound-dev&lt;br /&gt;
Asteriskの基本的な部分は上記のパッケージ追加で問題ないと思います。なおJanssonはAsteriskのバンドルでインストールしますので、configure時に指定します。&amp;lt;br&amp;gt;&lt;br /&gt;
Asterisk 20と同様の環境でコンパイルできました。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Asteriskソースの入手===&lt;br /&gt;
Asterisk 22のソースは以下からダウンロードできます。なお asterisk-22-current.tar.gz が最新バージョンへのシンボリックリンクとなっていますので、これをダウンロードすれば最新バージョンが入手できます。&lt;br /&gt;
 http://downloads.asterisk.org/pub/telephony/asterisk/&lt;br /&gt;
展開するディレクトリはどこでもかまいませんが、ここでは/usr/src/とします。&lt;br /&gt;
 # cd /usr/src&lt;br /&gt;
 # wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-22-current.tar.gz&lt;br /&gt;
入手したら展開しておきます。展開すると現在のAsteriskのバージョンのディレクトリに展開されます。以降それぞれの作業は、それぞれの展開したサブディレクトリで行います。&lt;br /&gt;
 # tar zxvf asterisk-22-current.tar.gz&lt;br /&gt;
 # cd asterisk-22.x.x&lt;br /&gt;
&lt;br /&gt;
===Asteriskのコンパイルとインストール===&lt;br /&gt;
基本的にconfigureしてmakeするだけですが、Janssonをバンドルで行うので以下のオプションでconfigureします。。&lt;br /&gt;
 # ./configure --with-jansson-bundled&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
以前のバージョンからアップグレードを行う場合、変更されたモジュール類が多いので、一旦、以前のモジュールをディレクトリごと名前変更してバックアップしてからインストールしてください。&amp;lt;BR&amp;gt;&lt;br /&gt;
 mv /usr/lib/asterisk/module /usr/lib/asterisk/module.20.bak&lt;br /&gt;
&lt;br /&gt;
あとはコンパイルとインストールを行うだけです(新規インストールの場合)。&lt;br /&gt;
 # make&lt;br /&gt;
 # make install&lt;br /&gt;
 # make samples&lt;br /&gt;
 # make config&lt;br /&gt;
これで新規インストールは完了します。最後の make config で起動時に自動起動するようになります。&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;アップグレード時の注意&#039;&#039;&#039;：以前のバージョンからアップグレードする場合、/etc/asterisk の設定ファイル類をバックアップしてから行ってください。make samplesすると /etc/asterisk の内容を上書きしてしまいます。アップグレード時は make installするだけで事足りることが多いです。(make configはシステムのスタートアップファイル類を更新するので大きな変更がない場合には更新の必要はありません。&lt;br /&gt;
====『何か』が足りない場合のヒント====&lt;br /&gt;
Asteriskのモジュールでコンパイルされないものが出てきた場合には以下の方法で対処してください。Asteriskの機能アップとともに依存するパッケージも増えているので『新しい機能を使いたいのに動かない』ような場合には要チェックです。&amp;lt;br&amp;gt;&lt;br /&gt;
make menuselectを実行します。コンパイルされていないモジュールを探します。例えば以下はLUAが使いたいけど、使えない場合に調べてみると&#039;pbx_lua&#039;がコンパイルされていない例です。&lt;br /&gt;
                               **************************************************&lt;br /&gt;
                                   Asterisk Module and Build Option Selection&lt;br /&gt;
                               **************************************************&lt;br /&gt;
 &lt;br /&gt;
                                        Press &#039;h&#039; for help.&lt;br /&gt;
 &lt;br /&gt;
                                        --- Core ---&lt;br /&gt;
                                    [*] pbx_config&lt;br /&gt;
                                    [*] pbx_loopback&lt;br /&gt;
                                    [*] pbx_spool&lt;br /&gt;
                                        --- Extended ---&lt;br /&gt;
                                    [*] pbx_ael&lt;br /&gt;
                                    XXX pbx_dundi&lt;br /&gt;
                                    XXX pbx_lua&lt;br /&gt;
                                    [*] pbx_realtime&lt;br /&gt;
XXXで表示されるものは『何か』が足りないのでコンパイル/インストールされないものです。カーソルを該当する箇所に移動すると、画面の下の方をみると次のような表示があるはずです。&lt;br /&gt;
                               Lua PBX Switch&lt;br /&gt;
 &lt;br /&gt;
                               Depends on: lua(E)&lt;br /&gt;
 &lt;br /&gt;
                               Support Level: extended&lt;br /&gt;
Depends onが何に依存しているかの情報で要するに&amp;quot;lua&amp;quot;に依存していることがわかります。&amp;lt;br&amp;gt;&lt;br /&gt;
ではluaのパッケージを追加すればOKかというと、それだけでは不足で、Asteriskはソースからコンパイルするので、単純なパッケージ追加だけではなく-devも追加する必要うがあります。なので、例えばLUAならば。&lt;br /&gt;
 apt install lua5.3&lt;br /&gt;
 apt install lua5.3-dev&lt;br /&gt;
のように、devパッケージも併せてインストールします。&amp;lt;br&amp;gt;&lt;br /&gt;
インストールが終わったら再度configureとmake menuselectをしてみましょう。&lt;br /&gt;
 # ./configure --with-jansson-bundled&lt;br /&gt;
 # make menuselect&lt;br /&gt;
再度確認すると次のようになっているはずです。&lt;br /&gt;
                                        --- Extended ---&lt;br /&gt;
                                    [*] pbx_ael&lt;br /&gt;
                                    XXX pbx_dundi&lt;br /&gt;
                                    [*] pbx_lua&lt;br /&gt;
                                    [*] pbx_realtime&lt;br /&gt;
これで表示が&#039;&#039;&#039;[*]&#039;&#039;&#039;となったので、コンパイル/インストールされることがわかります。このようにして何のパッケージが不足しているかを確認/追加します。&amp;lt;br&amp;gt;&lt;br /&gt;
ただしAsteriskのmake menuselectで表示されるパッケージ名称は『一般的な』ものなので自分のディストリでそれが何に相当するのかは調べてください。&lt;br /&gt;
&lt;br /&gt;
===日本語音声のインストール===&lt;br /&gt;
Asteriskの本体に付随する日本語音声は古いためGoogle TTSで合成した日本語音声(トーキー)を用意してあります(Asterisk 18ベース)。githubに用意してありますのでご利用ください。&amp;lt;br&amp;gt;&lt;br /&gt;
※core-sounds.txtを確認したところ、18と20,22で音声の差異は無いようです。&lt;br /&gt;
 git clone https://github.com/takao-t/asterisk-sound-ja.git&lt;br /&gt;
tarでまとめたものを展開します。&lt;br /&gt;
 cd asterisk-sound-ja&lt;br /&gt;
 cp core-sound-ja.tgz /var/lib/asterisk/sounds/.&lt;br /&gt;
 cd /var/lib/asterisk/sounds/&lt;br /&gt;
 tar zxvf core-sound-ja.tgz&lt;br /&gt;
これで sounds/ja の下に日本語音声ファイル類が入ります。LANGUAGE系の設定をjaにすると日本語音声が使えます。&amp;lt;br&amp;gt;&lt;br /&gt;
日本語文法に必要なパッチ類を以前提供していましたが、現在ではAsterisk本体にマージされているため文法はLANGUAGEの設定のみで対応できます。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ユーザの追加と設定==&lt;br /&gt;
Asteriskをasterisk:asteriskで起動させるために以下のようにグループ/ユーザを追加します。UID,GIDの5060は単なる趣味です。&lt;br /&gt;
 addgroup --gid 5060 asterisk&lt;br /&gt;
 adduser --uid 5060 --gid 5060 asterisk --disabled-password&lt;br /&gt;
Asteriskの実行ユーザ/グループは /etc/defaults/asterisk を編集します。以下の部分のコメントを外します。&lt;br /&gt;
 # Uncomment the following and set them to the user/groups that you&lt;br /&gt;
 # want to run Asterisk as. NOTE: this requires substantial work to&lt;br /&gt;
 # be sure that Asterisk&#039;s environment has permission to write the&lt;br /&gt;
 # files required  for  its  operation, including logs, its comm&lt;br /&gt;
 # socket, the asterisk database, etc.&lt;br /&gt;
 AST_USER=&amp;quot;asterisk&amp;quot;     &amp;lt;==ここと&lt;br /&gt;
 AST_GROUP=&amp;quot;asterisk&amp;quot;    &amp;lt;==ここ&lt;br /&gt;
&lt;br /&gt;
ディレクトリ/ファイル類の権限も調整しておきましょう。&lt;br /&gt;
 chown -R asterisk:asterisk /var/log/asterisk&lt;br /&gt;
 chown -R asterisk:asterisk /var/lib/asterisk&lt;br /&gt;
 chown -R asterisk:asterisk /var/spool/asterisk&lt;br /&gt;
 chown -R asterisk:asterisk /usr/lib/asterisk&lt;br /&gt;
 chown -R asterisk:asterisk /etc/asterisk&lt;br /&gt;
これでsystemctlで起動すればAsteriskが動くはずです。&lt;br /&gt;
&lt;br /&gt;
==サンプル設定ファイルと応用例==&lt;br /&gt;
Asterisk 20以降用に大幅に書き直しました。&amp;lt;br&amp;gt;&lt;br /&gt;
:https://github.com/takao-t/asterisk-conf/tree/main/asterisk_20&lt;br /&gt;
:使い方 [[Asterisk_20_サンプル設定ファイル]]&lt;br /&gt;
:解説 [[Asterisk_20_サンプル設定ファイル_解説]]&lt;br /&gt;
:NVR500の使用例 [[Asterisk+NVR500]]&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12571</id>
		<title>Asterisk chan websocket</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12571"/>
		<updated>2025-12-09T08:36:45Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* DTMF */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[カテゴリ:Asterisk]]&lt;br /&gt;
[[カテゴリ:websocket]]&lt;br /&gt;
&lt;br /&gt;
Asteriskの新しいチャネルとしてWebsocketチャネルが追加された。&amp;lt;br&amp;gt;&lt;br /&gt;
使用可能なバージョンは 23.0.0,22.6,0, 21.11.0, 20.16.0 のそれぞれ以降のバージョン。メジャーバージョンによる追加ではなく、マイナーバージョンの途中から追加されているので注意。&amp;lt;br&amp;gt;&lt;br /&gt;
従来からあるPjSIPのws/wssではなく、チャネルドライバとしてのWebsocket。&lt;br /&gt;
:https://docs.asterisk.org/Configuration/Channel-Drivers/WebSocket/?h=chan_websocket&lt;br /&gt;
==関連するモジュール==&lt;br /&gt;
chan_websocket&amp;lt;br&amp;gt;&lt;br /&gt;
res_websocket_client&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 *CLI&amp;gt; core show channeltype WebSocket&lt;br /&gt;
 -- Info about channel driver: WebSocket --&lt;br /&gt;
   Device State: no&lt;br /&gt;
 Presence State: no&lt;br /&gt;
     Indication: no&lt;br /&gt;
      Transfer : no&lt;br /&gt;
   Capabilities:  (codec2|g723|ulaw|alaw|gsm|g726|g726aal2|adpcm|slin|slin12|slin16|slin24|slin32|slin44|slin48|slin96|slin192|lpc10|g729|speex|speex16|speex32|ilbc|g722|siren7|siren14|g719|opus|jpeg|png|h261|h263|h263p|h264|h265|mpeg4|vp8|vp9|red|t140|t38|silk8|silk12|silk16|silk24)&lt;br /&gt;
    Digit Begin: no&lt;br /&gt;
      Digit End: yes&lt;br /&gt;
     Send HTML : no&lt;br /&gt;
  Image Support: no&lt;br /&gt;
   Text Support: no&lt;br /&gt;
 *CLI&amp;gt; module show like res_websocket_client.so&lt;br /&gt;
 Module                         Description                              Use Count  Status      Support Level&lt;br /&gt;
 res_websocket_client.so        WebSocket Client Support                 2          Running              core&lt;br /&gt;
&lt;br /&gt;
==注意点==&lt;br /&gt;
Websocket接続ではあるものの、リアルタイムの場合には、RTPと同様に20ミリ秒のペーシング(1フレームあたり20ミリ秒)の送出間隔を守ること。AsteriskからWebsocketへの送出はこの20ミリ秒フレームで送られるが、外部からAsteriskに送りつける場合にも20ミリ秒を守る必要がある。これが乱れると音声の品質低下、あるいは再生されないといった問題が発生する。この問題は割とハマるので注意。&amp;lt;br&amp;gt;&lt;br /&gt;
20ミリ秒が守れない場合にはバッファリングモードで使用すること。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==設定==&lt;br /&gt;
AsteriskからWebsocketに対して発信する場合の例。&amp;lt;br&amp;gt;&lt;br /&gt;
websocket_client.conf に以下のように記述する。&amp;quot;ws-connection1&amp;quot;が識別名。&lt;br /&gt;
 [ws-connection1]&lt;br /&gt;
 type = websocket_client&lt;br /&gt;
 uri = ws://127.0.0.1:8765&lt;br /&gt;
 protocols = media&lt;br /&gt;
 connection_type = per_call_config&lt;br /&gt;
 connection_timeout = 500&lt;br /&gt;
 reconnect_interval = 500&lt;br /&gt;
 reconnect_attempts = 5&lt;br /&gt;
 tls_enabled = no&lt;br /&gt;
websocket_client.conf を変更した場合には CLI から module reload res_websocket_client.so を実行すると設定が反映される。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Websocketに対して発信する場合には以下のように書く&lt;br /&gt;
 exten =&amp;gt; 9805,1,NoOp&lt;br /&gt;
 exten =&amp;gt; 9805,n,Dial(Websocket/ws-connection1/c(slin16))&lt;br /&gt;
 exten =&amp;gt; 9805,n,Hangup&lt;br /&gt;
テクノロジにWebsocket、/の後に識別名、その後にCODECを指定。c(slin16)はCODECにslin16(16kHzサンプリング 16bit LEのリニアPCM)の意味。CODECはチャネルで指定できるものが使えるが、Websocketのアプリケーション側で解釈できるものを使うこと。&amp;lt;br&amp;gt;&lt;br /&gt;
なお、AudioSocketではslin(8kHz 16bit LE)しか使えないが、Websocketではslin16の16kHzが使える。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Asteriskを着信側に使う場合はちょっと面倒なので省略。使い勝手はあまりよくない。&lt;br /&gt;
==Websocket側サンプルコード==&lt;br /&gt;
Websocketで待ち受け、ALSAデバイスで通話するサンプル。&amp;lt;br&amp;gt;&lt;br /&gt;
https://github.com/takao-t/asterisk-experimental/blob/main/websokect/ws_audio_server.py&amp;lt;br&amp;gt;&lt;br /&gt;
Websocketで待ち受け、音声をエコーバックするサンプル。&amp;lt;br&amp;gt;&lt;br /&gt;
https://github.com/takao-t/asterisk-experimental/blob/main/websokect/ws_echo.py&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
AsteriskのWebsocketチャネルではバイナリ(音声)データとテキストをサポートしている。テキストデータではステータスやコマンド等をやりとりできるので、サンプルコードに入れてあるが、この挙動(ANSWER)は今のところ効かない。Asterisk側の問題ではないかと思われる。&amp;lt;br&amp;gt;&lt;br /&gt;
Dial時オプションに&#039;n&#039;を付けるとAuto Answerしないとドキュメントに書かれているものの、Dial(Websocket/ws-connection1/c(slin16)n) のように書いてもAnswerしてしまうので、サンプルコード中の&amp;quot;ANSWER&amp;quot;送信は実際には効かないが、コマンド送りの例として残してある。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
ペーシングに関する参考情報:&amp;lt;br&amp;gt;&lt;br /&gt;
:ALSAオーディオを使用している場合、送出のタイミングはオーディオデバイスに依存しているので20ミリ秒が守られる&lt;br /&gt;
:エコーバックの場合にはAsteriskが送出してくる音声をそのまま返すのでAsteriskのタイミングで動作している&lt;br /&gt;
&lt;br /&gt;
==バッファリングモード==&lt;br /&gt;
20ミリ秒のペーシングが行えない場合には、Asteriskのバッファを使う手段が使える。この場合、以下の手順で送信する(Websocket-&amp;gt;Asterisk)。要するにXON/XOFFによる制御なのでシリアル制御に慣れている人にはおなじみの方法。&lt;br /&gt;
 WS-&amp;gt;Asterisk&lt;br /&gt;
  TEXTでSTART_MEDIA_BUFFERINGを送信&lt;br /&gt;
 Asteriskがバッファリング開始&lt;br /&gt;
  WS-&amp;gt;Asteriskに音声データ送信&lt;br /&gt;
 Asterisk-&amp;gt;WS&lt;br /&gt;
  バッファが9割になるとXOFF送出&lt;br /&gt;
  WS-&amp;gt;Asteriskは送出を停止&lt;br /&gt;
 Asterisk-&amp;gt;WS&lt;br /&gt;
  バッファが減ったらXON送出&lt;br /&gt;
  Asterisk-&amp;gt;WSは送出を再開&lt;br /&gt;
バッファリングモードのサンプルコード&lt;br /&gt;
:https://github.com/takao-t/asterisk-experimental/blob/main/websokect/ws_buffer_test.py&lt;br /&gt;
使用例としてはAIが生成した音声ファイルを送り付けて再生する場合など。基本XON/XOFFに従って制御すれば大丈夫そうである。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
ドキュメントによれば内部バッファは1,000フレーム。バッファのXON/XOFFの閾値はGET_STATUSでみると&lt;br /&gt;
 STATUS queue_length:2 xon_level:800 xoff_level:900 queue_full:false bulk_media:false media_paused:false&lt;br /&gt;
900でXOFF、800でXONするので、100フレーム以上をまとめて送るのはあまり良くなさそうな気がする。そもそもまとめて送るというよりも、ペーシングに配慮しないための機能が本来なのかも。&lt;br /&gt;
&lt;br /&gt;
==DTMF==&lt;br /&gt;
AsteriskからWebsocketにDTMFはTEXTで送られる。エコーバックのサンプルプログラムで試してみるとわかるが、以下のようなテキスト情報が得られる。&lt;br /&gt;
 --- WebSocket エコーサーバ ---&lt;br /&gt;
 サーバ: ws://0.0.0.0:8765&lt;br /&gt;
 ----------------------&lt;br /&gt;
 Ctrl+C で停止します。&lt;br /&gt;
 クライアント (&#039;127.0.0.1&#039;, 52856) が接続しました。&lt;br /&gt;
 受信 (TEXT): MEDIA_START connection_id:ws-connection1 channel:WebSocket/ws-connection1/0x7f46e8024170 format:slin16 optimal_frame_size:640 ptime:20&lt;br /&gt;
 受信 (TEXT): DTMF_END digit:9&lt;br /&gt;
 受信 (TEXT): DTMF_END digit:6&lt;br /&gt;
 受信 (TEXT): DTMF_END digit:5&lt;br /&gt;
 受信 (TEXT): DTMF_END digit:1&lt;br /&gt;
==その他==&lt;br /&gt;
20.18.0,22.8.0,23.2.0ではメッセージにJSONをサポートするらしい。&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=%E3%83%88%E3%83%BC%E3%82%AF:%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E7%99%BB%E9%8C%B2%E6%96%B9%E6%B3%95&amp;diff=12570</id>
		<title>トーク:ユーザー登録方法</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=%E3%83%88%E3%83%BC%E3%82%AF:%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E7%99%BB%E9%8C%B2%E6%96%B9%E6%B3%95&amp;diff=12570"/>
		<updated>2025-12-08T06:20:06Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;2025/08/10 未使用アカウントを一括削除&amp;lt;br&amp;gt;&lt;br /&gt;
2025/12/08 未使用アカウントを一括削除(106)&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=ABS_%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB&amp;diff=12569</id>
		<title>ABS インストール</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=ABS_%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB&amp;diff=12569"/>
		<updated>2025-11-30T19:26:27Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[カテゴリ:ABS]]&lt;br /&gt;
[[カテゴリ:インストール]]&lt;br /&gt;
[[カテゴリ:Asterisk]]&lt;br /&gt;
注意：ABSはクラウド向けではありません。インターネット上に公開しているサーバ上にインストールすることは想定していません。あくまでもローカル環境向けです。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
以下はDebian 12(bookworm)ベースの環境でインストールする方法です。Raspberry Piもこの方法です。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
まずOSを入れ最新の状態にアップデートしておいてください。(apt -y update, apt -y upgrade)。&amp;lt;br&amp;gt;&lt;br /&gt;
作業は基本的にrootの権限が必要です。sudoしろなどはいちいち説明しませんので、特記なき場合にはroot権限で作業を行ってください。&amp;lt;br&amp;gt;&lt;br /&gt;
当たり前ではありますが、ネットワークの設定等も正しく行っておいてください。特にPBXで使用する場合にはIPアドレスは固定すると思いますので、固定しておいてください。また、ssh等でアクセスできる環境を想定していますので、sshも設定しておいてください。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asteriskのインストール==&lt;br /&gt;
以下をパッケージ追加します。Asteriskのコンパイルに必要です。&amp;lt;br&amp;gt;&lt;br /&gt;
Raspberry Piのデフォルトインストールならば開発環境はインストールされていますが、以下のコマンドを実行しても、すでに入っているパッケージはそのままなので問題ありません。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 apt -y install build-essential libedit-dev uuid-dev libxml2-dev libncurses-dev libsqlite3-dev sqlite3 libssl-dev subversion git net-tools dnsutils libsrtp2-dev libunbound-dev&lt;br /&gt;
&lt;br /&gt;
Asteriskのソースをダウンロードします。ここではAsterisk 22を入れます。&amp;lt;br&amp;gt;&lt;br /&gt;
ABS自体はAsterisk 18でも動作しますが、古いバージョンを入れる理由は特にはないでしょう。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 wget https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-22-current.tar.gz&lt;br /&gt;
&lt;br /&gt;
参考:githubからcloneしてきてもかまいませんが、ブランチによっては最新版(未リリース)なので注意&amp;lt;br&amp;gt;&lt;br /&gt;
展開します。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 tar zxvf asterisk-22-current.tar.gz&lt;br /&gt;
&lt;br /&gt;
Asteriskを展開したディレクトリで作業します。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 cd asterisk-22.5.2 (22の最新版が22.5.2の場合)&lt;br /&gt;
&lt;br /&gt;
configureを実行します&lt;br /&gt;
&lt;br /&gt;
 ./configure --with-jansson-bundled&lt;br /&gt;
&lt;br /&gt;
もし途中でエラーが出て失敗する場合には何か足りないものがあるはずです。&amp;lt;br&amp;gt;&lt;br /&gt;
makeします。&lt;br /&gt;
&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
完了したらmake install,make samples,make configします&lt;br /&gt;
&lt;br /&gt;
 make install&lt;br /&gt;
 make samples&lt;br /&gt;
 make config&lt;br /&gt;
&lt;br /&gt;
インストールが完了したら以下のコマンドで asterisk:asterisk のユーザ/グループを登録します。&amp;lt;br&amp;gt;&lt;br /&gt;
応答が要求されたら適当に答えます&lt;br /&gt;
&lt;br /&gt;
 addgroup --gid 5060 asterisk&lt;br /&gt;
 adduser --uid 5060 --gid 5060 asterisk --disabled-password&lt;br /&gt;
&lt;br /&gt;
ディレクトリとファイルの所有者/グループをasteriskにします&lt;br /&gt;
&lt;br /&gt;
 chown -R asterisk:asterisk /var/log/asterisk&lt;br /&gt;
 chown -R asterisk:asterisk /var/lib/asterisk&lt;br /&gt;
 chown -R asterisk:asterisk /var/spool/asterisk&lt;br /&gt;
 chown -R asterisk:asterisk /usr/lib/asterisk&lt;br /&gt;
 chown -R asterisk:asterisk /etc/asterisk&lt;br /&gt;
&lt;br /&gt;
Asteriskの実行ユーザ/グループを&amp;quot;asterisk&amp;quot;にします。&amp;lt;br&amp;gt;&lt;br /&gt;
/etc/default/asterisk ファイルを編集します(Debianの場合)。以下の個所のコメントを外します。&lt;br /&gt;
&lt;br /&gt;
 # Uncomment the following and set them to the user/groups that you&lt;br /&gt;
 # want to run Asterisk as. NOTE: this requires substantial work to&lt;br /&gt;
 # be sure that Asterisk&#039;s environment has permission to write the&lt;br /&gt;
 # files required  for  its  operation, including logs, its comm&lt;br /&gt;
 # socket, the asterisk database, etc.&lt;br /&gt;
 AST_USER=&amp;quot;asterisk&amp;quot;    &amp;lt;-ここ&lt;br /&gt;
 AST_GROUP=&amp;quot;asterisk&amp;quot;   &amp;lt;-ここ&lt;br /&gt;
&lt;br /&gt;
Asteriskの音声ファイルも日本語化しておきましょう。コンパイルしたディレクトリとは別なディレクトリで&lt;br /&gt;
以下を実行して日本語音声を入手します。&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/takao-t/asterisk-sound-ja.git&lt;br /&gt;
&lt;br /&gt;
cloneが終わったら、以下のコマンドで音声ファイルをコピーしておきます。&lt;br /&gt;
&lt;br /&gt;
 cp ./asterisk-sound-ja/core-sound-ja.tgz /var/lib/asterisk/sounds/.&lt;br /&gt;
&lt;br /&gt;
ディレクトリを移動して展開します&lt;br /&gt;
&lt;br /&gt;
 cd /var/lib/asterisk/sounds&lt;br /&gt;
 tar xvf core-sound-ja.tgz&lt;br /&gt;
&lt;br /&gt;
展開し終わったらcore-sound-ja.tgzは要らないのですが、よほどディスク容量に困ってなければ置いたままでかまいません。&amp;lt;br&amp;gt;&lt;br /&gt;
オーナ/グループを変更しておきます&lt;br /&gt;
&lt;br /&gt;
 chonw -R asterisk:asterisk /var/lib/asterisk/sounds/ja&lt;br /&gt;
&lt;br /&gt;
==ABSのインストール==&lt;br /&gt;
&lt;br /&gt;
ABS「そのもの」はAsteriskのextenのかたまりなのですが、操作用のWebUI(ABS Panel)が付属するため、以下&lt;br /&gt;
をインストールします。&lt;br /&gt;
&lt;br /&gt;
 apt install apache2 php php-mbstring php-sqlite3&lt;br /&gt;
&lt;br /&gt;
githubから適当なディレクトリにcloneします。&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/takao-t/abs.git&lt;br /&gt;
&lt;br /&gt;
cloneしたディレクトリに移動し作業します。&amp;lt;br&amp;gt;&lt;br /&gt;
まず/etc/asteriskを削除します。samplesで入れたサンプル設定が入っているだけなので通常は問題ないはず&lt;br /&gt;
ですが、もしも自分で設定した何かが入っている場合にはバックアップしてください。&lt;br /&gt;
&lt;br /&gt;
 rm -r /etc/asterisk/*&lt;br /&gt;
&lt;br /&gt;
ABSのexten類をコピーします&lt;br /&gt;
&lt;br /&gt;
 cp -r exten/* /etc/asterisk/.&lt;br /&gt;
&lt;br /&gt;
ABSのサウンドファイルをコピーします&lt;br /&gt;
&lt;br /&gt;
 cp sound/abs-sounds-ja.tgz /var/lib/asterisk/sounds/.&lt;br /&gt;
&lt;br /&gt;
ABSのサウンドファイルを展開しておきます&lt;br /&gt;
&lt;br /&gt;
 cd /var/lib/asterisk/sounds&lt;br /&gt;
 tar xvf abs-sounds-ja.tgz&lt;br /&gt;
&lt;br /&gt;
/etc/asteriskに移動しファイルの権限を変更します。&lt;br /&gt;
&lt;br /&gt;
 cd /etc/asterisk&lt;br /&gt;
 chown -R asterisk:asterisk *&lt;br /&gt;
&lt;br /&gt;
初期のpjsip_wizard.confを生成します。pjsip_wizard.confは最初から入っていますが、パスワードが公開さ&lt;br /&gt;
れているのと同じなので必ず初期pjsip_wizard.confを生成するようにしてください。/etc/asteriskに移動し、以下を実行します。&lt;br /&gt;
&lt;br /&gt;
 ./pj_phonegen.sh &amp;gt; pjsip_wizard.conf&lt;br /&gt;
&lt;br /&gt;
Asteriskを起動します。起動したらCLIで動作していることを確認してください。&lt;br /&gt;
&lt;br /&gt;
 systemctl restart asterisk&lt;br /&gt;
&lt;br /&gt;
Asteriskが正常に起動されていればAsteriskの設定は一旦ここまでです。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
次にWebUIのインストールを行います。gitでcloneしたABSのディレクトリに戻ってください。&amp;lt;br&amp;gt;&lt;br /&gt;
WebUIのトップディレクトリ(URL)を決めます。ここでは http://{IPアドレス}/absp とします。この場合、DebianのApache標準インストールでは/var/www/html/abspとなります。ここにWebUI関連のファイルをコピーします。&lt;br /&gt;
&lt;br /&gt;
 mkdir /var/www/html/absp&lt;br /&gt;
 cp -r panel/* /var/www/html/absp/.&lt;br /&gt;
 chown -R www-data:www-data /var/www/html/absp&lt;br /&gt;
&lt;br /&gt;
これでほぼ使えるのですが、1点だけ確認しておきます。ABS PanelはAMI経由でAsteriskを操作します。デフ&amp;gt;ォルトのインストールではユーザ名とパスワードが『決め打ち』になっていますが、AMIのbindがlocalhostだけになっているのでサーバを他の用途に使っておらず、ログインユーザもいないようなら問題はないのですが、他にログインユーザがいるような場合にはユーザとパスワードを変更してください。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
/etc/asterisk/manager.confの次のセクションがWebUI用です。&lt;br /&gt;
&lt;br /&gt;
 ;ABS Panel接続情報&lt;br /&gt;
 [abspadmin]&lt;br /&gt;
 secret = amipass1234&lt;br /&gt;
 deny=0.0.0.0/0.0.0.0&lt;br /&gt;
 permit=127.0.0.0/255.0.0.0&lt;br /&gt;
 read = system,call&lt;br /&gt;
 write = system,all&lt;br /&gt;
&lt;br /&gt;
この設定内容にあわせて/var/www/html/absp/php/amiauth.phpを修正します。&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 define(&#039;AMIUSERNAME&#039;, &#039;abspadmin&#039;);&lt;br /&gt;
 define(&#039;AMIPASSWORD&#039;, &#039;amipass1234&#039;);&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
これで基本のインストールは終わりです。http://{IPアドレス}/abspにアクセスしてください。最初のユーザ&lt;br /&gt;
登録画面が開きますので、ユーザ名とパスワードを登録してログインしてください。このユーザが最初の管理ユーザとなります。従来はファイルでユーザを管理していたため、最初の管理ユーザの設定はファイルで行う必要がありましたが、新しいWebUIではユーザ情報をAstDBに保存するようにしたため、このようにWebUIだけで&lt;br /&gt;
ユーザの新規登録が可能となっています。もし管理ユーザのパスワードがわからなくなってしまった場合には、AstDBから/ABS/PANELUSER/のキーにあるユーザ名を削除してください。&lt;br /&gt;
&lt;br /&gt;
 *CLI&amp;gt; database show ABS/PANELUSER&lt;br /&gt;
 /ABS/PANELUSER/admin                                : ======hashed password======&lt;br /&gt;
&lt;br /&gt;
このような形でユーザ情報が保存されています。&amp;lt;br&amp;gt;&lt;br /&gt;
つまりAsteriskが動作していないとWebUIは使えません。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ABSの初期設定==&lt;br /&gt;
===管理ユーザー===&lt;br /&gt;
前述のように最初のログイン(ユーザが一切登録されていない状態)時にログインしようとするとユーザー登録ページが開きます。ここで登録したユーザが最初の管理ユーザーとなります。ログインが可能になったなら、管理ユーザは他にユーザを登録することができるようになります。&amp;lt;br&amp;gt;&lt;br /&gt;
もし、管理ユーザのパスワードを忘れるなどしてログインできなくなってしまった場合には、AstDBからABS/PANELUSERのエントリを削除すれば初期状態に戻すことができます。&lt;br /&gt;
===ACL===&lt;br /&gt;
Webサーバによるアクセス制御に加えて、ABS WebUIへのアクセス制御も持っています。初期状態では何も設定されていないので、どこからでもアクセス可能となっていますが、特定のアドレスやネットワークにだけ許可したい場合には [管理機能]=&amp;gt;[システム設定] からセキュリティの項目にあるACLを登録してください。&amp;lt;br&amp;gt;&lt;br /&gt;
注意：このACLはWebUI用のACLです。PjSIPのACLは全く別ものですので注意してください。&lt;br /&gt;
&lt;br /&gt;
===ABS初期化===&lt;br /&gt;
初めて使う場合には以下の操作を行ってください。AstDBに初期値を登録します。&lt;br /&gt;
:[PBX動作設定]=&amp;gt;[PBX機能詳細設定] &lt;br /&gt;
::基本テクノロジ設定&lt;br /&gt;
::システム・初期化-&amp;gt;キーシステム初期化実行&lt;br /&gt;
::エリア管理-&amp;gt;エリア設定保存&lt;br /&gt;
==使い方==&lt;br /&gt;
大体のものは見ればわかるようになっているはずですが、たぶんわかりにくい。&amp;lt;br&amp;gt;&lt;br /&gt;
UIの構成は以下のようになっています。&amp;lt;br&amp;gt;&lt;br /&gt;
[[画像:ABS_NCP1.png |640px]]&lt;br /&gt;
&lt;br /&gt;
==オプション設定==&lt;br /&gt;
ちょっと詳しい人向けの設定(オプション)&lt;br /&gt;
&lt;br /&gt;
===キャッシュ管理===&lt;br /&gt;
新WebUIではセッションの管理を行っています。セッション情報は独自のKeyValue Storeにキャッシュしていますが、KVSとかっこいい言い方をしても単なるファイルです。ただしAstDBと表現方法に互換のあるKVSを実装しています。基本のキャッシュ先はドキュメントのルート/cacheで、以下のようにセッションファイルと最終アクティビティ時刻が記録されます。&lt;br /&gt;
&lt;br /&gt;
 /var/www/html/absp# ls -l cache/&lt;br /&gt;
 total 8&lt;br /&gt;
 -rw-r--r-- 1 www-data www-data 13 Sep  5 09:19 ABS_PANELUSER_admin-last_activity&lt;br /&gt;
 -rw-r--r-- 1 www-data www-data 34 Sep  5 09:19 ABS_PANELUSER_admin-session_id&lt;br /&gt;
&lt;br /&gt;
最終アクティビティ時間はWebUIで何かを操作する度に記録されますので、ディスクI/Oやディスクの寿命を気にする場合にはこれをメモリ上に持つことができます。メモリ上に置くにはmemcachedを使用しますので、以下の手順で設定してください。&lt;br /&gt;
&lt;br /&gt;
 apt install memchached php-memcached&lt;br /&gt;
 systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
もしWebUIでログインしているなら、まずはログアウトします。ログアウトしてからphp/config.phpを編集します。デフォルトインストールなら以下のようにfileを指定している個所をコメントし、memcachedの設定のコメントを外すと動きます。&lt;br /&gt;
&lt;br /&gt;
 // キャッシュ設定 現在のところセッション情報保存にのみ使用&lt;br /&gt;
 // 設定可能値はfileまたはmemcached&lt;br /&gt;
 // memcached使用時はmemcachedのインストールとPHP拡張が必要&lt;br /&gt;
 //define(&#039;CACHE_MODE&#039;, &#039;file&#039;);&lt;br /&gt;
 // memcachedを使用する場合は以下の設定が必要&lt;br /&gt;
 define(&#039;CACHE_MODE&#039;, &#039;memcached&#039;);&lt;br /&gt;
 define(&#039;MEMCACHED_HOST&#039;, &#039;127.0.0.1&#039;);&lt;br /&gt;
 define(&#039;MEMCACHED_PORT&#039;, 11211)&lt;br /&gt;
&lt;br /&gt;
動作しているかを確認するにはcache/の下にファイルが作成されておらず、かつWebUIの管理機能-&amp;gt;システム設定でユーザ一覧を確認した際に「最終アクティビティ」の時刻が記録されており、何等かの操作をすることでこの時刻が更新されればセッション情報はmemcachedで保持されています。&amp;lt;br&amp;gt;&lt;br /&gt;
WebUIはセッション情報以外はなるべく「書かない」ようにしてあります。情報はAMIでAstDBから取得します&amp;gt;が、AstDBに対して書き込むのは[設定]等がクリックされた場合だけです。&amp;lt;br&amp;gt;&lt;br /&gt;
なお、memcachedが使えない場合にはファイルで保存するようにフォールバックします。&amp;lt;br&amp;gt;&lt;br /&gt;
memcachedはご存じの通りin-memoryのvolatileなデータストアです。WebUIで使用しているのはブラウザのセッション情報だけなので問題にはなりません。またよほど多数のユーザを登録し多数ログインするなど極端なことをしない限りはサイズも問題にはなりません。&amp;lt;br&amp;gt;&lt;br /&gt;
お勧めの方法ではありますが追加のコンポーネントが必要なことと「わかりやすさ」を優先しているため、デフォルトではfileモードを提供しています。&lt;br /&gt;
&lt;br /&gt;
===ファイル編集===&lt;br /&gt;
WebUIからファイルの生成(トランク設定など)やAsteriskの設定ファイルを編集したい場合には以下の手順で権限類を調整する必要があります。ただし&lt;br /&gt;
&lt;br /&gt;
*Asteriskの設定がよくわかっていること&lt;br /&gt;
*WebUIからAsteriskシステムのファイルを編集するリスク&lt;br /&gt;
*もし他のWebページやコンテンツがある場合に、Asteriskの設定が変更されるリスク&lt;br /&gt;
*以下の手順で何をやっているのか理解できる&lt;br /&gt;
&lt;br /&gt;
これらを理解した上で利用してください。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
ABS PanelというかABS自体はAsteriskのAstDBに設定値を持つことで動作が決定されています。このため『Asteriskの設定ファイルを直接変更する』ということは行いません。例えば内線の割り当てや付け替えのような操作に関してはAsteriskの設定ファイルを触る必要はありません。ですが、トランク設定等、Asteriskの動作に関わる部分は「sshでログインしてファイルを直接編集する」ような「わかっている人が操作する」ことを前提にしています。とはいえ、これは面倒だという人がいるのも事実なのでWebUIにファイル編集機能を持たせてあります。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
DebianではWebサーバはwww-data:www-dataというユーザ/グループで動作しています。Asteriskはここまでの設定であればasterisk:asteriskで動作します。WebUIからAsteriskの設定ファイルを編集させるには、Asteriskグループにwww-dataを所属させます。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 usermod -aG asterisk www-data&lt;br /&gt;
&lt;br /&gt;
Webサーバを再起動します&lt;br /&gt;
&lt;br /&gt;
 systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
/etc/asteriskにグループでの書き込みを許可します&lt;br /&gt;
&lt;br /&gt;
 chmod -R g+w /etc/asterisk&lt;br /&gt;
&lt;br /&gt;
WebUI(ABS Panel)にログインし、[管理機能]-&amp;gt;[システム設定]から「ファイル編集機能」を有効にします。&amp;lt;br&amp;gt;&lt;br /&gt;
[ツール]-&amp;gt;[ファイル編集]でファイル編集機能を試します。新規作成の個所でsample.txt等のファイル名を入&lt;br /&gt;
れ新規作成し、保存して正しくファイルが作成/編集できることを確認します。&lt;br /&gt;
==二重ログインの禁止と対処==&lt;br /&gt;
新バージョンのWebUIでは複数のブラウザからの同時ログインを禁止しています。このため「ログアウトしないでブラウザを閉じた」や「別な場所でログインしたまま」などの場合に新規に入れないという問題が発生します。通常、自動ログアウト時間(デフォルト30分)を経過すると別な場所からログインできるようになるのですが、30分も待ってられないという場合には以下の対処でログインできます。ただし、サーバにsshログインできることが必要になります。&lt;br /&gt;
===キャッシュモードがfileの場合===&lt;br /&gt;
cache/ の下にあるセッションファイルを削除します。&amp;lt;br&amp;gt;&lt;br /&gt;
ABS_PANELUSER_ユーザ名-session_id と ABS_PANELUSER_ユーザ名-last_activity がユーザに対応するファイルです。&lt;br /&gt;
&lt;br /&gt;
===キャッシュモードがmemcachedの場合===&lt;br /&gt;
memcachedを他の用途に使っていないのであれば単純にsystemctl restart memcachedでmemcachedを再起動しクリアしてしまいます。&amp;lt;br&amp;gt;&lt;br /&gt;
他の用途にも使っていて再起動できない場合にはtelnetやnc等で操作し、該当するキーを削除してください。&lt;br /&gt;
 get ABS_PANELUSER_admin-session_id&lt;br /&gt;
 VALUE ABS_PANELUSER_admin-session_id 0 26&lt;br /&gt;
 50kbc2fnq71dina0abbapn62kt&lt;br /&gt;
 END&lt;br /&gt;
 get ABS_PANELUSER_admin-last_activity&lt;br /&gt;
 VALUE ABS_PANELUSER_admin-last_activity 1 10&lt;br /&gt;
 1757488148&lt;br /&gt;
 END&lt;br /&gt;
ファイルの場合と同様、ABS_PANEL_USER_ユーザ名のキーを持ちます。これらを削除すればログインできるようになります。&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=%E6%9C%89%E7%B7%9A%E7%B3%BBIP%E9%9B%BB%E8%A9%B1%E6%A9%9F&amp;diff=12563</id>
		<title>有線系IP電話機</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=%E6%9C%89%E7%B7%9A%E7%B3%BBIP%E9%9B%BB%E8%A9%B1%E6%A9%9F&amp;diff=12563"/>
		<updated>2025-10-28T07:17:22Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:VoIP]]&lt;br /&gt;
[[Category:Asterisk]]&lt;br /&gt;
[[Category:IP電話機]]&lt;br /&gt;
&#039;&#039;&#039;注意：このページの情報はかなり古くなっていますが参考のために残します&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
:価格は当時の価格であったりするので参考までに。入手可能な機種でも円安でかなり値段変わっていたりします。&amp;lt;br&amp;gt;&lt;br /&gt;
:現状、国内で入手容易な有線系のIP電話機は限られています。PanasonicもIP電話機は終了しました。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
LANに直接接続して使用するタイプのIP電話機。&amp;lt;br&amp;gt;&lt;br /&gt;
電源供給にPoEを使用するものが増えてきている。PoEの関連情報は [[PoE]] のページへ。&lt;br /&gt;
==AASTRA==&lt;br /&gt;
http://www.aastra.com&amp;lt;br&amp;gt;&lt;br /&gt;
日本国内ではコミュニケーションビジネスアベニュー(CBA)から購入可能。&amp;lt;br&amp;gt;&lt;br /&gt;
:[http://voip-info.jp/index.php/%E8%B3%BC%E5%85%A5%E6%83%85%E5%A0%B1#.E3.82.B3.E3.83.9F.E3.83.A5.E3.83.8B.E3.82.B1.E3.83.BC.E3.82.B7.E3.83.A7.E3.83.B3.E3.83.93.E3.82.B8.E3.83.8D.E3.82.B9.E3.82.A2.E3.83.99.E3.83.8B.E3.83.A5.E3.83.BC 購入情報:CBA]&lt;br /&gt;
===9133i===&lt;br /&gt;
[[画像:9133i.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
プロトコル:SIP&amp;lt;br&amp;gt;&lt;br /&gt;
色:黒系&amp;lt;br&amp;gt;&lt;br /&gt;
実勢価格:$130前後&amp;lt;br&amp;gt;&lt;br /&gt;
解説ページ: [[Aastra 9133i]]&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:IEEE802.3af&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:付属&amp;lt;br&amp;gt;&lt;br /&gt;
ディスプレイ:16×2+アイコン&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数:2&amp;lt;br&amp;gt;&lt;br /&gt;
備考:プログラマブル・ファンクションキーあり。MeterMaidでラインキー的に使用可能(→[[ラインキー １番に電話]])。&amp;lt;br&amp;gt;&lt;br /&gt;
===53i===&lt;br /&gt;
[[画像:Aastra53i.JPG|240 px]]&amp;lt;br&amp;gt;&lt;br /&gt;
プロトコル:SIP&amp;lt;br&amp;gt;&lt;br /&gt;
色:黒系&amp;lt;br&amp;gt;&lt;br /&gt;
実勢価格:&amp;lt;br&amp;gt;&lt;br /&gt;
解説ページ: [[Aastra 53i]]&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:IEEE802.3af&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:付属&amp;lt;br&amp;gt;&lt;br /&gt;
ディスプレイ:キャラクタ液晶 16x3&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数:2&amp;lt;br&amp;gt;&lt;br /&gt;
備考:57iの廉価版的位置づけ。&lt;br /&gt;
===57i===&lt;br /&gt;
[[画像:aastra_57i.jpg]][[画像:Aastra_Cisco_XML_Services2.jpg |240 px]]&amp;lt;br&amp;gt;&lt;br /&gt;
プロトコル:SIP&amp;lt;br&amp;gt;&lt;br /&gt;
色:黒系&amp;lt;br&amp;gt;&lt;br /&gt;
実勢価格:$300前後&amp;lt;br&amp;gt;&lt;br /&gt;
解説ページ: [[Aastra 57i]]&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:IEEE802.3af&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:付属&amp;lt;br&amp;gt;&lt;br /&gt;
ディスプレイ:144x128ドット&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数:2&amp;lt;br&amp;gt;&lt;br /&gt;
備考:プログラマブル・ファンクションキー多数。XMLブラウザ搭載。MeterMaidでラインキー的に使用可能(→[[ラインキー １番に電話]])。&lt;br /&gt;
&lt;br /&gt;
===XML対応===&lt;br /&gt;
Aastraの電話機はXMLで制御可能→[[Aastra XML]]&lt;br /&gt;
&lt;br /&gt;
==ACT==&lt;br /&gt;
ACTコミュニケーションズ株式会社&lt;br /&gt;
===P123S===&lt;br /&gt;
[[画像:ACT P123S.jpg|240 px]]&amp;lt;BR&amp;gt;&lt;br /&gt;
プロトコル:SIP&amp;lt;br&amp;gt;&lt;br /&gt;
色:黒系&amp;lt;br&amp;gt;&lt;br /&gt;
定価:&amp;lt;strike&amp;gt;おっとで1,980円&amp;lt;/strike&amp;gt;(売り切れ@おっと)&amp;lt;br&amp;gt;&lt;br /&gt;
解説ページ:[[ACT_P123S|P123Sの簡易解説ページ]]&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:対応&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:同封&amp;lt;br&amp;gt;&lt;br /&gt;
表示:キャラクタ16x2液晶&lt;br /&gt;
LANポート数:2&amp;lt;br&amp;gt;&lt;br /&gt;
備考:おっとで投売りされた古いタイプだと、NortelのPoE-HUB(460-24T-PWR)では、PoEで動作しない。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Firmware Ver1.3xxx以降について&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
460-24T-PWRでPoE動作可能になります。&amp;lt;br&amp;gt;&lt;br /&gt;
Funcキーで日本語を選択するとWebメニュー画面も日本語で表示されます。&amp;lt;br&amp;gt;&lt;br /&gt;
ラインキーにextenを設定できます、よって「[[ラインキー １番に電話]]」ライクな使い方が出来ます。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ATCOM==&lt;br /&gt;
http://www.atcom.cn/&lt;br /&gt;
===AT-620R===&lt;br /&gt;
プロトコル:SIP&amp;lt;br&amp;gt;&lt;br /&gt;
色:黒系&amp;lt;br&amp;gt;&lt;br /&gt;
定価:8,900円(amazon.co.jp価格)&amp;lt;br&amp;gt;&lt;br /&gt;
解説ページ:なし&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:なし&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:100～240V対応 12VDC&amp;lt;br&amp;gt;&lt;br /&gt;
表示:グラフィック(Polycomっぽい表示)&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数: 1WAN/1LAN (PPPoE対応)&amp;lt;br&amp;gt;&lt;br /&gt;
備考:アクセンス大阪取り扱い。http://osaka.accense.com/index.html&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Allied-Telesis==&lt;br /&gt;
http://www.allied-telesis.co.jp/&lt;br /&gt;
===CP100TX===&lt;br /&gt;
プロトコル:SIP&amp;lt;br&amp;gt;&lt;br /&gt;
色:白系&amp;lt;br&amp;gt;&lt;br /&gt;
定価:14,800円&amp;lt;br&amp;gt;&lt;br /&gt;
解説ページ:なし&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:オルタナティブＡ&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:別売&amp;lt;br&amp;gt;&lt;br /&gt;
表示:キャラクタ16x2液晶&lt;br /&gt;
LANポート数:&amp;lt;br&amp;gt;&lt;br /&gt;
備考:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Astertel(旧ASP、現巧)==&lt;br /&gt;
http://www.astertel.biz/&lt;br /&gt;
===I-Sirius2000===&lt;br /&gt;
プロトコル:SIP&amp;lt;br&amp;gt;&lt;br /&gt;
色:黒系&amp;lt;br&amp;gt;&lt;br /&gt;
直販価格:税込18,900円&amp;lt;br&amp;gt;&lt;br /&gt;
解説ページ:なし&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:オプション対応&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:付属&amp;lt;br&amp;gt;&lt;br /&gt;
標準:キャラクタ16x2液晶&amp;lt;br&amp;gt;&lt;br /&gt;
備考:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cisco Systems G.K.==&lt;br /&gt;
http://www.cisco.com/jp/index.shtml&lt;br /&gt;
&lt;br /&gt;
===CP-7911G===&lt;br /&gt;
[[画像:CP-7911G.jpg|240 px|CP-7911G]]&amp;lt;BR&amp;gt;&lt;br /&gt;
プロトコル:SIP,[[Skinny_Client_Control_Protocol|SCCP]]&amp;lt;br&amp;gt;&lt;br /&gt;
色:黒系&amp;lt;br&amp;gt;&lt;br /&gt;
価格:2万～3万 (CallManagerに接続する場合は別途ライセンスを購入すること)&amp;lt;br&amp;gt;&lt;br /&gt;
[[CP-7911G|解説ページ]]&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:対応&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:[[Cisco/電源アダプタ|CP-PWR-CUBE-3=]](別売り)&amp;lt;br&amp;gt;&lt;br /&gt;
表示:モノクロ液晶(192x64）&amp;lt;br&amp;gt;&lt;br /&gt;
備考:単体では販売されていない事が多い。&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CP-7961G===&lt;br /&gt;
[[画像:7961G.jpg|240 px]][[画像:Aastra_Cisco_XML_Services1.jpg|240 px]]&amp;lt;BR&amp;gt;&lt;br /&gt;
プロトコル:SIP,SCCP&amp;lt;br&amp;gt;&lt;br /&gt;
色:黒系&amp;lt;br&amp;gt;&lt;br /&gt;
価格:4万～6万 (CallManagerに接続する場合は別途ライセンスを購入すること)&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.cisco.com/japanese/warp/public/3/jp/product/hs/iptel/ipphone/7961g/index.shtml 解説ページ](Ciscoのページ)&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:対応&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:[[Cisco/電源アダプタ|CP-PWR-CUBE-3=]](別売り)&amp;lt;br&amp;gt;&lt;br /&gt;
表示:グレースケール液晶(320x222）&amp;lt;br&amp;gt;&lt;br /&gt;
備考:単体では販売されていない事が多い。&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CP-7970G===&lt;br /&gt;
[[画像:CP-7970G.JPG|240 px]]&amp;lt;BR&amp;gt;&lt;br /&gt;
プロトコル:SIP,SCCP&amp;lt;br&amp;gt;&lt;br /&gt;
色:黒系&amp;lt;br&amp;gt;&lt;br /&gt;
価格:8万～9万 (CallManagerに接続する場合は別途ライセンスを購入すること)&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.cisco.com/japanese/warp/public/3/jp/product/hs/iptel/ipphone/7961g/index.shtml 解説ページ](Ciscoのページ)&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:対応&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:[[Cisco/電源アダプタ|CP-PWR-CUBE-3=]](別売り)&amp;lt;br&amp;gt;&lt;br /&gt;
表示:4096色(320x234）&amp;lt;br&amp;gt;&lt;br /&gt;
備考:単体では販売されていない事が多い。&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Fanvil==&lt;br /&gt;
http://www.fanvil.com/ &amp;lt;br&amp;gt;&lt;br /&gt;
===X3(P)===&lt;br /&gt;
[[ファイル:Fanvil_x3.jpg‎|260px]]&amp;lt;br&amp;gt;&lt;br /&gt;
プロトコル:SIP&amp;lt;br&amp;gt;&lt;br /&gt;
色:5色　白・黒・赤・青・黄&amp;lt;br&amp;gt;&lt;br /&gt;
定価:8,640円(amazon.co.jp価格)&amp;lt;br&amp;gt;&lt;br /&gt;
解説ページ:なし&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:対応(X3Pのみ)&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:付属&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数: 1WAN/1LAN (PPPoE対応)&amp;lt;br&amp;gt;&lt;br /&gt;
特徴：メニュー・電話帳の日本語表記、IPプロバイダの簡単設定、WEBクリックコール、クラウド電話帳、Auto Provision&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===C56P===&lt;br /&gt;
[[ファイル:Fanvil_C56.jpg|240px]]&amp;lt;br&amp;gt;&lt;br /&gt;
プロトコル:SIP、IAX2&amp;lt;br&amp;gt;&lt;br /&gt;
色:黒系&amp;lt;br&amp;gt;&lt;br /&gt;
定価:7,560円(amazon.co.jp価格)&amp;lt;br&amp;gt;&lt;br /&gt;
解説ページ:なし&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:対応&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:付属&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数: 1WAN/1LAN (PPPoE対応)&amp;lt;br&amp;gt;&lt;br /&gt;
特徴：WEBクリックコール、リモート電話帳、Auto Provision&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===C58===&lt;br /&gt;
[[ファイル:Fanvil_C58.jpg|240px]]&amp;lt;br&amp;gt;&lt;br /&gt;
プロトコル:SIP、IAX2&amp;lt;br&amp;gt;&lt;br /&gt;
色:黒系&amp;lt;br&amp;gt;&lt;br /&gt;
定価:13,650円(amazon.co.jp価格)&amp;lt;br&amp;gt;&lt;br /&gt;
解説ページ:なし&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:オプション&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:付属&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数: 1WAN/1LAN (PPPoE対応)&amp;lt;br&amp;gt;&lt;br /&gt;
特徴：WEBクリックコール、リモート電話帳、Auto Provision&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===C62===&lt;br /&gt;
[[ファイル:Fanvil_C62.jpg|240px]]&amp;lt;br&amp;gt;&lt;br /&gt;
プロトコル:SIP、IAX2&amp;lt;br&amp;gt;&lt;br /&gt;
色:黒系&amp;lt;br&amp;gt;&lt;br /&gt;
定価:16,800円(amazon.co.jp価格)&amp;lt;br&amp;gt;&lt;br /&gt;
解説ページ:なし&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:標準搭載&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:付属&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数: 1WAN/1LAN (PPPoE対応)&amp;lt;br&amp;gt;&lt;br /&gt;
特徴：WEBクリックコール、リモート電話帳、Auto Provision&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===C01===&lt;br /&gt;
[[ファイル:Fanvil_C01.jpg|240px]]&amp;lt;br&amp;gt;&lt;br /&gt;
プロトコル:SIP、IAX2&amp;lt;br&amp;gt;&lt;br /&gt;
色:黒系&amp;lt;br&amp;gt;&lt;br /&gt;
定価:15,750円(amazon.co.jp価格)&amp;lt;br&amp;gt;&lt;br /&gt;
解説ページ:なし&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:標準搭載&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:付属&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数: 1WAN/1LAN (PPPoE対応)&amp;lt;br&amp;gt;&lt;br /&gt;
特徴：ヘッドセット専用型、WEBクリックコール、リモート電話帳、Auto Provision&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Android タッチパネルD900===&lt;br /&gt;
[[ファイル:Fanvil_D900.jpg|240px]]&amp;lt;br&amp;gt;&lt;br /&gt;
プロトコル:SIP、IAX2&amp;lt;br&amp;gt;&lt;br /&gt;
色:黒系&amp;lt;br&amp;gt;&lt;br /&gt;
定価:52,500円(amazon.co.jp価格)&amp;lt;br&amp;gt;&lt;br /&gt;
解説ページ:なし&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:標準搭載&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:付属&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数: 1WAN/1LAN (PPPoE対応)&amp;lt;br&amp;gt;&lt;br /&gt;
特徴：ビデオ通話、WEBクリックコール、リモート電話帳、Auto Provision、HDMI対応、USB対応、SDカード&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Grandstream==&lt;br /&gt;
http://www.grandstream.com/ &amp;lt;br&amp;gt;&lt;br /&gt;
===BT-101,BT-102,BT-200===&lt;br /&gt;
[[画像:BT-100.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
プロトコル:SIP&amp;lt;br&amp;gt;&lt;br /&gt;
色:黒もしくは白&amp;lt;br&amp;gt;&lt;br /&gt;
実勢価格:$70程度($30～)&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:非対応&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:付属&amp;lt;br&amp;gt;&lt;br /&gt;
表示:専用液晶&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数:1(BT-101),2(BT-102/BT-102)&amp;lt;br&amp;gt;&lt;br /&gt;
備考:BT-101では当り外れがあり、外れだったらノイズが酷い&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===GXP-280===&lt;br /&gt;
[[画像:GXP-280.jpg|240px]]&amp;lt;br&amp;gt;&lt;br /&gt;
プロトコル:SIP&amp;lt;br&amp;gt;&lt;br /&gt;
色:黒系&amp;lt;br&amp;gt;&lt;br /&gt;
実勢価格:￥11,550円&amp;lt;br&amp;gt;&lt;br /&gt;
解説ページ:[[GXP280|GXP-280]]&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:非対応&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:付属&amp;lt;br&amp;gt;&lt;br /&gt;
ヘッドセットポート: 2.5mm、RJ22 &amp;lt;br&amp;gt;&lt;br /&gt;
コーデック: G711μ/A, G729A/B, G723,1(5.3K/6.3K), G726, G722(広帯域), GSM, iLBC&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数:2&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.ipkiki.com/products/detail.php?product_id=5&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===GXP-1200===&lt;br /&gt;
[[画像:GXP-1200.jpg|240px]]&amp;lt;br&amp;gt;&lt;br /&gt;
プロトコル:SIP&amp;lt;br&amp;gt;&lt;br /&gt;
色:黒系&amp;lt;br&amp;gt;&lt;br /&gt;
実勢価格:￥13,125円&amp;lt;br&amp;gt;&lt;br /&gt;
解説ページ:[[GXP1200|GXP-1200]]&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:オルタナティブA&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:付属&amp;lt;br&amp;gt;&lt;br /&gt;
ヘッドセットポート: RJ22 &amp;lt;br&amp;gt;&lt;br /&gt;
コーデック: G711μ/A, G729A/B, G723,1(5.3K/6.3K), G726, G722(広帯域), GSM, iLBC&amp;lt;br&amp;gt;&lt;br /&gt;
ディスプレイ:バックライト付き128x32ピクセル・グラフィック液晶&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数:2&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.ipkiki.com/products/detail.php?product_id=6&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===GXP-1610 / GXP-1615===&lt;br /&gt;
プロトコル:SIP&amp;lt;br&amp;gt;&lt;br /&gt;
色:黒系&amp;lt;br&amp;gt;&lt;br /&gt;
実勢価格:～￥5,000円（ちうこ）&amp;lt;br&amp;gt;&lt;br /&gt;
解説ページ:[[GXP1610|GXP-1610]]&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:GXP1615のみ&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:付属&amp;lt;br&amp;gt;&lt;br /&gt;
ヘッドセットポート: RJ22 &amp;lt;br&amp;gt;&lt;br /&gt;
コーデック: G711μ/A, G729A/B, G723,1(5.3K/6.3K), G726-32, G722(広帯域), iLBC&lt;br /&gt;
ディスプレイ:バックライト付き132x48ピクセル・グラフィック液晶&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数:2&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GXP-1620 / 1625 のSIP 1回線版。なおラインキーは2つのまま。筐体も1620と共通っぽい。&amp;lt;br&amp;gt;&lt;br /&gt;
[https://grandstream.jp/%E8%A3%BD%E5%93%81%E6%83%85%E5%A0%B1/ip%E9%9B%BB%E8%A9%B1%E6%A9%9F/%E3%83%99%E3%83%BC%E3%82%B7%E3%83%83%E3%82%AFip%E9%9B%BB%E8%A9%B1%E6%A9%9F/gxp1610-gxp1615/ Grandstream - GXP1610/GXP1615]&lt;br /&gt;
&lt;br /&gt;
===GXP-1620 / GXP-1625===&lt;br /&gt;
[[画像:GXP1620.jpg|240px]]&amp;lt;br&amp;gt;&lt;br /&gt;
プロトコル:SIP&amp;lt;br&amp;gt;&lt;br /&gt;
色:黒系&amp;lt;br&amp;gt;&lt;br /&gt;
実勢価格:～￥5,000円（ちうこ）&amp;lt;br&amp;gt;&lt;br /&gt;
解説ページ:[[GXP1620|GXP-1620]]&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:GXP1625のみ&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:付属&amp;lt;br&amp;gt;&lt;br /&gt;
ヘッドセットポート: RJ22 &amp;lt;br&amp;gt;&lt;br /&gt;
コーデック: G711μ/A, G729A/B, G723,1(5.3K/6.3K), G726-32, G722(広帯域), iLBC&lt;br /&gt;
ディスプレイ:バックライト付き132x48ピクセル・グラフィック液晶&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数:2&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===GXP-2000===&lt;br /&gt;
[[画像:GXP-2000.jpg|240px]]&amp;lt;br&amp;gt;&lt;br /&gt;
プロトコル:SIP&amp;lt;br&amp;gt;&lt;br /&gt;
色:黒系&amp;lt;br&amp;gt;&lt;br /&gt;
実勢価格:￥15,750円&amp;lt;br&amp;gt;&lt;br /&gt;
解説ページ:[[GXP2000|GXP-2000]]&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:オルタナティブA&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:付属&amp;lt;br&amp;gt;&lt;br /&gt;
ヘッドセットポート: 3.5mm &amp;lt;br&amp;gt;&lt;br /&gt;
コーデック: G711μ/A, G729A/B, G723,1(5.3K/6.3K), G726, G722(広帯域), GSM, iLBC&amp;lt;br&amp;gt;&lt;br /&gt;
ディスプレイ:22文字x8行の液晶表示&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数:2&amp;lt;br&amp;gt;&lt;br /&gt;
備考:プログラマブル・ファンクションキーあり。MeterMaidでラインキー的に使用可能(→[[ラインキー １番に電話]])。4ラインインジケーターは個別のSIPアカウントプロフィール。&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.ipkiki.com/products/detail.php?product_id=7&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===GXP-2010===&lt;br /&gt;
[[画像:GXP-2010.jpg|240px]]&amp;lt;br&amp;gt;&lt;br /&gt;
プロトコル:SIP&amp;lt;br&amp;gt;&lt;br /&gt;
色:黒系&amp;lt;br&amp;gt;&lt;br /&gt;
実勢価格:￥21,000円&amp;lt;br&amp;gt;&lt;br /&gt;
解説ページ:[[GXP2010|GXP-2010]]&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:オルタナティブA&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:付属&amp;lt;br&amp;gt;&lt;br /&gt;
ヘッドセットポート: 3.5mm、RJ22 &amp;lt;br&amp;gt;&lt;br /&gt;
コーデック: G711μ/A, G729A/B, G723,1(5.3K/6.3K), G726, G722(広帯域), GSM, iLBC&amp;lt;br&amp;gt;&lt;br /&gt;
ディスプレイ:バックライト付き240x120高解像度液晶ディスプレイ&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数:2&amp;lt;br&amp;gt;&lt;br /&gt;
備考:4ラインインジケーターは個別のSIPアカウントプロフィール。&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.ipkiki.com/products/detail.php?product_id=8&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===GXP-2020===&lt;br /&gt;
[[画像:GXP-2020.jpg|240px]]&amp;lt;br&amp;gt;&lt;br /&gt;
プロトコル:SIP&amp;lt;br&amp;gt;&lt;br /&gt;
色:黒系&amp;lt;br&amp;gt;&lt;br /&gt;
実勢価格:￥23,100円&amp;lt;br&amp;gt;&lt;br /&gt;
解説ページ:[[GXP2020|GXP-2020]]&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:オルタナティブA&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:付属&amp;lt;br&amp;gt;&lt;br /&gt;
ヘッドセットポート: 3.5mm &amp;lt;br&amp;gt;&lt;br /&gt;
コーデック: G711μ/A, G729A/B, G723,1(5.3K/6.3K), G726, G722(広帯域), GSM, iLBC&amp;lt;br&amp;gt;&lt;br /&gt;
ディスプレイ:バックライト付き320x160高解像度液晶ディスプレイ&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数:2&amp;lt;br&amp;gt;&lt;br /&gt;
備考:6ラインインジケーターは個別のSIPアカウントプロフィール。&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.ipkiki.com/products/detail.php?product_id=9&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===GXV-3140===&lt;br /&gt;
[[画像:GXV-3140.jpg|240px]]&amp;lt;br&amp;gt;&lt;br /&gt;
プロトコル:SIP&amp;lt;br&amp;gt;&lt;br /&gt;
色:黒系&amp;lt;br&amp;gt;&lt;br /&gt;
実勢価格:￥36,750円&amp;lt;br&amp;gt;&lt;br /&gt;
解説ページ:[[GXV3140|GXV-3140]]&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:?&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:付属&amp;lt;br&amp;gt;&lt;br /&gt;
ヘッドセットポート: ? &amp;lt;br&amp;gt;&lt;br /&gt;
コーデック: G711μ/A, G729A/B, G723,1(5.3K/6.3K), G726, G722(広帯域), GSM, H264&amp;lt;br&amp;gt;&lt;br /&gt;
ディスプレイ:バックライト付き480x272高解像度液晶ディスプレイ&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数:2&amp;lt;br&amp;gt;&lt;br /&gt;
備考:ビデオフォン。3ラインインジケーターは個別のSIPアカウントプロフィール。&amp;lt;br&amp;gt;&lt;br /&gt;
H.264ベースライン、H.263/H.263+、ビデオの標準ビットレートは64kbpsから1Mbps、フレームレートは30fpsまで可能で、解像度はQVGA/CIF/QCIF。&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.ipkiki.com/products/detail.php?product_id=11&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==LinkSys==&lt;br /&gt;
現在はCisco傘下。LinkSysがSipuraを吸収合併したため、一部の製品はSipura製だが、外装などは序々にLinkSys製に統合されてきている。&amp;lt;br&amp;gt;&lt;br /&gt;
なお、日本リンクシスはIP電話関連の製品は販売していない。&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.linksys.com/&amp;lt;br&amp;gt;&lt;br /&gt;
===SPA901===&lt;br /&gt;
[[画像:SPA901.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
プロトコル:SIP&amp;lt;br&amp;gt;&lt;br /&gt;
色:黒系&amp;lt;br&amp;gt;&lt;br /&gt;
実勢価格:$75程度(直輸入時)&amp;lt;br&amp;gt;&lt;br /&gt;
解説ページ:&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:非対応(対応モデルもあり)&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:付属&amp;lt;br&amp;gt;&lt;br /&gt;
ディスプレイ:なし(本当にありません。LED程度)&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数:1&amp;lt;br&amp;gt;&lt;br /&gt;
備考:全く何もといって良いほど「なにもついてない」IP電話機。ダイヤルボタン以外についているのは音量・リダイヤル・フラッシュのボタンだけ。IPアドレスの確認や電話機単体での設定には音声とダイヤルボタンで行う。&amp;lt;br&amp;gt;&lt;br /&gt;
===SPA941===&lt;br /&gt;
プロトコル:SIP&amp;lt;br&amp;gt;&lt;br /&gt;
色:黒系&amp;lt;br&amp;gt;&lt;br /&gt;
実勢価格:$150程度(直輸入時)&amp;lt;br&amp;gt;&lt;br /&gt;
解説ページ:&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:非対応(対応する別製品あり)&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:&amp;lt;br&amp;gt;&lt;br /&gt;
ディスプレイ:128x64液晶&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数:1&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ナカヨ電子サービス==&lt;br /&gt;
&lt;br /&gt;
===IP-24N-ST101A===&lt;br /&gt;
&lt;br /&gt;
[[画像:IP-24N-ST101A.JPG||240 px]]&amp;lt;BR&amp;gt;&lt;br /&gt;
プロトコル:SIP&amp;lt;br&amp;gt;&lt;br /&gt;
色:黒系&amp;lt;br&amp;gt;&lt;br /&gt;
ディスプレイ:全角10桁×4行表示のLCD&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数:1&amp;lt;br&amp;gt;&lt;br /&gt;
解説ページ:[[IP-24N-ST101A]]&amp;lt;br&amp;gt;&lt;br /&gt;
パッチを適用することでプログラマブルキーをパーク保留として使用可能 [[NAKAYO 電話機パーク保留]]&lt;br /&gt;
&lt;br /&gt;
==Nortel==&lt;br /&gt;
===i2002===&lt;br /&gt;
[[画像:Nt-i2002.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
プロトコル:UNISTIM&amp;lt;br&amp;gt;&lt;br /&gt;
色:紫っぽいグレー(かなり青い)&amp;lt;br&amp;gt;&lt;br /&gt;
参考価格:980円(おっとの特価品)&amp;lt;br&amp;gt;&lt;br /&gt;
解説ページ:[[Nortel i2002]]&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:IEEE802.3af&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:別売(付属していないので注意。DC 16V)&amp;lt;br&amp;gt;&lt;br /&gt;
ディスプレイ:2*24文字+ライン部&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数:2&amp;lt;br&amp;gt;&lt;br /&gt;
備考:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Panasonic==&lt;br /&gt;
===KX-UT670N===&lt;br /&gt;
http://panasonic.biz/netsys/sipphone/&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[画像:KX-UT670.jpg|240 px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
プロトコル:SIP&amp;lt;br&amp;gt;&lt;br /&gt;
色:黒系&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:IEEE802.3af準拠&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:別売&amp;lt;br&amp;gt;&lt;br /&gt;
ヘッドセットポート：あり。Plantronics社EHS対応&amp;lt;br&amp;gt;&lt;br /&gt;
HDボイス&amp;lt;br&amp;gt;&lt;br /&gt;
コーデック：G.722、G.711、G.729a&amp;lt;br&amp;gt;&lt;br /&gt;
ディスプレイ:7インチ262,000色タッチスクリーン、WVGA(800*480ピクセル)&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数:2（ギガビットイーサネット対応）&amp;lt;br&amp;gt;&lt;br /&gt;
SDスロット:SDXC/SDHC/SD&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===KX-UT248N===&lt;br /&gt;
http://panasonic.biz/netsys/sipphone/&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[画像:KX-UT248N.jpg|240 px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
プロトコル:SIP&amp;lt;br&amp;gt;&lt;br /&gt;
色:白系&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:IEEE802.3af準拠&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:別売&amp;lt;br&amp;gt;&lt;br /&gt;
ヘッドセットポート：あり。Plantronics社EHS対応。Bluetooth対応。&amp;lt;br&amp;gt;&lt;br /&gt;
HDボイス&amp;lt;br&amp;gt;&lt;br /&gt;
コーデック：G.722、G.711、G.729a&amp;lt;br&amp;gt;&lt;br /&gt;
ディスプレイ:10行表示（バックライト付き）&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数:2（ギガビットイーサネット対応）&amp;lt;br&amp;gt;&lt;br /&gt;
備考:ECOモード付き、XMLアプリケーションに対応&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===KX-UT136N===&lt;br /&gt;
http://panasonic.biz/netsys/sipphone/&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[画像:kx-ut136.jpg|240 px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
プロトコル:SIP&amp;lt;br&amp;gt;&lt;br /&gt;
色:白系&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:IEEE802.3af準拠&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:別売&amp;lt;br&amp;gt;&lt;br /&gt;
ヘッドセットポート：あり。Plantronics社EHS対応&amp;lt;br&amp;gt;&lt;br /&gt;
HDボイス&amp;lt;br&amp;gt;&lt;br /&gt;
コーデック：G.722、G.711、G.729a、G.726&amp;lt;br&amp;gt;&lt;br /&gt;
ディスプレイ:6行表示（バックライト付き）&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数:2&amp;lt;br&amp;gt;&lt;br /&gt;
備考:ECOモード付き&amp;lt;br&amp;gt;&lt;br /&gt;
漢字コードはUTF-8&amp;lt;br&amp;gt;&lt;br /&gt;
コールパーキング、ページャー呼び出し（スピーカーフォン）共にに可能&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
導入方法とかをまとめてみました。&amp;lt;br&amp;gt;&lt;br /&gt;
http://myhome.munetika.mydns.jp/asterisk/KX-UT136N_Asterisk.pdf&lt;br /&gt;
&lt;br /&gt;
===KX-UT123N===&lt;br /&gt;
http://panasonic.biz/netsys/sipphone/&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[画像:kx-ut123.jpg|240 px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
プロトコル:SIP&amp;lt;br&amp;gt;&lt;br /&gt;
色:白系&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:IEEE802.3af準拠&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:別売&amp;lt;br&amp;gt;&lt;br /&gt;
ヘッドセットポート：あり&amp;lt;br&amp;gt;&lt;br /&gt;
HDボイス&amp;lt;br&amp;gt;&lt;br /&gt;
コーデック：G.722、G.711、G.729a、G.726&amp;lt;br&amp;gt;&lt;br /&gt;
ディスプレイ:3行表示（バックライト付き）&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数:2&amp;lt;br&amp;gt;&lt;br /&gt;
備考:ECOモード付き&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===KX-HDV430N===&lt;br /&gt;
https://biz.panasonic.com/jp-ja/products-services/ipphone/lineup/hdv430n&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
プロトコル:SIP、SIP-TLS&amp;lt;br&amp;gt;&lt;br /&gt;
色:白系&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:IEEE802.3af準拠&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:別売&amp;lt;br&amp;gt;&lt;br /&gt;
ヘッドセットポート：あり&amp;lt;br&amp;gt;&lt;br /&gt;
HDボイス&amp;lt;br&amp;gt;&lt;br /&gt;
コーデック：G.722、G.711a-law、G.711μ-law、G.729a、H.264&amp;lt;br&amp;gt;&lt;br /&gt;
ディスプレイ:4.3型TFTカラー液晶（タッチパネル）&amp;lt;br&amp;gt;&lt;br /&gt;
SIP登録数:16&amp;lt;br&amp;gt;&lt;br /&gt;
BLF(多機能ボタン):24（タッチパネル 8×3ページ）拡張ユニット接続可&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数:2&amp;lt;br&amp;gt;&lt;br /&gt;
備考:ビデオ通話可能、Panasonic製IPカメラビュア、ECOモード付き、Bluetooth対応&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===KX-HDV230N===&lt;br /&gt;
https://biz.panasonic.com/jp-ja/products-services/ipphone/lineup/hdv230n&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
プロトコル:SIP、SIP-TLS&amp;lt;br&amp;gt;&lt;br /&gt;
色:白系&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:IEEE802.3af準拠&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:別売&amp;lt;br&amp;gt;&lt;br /&gt;
ヘッドセットポート：あり&amp;lt;br&amp;gt;&lt;br /&gt;
HDボイス&amp;lt;br&amp;gt;&lt;br /&gt;
コーデック：G.722、G.711a-law、G.711μ-law、G.729a&amp;lt;br&amp;gt;&lt;br /&gt;
ディスプレイ:2.3型モノクロ液晶/5型モノクロ液晶（バックライト付）&amp;lt;br&amp;gt;&lt;br /&gt;
SIP登録数:8&amp;lt;br&amp;gt;&lt;br /&gt;
BLF(多機能ボタン):24（物理ボタン 12×2ページ）拡張ユニット接続可&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数:2&amp;lt;br&amp;gt;&lt;br /&gt;
備考:ECOモード付き&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==PLANEX==&lt;br /&gt;
===VTL-ST02H===&lt;br /&gt;
[[画像:VTL.jpg]]&amp;lt;BR&amp;gt;&lt;br /&gt;
プロトコル:SIP&amp;lt;br&amp;gt;&lt;br /&gt;
色:白系&amp;lt;br&amp;gt;&lt;br /&gt;
参考価格:\22,800&amp;lt;br&amp;gt;&lt;br /&gt;
解説ページ:http://www.planex.co.jp/product/con_acce/vtl-st02h.shtml&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:非対応&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:付属&amp;lt;br&amp;gt;&lt;br /&gt;
ディスプレイ:2*16文字&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数:2&amp;lt;br&amp;gt;&lt;br /&gt;
備考:D-Link DPH-140Sのファームに入れ替えることができる。→[http://nice.kaze.com/vtl-st02h.html ひろくんのホームページ]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Polycom==&lt;br /&gt;
http://www.polycom.com/&amp;lt;br&amp;gt;&lt;br /&gt;
*共通情報&lt;br /&gt;
:[[Polycom プロビジョニング]]&lt;br /&gt;
===SoundPoint IP300===&lt;br /&gt;
[[画像:IP300.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
プロトコル:SIP&amp;lt;br&amp;gt;&lt;br /&gt;
色:黒系(本体グレー、ハンドセット黒)&amp;lt;br&amp;gt;&lt;br /&gt;
実勢価格:24,000円(IP301,[[購入情報#デンフォン|デンフォン]])　$120程度(直輸入時)&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:非対応&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:付属&amp;lt;br&amp;gt;&lt;br /&gt;
表示:キャラクタ液晶&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数:2&amp;lt;br&amp;gt;&lt;br /&gt;
備考:現在は終息品と思われる。後継機種はIP301。IP301は機能的にはIP300とほぼ同じ。&amp;lt;br&amp;gt;&lt;br /&gt;
300シリーズはスピーカフォンの機能を搭載していないので注意。音質が良いと言われるPolycomのハンズフリーは使えない。&lt;br /&gt;
===SoundPoint IP320/330===&lt;br /&gt;
[[画像:IP320.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
プロトコル:SIP&amp;lt;br&amp;gt;&lt;br /&gt;
色:黒系(グレー+シルバー)&amp;lt;br&amp;gt;&lt;br /&gt;
実勢価格:$90程度(直輸入時)&amp;lt;br&amp;gt;&lt;br /&gt;
解説ページ:[[SoundPoint IP320]]&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:IEEE802.3af&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:別売なので注意&amp;lt;br&amp;gt;&lt;br /&gt;
表示:グラフィック液晶&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数:1(320) 2(330)&amp;lt;br&amp;gt;&lt;br /&gt;
備考:新系統の300シリーズ。320と330のちがいはLANポート数のみ。従来の300シリーズと異なりスピーカーフォン(ハンズフリー)機能を搭載している上に安価な機種。フットプリントが小さい(幅が430や300の2/3程度しかない)ので日本向きな機種。&lt;br /&gt;
&lt;br /&gt;
===SoundPoint IP430===&lt;br /&gt;
[[画像:SP430.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
プロトコル:SIP&amp;lt;br&amp;gt;&lt;br /&gt;
色:黒系(本体グレー、ハンドセット黒)&amp;lt;br&amp;gt;&lt;br /&gt;
実勢価格:31,500円([[購入情報#デンフォン|デンフォン]])　$150程度(直輸入時)&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:IEEE802.3af&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:付属&amp;lt;br&amp;gt;&lt;br /&gt;
表示:132x46ドットマトリクス液晶&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数:2&amp;lt;br&amp;gt;&lt;br /&gt;
備考:300シリーズと500シリーズの中間機種。スピーカフォン(ハンズフリー)機能を搭載。&amp;lt;br&amp;gt;&lt;br /&gt;
CPU変更のためかWebでの設定のレスポンスが、かなり改善されている。&amp;lt;br&amp;gt;&lt;br /&gt;
===SoundPoint IP450===&lt;br /&gt;
[[画像:PCIP450-1.jpg|240 px]]&amp;lt;br&amp;gt;&lt;br /&gt;
プロトコル:SIP&amp;lt;br&amp;gt;&lt;br /&gt;
色:黒系(本体グレー、ハンドセット黒)&amp;lt;br&amp;gt;&lt;br /&gt;
実勢価格:$200程度(直輸入時)&amp;lt;br&amp;gt;&lt;br /&gt;
解説ページ:[[SoundPoint IP450]]&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:IEEE802.3af&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:別売&amp;lt;br&amp;gt;&lt;br /&gt;
表示:256x116ドットマトリクス液晶(日本語表示可)&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数:2&amp;lt;br&amp;gt;&lt;br /&gt;
備考:Polycom HD VOICEシリーズの新機種。&lt;br /&gt;
&lt;br /&gt;
==SNOM==&lt;br /&gt;
Snom Technology Ag.&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.snom.com/&amp;lt;br&amp;gt;&lt;br /&gt;
===Snom 105===&lt;br /&gt;
[[画像:SNOM105.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
プロトコル:SIP&amp;lt;br&amp;gt;&lt;br /&gt;
色:黒系&amp;lt;br&amp;gt;&lt;br /&gt;
実勢価格:&amp;lt;strike&amp;gt;4,200円&amp;lt;/strike&amp;gt;(品切れ＠[[購入情報#おっと|おっと]])&amp;lt;br&amp;gt;&lt;br /&gt;
解説ページ:[[Snom105]]&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:オルタナティブB(注:802.3af対応ではない)&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:付属&amp;lt;br&amp;gt;&lt;br /&gt;
表示:128x46液晶&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数:2&amp;lt;br&amp;gt;&lt;br /&gt;
備考:現在はディスコン品。おっとで安価に放出されている。&amp;lt;br&amp;gt;&lt;br /&gt;
キーパッドの並びがわかりにくい。受話器の形状が「しゃもじ」。嫌う人もいるがコンパクトなため人気もある。&lt;br /&gt;
&lt;br /&gt;
===Snom 220===&lt;br /&gt;
[[画像:SNOM220.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
プロトコル:SIP&amp;lt;br&amp;gt;&lt;br /&gt;
色:青っぽい黒系&amp;lt;br&amp;gt;&lt;br /&gt;
実勢価格:&amp;lt;strike&amp;gt;8,800円&amp;lt;/strike&amp;gt;(品切れ＠[[購入情報#おっと|おっと]])&amp;lt;br&amp;gt;&lt;br /&gt;
解説ページ:[[Snom220]]&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:オルタナティブB(注:802.3af対応ではない)&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:付属&amp;lt;br&amp;gt;&lt;br /&gt;
表示:128x46液晶&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数:2&amp;lt;br&amp;gt;&lt;br /&gt;
備考:現在はディスコン品。おっとで安価に放出されている。&amp;lt;br&amp;gt;&lt;br /&gt;
幅が広いので、ちょっと邪魔。安価で買える割に高機能なため日本国内の使用率高し。&amp;lt;br&amp;gt;&lt;br /&gt;
プログラマブル・ファンクションキーあり。MeterMaidでラインキー的に使用可能(→[[ラインキー １番に電話]])。&lt;br /&gt;
&lt;br /&gt;
===Snom300===&lt;br /&gt;
[[画像:Snom300.jpg|240px]]&amp;lt;br&amp;gt;&lt;br /&gt;
プロトコル:SIP&amp;lt;br&amp;gt;&lt;br /&gt;
色:黒系&amp;lt;br&amp;gt;&lt;br /&gt;
実勢価格:12,000円([[購入情報#デンフォン|デンフォン]])&amp;lt;br&amp;gt;&lt;br /&gt;
解説ページ:[[Snom300]]&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:対応しているものと、対応していないものがある→[http://wiki.snom.com/Snom300/Hardware/PoE Snom300とPoE]&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:付属&amp;lt;br&amp;gt;&lt;br /&gt;
表示:キャラクタ16x2液晶&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数:2&amp;lt;br&amp;gt;&lt;br /&gt;
備考:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Snom D315===&lt;br /&gt;
プロトコル:SIP&amp;lt;br&amp;gt;&lt;br /&gt;
色:黒系&amp;lt;br&amp;gt;&lt;br /&gt;
解説ページ:[[SnomD315]]&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:対応&lt;br /&gt;
表示:300x100 バックライト付きモノクロ液晶&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数:2&amp;lt;br&amp;gt;&lt;br /&gt;
備考:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Snom320===&lt;br /&gt;
プロトコル:SIP&amp;lt;br&amp;gt;&lt;br /&gt;
色:黒系&amp;lt;br&amp;gt;&lt;br /&gt;
実勢価格:18,000円([[購入情報#デンフォン|デンフォン]])&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:IEEE802.3af&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:付属&amp;lt;br&amp;gt;&lt;br /&gt;
表示:キャラクタ16x2液晶&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数:2&amp;lt;br&amp;gt;&lt;br /&gt;
備考:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Snom360===&lt;br /&gt;
プロトコル:SIP&amp;lt;br&amp;gt;&lt;br /&gt;
色:黒系&amp;lt;br&amp;gt;&lt;br /&gt;
実勢価格:39,500円([[購入情報#デンフォン|デンフォン]])&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:IEEE802.3af&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:付属&amp;lt;br&amp;gt;&lt;br /&gt;
表示:168x64液晶&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数:2&amp;lt;br&amp;gt;&lt;br /&gt;
備考:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==SONY==&lt;br /&gt;
[[PCS-G50]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Yealink==&lt;br /&gt;
メーカーサイト: https://yealink.jp/product/ &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===SIP-T48G===&lt;br /&gt;
[[ファイル:Yealink_t48g.jpg‎|260px]]&amp;lt;br&amp;gt;&lt;br /&gt;
プロトコル:SIP&amp;lt;br&amp;gt;&lt;br /&gt;
色:ブラック/シルバー&amp;lt;br&amp;gt;&lt;br /&gt;
液晶:7インチ、800x480ピクセル、フルカラータッチスクリーン&amp;lt;br&amp;gt;&lt;br /&gt;
定価:43,500円(税別)&amp;lt;br&amp;gt;&lt;br /&gt;
登録可能SIPアカウント数:16&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:対応&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:別売&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数: ギガビット1WAN/2LAN (PPPoE対応)&amp;lt;br&amp;gt;&lt;br /&gt;
特徴：日本正規代理品（日本語ファーム、日本語サポート）、ワンタッチDSSキー29個、802.1x、VPN、PPPoE、VLAN、拡張モジュール対応、ヘッドセット用Bluetoothドングル対応ほか&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SIP-T46G===&lt;br /&gt;
[[ファイル:Yealink_t46g.jpg‎|260px]]&amp;lt;br&amp;gt;&lt;br /&gt;
プロトコル:SIP&amp;lt;br&amp;gt;&lt;br /&gt;
色:ブラック/シルバー&amp;lt;br&amp;gt;&lt;br /&gt;
液晶:4.3インチ、480x272ピクセル、フルカラー&amp;lt;br&amp;gt;&lt;br /&gt;
定価:33,860円(税別)&amp;lt;br&amp;gt;&lt;br /&gt;
登録可能SIPアカウント数:16&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:対応&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:別売&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数: ギガビット1WAN/2LAN (PPPoE対応)&amp;lt;br&amp;gt;&lt;br /&gt;
特徴：日本正規代理品（日本語ファーム、日本語サポート）、ワンタッチDSSキー27個、802.1x、VPN、PPPoE、VLAN、拡張モジュール対応、ヘッドセット用Bluetoothドングル対応ほか&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SIP-T42G===&lt;br /&gt;
[[ファイル:Yealink_t42g.jpg‎|260px]]&amp;lt;br&amp;gt;&lt;br /&gt;
プロトコル:SIP&amp;lt;br&amp;gt;&lt;br /&gt;
色:ブラック/シルバー&amp;lt;br&amp;gt;&lt;br /&gt;
液晶:2.7インチ、192x64ピクセル、グラフィックLCD、バックライト付き&amp;lt;br&amp;gt;&lt;br /&gt;
定価:23,020円(税別)&amp;lt;br&amp;gt;&lt;br /&gt;
登録可能SIPアカウント数:12&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:対応&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:別売&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数: ギガビット1WAN/2LAN (PPPoE対応)&amp;lt;br&amp;gt;&lt;br /&gt;
特徴：日本正規代理品（日本語ファーム、日本語サポート）、ワンタッチDSSキー15個、802.1x、VPN、PPPoE、VLANほか&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SIP-T41P===&lt;br /&gt;
[[ファイル:Yealink_t41p.jpg‎|260px]]&amp;lt;br&amp;gt;&lt;br /&gt;
プロトコル:SIP&amp;lt;br&amp;gt;&lt;br /&gt;
色:ブラック/シルバー&amp;lt;br&amp;gt;&lt;br /&gt;
液晶:2.7インチ、192x64ピクセル、グラフィックLCD、バックライト付き&amp;lt;br&amp;gt;&lt;br /&gt;
定価:15,800円(税別)&amp;lt;br&amp;gt;&lt;br /&gt;
登録可能SIPアカウント数:6&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:対応&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:別売&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数: 1WAN/2LAN (PPPoE対応)&amp;lt;br&amp;gt;&lt;br /&gt;
特徴：日本正規代理品（日本語ファーム、日本語サポート）、ワンタッチDSSキー15個、802.1x、VPN、PPPoE、VLANほか&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SIP-T21P E2===&lt;br /&gt;
[[ファイル:Yealink_t21pe2.jpg‎|260px]]&amp;lt;br&amp;gt;&lt;br /&gt;
プロトコル:SIP&amp;lt;br&amp;gt;&lt;br /&gt;
色:ブラック/シルバー&amp;lt;br&amp;gt;&lt;br /&gt;
液晶:2.3インチ、132x64ピクセル、グラフィックLCD、バックライト付き&amp;lt;br&amp;gt;&lt;br /&gt;
定価:12,900円(税別)&amp;lt;br&amp;gt;&lt;br /&gt;
登録可能SIPアカウント数:2&amp;lt;br&amp;gt;&lt;br /&gt;
PoE:対応&amp;lt;br&amp;gt;&lt;br /&gt;
ACアダプタ:別売&amp;lt;br&amp;gt;&lt;br /&gt;
LANポート数: 1WAN/2LAN (PPPoE対応)&amp;lt;br&amp;gt;&lt;br /&gt;
特徴：日本正規代理品（日本語ファーム、日本語サポート）、ワンタッチDSSキー2個、802.1x、VPN、PPPoE、VLANほか&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==その他(未整理)==&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;caption&amp;gt;&#039;&#039;&#039;有線系IP電話機動作確認一覧&#039;&#039;&#039;&amp;lt;/caption&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;メーカー&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;型番&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;色&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;実勢価格&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;解説ページ&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;通話動作確認&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;PoE対応&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;ACアダプタ&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;液晶表示&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;LAN Port&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &lt;br /&gt;
&amp;lt;td&amp;gt;ICOM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;VP-501&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;白系&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;３万円前後&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;なし&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;◎※&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;対応&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;別売&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;16x2液晶&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;  &lt;br /&gt;
&amp;lt;td&amp;gt;NEC&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NEterm50&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;白系&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;3万円前後&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;なし&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;○&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;対応&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;別売&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;  &lt;br /&gt;
&amp;lt;td&amp;gt;SANYO&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SIP-2100P&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;白系&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2千～8千円&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;なし&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;◎&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;対応&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;別売&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;16x2液晶&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
※ 改行コードの削除が必要 (http://bbs.voip-info.jp/forum/viewtopic.php?showtopic=921)&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12550</id>
		<title>Asterisk chan websocket</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12550"/>
		<updated>2025-10-23T03:49:35Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* バッファリングモード */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[カテゴリ:Asterisk]]&lt;br /&gt;
[[カテゴリ:websocket]]&lt;br /&gt;
&lt;br /&gt;
Asteriskの新しいチャネルとしてWebsocketチャネルが追加された。&amp;lt;br&amp;gt;&lt;br /&gt;
使用可能なバージョンは 23.0.0,22.6,0, 21.11.0, 20.16.0 のそれぞれ以降のバージョン。メジャーバージョンによる追加ではなく、マイナーバージョンの途中から追加されているので注意。&amp;lt;br&amp;gt;&lt;br /&gt;
従来からあるPjSIPのws/wssではなく、チャネルドライバとしてのWebsocket。&lt;br /&gt;
:https://docs.asterisk.org/Configuration/Channel-Drivers/WebSocket/?h=chan_websocket&lt;br /&gt;
==関連するモジュール==&lt;br /&gt;
chan_websocket&amp;lt;br&amp;gt;&lt;br /&gt;
res_websocket_client&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 *CLI&amp;gt; core show channeltype WebSocket&lt;br /&gt;
 -- Info about channel driver: WebSocket --&lt;br /&gt;
   Device State: no&lt;br /&gt;
 Presence State: no&lt;br /&gt;
     Indication: no&lt;br /&gt;
      Transfer : no&lt;br /&gt;
   Capabilities:  (codec2|g723|ulaw|alaw|gsm|g726|g726aal2|adpcm|slin|slin12|slin16|slin24|slin32|slin44|slin48|slin96|slin192|lpc10|g729|speex|speex16|speex32|ilbc|g722|siren7|siren14|g719|opus|jpeg|png|h261|h263|h263p|h264|h265|mpeg4|vp8|vp9|red|t140|t38|silk8|silk12|silk16|silk24)&lt;br /&gt;
    Digit Begin: no&lt;br /&gt;
      Digit End: yes&lt;br /&gt;
     Send HTML : no&lt;br /&gt;
  Image Support: no&lt;br /&gt;
   Text Support: no&lt;br /&gt;
 *CLI&amp;gt; module show like res_websocket_client.so&lt;br /&gt;
 Module                         Description                              Use Count  Status      Support Level&lt;br /&gt;
 res_websocket_client.so        WebSocket Client Support                 2          Running              core&lt;br /&gt;
&lt;br /&gt;
==注意点==&lt;br /&gt;
Websocket接続ではあるものの、リアルタイムの場合には、RTPと同様に20ミリ秒のペーシング(1フレームあたり20ミリ秒)の送出間隔を守ること。AsteriskからWebsocketへの送出はこの20ミリ秒フレームで送られるが、外部からAsteriskに送りつける場合にも20ミリ秒を守る必要がある。これが乱れると音声の品質低下、あるいは再生されないといった問題が発生する。この問題は割とハマるので注意。&amp;lt;br&amp;gt;&lt;br /&gt;
20ミリ秒が守れない場合にはバッファリングモードで使用すること。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==設定==&lt;br /&gt;
AsteriskからWebsocketに対して発信する場合の例。&amp;lt;br&amp;gt;&lt;br /&gt;
websocket_client.conf に以下のように記述する。&amp;quot;ws-connection1&amp;quot;が識別名。&lt;br /&gt;
 [ws-connection1]&lt;br /&gt;
 type = websocket_client&lt;br /&gt;
 uri = ws://127.0.0.1:8765&lt;br /&gt;
 protocols = media&lt;br /&gt;
 connection_type = per_call_config&lt;br /&gt;
 connection_timeout = 500&lt;br /&gt;
 reconnect_interval = 500&lt;br /&gt;
 reconnect_attempts = 5&lt;br /&gt;
 tls_enabled = no&lt;br /&gt;
websocket_client.conf を変更した場合には CLI から module reload res_websocket_client.so を実行すると設定が反映される。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Websocketに対して発信する場合には以下のように書く&lt;br /&gt;
 exten =&amp;gt; 9805,1,NoOp&lt;br /&gt;
 exten =&amp;gt; 9805,n,Dial(Websocket/ws-connection1/c(slin16))&lt;br /&gt;
 exten =&amp;gt; 9805,n,Hangup&lt;br /&gt;
テクノロジにWebsocket、/の後に識別名、その後にCODECを指定。c(slin16)はCODECにslin16(16kHzサンプリング 16bit LEのリニアPCM)の意味。CODECはチャネルで指定できるものが使えるが、Websocketのアプリケーション側で解釈できるものを使うこと。&amp;lt;br&amp;gt;&lt;br /&gt;
なお、AudioSocketではslin(8kHz 16bit LE)しか使えないが、Websocketではslin16の16kHzが使える。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Asteriskを着信側に使う場合はちょっと面倒なので省略。使い勝手はあまりよくない。&lt;br /&gt;
==Websocket側サンプルコード==&lt;br /&gt;
Websocketで待ち受け、ALSAデバイスで通話するサンプル。&amp;lt;br&amp;gt;&lt;br /&gt;
https://github.com/takao-t/asterisk-experimental/blob/main/websokect/ws_audio_server.py&amp;lt;br&amp;gt;&lt;br /&gt;
Websocketで待ち受け、音声をエコーバックするサンプル。&amp;lt;br&amp;gt;&lt;br /&gt;
https://github.com/takao-t/asterisk-experimental/blob/main/websokect/ws_echo.py&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
AsteriskのWebsocketチャネルではバイナリ(音声)データとテキストをサポートしている。テキストデータではステータスやコマンド等をやりとりできるので、サンプルコードに入れてあるが、この挙動(ANSWER)は今のところ効かない。Asterisk側の問題ではないかと思われる。&amp;lt;br&amp;gt;&lt;br /&gt;
Dial時オプションに&#039;n&#039;を付けるとAuto Answerしないとドキュメントに書かれているものの、Dial(Websocket/ws-connection1/c(slin16)n) のように書いてもAnswerしてしまうので、サンプルコード中の&amp;quot;ANSWER&amp;quot;送信は実際には効かないが、コマンド送りの例として残してある。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
ペーシングに関する参考情報:&amp;lt;br&amp;gt;&lt;br /&gt;
:ALSAオーディオを使用している場合、送出のタイミングはオーディオデバイスに依存しているので20ミリ秒が守られる&lt;br /&gt;
:エコーバックの場合にはAsteriskが送出してくる音声をそのまま返すのでAsteriskのタイミングで動作している&lt;br /&gt;
&lt;br /&gt;
==バッファリングモード==&lt;br /&gt;
20ミリ秒のペーシングが行えない場合には、Asteriskのバッファを使う手段が使える。この場合、以下の手順で送信する(Websocket-&amp;gt;Asterisk)。要するにXON/XOFFによる制御なのでシリアル制御に慣れている人にはおなじみの方法。&lt;br /&gt;
 WS-&amp;gt;Asterisk&lt;br /&gt;
  TEXTでSTART_MEDIA_BUFFERINGを送信&lt;br /&gt;
 Asteriskがバッファリング開始&lt;br /&gt;
  WS-&amp;gt;Asteriskに音声データ送信&lt;br /&gt;
 Asterisk-&amp;gt;WS&lt;br /&gt;
  バッファが9割になるとXOFF送出&lt;br /&gt;
  WS-&amp;gt;Asteriskは送出を停止&lt;br /&gt;
 Asterisk-&amp;gt;WS&lt;br /&gt;
  バッファが減ったらXON送出&lt;br /&gt;
  Asterisk-&amp;gt;WSは送出を再開&lt;br /&gt;
バッファリングモードのサンプルコード&lt;br /&gt;
:https://github.com/takao-t/asterisk-experimental/blob/main/websokect/ws_buffer_test.py&lt;br /&gt;
使用例としてはAIが生成した音声ファイルを送り付けて再生する場合など。基本XON/XOFFに従って制御すれば大丈夫そうである。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
ドキュメントによれば内部バッファは1,000フレーム。バッファのXON/XOFFの閾値はGET_STATUSでみると&lt;br /&gt;
 STATUS queue_length:2 xon_level:800 xoff_level:900 queue_full:false bulk_media:false media_paused:false&lt;br /&gt;
900でXOFF、800でXONするので、100フレーム以上をまとめて送るのはあまり良くなさそうな気がする。そもそもまとめて送るというよりも、ペーシングに配慮しないための機能が本来なのかも。&lt;br /&gt;
&lt;br /&gt;
==DTMF==&lt;br /&gt;
AsteriskからWebsocketにDTMFはTEXTで送られる。エコーバックのサンプルプログラムで試してみるとわかるが、以下のようなテキスト情報が得られる。&lt;br /&gt;
 --- WebSocket エコーサーバ ---&lt;br /&gt;
 サーバ: ws://0.0.0.0:8765&lt;br /&gt;
 ----------------------&lt;br /&gt;
 Ctrl+C で停止します。&lt;br /&gt;
 クライアント (&#039;127.0.0.1&#039;, 52856) が接続しました。&lt;br /&gt;
 受信 (TEXT): MEDIA_START connection_id:ws-connection1 channel:WebSocket/ws-connection1/0x7f46e8024170 format:slin16 optimal_frame_size:640 ptime:20&lt;br /&gt;
 受信 (TEXT): DTMF_END digit:9&lt;br /&gt;
 受信 (TEXT): DTMF_END digit:6&lt;br /&gt;
 受信 (TEXT): DTMF_END digit:5&lt;br /&gt;
 受信 (TEXT): DTMF_END digit:1&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12549</id>
		<title>Asterisk chan websocket</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12549"/>
		<updated>2025-10-23T02:56:43Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* バッファリングモード */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[カテゴリ:Asterisk]]&lt;br /&gt;
[[カテゴリ:websocket]]&lt;br /&gt;
&lt;br /&gt;
Asteriskの新しいチャネルとしてWebsocketチャネルが追加された。&amp;lt;br&amp;gt;&lt;br /&gt;
使用可能なバージョンは 23.0.0,22.6,0, 21.11.0, 20.16.0 のそれぞれ以降のバージョン。メジャーバージョンによる追加ではなく、マイナーバージョンの途中から追加されているので注意。&amp;lt;br&amp;gt;&lt;br /&gt;
従来からあるPjSIPのws/wssではなく、チャネルドライバとしてのWebsocket。&lt;br /&gt;
:https://docs.asterisk.org/Configuration/Channel-Drivers/WebSocket/?h=chan_websocket&lt;br /&gt;
==関連するモジュール==&lt;br /&gt;
chan_websocket&amp;lt;br&amp;gt;&lt;br /&gt;
res_websocket_client&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 *CLI&amp;gt; core show channeltype WebSocket&lt;br /&gt;
 -- Info about channel driver: WebSocket --&lt;br /&gt;
   Device State: no&lt;br /&gt;
 Presence State: no&lt;br /&gt;
     Indication: no&lt;br /&gt;
      Transfer : no&lt;br /&gt;
   Capabilities:  (codec2|g723|ulaw|alaw|gsm|g726|g726aal2|adpcm|slin|slin12|slin16|slin24|slin32|slin44|slin48|slin96|slin192|lpc10|g729|speex|speex16|speex32|ilbc|g722|siren7|siren14|g719|opus|jpeg|png|h261|h263|h263p|h264|h265|mpeg4|vp8|vp9|red|t140|t38|silk8|silk12|silk16|silk24)&lt;br /&gt;
    Digit Begin: no&lt;br /&gt;
      Digit End: yes&lt;br /&gt;
     Send HTML : no&lt;br /&gt;
  Image Support: no&lt;br /&gt;
   Text Support: no&lt;br /&gt;
 *CLI&amp;gt; module show like res_websocket_client.so&lt;br /&gt;
 Module                         Description                              Use Count  Status      Support Level&lt;br /&gt;
 res_websocket_client.so        WebSocket Client Support                 2          Running              core&lt;br /&gt;
&lt;br /&gt;
==注意点==&lt;br /&gt;
Websocket接続ではあるものの、リアルタイムの場合には、RTPと同様に20ミリ秒のペーシング(1フレームあたり20ミリ秒)の送出間隔を守ること。AsteriskからWebsocketへの送出はこの20ミリ秒フレームで送られるが、外部からAsteriskに送りつける場合にも20ミリ秒を守る必要がある。これが乱れると音声の品質低下、あるいは再生されないといった問題が発生する。この問題は割とハマるので注意。&amp;lt;br&amp;gt;&lt;br /&gt;
20ミリ秒が守れない場合にはバッファリングモードで使用すること。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==設定==&lt;br /&gt;
AsteriskからWebsocketに対して発信する場合の例。&amp;lt;br&amp;gt;&lt;br /&gt;
websocket_client.conf に以下のように記述する。&amp;quot;ws-connection1&amp;quot;が識別名。&lt;br /&gt;
 [ws-connection1]&lt;br /&gt;
 type = websocket_client&lt;br /&gt;
 uri = ws://127.0.0.1:8765&lt;br /&gt;
 protocols = media&lt;br /&gt;
 connection_type = per_call_config&lt;br /&gt;
 connection_timeout = 500&lt;br /&gt;
 reconnect_interval = 500&lt;br /&gt;
 reconnect_attempts = 5&lt;br /&gt;
 tls_enabled = no&lt;br /&gt;
websocket_client.conf を変更した場合には CLI から module reload res_websocket_client.so を実行すると設定が反映される。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Websocketに対して発信する場合には以下のように書く&lt;br /&gt;
 exten =&amp;gt; 9805,1,NoOp&lt;br /&gt;
 exten =&amp;gt; 9805,n,Dial(Websocket/ws-connection1/c(slin16))&lt;br /&gt;
 exten =&amp;gt; 9805,n,Hangup&lt;br /&gt;
テクノロジにWebsocket、/の後に識別名、その後にCODECを指定。c(slin16)はCODECにslin16(16kHzサンプリング 16bit LEのリニアPCM)の意味。CODECはチャネルで指定できるものが使えるが、Websocketのアプリケーション側で解釈できるものを使うこと。&amp;lt;br&amp;gt;&lt;br /&gt;
なお、AudioSocketではslin(8kHz 16bit LE)しか使えないが、Websocketではslin16の16kHzが使える。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Asteriskを着信側に使う場合はちょっと面倒なので省略。使い勝手はあまりよくない。&lt;br /&gt;
==Websocket側サンプルコード==&lt;br /&gt;
Websocketで待ち受け、ALSAデバイスで通話するサンプル。&amp;lt;br&amp;gt;&lt;br /&gt;
https://github.com/takao-t/asterisk-experimental/blob/main/websokect/ws_audio_server.py&amp;lt;br&amp;gt;&lt;br /&gt;
Websocketで待ち受け、音声をエコーバックするサンプル。&amp;lt;br&amp;gt;&lt;br /&gt;
https://github.com/takao-t/asterisk-experimental/blob/main/websokect/ws_echo.py&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
AsteriskのWebsocketチャネルではバイナリ(音声)データとテキストをサポートしている。テキストデータではステータスやコマンド等をやりとりできるので、サンプルコードに入れてあるが、この挙動(ANSWER)は今のところ効かない。Asterisk側の問題ではないかと思われる。&amp;lt;br&amp;gt;&lt;br /&gt;
Dial時オプションに&#039;n&#039;を付けるとAuto Answerしないとドキュメントに書かれているものの、Dial(Websocket/ws-connection1/c(slin16)n) のように書いてもAnswerしてしまうので、サンプルコード中の&amp;quot;ANSWER&amp;quot;送信は実際には効かないが、コマンド送りの例として残してある。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
ペーシングに関する参考情報:&amp;lt;br&amp;gt;&lt;br /&gt;
:ALSAオーディオを使用している場合、送出のタイミングはオーディオデバイスに依存しているので20ミリ秒が守られる&lt;br /&gt;
:エコーバックの場合にはAsteriskが送出してくる音声をそのまま返すのでAsteriskのタイミングで動作している&lt;br /&gt;
&lt;br /&gt;
==バッファリングモード==&lt;br /&gt;
20ミリ秒のペーシングが行えない場合には、Asteriskのバッファを使う手段が使える。この場合、以下の手順で送信する(Websocket-&amp;gt;Asterisk)。要するにXON/XOFFによる制御なのでシリアル制御に慣れている人にはおなじみの方法。&lt;br /&gt;
 WS-&amp;gt;Asterisk&lt;br /&gt;
  TEXTでSTART_MEDIA_BUFFERINGを送信&lt;br /&gt;
 Asteriskがバッファリング開始&lt;br /&gt;
  WS-&amp;gt;Asteriskに音声データ送信&lt;br /&gt;
 Asterisk-&amp;gt;WS&lt;br /&gt;
  バッファが9割になるとXOFF送出&lt;br /&gt;
  WS-&amp;gt;Asteriskは送出を停止&lt;br /&gt;
 Asterisk-&amp;gt;WS&lt;br /&gt;
  バッファが減ったらXON送出&lt;br /&gt;
  Asterisk-&amp;gt;WSは送出を再開&lt;br /&gt;
バッファリングモードのサンプルコード&lt;br /&gt;
:https://github.com/takao-t/asterisk-experimental/blob/main/websokect/ws_buffer_test.py&lt;br /&gt;
使用例としてはAIが生成した音声ファイルを送り付けて再生する場合など。基本XON/XOFFに従って制御すれば大丈夫そうである。&lt;br /&gt;
&lt;br /&gt;
==DTMF==&lt;br /&gt;
AsteriskからWebsocketにDTMFはTEXTで送られる。エコーバックのサンプルプログラムで試してみるとわかるが、以下のようなテキスト情報が得られる。&lt;br /&gt;
 --- WebSocket エコーサーバ ---&lt;br /&gt;
 サーバ: ws://0.0.0.0:8765&lt;br /&gt;
 ----------------------&lt;br /&gt;
 Ctrl+C で停止します。&lt;br /&gt;
 クライアント (&#039;127.0.0.1&#039;, 52856) が接続しました。&lt;br /&gt;
 受信 (TEXT): MEDIA_START connection_id:ws-connection1 channel:WebSocket/ws-connection1/0x7f46e8024170 format:slin16 optimal_frame_size:640 ptime:20&lt;br /&gt;
 受信 (TEXT): DTMF_END digit:9&lt;br /&gt;
 受信 (TEXT): DTMF_END digit:6&lt;br /&gt;
 受信 (TEXT): DTMF_END digit:5&lt;br /&gt;
 受信 (TEXT): DTMF_END digit:1&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12548</id>
		<title>Asterisk chan websocket</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12548"/>
		<updated>2025-10-23T02:55:37Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* 注意点 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[カテゴリ:Asterisk]]&lt;br /&gt;
[[カテゴリ:websocket]]&lt;br /&gt;
&lt;br /&gt;
Asteriskの新しいチャネルとしてWebsocketチャネルが追加された。&amp;lt;br&amp;gt;&lt;br /&gt;
使用可能なバージョンは 23.0.0,22.6,0, 21.11.0, 20.16.0 のそれぞれ以降のバージョン。メジャーバージョンによる追加ではなく、マイナーバージョンの途中から追加されているので注意。&amp;lt;br&amp;gt;&lt;br /&gt;
従来からあるPjSIPのws/wssではなく、チャネルドライバとしてのWebsocket。&lt;br /&gt;
:https://docs.asterisk.org/Configuration/Channel-Drivers/WebSocket/?h=chan_websocket&lt;br /&gt;
==関連するモジュール==&lt;br /&gt;
chan_websocket&amp;lt;br&amp;gt;&lt;br /&gt;
res_websocket_client&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 *CLI&amp;gt; core show channeltype WebSocket&lt;br /&gt;
 -- Info about channel driver: WebSocket --&lt;br /&gt;
   Device State: no&lt;br /&gt;
 Presence State: no&lt;br /&gt;
     Indication: no&lt;br /&gt;
      Transfer : no&lt;br /&gt;
   Capabilities:  (codec2|g723|ulaw|alaw|gsm|g726|g726aal2|adpcm|slin|slin12|slin16|slin24|slin32|slin44|slin48|slin96|slin192|lpc10|g729|speex|speex16|speex32|ilbc|g722|siren7|siren14|g719|opus|jpeg|png|h261|h263|h263p|h264|h265|mpeg4|vp8|vp9|red|t140|t38|silk8|silk12|silk16|silk24)&lt;br /&gt;
    Digit Begin: no&lt;br /&gt;
      Digit End: yes&lt;br /&gt;
     Send HTML : no&lt;br /&gt;
  Image Support: no&lt;br /&gt;
   Text Support: no&lt;br /&gt;
 *CLI&amp;gt; module show like res_websocket_client.so&lt;br /&gt;
 Module                         Description                              Use Count  Status      Support Level&lt;br /&gt;
 res_websocket_client.so        WebSocket Client Support                 2          Running              core&lt;br /&gt;
&lt;br /&gt;
==注意点==&lt;br /&gt;
Websocket接続ではあるものの、リアルタイムの場合には、RTPと同様に20ミリ秒のペーシング(1フレームあたり20ミリ秒)の送出間隔を守ること。AsteriskからWebsocketへの送出はこの20ミリ秒フレームで送られるが、外部からAsteriskに送りつける場合にも20ミリ秒を守る必要がある。これが乱れると音声の品質低下、あるいは再生されないといった問題が発生する。この問題は割とハマるので注意。&amp;lt;br&amp;gt;&lt;br /&gt;
20ミリ秒が守れない場合にはバッファリングモードで使用すること。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==設定==&lt;br /&gt;
AsteriskからWebsocketに対して発信する場合の例。&amp;lt;br&amp;gt;&lt;br /&gt;
websocket_client.conf に以下のように記述する。&amp;quot;ws-connection1&amp;quot;が識別名。&lt;br /&gt;
 [ws-connection1]&lt;br /&gt;
 type = websocket_client&lt;br /&gt;
 uri = ws://127.0.0.1:8765&lt;br /&gt;
 protocols = media&lt;br /&gt;
 connection_type = per_call_config&lt;br /&gt;
 connection_timeout = 500&lt;br /&gt;
 reconnect_interval = 500&lt;br /&gt;
 reconnect_attempts = 5&lt;br /&gt;
 tls_enabled = no&lt;br /&gt;
websocket_client.conf を変更した場合には CLI から module reload res_websocket_client.so を実行すると設定が反映される。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Websocketに対して発信する場合には以下のように書く&lt;br /&gt;
 exten =&amp;gt; 9805,1,NoOp&lt;br /&gt;
 exten =&amp;gt; 9805,n,Dial(Websocket/ws-connection1/c(slin16))&lt;br /&gt;
 exten =&amp;gt; 9805,n,Hangup&lt;br /&gt;
テクノロジにWebsocket、/の後に識別名、その後にCODECを指定。c(slin16)はCODECにslin16(16kHzサンプリング 16bit LEのリニアPCM)の意味。CODECはチャネルで指定できるものが使えるが、Websocketのアプリケーション側で解釈できるものを使うこと。&amp;lt;br&amp;gt;&lt;br /&gt;
なお、AudioSocketではslin(8kHz 16bit LE)しか使えないが、Websocketではslin16の16kHzが使える。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Asteriskを着信側に使う場合はちょっと面倒なので省略。使い勝手はあまりよくない。&lt;br /&gt;
==Websocket側サンプルコード==&lt;br /&gt;
Websocketで待ち受け、ALSAデバイスで通話するサンプル。&amp;lt;br&amp;gt;&lt;br /&gt;
https://github.com/takao-t/asterisk-experimental/blob/main/websokect/ws_audio_server.py&amp;lt;br&amp;gt;&lt;br /&gt;
Websocketで待ち受け、音声をエコーバックするサンプル。&amp;lt;br&amp;gt;&lt;br /&gt;
https://github.com/takao-t/asterisk-experimental/blob/main/websokect/ws_echo.py&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
AsteriskのWebsocketチャネルではバイナリ(音声)データとテキストをサポートしている。テキストデータではステータスやコマンド等をやりとりできるので、サンプルコードに入れてあるが、この挙動(ANSWER)は今のところ効かない。Asterisk側の問題ではないかと思われる。&amp;lt;br&amp;gt;&lt;br /&gt;
Dial時オプションに&#039;n&#039;を付けるとAuto Answerしないとドキュメントに書かれているものの、Dial(Websocket/ws-connection1/c(slin16)n) のように書いてもAnswerしてしまうので、サンプルコード中の&amp;quot;ANSWER&amp;quot;送信は実際には効かないが、コマンド送りの例として残してある。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
ペーシングに関する参考情報:&amp;lt;br&amp;gt;&lt;br /&gt;
:ALSAオーディオを使用している場合、送出のタイミングはオーディオデバイスに依存しているので20ミリ秒が守られる&lt;br /&gt;
:エコーバックの場合にはAsteriskが送出してくる音声をそのまま返すのでAsteriskのタイミングで動作している&lt;br /&gt;
&lt;br /&gt;
==バッファリングモード==&lt;br /&gt;
20ミリ秒のペーシングが行えない場合には、Asteriskのバッファを使う手段が使える。この場合、以下の手順で送信する(Websocket-&amp;gt;Asterisk)。&lt;br /&gt;
 WS-&amp;gt;Asterisk&lt;br /&gt;
  TEXTでSTART_MEDIA_BUFFERINGを送信&lt;br /&gt;
 Asteriskがバッファリング開始&lt;br /&gt;
  WS-&amp;gt;Asteriskに音声データ送信&lt;br /&gt;
 Asterisk-&amp;gt;WS&lt;br /&gt;
  バッファが9割になるとXOFF送出&lt;br /&gt;
  WS-&amp;gt;Asteriskは送出を停止&lt;br /&gt;
 Asterisk-&amp;gt;WS&lt;br /&gt;
  バッファが減ったらXON送出&lt;br /&gt;
  Asterisk-&amp;gt;WSは送出を再開&lt;br /&gt;
バッファリングモードのサンプルコード&lt;br /&gt;
:https://github.com/takao-t/asterisk-experimental/blob/main/websokect/ws_buffer_test.py&lt;br /&gt;
使用例としてはAIが生成した音声ファイルを送り付けて再生する場合など。基本XON/XOFFに従って制御すれば大丈夫そうである。&lt;br /&gt;
==DTMF==&lt;br /&gt;
AsteriskからWebsocketにDTMFはTEXTで送られる。エコーバックのサンプルプログラムで試してみるとわかるが、以下のようなテキスト情報が得られる。&lt;br /&gt;
 --- WebSocket エコーサーバ ---&lt;br /&gt;
 サーバ: ws://0.0.0.0:8765&lt;br /&gt;
 ----------------------&lt;br /&gt;
 Ctrl+C で停止します。&lt;br /&gt;
 クライアント (&#039;127.0.0.1&#039;, 52856) が接続しました。&lt;br /&gt;
 受信 (TEXT): MEDIA_START connection_id:ws-connection1 channel:WebSocket/ws-connection1/0x7f46e8024170 format:slin16 optimal_frame_size:640 ptime:20&lt;br /&gt;
 受信 (TEXT): DTMF_END digit:9&lt;br /&gt;
 受信 (TEXT): DTMF_END digit:6&lt;br /&gt;
 受信 (TEXT): DTMF_END digit:5&lt;br /&gt;
 受信 (TEXT): DTMF_END digit:1&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12547</id>
		<title>Asterisk chan websocket</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12547"/>
		<updated>2025-10-23T00:18:03Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* バッファリングモード */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[カテゴリ:Asterisk]]&lt;br /&gt;
[[カテゴリ:websocket]]&lt;br /&gt;
&lt;br /&gt;
Asteriskの新しいチャネルとしてWebsocketチャネルが追加された。&amp;lt;br&amp;gt;&lt;br /&gt;
使用可能なバージョンは 23.0.0,22.6,0, 21.11.0, 20.16.0 のそれぞれ以降のバージョン。メジャーバージョンによる追加ではなく、マイナーバージョンの途中から追加されているので注意。&amp;lt;br&amp;gt;&lt;br /&gt;
従来からあるPjSIPのws/wssではなく、チャネルドライバとしてのWebsocket。&lt;br /&gt;
:https://docs.asterisk.org/Configuration/Channel-Drivers/WebSocket/?h=chan_websocket&lt;br /&gt;
==関連するモジュール==&lt;br /&gt;
chan_websocket&amp;lt;br&amp;gt;&lt;br /&gt;
res_websocket_client&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 *CLI&amp;gt; core show channeltype WebSocket&lt;br /&gt;
 -- Info about channel driver: WebSocket --&lt;br /&gt;
   Device State: no&lt;br /&gt;
 Presence State: no&lt;br /&gt;
     Indication: no&lt;br /&gt;
      Transfer : no&lt;br /&gt;
   Capabilities:  (codec2|g723|ulaw|alaw|gsm|g726|g726aal2|adpcm|slin|slin12|slin16|slin24|slin32|slin44|slin48|slin96|slin192|lpc10|g729|speex|speex16|speex32|ilbc|g722|siren7|siren14|g719|opus|jpeg|png|h261|h263|h263p|h264|h265|mpeg4|vp8|vp9|red|t140|t38|silk8|silk12|silk16|silk24)&lt;br /&gt;
    Digit Begin: no&lt;br /&gt;
      Digit End: yes&lt;br /&gt;
     Send HTML : no&lt;br /&gt;
  Image Support: no&lt;br /&gt;
   Text Support: no&lt;br /&gt;
 *CLI&amp;gt; module show like res_websocket_client.so&lt;br /&gt;
 Module                         Description                              Use Count  Status      Support Level&lt;br /&gt;
 res_websocket_client.so        WebSocket Client Support                 2          Running              core&lt;br /&gt;
&lt;br /&gt;
==注意点==&lt;br /&gt;
Websocket接続ではあるものの、リアルタイムの場合には、RTPと同様に20ミリ秒のペーシング(1フレームあたり20ミリ秒)の送出間隔を守ること。AsteriskからWebsocketへの送出はこの20ミリ秒フレームで送られるが、外部からAsteriskに送りつける場合にも20ミリ秒を守る必要がある。これが乱れると音声の品質低下、あるいは再生されないといった問題が発生する。この問題は割とハマるので注意。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==設定==&lt;br /&gt;
AsteriskからWebsocketに対して発信する場合の例。&amp;lt;br&amp;gt;&lt;br /&gt;
websocket_client.conf に以下のように記述する。&amp;quot;ws-connection1&amp;quot;が識別名。&lt;br /&gt;
 [ws-connection1]&lt;br /&gt;
 type = websocket_client&lt;br /&gt;
 uri = ws://127.0.0.1:8765&lt;br /&gt;
 protocols = media&lt;br /&gt;
 connection_type = per_call_config&lt;br /&gt;
 connection_timeout = 500&lt;br /&gt;
 reconnect_interval = 500&lt;br /&gt;
 reconnect_attempts = 5&lt;br /&gt;
 tls_enabled = no&lt;br /&gt;
websocket_client.conf を変更した場合には CLI から module reload res_websocket_client.so を実行すると設定が反映される。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Websocketに対して発信する場合には以下のように書く&lt;br /&gt;
 exten =&amp;gt; 9805,1,NoOp&lt;br /&gt;
 exten =&amp;gt; 9805,n,Dial(Websocket/ws-connection1/c(slin16))&lt;br /&gt;
 exten =&amp;gt; 9805,n,Hangup&lt;br /&gt;
テクノロジにWebsocket、/の後に識別名、その後にCODECを指定。c(slin16)はCODECにslin16(16kHzサンプリング 16bit LEのリニアPCM)の意味。CODECはチャネルで指定できるものが使えるが、Websocketのアプリケーション側で解釈できるものを使うこと。&amp;lt;br&amp;gt;&lt;br /&gt;
なお、AudioSocketではslin(8kHz 16bit LE)しか使えないが、Websocketではslin16の16kHzが使える。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Asteriskを着信側に使う場合はちょっと面倒なので省略。使い勝手はあまりよくない。&lt;br /&gt;
==Websocket側サンプルコード==&lt;br /&gt;
Websocketで待ち受け、ALSAデバイスで通話するサンプル。&amp;lt;br&amp;gt;&lt;br /&gt;
https://github.com/takao-t/asterisk-experimental/blob/main/websokect/ws_audio_server.py&amp;lt;br&amp;gt;&lt;br /&gt;
Websocketで待ち受け、音声をエコーバックするサンプル。&amp;lt;br&amp;gt;&lt;br /&gt;
https://github.com/takao-t/asterisk-experimental/blob/main/websokect/ws_echo.py&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
AsteriskのWebsocketチャネルではバイナリ(音声)データとテキストをサポートしている。テキストデータではステータスやコマンド等をやりとりできるので、サンプルコードに入れてあるが、この挙動(ANSWER)は今のところ効かない。Asterisk側の問題ではないかと思われる。&amp;lt;br&amp;gt;&lt;br /&gt;
Dial時オプションに&#039;n&#039;を付けるとAuto Answerしないとドキュメントに書かれているものの、Dial(Websocket/ws-connection1/c(slin16)n) のように書いてもAnswerしてしまうので、サンプルコード中の&amp;quot;ANSWER&amp;quot;送信は実際には効かないが、コマンド送りの例として残してある。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
ペーシングに関する参考情報:&amp;lt;br&amp;gt;&lt;br /&gt;
:ALSAオーディオを使用している場合、送出のタイミングはオーディオデバイスに依存しているので20ミリ秒が守られる&lt;br /&gt;
:エコーバックの場合にはAsteriskが送出してくる音声をそのまま返すのでAsteriskのタイミングで動作している&lt;br /&gt;
&lt;br /&gt;
==バッファリングモード==&lt;br /&gt;
20ミリ秒のペーシングが行えない場合には、Asteriskのバッファを使う手段が使える。この場合、以下の手順で送信する(Websocket-&amp;gt;Asterisk)。&lt;br /&gt;
 WS-&amp;gt;Asterisk&lt;br /&gt;
  TEXTでSTART_MEDIA_BUFFERINGを送信&lt;br /&gt;
 Asteriskがバッファリング開始&lt;br /&gt;
  WS-&amp;gt;Asteriskに音声データ送信&lt;br /&gt;
 Asterisk-&amp;gt;WS&lt;br /&gt;
  バッファが9割になるとXOFF送出&lt;br /&gt;
  WS-&amp;gt;Asteriskは送出を停止&lt;br /&gt;
 Asterisk-&amp;gt;WS&lt;br /&gt;
  バッファが減ったらXON送出&lt;br /&gt;
  Asterisk-&amp;gt;WSは送出を再開&lt;br /&gt;
バッファリングモードのサンプルコード&lt;br /&gt;
:https://github.com/takao-t/asterisk-experimental/blob/main/websokect/ws_buffer_test.py&lt;br /&gt;
使用例としてはAIが生成した音声ファイルを送り付けて再生する場合など。基本XON/XOFFに従って制御すれば大丈夫そうである。&lt;br /&gt;
==DTMF==&lt;br /&gt;
AsteriskからWebsocketにDTMFはTEXTで送られる。エコーバックのサンプルプログラムで試してみるとわかるが、以下のようなテキスト情報が得られる。&lt;br /&gt;
 --- WebSocket エコーサーバ ---&lt;br /&gt;
 サーバ: ws://0.0.0.0:8765&lt;br /&gt;
 ----------------------&lt;br /&gt;
 Ctrl+C で停止します。&lt;br /&gt;
 クライアント (&#039;127.0.0.1&#039;, 52856) が接続しました。&lt;br /&gt;
 受信 (TEXT): MEDIA_START connection_id:ws-connection1 channel:WebSocket/ws-connection1/0x7f46e8024170 format:slin16 optimal_frame_size:640 ptime:20&lt;br /&gt;
 受信 (TEXT): DTMF_END digit:9&lt;br /&gt;
 受信 (TEXT): DTMF_END digit:6&lt;br /&gt;
 受信 (TEXT): DTMF_END digit:5&lt;br /&gt;
 受信 (TEXT): DTMF_END digit:1&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12546</id>
		<title>Asterisk chan websocket</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12546"/>
		<updated>2025-10-23T00:03:16Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* バッファリングモード */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[カテゴリ:Asterisk]]&lt;br /&gt;
[[カテゴリ:websocket]]&lt;br /&gt;
&lt;br /&gt;
Asteriskの新しいチャネルとしてWebsocketチャネルが追加された。&amp;lt;br&amp;gt;&lt;br /&gt;
使用可能なバージョンは 23.0.0,22.6,0, 21.11.0, 20.16.0 のそれぞれ以降のバージョン。メジャーバージョンによる追加ではなく、マイナーバージョンの途中から追加されているので注意。&amp;lt;br&amp;gt;&lt;br /&gt;
従来からあるPjSIPのws/wssではなく、チャネルドライバとしてのWebsocket。&lt;br /&gt;
:https://docs.asterisk.org/Configuration/Channel-Drivers/WebSocket/?h=chan_websocket&lt;br /&gt;
==関連するモジュール==&lt;br /&gt;
chan_websocket&amp;lt;br&amp;gt;&lt;br /&gt;
res_websocket_client&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 *CLI&amp;gt; core show channeltype WebSocket&lt;br /&gt;
 -- Info about channel driver: WebSocket --&lt;br /&gt;
   Device State: no&lt;br /&gt;
 Presence State: no&lt;br /&gt;
     Indication: no&lt;br /&gt;
      Transfer : no&lt;br /&gt;
   Capabilities:  (codec2|g723|ulaw|alaw|gsm|g726|g726aal2|adpcm|slin|slin12|slin16|slin24|slin32|slin44|slin48|slin96|slin192|lpc10|g729|speex|speex16|speex32|ilbc|g722|siren7|siren14|g719|opus|jpeg|png|h261|h263|h263p|h264|h265|mpeg4|vp8|vp9|red|t140|t38|silk8|silk12|silk16|silk24)&lt;br /&gt;
    Digit Begin: no&lt;br /&gt;
      Digit End: yes&lt;br /&gt;
     Send HTML : no&lt;br /&gt;
  Image Support: no&lt;br /&gt;
   Text Support: no&lt;br /&gt;
 *CLI&amp;gt; module show like res_websocket_client.so&lt;br /&gt;
 Module                         Description                              Use Count  Status      Support Level&lt;br /&gt;
 res_websocket_client.so        WebSocket Client Support                 2          Running              core&lt;br /&gt;
&lt;br /&gt;
==注意点==&lt;br /&gt;
Websocket接続ではあるものの、リアルタイムの場合には、RTPと同様に20ミリ秒のペーシング(1フレームあたり20ミリ秒)の送出間隔を守ること。AsteriskからWebsocketへの送出はこの20ミリ秒フレームで送られるが、外部からAsteriskに送りつける場合にも20ミリ秒を守る必要がある。これが乱れると音声の品質低下、あるいは再生されないといった問題が発生する。この問題は割とハマるので注意。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==設定==&lt;br /&gt;
AsteriskからWebsocketに対して発信する場合の例。&amp;lt;br&amp;gt;&lt;br /&gt;
websocket_client.conf に以下のように記述する。&amp;quot;ws-connection1&amp;quot;が識別名。&lt;br /&gt;
 [ws-connection1]&lt;br /&gt;
 type = websocket_client&lt;br /&gt;
 uri = ws://127.0.0.1:8765&lt;br /&gt;
 protocols = media&lt;br /&gt;
 connection_type = per_call_config&lt;br /&gt;
 connection_timeout = 500&lt;br /&gt;
 reconnect_interval = 500&lt;br /&gt;
 reconnect_attempts = 5&lt;br /&gt;
 tls_enabled = no&lt;br /&gt;
websocket_client.conf を変更した場合には CLI から module reload res_websocket_client.so を実行すると設定が反映される。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Websocketに対して発信する場合には以下のように書く&lt;br /&gt;
 exten =&amp;gt; 9805,1,NoOp&lt;br /&gt;
 exten =&amp;gt; 9805,n,Dial(Websocket/ws-connection1/c(slin16))&lt;br /&gt;
 exten =&amp;gt; 9805,n,Hangup&lt;br /&gt;
テクノロジにWebsocket、/の後に識別名、その後にCODECを指定。c(slin16)はCODECにslin16(16kHzサンプリング 16bit LEのリニアPCM)の意味。CODECはチャネルで指定できるものが使えるが、Websocketのアプリケーション側で解釈できるものを使うこと。&amp;lt;br&amp;gt;&lt;br /&gt;
なお、AudioSocketではslin(8kHz 16bit LE)しか使えないが、Websocketではslin16の16kHzが使える。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Asteriskを着信側に使う場合はちょっと面倒なので省略。使い勝手はあまりよくない。&lt;br /&gt;
==Websocket側サンプルコード==&lt;br /&gt;
Websocketで待ち受け、ALSAデバイスで通話するサンプル。&amp;lt;br&amp;gt;&lt;br /&gt;
https://github.com/takao-t/asterisk-experimental/blob/main/websokect/ws_audio_server.py&amp;lt;br&amp;gt;&lt;br /&gt;
Websocketで待ち受け、音声をエコーバックするサンプル。&amp;lt;br&amp;gt;&lt;br /&gt;
https://github.com/takao-t/asterisk-experimental/blob/main/websokect/ws_echo.py&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
AsteriskのWebsocketチャネルではバイナリ(音声)データとテキストをサポートしている。テキストデータではステータスやコマンド等をやりとりできるので、サンプルコードに入れてあるが、この挙動(ANSWER)は今のところ効かない。Asterisk側の問題ではないかと思われる。&amp;lt;br&amp;gt;&lt;br /&gt;
Dial時オプションに&#039;n&#039;を付けるとAuto Answerしないとドキュメントに書かれているものの、Dial(Websocket/ws-connection1/c(slin16)n) のように書いてもAnswerしてしまうので、サンプルコード中の&amp;quot;ANSWER&amp;quot;送信は実際には効かないが、コマンド送りの例として残してある。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
ペーシングに関する参考情報:&amp;lt;br&amp;gt;&lt;br /&gt;
:ALSAオーディオを使用している場合、送出のタイミングはオーディオデバイスに依存しているので20ミリ秒が守られる&lt;br /&gt;
:エコーバックの場合にはAsteriskが送出してくる音声をそのまま返すのでAsteriskのタイミングで動作している&lt;br /&gt;
&lt;br /&gt;
==バッファリングモード==&lt;br /&gt;
20ミリ秒のペーシングが行えない場合には、Asteriskのバッファを使う手段が使える。この場合、以下の手順で送信する(Websocket-&amp;gt;Asterisk)。&lt;br /&gt;
 WS-&amp;gt;Asterisk&lt;br /&gt;
  TEXTでSTART_MEDIA_BUFFERINGを送信&lt;br /&gt;
 Asteriskがバッファリング開始&lt;br /&gt;
  WS-&amp;gt;Asteriskに音声データ送信&lt;br /&gt;
 Asterisk-&amp;gt;WS&lt;br /&gt;
  バッファが9割になるとXOFF送出&lt;br /&gt;
  WS-&amp;gt;Asteriskは送出を停止&lt;br /&gt;
 Asterisk-&amp;gt;WS&lt;br /&gt;
  バッファが減ったらXON送出&lt;br /&gt;
  Asterisk-&amp;gt;WSは送出を再開&lt;br /&gt;
バッファリングモードのサンプルコード&lt;br /&gt;
:https://github.com/takao-t/asterisk-experimental/blob/main/websokect/ws_buffer_test.py&lt;br /&gt;
使用例としてはAIが生成した音声ファイルを送り付けて再生する場合など。基本XON/XOFFに従って制御すれば大丈夫そうである。&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12545</id>
		<title>Asterisk chan websocket</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12545"/>
		<updated>2025-10-23T00:03:00Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* Websocket側サンプルコード */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[カテゴリ:Asterisk]]&lt;br /&gt;
[[カテゴリ:websocket]]&lt;br /&gt;
&lt;br /&gt;
Asteriskの新しいチャネルとしてWebsocketチャネルが追加された。&amp;lt;br&amp;gt;&lt;br /&gt;
使用可能なバージョンは 23.0.0,22.6,0, 21.11.0, 20.16.0 のそれぞれ以降のバージョン。メジャーバージョンによる追加ではなく、マイナーバージョンの途中から追加されているので注意。&amp;lt;br&amp;gt;&lt;br /&gt;
従来からあるPjSIPのws/wssではなく、チャネルドライバとしてのWebsocket。&lt;br /&gt;
:https://docs.asterisk.org/Configuration/Channel-Drivers/WebSocket/?h=chan_websocket&lt;br /&gt;
==関連するモジュール==&lt;br /&gt;
chan_websocket&amp;lt;br&amp;gt;&lt;br /&gt;
res_websocket_client&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 *CLI&amp;gt; core show channeltype WebSocket&lt;br /&gt;
 -- Info about channel driver: WebSocket --&lt;br /&gt;
   Device State: no&lt;br /&gt;
 Presence State: no&lt;br /&gt;
     Indication: no&lt;br /&gt;
      Transfer : no&lt;br /&gt;
   Capabilities:  (codec2|g723|ulaw|alaw|gsm|g726|g726aal2|adpcm|slin|slin12|slin16|slin24|slin32|slin44|slin48|slin96|slin192|lpc10|g729|speex|speex16|speex32|ilbc|g722|siren7|siren14|g719|opus|jpeg|png|h261|h263|h263p|h264|h265|mpeg4|vp8|vp9|red|t140|t38|silk8|silk12|silk16|silk24)&lt;br /&gt;
    Digit Begin: no&lt;br /&gt;
      Digit End: yes&lt;br /&gt;
     Send HTML : no&lt;br /&gt;
  Image Support: no&lt;br /&gt;
   Text Support: no&lt;br /&gt;
 *CLI&amp;gt; module show like res_websocket_client.so&lt;br /&gt;
 Module                         Description                              Use Count  Status      Support Level&lt;br /&gt;
 res_websocket_client.so        WebSocket Client Support                 2          Running              core&lt;br /&gt;
&lt;br /&gt;
==注意点==&lt;br /&gt;
Websocket接続ではあるものの、リアルタイムの場合には、RTPと同様に20ミリ秒のペーシング(1フレームあたり20ミリ秒)の送出間隔を守ること。AsteriskからWebsocketへの送出はこの20ミリ秒フレームで送られるが、外部からAsteriskに送りつける場合にも20ミリ秒を守る必要がある。これが乱れると音声の品質低下、あるいは再生されないといった問題が発生する。この問題は割とハマるので注意。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==設定==&lt;br /&gt;
AsteriskからWebsocketに対して発信する場合の例。&amp;lt;br&amp;gt;&lt;br /&gt;
websocket_client.conf に以下のように記述する。&amp;quot;ws-connection1&amp;quot;が識別名。&lt;br /&gt;
 [ws-connection1]&lt;br /&gt;
 type = websocket_client&lt;br /&gt;
 uri = ws://127.0.0.1:8765&lt;br /&gt;
 protocols = media&lt;br /&gt;
 connection_type = per_call_config&lt;br /&gt;
 connection_timeout = 500&lt;br /&gt;
 reconnect_interval = 500&lt;br /&gt;
 reconnect_attempts = 5&lt;br /&gt;
 tls_enabled = no&lt;br /&gt;
websocket_client.conf を変更した場合には CLI から module reload res_websocket_client.so を実行すると設定が反映される。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Websocketに対して発信する場合には以下のように書く&lt;br /&gt;
 exten =&amp;gt; 9805,1,NoOp&lt;br /&gt;
 exten =&amp;gt; 9805,n,Dial(Websocket/ws-connection1/c(slin16))&lt;br /&gt;
 exten =&amp;gt; 9805,n,Hangup&lt;br /&gt;
テクノロジにWebsocket、/の後に識別名、その後にCODECを指定。c(slin16)はCODECにslin16(16kHzサンプリング 16bit LEのリニアPCM)の意味。CODECはチャネルで指定できるものが使えるが、Websocketのアプリケーション側で解釈できるものを使うこと。&amp;lt;br&amp;gt;&lt;br /&gt;
なお、AudioSocketではslin(8kHz 16bit LE)しか使えないが、Websocketではslin16の16kHzが使える。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Asteriskを着信側に使う場合はちょっと面倒なので省略。使い勝手はあまりよくない。&lt;br /&gt;
==Websocket側サンプルコード==&lt;br /&gt;
Websocketで待ち受け、ALSAデバイスで通話するサンプル。&amp;lt;br&amp;gt;&lt;br /&gt;
https://github.com/takao-t/asterisk-experimental/blob/main/websokect/ws_audio_server.py&amp;lt;br&amp;gt;&lt;br /&gt;
Websocketで待ち受け、音声をエコーバックするサンプル。&amp;lt;br&amp;gt;&lt;br /&gt;
https://github.com/takao-t/asterisk-experimental/blob/main/websokect/ws_echo.py&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
AsteriskのWebsocketチャネルではバイナリ(音声)データとテキストをサポートしている。テキストデータではステータスやコマンド等をやりとりできるので、サンプルコードに入れてあるが、この挙動(ANSWER)は今のところ効かない。Asterisk側の問題ではないかと思われる。&amp;lt;br&amp;gt;&lt;br /&gt;
Dial時オプションに&#039;n&#039;を付けるとAuto Answerしないとドキュメントに書かれているものの、Dial(Websocket/ws-connection1/c(slin16)n) のように書いてもAnswerしてしまうので、サンプルコード中の&amp;quot;ANSWER&amp;quot;送信は実際には効かないが、コマンド送りの例として残してある。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
ペーシングに関する参考情報:&amp;lt;br&amp;gt;&lt;br /&gt;
:ALSAオーディオを使用している場合、送出のタイミングはオーディオデバイスに依存しているので20ミリ秒が守られる&lt;br /&gt;
:エコーバックの場合にはAsteriskが送出してくる音声をそのまま返すのでAsteriskのタイミングで動作している&lt;br /&gt;
&lt;br /&gt;
==バッファリングモード==&lt;br /&gt;
20m秒のペーシングが行えない場合には、Asteriskのバッファを使う手段が使える。この場合、以下の手順で送信する(Websocket-&amp;gt;Asterisk)。&lt;br /&gt;
 WS-&amp;gt;Asterisk&lt;br /&gt;
  TEXTでSTART_MEDIA_BUFFERINGを送信&lt;br /&gt;
 Asteriskがバッファリング開始&lt;br /&gt;
  WS-&amp;gt;Asteriskに音声データ送信&lt;br /&gt;
 Asterisk-&amp;gt;WS&lt;br /&gt;
  バッファが9割になるとXOFF送出&lt;br /&gt;
  WS-&amp;gt;Asteriskは送出を停止&lt;br /&gt;
 Asterisk-&amp;gt;WS&lt;br /&gt;
  バッファが減ったらXON送出&lt;br /&gt;
  Asterisk-&amp;gt;WSは送出を再開&lt;br /&gt;
バッファリングモードのサンプルコード&lt;br /&gt;
:https://github.com/takao-t/asterisk-experimental/blob/main/websokect/ws_buffer_test.py&lt;br /&gt;
使用例としてはAIが生成した音声ファイルを送り付けて再生する場合など。基本XON/XOFFに従って制御すれば大丈夫そうである。&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12544</id>
		<title>Asterisk chan websocket</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12544"/>
		<updated>2025-10-23T00:02:31Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* 注意点 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[カテゴリ:Asterisk]]&lt;br /&gt;
[[カテゴリ:websocket]]&lt;br /&gt;
&lt;br /&gt;
Asteriskの新しいチャネルとしてWebsocketチャネルが追加された。&amp;lt;br&amp;gt;&lt;br /&gt;
使用可能なバージョンは 23.0.0,22.6,0, 21.11.0, 20.16.0 のそれぞれ以降のバージョン。メジャーバージョンによる追加ではなく、マイナーバージョンの途中から追加されているので注意。&amp;lt;br&amp;gt;&lt;br /&gt;
従来からあるPjSIPのws/wssではなく、チャネルドライバとしてのWebsocket。&lt;br /&gt;
:https://docs.asterisk.org/Configuration/Channel-Drivers/WebSocket/?h=chan_websocket&lt;br /&gt;
==関連するモジュール==&lt;br /&gt;
chan_websocket&amp;lt;br&amp;gt;&lt;br /&gt;
res_websocket_client&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 *CLI&amp;gt; core show channeltype WebSocket&lt;br /&gt;
 -- Info about channel driver: WebSocket --&lt;br /&gt;
   Device State: no&lt;br /&gt;
 Presence State: no&lt;br /&gt;
     Indication: no&lt;br /&gt;
      Transfer : no&lt;br /&gt;
   Capabilities:  (codec2|g723|ulaw|alaw|gsm|g726|g726aal2|adpcm|slin|slin12|slin16|slin24|slin32|slin44|slin48|slin96|slin192|lpc10|g729|speex|speex16|speex32|ilbc|g722|siren7|siren14|g719|opus|jpeg|png|h261|h263|h263p|h264|h265|mpeg4|vp8|vp9|red|t140|t38|silk8|silk12|silk16|silk24)&lt;br /&gt;
    Digit Begin: no&lt;br /&gt;
      Digit End: yes&lt;br /&gt;
     Send HTML : no&lt;br /&gt;
  Image Support: no&lt;br /&gt;
   Text Support: no&lt;br /&gt;
 *CLI&amp;gt; module show like res_websocket_client.so&lt;br /&gt;
 Module                         Description                              Use Count  Status      Support Level&lt;br /&gt;
 res_websocket_client.so        WebSocket Client Support                 2          Running              core&lt;br /&gt;
&lt;br /&gt;
==注意点==&lt;br /&gt;
Websocket接続ではあるものの、リアルタイムの場合には、RTPと同様に20ミリ秒のペーシング(1フレームあたり20ミリ秒)の送出間隔を守ること。AsteriskからWebsocketへの送出はこの20ミリ秒フレームで送られるが、外部からAsteriskに送りつける場合にも20ミリ秒を守る必要がある。これが乱れると音声の品質低下、あるいは再生されないといった問題が発生する。この問題は割とハマるので注意。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==設定==&lt;br /&gt;
AsteriskからWebsocketに対して発信する場合の例。&amp;lt;br&amp;gt;&lt;br /&gt;
websocket_client.conf に以下のように記述する。&amp;quot;ws-connection1&amp;quot;が識別名。&lt;br /&gt;
 [ws-connection1]&lt;br /&gt;
 type = websocket_client&lt;br /&gt;
 uri = ws://127.0.0.1:8765&lt;br /&gt;
 protocols = media&lt;br /&gt;
 connection_type = per_call_config&lt;br /&gt;
 connection_timeout = 500&lt;br /&gt;
 reconnect_interval = 500&lt;br /&gt;
 reconnect_attempts = 5&lt;br /&gt;
 tls_enabled = no&lt;br /&gt;
websocket_client.conf を変更した場合には CLI から module reload res_websocket_client.so を実行すると設定が反映される。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Websocketに対して発信する場合には以下のように書く&lt;br /&gt;
 exten =&amp;gt; 9805,1,NoOp&lt;br /&gt;
 exten =&amp;gt; 9805,n,Dial(Websocket/ws-connection1/c(slin16))&lt;br /&gt;
 exten =&amp;gt; 9805,n,Hangup&lt;br /&gt;
テクノロジにWebsocket、/の後に識別名、その後にCODECを指定。c(slin16)はCODECにslin16(16kHzサンプリング 16bit LEのリニアPCM)の意味。CODECはチャネルで指定できるものが使えるが、Websocketのアプリケーション側で解釈できるものを使うこと。&amp;lt;br&amp;gt;&lt;br /&gt;
なお、AudioSocketではslin(8kHz 16bit LE)しか使えないが、Websocketではslin16の16kHzが使える。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Asteriskを着信側に使う場合はちょっと面倒なので省略。使い勝手はあまりよくない。&lt;br /&gt;
==Websocket側サンプルコード==&lt;br /&gt;
Websocketで待ち受け、ALSAデバイスで通話するサンプル。&amp;lt;br&amp;gt;&lt;br /&gt;
https://github.com/takao-t/asterisk-experimental/blob/main/websokect/ws_audio_server.py&amp;lt;br&amp;gt;&lt;br /&gt;
Websocketで待ち受け、音声をエコーバックするサンプル。&amp;lt;br&amp;gt;&lt;br /&gt;
https://github.com/takao-t/asterisk-experimental/blob/main/websokect/ws_echo.py&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
AsteriskのWebsocketチャネルではバイナリ(音声)データとテキストをサポートしている。テキストデータではステータスやコマンド等をやりとりできるので、サンプルコードに入れてあるが、この挙動(ANSWER)は今のところ効かない。Asterisk側の問題ではないかと思われる。&amp;lt;br&amp;gt;&lt;br /&gt;
Dial時オプションに&#039;n&#039;を付けるとAuto Answerしないとドキュメントに書かれているものの、Dial(Websocket/ws-connection1/c(slin16)n) のように書いてもAnswerしてしまうので、サンプルコード中の&amp;quot;ANSWER&amp;quot;送信は実際には効かないが、コマンド送りの例として残してある。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
ペーシングに関する参考情報:&amp;lt;br&amp;gt;&lt;br /&gt;
:ALSAオーディオを使用している場合、送出のタイミングはオーディオデバイスに依存しているので20mSが守られる&lt;br /&gt;
:エコーバックの場合にはAsteriskが送出してくる音声をそのまま返すのでAsteriskのタイミングで動作している&lt;br /&gt;
&lt;br /&gt;
==バッファリングモード==&lt;br /&gt;
20m秒のペーシングが行えない場合には、Asteriskのバッファを使う手段が使える。この場合、以下の手順で送信する(Websocket-&amp;gt;Asterisk)。&lt;br /&gt;
 WS-&amp;gt;Asterisk&lt;br /&gt;
  TEXTでSTART_MEDIA_BUFFERINGを送信&lt;br /&gt;
 Asteriskがバッファリング開始&lt;br /&gt;
  WS-&amp;gt;Asteriskに音声データ送信&lt;br /&gt;
 Asterisk-&amp;gt;WS&lt;br /&gt;
  バッファが9割になるとXOFF送出&lt;br /&gt;
  WS-&amp;gt;Asteriskは送出を停止&lt;br /&gt;
 Asterisk-&amp;gt;WS&lt;br /&gt;
  バッファが減ったらXON送出&lt;br /&gt;
  Asterisk-&amp;gt;WSは送出を再開&lt;br /&gt;
バッファリングモードのサンプルコード&lt;br /&gt;
:https://github.com/takao-t/asterisk-experimental/blob/main/websokect/ws_buffer_test.py&lt;br /&gt;
使用例としてはAIが生成した音声ファイルを送り付けて再生する場合など。基本XON/XOFFに従って制御すれば大丈夫そうである。&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12543</id>
		<title>Asterisk chan websocket</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12543"/>
		<updated>2025-10-23T00:00:39Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* Websocket側サンプルコード */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[カテゴリ:Asterisk]]&lt;br /&gt;
[[カテゴリ:websocket]]&lt;br /&gt;
&lt;br /&gt;
Asteriskの新しいチャネルとしてWebsocketチャネルが追加された。&amp;lt;br&amp;gt;&lt;br /&gt;
使用可能なバージョンは 23.0.0,22.6,0, 21.11.0, 20.16.0 のそれぞれ以降のバージョン。メジャーバージョンによる追加ではなく、マイナーバージョンの途中から追加されているので注意。&amp;lt;br&amp;gt;&lt;br /&gt;
従来からあるPjSIPのws/wssではなく、チャネルドライバとしてのWebsocket。&lt;br /&gt;
:https://docs.asterisk.org/Configuration/Channel-Drivers/WebSocket/?h=chan_websocket&lt;br /&gt;
==関連するモジュール==&lt;br /&gt;
chan_websocket&amp;lt;br&amp;gt;&lt;br /&gt;
res_websocket_client&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 *CLI&amp;gt; core show channeltype WebSocket&lt;br /&gt;
 -- Info about channel driver: WebSocket --&lt;br /&gt;
   Device State: no&lt;br /&gt;
 Presence State: no&lt;br /&gt;
     Indication: no&lt;br /&gt;
      Transfer : no&lt;br /&gt;
   Capabilities:  (codec2|g723|ulaw|alaw|gsm|g726|g726aal2|adpcm|slin|slin12|slin16|slin24|slin32|slin44|slin48|slin96|slin192|lpc10|g729|speex|speex16|speex32|ilbc|g722|siren7|siren14|g719|opus|jpeg|png|h261|h263|h263p|h264|h265|mpeg4|vp8|vp9|red|t140|t38|silk8|silk12|silk16|silk24)&lt;br /&gt;
    Digit Begin: no&lt;br /&gt;
      Digit End: yes&lt;br /&gt;
     Send HTML : no&lt;br /&gt;
  Image Support: no&lt;br /&gt;
   Text Support: no&lt;br /&gt;
 *CLI&amp;gt; module show like res_websocket_client.so&lt;br /&gt;
 Module                         Description                              Use Count  Status      Support Level&lt;br /&gt;
 res_websocket_client.so        WebSocket Client Support                 2          Running              core&lt;br /&gt;
&lt;br /&gt;
==注意点==&lt;br /&gt;
Websocket接続ではあるものの、リアルタイムの場合には、RTPと同様に20m秒のペーシング(1フレームあたり20m秒)の送出間隔を守ること。AsteriskからWebsocketへの送出はこの20m秒フレームで送られるが、外部からAsteriskに送りつける場合にも20m秒を守る必要がある。これが乱れると音声の品質低下、あるいは再生されないといった問題が発生する。この問題は割とハマるので注意。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==設定==&lt;br /&gt;
AsteriskからWebsocketに対して発信する場合の例。&amp;lt;br&amp;gt;&lt;br /&gt;
websocket_client.conf に以下のように記述する。&amp;quot;ws-connection1&amp;quot;が識別名。&lt;br /&gt;
 [ws-connection1]&lt;br /&gt;
 type = websocket_client&lt;br /&gt;
 uri = ws://127.0.0.1:8765&lt;br /&gt;
 protocols = media&lt;br /&gt;
 connection_type = per_call_config&lt;br /&gt;
 connection_timeout = 500&lt;br /&gt;
 reconnect_interval = 500&lt;br /&gt;
 reconnect_attempts = 5&lt;br /&gt;
 tls_enabled = no&lt;br /&gt;
websocket_client.conf を変更した場合には CLI から module reload res_websocket_client.so を実行すると設定が反映される。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Websocketに対して発信する場合には以下のように書く&lt;br /&gt;
 exten =&amp;gt; 9805,1,NoOp&lt;br /&gt;
 exten =&amp;gt; 9805,n,Dial(Websocket/ws-connection1/c(slin16))&lt;br /&gt;
 exten =&amp;gt; 9805,n,Hangup&lt;br /&gt;
テクノロジにWebsocket、/の後に識別名、その後にCODECを指定。c(slin16)はCODECにslin16(16kHzサンプリング 16bit LEのリニアPCM)の意味。CODECはチャネルで指定できるものが使えるが、Websocketのアプリケーション側で解釈できるものを使うこと。&amp;lt;br&amp;gt;&lt;br /&gt;
なお、AudioSocketではslin(8kHz 16bit LE)しか使えないが、Websocketではslin16の16kHzが使える。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Asteriskを着信側に使う場合はちょっと面倒なので省略。使い勝手はあまりよくない。&lt;br /&gt;
==Websocket側サンプルコード==&lt;br /&gt;
Websocketで待ち受け、ALSAデバイスで通話するサンプル。&amp;lt;br&amp;gt;&lt;br /&gt;
https://github.com/takao-t/asterisk-experimental/blob/main/websokect/ws_audio_server.py&amp;lt;br&amp;gt;&lt;br /&gt;
Websocketで待ち受け、音声をエコーバックするサンプル。&amp;lt;br&amp;gt;&lt;br /&gt;
https://github.com/takao-t/asterisk-experimental/blob/main/websokect/ws_echo.py&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
AsteriskのWebsocketチャネルではバイナリ(音声)データとテキストをサポートしている。テキストデータではステータスやコマンド等をやりとりできるので、サンプルコードに入れてあるが、この挙動(ANSWER)は今のところ効かない。Asterisk側の問題ではないかと思われる。&amp;lt;br&amp;gt;&lt;br /&gt;
Dial時オプションに&#039;n&#039;を付けるとAuto Answerしないとドキュメントに書かれているものの、Dial(Websocket/ws-connection1/c(slin16)n) のように書いてもAnswerしてしまうので、サンプルコード中の&amp;quot;ANSWER&amp;quot;送信は実際には効かないが、コマンド送りの例として残してある。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
ペーシングに関する参考情報:&amp;lt;br&amp;gt;&lt;br /&gt;
:ALSAオーディオを使用している場合、送出のタイミングはオーディオデバイスに依存しているので20mSが守られる&lt;br /&gt;
:エコーバックの場合にはAsteriskが送出してくる音声をそのまま返すのでAsteriskのタイミングで動作している&lt;br /&gt;
&lt;br /&gt;
==バッファリングモード==&lt;br /&gt;
20m秒のペーシングが行えない場合には、Asteriskのバッファを使う手段が使える。この場合、以下の手順で送信する(Websocket-&amp;gt;Asterisk)。&lt;br /&gt;
 WS-&amp;gt;Asterisk&lt;br /&gt;
  TEXTでSTART_MEDIA_BUFFERINGを送信&lt;br /&gt;
 Asteriskがバッファリング開始&lt;br /&gt;
  WS-&amp;gt;Asteriskに音声データ送信&lt;br /&gt;
 Asterisk-&amp;gt;WS&lt;br /&gt;
  バッファが9割になるとXOFF送出&lt;br /&gt;
  WS-&amp;gt;Asteriskは送出を停止&lt;br /&gt;
 Asterisk-&amp;gt;WS&lt;br /&gt;
  バッファが減ったらXON送出&lt;br /&gt;
  Asterisk-&amp;gt;WSは送出を再開&lt;br /&gt;
バッファリングモードのサンプルコード&lt;br /&gt;
:https://github.com/takao-t/asterisk-experimental/blob/main/websokect/ws_buffer_test.py&lt;br /&gt;
使用例としてはAIが生成した音声ファイルを送り付けて再生する場合など。基本XON/XOFFに従って制御すれば大丈夫そうである。&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk_22&amp;diff=12542</id>
		<title>Asterisk 22</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk_22&amp;diff=12542"/>
		<updated>2025-10-22T23:51:23Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* chan_websocket */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[カテゴリ:Asterisk]]&lt;br /&gt;
[[カテゴリ:Asterisk22]]&lt;br /&gt;
[[カテゴリ:pjsip]]&lt;br /&gt;
&lt;br /&gt;
Asterisk 22.0.0が2024年10月16日(現地時間)リリースされました。&amp;lt;br&amp;gt;&lt;br /&gt;
:メンテナンス終了は2028年10月16日&lt;br /&gt;
:セキュリティフィックス提供終了は2029年10月&lt;br /&gt;
==概要==&lt;br /&gt;
Asterisk 22は最新のAsteriskのメジャーリリースで、Asterisk 20同様にLTS(Long Term Support:通常4年)になります。&lt;br /&gt;
:https://docs.asterisk.org/About-the-Project/Asterisk-Versions/&lt;br /&gt;
===Asterisk 20からの変更点で重要なもの===&lt;br /&gt;
*chan_sipは廃止(ソースコードも含まれない)&lt;br /&gt;
*chan_alsa,chan_mgcp,chan_skinnyも廃止&lt;br /&gt;
*app_macroは廃止&lt;br /&gt;
make menuselectで確認するとわかりますが、廃止予定だったチャネルはすべて&#039;&#039;&#039;廃止&#039;&#039;&#039;されています。&lt;br /&gt;
                        **************************************************&lt;br /&gt;
                            Asterisk Module and Build Option Selection&lt;br /&gt;
                        **************************************************&lt;br /&gt;
 &lt;br /&gt;
                                 Press &#039;h&#039; for help.&lt;br /&gt;
 &lt;br /&gt;
                                 --- Core ---&lt;br /&gt;
                             [*] chan_bridge_media&lt;br /&gt;
                             [*] chan_dahdi&lt;br /&gt;
                             [*] chan_iax2&lt;br /&gt;
                             XXX chan_motif&lt;br /&gt;
                             [*] chan_pjsip&lt;br /&gt;
                             [*] chan_rtp&lt;br /&gt;
                                 --- Extended ---&lt;br /&gt;
                             [*] chan_audiosocket&lt;br /&gt;
                             [*] chan_console&lt;br /&gt;
                             [*] chan_unistim&lt;br /&gt;
Asterisk 22で使用できるチャネルは上記だけです。&amp;lt;br&amp;gt;&lt;br /&gt;
なおH.323やbluetooth(mobile)チャネルはこれまで通り、addon扱いです。&lt;br /&gt;
                        **************************************************&lt;br /&gt;
                            Asterisk Module and Build Option Selection&lt;br /&gt;
                        **************************************************&lt;br /&gt;
 &lt;br /&gt;
                                 Press &#039;h&#039; for help.&lt;br /&gt;
 &lt;br /&gt;
                                 --- Extended ---&lt;br /&gt;
                             [ ] chan_mobile&lt;br /&gt;
                             [ ] chan_ooh323&lt;br /&gt;
                             [ ] format_mp3&lt;br /&gt;
                             XXX res_config_mysql&lt;br /&gt;
===マイナーバージョンにおける注意===&lt;br /&gt;
22の途中(正確にどのバージョンかは把握していませんが)からPJSIP_CONTACTSのDBが変更になっています。カラムが1つ追加されているだけですが、古いスキーマでDBを作っているとエラーで正常動作しません。新しいものを使ってください。&lt;br /&gt;
&lt;br /&gt;
==新機能==&lt;br /&gt;
Asterisk 21で採用されたものを継承します。&amp;lt;br&amp;gt;&lt;br /&gt;
===テナントID===&lt;br /&gt;
pjsip.confで tenantid= が設定できるようになりました。CHANNEL()ファンクションでこの値を参照/設定できるようになりました(CHANNEL(tenantid))。&lt;br /&gt;
===pjsip_wizard===&lt;br /&gt;
res_pjsip_config_wizard.so がリロード可能になりました。&lt;br /&gt;
===RECORD_TIME===&lt;br /&gt;
変数 RECORD_TIME が追加され、Record()で録音した場合の録音時間(ミリ秒)を返すようになりました。&lt;br /&gt;
===chan_websocket===&lt;br /&gt;
[[Asterisk chan websocket | Websocket]] の音声チャネルが追加(22.6以降)。&amp;lt;br&amp;gt;&lt;br /&gt;
PjSIPのWebsocketではなく、AsteriskがサポートするチャネルとしてのWebsocketクライアント。&lt;br /&gt;
&lt;br /&gt;
==削除されたもの==&lt;br /&gt;
&lt;br /&gt;
===CDR===&lt;br /&gt;
NoCDRが削除、ResetCDRの&#039;e&#039;オプションが削除&lt;br /&gt;
===app_macro===&lt;br /&gt;
Macroは完全に削除。Macroを利用していたextenは要注意。&amp;lt;br&amp;gt;&lt;br /&gt;
Asterisk app_ のオプション類でマクロを呼び出せたものもマクロは使用不可となったのでGosubに置換すること。&amp;lt;br&amp;gt;&lt;br /&gt;
:app_dialのMオプションも削除&lt;br /&gt;
:app_minivmマクロを使用した記述は動作しない&lt;br /&gt;
:app_queue 呼び出し先でマクロは使用できない&lt;br /&gt;
:ccss コールバックマクロはなし gosubのみ&lt;br /&gt;
:app_voicemail マクロサポートはなし&lt;br /&gt;
:チャネル マクロコンテキスト/プライオリティは削除&lt;br /&gt;
:オプション stdexten&lt;br /&gt;
:pbx マクロロックが削除&lt;br /&gt;
:pbx_dundi マクロはサーチしない&lt;br /&gt;
:snmp マクロコンテキスト,exten,プライオリティは削除&lt;br /&gt;
移行方法は [[Extension_Macro_To_Gosub]] を参考に。&lt;br /&gt;
&lt;br /&gt;
===app_osplookup===&lt;br /&gt;
このモジュールは削除(Asterisk 19で非推奨)&lt;br /&gt;
===chan_alsa===&lt;br /&gt;
このモジュールは削除(Asterisk 19で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
→ [[chan_console]] へ移行のこと&lt;br /&gt;
===chan_mgcp===&lt;br /&gt;
このモジュールは削除(Asterisk 19で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
===chan_sip===&lt;br /&gt;
このモジュールは削除(Asterisk 17で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;要注意:完全に削除。明示指定してコンパイルすることも不可。&amp;lt;/strong&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===chan_skinny===&lt;br /&gt;
このモジュールは削除(Asterisk 19で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
Cisco電話機(skinny)は使用不可。&lt;br /&gt;
===pbx_builtins===&lt;br /&gt;
ImportVar、SetAMAFlagsは削除&lt;br /&gt;
===res_monitor===&lt;br /&gt;
このモジュールは削除(Asterisk 16で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
これによりapp_queueのWおよびwオプションも削除&amp;lt;br&amp;gt;&lt;br /&gt;
MixMonitorを使用すること。&lt;br /&gt;
&lt;br /&gt;
===その他===&lt;br /&gt;
細かい変更点等は公式を参照のこと。&amp;lt;br&amp;gt;&lt;br /&gt;
https://docs.asterisk.org/Asterisk_22_Documentation/WhatsNew/&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===廃止予定===&lt;br /&gt;
users.confは廃止予定となっており、Asterisk 23で削除されているようです。users.confによる設定は使えなくなります。&lt;br /&gt;
&lt;br /&gt;
==注意==&lt;br /&gt;
*&#039;&#039;&#039;SIPチャネル要注意&#039;&#039;&#039;&lt;br /&gt;
:SIPチャネルはPjSipが標準となりました。chan_sipはソースも配布されず&#039;&#039;&#039;完全に廃止&#039;&#039;&#039;されました。&amp;lt;br&amp;gt;&lt;br /&gt;
→ [[Asterisk pjsip]]&amp;lt;br&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Macro廃止&#039;&#039;&#039;&lt;br /&gt;
:Macroが完全廃止されました。Gosub/Returnへの書き換えが必要です。&lt;br /&gt;
:extenでMacroを多用している例は多いので22へ移行する場合には対応してください。&lt;br /&gt;
==現状==&lt;br /&gt;
2024/10 : Asterisk 20からのアップグレードで問題はなさそうです。API周り等で細かいところまではチェックしていませんが、Asterisk 18ベースのextenでは特に問題がないようにみえています。&lt;br /&gt;
&lt;br /&gt;
==インストール==&lt;br /&gt;
===前提となるパッケージ類=== &lt;br /&gt;
GCC、G++(GNU-C++)、OpenSSL、Ncurses、bison、カーネルソース(DAHDIを使う場合)、libxml2、SQLite3、libuuid-devel&amp;lt;br&amp;gt;&lt;br /&gt;
dnsutilsは使う人がいるかもなので追加。libsrtp2はブラウザフォン対応用、libunboundはRTX/NVRで直収のため。&amp;lt;br&amp;gt;&lt;br /&gt;
Debianで説明します。&amp;lt;br&amp;gt;&lt;br /&gt;
以下の例はbookworm最小インストール(netinstall)からパッケージを追加した例です。&amp;lt;br&amp;gt;&lt;br /&gt;
 apt -y install build-essential libedit-dev uuid-dev libxml2-dev libncurses-dev libsqlite3-dev sqlite3 libssl-dev subversion git net-tools dnsutils libsrtp2-dev libunbound-dev&lt;br /&gt;
Asteriskの基本的な部分は上記のパッケージ追加で問題ないと思います。なおJanssonはAsteriskのバンドルでインストールしますので、configure時に指定します。&amp;lt;br&amp;gt;&lt;br /&gt;
Asterisk 20と同様の環境でコンパイルできました。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Asteriskソースの入手===&lt;br /&gt;
Asterisk 22のソースは以下からダウンロードできます。なお asterisk-22-current.tar.gz が最新バージョンへのシンボリックリンクとなっていますので、これをダウンロードすれば最新バージョンが入手できます。&lt;br /&gt;
 http://downloads.asterisk.org/pub/telephony/asterisk/&lt;br /&gt;
展開するディレクトリはどこでもかまいませんが、ここでは/usr/src/とします。&lt;br /&gt;
 # cd /usr/src&lt;br /&gt;
 # wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-22-current.tar.gz&lt;br /&gt;
入手したら展開しておきます。展開すると現在のAsteriskのバージョンのディレクトリに展開されます。以降それぞれの作業は、それぞれの展開したサブディレクトリで行います。&lt;br /&gt;
 # tar zxvf asterisk-22-current.tar.gz&lt;br /&gt;
 # cd asterisk-22.x.x&lt;br /&gt;
&lt;br /&gt;
===Asteriskのコンパイルとインストール===&lt;br /&gt;
基本的にconfigureしてmakeするだけですが、Janssonをバンドルで行うので以下のオプションでconfigureします。。&lt;br /&gt;
 # ./configure --with-jansson-bundled&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
以前のバージョンからアップグレードを行う場合、変更されたモジュール類が多いので、一旦、以前のモジュールをディレクトリごと名前変更してバックアップしてからインストールしてください。&amp;lt;BR&amp;gt;&lt;br /&gt;
 mv /usr/lib/asterisk/module /usr/lib/asterisk/module.20.bak&lt;br /&gt;
&lt;br /&gt;
あとはコンパイルとインストールを行うだけです(新規インストールの場合)。&lt;br /&gt;
 # make&lt;br /&gt;
 # make install&lt;br /&gt;
 # make samples&lt;br /&gt;
 # make config&lt;br /&gt;
これで新規インストールは完了します。最後の make config で起動時に自動起動するようになります。&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;アップグレード時の注意&#039;&#039;&#039;：以前のバージョンからアップグレードする場合、/etc/asterisk の設定ファイル類をバックアップしてから行ってください。make samplesすると /etc/asterisk の内容を上書きしてしまいます。アップグレード時は make installするだけで事足りることが多いです。(make configはシステムのスタートアップファイル類を更新するので大きな変更がない場合には更新の必要はありません。&lt;br /&gt;
====『何か』が足りない場合のヒント====&lt;br /&gt;
Asteriskのモジュールでコンパイルされないものが出てきた場合には以下の方法で対処してください。Asteriskの機能アップとともに依存するパッケージも増えているので『新しい機能を使いたいのに動かない』ような場合には要チェックです。&amp;lt;br&amp;gt;&lt;br /&gt;
make menuselectを実行します。コンパイルされていないモジュールを探します。例えば以下はLUAが使いたいけど、使えない場合に調べてみると&#039;pbx_lua&#039;がコンパイルされていない例です。&lt;br /&gt;
                               **************************************************&lt;br /&gt;
                                   Asterisk Module and Build Option Selection&lt;br /&gt;
                               **************************************************&lt;br /&gt;
 &lt;br /&gt;
                                        Press &#039;h&#039; for help.&lt;br /&gt;
 &lt;br /&gt;
                                        --- Core ---&lt;br /&gt;
                                    [*] pbx_config&lt;br /&gt;
                                    [*] pbx_loopback&lt;br /&gt;
                                    [*] pbx_spool&lt;br /&gt;
                                        --- Extended ---&lt;br /&gt;
                                    [*] pbx_ael&lt;br /&gt;
                                    XXX pbx_dundi&lt;br /&gt;
                                    XXX pbx_lua&lt;br /&gt;
                                    [*] pbx_realtime&lt;br /&gt;
XXXで表示されるものは『何か』が足りないのでコンパイル/インストールされないものです。カーソルを該当する箇所に移動すると、画面の下の方をみると次のような表示があるはずです。&lt;br /&gt;
                               Lua PBX Switch&lt;br /&gt;
 &lt;br /&gt;
                               Depends on: lua(E)&lt;br /&gt;
 &lt;br /&gt;
                               Support Level: extended&lt;br /&gt;
Depends onが何に依存しているかの情報で要するに&amp;quot;lua&amp;quot;に依存していることがわかります。&amp;lt;br&amp;gt;&lt;br /&gt;
ではluaのパッケージを追加すればOKかというと、それだけでは不足で、Asteriskはソースからコンパイルするので、単純なパッケージ追加だけではなく-devも追加する必要うがあります。なので、例えばLUAならば。&lt;br /&gt;
 apt install lua5.3&lt;br /&gt;
 apt install lua5.3-dev&lt;br /&gt;
のように、devパッケージも併せてインストールします。&amp;lt;br&amp;gt;&lt;br /&gt;
インストールが終わったら再度configureとmake menuselectをしてみましょう。&lt;br /&gt;
 # ./configure --with-jansson-bundled&lt;br /&gt;
 # make menuselect&lt;br /&gt;
再度確認すると次のようになっているはずです。&lt;br /&gt;
                                        --- Extended ---&lt;br /&gt;
                                    [*] pbx_ael&lt;br /&gt;
                                    XXX pbx_dundi&lt;br /&gt;
                                    [*] pbx_lua&lt;br /&gt;
                                    [*] pbx_realtime&lt;br /&gt;
これで表示が&#039;&#039;&#039;[*]&#039;&#039;&#039;となったので、コンパイル/インストールされることがわかります。このようにして何のパッケージが不足しているかを確認/追加します。&amp;lt;br&amp;gt;&lt;br /&gt;
ただしAsteriskのmake menuselectで表示されるパッケージ名称は『一般的な』ものなので自分のディストリでそれが何に相当するのかは調べてください。&lt;br /&gt;
&lt;br /&gt;
===日本語音声のインストール===&lt;br /&gt;
Asteriskの本体に付随する日本語音声は古いためGoogle TTSで合成した日本語音声(トーキー)を用意してあります(Asterisk 18ベース)。githubに用意してありますのでご利用ください。&amp;lt;br&amp;gt;&lt;br /&gt;
※core-sounds.txtを確認したところ、18と20,22で音声の差異は無いようです。&lt;br /&gt;
 git clone https://github.com/takao-t/asterisk-sound-ja.git&lt;br /&gt;
tarでまとめたものを展開します。&lt;br /&gt;
 cd asterisk-sound-ja&lt;br /&gt;
 cp core-sound-ja.tgz /var/lib/asterisk/sounds/.&lt;br /&gt;
 cd /var/lib/asterisk/sounds/&lt;br /&gt;
 tar zxvf core-sound-ja.tgz&lt;br /&gt;
これで sounds/ja の下に日本語音声ファイル類が入ります。LANGUAGE系の設定をjaにすると日本語音声が使えます。&amp;lt;br&amp;gt;&lt;br /&gt;
日本語文法に必要なパッチ類を以前提供していましたが、現在ではAsterisk本体にマージされているため文法はLANGUAGEの設定のみで対応できます。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ユーザの追加と設定==&lt;br /&gt;
Asteriskをasterisk:asteriskで起動させるために以下のようにグループ/ユーザを追加します。UID,GIDの5060は単なる趣味です。&lt;br /&gt;
 addgroup --gid 5060 asterisk&lt;br /&gt;
 adduser --uid 5060 --gid 5060 asterisk --disabled-password&lt;br /&gt;
Asteriskの実行ユーザ/グループは /etc/defaults/asterisk を編集します。以下の部分のコメントを外します。&lt;br /&gt;
 # Uncomment the following and set them to the user/groups that you&lt;br /&gt;
 # want to run Asterisk as. NOTE: this requires substantial work to&lt;br /&gt;
 # be sure that Asterisk&#039;s environment has permission to write the&lt;br /&gt;
 # files required  for  its  operation, including logs, its comm&lt;br /&gt;
 # socket, the asterisk database, etc.&lt;br /&gt;
 AST_USER=&amp;quot;asterisk&amp;quot;     &amp;lt;==ここと&lt;br /&gt;
 AST_GROUP=&amp;quot;asterisk&amp;quot;    &amp;lt;==ここ&lt;br /&gt;
&lt;br /&gt;
ディレクトリ/ファイル類の権限も調整しておきましょう。&lt;br /&gt;
 chown -R asterisk:asterisk /var/log/asterisk&lt;br /&gt;
 chown -R asterisk:asterisk /var/lib/asterisk&lt;br /&gt;
 chown -R asterisk:asterisk /var/spool/asterisk&lt;br /&gt;
 chown -R asterisk:asterisk /usr/lib/asterisk&lt;br /&gt;
 chown -R asterisk:asterisk /etc/asterisk&lt;br /&gt;
これでsystemctlで起動すればAsteriskが動くはずです。&lt;br /&gt;
&lt;br /&gt;
==サンプル設定ファイルと応用例==&lt;br /&gt;
Asterisk 20以降用に大幅に書き直しました。&amp;lt;br&amp;gt;&lt;br /&gt;
:https://github.com/takao-t/asterisk-conf/tree/main/asterisk_20&lt;br /&gt;
:使い方 [[Asterisk_20_サンプル設定ファイル]]&lt;br /&gt;
:解説 [[Asterisk_20_サンプル設定ファイル_解説]]&lt;br /&gt;
:NVR500の使用例 [[Asterisk+NVR500]]&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12539</id>
		<title>Asterisk chan websocket</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12539"/>
		<updated>2025-10-22T05:21:19Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* Websocket側サンプルコード */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[カテゴリ:Asterisk]]&lt;br /&gt;
[[カテゴリ:websocket]]&lt;br /&gt;
&lt;br /&gt;
Asteriskの新しいチャネルとしてWebsocketチャネルが追加された。&amp;lt;br&amp;gt;&lt;br /&gt;
使用可能なバージョンは 23.0.0,22.6,0, 21.11.0, 20.16.0 のそれぞれ以降のバージョン。メジャーバージョンによる追加ではなく、マイナーバージョンの途中から追加されているので注意。&amp;lt;br&amp;gt;&lt;br /&gt;
従来からあるPjSIPのws/wssではなく、チャネルドライバとしてのWebsocket。&lt;br /&gt;
:https://docs.asterisk.org/Configuration/Channel-Drivers/WebSocket/?h=chan_websocket&lt;br /&gt;
==関連するモジュール==&lt;br /&gt;
chan_websocket&amp;lt;br&amp;gt;&lt;br /&gt;
res_websocket_client&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 *CLI&amp;gt; core show channeltype WebSocket&lt;br /&gt;
 -- Info about channel driver: WebSocket --&lt;br /&gt;
   Device State: no&lt;br /&gt;
 Presence State: no&lt;br /&gt;
     Indication: no&lt;br /&gt;
      Transfer : no&lt;br /&gt;
   Capabilities:  (codec2|g723|ulaw|alaw|gsm|g726|g726aal2|adpcm|slin|slin12|slin16|slin24|slin32|slin44|slin48|slin96|slin192|lpc10|g729|speex|speex16|speex32|ilbc|g722|siren7|siren14|g719|opus|jpeg|png|h261|h263|h263p|h264|h265|mpeg4|vp8|vp9|red|t140|t38|silk8|silk12|silk16|silk24)&lt;br /&gt;
    Digit Begin: no&lt;br /&gt;
      Digit End: yes&lt;br /&gt;
     Send HTML : no&lt;br /&gt;
  Image Support: no&lt;br /&gt;
   Text Support: no&lt;br /&gt;
 *CLI&amp;gt; module show like res_websocket_client.so&lt;br /&gt;
 Module                         Description                              Use Count  Status      Support Level&lt;br /&gt;
 res_websocket_client.so        WebSocket Client Support                 2          Running              core&lt;br /&gt;
&lt;br /&gt;
==注意点==&lt;br /&gt;
Websocket接続ではあるものの、リアルタイムの場合には、RTPと同様に20m秒のペーシング(1フレームあたり20m秒)の送出間隔を守ること。AsteriskからWebsocketへの送出はこの20m秒フレームで送られるが、外部からAsteriskに送りつける場合にも20m秒を守る必要がある。これが乱れると音声の品質低下、あるいは再生されないといった問題が発生する。この問題は割とハマるので注意。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==設定==&lt;br /&gt;
AsteriskからWebsocketに対して発信する場合の例。&amp;lt;br&amp;gt;&lt;br /&gt;
websocket_client.conf に以下のように記述する。&amp;quot;ws-connection1&amp;quot;が識別名。&lt;br /&gt;
 [ws-connection1]&lt;br /&gt;
 type = websocket_client&lt;br /&gt;
 uri = ws://127.0.0.1:8765&lt;br /&gt;
 protocols = media&lt;br /&gt;
 connection_type = per_call_config&lt;br /&gt;
 connection_timeout = 500&lt;br /&gt;
 reconnect_interval = 500&lt;br /&gt;
 reconnect_attempts = 5&lt;br /&gt;
 tls_enabled = no&lt;br /&gt;
websocket_client.conf を変更した場合には CLI から module reload res_websocket_client.so を実行すると設定が反映される。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Websocketに対して発信する場合には以下のように書く&lt;br /&gt;
 exten =&amp;gt; 9805,1,NoOp&lt;br /&gt;
 exten =&amp;gt; 9805,n,Dial(Websocket/ws-connection1/c(slin16))&lt;br /&gt;
 exten =&amp;gt; 9805,n,Hangup&lt;br /&gt;
テクノロジにWebsocket、/の後に識別名、その後にCODECを指定。c(slin16)はCODECにslin16(16kHzサンプリング 16bit LEのリニアPCM)の意味。CODECはチャネルで指定できるものが使えるが、Websocketのアプリケーション側で解釈できるものを使うこと。&amp;lt;br&amp;gt;&lt;br /&gt;
なお、AudioSocketではslin(8kHz 16bit LE)しか使えないが、Websocketではslin16の16kHzが使える。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Asteriskを着信側に使う場合はちょっと面倒なので省略。使い勝手はあまりよくない。&lt;br /&gt;
==Websocket側サンプルコード==&lt;br /&gt;
Websocketで待ち受け、ALSAデバイスで通話するサンプル。&amp;lt;br&amp;gt;&lt;br /&gt;
https://github.com/takao-t/asterisk-experimental/blob/main/websokect/ws_audio_server.py&amp;lt;br&amp;gt;&lt;br /&gt;
Websocketで待ち受け、音声をエコーバックするサンプル。&amp;lt;br&amp;gt;&lt;br /&gt;
https://github.com/takao-t/asterisk-experimental/blob/main/websokect/ws_echo.py&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
AsteriskのWebsocketチャネルではバイナリ(音声)データとテキストをサポートしている。テキストデータではステータスやコマンド等をやりとりできるので、サンプルコードに入れてあるが、この挙動(ANSWER)は今のところ効かない。Asterisk側の問題ではないかと思われる。&amp;lt;br&amp;gt;&lt;br /&gt;
Dial時オプションに&#039;n&#039;を付けるとAuto Answerしないとドキュメントに書かれているものの、Dial(Websocket/ws-connection1/c(slin16)n) のように書いてもAnswerしてしまうので、サンプルコード中の&amp;quot;ANSWER&amp;quot;送信は実際には効かないが、コマンド送りの例として残してある。&lt;br /&gt;
&lt;br /&gt;
==バッファリングモード==&lt;br /&gt;
20m秒のペーシングが行えない場合には、Asteriskのバッファを使う手段が使える。この場合、以下の手順で送信する(Websocket-&amp;gt;Asterisk)。&lt;br /&gt;
 WS-&amp;gt;Asterisk&lt;br /&gt;
  TEXTでSTART_MEDIA_BUFFERINGを送信&lt;br /&gt;
 Asteriskがバッファリング開始&lt;br /&gt;
  WS-&amp;gt;Asteriskに音声データ送信&lt;br /&gt;
 Asterisk-&amp;gt;WS&lt;br /&gt;
  バッファが9割になるとXOFF送出&lt;br /&gt;
  WS-&amp;gt;Asteriskは送出を停止&lt;br /&gt;
 Asterisk-&amp;gt;WS&lt;br /&gt;
  バッファが減ったらXON送出&lt;br /&gt;
  Asterisk-&amp;gt;WSは送出を再開&lt;br /&gt;
バッファリングモードのサンプルコード&lt;br /&gt;
:https://github.com/takao-t/asterisk-experimental/blob/main/websokect/ws_buffer_test.py&lt;br /&gt;
使用例としてはAIが生成した音声ファイルを送り付けて再生する場合など。基本XON/XOFFに従って制御すれば大丈夫そうである。&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12538</id>
		<title>Asterisk chan websocket</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12538"/>
		<updated>2025-10-22T04:51:00Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* バッファリングモード */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[カテゴリ:Asterisk]]&lt;br /&gt;
[[カテゴリ:websocket]]&lt;br /&gt;
&lt;br /&gt;
Asteriskの新しいチャネルとしてWebsocketチャネルが追加された。&amp;lt;br&amp;gt;&lt;br /&gt;
使用可能なバージョンは 23.0.0,22.6,0, 21.11.0, 20.16.0 のそれぞれ以降のバージョン。メジャーバージョンによる追加ではなく、マイナーバージョンの途中から追加されているので注意。&amp;lt;br&amp;gt;&lt;br /&gt;
従来からあるPjSIPのws/wssではなく、チャネルドライバとしてのWebsocket。&lt;br /&gt;
:https://docs.asterisk.org/Configuration/Channel-Drivers/WebSocket/?h=chan_websocket&lt;br /&gt;
==関連するモジュール==&lt;br /&gt;
chan_websocket&amp;lt;br&amp;gt;&lt;br /&gt;
res_websocket_client&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 *CLI&amp;gt; core show channeltype WebSocket&lt;br /&gt;
 -- Info about channel driver: WebSocket --&lt;br /&gt;
   Device State: no&lt;br /&gt;
 Presence State: no&lt;br /&gt;
     Indication: no&lt;br /&gt;
      Transfer : no&lt;br /&gt;
   Capabilities:  (codec2|g723|ulaw|alaw|gsm|g726|g726aal2|adpcm|slin|slin12|slin16|slin24|slin32|slin44|slin48|slin96|slin192|lpc10|g729|speex|speex16|speex32|ilbc|g722|siren7|siren14|g719|opus|jpeg|png|h261|h263|h263p|h264|h265|mpeg4|vp8|vp9|red|t140|t38|silk8|silk12|silk16|silk24)&lt;br /&gt;
    Digit Begin: no&lt;br /&gt;
      Digit End: yes&lt;br /&gt;
     Send HTML : no&lt;br /&gt;
  Image Support: no&lt;br /&gt;
   Text Support: no&lt;br /&gt;
 *CLI&amp;gt; module show like res_websocket_client.so&lt;br /&gt;
 Module                         Description                              Use Count  Status      Support Level&lt;br /&gt;
 res_websocket_client.so        WebSocket Client Support                 2          Running              core&lt;br /&gt;
&lt;br /&gt;
==注意点==&lt;br /&gt;
Websocket接続ではあるものの、リアルタイムの場合には、RTPと同様に20m秒のペーシング(1フレームあたり20m秒)の送出間隔を守ること。AsteriskからWebsocketへの送出はこの20m秒フレームで送られるが、外部からAsteriskに送りつける場合にも20m秒を守る必要がある。これが乱れると音声の品質低下、あるいは再生されないといった問題が発生する。この問題は割とハマるので注意。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==設定==&lt;br /&gt;
AsteriskからWebsocketに対して発信する場合の例。&amp;lt;br&amp;gt;&lt;br /&gt;
websocket_client.conf に以下のように記述する。&amp;quot;ws-connection1&amp;quot;が識別名。&lt;br /&gt;
 [ws-connection1]&lt;br /&gt;
 type = websocket_client&lt;br /&gt;
 uri = ws://127.0.0.1:8765&lt;br /&gt;
 protocols = media&lt;br /&gt;
 connection_type = per_call_config&lt;br /&gt;
 connection_timeout = 500&lt;br /&gt;
 reconnect_interval = 500&lt;br /&gt;
 reconnect_attempts = 5&lt;br /&gt;
 tls_enabled = no&lt;br /&gt;
websocket_client.conf を変更した場合には CLI から module reload res_websocket_client.so を実行すると設定が反映される。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Websocketに対して発信する場合には以下のように書く&lt;br /&gt;
 exten =&amp;gt; 9805,1,NoOp&lt;br /&gt;
 exten =&amp;gt; 9805,n,Dial(Websocket/ws-connection1/c(slin16))&lt;br /&gt;
 exten =&amp;gt; 9805,n,Hangup&lt;br /&gt;
テクノロジにWebsocket、/の後に識別名、その後にCODECを指定。c(slin16)はCODECにslin16(16kHzサンプリング 16bit LEのリニアPCM)の意味。CODECはチャネルで指定できるものが使えるが、Websocketのアプリケーション側で解釈できるものを使うこと。&amp;lt;br&amp;gt;&lt;br /&gt;
なお、AudioSocketではslin(8kHz 16bit LE)しか使えないが、Websocketではslin16の16kHzが使える。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Asteriskを着信側に使う場合はちょっと面倒なので省略。使い勝手はあまりよくない。&lt;br /&gt;
==Websocket側サンプルコード==&lt;br /&gt;
https://github.com/takao-t/asterisk-experimental/blob/main/websokect/ws_audio_server.py&amp;lt;br&amp;gt;&lt;br /&gt;
Websocketで待ち受け、ALSAデバイスで通話するサンプル。&amp;lt;br&amp;gt;&lt;br /&gt;
AsteriskのWebsocketチャネルではバイナリ(音声)データとテキストをサポートしている。テキストデータではステータスやコマンド等をやりとりできるので、サンプルコードに入れてあるが、この挙動(ANSWER)は今のところ効かない。Asterisk側の問題ではないかと思われる。&amp;lt;br&amp;gt;&lt;br /&gt;
Dial時オプションに&#039;n&#039;を付けるとAuto Answerしないとドキュメントに書かれているものの、Dial(Websocket/ws-connection1/c(slin16)n) のように書いてもAnswerしてしまうので、サンプルコード中の&amp;quot;ANSWER&amp;quot;送信は実際には効かないが、コマンド送りの例として残してある。&lt;br /&gt;
==バッファリングモード==&lt;br /&gt;
20m秒のペーシングが行えない場合には、Asteriskのバッファを使う手段が使える。この場合、以下の手順で送信する(Websocket-&amp;gt;Asterisk)。&lt;br /&gt;
 WS-&amp;gt;Asterisk&lt;br /&gt;
  TEXTでSTART_MEDIA_BUFFERINGを送信&lt;br /&gt;
 Asteriskがバッファリング開始&lt;br /&gt;
  WS-&amp;gt;Asteriskに音声データ送信&lt;br /&gt;
 Asterisk-&amp;gt;WS&lt;br /&gt;
  バッファが9割になるとXOFF送出&lt;br /&gt;
  WS-&amp;gt;Asteriskは送出を停止&lt;br /&gt;
 Asterisk-&amp;gt;WS&lt;br /&gt;
  バッファが減ったらXON送出&lt;br /&gt;
  Asterisk-&amp;gt;WSは送出を再開&lt;br /&gt;
バッファリングモードのサンプルコード&lt;br /&gt;
:https://github.com/takao-t/asterisk-experimental/blob/main/websokect/ws_buffer_test.py&lt;br /&gt;
使用例としてはAIが生成した音声ファイルを送り付けて再生する場合など。基本XON/XOFFに従って制御すれば大丈夫そうである。&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12537</id>
		<title>Asterisk chan websocket</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12537"/>
		<updated>2025-10-22T04:43:46Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* バッファリングモード */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[カテゴリ:Asterisk]]&lt;br /&gt;
[[カテゴリ:websocket]]&lt;br /&gt;
&lt;br /&gt;
Asteriskの新しいチャネルとしてWebsocketチャネルが追加された。&amp;lt;br&amp;gt;&lt;br /&gt;
使用可能なバージョンは 23.0.0,22.6,0, 21.11.0, 20.16.0 のそれぞれ以降のバージョン。メジャーバージョンによる追加ではなく、マイナーバージョンの途中から追加されているので注意。&amp;lt;br&amp;gt;&lt;br /&gt;
従来からあるPjSIPのws/wssではなく、チャネルドライバとしてのWebsocket。&lt;br /&gt;
:https://docs.asterisk.org/Configuration/Channel-Drivers/WebSocket/?h=chan_websocket&lt;br /&gt;
==関連するモジュール==&lt;br /&gt;
chan_websocket&amp;lt;br&amp;gt;&lt;br /&gt;
res_websocket_client&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 *CLI&amp;gt; core show channeltype WebSocket&lt;br /&gt;
 -- Info about channel driver: WebSocket --&lt;br /&gt;
   Device State: no&lt;br /&gt;
 Presence State: no&lt;br /&gt;
     Indication: no&lt;br /&gt;
      Transfer : no&lt;br /&gt;
   Capabilities:  (codec2|g723|ulaw|alaw|gsm|g726|g726aal2|adpcm|slin|slin12|slin16|slin24|slin32|slin44|slin48|slin96|slin192|lpc10|g729|speex|speex16|speex32|ilbc|g722|siren7|siren14|g719|opus|jpeg|png|h261|h263|h263p|h264|h265|mpeg4|vp8|vp9|red|t140|t38|silk8|silk12|silk16|silk24)&lt;br /&gt;
    Digit Begin: no&lt;br /&gt;
      Digit End: yes&lt;br /&gt;
     Send HTML : no&lt;br /&gt;
  Image Support: no&lt;br /&gt;
   Text Support: no&lt;br /&gt;
 *CLI&amp;gt; module show like res_websocket_client.so&lt;br /&gt;
 Module                         Description                              Use Count  Status      Support Level&lt;br /&gt;
 res_websocket_client.so        WebSocket Client Support                 2          Running              core&lt;br /&gt;
&lt;br /&gt;
==注意点==&lt;br /&gt;
Websocket接続ではあるものの、リアルタイムの場合には、RTPと同様に20m秒のペーシング(1フレームあたり20m秒)の送出間隔を守ること。AsteriskからWebsocketへの送出はこの20m秒フレームで送られるが、外部からAsteriskに送りつける場合にも20m秒を守る必要がある。これが乱れると音声の品質低下、あるいは再生されないといった問題が発生する。この問題は割とハマるので注意。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==設定==&lt;br /&gt;
AsteriskからWebsocketに対して発信する場合の例。&amp;lt;br&amp;gt;&lt;br /&gt;
websocket_client.conf に以下のように記述する。&amp;quot;ws-connection1&amp;quot;が識別名。&lt;br /&gt;
 [ws-connection1]&lt;br /&gt;
 type = websocket_client&lt;br /&gt;
 uri = ws://127.0.0.1:8765&lt;br /&gt;
 protocols = media&lt;br /&gt;
 connection_type = per_call_config&lt;br /&gt;
 connection_timeout = 500&lt;br /&gt;
 reconnect_interval = 500&lt;br /&gt;
 reconnect_attempts = 5&lt;br /&gt;
 tls_enabled = no&lt;br /&gt;
websocket_client.conf を変更した場合には CLI から module reload res_websocket_client.so を実行すると設定が反映される。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Websocketに対して発信する場合には以下のように書く&lt;br /&gt;
 exten =&amp;gt; 9805,1,NoOp&lt;br /&gt;
 exten =&amp;gt; 9805,n,Dial(Websocket/ws-connection1/c(slin16))&lt;br /&gt;
 exten =&amp;gt; 9805,n,Hangup&lt;br /&gt;
テクノロジにWebsocket、/の後に識別名、その後にCODECを指定。c(slin16)はCODECにslin16(16kHzサンプリング 16bit LEのリニアPCM)の意味。CODECはチャネルで指定できるものが使えるが、Websocketのアプリケーション側で解釈できるものを使うこと。&amp;lt;br&amp;gt;&lt;br /&gt;
なお、AudioSocketではslin(8kHz 16bit LE)しか使えないが、Websocketではslin16の16kHzが使える。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Asteriskを着信側に使う場合はちょっと面倒なので省略。使い勝手はあまりよくない。&lt;br /&gt;
==Websocket側サンプルコード==&lt;br /&gt;
https://github.com/takao-t/asterisk-experimental/blob/main/websokect/ws_audio_server.py&amp;lt;br&amp;gt;&lt;br /&gt;
Websocketで待ち受け、ALSAデバイスで通話するサンプル。&amp;lt;br&amp;gt;&lt;br /&gt;
AsteriskのWebsocketチャネルではバイナリ(音声)データとテキストをサポートしている。テキストデータではステータスやコマンド等をやりとりできるので、サンプルコードに入れてあるが、この挙動(ANSWER)は今のところ効かない。Asterisk側の問題ではないかと思われる。&amp;lt;br&amp;gt;&lt;br /&gt;
Dial時オプションに&#039;n&#039;を付けるとAuto Answerしないとドキュメントに書かれているものの、Dial(Websocket/ws-connection1/c(slin16)n) のように書いてもAnswerしてしまうので、サンプルコード中の&amp;quot;ANSWER&amp;quot;送信は実際には効かないが、コマンド送りの例として残してある。&lt;br /&gt;
==バッファリングモード==&lt;br /&gt;
20m秒のペーシングが行えない場合には、Asteriskのバッファを使う手段が使える。この場合、以下の手順で送信する(Websocket-&amp;gt;Asterisk)。&lt;br /&gt;
 WS-&amp;gt;Asterisk&lt;br /&gt;
  TEXTでSTART_MEDIA_BUFFERINGを送信&lt;br /&gt;
 Asteriskがバッファリング開始&lt;br /&gt;
  WS-&amp;gt;Asteriskに音声データ送信&lt;br /&gt;
 Asterisk-&amp;gt;WS&lt;br /&gt;
  バッファが9割になるとXOFF送出&lt;br /&gt;
  WS-&amp;gt;Asteriskは送出を停止&lt;br /&gt;
 Asterisk-&amp;gt;WS&lt;br /&gt;
  バッファが減ったらXON送出&lt;br /&gt;
  Asterisk-&amp;gt;WSは送出を再開&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12536</id>
		<title>Asterisk chan websocket</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12536"/>
		<updated>2025-10-22T04:43:30Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* Websocket側サンプルコード */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[カテゴリ:Asterisk]]&lt;br /&gt;
[[カテゴリ:websocket]]&lt;br /&gt;
&lt;br /&gt;
Asteriskの新しいチャネルとしてWebsocketチャネルが追加された。&amp;lt;br&amp;gt;&lt;br /&gt;
使用可能なバージョンは 23.0.0,22.6,0, 21.11.0, 20.16.0 のそれぞれ以降のバージョン。メジャーバージョンによる追加ではなく、マイナーバージョンの途中から追加されているので注意。&amp;lt;br&amp;gt;&lt;br /&gt;
従来からあるPjSIPのws/wssではなく、チャネルドライバとしてのWebsocket。&lt;br /&gt;
:https://docs.asterisk.org/Configuration/Channel-Drivers/WebSocket/?h=chan_websocket&lt;br /&gt;
==関連するモジュール==&lt;br /&gt;
chan_websocket&amp;lt;br&amp;gt;&lt;br /&gt;
res_websocket_client&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 *CLI&amp;gt; core show channeltype WebSocket&lt;br /&gt;
 -- Info about channel driver: WebSocket --&lt;br /&gt;
   Device State: no&lt;br /&gt;
 Presence State: no&lt;br /&gt;
     Indication: no&lt;br /&gt;
      Transfer : no&lt;br /&gt;
   Capabilities:  (codec2|g723|ulaw|alaw|gsm|g726|g726aal2|adpcm|slin|slin12|slin16|slin24|slin32|slin44|slin48|slin96|slin192|lpc10|g729|speex|speex16|speex32|ilbc|g722|siren7|siren14|g719|opus|jpeg|png|h261|h263|h263p|h264|h265|mpeg4|vp8|vp9|red|t140|t38|silk8|silk12|silk16|silk24)&lt;br /&gt;
    Digit Begin: no&lt;br /&gt;
      Digit End: yes&lt;br /&gt;
     Send HTML : no&lt;br /&gt;
  Image Support: no&lt;br /&gt;
   Text Support: no&lt;br /&gt;
 *CLI&amp;gt; module show like res_websocket_client.so&lt;br /&gt;
 Module                         Description                              Use Count  Status      Support Level&lt;br /&gt;
 res_websocket_client.so        WebSocket Client Support                 2          Running              core&lt;br /&gt;
&lt;br /&gt;
==注意点==&lt;br /&gt;
Websocket接続ではあるものの、リアルタイムの場合には、RTPと同様に20m秒のペーシング(1フレームあたり20m秒)の送出間隔を守ること。AsteriskからWebsocketへの送出はこの20m秒フレームで送られるが、外部からAsteriskに送りつける場合にも20m秒を守る必要がある。これが乱れると音声の品質低下、あるいは再生されないといった問題が発生する。この問題は割とハマるので注意。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==設定==&lt;br /&gt;
AsteriskからWebsocketに対して発信する場合の例。&amp;lt;br&amp;gt;&lt;br /&gt;
websocket_client.conf に以下のように記述する。&amp;quot;ws-connection1&amp;quot;が識別名。&lt;br /&gt;
 [ws-connection1]&lt;br /&gt;
 type = websocket_client&lt;br /&gt;
 uri = ws://127.0.0.1:8765&lt;br /&gt;
 protocols = media&lt;br /&gt;
 connection_type = per_call_config&lt;br /&gt;
 connection_timeout = 500&lt;br /&gt;
 reconnect_interval = 500&lt;br /&gt;
 reconnect_attempts = 5&lt;br /&gt;
 tls_enabled = no&lt;br /&gt;
websocket_client.conf を変更した場合には CLI から module reload res_websocket_client.so を実行すると設定が反映される。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Websocketに対して発信する場合には以下のように書く&lt;br /&gt;
 exten =&amp;gt; 9805,1,NoOp&lt;br /&gt;
 exten =&amp;gt; 9805,n,Dial(Websocket/ws-connection1/c(slin16))&lt;br /&gt;
 exten =&amp;gt; 9805,n,Hangup&lt;br /&gt;
テクノロジにWebsocket、/の後に識別名、その後にCODECを指定。c(slin16)はCODECにslin16(16kHzサンプリング 16bit LEのリニアPCM)の意味。CODECはチャネルで指定できるものが使えるが、Websocketのアプリケーション側で解釈できるものを使うこと。&amp;lt;br&amp;gt;&lt;br /&gt;
なお、AudioSocketではslin(8kHz 16bit LE)しか使えないが、Websocketではslin16の16kHzが使える。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Asteriskを着信側に使う場合はちょっと面倒なので省略。使い勝手はあまりよくない。&lt;br /&gt;
==Websocket側サンプルコード==&lt;br /&gt;
https://github.com/takao-t/asterisk-experimental/blob/main/websokect/ws_audio_server.py&amp;lt;br&amp;gt;&lt;br /&gt;
Websocketで待ち受け、ALSAデバイスで通話するサンプル。&amp;lt;br&amp;gt;&lt;br /&gt;
AsteriskのWebsocketチャネルではバイナリ(音声)データとテキストをサポートしている。テキストデータではステータスやコマンド等をやりとりできるので、サンプルコードに入れてあるが、この挙動(ANSWER)は今のところ効かない。Asterisk側の問題ではないかと思われる。&amp;lt;br&amp;gt;&lt;br /&gt;
Dial時オプションに&#039;n&#039;を付けるとAuto Answerしないとドキュメントに書かれているものの、Dial(Websocket/ws-connection1/c(slin16)n) のように書いてもAnswerしてしまうので、サンプルコード中の&amp;quot;ANSWER&amp;quot;送信は実際には効かないが、コマンド送りの例として残してある。&lt;br /&gt;
==バッファリングモード==&lt;br /&gt;
20m秒のペーシングが行えない場合には、Asteriskのバッファを使う手段が使える。この場合、以下の手順で送信する(Websocket-&amp;gt;Asterisk)。&lt;br /&gt;
 WS-&amp;gt;Asterisk&lt;br /&gt;
  TEXTでSTART_MEDIA_BUFFERINGを送信&lt;br /&gt;
 Asteriskがバッファリング開始&lt;br /&gt;
  WS-&amp;gt;Asteriskに音声データ送信&lt;br /&gt;
 Asterisk-&amp;gt;WS&lt;br /&gt;
  バッファが9割になるとXOFF送出&lt;br /&gt;
  WS-&amp;gt;Asteriskは送出を停止&lt;br /&gt;
 Asterisk-&amp;gt;WS&lt;br /&gt;
  バッファが減ったらXON送出&lt;br /&gt;
　Asterisk-&amp;gt;WSは送出を再開&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12535</id>
		<title>Asterisk chan websocket</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12535"/>
		<updated>2025-10-22T04:37:35Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* 注意点 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[カテゴリ:Asterisk]]&lt;br /&gt;
[[カテゴリ:websocket]]&lt;br /&gt;
&lt;br /&gt;
Asteriskの新しいチャネルとしてWebsocketチャネルが追加された。&amp;lt;br&amp;gt;&lt;br /&gt;
使用可能なバージョンは 23.0.0,22.6,0, 21.11.0, 20.16.0 のそれぞれ以降のバージョン。メジャーバージョンによる追加ではなく、マイナーバージョンの途中から追加されているので注意。&amp;lt;br&amp;gt;&lt;br /&gt;
従来からあるPjSIPのws/wssではなく、チャネルドライバとしてのWebsocket。&lt;br /&gt;
:https://docs.asterisk.org/Configuration/Channel-Drivers/WebSocket/?h=chan_websocket&lt;br /&gt;
==関連するモジュール==&lt;br /&gt;
chan_websocket&amp;lt;br&amp;gt;&lt;br /&gt;
res_websocket_client&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 *CLI&amp;gt; core show channeltype WebSocket&lt;br /&gt;
 -- Info about channel driver: WebSocket --&lt;br /&gt;
   Device State: no&lt;br /&gt;
 Presence State: no&lt;br /&gt;
     Indication: no&lt;br /&gt;
      Transfer : no&lt;br /&gt;
   Capabilities:  (codec2|g723|ulaw|alaw|gsm|g726|g726aal2|adpcm|slin|slin12|slin16|slin24|slin32|slin44|slin48|slin96|slin192|lpc10|g729|speex|speex16|speex32|ilbc|g722|siren7|siren14|g719|opus|jpeg|png|h261|h263|h263p|h264|h265|mpeg4|vp8|vp9|red|t140|t38|silk8|silk12|silk16|silk24)&lt;br /&gt;
    Digit Begin: no&lt;br /&gt;
      Digit End: yes&lt;br /&gt;
     Send HTML : no&lt;br /&gt;
  Image Support: no&lt;br /&gt;
   Text Support: no&lt;br /&gt;
 *CLI&amp;gt; module show like res_websocket_client.so&lt;br /&gt;
 Module                         Description                              Use Count  Status      Support Level&lt;br /&gt;
 res_websocket_client.so        WebSocket Client Support                 2          Running              core&lt;br /&gt;
&lt;br /&gt;
==注意点==&lt;br /&gt;
Websocket接続ではあるものの、リアルタイムの場合には、RTPと同様に20m秒のペーシング(1フレームあたり20m秒)の送出間隔を守ること。AsteriskからWebsocketへの送出はこの20m秒フレームで送られるが、外部からAsteriskに送りつける場合にも20m秒を守る必要がある。これが乱れると音声の品質低下、あるいは再生されないといった問題が発生する。この問題は割とハマるので注意。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==設定==&lt;br /&gt;
AsteriskからWebsocketに対して発信する場合の例。&amp;lt;br&amp;gt;&lt;br /&gt;
websocket_client.conf に以下のように記述する。&amp;quot;ws-connection1&amp;quot;が識別名。&lt;br /&gt;
 [ws-connection1]&lt;br /&gt;
 type = websocket_client&lt;br /&gt;
 uri = ws://127.0.0.1:8765&lt;br /&gt;
 protocols = media&lt;br /&gt;
 connection_type = per_call_config&lt;br /&gt;
 connection_timeout = 500&lt;br /&gt;
 reconnect_interval = 500&lt;br /&gt;
 reconnect_attempts = 5&lt;br /&gt;
 tls_enabled = no&lt;br /&gt;
websocket_client.conf を変更した場合には CLI から module reload res_websocket_client.so を実行すると設定が反映される。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Websocketに対して発信する場合には以下のように書く&lt;br /&gt;
 exten =&amp;gt; 9805,1,NoOp&lt;br /&gt;
 exten =&amp;gt; 9805,n,Dial(Websocket/ws-connection1/c(slin16))&lt;br /&gt;
 exten =&amp;gt; 9805,n,Hangup&lt;br /&gt;
テクノロジにWebsocket、/の後に識別名、その後にCODECを指定。c(slin16)はCODECにslin16(16kHzサンプリング 16bit LEのリニアPCM)の意味。CODECはチャネルで指定できるものが使えるが、Websocketのアプリケーション側で解釈できるものを使うこと。&amp;lt;br&amp;gt;&lt;br /&gt;
なお、AudioSocketではslin(8kHz 16bit LE)しか使えないが、Websocketではslin16の16kHzが使える。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Asteriskを着信側に使う場合はちょっと面倒なので省略。使い勝手はあまりよくない。&lt;br /&gt;
==Websocket側サンプルコード==&lt;br /&gt;
https://github.com/takao-t/asterisk-experimental/blob/main/websokect/ws_audio_server.py&amp;lt;br&amp;gt;&lt;br /&gt;
Websocketで待ち受け、ALSAデバイスで通話するサンプル。&amp;lt;br&amp;gt;&lt;br /&gt;
AsteriskのWebsocketチャネルではバイナリ(音声)データとテキストをサポートしている。テキストデータではステータスやコマンド等をやりとりできるので、サンプルコードに入れてあるが、この挙動(ANSWER)は今のところ効かない。Asterisk側の問題ではないかと思われる。&amp;lt;br&amp;gt;&lt;br /&gt;
Dial時オプションに&#039;n&#039;を付けるとAuto Answerしないとドキュメントに書かれているものの、Dial(Websocket/ws-connection1/c(slin16)n) のように書いてもAnswerしてしまうので、サンプルコード中の&amp;quot;ANSWER&amp;quot;送信は実際には効かないが、コマンド送りの例として残してある。&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12534</id>
		<title>Asterisk chan websocket</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12534"/>
		<updated>2025-10-22T03:06:47Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* 注意点 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[カテゴリ:Asterisk]]&lt;br /&gt;
[[カテゴリ:websocket]]&lt;br /&gt;
&lt;br /&gt;
Asteriskの新しいチャネルとしてWebsocketチャネルが追加された。&amp;lt;br&amp;gt;&lt;br /&gt;
使用可能なバージョンは 23.0.0,22.6,0, 21.11.0, 20.16.0 のそれぞれ以降のバージョン。メジャーバージョンによる追加ではなく、マイナーバージョンの途中から追加されているので注意。&amp;lt;br&amp;gt;&lt;br /&gt;
従来からあるPjSIPのws/wssではなく、チャネルドライバとしてのWebsocket。&lt;br /&gt;
:https://docs.asterisk.org/Configuration/Channel-Drivers/WebSocket/?h=chan_websocket&lt;br /&gt;
==関連するモジュール==&lt;br /&gt;
chan_websocket&amp;lt;br&amp;gt;&lt;br /&gt;
res_websocket_client&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 *CLI&amp;gt; core show channeltype WebSocket&lt;br /&gt;
 -- Info about channel driver: WebSocket --&lt;br /&gt;
   Device State: no&lt;br /&gt;
 Presence State: no&lt;br /&gt;
     Indication: no&lt;br /&gt;
      Transfer : no&lt;br /&gt;
   Capabilities:  (codec2|g723|ulaw|alaw|gsm|g726|g726aal2|adpcm|slin|slin12|slin16|slin24|slin32|slin44|slin48|slin96|slin192|lpc10|g729|speex|speex16|speex32|ilbc|g722|siren7|siren14|g719|opus|jpeg|png|h261|h263|h263p|h264|h265|mpeg4|vp8|vp9|red|t140|t38|silk8|silk12|silk16|silk24)&lt;br /&gt;
    Digit Begin: no&lt;br /&gt;
      Digit End: yes&lt;br /&gt;
     Send HTML : no&lt;br /&gt;
  Image Support: no&lt;br /&gt;
   Text Support: no&lt;br /&gt;
 *CLI&amp;gt; module show like res_websocket_client.so&lt;br /&gt;
 Module                         Description                              Use Count  Status      Support Level&lt;br /&gt;
 res_websocket_client.so        WebSocket Client Support                 2          Running              core&lt;br /&gt;
&lt;br /&gt;
==注意点==&lt;br /&gt;
Websocket接続ではあるものの、RTPと同様に20m秒のペーシング(1フレームあたり20m秒)の送出間隔を守ること。AsteriskからWebsocketへの送出はこの20m秒フレームで送られるが、外部からAsteriskに送りつける場合にも20m秒を守る必要がある。これが乱れると音声の品質低下、あるいは再生されないといった問題が発生する。この問題は割とハマるので注意。&amp;lt;br&amp;gt;&lt;br /&gt;
バッファリング有の場合にはこれを守らなくてもかまわないような記述がみられるが、未試験。&lt;br /&gt;
&lt;br /&gt;
==設定==&lt;br /&gt;
AsteriskからWebsocketに対して発信する場合の例。&amp;lt;br&amp;gt;&lt;br /&gt;
websocket_client.conf に以下のように記述する。&amp;quot;ws-connection1&amp;quot;が識別名。&lt;br /&gt;
 [ws-connection1]&lt;br /&gt;
 type = websocket_client&lt;br /&gt;
 uri = ws://127.0.0.1:8765&lt;br /&gt;
 protocols = media&lt;br /&gt;
 connection_type = per_call_config&lt;br /&gt;
 connection_timeout = 500&lt;br /&gt;
 reconnect_interval = 500&lt;br /&gt;
 reconnect_attempts = 5&lt;br /&gt;
 tls_enabled = no&lt;br /&gt;
websocket_client.conf を変更した場合には CLI から module reload res_websocket_client.so を実行すると設定が反映される。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Websocketに対して発信する場合には以下のように書く&lt;br /&gt;
 exten =&amp;gt; 9805,1,NoOp&lt;br /&gt;
 exten =&amp;gt; 9805,n,Dial(Websocket/ws-connection1/c(slin16))&lt;br /&gt;
 exten =&amp;gt; 9805,n,Hangup&lt;br /&gt;
テクノロジにWebsocket、/の後に識別名、その後にCODECを指定。c(slin16)はCODECにslin16(16kHzサンプリング 16bit LEのリニアPCM)の意味。CODECはチャネルで指定できるものが使えるが、Websocketのアプリケーション側で解釈できるものを使うこと。&amp;lt;br&amp;gt;&lt;br /&gt;
なお、AudioSocketではslin(8kHz 16bit LE)しか使えないが、Websocketではslin16の16kHzが使える。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Asteriskを着信側に使う場合はちょっと面倒なので省略。使い勝手はあまりよくない。&lt;br /&gt;
==Websocket側サンプルコード==&lt;br /&gt;
https://github.com/takao-t/asterisk-experimental/blob/main/websokect/ws_audio_server.py&amp;lt;br&amp;gt;&lt;br /&gt;
Websocketで待ち受け、ALSAデバイスで通話するサンプル。&amp;lt;br&amp;gt;&lt;br /&gt;
AsteriskのWebsocketチャネルではバイナリ(音声)データとテキストをサポートしている。テキストデータではステータスやコマンド等をやりとりできるので、サンプルコードに入れてあるが、この挙動(ANSWER)は今のところ効かない。Asterisk側の問題ではないかと思われる。&amp;lt;br&amp;gt;&lt;br /&gt;
Dial時オプションに&#039;n&#039;を付けるとAuto Answerしないとドキュメントに書かれているものの、Dial(Websocket/ws-connection1/c(slin16)n) のように書いてもAnswerしてしまうので、サンプルコード中の&amp;quot;ANSWER&amp;quot;送信は実際には効かないが、コマンド送りの例として残してある。&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk&amp;diff=12533</id>
		<title>Asterisk</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk&amp;diff=12533"/>
		<updated>2025-10-22T02:52:21Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* 対応するプロトコル */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Asterisk]]&lt;br /&gt;
[[Category:VoIP]]&lt;br /&gt;
==Asterisk: Open Source Communication Framework== &lt;br /&gt;
AsteriskはオープンソースのPBXでDigiumのMark Spencerによって始められました。&amp;lt;br&amp;gt;&lt;br /&gt;
DigiumはSangomaによって買収されたため、現在はSangoma傘下です。→ [[Sangoma Digium]]&amp;lt;br&amp;gt;&lt;br /&gt;
PBXというと会社内の電話やビジネスホン等を思い浮かべるのですが、Asteriskが使用されるのは、いわゆる電話の分野だけではありません。通話を繋いだり切ったり(呼制御)、通話を必要とするサービスは旧来の電話だけで使われるわけではありません。様々な音声サービスに使用できるのがAsteriskです。このため電話交換機からインターネット上の音声サービスまで様々に使用されているのがAsteriskです。&amp;lt;br&amp;gt;&lt;br /&gt;
日本でAsteriskが広く知られるようになったのは2005年頃からです。&amp;lt;br&amp;gt;&lt;br /&gt;
===公式ドキュメント===&lt;br /&gt;
https://docs.asterisk.org/&lt;br /&gt;
===対応するプロトコル===&lt;br /&gt;
*IP系&lt;br /&gt;
:[[Asterisk pjsip | SIP]] (プロトコルスタックは2種類、chan_sipとPjSIP。chan_sipは廃止:Asterisk 21～)&lt;br /&gt;
: 音声交換だけでなくSIP MESSAGEを使うことでテキストベースのメッセージ交換にも使えます。[[SIPメッセージング]]&lt;br /&gt;
:H.323&lt;br /&gt;
:MOTIF&lt;br /&gt;
:UNISTIM&lt;br /&gt;
:IAX(Inter Asterisk eXchange)&lt;br /&gt;
:&amp;lt;s&amp;gt;MGCP&amp;lt;/s&amp;gt;(廃止:Asterisk 21～)&lt;br /&gt;
:&amp;lt;s&amp;gt;Skinny(Cisco)&amp;lt;/s&amp;gt; (廃止:Asterisk 21～)&lt;br /&gt;
:AudioSocket(シンプルなTCPベースの音声) (Asterisk 18～)&lt;br /&gt;
:[[Asterisk_chan_websocket | Websocket]] (Asterisk 22.6～、PjSIPのws/wssではなくchan_websocketが実装された)&lt;br /&gt;
::22.6.0だけでなく 23.0.0, 21.11.0, 20.16.0　にも実装&lt;br /&gt;
*レガシー系&lt;br /&gt;
:BRI/PRI(ISDNボード必要)&lt;br /&gt;
:アナログ(アナログボード必要)&lt;br /&gt;
:ゲートウェイを使用することでSIP-アナログ、SIP-ISDNも、もちろん接続できます&lt;br /&gt;
&lt;br /&gt;
===[[導入事例]]===&lt;br /&gt;
[[導入事例]]のページにサマリーをまとめてあります。&lt;br /&gt;
&lt;br /&gt;
==バージョン==&lt;br /&gt;
Asterisk 1.8まで&lt;br /&gt;
:偶数番号(1.0,1.2,1.4,1.6,1.8)がリリースバージョン&lt;br /&gt;
:奇数番号は開発バージョンで一般には公開されない&lt;br /&gt;
Asterisk 10以降&lt;br /&gt;
:11,13,16,18,20,22&lt;br /&gt;
::LTS(Long Term Support:長期サポートバージョン)&lt;br /&gt;
:10,12,14,15,17,19,21&lt;br /&gt;
::STD(Standard:標準サポートバージョン)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! バージョン !! リリース日(現地時間) !! サポート期限 !! セキュリティサポート期限 !! LTS&lt;br /&gt;
|-&lt;br /&gt;
| Asterisk 10 ||  ||  ||  || ✗&lt;br /&gt;
|-&lt;br /&gt;
| Asterisk 11 ||  ||  ||  || ◯&lt;br /&gt;
|-&lt;br /&gt;
| Asterisk 12 ||  ||  ||  || ✗&lt;br /&gt;
|-&lt;br /&gt;
| [[Asterisk 13]] || 2014年10月24日 || 2020年10月24日 || 2021年10月24日 || ◯&lt;br /&gt;
|-&lt;br /&gt;
| Asterisk 14 || 2016年09月26日 || 2017年09月26日 || 2018年09月26日 || ✗&lt;br /&gt;
|-&lt;br /&gt;
| Asterisk 15 || 2017年10月03日 || 2018年10月03日 || 2019年10月03日 || ✗&lt;br /&gt;
|-&lt;br /&gt;
| [[Asterisk 16]] || 2018年10月09日 || 2026年10月19日 || 2027年10月09日 || ◯&lt;br /&gt;
|-&lt;br /&gt;
| Asterisk 17 || 2019年10月28日 || 2020年10月28日 || 2021年10月28日 || ✗&lt;br /&gt;
|-&lt;br /&gt;
| [[Asterisk 18]] || 2020年10月20日 || 2024年10月20日 || 2025年10月20日 || ◯&lt;br /&gt;
|-&lt;br /&gt;
| Asterisk 19 || 2021年11月02日 || 2022年11月02日 || 2023年11月02日 || ✗&lt;br /&gt;
|-&lt;br /&gt;
| [[Asterisk 20]] || 2022年10月19日 || 2026年10月19日 || 2027年10月19日 || ◯&lt;br /&gt;
|-&lt;br /&gt;
| [[Asterisk 21]] || 2023年10月18日 || 2025年10月18日 || 2026年10月18日 || ✗&lt;br /&gt;
|-&lt;br /&gt;
| [[Asterisk 22]] || 2024年10月16日 || 2028年10月16日 || 2029年10月16日 || 〇&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Asteriskの入手とインストール==&lt;br /&gt;
Asteriskは http://www.asterisk.org から入手することができます。ソースの配布はftp/httpダウンロードの他、Githubでも行われています。https://github.com/asterisk/asterisk&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===どのバージョンをインストールすれば？===&lt;br /&gt;
現在(2025年7月)時点で安定していると思われるのはAsterisk 22です。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
基本的に&amp;quot;Standard&amp;quot;は新機能を早く試したい人向けです。なんらかのサービスで長期に渡って使う場合には&amp;quot;LTS&amp;quot;を使ってください。&amp;lt;br&amp;gt;&lt;br /&gt;
PBXの場合、一度インストールしてしまうと長期にわたって使い続けられることが多いのでLTS版をおすすめします。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
最近のAsteriskでは注意を要する点が見受けられます。それは、マイナーバージョンであっても機能追加/変更が行われることがあることです。例えば、Asterisk 20は途中でDBのスキーマ変更が入っていたり、Asterisk 22では途中からWebsocket(Channel)サポートが入ることがあったりしました。ですので、ある機能が使えない/不具合があるような場合にはマイナーバージョン(22.x.xのx.xの部分)にも注意を払ってください。&lt;br /&gt;
&lt;br /&gt;
===インストール関連情報===&lt;br /&gt;
:[[Asterisk_on_Docker]]&lt;br /&gt;
:[[Asterisk_Startup_systemd]]&lt;br /&gt;
&lt;br /&gt;
===オプションのパッケージ===&lt;br /&gt;
*[[DAHDI]](旧Zaptel)&amp;lt;br&amp;gt;&lt;br /&gt;
:Asterisk 1.4.20以降およびAsterisk 1.6からはZaptelにかわり[[DAHDI]]が使用されます。&amp;lt;br&amp;gt;&lt;br /&gt;
:アナログ、BRI/PRIのボードを使用しない場合には不要です。&lt;br /&gt;
*libpri&amp;lt;br&amp;gt;&lt;br /&gt;
:PRIを使用しなければ必要ありません。&amp;lt;br&amp;gt;&lt;br /&gt;
*OS/ディストリ依存情報&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Asteriskインストールメモ]]&amp;lt;br&amp;gt;&lt;br /&gt;
*よくわからない場合は[[謎の補助説明ページ]]もどうぞ(このページを見ても疑問が氷解するとは限りませんが) &lt;br /&gt;
:[[Asterisk 20 サンプル設定ファイル]]を使ってみてください。&amp;lt;br&amp;gt; &lt;br /&gt;
:[[extension道場]]も参考になります。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===各バージョンの情報===&lt;br /&gt;
*旧バージョンの情報&lt;br /&gt;
:[[Asterisk 旧バージョン]]&lt;br /&gt;
&lt;br /&gt;
*[[Asterisk 20]]&lt;br /&gt;
:2022年10月リリース。LTS。&lt;br /&gt;
*[[Asterisk 21]]&lt;br /&gt;
:2023年10月リリース。非LTS(Standard)。&lt;br /&gt;
*[[Asterisk 22]]&lt;br /&gt;
:2024年10月リリース。LTS。&lt;br /&gt;
&lt;br /&gt;
===DAHDIへの移行===&lt;br /&gt;
:[[DAHDIインストール]]&lt;br /&gt;
===Asterisk+DB===&lt;br /&gt;
&#039;&#039;&#039;注意:MySQLの直接サポートはなくなりました。MySQLを使用する場合にはODBCを使用して下さい。&#039;&#039;&#039;&lt;br /&gt;
:[[Asterisk+MySQL]] (廃止)&lt;br /&gt;
:[[Asterisk+PostgreSQL]]&lt;br /&gt;
:[[Asterisk CDR SQLite]]&lt;br /&gt;
:[[Asterisk 11 ODBC]]&lt;br /&gt;
&lt;br /&gt;
===使用する上でのヒント===&lt;br /&gt;
*[[Asterisk Tips]]&lt;br /&gt;
===注意点などの追加情報===&lt;br /&gt;
*[[Asterisk 追加情報]]&lt;br /&gt;
===セキュリティ===&lt;br /&gt;
*[[利用者:MR G]]の[[パケットフィルタリング]]&lt;br /&gt;
*&#039;&#039;&#039;[[Asterisk SIP セキュリティ]]&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;[[SIP-Fail2ban]]&#039;&#039;&#039;&lt;br /&gt;
*[[Asteriskが使用するポート一覧]]&lt;br /&gt;
&lt;br /&gt;
===参考になるページ===&lt;br /&gt;
MR Gさんのページ [[利用者:MR G]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Asterisk NAT]]&amp;lt;br&amp;gt;&lt;br /&gt;
kei_ef_2000(a.k.a ふかうみ)さんの「Asterisk SugarLookup」解説ページ[[利用者:kei ef 2000]]&amp;lt;br&amp;gt;&lt;br /&gt;
===参考になるかどうかよくわからないページ===&lt;br /&gt;
[[バカstarisk]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[あすりん(仮)]]&lt;br /&gt;
&lt;br /&gt;
==派生ディストリビューション==&lt;br /&gt;
[[Asteriskの派生ディストリビューション]]&lt;br /&gt;
==アンインストール==&lt;br /&gt;
[[アンインストール情報]]のページへ&lt;br /&gt;
&lt;br /&gt;
==Asteriskの動作する環境==&lt;br /&gt;
IA系のマシンでLinuxをOSとして使用します。多くのLinuxディストリビューションで動作しています。ただしLinux 2.4カーネルを使用する場合には、ZatelがUSB-UHCIを必要とするため注意が必要です。Linux 2.6カーネル以降ならば問題はありません。&lt;br /&gt;
===OS===&lt;br /&gt;
[[Asterisk動作確認済みOS]]&lt;br /&gt;
===関連情報===&lt;br /&gt;
[[Asterisk Timer]]&amp;lt;br&amp;gt; &lt;br /&gt;
[[Zaptel udev]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Asterisk MacOSXでの動作]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Asterisk FreeBSDでの動作]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===特殊なプラットフォーム===&lt;br /&gt;
*小型アプライアンス類&lt;br /&gt;
:コンパクトなAsteriskマシンが欲しい方は[[アプライアンス]]ページを参照&amp;lt;br&amp;gt;&lt;br /&gt;
*OpenWRT&amp;lt;br&amp;gt;&lt;br /&gt;
:ルータ用代替ファームウェア。Asteriskのインストールも可能。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asteriskと回線や電話機等の接続==&lt;br /&gt;
AsteriskはSIPやH.323といったIPベースの接続の他、アナログやISDNなど様々な回線に対応します。&lt;br /&gt;
===IP===&lt;br /&gt;
*[[IP電話機]]&lt;br /&gt;
*[[ITSP接続]]&lt;br /&gt;
*[[ENUM]]&lt;br /&gt;
===アナログ===&lt;br /&gt;
*[[アナログ回線の接続]]&lt;br /&gt;
*[[アナログ電話機の接続]]&lt;br /&gt;
===ISDN===&lt;br /&gt;
*[[ISDN接続]]&lt;br /&gt;
===ひかり電話===&lt;br /&gt;
*[[ひかり電話対応]]&lt;br /&gt;
===回線交換機（アナログ式PBX）===&lt;br /&gt;
*[[OD接続(E&amp;amp;M)]]&lt;br /&gt;
*[[FXS接続]]&lt;br /&gt;
*[[FXO接続]]&lt;br /&gt;
&lt;br /&gt;
=== 携帯電話 ===&lt;br /&gt;
&lt;br /&gt;
*[[Bluetooth接続(chan_mobile)]]&lt;br /&gt;
*chan_dongle&lt;br /&gt;
:USB経由でHuaweiのUSBドングルを接続するチャネルドライバ。音声/SMS(日本語も)/USSDに対応。開発は活発ではないけど使える模様。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;&lt;br /&gt;
===Skype===&lt;br /&gt;
*[[Skype for Asterisk]]&lt;br /&gt;
:Digiumのプロダクト。ディスコン。&lt;br /&gt;
*[https://www.skype.com/ja/features/skype-connect/ Skype Connect]&lt;br /&gt;
:Skype公式のSIP接続サービス。US$6.95/ch/月&lt;br /&gt;
&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===FAX===&lt;br /&gt;
*[[Fax for Asterisk]] (終息)&lt;br /&gt;
:Digiumのプロダクト&lt;br /&gt;
*spandsp + res_fax_spandsp&lt;br /&gt;
:Asterisk13以降。なおapp_faxは非推奨&lt;br /&gt;
*IAXModem + Hylafax&lt;br /&gt;
===無線機===&lt;br /&gt;
*[[Asterisk+Radio]]&lt;br /&gt;
&lt;br /&gt;
==Asteriskの管理==&lt;br /&gt;
*コマンドライン&lt;br /&gt;
:[[Asterisk_CLI]]&lt;br /&gt;
*[[Asterisk Manager Interface]]&lt;br /&gt;
:Asterisk管理インタフェース&lt;br /&gt;
*GUI&lt;br /&gt;
:Asteriskは基本的にはGUIを持ちません。Asterisk NOWはブラウザによる管理インタフェースを持っています。&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Asterisk-GUI]](純正)&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Asterisk GUI]]&amp;lt;br&amp;gt;&lt;br /&gt;
:ADM&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==外部プログラムとの連携==&lt;br /&gt;
*[[自動発信|コール用ファイル]](call file)&lt;br /&gt;
*AGI: Asterisk Gateway Interface&lt;br /&gt;
*AMI: Asterisk Manager Interface&lt;br /&gt;
*ARI: Asterisk REST Interface&lt;br /&gt;
*ダイヤルプランから&lt;br /&gt;
:Application_Exec, Function_SHELL, Function_FILE&lt;br /&gt;
:Application_ReadFileは非推奨。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==IP電話関連機器はどこで買えますか？==&lt;br /&gt;
日本国内での入手性も序々に良くなってきました。&amp;lt;br&amp;gt;&lt;br /&gt;
[[購入情報]] のページを参照してください。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==日本国内対応==&lt;br /&gt;
Asteriskを日本国内に対応させる情報は下記を参照してください。&amp;lt;br&amp;gt;&lt;br /&gt;
===ローカライズ===&lt;br /&gt;
*&amp;lt;s&amp;gt;[[Asterisk パッチ]]&amp;lt;/s&amp;gt;(現在のバージョンでは必要ありません)&lt;br /&gt;
*[[Asterisk 日本語音声]]&lt;br /&gt;
*[[音声合成]]&lt;br /&gt;
&lt;br /&gt;
===接続および使い方===&lt;br /&gt;
*[[ひかり電話対応]]&lt;br /&gt;
*[[ラインキー問題]]&lt;br /&gt;
===コールパーキング===&lt;br /&gt;
『1番に電話～』式のコールパーキングについては&lt;br /&gt;
*[[Asterisk_コールパーキング]]&lt;br /&gt;
&lt;br /&gt;
==書籍==&lt;br /&gt;
===日本語===&lt;br /&gt;
*[http://www.amazon.co.jp/exec/obidos/ASIN/4798011290/takahashitaka-22/ref=nosim AsteriskでつくるIP電話システム』]([[たかはし]]の著書)&lt;br /&gt;
:1.0ベースのため1.2系は当Wikiでフォローしています。&amp;lt;br&amp;gt;&lt;br /&gt;
:VoIPの基本からAsteriskのインストール/稼動までの入門向きです。&amp;lt;br&amp;gt;&lt;br /&gt;
*[http://www.amazon.co.jp/exec/obidos/ASIN/4798016322/takahashitaka-22/ref=nosim 『Asterisk徹底活用ガイド』]([[たかはし]]の著書)&lt;br /&gt;
:Asterisk 1.2/1.4対応になっています。各種設定のリファレンスおよび設定事例など&lt;br /&gt;
:Asteriskに特化した内容となっています。&lt;br /&gt;
*[http://www.amazon.co.jp/exec/obidos/ASIN/4798017795/takahashitaka-22/ref=nosim 『AsteriskNOWではじめるIP電話』]([[たかはし]]の著書)&lt;br /&gt;
:AsteriskNOWによるAsteriskの入門書です。&lt;br /&gt;
*[http://www.amazon.co.jp/exec/obidos/ASIN/4873112893/takahashitaka-22/ref=nosim Asterisk-テレフォニーの未来-]&lt;br /&gt;
:オライリーの翻訳版。Asterisk 1.2対応も若干入っているようです。http://www.oreilly.co.jp/books/4873112893/&amp;lt;br&amp;gt;&lt;br /&gt;
*[http://www.amazon.co.jp/exec/obidos/ASIN/4777512789/takahashitaka-22/ref=nosim Trixbox実践ガイドブック―オープンソースの「PBXソフト」で「IPビジネスフォン」を作る]&lt;br /&gt;
*[http://www.amazon.co.jp/exec/obidos/ASIN/4839922810/takahashitaka-22/ref=nosim AsteriskによるIP-PBXシステム構築ガイド]&amp;lt;br&amp;gt;&lt;br /&gt;
:1.2ベースの本のようです。1.2のソースCD付。&amp;lt;br&amp;gt;&lt;br /&gt;
*[http://www.amazon.co.jp/exec/obidos/ASIN/4274066835/takahashitaka-22/ref=nosim Asterisk運用・開発ガイド]&amp;lt;br&amp;gt;&lt;br /&gt;
:APIなど開発/運用者向けの詳細な記載あり、上級者向け。&amp;lt;br&amp;gt;&lt;br /&gt;
*[https://www.amazon.co.jp/dp/B00B0NJ6I8/takahashitaka-22/ref=nosim Ubuntu 12.04 と EC2で作る Asterisk電話サーバ](kindle)&lt;br /&gt;
&lt;br /&gt;
===洋書=== &lt;br /&gt;
*[http://www.amazon.co.jp/Asterisk-Telephony-Jim-Van-Meggelen/dp/0596009623/takahashitaka-22/ref=nosim Asterisk : The Future of Telephony]&amp;lt;br&amp;gt;&lt;br /&gt;
:こちらも1.0ベースの本。&amp;lt;br&amp;gt;&lt;br /&gt;
:Asterisk : The Future of Telephony (Asterisk Documentation Project)&amp;lt;br&amp;gt;&lt;br /&gt;
:The Future of TelephonyはCreative Commons licenseの元、オンライン(PDF文書)で公開されています。&amp;lt;br&amp;gt;&lt;br /&gt;
*[http://www.amazon.co.jp/Asterisk-Telephony-Jim-Van-Meggelen/dp/0596510489/takahashitaka-22/ref=nosim Asterisk : The Future of Telephony (2nd Edition)]&amp;lt;br&amp;gt;&lt;br /&gt;
:2ndエディションで1.4対応だそうです。&lt;br /&gt;
*[http://www.amazon.co.jp/Asterisk-Telephony-Jim-Van-Meggelen/dp/059652692X/takahashitaka-22/ref=nosim Asterisk Cookbook (Cookbook)]&amp;lt;br&amp;gt;&lt;br /&gt;
:発売日：2008/12/30何度か発売が伸びています。日本語版は出るのかは不明です。[http://www.asteriskcookbook.com/wiki/index.php/Main_Page Asterisk Cookbook Wiki]などあるようです。&lt;br /&gt;
*[http://www.amazon.co.jp/dp/B00HQ0RA8M/takahashitaka-22/ref=nosim Asterisk: The Definitive Guide 4th edition]&lt;br /&gt;
:Asterisk 11に対応。pjprojectの記述はまだありません。&lt;br /&gt;
&lt;br /&gt;
==問い合わせ先など==&lt;br /&gt;
*[[Asteriskコンサルタント]]&lt;br /&gt;
*セミナー/イベントなど&lt;br /&gt;
:[[イベント情報]]のページで告知しています。&lt;br /&gt;
&lt;br /&gt;
==外部リンク==&lt;br /&gt;
:Asterisk http://www.asterisk.org&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12532</id>
		<title>Asterisk chan websocket</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12532"/>
		<updated>2025-10-22T02:48:45Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[カテゴリ:Asterisk]]&lt;br /&gt;
[[カテゴリ:websocket]]&lt;br /&gt;
&lt;br /&gt;
Asteriskの新しいチャネルとしてWebsocketチャネルが追加された。&amp;lt;br&amp;gt;&lt;br /&gt;
使用可能なバージョンは 23.0.0,22.6,0, 21.11.0, 20.16.0 のそれぞれ以降のバージョン。メジャーバージョンによる追加ではなく、マイナーバージョンの途中から追加されているので注意。&amp;lt;br&amp;gt;&lt;br /&gt;
従来からあるPjSIPのws/wssではなく、チャネルドライバとしてのWebsocket。&lt;br /&gt;
:https://docs.asterisk.org/Configuration/Channel-Drivers/WebSocket/?h=chan_websocket&lt;br /&gt;
==関連するモジュール==&lt;br /&gt;
chan_websocket&amp;lt;br&amp;gt;&lt;br /&gt;
res_websocket_client&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 *CLI&amp;gt; core show channeltype WebSocket&lt;br /&gt;
 -- Info about channel driver: WebSocket --&lt;br /&gt;
   Device State: no&lt;br /&gt;
 Presence State: no&lt;br /&gt;
     Indication: no&lt;br /&gt;
      Transfer : no&lt;br /&gt;
   Capabilities:  (codec2|g723|ulaw|alaw|gsm|g726|g726aal2|adpcm|slin|slin12|slin16|slin24|slin32|slin44|slin48|slin96|slin192|lpc10|g729|speex|speex16|speex32|ilbc|g722|siren7|siren14|g719|opus|jpeg|png|h261|h263|h263p|h264|h265|mpeg4|vp8|vp9|red|t140|t38|silk8|silk12|silk16|silk24)&lt;br /&gt;
    Digit Begin: no&lt;br /&gt;
      Digit End: yes&lt;br /&gt;
     Send HTML : no&lt;br /&gt;
  Image Support: no&lt;br /&gt;
   Text Support: no&lt;br /&gt;
 *CLI&amp;gt; module show like res_websocket_client.so&lt;br /&gt;
 Module                         Description                              Use Count  Status      Support Level&lt;br /&gt;
 res_websocket_client.so        WebSocket Client Support                 2          Running              core&lt;br /&gt;
&lt;br /&gt;
==注意点==&lt;br /&gt;
Websocket接続ではあるものの、RTPと同様に20m秒のペーシング(1フレームあたり20m秒)の送出間隔を守ること。AsteriskからWebsocketへの送出はこの20m秒フレームで送られるが、外部からAsteriskに送りつける場合にも20m秒を守る必要がある。これが乱れると音声の品質低下、あるいは再生されないといった問題が発生する。この問題は割とハマるので注意。&lt;br /&gt;
==設定==&lt;br /&gt;
AsteriskからWebsocketに対して発信する場合の例。&amp;lt;br&amp;gt;&lt;br /&gt;
websocket_client.conf に以下のように記述する。&amp;quot;ws-connection1&amp;quot;が識別名。&lt;br /&gt;
 [ws-connection1]&lt;br /&gt;
 type = websocket_client&lt;br /&gt;
 uri = ws://127.0.0.1:8765&lt;br /&gt;
 protocols = media&lt;br /&gt;
 connection_type = per_call_config&lt;br /&gt;
 connection_timeout = 500&lt;br /&gt;
 reconnect_interval = 500&lt;br /&gt;
 reconnect_attempts = 5&lt;br /&gt;
 tls_enabled = no&lt;br /&gt;
websocket_client.conf を変更した場合には CLI から module reload res_websocket_client.so を実行すると設定が反映される。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Websocketに対して発信する場合には以下のように書く&lt;br /&gt;
 exten =&amp;gt; 9805,1,NoOp&lt;br /&gt;
 exten =&amp;gt; 9805,n,Dial(Websocket/ws-connection1/c(slin16))&lt;br /&gt;
 exten =&amp;gt; 9805,n,Hangup&lt;br /&gt;
テクノロジにWebsocket、/の後に識別名、その後にCODECを指定。c(slin16)はCODECにslin16(16kHzサンプリング 16bit LEのリニアPCM)の意味。CODECはチャネルで指定できるものが使えるが、Websocketのアプリケーション側で解釈できるものを使うこと。&amp;lt;br&amp;gt;&lt;br /&gt;
なお、AudioSocketではslin(8kHz 16bit LE)しか使えないが、Websocketではslin16の16kHzが使える。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Asteriskを着信側に使う場合はちょっと面倒なので省略。使い勝手はあまりよくない。&lt;br /&gt;
==Websocket側サンプルコード==&lt;br /&gt;
https://github.com/takao-t/asterisk-experimental/blob/main/websokect/ws_audio_server.py&amp;lt;br&amp;gt;&lt;br /&gt;
Websocketで待ち受け、ALSAデバイスで通話するサンプル。&amp;lt;br&amp;gt;&lt;br /&gt;
AsteriskのWebsocketチャネルではバイナリ(音声)データとテキストをサポートしている。テキストデータではステータスやコマンド等をやりとりできるので、サンプルコードに入れてあるが、この挙動(ANSWER)は今のところ効かない。Asterisk側の問題ではないかと思われる。&amp;lt;br&amp;gt;&lt;br /&gt;
Dial時オプションに&#039;n&#039;を付けるとAuto Answerしないとドキュメントに書かれているものの、Dial(Websocket/ws-connection1/c(slin16)n) のように書いてもAnswerしてしまうので、サンプルコード中の&amp;quot;ANSWER&amp;quot;送信は実際には効かないが、コマンド送りの例として残してある。&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12530</id>
		<title>Asterisk chan websocket</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12530"/>
		<updated>2025-10-22T02:47:37Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* 設定 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Asteriskの新しいチャネルとしてWebsocketチャネルが追加された。&amp;lt;br&amp;gt;&lt;br /&gt;
使用可能なバージョンは 23.0.0,22.6,0, 21.11.0, 20.16.0 のそれぞれ以降のバージョン。メジャーバージョンによる追加ではなく、マイナーバージョンの途中から追加されているので注意。&amp;lt;br&amp;gt;&lt;br /&gt;
従来からあるPjSIPのws/wssではなく、チャネルドライバとしてのWebsocket。&lt;br /&gt;
:https://docs.asterisk.org/Configuration/Channel-Drivers/WebSocket/?h=chan_websocket&lt;br /&gt;
==関連するモジュール==&lt;br /&gt;
chan_websocket&amp;lt;br&amp;gt;&lt;br /&gt;
res_websocket_client&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 *CLI&amp;gt; core show channeltype WebSocket&lt;br /&gt;
 -- Info about channel driver: WebSocket --&lt;br /&gt;
   Device State: no&lt;br /&gt;
 Presence State: no&lt;br /&gt;
     Indication: no&lt;br /&gt;
      Transfer : no&lt;br /&gt;
   Capabilities:  (codec2|g723|ulaw|alaw|gsm|g726|g726aal2|adpcm|slin|slin12|slin16|slin24|slin32|slin44|slin48|slin96|slin192|lpc10|g729|speex|speex16|speex32|ilbc|g722|siren7|siren14|g719|opus|jpeg|png|h261|h263|h263p|h264|h265|mpeg4|vp8|vp9|red|t140|t38|silk8|silk12|silk16|silk24)&lt;br /&gt;
    Digit Begin: no&lt;br /&gt;
      Digit End: yes&lt;br /&gt;
     Send HTML : no&lt;br /&gt;
  Image Support: no&lt;br /&gt;
   Text Support: no&lt;br /&gt;
 *CLI&amp;gt; module show like res_websocket_client.so&lt;br /&gt;
 Module                         Description                              Use Count  Status      Support Level&lt;br /&gt;
 res_websocket_client.so        WebSocket Client Support                 2          Running              core&lt;br /&gt;
&lt;br /&gt;
==注意点==&lt;br /&gt;
Websocket接続ではあるものの、RTPと同様に20m秒のペーシング(1フレームあたり20m秒)の送出間隔を守ること。AsteriskからWebsocketへの送出はこの20m秒フレームで送られるが、外部からAsteriskに送りつける場合にも20m秒を守る必要がある。これが乱れると音声の品質低下、あるいは再生されないといった問題が発生する。この問題は割とハマるので注意。&lt;br /&gt;
==設定==&lt;br /&gt;
AsteriskからWebsocketに対して発信する場合の例。&amp;lt;br&amp;gt;&lt;br /&gt;
websocket_client.conf に以下のように記述する。&amp;quot;ws-connection1&amp;quot;が識別名。&lt;br /&gt;
 [ws-connection1]&lt;br /&gt;
 type = websocket_client&lt;br /&gt;
 uri = ws://127.0.0.1:8765&lt;br /&gt;
 protocols = media&lt;br /&gt;
 connection_type = per_call_config&lt;br /&gt;
 connection_timeout = 500&lt;br /&gt;
 reconnect_interval = 500&lt;br /&gt;
 reconnect_attempts = 5&lt;br /&gt;
 tls_enabled = no&lt;br /&gt;
websocket_client.conf を変更した場合には CLI から module reload res_websocket_client.so を実行すると設定が反映される。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Websocketに対して発信する場合には以下のように書く&lt;br /&gt;
 exten =&amp;gt; 9805,1,NoOp&lt;br /&gt;
 exten =&amp;gt; 9805,n,Dial(Websocket/ws-connection1/c(slin16))&lt;br /&gt;
 exten =&amp;gt; 9805,n,Hangup&lt;br /&gt;
テクノロジにWebsocket、/の後に識別名、その後にCODECを指定。c(slin16)はCODECにslin16(16kHzサンプリング 16bit LEのリニアPCM)の意味。CODECはチャネルで指定できるものが使えるが、Websocketのアプリケーション側で解釈できるものを使うこと。&amp;lt;br&amp;gt;&lt;br /&gt;
なお、AudioSocketではslin(8kHz 16bit LE)しか使えないが、Websocketではslin16の16kHzが使える。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Asteriskを着信側に使う場合はちょっと面倒なので省略。使い勝手はあまりよくない。&lt;br /&gt;
==Websocket側サンプルコード==&lt;br /&gt;
https://github.com/takao-t/asterisk-experimental/blob/main/websokect/ws_audio_server.py&amp;lt;br&amp;gt;&lt;br /&gt;
Websocketで待ち受け、ALSAデバイスで通話するサンプル。&amp;lt;br&amp;gt;&lt;br /&gt;
AsteriskのWebsocketチャネルではバイナリ(音声)データとテキストをサポートしている。テキストデータではステータスやコマンド等をやりとりできるので、サンプルコードに入れてあるが、この挙動(ANSWER)は今のところ効かない。Asterisk側の問題ではないかと思われる。&amp;lt;br&amp;gt;&lt;br /&gt;
Dial時オプションに&#039;n&#039;を付けるとAuto Answerしないとドキュメントに書かれているものの、Dial(Websocket/ws-connection1/c(slin16)n) のように書いてもAnswerしてしまうので、サンプルコード中の&amp;quot;ANSWER&amp;quot;送信は実際には効かないが、コマンド送りの例として残してある。&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12529</id>
		<title>Asterisk chan websocket</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12529"/>
		<updated>2025-10-22T02:30:55Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* 設定 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Asteriskの新しいチャネルとしてWebsocketチャネルが追加された。&amp;lt;br&amp;gt;&lt;br /&gt;
使用可能なバージョンは 23.0.0,22.6,0, 21.11.0, 20.16.0 のそれぞれ以降のバージョン。メジャーバージョンによる追加ではなく、マイナーバージョンの途中から追加されているので注意。&amp;lt;br&amp;gt;&lt;br /&gt;
従来からあるPjSIPのws/wssではなく、チャネルドライバとしてのWebsocket。&lt;br /&gt;
:https://docs.asterisk.org/Configuration/Channel-Drivers/WebSocket/?h=chan_websocket&lt;br /&gt;
==関連するモジュール==&lt;br /&gt;
chan_websocket&amp;lt;br&amp;gt;&lt;br /&gt;
res_websocket_client&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 *CLI&amp;gt; core show channeltype WebSocket&lt;br /&gt;
 -- Info about channel driver: WebSocket --&lt;br /&gt;
   Device State: no&lt;br /&gt;
 Presence State: no&lt;br /&gt;
     Indication: no&lt;br /&gt;
      Transfer : no&lt;br /&gt;
   Capabilities:  (codec2|g723|ulaw|alaw|gsm|g726|g726aal2|adpcm|slin|slin12|slin16|slin24|slin32|slin44|slin48|slin96|slin192|lpc10|g729|speex|speex16|speex32|ilbc|g722|siren7|siren14|g719|opus|jpeg|png|h261|h263|h263p|h264|h265|mpeg4|vp8|vp9|red|t140|t38|silk8|silk12|silk16|silk24)&lt;br /&gt;
    Digit Begin: no&lt;br /&gt;
      Digit End: yes&lt;br /&gt;
     Send HTML : no&lt;br /&gt;
  Image Support: no&lt;br /&gt;
   Text Support: no&lt;br /&gt;
 *CLI&amp;gt; module show like res_websocket_client.so&lt;br /&gt;
 Module                         Description                              Use Count  Status      Support Level&lt;br /&gt;
 res_websocket_client.so        WebSocket Client Support                 2          Running              core&lt;br /&gt;
&lt;br /&gt;
==注意点==&lt;br /&gt;
Websocket接続ではあるものの、RTPと同様に20m秒のペーシング(1フレームあたり20m秒)の送出間隔を守ること。AsteriskからWebsocketへの送出はこの20m秒フレームで送られるが、外部からAsteriskに送りつける場合にも20m秒を守る必要がある。これが乱れると音声の品質低下、あるいは再生されないといった問題が発生する。この問題は割とハマるので注意。&lt;br /&gt;
==設定==&lt;br /&gt;
AsteriskからWebsocketに対して発信する場合の例。&amp;lt;br&amp;gt;&lt;br /&gt;
websocket_client.conf に以下のように記述する。&amp;quot;ws-connection1&amp;quot;が識別名。&lt;br /&gt;
 [ws-connection1]&lt;br /&gt;
 type = websocket_client&lt;br /&gt;
 uri = ws://127.0.0.1:8765&lt;br /&gt;
 protocols = media&lt;br /&gt;
 connection_type = per_call_config&lt;br /&gt;
 connection_timeout = 500&lt;br /&gt;
 reconnect_interval = 500&lt;br /&gt;
 reconnect_attempts = 5&lt;br /&gt;
 tls_enabled = no&lt;br /&gt;
websocket_client.conf を変更した場合には CLI から module reload res_websocket_client.so を実行すると設定が反映される。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Websocketに対して発信する場合には以下のように書く&lt;br /&gt;
 exten =&amp;gt; 9805,1,NoOp&lt;br /&gt;
 exten =&amp;gt; 9805,n,Dial(Websocket/ws-connection1/c(slin16))&lt;br /&gt;
 exten =&amp;gt; 9805,n,Hangup&lt;br /&gt;
テクノロジにWebsocket、/の後に識別名、その後にCODECを指定。c(slin16)はCODECにslin16(16kHzサンプリング 16bit LEのリニアPCM)の意味。CODECはチャネルで指定できるものが使えるが、Websocketのアプリケーション側で解釈できるものを使うこと。&amp;lt;br&amp;gt;&lt;br /&gt;
なお、AudioSocketではslin(8kHz 16bit LE)しか使えないが、Websocketではslin16の16kHzが使える。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Asteriskを着信側に使う場合はちょっと面倒なので省略。使い勝手はあまりよくない。&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12528</id>
		<title>Asterisk chan websocket</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12528"/>
		<updated>2025-10-22T02:25:38Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* 設定 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Asteriskの新しいチャネルとしてWebsocketチャネルが追加された。&amp;lt;br&amp;gt;&lt;br /&gt;
使用可能なバージョンは 23.0.0,22.6,0, 21.11.0, 20.16.0 のそれぞれ以降のバージョン。メジャーバージョンによる追加ではなく、マイナーバージョンの途中から追加されているので注意。&amp;lt;br&amp;gt;&lt;br /&gt;
従来からあるPjSIPのws/wssではなく、チャネルドライバとしてのWebsocket。&lt;br /&gt;
:https://docs.asterisk.org/Configuration/Channel-Drivers/WebSocket/?h=chan_websocket&lt;br /&gt;
==関連するモジュール==&lt;br /&gt;
chan_websocket&amp;lt;br&amp;gt;&lt;br /&gt;
res_websocket_client&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 *CLI&amp;gt; core show channeltype WebSocket&lt;br /&gt;
 -- Info about channel driver: WebSocket --&lt;br /&gt;
   Device State: no&lt;br /&gt;
 Presence State: no&lt;br /&gt;
     Indication: no&lt;br /&gt;
      Transfer : no&lt;br /&gt;
   Capabilities:  (codec2|g723|ulaw|alaw|gsm|g726|g726aal2|adpcm|slin|slin12|slin16|slin24|slin32|slin44|slin48|slin96|slin192|lpc10|g729|speex|speex16|speex32|ilbc|g722|siren7|siren14|g719|opus|jpeg|png|h261|h263|h263p|h264|h265|mpeg4|vp8|vp9|red|t140|t38|silk8|silk12|silk16|silk24)&lt;br /&gt;
    Digit Begin: no&lt;br /&gt;
      Digit End: yes&lt;br /&gt;
     Send HTML : no&lt;br /&gt;
  Image Support: no&lt;br /&gt;
   Text Support: no&lt;br /&gt;
 *CLI&amp;gt; module show like res_websocket_client.so&lt;br /&gt;
 Module                         Description                              Use Count  Status      Support Level&lt;br /&gt;
 res_websocket_client.so        WebSocket Client Support                 2          Running              core&lt;br /&gt;
&lt;br /&gt;
==注意点==&lt;br /&gt;
Websocket接続ではあるものの、RTPと同様に20m秒のペーシング(1フレームあたり20m秒)の送出間隔を守ること。AsteriskからWebsocketへの送出はこの20m秒フレームで送られるが、外部からAsteriskに送りつける場合にも20m秒を守る必要がある。これが乱れると音声の品質低下、あるいは再生されないといった問題が発生する。この問題は割とハマるので注意。&lt;br /&gt;
==設定==&lt;br /&gt;
AsteriskからWebsocketに対して発信する場合の例。&amp;lt;br&amp;gt;&lt;br /&gt;
websocket_client.conf に以下のように記述する。&amp;quot;ws-connection1&amp;quot;が識別名。&lt;br /&gt;
 [ws-connection1]&lt;br /&gt;
 type = websocket_client&lt;br /&gt;
 uri = ws://127.0.0.1:8765&lt;br /&gt;
 protocols = media&lt;br /&gt;
 connection_type = per_call_config&lt;br /&gt;
 connection_timeout = 500&lt;br /&gt;
 reconnect_interval = 500&lt;br /&gt;
 reconnect_attempts = 5&lt;br /&gt;
 tls_enabled = no&lt;br /&gt;
websocket_client.conf を変更した場合には CLI から module reload res_websocket_client.so を実行すると設定が反映される。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Websocketに対して発信する場合には以下のように書く&lt;br /&gt;
 exten =&amp;gt; 9805,1,NoOp&lt;br /&gt;
 exten =&amp;gt; 9805,n,Dial(Websocket/ws-connection1/c(slin16))&lt;br /&gt;
 exten =&amp;gt; 9805,n,Hangup&lt;br /&gt;
テクノロジにWebsocket、/の後に識別名、その後にCODECを指定。c(slin16)はCODECにslin16(16kHzサンプリング 16bit LEのリニアPCM)の意味。CODECはチャネルで指定できるものが使えるが、Websocketのアプリケーション側で解釈できるものを使うこと。&amp;lt;br&amp;gt;&lt;br /&gt;
なお、AudioSocketではslin(8kHz 16bit LE)しか使えないが、Websocketではslin16の16kHzが使える。&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12527</id>
		<title>Asterisk chan websocket</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12527"/>
		<updated>2025-10-22T02:24:20Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* 設定 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Asteriskの新しいチャネルとしてWebsocketチャネルが追加された。&amp;lt;br&amp;gt;&lt;br /&gt;
使用可能なバージョンは 23.0.0,22.6,0, 21.11.0, 20.16.0 のそれぞれ以降のバージョン。メジャーバージョンによる追加ではなく、マイナーバージョンの途中から追加されているので注意。&amp;lt;br&amp;gt;&lt;br /&gt;
従来からあるPjSIPのws/wssではなく、チャネルドライバとしてのWebsocket。&lt;br /&gt;
:https://docs.asterisk.org/Configuration/Channel-Drivers/WebSocket/?h=chan_websocket&lt;br /&gt;
==関連するモジュール==&lt;br /&gt;
chan_websocket&amp;lt;br&amp;gt;&lt;br /&gt;
res_websocket_client&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 *CLI&amp;gt; core show channeltype WebSocket&lt;br /&gt;
 -- Info about channel driver: WebSocket --&lt;br /&gt;
   Device State: no&lt;br /&gt;
 Presence State: no&lt;br /&gt;
     Indication: no&lt;br /&gt;
      Transfer : no&lt;br /&gt;
   Capabilities:  (codec2|g723|ulaw|alaw|gsm|g726|g726aal2|adpcm|slin|slin12|slin16|slin24|slin32|slin44|slin48|slin96|slin192|lpc10|g729|speex|speex16|speex32|ilbc|g722|siren7|siren14|g719|opus|jpeg|png|h261|h263|h263p|h264|h265|mpeg4|vp8|vp9|red|t140|t38|silk8|silk12|silk16|silk24)&lt;br /&gt;
    Digit Begin: no&lt;br /&gt;
      Digit End: yes&lt;br /&gt;
     Send HTML : no&lt;br /&gt;
  Image Support: no&lt;br /&gt;
   Text Support: no&lt;br /&gt;
 *CLI&amp;gt; module show like res_websocket_client.so&lt;br /&gt;
 Module                         Description                              Use Count  Status      Support Level&lt;br /&gt;
 res_websocket_client.so        WebSocket Client Support                 2          Running              core&lt;br /&gt;
&lt;br /&gt;
==注意点==&lt;br /&gt;
Websocket接続ではあるものの、RTPと同様に20m秒のペーシング(1フレームあたり20m秒)の送出間隔を守ること。AsteriskからWebsocketへの送出はこの20m秒フレームで送られるが、外部からAsteriskに送りつける場合にも20m秒を守る必要がある。これが乱れると音声の品質低下、あるいは再生されないといった問題が発生する。この問題は割とハマるので注意。&lt;br /&gt;
==設定==&lt;br /&gt;
AsteriskからWebsocketに対して発信する場合の例。&amp;lt;br&amp;gt;&lt;br /&gt;
websocket_client.conf に以下のように記述する。&amp;quot;ws-connection1&amp;quot;が識別名。&lt;br /&gt;
 [ws-connection1]&lt;br /&gt;
 type = websocket_client&lt;br /&gt;
 uri = ws://127.0.0.1:8765&lt;br /&gt;
 protocols = media&lt;br /&gt;
 connection_type = per_call_config&lt;br /&gt;
 connection_timeout = 500&lt;br /&gt;
 reconnect_interval = 500&lt;br /&gt;
 reconnect_attempts = 5&lt;br /&gt;
 tls_enabled = no&lt;br /&gt;
websocket_client.conf を変更した場合には CLI から module reload res_websocket_client.so を実行すると設定が反映される。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Websocketに対して発信する場合には以下のように書く&lt;br /&gt;
 exten =&amp;gt; 9805,1,NoOp&lt;br /&gt;
 exten =&amp;gt; 9805,n,Dial(Websocket/ws-connection1/c(slin16))&lt;br /&gt;
 exten =&amp;gt; 9805,n,Hangup&lt;br /&gt;
テクノロジにWebsocket、/の後に識別名、その後にCODECを指定。c(slin16)はCODECにslin16(16kHzサンプリング 16bit LEのリニアPCM)の意味。CODECはチャネルで指定できるものが使えるが、Websocketのアプリケーション側で解釈できるものを使うこと。&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12526</id>
		<title>Asterisk chan websocket</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12526"/>
		<updated>2025-10-22T02:17:32Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Asteriskの新しいチャネルとしてWebsocketチャネルが追加された。&amp;lt;br&amp;gt;&lt;br /&gt;
使用可能なバージョンは 23.0.0,22.6,0, 21.11.0, 20.16.0 のそれぞれ以降のバージョン。メジャーバージョンによる追加ではなく、マイナーバージョンの途中から追加されているので注意。&amp;lt;br&amp;gt;&lt;br /&gt;
従来からあるPjSIPのws/wssではなく、チャネルドライバとしてのWebsocket。&lt;br /&gt;
:https://docs.asterisk.org/Configuration/Channel-Drivers/WebSocket/?h=chan_websocket&lt;br /&gt;
==関連するモジュール==&lt;br /&gt;
chan_websocket&amp;lt;br&amp;gt;&lt;br /&gt;
res_websocket_client&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 *CLI&amp;gt; core show channeltype WebSocket&lt;br /&gt;
 -- Info about channel driver: WebSocket --&lt;br /&gt;
   Device State: no&lt;br /&gt;
 Presence State: no&lt;br /&gt;
     Indication: no&lt;br /&gt;
      Transfer : no&lt;br /&gt;
   Capabilities:  (codec2|g723|ulaw|alaw|gsm|g726|g726aal2|adpcm|slin|slin12|slin16|slin24|slin32|slin44|slin48|slin96|slin192|lpc10|g729|speex|speex16|speex32|ilbc|g722|siren7|siren14|g719|opus|jpeg|png|h261|h263|h263p|h264|h265|mpeg4|vp8|vp9|red|t140|t38|silk8|silk12|silk16|silk24)&lt;br /&gt;
    Digit Begin: no&lt;br /&gt;
      Digit End: yes&lt;br /&gt;
     Send HTML : no&lt;br /&gt;
  Image Support: no&lt;br /&gt;
   Text Support: no&lt;br /&gt;
 *CLI&amp;gt; module show like res_websocket_client.so&lt;br /&gt;
 Module                         Description                              Use Count  Status      Support Level&lt;br /&gt;
 res_websocket_client.so        WebSocket Client Support                 2          Running              core&lt;br /&gt;
&lt;br /&gt;
==注意点==&lt;br /&gt;
Websocket接続ではあるものの、RTPと同様に20m秒のペーシング(1フレームあたり20m秒)の送出間隔を守ること。AsteriskからWebsocketへの送出はこの20m秒フレームで送られるが、外部からAsteriskに送りつける場合にも20m秒を守る必要がある。これが乱れると音声の品質低下、あるいは再生されないといった問題が発生する。この問題は割とハマるので注意。&lt;br /&gt;
==設定==&lt;br /&gt;
AsteriskからWebsocketに対して発信する場合の例。&amp;lt;br&amp;gt;&lt;br /&gt;
websocket_client.conf に以下のように記述する。&amp;quot;ws-connection&amp;quot;が識別名。&lt;br /&gt;
 [ws-connection1]&lt;br /&gt;
 type = websocket_client&lt;br /&gt;
 uri = ws://127.0.0.1:8765&lt;br /&gt;
 protocols = media&lt;br /&gt;
 connection_type = per_call_config&lt;br /&gt;
 connection_timeout = 500&lt;br /&gt;
 reconnect_interval = 500&lt;br /&gt;
 reconnect_attempts = 5&lt;br /&gt;
 tls_enabled = no&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12525</id>
		<title>Asterisk chan websocket</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12525"/>
		<updated>2025-10-22T02:17:01Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* 注意点 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Asteriskの新しいチャネルとしてWebsocketチャネルが追加された。&amp;lt;br&amp;gt;&lt;br /&gt;
使用可能なバージョンは 23.0.0,22.6,0, 21.11.0, 20.16.0 のそれぞれ以降のバージョン。メジャーバージョンによる追加ではなく、マイナーバージョンの途中から追加されているので注意。&amp;lt;br&amp;gt;&lt;br /&gt;
従来からあるPjSIPのws/wssではなく、チャネルドライバとしてのWebsocket。&lt;br /&gt;
==関連するモジュール==&lt;br /&gt;
chan_websocket&amp;lt;br&amp;gt;&lt;br /&gt;
res_websocket_client&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 *CLI&amp;gt; core show channeltype WebSocket&lt;br /&gt;
 -- Info about channel driver: WebSocket --&lt;br /&gt;
   Device State: no&lt;br /&gt;
 Presence State: no&lt;br /&gt;
     Indication: no&lt;br /&gt;
      Transfer : no&lt;br /&gt;
   Capabilities:  (codec2|g723|ulaw|alaw|gsm|g726|g726aal2|adpcm|slin|slin12|slin16|slin24|slin32|slin44|slin48|slin96|slin192|lpc10|g729|speex|speex16|speex32|ilbc|g722|siren7|siren14|g719|opus|jpeg|png|h261|h263|h263p|h264|h265|mpeg4|vp8|vp9|red|t140|t38|silk8|silk12|silk16|silk24)&lt;br /&gt;
    Digit Begin: no&lt;br /&gt;
      Digit End: yes&lt;br /&gt;
     Send HTML : no&lt;br /&gt;
  Image Support: no&lt;br /&gt;
   Text Support: no&lt;br /&gt;
 *CLI&amp;gt; module show like res_websocket_client.so&lt;br /&gt;
 Module                         Description                              Use Count  Status      Support Level&lt;br /&gt;
 res_websocket_client.so        WebSocket Client Support                 2          Running              core&lt;br /&gt;
&lt;br /&gt;
==注意点==&lt;br /&gt;
Websocket接続ではあるものの、RTPと同様に20m秒のペーシング(1フレームあたり20m秒)の送出間隔を守ること。AsteriskからWebsocketへの送出はこの20m秒フレームで送られるが、外部からAsteriskに送りつける場合にも20m秒を守る必要がある。これが乱れると音声の品質低下、あるいは再生されないといった問題が発生する。この問題は割とハマるので注意。&lt;br /&gt;
==設定==&lt;br /&gt;
AsteriskからWebsocketに対して発信する場合の例。&amp;lt;br&amp;gt;&lt;br /&gt;
websocket_client.conf に以下のように記述する。&amp;quot;ws-connection&amp;quot;が識別名。&lt;br /&gt;
 [ws-connection1]&lt;br /&gt;
 type = websocket_client&lt;br /&gt;
 uri = ws://127.0.0.1:8765&lt;br /&gt;
 protocols = media&lt;br /&gt;
 connection_type = per_call_config&lt;br /&gt;
 connection_timeout = 500&lt;br /&gt;
 reconnect_interval = 500&lt;br /&gt;
 reconnect_attempts = 5&lt;br /&gt;
 tls_enabled = no&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12524</id>
		<title>Asterisk chan websocket</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk_chan_websocket&amp;diff=12524"/>
		<updated>2025-10-22T02:13:16Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: ページの作成:「Asteriskの新しいチャネルとしてWebsocketチャネルが追加された。&amp;lt;br&amp;gt; 使用可能なバージョンは 23.0.0,22.6,0, 21.11.0, 20.16.0 のそれぞれ以降のバージョン。メジャーバージョンによる追加ではなく、マイナーバージョンの途中から追加されているので注意。&amp;lt;br&amp;gt; 従来からあるPjSIPのws/wssではなく、チャネルドライバとしてのWebsocket。 ==関連するモジュール== chan_w…」&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Asteriskの新しいチャネルとしてWebsocketチャネルが追加された。&amp;lt;br&amp;gt;&lt;br /&gt;
使用可能なバージョンは 23.0.0,22.6,0, 21.11.0, 20.16.0 のそれぞれ以降のバージョン。メジャーバージョンによる追加ではなく、マイナーバージョンの途中から追加されているので注意。&amp;lt;br&amp;gt;&lt;br /&gt;
従来からあるPjSIPのws/wssではなく、チャネルドライバとしてのWebsocket。&lt;br /&gt;
==関連するモジュール==&lt;br /&gt;
chan_websocket&amp;lt;br&amp;gt;&lt;br /&gt;
res_websocket_client&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 *CLI&amp;gt; core show channeltype WebSocket&lt;br /&gt;
 -- Info about channel driver: WebSocket --&lt;br /&gt;
   Device State: no&lt;br /&gt;
 Presence State: no&lt;br /&gt;
     Indication: no&lt;br /&gt;
      Transfer : no&lt;br /&gt;
   Capabilities:  (codec2|g723|ulaw|alaw|gsm|g726|g726aal2|adpcm|slin|slin12|slin16|slin24|slin32|slin44|slin48|slin96|slin192|lpc10|g729|speex|speex16|speex32|ilbc|g722|siren7|siren14|g719|opus|jpeg|png|h261|h263|h263p|h264|h265|mpeg4|vp8|vp9|red|t140|t38|silk8|silk12|silk16|silk24)&lt;br /&gt;
    Digit Begin: no&lt;br /&gt;
      Digit End: yes&lt;br /&gt;
     Send HTML : no&lt;br /&gt;
  Image Support: no&lt;br /&gt;
   Text Support: no&lt;br /&gt;
 *CLI&amp;gt; module show like res_websocket_client.so&lt;br /&gt;
 Module                         Description                              Use Count  Status      Support Level&lt;br /&gt;
 res_websocket_client.so        WebSocket Client Support                 2          Running              core&lt;br /&gt;
&lt;br /&gt;
==注意点==&lt;br /&gt;
Websocket接続ではあるものの、RTPと同様に20m秒のペーシング(1フレームあたり20m秒)の送出間隔を守ること。AsteriskからWebsocketへの送出はこの20m秒フレームで送られるが、外部からAsteriskに送りつける場合にも20m秒を守る必要がある。これが乱れると音声の品質低下、あるいは再生されないといった問題が発生する。この問題は割とハマるので注意。&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk&amp;diff=12523</id>
		<title>Asterisk</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk&amp;diff=12523"/>
		<updated>2025-10-22T01:54:43Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* 対応するプロトコル */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Asterisk]]&lt;br /&gt;
[[Category:VoIP]]&lt;br /&gt;
==Asterisk: Open Source Communication Framework== &lt;br /&gt;
AsteriskはオープンソースのPBXでDigiumのMark Spencerによって始められました。&amp;lt;br&amp;gt;&lt;br /&gt;
DigiumはSangomaによって買収されたため、現在はSangoma傘下です。→ [[Sangoma Digium]]&amp;lt;br&amp;gt;&lt;br /&gt;
PBXというと会社内の電話やビジネスホン等を思い浮かべるのですが、Asteriskが使用されるのは、いわゆる電話の分野だけではありません。通話を繋いだり切ったり(呼制御)、通話を必要とするサービスは旧来の電話だけで使われるわけではありません。様々な音声サービスに使用できるのがAsteriskです。このため電話交換機からインターネット上の音声サービスまで様々に使用されているのがAsteriskです。&amp;lt;br&amp;gt;&lt;br /&gt;
日本でAsteriskが広く知られるようになったのは2005年頃からです。&amp;lt;br&amp;gt;&lt;br /&gt;
===公式ドキュメント===&lt;br /&gt;
https://docs.asterisk.org/&lt;br /&gt;
===対応するプロトコル===&lt;br /&gt;
*IP系&lt;br /&gt;
:[[Asterisk pjsip | SIP]] (プロトコルスタックは2種類、chan_sipとPjSIP。chan_sipは廃止:Asterisk 21～)&lt;br /&gt;
: 音声交換だけでなくSIP MESSAGEを使うことでテキストベースのメッセージ交換にも使えます。[[SIPメッセージング]]&lt;br /&gt;
:H.323&lt;br /&gt;
:MOTIF&lt;br /&gt;
:UNISTIM&lt;br /&gt;
:IAX(Inter Asterisk eXchange)&lt;br /&gt;
:&amp;lt;s&amp;gt;MGCP&amp;lt;/s&amp;gt;(廃止:Asterisk 21～)&lt;br /&gt;
:&amp;lt;s&amp;gt;Skinny(Cisco)&amp;lt;/s&amp;gt; (廃止:Asterisk 21～)&lt;br /&gt;
:AudioSocket(シンプルなTCPベースの音声) (Asterisk 18～)&lt;br /&gt;
:Websocket(Asterisk 22.6～、PjSIPのws/wssではなくchan_websocketが実装された)&lt;br /&gt;
::22.6.0だけでなく 23.0.0, 21.11.0, 20.16.0　にも実装&lt;br /&gt;
*レガシー系&lt;br /&gt;
:BRI/PRI(ISDNボード必要)&lt;br /&gt;
:アナログ(アナログボード必要)&lt;br /&gt;
:ゲートウェイを使用することでSIP-アナログ、SIP-ISDNも、もちろん接続できます&lt;br /&gt;
&lt;br /&gt;
===[[導入事例]]===&lt;br /&gt;
[[導入事例]]のページにサマリーをまとめてあります。&lt;br /&gt;
&lt;br /&gt;
==バージョン==&lt;br /&gt;
Asterisk 1.8まで&lt;br /&gt;
:偶数番号(1.0,1.2,1.4,1.6,1.8)がリリースバージョン&lt;br /&gt;
:奇数番号は開発バージョンで一般には公開されない&lt;br /&gt;
Asterisk 10以降&lt;br /&gt;
:11,13,16,18,20,22&lt;br /&gt;
::LTS(Long Term Support:長期サポートバージョン)&lt;br /&gt;
:10,12,14,15,17,19,21&lt;br /&gt;
::STD(Standard:標準サポートバージョン)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! バージョン !! リリース日(現地時間) !! サポート期限 !! セキュリティサポート期限 !! LTS&lt;br /&gt;
|-&lt;br /&gt;
| Asterisk 10 ||  ||  ||  || ✗&lt;br /&gt;
|-&lt;br /&gt;
| Asterisk 11 ||  ||  ||  || ◯&lt;br /&gt;
|-&lt;br /&gt;
| Asterisk 12 ||  ||  ||  || ✗&lt;br /&gt;
|-&lt;br /&gt;
| [[Asterisk 13]] || 2014年10月24日 || 2020年10月24日 || 2021年10月24日 || ◯&lt;br /&gt;
|-&lt;br /&gt;
| Asterisk 14 || 2016年09月26日 || 2017年09月26日 || 2018年09月26日 || ✗&lt;br /&gt;
|-&lt;br /&gt;
| Asterisk 15 || 2017年10月03日 || 2018年10月03日 || 2019年10月03日 || ✗&lt;br /&gt;
|-&lt;br /&gt;
| [[Asterisk 16]] || 2018年10月09日 || 2026年10月19日 || 2027年10月09日 || ◯&lt;br /&gt;
|-&lt;br /&gt;
| Asterisk 17 || 2019年10月28日 || 2020年10月28日 || 2021年10月28日 || ✗&lt;br /&gt;
|-&lt;br /&gt;
| [[Asterisk 18]] || 2020年10月20日 || 2024年10月20日 || 2025年10月20日 || ◯&lt;br /&gt;
|-&lt;br /&gt;
| Asterisk 19 || 2021年11月02日 || 2022年11月02日 || 2023年11月02日 || ✗&lt;br /&gt;
|-&lt;br /&gt;
| [[Asterisk 20]] || 2022年10月19日 || 2026年10月19日 || 2027年10月19日 || ◯&lt;br /&gt;
|-&lt;br /&gt;
| [[Asterisk 21]] || 2023年10月18日 || 2025年10月18日 || 2026年10月18日 || ✗&lt;br /&gt;
|-&lt;br /&gt;
| [[Asterisk 22]] || 2024年10月16日 || 2028年10月16日 || 2029年10月16日 || 〇&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Asteriskの入手とインストール==&lt;br /&gt;
Asteriskは http://www.asterisk.org から入手することができます。ソースの配布はftp/httpダウンロードの他、Githubでも行われています。https://github.com/asterisk/asterisk&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===どのバージョンをインストールすれば？===&lt;br /&gt;
現在(2025年7月)時点で安定していると思われるのはAsterisk 22です。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
基本的に&amp;quot;Standard&amp;quot;は新機能を早く試したい人向けです。なんらかのサービスで長期に渡って使う場合には&amp;quot;LTS&amp;quot;を使ってください。&amp;lt;br&amp;gt;&lt;br /&gt;
PBXの場合、一度インストールしてしまうと長期にわたって使い続けられることが多いのでLTS版をおすすめします。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
最近のAsteriskでは注意を要する点が見受けられます。それは、マイナーバージョンであっても機能追加/変更が行われることがあることです。例えば、Asterisk 20は途中でDBのスキーマ変更が入っていたり、Asterisk 22では途中からWebsocket(Channel)サポートが入ることがあったりしました。ですので、ある機能が使えない/不具合があるような場合にはマイナーバージョン(22.x.xのx.xの部分)にも注意を払ってください。&lt;br /&gt;
&lt;br /&gt;
===インストール関連情報===&lt;br /&gt;
:[[Asterisk_on_Docker]]&lt;br /&gt;
:[[Asterisk_Startup_systemd]]&lt;br /&gt;
&lt;br /&gt;
===オプションのパッケージ===&lt;br /&gt;
*[[DAHDI]](旧Zaptel)&amp;lt;br&amp;gt;&lt;br /&gt;
:Asterisk 1.4.20以降およびAsterisk 1.6からはZaptelにかわり[[DAHDI]]が使用されます。&amp;lt;br&amp;gt;&lt;br /&gt;
:アナログ、BRI/PRIのボードを使用しない場合には不要です。&lt;br /&gt;
*libpri&amp;lt;br&amp;gt;&lt;br /&gt;
:PRIを使用しなければ必要ありません。&amp;lt;br&amp;gt;&lt;br /&gt;
*OS/ディストリ依存情報&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Asteriskインストールメモ]]&amp;lt;br&amp;gt;&lt;br /&gt;
*よくわからない場合は[[謎の補助説明ページ]]もどうぞ(このページを見ても疑問が氷解するとは限りませんが) &lt;br /&gt;
:[[Asterisk 20 サンプル設定ファイル]]を使ってみてください。&amp;lt;br&amp;gt; &lt;br /&gt;
:[[extension道場]]も参考になります。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===各バージョンの情報===&lt;br /&gt;
*旧バージョンの情報&lt;br /&gt;
:[[Asterisk 旧バージョン]]&lt;br /&gt;
&lt;br /&gt;
*[[Asterisk 20]]&lt;br /&gt;
:2022年10月リリース。LTS。&lt;br /&gt;
*[[Asterisk 21]]&lt;br /&gt;
:2023年10月リリース。非LTS(Standard)。&lt;br /&gt;
*[[Asterisk 22]]&lt;br /&gt;
:2024年10月リリース。LTS。&lt;br /&gt;
&lt;br /&gt;
===DAHDIへの移行===&lt;br /&gt;
:[[DAHDIインストール]]&lt;br /&gt;
===Asterisk+DB===&lt;br /&gt;
&#039;&#039;&#039;注意:MySQLの直接サポートはなくなりました。MySQLを使用する場合にはODBCを使用して下さい。&#039;&#039;&#039;&lt;br /&gt;
:[[Asterisk+MySQL]] (廃止)&lt;br /&gt;
:[[Asterisk+PostgreSQL]]&lt;br /&gt;
:[[Asterisk CDR SQLite]]&lt;br /&gt;
:[[Asterisk 11 ODBC]]&lt;br /&gt;
&lt;br /&gt;
===使用する上でのヒント===&lt;br /&gt;
*[[Asterisk Tips]]&lt;br /&gt;
===注意点などの追加情報===&lt;br /&gt;
*[[Asterisk 追加情報]]&lt;br /&gt;
===セキュリティ===&lt;br /&gt;
*[[利用者:MR G]]の[[パケットフィルタリング]]&lt;br /&gt;
*&#039;&#039;&#039;[[Asterisk SIP セキュリティ]]&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;[[SIP-Fail2ban]]&#039;&#039;&#039;&lt;br /&gt;
*[[Asteriskが使用するポート一覧]]&lt;br /&gt;
&lt;br /&gt;
===参考になるページ===&lt;br /&gt;
MR Gさんのページ [[利用者:MR G]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Asterisk NAT]]&amp;lt;br&amp;gt;&lt;br /&gt;
kei_ef_2000(a.k.a ふかうみ)さんの「Asterisk SugarLookup」解説ページ[[利用者:kei ef 2000]]&amp;lt;br&amp;gt;&lt;br /&gt;
===参考になるかどうかよくわからないページ===&lt;br /&gt;
[[バカstarisk]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[あすりん(仮)]]&lt;br /&gt;
&lt;br /&gt;
==派生ディストリビューション==&lt;br /&gt;
[[Asteriskの派生ディストリビューション]]&lt;br /&gt;
==アンインストール==&lt;br /&gt;
[[アンインストール情報]]のページへ&lt;br /&gt;
&lt;br /&gt;
==Asteriskの動作する環境==&lt;br /&gt;
IA系のマシンでLinuxをOSとして使用します。多くのLinuxディストリビューションで動作しています。ただしLinux 2.4カーネルを使用する場合には、ZatelがUSB-UHCIを必要とするため注意が必要です。Linux 2.6カーネル以降ならば問題はありません。&lt;br /&gt;
===OS===&lt;br /&gt;
[[Asterisk動作確認済みOS]]&lt;br /&gt;
===関連情報===&lt;br /&gt;
[[Asterisk Timer]]&amp;lt;br&amp;gt; &lt;br /&gt;
[[Zaptel udev]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Asterisk MacOSXでの動作]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Asterisk FreeBSDでの動作]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===特殊なプラットフォーム===&lt;br /&gt;
*小型アプライアンス類&lt;br /&gt;
:コンパクトなAsteriskマシンが欲しい方は[[アプライアンス]]ページを参照&amp;lt;br&amp;gt;&lt;br /&gt;
*OpenWRT&amp;lt;br&amp;gt;&lt;br /&gt;
:ルータ用代替ファームウェア。Asteriskのインストールも可能。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asteriskと回線や電話機等の接続==&lt;br /&gt;
AsteriskはSIPやH.323といったIPベースの接続の他、アナログやISDNなど様々な回線に対応します。&lt;br /&gt;
===IP===&lt;br /&gt;
*[[IP電話機]]&lt;br /&gt;
*[[ITSP接続]]&lt;br /&gt;
*[[ENUM]]&lt;br /&gt;
===アナログ===&lt;br /&gt;
*[[アナログ回線の接続]]&lt;br /&gt;
*[[アナログ電話機の接続]]&lt;br /&gt;
===ISDN===&lt;br /&gt;
*[[ISDN接続]]&lt;br /&gt;
===ひかり電話===&lt;br /&gt;
*[[ひかり電話対応]]&lt;br /&gt;
===回線交換機（アナログ式PBX）===&lt;br /&gt;
*[[OD接続(E&amp;amp;M)]]&lt;br /&gt;
*[[FXS接続]]&lt;br /&gt;
*[[FXO接続]]&lt;br /&gt;
&lt;br /&gt;
=== 携帯電話 ===&lt;br /&gt;
&lt;br /&gt;
*[[Bluetooth接続(chan_mobile)]]&lt;br /&gt;
*chan_dongle&lt;br /&gt;
:USB経由でHuaweiのUSBドングルを接続するチャネルドライバ。音声/SMS(日本語も)/USSDに対応。開発は活発ではないけど使える模様。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;&lt;br /&gt;
===Skype===&lt;br /&gt;
*[[Skype for Asterisk]]&lt;br /&gt;
:Digiumのプロダクト。ディスコン。&lt;br /&gt;
*[https://www.skype.com/ja/features/skype-connect/ Skype Connect]&lt;br /&gt;
:Skype公式のSIP接続サービス。US$6.95/ch/月&lt;br /&gt;
&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===FAX===&lt;br /&gt;
*[[Fax for Asterisk]] (終息)&lt;br /&gt;
:Digiumのプロダクト&lt;br /&gt;
*spandsp + res_fax_spandsp&lt;br /&gt;
:Asterisk13以降。なおapp_faxは非推奨&lt;br /&gt;
*IAXModem + Hylafax&lt;br /&gt;
===無線機===&lt;br /&gt;
*[[Asterisk+Radio]]&lt;br /&gt;
&lt;br /&gt;
==Asteriskの管理==&lt;br /&gt;
*コマンドライン&lt;br /&gt;
:[[Asterisk_CLI]]&lt;br /&gt;
*[[Asterisk Manager Interface]]&lt;br /&gt;
:Asterisk管理インタフェース&lt;br /&gt;
*GUI&lt;br /&gt;
:Asteriskは基本的にはGUIを持ちません。Asterisk NOWはブラウザによる管理インタフェースを持っています。&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Asterisk-GUI]](純正)&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Asterisk GUI]]&amp;lt;br&amp;gt;&lt;br /&gt;
:ADM&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==外部プログラムとの連携==&lt;br /&gt;
*[[自動発信|コール用ファイル]](call file)&lt;br /&gt;
*AGI: Asterisk Gateway Interface&lt;br /&gt;
*AMI: Asterisk Manager Interface&lt;br /&gt;
*ARI: Asterisk REST Interface&lt;br /&gt;
*ダイヤルプランから&lt;br /&gt;
:Application_Exec, Function_SHELL, Function_FILE&lt;br /&gt;
:Application_ReadFileは非推奨。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==IP電話関連機器はどこで買えますか？==&lt;br /&gt;
日本国内での入手性も序々に良くなってきました。&amp;lt;br&amp;gt;&lt;br /&gt;
[[購入情報]] のページを参照してください。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==日本国内対応==&lt;br /&gt;
Asteriskを日本国内に対応させる情報は下記を参照してください。&amp;lt;br&amp;gt;&lt;br /&gt;
===ローカライズ===&lt;br /&gt;
*&amp;lt;s&amp;gt;[[Asterisk パッチ]]&amp;lt;/s&amp;gt;(現在のバージョンでは必要ありません)&lt;br /&gt;
*[[Asterisk 日本語音声]]&lt;br /&gt;
*[[音声合成]]&lt;br /&gt;
&lt;br /&gt;
===接続および使い方===&lt;br /&gt;
*[[ひかり電話対応]]&lt;br /&gt;
*[[ラインキー問題]]&lt;br /&gt;
===コールパーキング===&lt;br /&gt;
『1番に電話～』式のコールパーキングについては&lt;br /&gt;
*[[Asterisk_コールパーキング]]&lt;br /&gt;
&lt;br /&gt;
==書籍==&lt;br /&gt;
===日本語===&lt;br /&gt;
*[http://www.amazon.co.jp/exec/obidos/ASIN/4798011290/takahashitaka-22/ref=nosim AsteriskでつくるIP電話システム』]([[たかはし]]の著書)&lt;br /&gt;
:1.0ベースのため1.2系は当Wikiでフォローしています。&amp;lt;br&amp;gt;&lt;br /&gt;
:VoIPの基本からAsteriskのインストール/稼動までの入門向きです。&amp;lt;br&amp;gt;&lt;br /&gt;
*[http://www.amazon.co.jp/exec/obidos/ASIN/4798016322/takahashitaka-22/ref=nosim 『Asterisk徹底活用ガイド』]([[たかはし]]の著書)&lt;br /&gt;
:Asterisk 1.2/1.4対応になっています。各種設定のリファレンスおよび設定事例など&lt;br /&gt;
:Asteriskに特化した内容となっています。&lt;br /&gt;
*[http://www.amazon.co.jp/exec/obidos/ASIN/4798017795/takahashitaka-22/ref=nosim 『AsteriskNOWではじめるIP電話』]([[たかはし]]の著書)&lt;br /&gt;
:AsteriskNOWによるAsteriskの入門書です。&lt;br /&gt;
*[http://www.amazon.co.jp/exec/obidos/ASIN/4873112893/takahashitaka-22/ref=nosim Asterisk-テレフォニーの未来-]&lt;br /&gt;
:オライリーの翻訳版。Asterisk 1.2対応も若干入っているようです。http://www.oreilly.co.jp/books/4873112893/&amp;lt;br&amp;gt;&lt;br /&gt;
*[http://www.amazon.co.jp/exec/obidos/ASIN/4777512789/takahashitaka-22/ref=nosim Trixbox実践ガイドブック―オープンソースの「PBXソフト」で「IPビジネスフォン」を作る]&lt;br /&gt;
*[http://www.amazon.co.jp/exec/obidos/ASIN/4839922810/takahashitaka-22/ref=nosim AsteriskによるIP-PBXシステム構築ガイド]&amp;lt;br&amp;gt;&lt;br /&gt;
:1.2ベースの本のようです。1.2のソースCD付。&amp;lt;br&amp;gt;&lt;br /&gt;
*[http://www.amazon.co.jp/exec/obidos/ASIN/4274066835/takahashitaka-22/ref=nosim Asterisk運用・開発ガイド]&amp;lt;br&amp;gt;&lt;br /&gt;
:APIなど開発/運用者向けの詳細な記載あり、上級者向け。&amp;lt;br&amp;gt;&lt;br /&gt;
*[https://www.amazon.co.jp/dp/B00B0NJ6I8/takahashitaka-22/ref=nosim Ubuntu 12.04 と EC2で作る Asterisk電話サーバ](kindle)&lt;br /&gt;
&lt;br /&gt;
===洋書=== &lt;br /&gt;
*[http://www.amazon.co.jp/Asterisk-Telephony-Jim-Van-Meggelen/dp/0596009623/takahashitaka-22/ref=nosim Asterisk : The Future of Telephony]&amp;lt;br&amp;gt;&lt;br /&gt;
:こちらも1.0ベースの本。&amp;lt;br&amp;gt;&lt;br /&gt;
:Asterisk : The Future of Telephony (Asterisk Documentation Project)&amp;lt;br&amp;gt;&lt;br /&gt;
:The Future of TelephonyはCreative Commons licenseの元、オンライン(PDF文書)で公開されています。&amp;lt;br&amp;gt;&lt;br /&gt;
*[http://www.amazon.co.jp/Asterisk-Telephony-Jim-Van-Meggelen/dp/0596510489/takahashitaka-22/ref=nosim Asterisk : The Future of Telephony (2nd Edition)]&amp;lt;br&amp;gt;&lt;br /&gt;
:2ndエディションで1.4対応だそうです。&lt;br /&gt;
*[http://www.amazon.co.jp/Asterisk-Telephony-Jim-Van-Meggelen/dp/059652692X/takahashitaka-22/ref=nosim Asterisk Cookbook (Cookbook)]&amp;lt;br&amp;gt;&lt;br /&gt;
:発売日：2008/12/30何度か発売が伸びています。日本語版は出るのかは不明です。[http://www.asteriskcookbook.com/wiki/index.php/Main_Page Asterisk Cookbook Wiki]などあるようです。&lt;br /&gt;
*[http://www.amazon.co.jp/dp/B00HQ0RA8M/takahashitaka-22/ref=nosim Asterisk: The Definitive Guide 4th edition]&lt;br /&gt;
:Asterisk 11に対応。pjprojectの記述はまだありません。&lt;br /&gt;
&lt;br /&gt;
==問い合わせ先など==&lt;br /&gt;
*[[Asteriskコンサルタント]]&lt;br /&gt;
*セミナー/イベントなど&lt;br /&gt;
:[[イベント情報]]のページで告知しています。&lt;br /&gt;
&lt;br /&gt;
==外部リンク==&lt;br /&gt;
:Asterisk http://www.asterisk.org&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk_22&amp;diff=12517</id>
		<title>Asterisk 22</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk_22&amp;diff=12517"/>
		<updated>2025-10-20T06:09:23Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* chan_websocket */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[カテゴリ:Asterisk]]&lt;br /&gt;
[[カテゴリ:Asterisk22]]&lt;br /&gt;
[[カテゴリ:pjsip]]&lt;br /&gt;
&lt;br /&gt;
Asterisk 22.0.0が2024年10月16日(現地時間)リリースされました。&amp;lt;br&amp;gt;&lt;br /&gt;
:メンテナンス終了は2028年10月16日&lt;br /&gt;
:セキュリティフィックス提供終了は2029年10月&lt;br /&gt;
==概要==&lt;br /&gt;
Asterisk 22は最新のAsteriskのメジャーリリースで、Asterisk 20同様にLTS(Long Term Support:通常4年)になります。&lt;br /&gt;
:https://docs.asterisk.org/About-the-Project/Asterisk-Versions/&lt;br /&gt;
===Asterisk 20からの変更点で重要なもの===&lt;br /&gt;
*chan_sipは廃止(ソースコードも含まれない)&lt;br /&gt;
*chan_alsa,chan_mgcp,chan_skinnyも廃止&lt;br /&gt;
*app_macroは廃止&lt;br /&gt;
make menuselectで確認するとわかりますが、廃止予定だったチャネルはすべて&#039;&#039;&#039;廃止&#039;&#039;&#039;されています。&lt;br /&gt;
                        **************************************************&lt;br /&gt;
                            Asterisk Module and Build Option Selection&lt;br /&gt;
                        **************************************************&lt;br /&gt;
 &lt;br /&gt;
                                 Press &#039;h&#039; for help.&lt;br /&gt;
 &lt;br /&gt;
                                 --- Core ---&lt;br /&gt;
                             [*] chan_bridge_media&lt;br /&gt;
                             [*] chan_dahdi&lt;br /&gt;
                             [*] chan_iax2&lt;br /&gt;
                             XXX chan_motif&lt;br /&gt;
                             [*] chan_pjsip&lt;br /&gt;
                             [*] chan_rtp&lt;br /&gt;
                                 --- Extended ---&lt;br /&gt;
                             [*] chan_audiosocket&lt;br /&gt;
                             [*] chan_console&lt;br /&gt;
                             [*] chan_unistim&lt;br /&gt;
Asterisk 22で使用できるチャネルは上記だけです。&amp;lt;br&amp;gt;&lt;br /&gt;
なおH.323やbluetooth(mobile)チャネルはこれまで通り、addon扱いです。&lt;br /&gt;
                        **************************************************&lt;br /&gt;
                            Asterisk Module and Build Option Selection&lt;br /&gt;
                        **************************************************&lt;br /&gt;
 &lt;br /&gt;
                                 Press &#039;h&#039; for help.&lt;br /&gt;
 &lt;br /&gt;
                                 --- Extended ---&lt;br /&gt;
                             [ ] chan_mobile&lt;br /&gt;
                             [ ] chan_ooh323&lt;br /&gt;
                             [ ] format_mp3&lt;br /&gt;
                             XXX res_config_mysql&lt;br /&gt;
===マイナーバージョンにおける注意===&lt;br /&gt;
22の途中(正確にどのバージョンかは把握していませんが)からPJSIP_CONTACTSのDBが変更になっています。カラムが1つ追加されているだけですが、古いスキーマでDBを作っているとエラーで正常動作しません。新しいものを使ってください。&lt;br /&gt;
&lt;br /&gt;
==新機能==&lt;br /&gt;
Asterisk 21で採用されたものを継承します。&amp;lt;br&amp;gt;&lt;br /&gt;
===テナントID===&lt;br /&gt;
pjsip.confで tenantid= が設定できるようになりました。CHANNEL()ファンクションでこの値を参照/設定できるようになりました(CHANNEL(tenantid))。&lt;br /&gt;
===pjsip_wizard===&lt;br /&gt;
res_pjsip_config_wizard.so がリロード可能になりました。&lt;br /&gt;
===RECORD_TIME===&lt;br /&gt;
変数 RECORD_TIME が追加され、Record()で録音した場合の録音時間(ミリ秒)を返すようになりました。&lt;br /&gt;
===chan_websocket===&lt;br /&gt;
Websocketの音声チャネルが追加(22.6以降)。&amp;lt;br&amp;gt;&lt;br /&gt;
PjSIPのWebsocketではなく、AsteriskがサポートするチャネルとしてのWebsocketクライアント。&lt;br /&gt;
&lt;br /&gt;
==削除されたもの==&lt;br /&gt;
&lt;br /&gt;
===CDR===&lt;br /&gt;
NoCDRが削除、ResetCDRの&#039;e&#039;オプションが削除&lt;br /&gt;
===app_macro===&lt;br /&gt;
Macroは完全に削除。Macroを利用していたextenは要注意。&amp;lt;br&amp;gt;&lt;br /&gt;
Asterisk app_ のオプション類でマクロを呼び出せたものもマクロは使用不可となったのでGosubに置換すること。&amp;lt;br&amp;gt;&lt;br /&gt;
:app_dialのMオプションも削除&lt;br /&gt;
:app_minivmマクロを使用した記述は動作しない&lt;br /&gt;
:app_queue 呼び出し先でマクロは使用できない&lt;br /&gt;
:ccss コールバックマクロはなし gosubのみ&lt;br /&gt;
:app_voicemail マクロサポートはなし&lt;br /&gt;
:チャネル マクロコンテキスト/プライオリティは削除&lt;br /&gt;
:オプション stdexten&lt;br /&gt;
:pbx マクロロックが削除&lt;br /&gt;
:pbx_dundi マクロはサーチしない&lt;br /&gt;
:snmp マクロコンテキスト,exten,プライオリティは削除&lt;br /&gt;
移行方法は [[Extension_Macro_To_Gosub]] を参考に。&lt;br /&gt;
&lt;br /&gt;
===app_osplookup===&lt;br /&gt;
このモジュールは削除(Asterisk 19で非推奨)&lt;br /&gt;
===chan_alsa===&lt;br /&gt;
このモジュールは削除(Asterisk 19で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
→ [[chan_console]] へ移行のこと&lt;br /&gt;
===chan_mgcp===&lt;br /&gt;
このモジュールは削除(Asterisk 19で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
===chan_sip===&lt;br /&gt;
このモジュールは削除(Asterisk 17で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;要注意:完全に削除。明示指定してコンパイルすることも不可。&amp;lt;/strong&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===chan_skinny===&lt;br /&gt;
このモジュールは削除(Asterisk 19で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
Cisco電話機(skinny)は使用不可。&lt;br /&gt;
===pbx_builtins===&lt;br /&gt;
ImportVar、SetAMAFlagsは削除&lt;br /&gt;
===res_monitor===&lt;br /&gt;
このモジュールは削除(Asterisk 16で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
これによりapp_queueのWおよびwオプションも削除&amp;lt;br&amp;gt;&lt;br /&gt;
MixMonitorを使用すること。&lt;br /&gt;
&lt;br /&gt;
===その他===&lt;br /&gt;
細かい変更点等は公式を参照のこと。&amp;lt;br&amp;gt;&lt;br /&gt;
https://docs.asterisk.org/Asterisk_22_Documentation/WhatsNew/&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===廃止予定===&lt;br /&gt;
users.confは廃止予定となっており、Asterisk 23で削除されているようです。users.confによる設定は使えなくなります。&lt;br /&gt;
&lt;br /&gt;
==注意==&lt;br /&gt;
*&#039;&#039;&#039;SIPチャネル要注意&#039;&#039;&#039;&lt;br /&gt;
:SIPチャネルはPjSipが標準となりました。chan_sipはソースも配布されず&#039;&#039;&#039;完全に廃止&#039;&#039;&#039;されました。&amp;lt;br&amp;gt;&lt;br /&gt;
→ [[Asterisk pjsip]]&amp;lt;br&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Macro廃止&#039;&#039;&#039;&lt;br /&gt;
:Macroが完全廃止されました。Gosub/Returnへの書き換えが必要です。&lt;br /&gt;
:extenでMacroを多用している例は多いので22へ移行する場合には対応してください。&lt;br /&gt;
==現状==&lt;br /&gt;
2024/10 : Asterisk 20からのアップグレードで問題はなさそうです。API周り等で細かいところまではチェックしていませんが、Asterisk 18ベースのextenでは特に問題がないようにみえています。&lt;br /&gt;
&lt;br /&gt;
==インストール==&lt;br /&gt;
===前提となるパッケージ類=== &lt;br /&gt;
GCC、G++(GNU-C++)、OpenSSL、Ncurses、bison、カーネルソース(DAHDIを使う場合)、libxml2、SQLite3、libuuid-devel&amp;lt;br&amp;gt;&lt;br /&gt;
dnsutilsは使う人がいるかもなので追加。libsrtp2はブラウザフォン対応用、libunboundはRTX/NVRで直収のため。&amp;lt;br&amp;gt;&lt;br /&gt;
Debianで説明します。&amp;lt;br&amp;gt;&lt;br /&gt;
以下の例はbookworm最小インストール(netinstall)からパッケージを追加した例です。&amp;lt;br&amp;gt;&lt;br /&gt;
 apt -y install build-essential libedit-dev uuid-dev libxml2-dev libncurses-dev libsqlite3-dev sqlite3 libssl-dev subversion git net-tools dnsutils libsrtp2-dev libunbound-dev&lt;br /&gt;
Asteriskの基本的な部分は上記のパッケージ追加で問題ないと思います。なおJanssonはAsteriskのバンドルでインストールしますので、configure時に指定します。&amp;lt;br&amp;gt;&lt;br /&gt;
Asterisk 20と同様の環境でコンパイルできました。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Asteriskソースの入手===&lt;br /&gt;
Asterisk 22のソースは以下からダウンロードできます。なお asterisk-22-current.tar.gz が最新バージョンへのシンボリックリンクとなっていますので、これをダウンロードすれば最新バージョンが入手できます。&lt;br /&gt;
 http://downloads.asterisk.org/pub/telephony/asterisk/&lt;br /&gt;
展開するディレクトリはどこでもかまいませんが、ここでは/usr/src/とします。&lt;br /&gt;
 # cd /usr/src&lt;br /&gt;
 # wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-22-current.tar.gz&lt;br /&gt;
入手したら展開しておきます。展開すると現在のAsteriskのバージョンのディレクトリに展開されます。以降それぞれの作業は、それぞれの展開したサブディレクトリで行います。&lt;br /&gt;
 # tar zxvf asterisk-22-current.tar.gz&lt;br /&gt;
 # cd asterisk-22.x.x&lt;br /&gt;
&lt;br /&gt;
===Asteriskのコンパイルとインストール===&lt;br /&gt;
基本的にconfigureしてmakeするだけですが、Janssonをバンドルで行うので以下のオプションでconfigureします。。&lt;br /&gt;
 # ./configure --with-jansson-bundled&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
以前のバージョンからアップグレードを行う場合、変更されたモジュール類が多いので、一旦、以前のモジュールをディレクトリごと名前変更してバックアップしてからインストールしてください。&amp;lt;BR&amp;gt;&lt;br /&gt;
 mv /usr/lib/asterisk/module /usr/lib/asterisk/module.20.bak&lt;br /&gt;
&lt;br /&gt;
あとはコンパイルとインストールを行うだけです(新規インストールの場合)。&lt;br /&gt;
 # make&lt;br /&gt;
 # make install&lt;br /&gt;
 # make samples&lt;br /&gt;
 # make config&lt;br /&gt;
これで新規インストールは完了します。最後の make config で起動時に自動起動するようになります。&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;アップグレード時の注意&#039;&#039;&#039;：以前のバージョンからアップグレードする場合、/etc/asterisk の設定ファイル類をバックアップしてから行ってください。make samplesすると /etc/asterisk の内容を上書きしてしまいます。アップグレード時は make installするだけで事足りることが多いです。(make configはシステムのスタートアップファイル類を更新するので大きな変更がない場合には更新の必要はありません。&lt;br /&gt;
====『何か』が足りない場合のヒント====&lt;br /&gt;
Asteriskのモジュールでコンパイルされないものが出てきた場合には以下の方法で対処してください。Asteriskの機能アップとともに依存するパッケージも増えているので『新しい機能を使いたいのに動かない』ような場合には要チェックです。&amp;lt;br&amp;gt;&lt;br /&gt;
make menuselectを実行します。コンパイルされていないモジュールを探します。例えば以下はLUAが使いたいけど、使えない場合に調べてみると&#039;pbx_lua&#039;がコンパイルされていない例です。&lt;br /&gt;
                               **************************************************&lt;br /&gt;
                                   Asterisk Module and Build Option Selection&lt;br /&gt;
                               **************************************************&lt;br /&gt;
 &lt;br /&gt;
                                        Press &#039;h&#039; for help.&lt;br /&gt;
 &lt;br /&gt;
                                        --- Core ---&lt;br /&gt;
                                    [*] pbx_config&lt;br /&gt;
                                    [*] pbx_loopback&lt;br /&gt;
                                    [*] pbx_spool&lt;br /&gt;
                                        --- Extended ---&lt;br /&gt;
                                    [*] pbx_ael&lt;br /&gt;
                                    XXX pbx_dundi&lt;br /&gt;
                                    XXX pbx_lua&lt;br /&gt;
                                    [*] pbx_realtime&lt;br /&gt;
XXXで表示されるものは『何か』が足りないのでコンパイル/インストールされないものです。カーソルを該当する箇所に移動すると、画面の下の方をみると次のような表示があるはずです。&lt;br /&gt;
                               Lua PBX Switch&lt;br /&gt;
 &lt;br /&gt;
                               Depends on: lua(E)&lt;br /&gt;
 &lt;br /&gt;
                               Support Level: extended&lt;br /&gt;
Depends onが何に依存しているかの情報で要するに&amp;quot;lua&amp;quot;に依存していることがわかります。&amp;lt;br&amp;gt;&lt;br /&gt;
ではluaのパッケージを追加すればOKかというと、それだけでは不足で、Asteriskはソースからコンパイルするので、単純なパッケージ追加だけではなく-devも追加する必要うがあります。なので、例えばLUAならば。&lt;br /&gt;
 apt install lua5.3&lt;br /&gt;
 apt install lua5.3-dev&lt;br /&gt;
のように、devパッケージも併せてインストールします。&amp;lt;br&amp;gt;&lt;br /&gt;
インストールが終わったら再度configureとmake menuselectをしてみましょう。&lt;br /&gt;
 # ./configure --with-jansson-bundled&lt;br /&gt;
 # make menuselect&lt;br /&gt;
再度確認すると次のようになっているはずです。&lt;br /&gt;
                                        --- Extended ---&lt;br /&gt;
                                    [*] pbx_ael&lt;br /&gt;
                                    XXX pbx_dundi&lt;br /&gt;
                                    [*] pbx_lua&lt;br /&gt;
                                    [*] pbx_realtime&lt;br /&gt;
これで表示が&#039;&#039;&#039;[*]&#039;&#039;&#039;となったので、コンパイル/インストールされることがわかります。このようにして何のパッケージが不足しているかを確認/追加します。&amp;lt;br&amp;gt;&lt;br /&gt;
ただしAsteriskのmake menuselectで表示されるパッケージ名称は『一般的な』ものなので自分のディストリでそれが何に相当するのかは調べてください。&lt;br /&gt;
&lt;br /&gt;
===日本語音声のインストール===&lt;br /&gt;
Asteriskの本体に付随する日本語音声は古いためGoogle TTSで合成した日本語音声(トーキー)を用意してあります(Asterisk 18ベース)。githubに用意してありますのでご利用ください。&amp;lt;br&amp;gt;&lt;br /&gt;
※core-sounds.txtを確認したところ、18と20,22で音声の差異は無いようです。&lt;br /&gt;
 git clone https://github.com/takao-t/asterisk-sound-ja.git&lt;br /&gt;
tarでまとめたものを展開します。&lt;br /&gt;
 cd asterisk-sound-ja&lt;br /&gt;
 cp core-sound-ja.tgz /var/lib/asterisk/sounds/.&lt;br /&gt;
 cd /var/lib/asterisk/sounds/&lt;br /&gt;
 tar zxvf core-sound-ja.tgz&lt;br /&gt;
これで sounds/ja の下に日本語音声ファイル類が入ります。LANGUAGE系の設定をjaにすると日本語音声が使えます。&amp;lt;br&amp;gt;&lt;br /&gt;
日本語文法に必要なパッチ類を以前提供していましたが、現在ではAsterisk本体にマージされているため文法はLANGUAGEの設定のみで対応できます。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ユーザの追加と設定==&lt;br /&gt;
Asteriskをasterisk:asteriskで起動させるために以下のようにグループ/ユーザを追加します。UID,GIDの5060は単なる趣味です。&lt;br /&gt;
 addgroup --gid 5060 asterisk&lt;br /&gt;
 adduser --uid 5060 --gid 5060 asterisk --disabled-password&lt;br /&gt;
Asteriskの実行ユーザ/グループは /etc/defaults/asterisk を編集します。以下の部分のコメントを外します。&lt;br /&gt;
 # Uncomment the following and set them to the user/groups that you&lt;br /&gt;
 # want to run Asterisk as. NOTE: this requires substantial work to&lt;br /&gt;
 # be sure that Asterisk&#039;s environment has permission to write the&lt;br /&gt;
 # files required  for  its  operation, including logs, its comm&lt;br /&gt;
 # socket, the asterisk database, etc.&lt;br /&gt;
 AST_USER=&amp;quot;asterisk&amp;quot;     &amp;lt;==ここと&lt;br /&gt;
 AST_GROUP=&amp;quot;asterisk&amp;quot;    &amp;lt;==ここ&lt;br /&gt;
&lt;br /&gt;
ディレクトリ/ファイル類の権限も調整しておきましょう。&lt;br /&gt;
 chown -R asterisk:asterisk /var/log/asterisk&lt;br /&gt;
 chown -R asterisk:asterisk /var/lib/asterisk&lt;br /&gt;
 chown -R asterisk:asterisk /var/spool/asterisk&lt;br /&gt;
 chown -R asterisk:asterisk /usr/lib/asterisk&lt;br /&gt;
 chown -R asterisk:asterisk /etc/asterisk&lt;br /&gt;
これでsystemctlで起動すればAsteriskが動くはずです。&lt;br /&gt;
&lt;br /&gt;
==サンプル設定ファイルと応用例==&lt;br /&gt;
Asterisk 20以降用に大幅に書き直しました。&amp;lt;br&amp;gt;&lt;br /&gt;
:https://github.com/takao-t/asterisk-conf/tree/main/asterisk_20&lt;br /&gt;
:使い方 [[Asterisk_20_サンプル設定ファイル]]&lt;br /&gt;
:解説 [[Asterisk_20_サンプル設定ファイル_解説]]&lt;br /&gt;
:NVR500の使用例 [[Asterisk+NVR500]]&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk&amp;diff=12516</id>
		<title>Asterisk</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk&amp;diff=12516"/>
		<updated>2025-10-20T06:07:43Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* どのバージョンをインストールすれば？ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Asterisk]]&lt;br /&gt;
[[Category:VoIP]]&lt;br /&gt;
==Asterisk: Open Source Communication Framework== &lt;br /&gt;
AsteriskはオープンソースのPBXでDigiumのMark Spencerによって始められました。&amp;lt;br&amp;gt;&lt;br /&gt;
DigiumはSangomaによって買収されたため、現在はSangoma傘下です。→ [[Sangoma Digium]]&amp;lt;br&amp;gt;&lt;br /&gt;
PBXというと会社内の電話やビジネスホン等を思い浮かべるのですが、Asteriskが使用されるのは、いわゆる電話の分野だけではありません。通話を繋いだり切ったり(呼制御)、通話を必要とするサービスは旧来の電話だけで使われるわけではありません。様々な音声サービスに使用できるのがAsteriskです。このため電話交換機からインターネット上の音声サービスまで様々に使用されているのがAsteriskです。&amp;lt;br&amp;gt;&lt;br /&gt;
日本でAsteriskが広く知られるようになったのは2005年頃からです。&amp;lt;br&amp;gt;&lt;br /&gt;
===公式ドキュメント===&lt;br /&gt;
https://docs.asterisk.org/&lt;br /&gt;
===対応するプロトコル===&lt;br /&gt;
*IP系&lt;br /&gt;
:[[Asterisk pjsip | SIP]] (プロトコルスタックは2種類、chan_sipとPjSIP。chan_sipは廃止:Asterisk 21～)&lt;br /&gt;
: 音声交換だけでなくSIP MESSAGEを使うことでテキストベースのメッセージ交換にも使えます。[[SIPメッセージング]]&lt;br /&gt;
:H.323&lt;br /&gt;
:MOTIF&lt;br /&gt;
:UNISTIM&lt;br /&gt;
:IAX(Inter Asterisk eXchange)&lt;br /&gt;
:&amp;lt;s&amp;gt;MGCP&amp;lt;/s&amp;gt;(廃止:Asterisk 21～)&lt;br /&gt;
:&amp;lt;s&amp;gt;Skinny(Cisco)&amp;lt;/s&amp;gt; (廃止:Asterisk 21～)&lt;br /&gt;
:AudioSocket(シンプルなTCPベースの音声) (Asterisk 18～)&lt;br /&gt;
:Websocket(Asterisk 22.6～、PjSIPのws/wssではなくchan_websocketが実装された)&lt;br /&gt;
*レガシー系&lt;br /&gt;
:BRI/PRI(ISDNボード必要)&lt;br /&gt;
:アナログ(アナログボード必要)&lt;br /&gt;
:ゲートウェイを使用することでSIP-アナログ、SIP-ISDNも、もちろん接続できます&lt;br /&gt;
&lt;br /&gt;
===[[導入事例]]===&lt;br /&gt;
[[導入事例]]のページにサマリーをまとめてあります。&lt;br /&gt;
&lt;br /&gt;
==バージョン==&lt;br /&gt;
Asterisk 1.8まで&lt;br /&gt;
:偶数番号(1.0,1.2,1.4,1.6,1.8)がリリースバージョン&lt;br /&gt;
:奇数番号は開発バージョンで一般には公開されない&lt;br /&gt;
Asterisk 10以降&lt;br /&gt;
:11,13,16,18,20,22&lt;br /&gt;
::LTS(Long Term Support:長期サポートバージョン)&lt;br /&gt;
:10,12,14,15,17,19,21&lt;br /&gt;
::STD(Standard:標準サポートバージョン)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! バージョン !! リリース日(現地時間) !! サポート期限 !! セキュリティサポート期限 !! LTS&lt;br /&gt;
|-&lt;br /&gt;
| Asterisk 10 ||  ||  ||  || ✗&lt;br /&gt;
|-&lt;br /&gt;
| Asterisk 11 ||  ||  ||  || ◯&lt;br /&gt;
|-&lt;br /&gt;
| Asterisk 12 ||  ||  ||  || ✗&lt;br /&gt;
|-&lt;br /&gt;
| [[Asterisk 13]] || 2014年10月24日 || 2020年10月24日 || 2021年10月24日 || ◯&lt;br /&gt;
|-&lt;br /&gt;
| Asterisk 14 || 2016年09月26日 || 2017年09月26日 || 2018年09月26日 || ✗&lt;br /&gt;
|-&lt;br /&gt;
| Asterisk 15 || 2017年10月03日 || 2018年10月03日 || 2019年10月03日 || ✗&lt;br /&gt;
|-&lt;br /&gt;
| [[Asterisk 16]] || 2018年10月09日 || 2026年10月19日 || 2027年10月09日 || ◯&lt;br /&gt;
|-&lt;br /&gt;
| Asterisk 17 || 2019年10月28日 || 2020年10月28日 || 2021年10月28日 || ✗&lt;br /&gt;
|-&lt;br /&gt;
| [[Asterisk 18]] || 2020年10月20日 || 2024年10月20日 || 2025年10月20日 || ◯&lt;br /&gt;
|-&lt;br /&gt;
| Asterisk 19 || 2021年11月02日 || 2022年11月02日 || 2023年11月02日 || ✗&lt;br /&gt;
|-&lt;br /&gt;
| [[Asterisk 20]] || 2022年10月19日 || 2026年10月19日 || 2027年10月19日 || ◯&lt;br /&gt;
|-&lt;br /&gt;
| [[Asterisk 21]] || 2023年10月18日 || 2025年10月18日 || 2026年10月18日 || ✗&lt;br /&gt;
|-&lt;br /&gt;
| [[Asterisk 22]] || 2024年10月16日 || 2028年10月16日 || 2029年10月16日 || 〇&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Asteriskの入手とインストール==&lt;br /&gt;
Asteriskは http://www.asterisk.org から入手することができます。ソースの配布はftp/httpダウンロードの他、Githubでも行われています。https://github.com/asterisk/asterisk&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===どのバージョンをインストールすれば？===&lt;br /&gt;
現在(2025年7月)時点で安定していると思われるのはAsterisk 22です。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
基本的に&amp;quot;Standard&amp;quot;は新機能を早く試したい人向けです。なんらかのサービスで長期に渡って使う場合には&amp;quot;LTS&amp;quot;を使ってください。&amp;lt;br&amp;gt;&lt;br /&gt;
PBXの場合、一度インストールしてしまうと長期にわたって使い続けられることが多いのでLTS版をおすすめします。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
最近のAsteriskでは注意を要する点が見受けられます。それは、マイナーバージョンであっても機能追加/変更が行われることがあることです。例えば、Asterisk 20は途中でDBのスキーマ変更が入っていたり、Asterisk 22では途中からWebsocket(Channel)サポートが入ることがあったりしました。ですので、ある機能が使えない/不具合があるような場合にはマイナーバージョン(22.x.xのx.xの部分)にも注意を払ってください。&lt;br /&gt;
&lt;br /&gt;
===インストール関連情報===&lt;br /&gt;
:[[Asterisk_on_Docker]]&lt;br /&gt;
:[[Asterisk_Startup_systemd]]&lt;br /&gt;
&lt;br /&gt;
===オプションのパッケージ===&lt;br /&gt;
*[[DAHDI]](旧Zaptel)&amp;lt;br&amp;gt;&lt;br /&gt;
:Asterisk 1.4.20以降およびAsterisk 1.6からはZaptelにかわり[[DAHDI]]が使用されます。&amp;lt;br&amp;gt;&lt;br /&gt;
:アナログ、BRI/PRIのボードを使用しない場合には不要です。&lt;br /&gt;
*libpri&amp;lt;br&amp;gt;&lt;br /&gt;
:PRIを使用しなければ必要ありません。&amp;lt;br&amp;gt;&lt;br /&gt;
*OS/ディストリ依存情報&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Asteriskインストールメモ]]&amp;lt;br&amp;gt;&lt;br /&gt;
*よくわからない場合は[[謎の補助説明ページ]]もどうぞ(このページを見ても疑問が氷解するとは限りませんが) &lt;br /&gt;
:[[Asterisk 20 サンプル設定ファイル]]を使ってみてください。&amp;lt;br&amp;gt; &lt;br /&gt;
:[[extension道場]]も参考になります。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===各バージョンの情報===&lt;br /&gt;
*旧バージョンの情報&lt;br /&gt;
:[[Asterisk 旧バージョン]]&lt;br /&gt;
&lt;br /&gt;
*[[Asterisk 20]]&lt;br /&gt;
:2022年10月リリース。LTS。&lt;br /&gt;
*[[Asterisk 21]]&lt;br /&gt;
:2023年10月リリース。非LTS(Standard)。&lt;br /&gt;
*[[Asterisk 22]]&lt;br /&gt;
:2024年10月リリース。LTS。&lt;br /&gt;
&lt;br /&gt;
===DAHDIへの移行===&lt;br /&gt;
:[[DAHDIインストール]]&lt;br /&gt;
===Asterisk+DB===&lt;br /&gt;
&#039;&#039;&#039;注意:MySQLの直接サポートはなくなりました。MySQLを使用する場合にはODBCを使用して下さい。&#039;&#039;&#039;&lt;br /&gt;
:[[Asterisk+MySQL]] (廃止)&lt;br /&gt;
:[[Asterisk+PostgreSQL]]&lt;br /&gt;
:[[Asterisk CDR SQLite]]&lt;br /&gt;
:[[Asterisk 11 ODBC]]&lt;br /&gt;
&lt;br /&gt;
===使用する上でのヒント===&lt;br /&gt;
*[[Asterisk Tips]]&lt;br /&gt;
===注意点などの追加情報===&lt;br /&gt;
*[[Asterisk 追加情報]]&lt;br /&gt;
===セキュリティ===&lt;br /&gt;
*[[利用者:MR G]]の[[パケットフィルタリング]]&lt;br /&gt;
*&#039;&#039;&#039;[[Asterisk SIP セキュリティ]]&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;[[SIP-Fail2ban]]&#039;&#039;&#039;&lt;br /&gt;
*[[Asteriskが使用するポート一覧]]&lt;br /&gt;
&lt;br /&gt;
===参考になるページ===&lt;br /&gt;
MR Gさんのページ [[利用者:MR G]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Asterisk NAT]]&amp;lt;br&amp;gt;&lt;br /&gt;
kei_ef_2000(a.k.a ふかうみ)さんの「Asterisk SugarLookup」解説ページ[[利用者:kei ef 2000]]&amp;lt;br&amp;gt;&lt;br /&gt;
===参考になるかどうかよくわからないページ===&lt;br /&gt;
[[バカstarisk]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[あすりん(仮)]]&lt;br /&gt;
&lt;br /&gt;
==派生ディストリビューション==&lt;br /&gt;
[[Asteriskの派生ディストリビューション]]&lt;br /&gt;
==アンインストール==&lt;br /&gt;
[[アンインストール情報]]のページへ&lt;br /&gt;
&lt;br /&gt;
==Asteriskの動作する環境==&lt;br /&gt;
IA系のマシンでLinuxをOSとして使用します。多くのLinuxディストリビューションで動作しています。ただしLinux 2.4カーネルを使用する場合には、ZatelがUSB-UHCIを必要とするため注意が必要です。Linux 2.6カーネル以降ならば問題はありません。&lt;br /&gt;
===OS===&lt;br /&gt;
[[Asterisk動作確認済みOS]]&lt;br /&gt;
===関連情報===&lt;br /&gt;
[[Asterisk Timer]]&amp;lt;br&amp;gt; &lt;br /&gt;
[[Zaptel udev]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Asterisk MacOSXでの動作]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Asterisk FreeBSDでの動作]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===特殊なプラットフォーム===&lt;br /&gt;
*小型アプライアンス類&lt;br /&gt;
:コンパクトなAsteriskマシンが欲しい方は[[アプライアンス]]ページを参照&amp;lt;br&amp;gt;&lt;br /&gt;
*OpenWRT&amp;lt;br&amp;gt;&lt;br /&gt;
:ルータ用代替ファームウェア。Asteriskのインストールも可能。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asteriskと回線や電話機等の接続==&lt;br /&gt;
AsteriskはSIPやH.323といったIPベースの接続の他、アナログやISDNなど様々な回線に対応します。&lt;br /&gt;
===IP===&lt;br /&gt;
*[[IP電話機]]&lt;br /&gt;
*[[ITSP接続]]&lt;br /&gt;
*[[ENUM]]&lt;br /&gt;
===アナログ===&lt;br /&gt;
*[[アナログ回線の接続]]&lt;br /&gt;
*[[アナログ電話機の接続]]&lt;br /&gt;
===ISDN===&lt;br /&gt;
*[[ISDN接続]]&lt;br /&gt;
===ひかり電話===&lt;br /&gt;
*[[ひかり電話対応]]&lt;br /&gt;
===回線交換機（アナログ式PBX）===&lt;br /&gt;
*[[OD接続(E&amp;amp;M)]]&lt;br /&gt;
*[[FXS接続]]&lt;br /&gt;
*[[FXO接続]]&lt;br /&gt;
&lt;br /&gt;
=== 携帯電話 ===&lt;br /&gt;
&lt;br /&gt;
*[[Bluetooth接続(chan_mobile)]]&lt;br /&gt;
*chan_dongle&lt;br /&gt;
:USB経由でHuaweiのUSBドングルを接続するチャネルドライバ。音声/SMS(日本語も)/USSDに対応。開発は活発ではないけど使える模様。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;&lt;br /&gt;
===Skype===&lt;br /&gt;
*[[Skype for Asterisk]]&lt;br /&gt;
:Digiumのプロダクト。ディスコン。&lt;br /&gt;
*[https://www.skype.com/ja/features/skype-connect/ Skype Connect]&lt;br /&gt;
:Skype公式のSIP接続サービス。US$6.95/ch/月&lt;br /&gt;
&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===FAX===&lt;br /&gt;
*[[Fax for Asterisk]] (終息)&lt;br /&gt;
:Digiumのプロダクト&lt;br /&gt;
*spandsp + res_fax_spandsp&lt;br /&gt;
:Asterisk13以降。なおapp_faxは非推奨&lt;br /&gt;
*IAXModem + Hylafax&lt;br /&gt;
===無線機===&lt;br /&gt;
*[[Asterisk+Radio]]&lt;br /&gt;
&lt;br /&gt;
==Asteriskの管理==&lt;br /&gt;
*コマンドライン&lt;br /&gt;
:[[Asterisk_CLI]]&lt;br /&gt;
*[[Asterisk Manager Interface]]&lt;br /&gt;
:Asterisk管理インタフェース&lt;br /&gt;
*GUI&lt;br /&gt;
:Asteriskは基本的にはGUIを持ちません。Asterisk NOWはブラウザによる管理インタフェースを持っています。&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Asterisk-GUI]](純正)&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Asterisk GUI]]&amp;lt;br&amp;gt;&lt;br /&gt;
:ADM&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==外部プログラムとの連携==&lt;br /&gt;
*[[自動発信|コール用ファイル]](call file)&lt;br /&gt;
*AGI: Asterisk Gateway Interface&lt;br /&gt;
*AMI: Asterisk Manager Interface&lt;br /&gt;
*ARI: Asterisk REST Interface&lt;br /&gt;
*ダイヤルプランから&lt;br /&gt;
:Application_Exec, Function_SHELL, Function_FILE&lt;br /&gt;
:Application_ReadFileは非推奨。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==IP電話関連機器はどこで買えますか？==&lt;br /&gt;
日本国内での入手性も序々に良くなってきました。&amp;lt;br&amp;gt;&lt;br /&gt;
[[購入情報]] のページを参照してください。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==日本国内対応==&lt;br /&gt;
Asteriskを日本国内に対応させる情報は下記を参照してください。&amp;lt;br&amp;gt;&lt;br /&gt;
===ローカライズ===&lt;br /&gt;
*&amp;lt;s&amp;gt;[[Asterisk パッチ]]&amp;lt;/s&amp;gt;(現在のバージョンでは必要ありません)&lt;br /&gt;
*[[Asterisk 日本語音声]]&lt;br /&gt;
*[[音声合成]]&lt;br /&gt;
&lt;br /&gt;
===接続および使い方===&lt;br /&gt;
*[[ひかり電話対応]]&lt;br /&gt;
*[[ラインキー問題]]&lt;br /&gt;
===コールパーキング===&lt;br /&gt;
『1番に電話～』式のコールパーキングについては&lt;br /&gt;
*[[Asterisk_コールパーキング]]&lt;br /&gt;
&lt;br /&gt;
==書籍==&lt;br /&gt;
===日本語===&lt;br /&gt;
*[http://www.amazon.co.jp/exec/obidos/ASIN/4798011290/takahashitaka-22/ref=nosim AsteriskでつくるIP電話システム』]([[たかはし]]の著書)&lt;br /&gt;
:1.0ベースのため1.2系は当Wikiでフォローしています。&amp;lt;br&amp;gt;&lt;br /&gt;
:VoIPの基本からAsteriskのインストール/稼動までの入門向きです。&amp;lt;br&amp;gt;&lt;br /&gt;
*[http://www.amazon.co.jp/exec/obidos/ASIN/4798016322/takahashitaka-22/ref=nosim 『Asterisk徹底活用ガイド』]([[たかはし]]の著書)&lt;br /&gt;
:Asterisk 1.2/1.4対応になっています。各種設定のリファレンスおよび設定事例など&lt;br /&gt;
:Asteriskに特化した内容となっています。&lt;br /&gt;
*[http://www.amazon.co.jp/exec/obidos/ASIN/4798017795/takahashitaka-22/ref=nosim 『AsteriskNOWではじめるIP電話』]([[たかはし]]の著書)&lt;br /&gt;
:AsteriskNOWによるAsteriskの入門書です。&lt;br /&gt;
*[http://www.amazon.co.jp/exec/obidos/ASIN/4873112893/takahashitaka-22/ref=nosim Asterisk-テレフォニーの未来-]&lt;br /&gt;
:オライリーの翻訳版。Asterisk 1.2対応も若干入っているようです。http://www.oreilly.co.jp/books/4873112893/&amp;lt;br&amp;gt;&lt;br /&gt;
*[http://www.amazon.co.jp/exec/obidos/ASIN/4777512789/takahashitaka-22/ref=nosim Trixbox実践ガイドブック―オープンソースの「PBXソフト」で「IPビジネスフォン」を作る]&lt;br /&gt;
*[http://www.amazon.co.jp/exec/obidos/ASIN/4839922810/takahashitaka-22/ref=nosim AsteriskによるIP-PBXシステム構築ガイド]&amp;lt;br&amp;gt;&lt;br /&gt;
:1.2ベースの本のようです。1.2のソースCD付。&amp;lt;br&amp;gt;&lt;br /&gt;
*[http://www.amazon.co.jp/exec/obidos/ASIN/4274066835/takahashitaka-22/ref=nosim Asterisk運用・開発ガイド]&amp;lt;br&amp;gt;&lt;br /&gt;
:APIなど開発/運用者向けの詳細な記載あり、上級者向け。&amp;lt;br&amp;gt;&lt;br /&gt;
*[https://www.amazon.co.jp/dp/B00B0NJ6I8/takahashitaka-22/ref=nosim Ubuntu 12.04 と EC2で作る Asterisk電話サーバ](kindle)&lt;br /&gt;
&lt;br /&gt;
===洋書=== &lt;br /&gt;
*[http://www.amazon.co.jp/Asterisk-Telephony-Jim-Van-Meggelen/dp/0596009623/takahashitaka-22/ref=nosim Asterisk : The Future of Telephony]&amp;lt;br&amp;gt;&lt;br /&gt;
:こちらも1.0ベースの本。&amp;lt;br&amp;gt;&lt;br /&gt;
:Asterisk : The Future of Telephony (Asterisk Documentation Project)&amp;lt;br&amp;gt;&lt;br /&gt;
:The Future of TelephonyはCreative Commons licenseの元、オンライン(PDF文書)で公開されています。&amp;lt;br&amp;gt;&lt;br /&gt;
*[http://www.amazon.co.jp/Asterisk-Telephony-Jim-Van-Meggelen/dp/0596510489/takahashitaka-22/ref=nosim Asterisk : The Future of Telephony (2nd Edition)]&amp;lt;br&amp;gt;&lt;br /&gt;
:2ndエディションで1.4対応だそうです。&lt;br /&gt;
*[http://www.amazon.co.jp/Asterisk-Telephony-Jim-Van-Meggelen/dp/059652692X/takahashitaka-22/ref=nosim Asterisk Cookbook (Cookbook)]&amp;lt;br&amp;gt;&lt;br /&gt;
:発売日：2008/12/30何度か発売が伸びています。日本語版は出るのかは不明です。[http://www.asteriskcookbook.com/wiki/index.php/Main_Page Asterisk Cookbook Wiki]などあるようです。&lt;br /&gt;
*[http://www.amazon.co.jp/dp/B00HQ0RA8M/takahashitaka-22/ref=nosim Asterisk: The Definitive Guide 4th edition]&lt;br /&gt;
:Asterisk 11に対応。pjprojectの記述はまだありません。&lt;br /&gt;
&lt;br /&gt;
==問い合わせ先など==&lt;br /&gt;
*[[Asteriskコンサルタント]]&lt;br /&gt;
*セミナー/イベントなど&lt;br /&gt;
:[[イベント情報]]のページで告知しています。&lt;br /&gt;
&lt;br /&gt;
==外部リンク==&lt;br /&gt;
:Asterisk http://www.asterisk.org&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk&amp;diff=12515</id>
		<title>Asterisk</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk&amp;diff=12515"/>
		<updated>2025-10-20T06:07:03Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* どのバージョンをインストールすれば？ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Asterisk]]&lt;br /&gt;
[[Category:VoIP]]&lt;br /&gt;
==Asterisk: Open Source Communication Framework== &lt;br /&gt;
AsteriskはオープンソースのPBXでDigiumのMark Spencerによって始められました。&amp;lt;br&amp;gt;&lt;br /&gt;
DigiumはSangomaによって買収されたため、現在はSangoma傘下です。→ [[Sangoma Digium]]&amp;lt;br&amp;gt;&lt;br /&gt;
PBXというと会社内の電話やビジネスホン等を思い浮かべるのですが、Asteriskが使用されるのは、いわゆる電話の分野だけではありません。通話を繋いだり切ったり(呼制御)、通話を必要とするサービスは旧来の電話だけで使われるわけではありません。様々な音声サービスに使用できるのがAsteriskです。このため電話交換機からインターネット上の音声サービスまで様々に使用されているのがAsteriskです。&amp;lt;br&amp;gt;&lt;br /&gt;
日本でAsteriskが広く知られるようになったのは2005年頃からです。&amp;lt;br&amp;gt;&lt;br /&gt;
===公式ドキュメント===&lt;br /&gt;
https://docs.asterisk.org/&lt;br /&gt;
===対応するプロトコル===&lt;br /&gt;
*IP系&lt;br /&gt;
:[[Asterisk pjsip | SIP]] (プロトコルスタックは2種類、chan_sipとPjSIP。chan_sipは廃止:Asterisk 21～)&lt;br /&gt;
: 音声交換だけでなくSIP MESSAGEを使うことでテキストベースのメッセージ交換にも使えます。[[SIPメッセージング]]&lt;br /&gt;
:H.323&lt;br /&gt;
:MOTIF&lt;br /&gt;
:UNISTIM&lt;br /&gt;
:IAX(Inter Asterisk eXchange)&lt;br /&gt;
:&amp;lt;s&amp;gt;MGCP&amp;lt;/s&amp;gt;(廃止:Asterisk 21～)&lt;br /&gt;
:&amp;lt;s&amp;gt;Skinny(Cisco)&amp;lt;/s&amp;gt; (廃止:Asterisk 21～)&lt;br /&gt;
:AudioSocket(シンプルなTCPベースの音声) (Asterisk 18～)&lt;br /&gt;
:Websocket(Asterisk 22.6～、PjSIPのws/wssではなくchan_websocketが実装された)&lt;br /&gt;
*レガシー系&lt;br /&gt;
:BRI/PRI(ISDNボード必要)&lt;br /&gt;
:アナログ(アナログボード必要)&lt;br /&gt;
:ゲートウェイを使用することでSIP-アナログ、SIP-ISDNも、もちろん接続できます&lt;br /&gt;
&lt;br /&gt;
===[[導入事例]]===&lt;br /&gt;
[[導入事例]]のページにサマリーをまとめてあります。&lt;br /&gt;
&lt;br /&gt;
==バージョン==&lt;br /&gt;
Asterisk 1.8まで&lt;br /&gt;
:偶数番号(1.0,1.2,1.4,1.6,1.8)がリリースバージョン&lt;br /&gt;
:奇数番号は開発バージョンで一般には公開されない&lt;br /&gt;
Asterisk 10以降&lt;br /&gt;
:11,13,16,18,20,22&lt;br /&gt;
::LTS(Long Term Support:長期サポートバージョン)&lt;br /&gt;
:10,12,14,15,17,19,21&lt;br /&gt;
::STD(Standard:標準サポートバージョン)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! バージョン !! リリース日(現地時間) !! サポート期限 !! セキュリティサポート期限 !! LTS&lt;br /&gt;
|-&lt;br /&gt;
| Asterisk 10 ||  ||  ||  || ✗&lt;br /&gt;
|-&lt;br /&gt;
| Asterisk 11 ||  ||  ||  || ◯&lt;br /&gt;
|-&lt;br /&gt;
| Asterisk 12 ||  ||  ||  || ✗&lt;br /&gt;
|-&lt;br /&gt;
| [[Asterisk 13]] || 2014年10月24日 || 2020年10月24日 || 2021年10月24日 || ◯&lt;br /&gt;
|-&lt;br /&gt;
| Asterisk 14 || 2016年09月26日 || 2017年09月26日 || 2018年09月26日 || ✗&lt;br /&gt;
|-&lt;br /&gt;
| Asterisk 15 || 2017年10月03日 || 2018年10月03日 || 2019年10月03日 || ✗&lt;br /&gt;
|-&lt;br /&gt;
| [[Asterisk 16]] || 2018年10月09日 || 2026年10月19日 || 2027年10月09日 || ◯&lt;br /&gt;
|-&lt;br /&gt;
| Asterisk 17 || 2019年10月28日 || 2020年10月28日 || 2021年10月28日 || ✗&lt;br /&gt;
|-&lt;br /&gt;
| [[Asterisk 18]] || 2020年10月20日 || 2024年10月20日 || 2025年10月20日 || ◯&lt;br /&gt;
|-&lt;br /&gt;
| Asterisk 19 || 2021年11月02日 || 2022年11月02日 || 2023年11月02日 || ✗&lt;br /&gt;
|-&lt;br /&gt;
| [[Asterisk 20]] || 2022年10月19日 || 2026年10月19日 || 2027年10月19日 || ◯&lt;br /&gt;
|-&lt;br /&gt;
| [[Asterisk 21]] || 2023年10月18日 || 2025年10月18日 || 2026年10月18日 || ✗&lt;br /&gt;
|-&lt;br /&gt;
| [[Asterisk 22]] || 2024年10月16日 || 2028年10月16日 || 2029年10月16日 || 〇&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Asteriskの入手とインストール==&lt;br /&gt;
Asteriskは http://www.asterisk.org から入手することができます。ソースの配布はftp/httpダウンロードの他、Githubでも行われています。https://github.com/asterisk/asterisk&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===どのバージョンをインストールすれば？===&lt;br /&gt;
現在(2025年7月)時点で安定していると思われるのはAsterisk 22です。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
基本的に&amp;quot;Standard&amp;quot;は新機能を早く試したい人向けです。なんらかのサービスで長期に渡って使う場合には&amp;quot;LTS&amp;quot;を使ってください。&amp;lt;br&amp;gt;&lt;br /&gt;
PBXの場合、一度インストールしてしまうと長期にわたって使い続けられることが多いのでLTS版をおすすめします。&amp;lt;br&amp;gt;&lt;br /&gt;
ただし、最近のAsteriskでは注意を要する点が見受けられます。それは、マイナーバージョンであっても機能追加/変更が行われることがあることです。例えば、Asterisk 20は途中でDBのスキーマ変更が入っていたり、Asterisk 22では途中からWebsocket(Channel)サポートが入ることがあったりしました。ですので、ある機能が使えない/不具合があるような場合にはマイナーバージョン(22.x.xのx.xの部分)にも注意を払ってください。&lt;br /&gt;
&lt;br /&gt;
===インストール関連情報===&lt;br /&gt;
:[[Asterisk_on_Docker]]&lt;br /&gt;
:[[Asterisk_Startup_systemd]]&lt;br /&gt;
&lt;br /&gt;
===オプションのパッケージ===&lt;br /&gt;
*[[DAHDI]](旧Zaptel)&amp;lt;br&amp;gt;&lt;br /&gt;
:Asterisk 1.4.20以降およびAsterisk 1.6からはZaptelにかわり[[DAHDI]]が使用されます。&amp;lt;br&amp;gt;&lt;br /&gt;
:アナログ、BRI/PRIのボードを使用しない場合には不要です。&lt;br /&gt;
*libpri&amp;lt;br&amp;gt;&lt;br /&gt;
:PRIを使用しなければ必要ありません。&amp;lt;br&amp;gt;&lt;br /&gt;
*OS/ディストリ依存情報&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Asteriskインストールメモ]]&amp;lt;br&amp;gt;&lt;br /&gt;
*よくわからない場合は[[謎の補助説明ページ]]もどうぞ(このページを見ても疑問が氷解するとは限りませんが) &lt;br /&gt;
:[[Asterisk 20 サンプル設定ファイル]]を使ってみてください。&amp;lt;br&amp;gt; &lt;br /&gt;
:[[extension道場]]も参考になります。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===各バージョンの情報===&lt;br /&gt;
*旧バージョンの情報&lt;br /&gt;
:[[Asterisk 旧バージョン]]&lt;br /&gt;
&lt;br /&gt;
*[[Asterisk 20]]&lt;br /&gt;
:2022年10月リリース。LTS。&lt;br /&gt;
*[[Asterisk 21]]&lt;br /&gt;
:2023年10月リリース。非LTS(Standard)。&lt;br /&gt;
*[[Asterisk 22]]&lt;br /&gt;
:2024年10月リリース。LTS。&lt;br /&gt;
&lt;br /&gt;
===DAHDIへの移行===&lt;br /&gt;
:[[DAHDIインストール]]&lt;br /&gt;
===Asterisk+DB===&lt;br /&gt;
&#039;&#039;&#039;注意:MySQLの直接サポートはなくなりました。MySQLを使用する場合にはODBCを使用して下さい。&#039;&#039;&#039;&lt;br /&gt;
:[[Asterisk+MySQL]] (廃止)&lt;br /&gt;
:[[Asterisk+PostgreSQL]]&lt;br /&gt;
:[[Asterisk CDR SQLite]]&lt;br /&gt;
:[[Asterisk 11 ODBC]]&lt;br /&gt;
&lt;br /&gt;
===使用する上でのヒント===&lt;br /&gt;
*[[Asterisk Tips]]&lt;br /&gt;
===注意点などの追加情報===&lt;br /&gt;
*[[Asterisk 追加情報]]&lt;br /&gt;
===セキュリティ===&lt;br /&gt;
*[[利用者:MR G]]の[[パケットフィルタリング]]&lt;br /&gt;
*&#039;&#039;&#039;[[Asterisk SIP セキュリティ]]&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;[[SIP-Fail2ban]]&#039;&#039;&#039;&lt;br /&gt;
*[[Asteriskが使用するポート一覧]]&lt;br /&gt;
&lt;br /&gt;
===参考になるページ===&lt;br /&gt;
MR Gさんのページ [[利用者:MR G]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Asterisk NAT]]&amp;lt;br&amp;gt;&lt;br /&gt;
kei_ef_2000(a.k.a ふかうみ)さんの「Asterisk SugarLookup」解説ページ[[利用者:kei ef 2000]]&amp;lt;br&amp;gt;&lt;br /&gt;
===参考になるかどうかよくわからないページ===&lt;br /&gt;
[[バカstarisk]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[あすりん(仮)]]&lt;br /&gt;
&lt;br /&gt;
==派生ディストリビューション==&lt;br /&gt;
[[Asteriskの派生ディストリビューション]]&lt;br /&gt;
==アンインストール==&lt;br /&gt;
[[アンインストール情報]]のページへ&lt;br /&gt;
&lt;br /&gt;
==Asteriskの動作する環境==&lt;br /&gt;
IA系のマシンでLinuxをOSとして使用します。多くのLinuxディストリビューションで動作しています。ただしLinux 2.4カーネルを使用する場合には、ZatelがUSB-UHCIを必要とするため注意が必要です。Linux 2.6カーネル以降ならば問題はありません。&lt;br /&gt;
===OS===&lt;br /&gt;
[[Asterisk動作確認済みOS]]&lt;br /&gt;
===関連情報===&lt;br /&gt;
[[Asterisk Timer]]&amp;lt;br&amp;gt; &lt;br /&gt;
[[Zaptel udev]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Asterisk MacOSXでの動作]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Asterisk FreeBSDでの動作]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===特殊なプラットフォーム===&lt;br /&gt;
*小型アプライアンス類&lt;br /&gt;
:コンパクトなAsteriskマシンが欲しい方は[[アプライアンス]]ページを参照&amp;lt;br&amp;gt;&lt;br /&gt;
*OpenWRT&amp;lt;br&amp;gt;&lt;br /&gt;
:ルータ用代替ファームウェア。Asteriskのインストールも可能。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asteriskと回線や電話機等の接続==&lt;br /&gt;
AsteriskはSIPやH.323といったIPベースの接続の他、アナログやISDNなど様々な回線に対応します。&lt;br /&gt;
===IP===&lt;br /&gt;
*[[IP電話機]]&lt;br /&gt;
*[[ITSP接続]]&lt;br /&gt;
*[[ENUM]]&lt;br /&gt;
===アナログ===&lt;br /&gt;
*[[アナログ回線の接続]]&lt;br /&gt;
*[[アナログ電話機の接続]]&lt;br /&gt;
===ISDN===&lt;br /&gt;
*[[ISDN接続]]&lt;br /&gt;
===ひかり電話===&lt;br /&gt;
*[[ひかり電話対応]]&lt;br /&gt;
===回線交換機（アナログ式PBX）===&lt;br /&gt;
*[[OD接続(E&amp;amp;M)]]&lt;br /&gt;
*[[FXS接続]]&lt;br /&gt;
*[[FXO接続]]&lt;br /&gt;
&lt;br /&gt;
=== 携帯電話 ===&lt;br /&gt;
&lt;br /&gt;
*[[Bluetooth接続(chan_mobile)]]&lt;br /&gt;
*chan_dongle&lt;br /&gt;
:USB経由でHuaweiのUSBドングルを接続するチャネルドライバ。音声/SMS(日本語も)/USSDに対応。開発は活発ではないけど使える模様。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;&lt;br /&gt;
===Skype===&lt;br /&gt;
*[[Skype for Asterisk]]&lt;br /&gt;
:Digiumのプロダクト。ディスコン。&lt;br /&gt;
*[https://www.skype.com/ja/features/skype-connect/ Skype Connect]&lt;br /&gt;
:Skype公式のSIP接続サービス。US$6.95/ch/月&lt;br /&gt;
&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===FAX===&lt;br /&gt;
*[[Fax for Asterisk]] (終息)&lt;br /&gt;
:Digiumのプロダクト&lt;br /&gt;
*spandsp + res_fax_spandsp&lt;br /&gt;
:Asterisk13以降。なおapp_faxは非推奨&lt;br /&gt;
*IAXModem + Hylafax&lt;br /&gt;
===無線機===&lt;br /&gt;
*[[Asterisk+Radio]]&lt;br /&gt;
&lt;br /&gt;
==Asteriskの管理==&lt;br /&gt;
*コマンドライン&lt;br /&gt;
:[[Asterisk_CLI]]&lt;br /&gt;
*[[Asterisk Manager Interface]]&lt;br /&gt;
:Asterisk管理インタフェース&lt;br /&gt;
*GUI&lt;br /&gt;
:Asteriskは基本的にはGUIを持ちません。Asterisk NOWはブラウザによる管理インタフェースを持っています。&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Asterisk-GUI]](純正)&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Asterisk GUI]]&amp;lt;br&amp;gt;&lt;br /&gt;
:ADM&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==外部プログラムとの連携==&lt;br /&gt;
*[[自動発信|コール用ファイル]](call file)&lt;br /&gt;
*AGI: Asterisk Gateway Interface&lt;br /&gt;
*AMI: Asterisk Manager Interface&lt;br /&gt;
*ARI: Asterisk REST Interface&lt;br /&gt;
*ダイヤルプランから&lt;br /&gt;
:Application_Exec, Function_SHELL, Function_FILE&lt;br /&gt;
:Application_ReadFileは非推奨。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==IP電話関連機器はどこで買えますか？==&lt;br /&gt;
日本国内での入手性も序々に良くなってきました。&amp;lt;br&amp;gt;&lt;br /&gt;
[[購入情報]] のページを参照してください。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==日本国内対応==&lt;br /&gt;
Asteriskを日本国内に対応させる情報は下記を参照してください。&amp;lt;br&amp;gt;&lt;br /&gt;
===ローカライズ===&lt;br /&gt;
*&amp;lt;s&amp;gt;[[Asterisk パッチ]]&amp;lt;/s&amp;gt;(現在のバージョンでは必要ありません)&lt;br /&gt;
*[[Asterisk 日本語音声]]&lt;br /&gt;
*[[音声合成]]&lt;br /&gt;
&lt;br /&gt;
===接続および使い方===&lt;br /&gt;
*[[ひかり電話対応]]&lt;br /&gt;
*[[ラインキー問題]]&lt;br /&gt;
===コールパーキング===&lt;br /&gt;
『1番に電話～』式のコールパーキングについては&lt;br /&gt;
*[[Asterisk_コールパーキング]]&lt;br /&gt;
&lt;br /&gt;
==書籍==&lt;br /&gt;
===日本語===&lt;br /&gt;
*[http://www.amazon.co.jp/exec/obidos/ASIN/4798011290/takahashitaka-22/ref=nosim AsteriskでつくるIP電話システム』]([[たかはし]]の著書)&lt;br /&gt;
:1.0ベースのため1.2系は当Wikiでフォローしています。&amp;lt;br&amp;gt;&lt;br /&gt;
:VoIPの基本からAsteriskのインストール/稼動までの入門向きです。&amp;lt;br&amp;gt;&lt;br /&gt;
*[http://www.amazon.co.jp/exec/obidos/ASIN/4798016322/takahashitaka-22/ref=nosim 『Asterisk徹底活用ガイド』]([[たかはし]]の著書)&lt;br /&gt;
:Asterisk 1.2/1.4対応になっています。各種設定のリファレンスおよび設定事例など&lt;br /&gt;
:Asteriskに特化した内容となっています。&lt;br /&gt;
*[http://www.amazon.co.jp/exec/obidos/ASIN/4798017795/takahashitaka-22/ref=nosim 『AsteriskNOWではじめるIP電話』]([[たかはし]]の著書)&lt;br /&gt;
:AsteriskNOWによるAsteriskの入門書です。&lt;br /&gt;
*[http://www.amazon.co.jp/exec/obidos/ASIN/4873112893/takahashitaka-22/ref=nosim Asterisk-テレフォニーの未来-]&lt;br /&gt;
:オライリーの翻訳版。Asterisk 1.2対応も若干入っているようです。http://www.oreilly.co.jp/books/4873112893/&amp;lt;br&amp;gt;&lt;br /&gt;
*[http://www.amazon.co.jp/exec/obidos/ASIN/4777512789/takahashitaka-22/ref=nosim Trixbox実践ガイドブック―オープンソースの「PBXソフト」で「IPビジネスフォン」を作る]&lt;br /&gt;
*[http://www.amazon.co.jp/exec/obidos/ASIN/4839922810/takahashitaka-22/ref=nosim AsteriskによるIP-PBXシステム構築ガイド]&amp;lt;br&amp;gt;&lt;br /&gt;
:1.2ベースの本のようです。1.2のソースCD付。&amp;lt;br&amp;gt;&lt;br /&gt;
*[http://www.amazon.co.jp/exec/obidos/ASIN/4274066835/takahashitaka-22/ref=nosim Asterisk運用・開発ガイド]&amp;lt;br&amp;gt;&lt;br /&gt;
:APIなど開発/運用者向けの詳細な記載あり、上級者向け。&amp;lt;br&amp;gt;&lt;br /&gt;
*[https://www.amazon.co.jp/dp/B00B0NJ6I8/takahashitaka-22/ref=nosim Ubuntu 12.04 と EC2で作る Asterisk電話サーバ](kindle)&lt;br /&gt;
&lt;br /&gt;
===洋書=== &lt;br /&gt;
*[http://www.amazon.co.jp/Asterisk-Telephony-Jim-Van-Meggelen/dp/0596009623/takahashitaka-22/ref=nosim Asterisk : The Future of Telephony]&amp;lt;br&amp;gt;&lt;br /&gt;
:こちらも1.0ベースの本。&amp;lt;br&amp;gt;&lt;br /&gt;
:Asterisk : The Future of Telephony (Asterisk Documentation Project)&amp;lt;br&amp;gt;&lt;br /&gt;
:The Future of TelephonyはCreative Commons licenseの元、オンライン(PDF文書)で公開されています。&amp;lt;br&amp;gt;&lt;br /&gt;
*[http://www.amazon.co.jp/Asterisk-Telephony-Jim-Van-Meggelen/dp/0596510489/takahashitaka-22/ref=nosim Asterisk : The Future of Telephony (2nd Edition)]&amp;lt;br&amp;gt;&lt;br /&gt;
:2ndエディションで1.4対応だそうです。&lt;br /&gt;
*[http://www.amazon.co.jp/Asterisk-Telephony-Jim-Van-Meggelen/dp/059652692X/takahashitaka-22/ref=nosim Asterisk Cookbook (Cookbook)]&amp;lt;br&amp;gt;&lt;br /&gt;
:発売日：2008/12/30何度か発売が伸びています。日本語版は出るのかは不明です。[http://www.asteriskcookbook.com/wiki/index.php/Main_Page Asterisk Cookbook Wiki]などあるようです。&lt;br /&gt;
*[http://www.amazon.co.jp/dp/B00HQ0RA8M/takahashitaka-22/ref=nosim Asterisk: The Definitive Guide 4th edition]&lt;br /&gt;
:Asterisk 11に対応。pjprojectの記述はまだありません。&lt;br /&gt;
&lt;br /&gt;
==問い合わせ先など==&lt;br /&gt;
*[[Asteriskコンサルタント]]&lt;br /&gt;
*セミナー/イベントなど&lt;br /&gt;
:[[イベント情報]]のページで告知しています。&lt;br /&gt;
&lt;br /&gt;
==外部リンク==&lt;br /&gt;
:Asterisk http://www.asterisk.org&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk_22&amp;diff=12513</id>
		<title>Asterisk 22</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk_22&amp;diff=12513"/>
		<updated>2025-10-20T00:10:38Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* その他 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[カテゴリ:Asterisk]]&lt;br /&gt;
[[カテゴリ:Asterisk22]]&lt;br /&gt;
[[カテゴリ:pjsip]]&lt;br /&gt;
&lt;br /&gt;
Asterisk 22.0.0が2024年10月16日(現地時間)リリースされました。&amp;lt;br&amp;gt;&lt;br /&gt;
:メンテナンス終了は2028年10月16日&lt;br /&gt;
:セキュリティフィックス提供終了は2029年10月&lt;br /&gt;
==概要==&lt;br /&gt;
Asterisk 22は最新のAsteriskのメジャーリリースで、Asterisk 20同様にLTS(Long Term Support:通常4年)になります。&lt;br /&gt;
:https://docs.asterisk.org/About-the-Project/Asterisk-Versions/&lt;br /&gt;
===Asterisk 20からの変更点で重要なもの===&lt;br /&gt;
*chan_sipは廃止(ソースコードも含まれない)&lt;br /&gt;
*chan_alsa,chan_mgcp,chan_skinnyも廃止&lt;br /&gt;
*app_macroは廃止&lt;br /&gt;
make menuselectで確認するとわかりますが、廃止予定だったチャネルはすべて&#039;&#039;&#039;廃止&#039;&#039;&#039;されています。&lt;br /&gt;
                        **************************************************&lt;br /&gt;
                            Asterisk Module and Build Option Selection&lt;br /&gt;
                        **************************************************&lt;br /&gt;
 &lt;br /&gt;
                                 Press &#039;h&#039; for help.&lt;br /&gt;
 &lt;br /&gt;
                                 --- Core ---&lt;br /&gt;
                             [*] chan_bridge_media&lt;br /&gt;
                             [*] chan_dahdi&lt;br /&gt;
                             [*] chan_iax2&lt;br /&gt;
                             XXX chan_motif&lt;br /&gt;
                             [*] chan_pjsip&lt;br /&gt;
                             [*] chan_rtp&lt;br /&gt;
                                 --- Extended ---&lt;br /&gt;
                             [*] chan_audiosocket&lt;br /&gt;
                             [*] chan_console&lt;br /&gt;
                             [*] chan_unistim&lt;br /&gt;
Asterisk 22で使用できるチャネルは上記だけです。&amp;lt;br&amp;gt;&lt;br /&gt;
なおH.323やbluetooth(mobile)チャネルはこれまで通り、addon扱いです。&lt;br /&gt;
                        **************************************************&lt;br /&gt;
                            Asterisk Module and Build Option Selection&lt;br /&gt;
                        **************************************************&lt;br /&gt;
 &lt;br /&gt;
                                 Press &#039;h&#039; for help.&lt;br /&gt;
 &lt;br /&gt;
                                 --- Extended ---&lt;br /&gt;
                             [ ] chan_mobile&lt;br /&gt;
                             [ ] chan_ooh323&lt;br /&gt;
                             [ ] format_mp3&lt;br /&gt;
                             XXX res_config_mysql&lt;br /&gt;
===マイナーバージョンにおける注意===&lt;br /&gt;
22の途中(正確にどのバージョンかは把握していませんが)からPJSIP_CONTACTSのDBが変更になっています。カラムが1つ追加されているだけですが、古いスキーマでDBを作っているとエラーで正常動作しません。新しいものを使ってください。&lt;br /&gt;
&lt;br /&gt;
==新機能==&lt;br /&gt;
Asterisk 21で採用されたものを継承します。&amp;lt;br&amp;gt;&lt;br /&gt;
===テナントID===&lt;br /&gt;
pjsip.confで tenantid= が設定できるようになりました。CHANNEL()ファンクションでこの値を参照/設定できるようになりました(CHANNEL(tenantid))。&lt;br /&gt;
===pjsip_wizard===&lt;br /&gt;
res_pjsip_config_wizard.so がリロード可能になりました。&lt;br /&gt;
===RECORD_TIME===&lt;br /&gt;
変数 RECORD_TIME が追加され、Record()で録音した場合の録音時間(ミリ秒)を返すようになりました。&lt;br /&gt;
===chan_websocket===&lt;br /&gt;
Websocketの音声チャネルが追加(22.6以降)。&amp;lt;br&amp;gt;&lt;br /&gt;
PjSIPのWebsocketではなく、AsteriskがサポートするチャネルとしてのWebsocket。&lt;br /&gt;
&lt;br /&gt;
==削除されたもの==&lt;br /&gt;
&lt;br /&gt;
===CDR===&lt;br /&gt;
NoCDRが削除、ResetCDRの&#039;e&#039;オプションが削除&lt;br /&gt;
===app_macro===&lt;br /&gt;
Macroは完全に削除。Macroを利用していたextenは要注意。&amp;lt;br&amp;gt;&lt;br /&gt;
Asterisk app_ のオプション類でマクロを呼び出せたものもマクロは使用不可となったのでGosubに置換すること。&amp;lt;br&amp;gt;&lt;br /&gt;
:app_dialのMオプションも削除&lt;br /&gt;
:app_minivmマクロを使用した記述は動作しない&lt;br /&gt;
:app_queue 呼び出し先でマクロは使用できない&lt;br /&gt;
:ccss コールバックマクロはなし gosubのみ&lt;br /&gt;
:app_voicemail マクロサポートはなし&lt;br /&gt;
:チャネル マクロコンテキスト/プライオリティは削除&lt;br /&gt;
:オプション stdexten&lt;br /&gt;
:pbx マクロロックが削除&lt;br /&gt;
:pbx_dundi マクロはサーチしない&lt;br /&gt;
:snmp マクロコンテキスト,exten,プライオリティは削除&lt;br /&gt;
移行方法は [[Extension_Macro_To_Gosub]] を参考に。&lt;br /&gt;
&lt;br /&gt;
===app_osplookup===&lt;br /&gt;
このモジュールは削除(Asterisk 19で非推奨)&lt;br /&gt;
===chan_alsa===&lt;br /&gt;
このモジュールは削除(Asterisk 19で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
→ [[chan_console]] へ移行のこと&lt;br /&gt;
===chan_mgcp===&lt;br /&gt;
このモジュールは削除(Asterisk 19で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
===chan_sip===&lt;br /&gt;
このモジュールは削除(Asterisk 17で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;要注意:完全に削除。明示指定してコンパイルすることも不可。&amp;lt;/strong&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===chan_skinny===&lt;br /&gt;
このモジュールは削除(Asterisk 19で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
Cisco電話機(skinny)は使用不可。&lt;br /&gt;
===pbx_builtins===&lt;br /&gt;
ImportVar、SetAMAFlagsは削除&lt;br /&gt;
===res_monitor===&lt;br /&gt;
このモジュールは削除(Asterisk 16で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
これによりapp_queueのWおよびwオプションも削除&amp;lt;br&amp;gt;&lt;br /&gt;
MixMonitorを使用すること。&lt;br /&gt;
&lt;br /&gt;
===その他===&lt;br /&gt;
細かい変更点等は公式を参照のこと。&amp;lt;br&amp;gt;&lt;br /&gt;
https://docs.asterisk.org/Asterisk_22_Documentation/WhatsNew/&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===廃止予定===&lt;br /&gt;
users.confは廃止予定となっており、Asterisk 23で削除されているようです。users.confによる設定は使えなくなります。&lt;br /&gt;
&lt;br /&gt;
==注意==&lt;br /&gt;
*&#039;&#039;&#039;SIPチャネル要注意&#039;&#039;&#039;&lt;br /&gt;
:SIPチャネルはPjSipが標準となりました。chan_sipはソースも配布されず&#039;&#039;&#039;完全に廃止&#039;&#039;&#039;されました。&amp;lt;br&amp;gt;&lt;br /&gt;
→ [[Asterisk pjsip]]&amp;lt;br&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Macro廃止&#039;&#039;&#039;&lt;br /&gt;
:Macroが完全廃止されました。Gosub/Returnへの書き換えが必要です。&lt;br /&gt;
:extenでMacroを多用している例は多いので22へ移行する場合には対応してください。&lt;br /&gt;
==現状==&lt;br /&gt;
2024/10 : Asterisk 20からのアップグレードで問題はなさそうです。API周り等で細かいところまではチェックしていませんが、Asterisk 18ベースのextenでは特に問題がないようにみえています。&lt;br /&gt;
&lt;br /&gt;
==インストール==&lt;br /&gt;
===前提となるパッケージ類=== &lt;br /&gt;
GCC、G++(GNU-C++)、OpenSSL、Ncurses、bison、カーネルソース(DAHDIを使う場合)、libxml2、SQLite3、libuuid-devel&amp;lt;br&amp;gt;&lt;br /&gt;
dnsutilsは使う人がいるかもなので追加。libsrtp2はブラウザフォン対応用、libunboundはRTX/NVRで直収のため。&amp;lt;br&amp;gt;&lt;br /&gt;
Debianで説明します。&amp;lt;br&amp;gt;&lt;br /&gt;
以下の例はbookworm最小インストール(netinstall)からパッケージを追加した例です。&amp;lt;br&amp;gt;&lt;br /&gt;
 apt -y install build-essential libedit-dev uuid-dev libxml2-dev libncurses-dev libsqlite3-dev sqlite3 libssl-dev subversion git net-tools dnsutils libsrtp2-dev libunbound-dev&lt;br /&gt;
Asteriskの基本的な部分は上記のパッケージ追加で問題ないと思います。なおJanssonはAsteriskのバンドルでインストールしますので、configure時に指定します。&amp;lt;br&amp;gt;&lt;br /&gt;
Asterisk 20と同様の環境でコンパイルできました。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Asteriskソースの入手===&lt;br /&gt;
Asterisk 22のソースは以下からダウンロードできます。なお asterisk-22-current.tar.gz が最新バージョンへのシンボリックリンクとなっていますので、これをダウンロードすれば最新バージョンが入手できます。&lt;br /&gt;
 http://downloads.asterisk.org/pub/telephony/asterisk/&lt;br /&gt;
展開するディレクトリはどこでもかまいませんが、ここでは/usr/src/とします。&lt;br /&gt;
 # cd /usr/src&lt;br /&gt;
 # wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-22-current.tar.gz&lt;br /&gt;
入手したら展開しておきます。展開すると現在のAsteriskのバージョンのディレクトリに展開されます。以降それぞれの作業は、それぞれの展開したサブディレクトリで行います。&lt;br /&gt;
 # tar zxvf asterisk-22-current.tar.gz&lt;br /&gt;
 # cd asterisk-22.x.x&lt;br /&gt;
&lt;br /&gt;
===Asteriskのコンパイルとインストール===&lt;br /&gt;
基本的にconfigureしてmakeするだけですが、Janssonをバンドルで行うので以下のオプションでconfigureします。。&lt;br /&gt;
 # ./configure --with-jansson-bundled&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
以前のバージョンからアップグレードを行う場合、変更されたモジュール類が多いので、一旦、以前のモジュールをディレクトリごと名前変更してバックアップしてからインストールしてください。&amp;lt;BR&amp;gt;&lt;br /&gt;
 mv /usr/lib/asterisk/module /usr/lib/asterisk/module.20.bak&lt;br /&gt;
&lt;br /&gt;
あとはコンパイルとインストールを行うだけです(新規インストールの場合)。&lt;br /&gt;
 # make&lt;br /&gt;
 # make install&lt;br /&gt;
 # make samples&lt;br /&gt;
 # make config&lt;br /&gt;
これで新規インストールは完了します。最後の make config で起動時に自動起動するようになります。&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;アップグレード時の注意&#039;&#039;&#039;：以前のバージョンからアップグレードする場合、/etc/asterisk の設定ファイル類をバックアップしてから行ってください。make samplesすると /etc/asterisk の内容を上書きしてしまいます。アップグレード時は make installするだけで事足りることが多いです。(make configはシステムのスタートアップファイル類を更新するので大きな変更がない場合には更新の必要はありません。&lt;br /&gt;
====『何か』が足りない場合のヒント====&lt;br /&gt;
Asteriskのモジュールでコンパイルされないものが出てきた場合には以下の方法で対処してください。Asteriskの機能アップとともに依存するパッケージも増えているので『新しい機能を使いたいのに動かない』ような場合には要チェックです。&amp;lt;br&amp;gt;&lt;br /&gt;
make menuselectを実行します。コンパイルされていないモジュールを探します。例えば以下はLUAが使いたいけど、使えない場合に調べてみると&#039;pbx_lua&#039;がコンパイルされていない例です。&lt;br /&gt;
                               **************************************************&lt;br /&gt;
                                   Asterisk Module and Build Option Selection&lt;br /&gt;
                               **************************************************&lt;br /&gt;
 &lt;br /&gt;
                                        Press &#039;h&#039; for help.&lt;br /&gt;
 &lt;br /&gt;
                                        --- Core ---&lt;br /&gt;
                                    [*] pbx_config&lt;br /&gt;
                                    [*] pbx_loopback&lt;br /&gt;
                                    [*] pbx_spool&lt;br /&gt;
                                        --- Extended ---&lt;br /&gt;
                                    [*] pbx_ael&lt;br /&gt;
                                    XXX pbx_dundi&lt;br /&gt;
                                    XXX pbx_lua&lt;br /&gt;
                                    [*] pbx_realtime&lt;br /&gt;
XXXで表示されるものは『何か』が足りないのでコンパイル/インストールされないものです。カーソルを該当する箇所に移動すると、画面の下の方をみると次のような表示があるはずです。&lt;br /&gt;
                               Lua PBX Switch&lt;br /&gt;
 &lt;br /&gt;
                               Depends on: lua(E)&lt;br /&gt;
 &lt;br /&gt;
                               Support Level: extended&lt;br /&gt;
Depends onが何に依存しているかの情報で要するに&amp;quot;lua&amp;quot;に依存していることがわかります。&amp;lt;br&amp;gt;&lt;br /&gt;
ではluaのパッケージを追加すればOKかというと、それだけでは不足で、Asteriskはソースからコンパイルするので、単純なパッケージ追加だけではなく-devも追加する必要うがあります。なので、例えばLUAならば。&lt;br /&gt;
 apt install lua5.3&lt;br /&gt;
 apt install lua5.3-dev&lt;br /&gt;
のように、devパッケージも併せてインストールします。&amp;lt;br&amp;gt;&lt;br /&gt;
インストールが終わったら再度configureとmake menuselectをしてみましょう。&lt;br /&gt;
 # ./configure --with-jansson-bundled&lt;br /&gt;
 # make menuselect&lt;br /&gt;
再度確認すると次のようになっているはずです。&lt;br /&gt;
                                        --- Extended ---&lt;br /&gt;
                                    [*] pbx_ael&lt;br /&gt;
                                    XXX pbx_dundi&lt;br /&gt;
                                    [*] pbx_lua&lt;br /&gt;
                                    [*] pbx_realtime&lt;br /&gt;
これで表示が&#039;&#039;&#039;[*]&#039;&#039;&#039;となったので、コンパイル/インストールされることがわかります。このようにして何のパッケージが不足しているかを確認/追加します。&amp;lt;br&amp;gt;&lt;br /&gt;
ただしAsteriskのmake menuselectで表示されるパッケージ名称は『一般的な』ものなので自分のディストリでそれが何に相当するのかは調べてください。&lt;br /&gt;
&lt;br /&gt;
===日本語音声のインストール===&lt;br /&gt;
Asteriskの本体に付随する日本語音声は古いためGoogle TTSで合成した日本語音声(トーキー)を用意してあります(Asterisk 18ベース)。githubに用意してありますのでご利用ください。&amp;lt;br&amp;gt;&lt;br /&gt;
※core-sounds.txtを確認したところ、18と20,22で音声の差異は無いようです。&lt;br /&gt;
 git clone https://github.com/takao-t/asterisk-sound-ja.git&lt;br /&gt;
tarでまとめたものを展開します。&lt;br /&gt;
 cd asterisk-sound-ja&lt;br /&gt;
 cp core-sound-ja.tgz /var/lib/asterisk/sounds/.&lt;br /&gt;
 cd /var/lib/asterisk/sounds/&lt;br /&gt;
 tar zxvf core-sound-ja.tgz&lt;br /&gt;
これで sounds/ja の下に日本語音声ファイル類が入ります。LANGUAGE系の設定をjaにすると日本語音声が使えます。&amp;lt;br&amp;gt;&lt;br /&gt;
日本語文法に必要なパッチ類を以前提供していましたが、現在ではAsterisk本体にマージされているため文法はLANGUAGEの設定のみで対応できます。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ユーザの追加と設定==&lt;br /&gt;
Asteriskをasterisk:asteriskで起動させるために以下のようにグループ/ユーザを追加します。UID,GIDの5060は単なる趣味です。&lt;br /&gt;
 addgroup --gid 5060 asterisk&lt;br /&gt;
 adduser --uid 5060 --gid 5060 asterisk --disabled-password&lt;br /&gt;
Asteriskの実行ユーザ/グループは /etc/defaults/asterisk を編集します。以下の部分のコメントを外します。&lt;br /&gt;
 # Uncomment the following and set them to the user/groups that you&lt;br /&gt;
 # want to run Asterisk as. NOTE: this requires substantial work to&lt;br /&gt;
 # be sure that Asterisk&#039;s environment has permission to write the&lt;br /&gt;
 # files required  for  its  operation, including logs, its comm&lt;br /&gt;
 # socket, the asterisk database, etc.&lt;br /&gt;
 AST_USER=&amp;quot;asterisk&amp;quot;     &amp;lt;==ここと&lt;br /&gt;
 AST_GROUP=&amp;quot;asterisk&amp;quot;    &amp;lt;==ここ&lt;br /&gt;
&lt;br /&gt;
ディレクトリ/ファイル類の権限も調整しておきましょう。&lt;br /&gt;
 chown -R asterisk:asterisk /var/log/asterisk&lt;br /&gt;
 chown -R asterisk:asterisk /var/lib/asterisk&lt;br /&gt;
 chown -R asterisk:asterisk /var/spool/asterisk&lt;br /&gt;
 chown -R asterisk:asterisk /usr/lib/asterisk&lt;br /&gt;
 chown -R asterisk:asterisk /etc/asterisk&lt;br /&gt;
これでsystemctlで起動すればAsteriskが動くはずです。&lt;br /&gt;
&lt;br /&gt;
==サンプル設定ファイルと応用例==&lt;br /&gt;
Asterisk 20以降用に大幅に書き直しました。&amp;lt;br&amp;gt;&lt;br /&gt;
:https://github.com/takao-t/asterisk-conf/tree/main/asterisk_20&lt;br /&gt;
:使い方 [[Asterisk_20_サンプル設定ファイル]]&lt;br /&gt;
:解説 [[Asterisk_20_サンプル設定ファイル_解説]]&lt;br /&gt;
:NVR500の使用例 [[Asterisk+NVR500]]&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk_22&amp;diff=12512</id>
		<title>Asterisk 22</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk_22&amp;diff=12512"/>
		<updated>2025-10-20T00:10:26Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* その他 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[カテゴリ:Asterisk]]&lt;br /&gt;
[[カテゴリ:Asterisk22]]&lt;br /&gt;
[[カテゴリ:pjsip]]&lt;br /&gt;
&lt;br /&gt;
Asterisk 22.0.0が2024年10月16日(現地時間)リリースされました。&amp;lt;br&amp;gt;&lt;br /&gt;
:メンテナンス終了は2028年10月16日&lt;br /&gt;
:セキュリティフィックス提供終了は2029年10月&lt;br /&gt;
==概要==&lt;br /&gt;
Asterisk 22は最新のAsteriskのメジャーリリースで、Asterisk 20同様にLTS(Long Term Support:通常4年)になります。&lt;br /&gt;
:https://docs.asterisk.org/About-the-Project/Asterisk-Versions/&lt;br /&gt;
===Asterisk 20からの変更点で重要なもの===&lt;br /&gt;
*chan_sipは廃止(ソースコードも含まれない)&lt;br /&gt;
*chan_alsa,chan_mgcp,chan_skinnyも廃止&lt;br /&gt;
*app_macroは廃止&lt;br /&gt;
make menuselectで確認するとわかりますが、廃止予定だったチャネルはすべて&#039;&#039;&#039;廃止&#039;&#039;&#039;されています。&lt;br /&gt;
                        **************************************************&lt;br /&gt;
                            Asterisk Module and Build Option Selection&lt;br /&gt;
                        **************************************************&lt;br /&gt;
 &lt;br /&gt;
                                 Press &#039;h&#039; for help.&lt;br /&gt;
 &lt;br /&gt;
                                 --- Core ---&lt;br /&gt;
                             [*] chan_bridge_media&lt;br /&gt;
                             [*] chan_dahdi&lt;br /&gt;
                             [*] chan_iax2&lt;br /&gt;
                             XXX chan_motif&lt;br /&gt;
                             [*] chan_pjsip&lt;br /&gt;
                             [*] chan_rtp&lt;br /&gt;
                                 --- Extended ---&lt;br /&gt;
                             [*] chan_audiosocket&lt;br /&gt;
                             [*] chan_console&lt;br /&gt;
                             [*] chan_unistim&lt;br /&gt;
Asterisk 22で使用できるチャネルは上記だけです。&amp;lt;br&amp;gt;&lt;br /&gt;
なおH.323やbluetooth(mobile)チャネルはこれまで通り、addon扱いです。&lt;br /&gt;
                        **************************************************&lt;br /&gt;
                            Asterisk Module and Build Option Selection&lt;br /&gt;
                        **************************************************&lt;br /&gt;
 &lt;br /&gt;
                                 Press &#039;h&#039; for help.&lt;br /&gt;
 &lt;br /&gt;
                                 --- Extended ---&lt;br /&gt;
                             [ ] chan_mobile&lt;br /&gt;
                             [ ] chan_ooh323&lt;br /&gt;
                             [ ] format_mp3&lt;br /&gt;
                             XXX res_config_mysql&lt;br /&gt;
===マイナーバージョンにおける注意===&lt;br /&gt;
22の途中(正確にどのバージョンかは把握していませんが)からPJSIP_CONTACTSのDBが変更になっています。カラムが1つ追加されているだけですが、古いスキーマでDBを作っているとエラーで正常動作しません。新しいものを使ってください。&lt;br /&gt;
&lt;br /&gt;
==新機能==&lt;br /&gt;
Asterisk 21で採用されたものを継承します。&amp;lt;br&amp;gt;&lt;br /&gt;
===テナントID===&lt;br /&gt;
pjsip.confで tenantid= が設定できるようになりました。CHANNEL()ファンクションでこの値を参照/設定できるようになりました(CHANNEL(tenantid))。&lt;br /&gt;
===pjsip_wizard===&lt;br /&gt;
res_pjsip_config_wizard.so がリロード可能になりました。&lt;br /&gt;
===RECORD_TIME===&lt;br /&gt;
変数 RECORD_TIME が追加され、Record()で録音した場合の録音時間(ミリ秒)を返すようになりました。&lt;br /&gt;
===chan_websocket===&lt;br /&gt;
Websocketの音声チャネルが追加(22.6以降)。&amp;lt;br&amp;gt;&lt;br /&gt;
PjSIPのWebsocketではなく、AsteriskがサポートするチャネルとしてのWebsocket。&lt;br /&gt;
&lt;br /&gt;
==削除されたもの==&lt;br /&gt;
&lt;br /&gt;
===CDR===&lt;br /&gt;
NoCDRが削除、ResetCDRの&#039;e&#039;オプションが削除&lt;br /&gt;
===app_macro===&lt;br /&gt;
Macroは完全に削除。Macroを利用していたextenは要注意。&amp;lt;br&amp;gt;&lt;br /&gt;
Asterisk app_ のオプション類でマクロを呼び出せたものもマクロは使用不可となったのでGosubに置換すること。&amp;lt;br&amp;gt;&lt;br /&gt;
:app_dialのMオプションも削除&lt;br /&gt;
:app_minivmマクロを使用した記述は動作しない&lt;br /&gt;
:app_queue 呼び出し先でマクロは使用できない&lt;br /&gt;
:ccss コールバックマクロはなし gosubのみ&lt;br /&gt;
:app_voicemail マクロサポートはなし&lt;br /&gt;
:チャネル マクロコンテキスト/プライオリティは削除&lt;br /&gt;
:オプション stdexten&lt;br /&gt;
:pbx マクロロックが削除&lt;br /&gt;
:pbx_dundi マクロはサーチしない&lt;br /&gt;
:snmp マクロコンテキスト,exten,プライオリティは削除&lt;br /&gt;
移行方法は [[Extension_Macro_To_Gosub]] を参考に。&lt;br /&gt;
&lt;br /&gt;
===app_osplookup===&lt;br /&gt;
このモジュールは削除(Asterisk 19で非推奨)&lt;br /&gt;
===chan_alsa===&lt;br /&gt;
このモジュールは削除(Asterisk 19で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
→ [[chan_console]] へ移行のこと&lt;br /&gt;
===chan_mgcp===&lt;br /&gt;
このモジュールは削除(Asterisk 19で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
===chan_sip===&lt;br /&gt;
このモジュールは削除(Asterisk 17で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;要注意:完全に削除。明示指定してコンパイルすることも不可。&amp;lt;/strong&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===chan_skinny===&lt;br /&gt;
このモジュールは削除(Asterisk 19で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
Cisco電話機(skinny)は使用不可。&lt;br /&gt;
===pbx_builtins===&lt;br /&gt;
ImportVar、SetAMAFlagsは削除&lt;br /&gt;
===res_monitor===&lt;br /&gt;
このモジュールは削除(Asterisk 16で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
これによりapp_queueのWおよびwオプションも削除&amp;lt;br&amp;gt;&lt;br /&gt;
MixMonitorを使用すること。&lt;br /&gt;
&lt;br /&gt;
===その他===&lt;br /&gt;
細かい変更点等は公式を参照のこと。&amp;lt;br&amp;gt;&lt;br /&gt;
https://docs.asterisk.org/Asterisk_22_Documentation/WhatsNew/&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===廃止予定===&amp;lt;br&amp;gt;&lt;br /&gt;
users.confは廃止予定となっており、Asterisk 23で削除されているようです。users.confによる設定は使えなくなります。&lt;br /&gt;
&lt;br /&gt;
==注意==&lt;br /&gt;
*&#039;&#039;&#039;SIPチャネル要注意&#039;&#039;&#039;&lt;br /&gt;
:SIPチャネルはPjSipが標準となりました。chan_sipはソースも配布されず&#039;&#039;&#039;完全に廃止&#039;&#039;&#039;されました。&amp;lt;br&amp;gt;&lt;br /&gt;
→ [[Asterisk pjsip]]&amp;lt;br&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Macro廃止&#039;&#039;&#039;&lt;br /&gt;
:Macroが完全廃止されました。Gosub/Returnへの書き換えが必要です。&lt;br /&gt;
:extenでMacroを多用している例は多いので22へ移行する場合には対応してください。&lt;br /&gt;
==現状==&lt;br /&gt;
2024/10 : Asterisk 20からのアップグレードで問題はなさそうです。API周り等で細かいところまではチェックしていませんが、Asterisk 18ベースのextenでは特に問題がないようにみえています。&lt;br /&gt;
&lt;br /&gt;
==インストール==&lt;br /&gt;
===前提となるパッケージ類=== &lt;br /&gt;
GCC、G++(GNU-C++)、OpenSSL、Ncurses、bison、カーネルソース(DAHDIを使う場合)、libxml2、SQLite3、libuuid-devel&amp;lt;br&amp;gt;&lt;br /&gt;
dnsutilsは使う人がいるかもなので追加。libsrtp2はブラウザフォン対応用、libunboundはRTX/NVRで直収のため。&amp;lt;br&amp;gt;&lt;br /&gt;
Debianで説明します。&amp;lt;br&amp;gt;&lt;br /&gt;
以下の例はbookworm最小インストール(netinstall)からパッケージを追加した例です。&amp;lt;br&amp;gt;&lt;br /&gt;
 apt -y install build-essential libedit-dev uuid-dev libxml2-dev libncurses-dev libsqlite3-dev sqlite3 libssl-dev subversion git net-tools dnsutils libsrtp2-dev libunbound-dev&lt;br /&gt;
Asteriskの基本的な部分は上記のパッケージ追加で問題ないと思います。なおJanssonはAsteriskのバンドルでインストールしますので、configure時に指定します。&amp;lt;br&amp;gt;&lt;br /&gt;
Asterisk 20と同様の環境でコンパイルできました。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Asteriskソースの入手===&lt;br /&gt;
Asterisk 22のソースは以下からダウンロードできます。なお asterisk-22-current.tar.gz が最新バージョンへのシンボリックリンクとなっていますので、これをダウンロードすれば最新バージョンが入手できます。&lt;br /&gt;
 http://downloads.asterisk.org/pub/telephony/asterisk/&lt;br /&gt;
展開するディレクトリはどこでもかまいませんが、ここでは/usr/src/とします。&lt;br /&gt;
 # cd /usr/src&lt;br /&gt;
 # wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-22-current.tar.gz&lt;br /&gt;
入手したら展開しておきます。展開すると現在のAsteriskのバージョンのディレクトリに展開されます。以降それぞれの作業は、それぞれの展開したサブディレクトリで行います。&lt;br /&gt;
 # tar zxvf asterisk-22-current.tar.gz&lt;br /&gt;
 # cd asterisk-22.x.x&lt;br /&gt;
&lt;br /&gt;
===Asteriskのコンパイルとインストール===&lt;br /&gt;
基本的にconfigureしてmakeするだけですが、Janssonをバンドルで行うので以下のオプションでconfigureします。。&lt;br /&gt;
 # ./configure --with-jansson-bundled&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
以前のバージョンからアップグレードを行う場合、変更されたモジュール類が多いので、一旦、以前のモジュールをディレクトリごと名前変更してバックアップしてからインストールしてください。&amp;lt;BR&amp;gt;&lt;br /&gt;
 mv /usr/lib/asterisk/module /usr/lib/asterisk/module.20.bak&lt;br /&gt;
&lt;br /&gt;
あとはコンパイルとインストールを行うだけです(新規インストールの場合)。&lt;br /&gt;
 # make&lt;br /&gt;
 # make install&lt;br /&gt;
 # make samples&lt;br /&gt;
 # make config&lt;br /&gt;
これで新規インストールは完了します。最後の make config で起動時に自動起動するようになります。&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;アップグレード時の注意&#039;&#039;&#039;：以前のバージョンからアップグレードする場合、/etc/asterisk の設定ファイル類をバックアップしてから行ってください。make samplesすると /etc/asterisk の内容を上書きしてしまいます。アップグレード時は make installするだけで事足りることが多いです。(make configはシステムのスタートアップファイル類を更新するので大きな変更がない場合には更新の必要はありません。&lt;br /&gt;
====『何か』が足りない場合のヒント====&lt;br /&gt;
Asteriskのモジュールでコンパイルされないものが出てきた場合には以下の方法で対処してください。Asteriskの機能アップとともに依存するパッケージも増えているので『新しい機能を使いたいのに動かない』ような場合には要チェックです。&amp;lt;br&amp;gt;&lt;br /&gt;
make menuselectを実行します。コンパイルされていないモジュールを探します。例えば以下はLUAが使いたいけど、使えない場合に調べてみると&#039;pbx_lua&#039;がコンパイルされていない例です。&lt;br /&gt;
                               **************************************************&lt;br /&gt;
                                   Asterisk Module and Build Option Selection&lt;br /&gt;
                               **************************************************&lt;br /&gt;
 &lt;br /&gt;
                                        Press &#039;h&#039; for help.&lt;br /&gt;
 &lt;br /&gt;
                                        --- Core ---&lt;br /&gt;
                                    [*] pbx_config&lt;br /&gt;
                                    [*] pbx_loopback&lt;br /&gt;
                                    [*] pbx_spool&lt;br /&gt;
                                        --- Extended ---&lt;br /&gt;
                                    [*] pbx_ael&lt;br /&gt;
                                    XXX pbx_dundi&lt;br /&gt;
                                    XXX pbx_lua&lt;br /&gt;
                                    [*] pbx_realtime&lt;br /&gt;
XXXで表示されるものは『何か』が足りないのでコンパイル/インストールされないものです。カーソルを該当する箇所に移動すると、画面の下の方をみると次のような表示があるはずです。&lt;br /&gt;
                               Lua PBX Switch&lt;br /&gt;
 &lt;br /&gt;
                               Depends on: lua(E)&lt;br /&gt;
 &lt;br /&gt;
                               Support Level: extended&lt;br /&gt;
Depends onが何に依存しているかの情報で要するに&amp;quot;lua&amp;quot;に依存していることがわかります。&amp;lt;br&amp;gt;&lt;br /&gt;
ではluaのパッケージを追加すればOKかというと、それだけでは不足で、Asteriskはソースからコンパイルするので、単純なパッケージ追加だけではなく-devも追加する必要うがあります。なので、例えばLUAならば。&lt;br /&gt;
 apt install lua5.3&lt;br /&gt;
 apt install lua5.3-dev&lt;br /&gt;
のように、devパッケージも併せてインストールします。&amp;lt;br&amp;gt;&lt;br /&gt;
インストールが終わったら再度configureとmake menuselectをしてみましょう。&lt;br /&gt;
 # ./configure --with-jansson-bundled&lt;br /&gt;
 # make menuselect&lt;br /&gt;
再度確認すると次のようになっているはずです。&lt;br /&gt;
                                        --- Extended ---&lt;br /&gt;
                                    [*] pbx_ael&lt;br /&gt;
                                    XXX pbx_dundi&lt;br /&gt;
                                    [*] pbx_lua&lt;br /&gt;
                                    [*] pbx_realtime&lt;br /&gt;
これで表示が&#039;&#039;&#039;[*]&#039;&#039;&#039;となったので、コンパイル/インストールされることがわかります。このようにして何のパッケージが不足しているかを確認/追加します。&amp;lt;br&amp;gt;&lt;br /&gt;
ただしAsteriskのmake menuselectで表示されるパッケージ名称は『一般的な』ものなので自分のディストリでそれが何に相当するのかは調べてください。&lt;br /&gt;
&lt;br /&gt;
===日本語音声のインストール===&lt;br /&gt;
Asteriskの本体に付随する日本語音声は古いためGoogle TTSで合成した日本語音声(トーキー)を用意してあります(Asterisk 18ベース)。githubに用意してありますのでご利用ください。&amp;lt;br&amp;gt;&lt;br /&gt;
※core-sounds.txtを確認したところ、18と20,22で音声の差異は無いようです。&lt;br /&gt;
 git clone https://github.com/takao-t/asterisk-sound-ja.git&lt;br /&gt;
tarでまとめたものを展開します。&lt;br /&gt;
 cd asterisk-sound-ja&lt;br /&gt;
 cp core-sound-ja.tgz /var/lib/asterisk/sounds/.&lt;br /&gt;
 cd /var/lib/asterisk/sounds/&lt;br /&gt;
 tar zxvf core-sound-ja.tgz&lt;br /&gt;
これで sounds/ja の下に日本語音声ファイル類が入ります。LANGUAGE系の設定をjaにすると日本語音声が使えます。&amp;lt;br&amp;gt;&lt;br /&gt;
日本語文法に必要なパッチ類を以前提供していましたが、現在ではAsterisk本体にマージされているため文法はLANGUAGEの設定のみで対応できます。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ユーザの追加と設定==&lt;br /&gt;
Asteriskをasterisk:asteriskで起動させるために以下のようにグループ/ユーザを追加します。UID,GIDの5060は単なる趣味です。&lt;br /&gt;
 addgroup --gid 5060 asterisk&lt;br /&gt;
 adduser --uid 5060 --gid 5060 asterisk --disabled-password&lt;br /&gt;
Asteriskの実行ユーザ/グループは /etc/defaults/asterisk を編集します。以下の部分のコメントを外します。&lt;br /&gt;
 # Uncomment the following and set them to the user/groups that you&lt;br /&gt;
 # want to run Asterisk as. NOTE: this requires substantial work to&lt;br /&gt;
 # be sure that Asterisk&#039;s environment has permission to write the&lt;br /&gt;
 # files required  for  its  operation, including logs, its comm&lt;br /&gt;
 # socket, the asterisk database, etc.&lt;br /&gt;
 AST_USER=&amp;quot;asterisk&amp;quot;     &amp;lt;==ここと&lt;br /&gt;
 AST_GROUP=&amp;quot;asterisk&amp;quot;    &amp;lt;==ここ&lt;br /&gt;
&lt;br /&gt;
ディレクトリ/ファイル類の権限も調整しておきましょう。&lt;br /&gt;
 chown -R asterisk:asterisk /var/log/asterisk&lt;br /&gt;
 chown -R asterisk:asterisk /var/lib/asterisk&lt;br /&gt;
 chown -R asterisk:asterisk /var/spool/asterisk&lt;br /&gt;
 chown -R asterisk:asterisk /usr/lib/asterisk&lt;br /&gt;
 chown -R asterisk:asterisk /etc/asterisk&lt;br /&gt;
これでsystemctlで起動すればAsteriskが動くはずです。&lt;br /&gt;
&lt;br /&gt;
==サンプル設定ファイルと応用例==&lt;br /&gt;
Asterisk 20以降用に大幅に書き直しました。&amp;lt;br&amp;gt;&lt;br /&gt;
:https://github.com/takao-t/asterisk-conf/tree/main/asterisk_20&lt;br /&gt;
:使い方 [[Asterisk_20_サンプル設定ファイル]]&lt;br /&gt;
:解説 [[Asterisk_20_サンプル設定ファイル_解説]]&lt;br /&gt;
:NVR500の使用例 [[Asterisk+NVR500]]&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk_22&amp;diff=12511</id>
		<title>Asterisk 22</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk_22&amp;diff=12511"/>
		<updated>2025-10-20T00:09:57Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* その他 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[カテゴリ:Asterisk]]&lt;br /&gt;
[[カテゴリ:Asterisk22]]&lt;br /&gt;
[[カテゴリ:pjsip]]&lt;br /&gt;
&lt;br /&gt;
Asterisk 22.0.0が2024年10月16日(現地時間)リリースされました。&amp;lt;br&amp;gt;&lt;br /&gt;
:メンテナンス終了は2028年10月16日&lt;br /&gt;
:セキュリティフィックス提供終了は2029年10月&lt;br /&gt;
==概要==&lt;br /&gt;
Asterisk 22は最新のAsteriskのメジャーリリースで、Asterisk 20同様にLTS(Long Term Support:通常4年)になります。&lt;br /&gt;
:https://docs.asterisk.org/About-the-Project/Asterisk-Versions/&lt;br /&gt;
===Asterisk 20からの変更点で重要なもの===&lt;br /&gt;
*chan_sipは廃止(ソースコードも含まれない)&lt;br /&gt;
*chan_alsa,chan_mgcp,chan_skinnyも廃止&lt;br /&gt;
*app_macroは廃止&lt;br /&gt;
make menuselectで確認するとわかりますが、廃止予定だったチャネルはすべて&#039;&#039;&#039;廃止&#039;&#039;&#039;されています。&lt;br /&gt;
                        **************************************************&lt;br /&gt;
                            Asterisk Module and Build Option Selection&lt;br /&gt;
                        **************************************************&lt;br /&gt;
 &lt;br /&gt;
                                 Press &#039;h&#039; for help.&lt;br /&gt;
 &lt;br /&gt;
                                 --- Core ---&lt;br /&gt;
                             [*] chan_bridge_media&lt;br /&gt;
                             [*] chan_dahdi&lt;br /&gt;
                             [*] chan_iax2&lt;br /&gt;
                             XXX chan_motif&lt;br /&gt;
                             [*] chan_pjsip&lt;br /&gt;
                             [*] chan_rtp&lt;br /&gt;
                                 --- Extended ---&lt;br /&gt;
                             [*] chan_audiosocket&lt;br /&gt;
                             [*] chan_console&lt;br /&gt;
                             [*] chan_unistim&lt;br /&gt;
Asterisk 22で使用できるチャネルは上記だけです。&amp;lt;br&amp;gt;&lt;br /&gt;
なおH.323やbluetooth(mobile)チャネルはこれまで通り、addon扱いです。&lt;br /&gt;
                        **************************************************&lt;br /&gt;
                            Asterisk Module and Build Option Selection&lt;br /&gt;
                        **************************************************&lt;br /&gt;
 &lt;br /&gt;
                                 Press &#039;h&#039; for help.&lt;br /&gt;
 &lt;br /&gt;
                                 --- Extended ---&lt;br /&gt;
                             [ ] chan_mobile&lt;br /&gt;
                             [ ] chan_ooh323&lt;br /&gt;
                             [ ] format_mp3&lt;br /&gt;
                             XXX res_config_mysql&lt;br /&gt;
===マイナーバージョンにおける注意===&lt;br /&gt;
22の途中(正確にどのバージョンかは把握していませんが)からPJSIP_CONTACTSのDBが変更になっています。カラムが1つ追加されているだけですが、古いスキーマでDBを作っているとエラーで正常動作しません。新しいものを使ってください。&lt;br /&gt;
&lt;br /&gt;
==新機能==&lt;br /&gt;
Asterisk 21で採用されたものを継承します。&amp;lt;br&amp;gt;&lt;br /&gt;
===テナントID===&lt;br /&gt;
pjsip.confで tenantid= が設定できるようになりました。CHANNEL()ファンクションでこの値を参照/設定できるようになりました(CHANNEL(tenantid))。&lt;br /&gt;
===pjsip_wizard===&lt;br /&gt;
res_pjsip_config_wizard.so がリロード可能になりました。&lt;br /&gt;
===RECORD_TIME===&lt;br /&gt;
変数 RECORD_TIME が追加され、Record()で録音した場合の録音時間(ミリ秒)を返すようになりました。&lt;br /&gt;
===chan_websocket===&lt;br /&gt;
Websocketの音声チャネルが追加(22.6以降)。&amp;lt;br&amp;gt;&lt;br /&gt;
PjSIPのWebsocketではなく、AsteriskがサポートするチャネルとしてのWebsocket。&lt;br /&gt;
&lt;br /&gt;
==削除されたもの==&lt;br /&gt;
&lt;br /&gt;
===CDR===&lt;br /&gt;
NoCDRが削除、ResetCDRの&#039;e&#039;オプションが削除&lt;br /&gt;
===app_macro===&lt;br /&gt;
Macroは完全に削除。Macroを利用していたextenは要注意。&amp;lt;br&amp;gt;&lt;br /&gt;
Asterisk app_ のオプション類でマクロを呼び出せたものもマクロは使用不可となったのでGosubに置換すること。&amp;lt;br&amp;gt;&lt;br /&gt;
:app_dialのMオプションも削除&lt;br /&gt;
:app_minivmマクロを使用した記述は動作しない&lt;br /&gt;
:app_queue 呼び出し先でマクロは使用できない&lt;br /&gt;
:ccss コールバックマクロはなし gosubのみ&lt;br /&gt;
:app_voicemail マクロサポートはなし&lt;br /&gt;
:チャネル マクロコンテキスト/プライオリティは削除&lt;br /&gt;
:オプション stdexten&lt;br /&gt;
:pbx マクロロックが削除&lt;br /&gt;
:pbx_dundi マクロはサーチしない&lt;br /&gt;
:snmp マクロコンテキスト,exten,プライオリティは削除&lt;br /&gt;
移行方法は [[Extension_Macro_To_Gosub]] を参考に。&lt;br /&gt;
&lt;br /&gt;
===app_osplookup===&lt;br /&gt;
このモジュールは削除(Asterisk 19で非推奨)&lt;br /&gt;
===chan_alsa===&lt;br /&gt;
このモジュールは削除(Asterisk 19で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
→ [[chan_console]] へ移行のこと&lt;br /&gt;
===chan_mgcp===&lt;br /&gt;
このモジュールは削除(Asterisk 19で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
===chan_sip===&lt;br /&gt;
このモジュールは削除(Asterisk 17で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;要注意:完全に削除。明示指定してコンパイルすることも不可。&amp;lt;/strong&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===chan_skinny===&lt;br /&gt;
このモジュールは削除(Asterisk 19で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
Cisco電話機(skinny)は使用不可。&lt;br /&gt;
===pbx_builtins===&lt;br /&gt;
ImportVar、SetAMAFlagsは削除&lt;br /&gt;
===res_monitor===&lt;br /&gt;
このモジュールは削除(Asterisk 16で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
これによりapp_queueのWおよびwオプションも削除&amp;lt;br&amp;gt;&lt;br /&gt;
MixMonitorを使用すること。&lt;br /&gt;
&lt;br /&gt;
===その他===&lt;br /&gt;
細かい変更点等は公式を参照のこと。&amp;lt;br&amp;gt;&lt;br /&gt;
https://docs.asterisk.org/Asterisk_22_Documentation/WhatsNew/&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
廃止予定:&amp;lt;br&amp;gt;&lt;br /&gt;
:users.confは廃止予定となっており、Asterisk 23で削除されているようです。users.confによる設定は使えなくなります。&lt;br /&gt;
&lt;br /&gt;
==注意==&lt;br /&gt;
*&#039;&#039;&#039;SIPチャネル要注意&#039;&#039;&#039;&lt;br /&gt;
:SIPチャネルはPjSipが標準となりました。chan_sipはソースも配布されず&#039;&#039;&#039;完全に廃止&#039;&#039;&#039;されました。&amp;lt;br&amp;gt;&lt;br /&gt;
→ [[Asterisk pjsip]]&amp;lt;br&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Macro廃止&#039;&#039;&#039;&lt;br /&gt;
:Macroが完全廃止されました。Gosub/Returnへの書き換えが必要です。&lt;br /&gt;
:extenでMacroを多用している例は多いので22へ移行する場合には対応してください。&lt;br /&gt;
==現状==&lt;br /&gt;
2024/10 : Asterisk 20からのアップグレードで問題はなさそうです。API周り等で細かいところまではチェックしていませんが、Asterisk 18ベースのextenでは特に問題がないようにみえています。&lt;br /&gt;
&lt;br /&gt;
==インストール==&lt;br /&gt;
===前提となるパッケージ類=== &lt;br /&gt;
GCC、G++(GNU-C++)、OpenSSL、Ncurses、bison、カーネルソース(DAHDIを使う場合)、libxml2、SQLite3、libuuid-devel&amp;lt;br&amp;gt;&lt;br /&gt;
dnsutilsは使う人がいるかもなので追加。libsrtp2はブラウザフォン対応用、libunboundはRTX/NVRで直収のため。&amp;lt;br&amp;gt;&lt;br /&gt;
Debianで説明します。&amp;lt;br&amp;gt;&lt;br /&gt;
以下の例はbookworm最小インストール(netinstall)からパッケージを追加した例です。&amp;lt;br&amp;gt;&lt;br /&gt;
 apt -y install build-essential libedit-dev uuid-dev libxml2-dev libncurses-dev libsqlite3-dev sqlite3 libssl-dev subversion git net-tools dnsutils libsrtp2-dev libunbound-dev&lt;br /&gt;
Asteriskの基本的な部分は上記のパッケージ追加で問題ないと思います。なおJanssonはAsteriskのバンドルでインストールしますので、configure時に指定します。&amp;lt;br&amp;gt;&lt;br /&gt;
Asterisk 20と同様の環境でコンパイルできました。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Asteriskソースの入手===&lt;br /&gt;
Asterisk 22のソースは以下からダウンロードできます。なお asterisk-22-current.tar.gz が最新バージョンへのシンボリックリンクとなっていますので、これをダウンロードすれば最新バージョンが入手できます。&lt;br /&gt;
 http://downloads.asterisk.org/pub/telephony/asterisk/&lt;br /&gt;
展開するディレクトリはどこでもかまいませんが、ここでは/usr/src/とします。&lt;br /&gt;
 # cd /usr/src&lt;br /&gt;
 # wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-22-current.tar.gz&lt;br /&gt;
入手したら展開しておきます。展開すると現在のAsteriskのバージョンのディレクトリに展開されます。以降それぞれの作業は、それぞれの展開したサブディレクトリで行います。&lt;br /&gt;
 # tar zxvf asterisk-22-current.tar.gz&lt;br /&gt;
 # cd asterisk-22.x.x&lt;br /&gt;
&lt;br /&gt;
===Asteriskのコンパイルとインストール===&lt;br /&gt;
基本的にconfigureしてmakeするだけですが、Janssonをバンドルで行うので以下のオプションでconfigureします。。&lt;br /&gt;
 # ./configure --with-jansson-bundled&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
以前のバージョンからアップグレードを行う場合、変更されたモジュール類が多いので、一旦、以前のモジュールをディレクトリごと名前変更してバックアップしてからインストールしてください。&amp;lt;BR&amp;gt;&lt;br /&gt;
 mv /usr/lib/asterisk/module /usr/lib/asterisk/module.20.bak&lt;br /&gt;
&lt;br /&gt;
あとはコンパイルとインストールを行うだけです(新規インストールの場合)。&lt;br /&gt;
 # make&lt;br /&gt;
 # make install&lt;br /&gt;
 # make samples&lt;br /&gt;
 # make config&lt;br /&gt;
これで新規インストールは完了します。最後の make config で起動時に自動起動するようになります。&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;アップグレード時の注意&#039;&#039;&#039;：以前のバージョンからアップグレードする場合、/etc/asterisk の設定ファイル類をバックアップしてから行ってください。make samplesすると /etc/asterisk の内容を上書きしてしまいます。アップグレード時は make installするだけで事足りることが多いです。(make configはシステムのスタートアップファイル類を更新するので大きな変更がない場合には更新の必要はありません。&lt;br /&gt;
====『何か』が足りない場合のヒント====&lt;br /&gt;
Asteriskのモジュールでコンパイルされないものが出てきた場合には以下の方法で対処してください。Asteriskの機能アップとともに依存するパッケージも増えているので『新しい機能を使いたいのに動かない』ような場合には要チェックです。&amp;lt;br&amp;gt;&lt;br /&gt;
make menuselectを実行します。コンパイルされていないモジュールを探します。例えば以下はLUAが使いたいけど、使えない場合に調べてみると&#039;pbx_lua&#039;がコンパイルされていない例です。&lt;br /&gt;
                               **************************************************&lt;br /&gt;
                                   Asterisk Module and Build Option Selection&lt;br /&gt;
                               **************************************************&lt;br /&gt;
 &lt;br /&gt;
                                        Press &#039;h&#039; for help.&lt;br /&gt;
 &lt;br /&gt;
                                        --- Core ---&lt;br /&gt;
                                    [*] pbx_config&lt;br /&gt;
                                    [*] pbx_loopback&lt;br /&gt;
                                    [*] pbx_spool&lt;br /&gt;
                                        --- Extended ---&lt;br /&gt;
                                    [*] pbx_ael&lt;br /&gt;
                                    XXX pbx_dundi&lt;br /&gt;
                                    XXX pbx_lua&lt;br /&gt;
                                    [*] pbx_realtime&lt;br /&gt;
XXXで表示されるものは『何か』が足りないのでコンパイル/インストールされないものです。カーソルを該当する箇所に移動すると、画面の下の方をみると次のような表示があるはずです。&lt;br /&gt;
                               Lua PBX Switch&lt;br /&gt;
 &lt;br /&gt;
                               Depends on: lua(E)&lt;br /&gt;
 &lt;br /&gt;
                               Support Level: extended&lt;br /&gt;
Depends onが何に依存しているかの情報で要するに&amp;quot;lua&amp;quot;に依存していることがわかります。&amp;lt;br&amp;gt;&lt;br /&gt;
ではluaのパッケージを追加すればOKかというと、それだけでは不足で、Asteriskはソースからコンパイルするので、単純なパッケージ追加だけではなく-devも追加する必要うがあります。なので、例えばLUAならば。&lt;br /&gt;
 apt install lua5.3&lt;br /&gt;
 apt install lua5.3-dev&lt;br /&gt;
のように、devパッケージも併せてインストールします。&amp;lt;br&amp;gt;&lt;br /&gt;
インストールが終わったら再度configureとmake menuselectをしてみましょう。&lt;br /&gt;
 # ./configure --with-jansson-bundled&lt;br /&gt;
 # make menuselect&lt;br /&gt;
再度確認すると次のようになっているはずです。&lt;br /&gt;
                                        --- Extended ---&lt;br /&gt;
                                    [*] pbx_ael&lt;br /&gt;
                                    XXX pbx_dundi&lt;br /&gt;
                                    [*] pbx_lua&lt;br /&gt;
                                    [*] pbx_realtime&lt;br /&gt;
これで表示が&#039;&#039;&#039;[*]&#039;&#039;&#039;となったので、コンパイル/インストールされることがわかります。このようにして何のパッケージが不足しているかを確認/追加します。&amp;lt;br&amp;gt;&lt;br /&gt;
ただしAsteriskのmake menuselectで表示されるパッケージ名称は『一般的な』ものなので自分のディストリでそれが何に相当するのかは調べてください。&lt;br /&gt;
&lt;br /&gt;
===日本語音声のインストール===&lt;br /&gt;
Asteriskの本体に付随する日本語音声は古いためGoogle TTSで合成した日本語音声(トーキー)を用意してあります(Asterisk 18ベース)。githubに用意してありますのでご利用ください。&amp;lt;br&amp;gt;&lt;br /&gt;
※core-sounds.txtを確認したところ、18と20,22で音声の差異は無いようです。&lt;br /&gt;
 git clone https://github.com/takao-t/asterisk-sound-ja.git&lt;br /&gt;
tarでまとめたものを展開します。&lt;br /&gt;
 cd asterisk-sound-ja&lt;br /&gt;
 cp core-sound-ja.tgz /var/lib/asterisk/sounds/.&lt;br /&gt;
 cd /var/lib/asterisk/sounds/&lt;br /&gt;
 tar zxvf core-sound-ja.tgz&lt;br /&gt;
これで sounds/ja の下に日本語音声ファイル類が入ります。LANGUAGE系の設定をjaにすると日本語音声が使えます。&amp;lt;br&amp;gt;&lt;br /&gt;
日本語文法に必要なパッチ類を以前提供していましたが、現在ではAsterisk本体にマージされているため文法はLANGUAGEの設定のみで対応できます。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ユーザの追加と設定==&lt;br /&gt;
Asteriskをasterisk:asteriskで起動させるために以下のようにグループ/ユーザを追加します。UID,GIDの5060は単なる趣味です。&lt;br /&gt;
 addgroup --gid 5060 asterisk&lt;br /&gt;
 adduser --uid 5060 --gid 5060 asterisk --disabled-password&lt;br /&gt;
Asteriskの実行ユーザ/グループは /etc/defaults/asterisk を編集します。以下の部分のコメントを外します。&lt;br /&gt;
 # Uncomment the following and set them to the user/groups that you&lt;br /&gt;
 # want to run Asterisk as. NOTE: this requires substantial work to&lt;br /&gt;
 # be sure that Asterisk&#039;s environment has permission to write the&lt;br /&gt;
 # files required  for  its  operation, including logs, its comm&lt;br /&gt;
 # socket, the asterisk database, etc.&lt;br /&gt;
 AST_USER=&amp;quot;asterisk&amp;quot;     &amp;lt;==ここと&lt;br /&gt;
 AST_GROUP=&amp;quot;asterisk&amp;quot;    &amp;lt;==ここ&lt;br /&gt;
&lt;br /&gt;
ディレクトリ/ファイル類の権限も調整しておきましょう。&lt;br /&gt;
 chown -R asterisk:asterisk /var/log/asterisk&lt;br /&gt;
 chown -R asterisk:asterisk /var/lib/asterisk&lt;br /&gt;
 chown -R asterisk:asterisk /var/spool/asterisk&lt;br /&gt;
 chown -R asterisk:asterisk /usr/lib/asterisk&lt;br /&gt;
 chown -R asterisk:asterisk /etc/asterisk&lt;br /&gt;
これでsystemctlで起動すればAsteriskが動くはずです。&lt;br /&gt;
&lt;br /&gt;
==サンプル設定ファイルと応用例==&lt;br /&gt;
Asterisk 20以降用に大幅に書き直しました。&amp;lt;br&amp;gt;&lt;br /&gt;
:https://github.com/takao-t/asterisk-conf/tree/main/asterisk_20&lt;br /&gt;
:使い方 [[Asterisk_20_サンプル設定ファイル]]&lt;br /&gt;
:解説 [[Asterisk_20_サンプル設定ファイル_解説]]&lt;br /&gt;
:NVR500の使用例 [[Asterisk+NVR500]]&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8&amp;diff=12510</id>
		<title>メインページ</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8&amp;diff=12510"/>
		<updated>2025-10-19T22:55:03Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* サイト更新 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &#039;&#039;&#039;VoIP-Info.jp Wiki&#039;&#039;&#039; ==&lt;br /&gt;
このサイトでは[[Asterisk]]の話題を中心にVoIP関連の情報交換を行なっています。&amp;lt;br&amp;gt;&lt;br /&gt;
なおこのページは https://www.voip-info.jp https://voip-info.jp のいずれでもアクセスできます。&amp;lt;br&amp;gt;&lt;br /&gt;
Asterisk PBX、VoIP、IP電話に興味をお持ちの皆様ご参加下さい。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Asteriskをビジネスとして扱われている方は[[Asteriskコンサルタント]]のページへ。仕事を依頼したい、仕事として受けたいなど、ビジネスマッチングにお使い下さい。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;警告&#039;&#039;&#039;:以前のWikiからもそうでしたが、広告宣伝に情報が埋もれることだけは避けたいので、特定企業への誘導リンク等は適切なページへ貼ってください。[[購入情報]]や[[Asteriskコンサルタント]]のページがそれに相当します。&amp;lt;br&amp;gt;&lt;br /&gt;
広告出稿をご希望の場合はwebmaster&#039;at&#039;voip-info.jpへメールでお問合せください [[広告]]。&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
各種ユーザ会関連情報は[[コミュニティ]]のページへ。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;サイト更新&#039;&#039;&#039;==&lt;br /&gt;
サーバのOSを更新し、MediaWikiも更新しました。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
編集等を行う方は [[ユーザー登録方法]] のページを読んでください。メール認証を行わないと編集ができないようになっています。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Slackもやってます。無料版ですが。交流等にもお使いください。以下の招待リンクから参加できます。リンク切れたらまた更新します。&amp;lt;br&amp;gt;&lt;br /&gt;
:https://join.slack.com/t/voip-infojp/shared_invite/zt-3fz5bn0pu-l9jKZ_Ad4bH6FXIgZ9jsFg&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Asteriskバージョン&#039;&#039;&#039;==&lt;br /&gt;
いまだ古いバージョンのAsteriskを使い続けているケースが多く見受けられますが、サポート切れ(セキュリティfixですら提供されない)ものが多く見受けられますので注意してください。&amp;lt;br&amp;gt;&lt;br /&gt;
アップデートする際にSIPチャネルはchan_sipからchan_pjsipへ移行する必要がありますので注意してください。&lt;br /&gt;
*[[Asterisk 18]] のサポートは2025/10/20までです。&lt;br /&gt;
*[[Asterisk 20]] のサポートは2026/10/19までです。&lt;br /&gt;
*[[Asterisk 22]] がリリースされました。サポートは2028/10/16までです。chan_sipとMacroは完全廃止されました。&lt;br /&gt;
:https://docs.asterisk.org/About-the-Project/Asterisk-Versions/&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;注意したい情報&#039;&#039;&#039;==&lt;br /&gt;
===chan_sipの扱い===&lt;br /&gt;
Asterisk 21(非LTS)でchan_sipが削除され、Asterisk 22で完全廃止されています。今後、chan_sipは使えません。&amp;lt;br&amp;gt;&lt;br /&gt;
PjSIPの情報は [[Asterisk_pjsip]] のページを参照してください。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Macro===&lt;br /&gt;
Macro(app_macro)もAsterisk 21で削除され、Asterisk 22で完全廃止されています。Macroそれ自体を使っている場合、各アプリケーションのオプション等で使っている場合にはGosubへ移行が必要です。→ [[Extension_Macro_To_Gosub]]&lt;br /&gt;
&lt;br /&gt;
===注意情報===&lt;br /&gt;
&amp;lt;strong&amp;gt;[[テレワーク関連に対する注意喚起]]&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===安直にサーバを立てないでください===&lt;br /&gt;
Asteriskの情報に辿り着き、クラウド上等にPBXを構築する場合、ネット上の一般的な情報だけを元に安直にAsteriskサーバを立てるのはやめましょう。インターネット上で開いているサーバには十分なセキュリティを施しておかないと、いわゆる『タダがけ』でやられます。特にSIPの5060ポートに対する攻撃は、あっという間に来ます。[[Asterisk SIP セキュリティ]] のページを参考にして注意して運用してください。&lt;br /&gt;
===会社の電話(番号)をテレワークでも使いたい===&lt;br /&gt;
これは我々の得意とする分野です。お困りの場合には [[コミュニティ]] のページからユーザ会にご参加いただき、案件を投げてもらえれば手を挙げてくれるベンダーさんもいるかと思います。[[Asteriskコンサルタント]] ページも参考にしてください。&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;注意喚起&#039;&#039;&#039;==&lt;br /&gt;
===SIPポートへの攻撃についてご注意下さい===&lt;br /&gt;
SIPポートへの攻撃が流行っているようですので、ご注意下さい。&amp;lt;br&amp;gt;&lt;br /&gt;
セキュリティを破る場合に多い攻撃は&#039;&#039;&#039;SIPのREGISTERを総当たりで試す&#039;&#039;&#039;というものです。&amp;lt;br&amp;gt;&lt;br /&gt;
最近ではREGISTERを試す前にOPTIONSを投げ、SIPのポートが開いているかどうかを試す挙動もあります。&amp;lt;br&amp;gt;&lt;br /&gt;
対策方法等については : &#039;&#039;&#039;[[Asterisk SIP セキュリティ]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Fail2banによるiptablesでのブロック方法の設定をまとめました : &#039;&#039;&#039;[[SIP-Fail2ban]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DNSへのアタックに注意===&lt;br /&gt;
昨今はDNSサーバを自前で用意することも少なくなっていますが参考に→ [[DNSamp対策]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;注目の情報&#039;&#039;&#039;==&lt;br /&gt;
*新サンプル設定ファイル&lt;br /&gt;
:サンプル設定ファイルをAsterisk 20以降用としました&lt;br /&gt;
:[[Asterisk 20 サンプル設定ファイル]]&lt;br /&gt;
*[[ABS]] をリリースしました&lt;br /&gt;
:軽量なAsteriskベースのPBXをお探しの場合にどうぞ&lt;br /&gt;
:キーテレホン挙動もできるのでビジホン用途でも使えます [[ABS]]&lt;br /&gt;
&lt;br /&gt;
==お願い==&lt;br /&gt;
SPAMに気付いた方は正常なページへの差し戻しまたは削除をお願いします。同一ページが複数回のSPAM書き込みを受けた場合にはページの保護をお願いします。&amp;lt;br&amp;gt;&lt;br /&gt;
情報が古くなりリンク切れ、あるいは別なサイトにリンクされている場合にはリンクの削除をお願いします。&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=ABS&amp;diff=12508</id>
		<title>ABS</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=ABS&amp;diff=12508"/>
		<updated>2025-10-17T19:28:41Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* 動作確認済電話機 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[カテゴリ:ABS]]&lt;br /&gt;
[[カテゴリ:Asterisk]]&lt;br /&gt;
==ABS==&lt;br /&gt;
Asterisk Business phone Schema.&amp;lt;br&amp;gt;&lt;br /&gt;
Asteriskをビジホン的に使えるファイルセット一式とWeb UIのセット一式&amp;lt;br&amp;gt;&lt;br /&gt;
Raspberry Piなどの小型アプライアンスをビジネスホン&amp;quot;的&amp;quot;に使用することを目指します。CCや大規模PBXは目指しません。&amp;lt;br&amp;gt;&lt;br /&gt;
:https://github.com/takao-t/abs&lt;br /&gt;
===デモサイト===&lt;br /&gt;
動作デモを用意しました。&lt;br /&gt;
:https://www.voip-info.jp/abs_demo/&lt;br /&gt;
ユーザ名、a d m i n、パスワード a s t e r i s k です。&amp;lt;br&amp;gt;&lt;br /&gt;
オンラインデモのため色々と制限をかけてあります。Asteriskは動作していますが、外に対してはlistenしていません。&amp;lt;br&amp;gt;&lt;br /&gt;
同時にログインできるのは1人だけです。長時間占有しないでください。また、終了するときには必ずログアウトしてください。&amp;lt;br&amp;gt;&lt;br /&gt;
そもそも&amp;quot;ちゃんと&amp;quot;動作しているAsteriskではないので、設定は好きにしてもらって大丈夫です。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[画像:ABS_NCP2.png |600px]]&lt;br /&gt;
&lt;br /&gt;
==要件==&lt;br /&gt;
*Asterisk 18以降&lt;br /&gt;
:現在はAsterisk 22を推奨&lt;br /&gt;
:Asterisk 18以前でも動く場合もありますが未テストです&lt;br /&gt;
:チャネルは基本をPjSIPとします。chan_sipはサポートしません。どうしても使用したい場合は個別対応になります。&lt;br /&gt;
*Apache等Webサーバ&lt;br /&gt;
:PHP(8)、php-mbstring、php-sqlite3が使えること&lt;br /&gt;
&lt;br /&gt;
==仕様==&lt;br /&gt;
 {| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|+&#039;&#039;&#039;機能&#039;&#039;&#039;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
!機能名!!仕様!!要件!!備考&lt;br /&gt;
 &lt;br /&gt;
|- style=&amp;quot;text-ali|- style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
!style=&amp;quot;font-weight:bold;&amp;quot; | 内線収容数&lt;br /&gt;
| 通常内線32&amp;lt;br&amp;gt;ブラウザ内線32&amp;lt;br&amp;gt;フリーアドレス内線64 || - ||カスタマイズ可能&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;text-ali|- style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
!style=&amp;quot;font-weight:bold;&amp;quot; | 外線収容数&lt;br /&gt;
| 最大16 || - ||キー使用。ダイヤルインは制限なし。&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;text-ali|- style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
!style=&amp;quot;font-weight:bold;&amp;quot; | 着信方法&lt;br /&gt;
| 番号ベース、キーまたはダイヤルイン || - ||&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
!style=&amp;quot;font-weight:bold;&amp;quot; | ラインキー&lt;br /&gt;
| 最大16 ||BLF対応電話機 ||&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
!style=&amp;quot;font-weight:bold;&amp;quot; | ラインキー機能&lt;br /&gt;
|着信,保留,転送,割込,モニタ ||BLF対応電話機 ||&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
!style=&amp;quot;font-weight:bold;&amp;quot; | 固定パーク&lt;br /&gt;
| 8 || BLF対応電話機 || -&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
!style=&amp;quot;font-weight:bold;&amp;quot; | 内線グループ&lt;br /&gt;
| 8 || || カスタマイズ可能&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==動作確認済電話機==&lt;br /&gt;
*Panasonic&lt;br /&gt;
:KX-UT136N(BLF)&lt;br /&gt;
:KX-HDV330(BLF)&lt;br /&gt;
:KX-HDV20(DSSコンソール,BLF)&lt;br /&gt;
:Panasonic電話機終了により今後は積極サポートはしません&lt;br /&gt;
*Grandstream&lt;br /&gt;
:GXP-2130(BLF)&lt;br /&gt;
:GXP-2135(BLF)&lt;br /&gt;
:GRP-2604(BLF)&lt;br /&gt;
:DP750+DP720(DECTコードレス,BLFなし)&lt;br /&gt;
*MicroSIP&lt;br /&gt;
:https://www.microsip.org/&lt;br /&gt;
:Windowsソフトフォン。BLFをサポートするのでキー機能が使えます。ただしBLF挙動の問題でMicroSIPからキー保留等は行えません。&lt;br /&gt;
上記以外でも一般的なSIP電話機はAsteriskで使えるものが使えます。&amp;lt;br&amp;gt;&lt;br /&gt;
BLFキーのないものも普通の内線として使える他、キー代用番号でキーを使うことも可能です。&lt;br /&gt;
&lt;br /&gt;
==ライセンス・料金==&lt;br /&gt;
*個人&lt;br /&gt;
:個人かつ非営利の場合にのみ無料です。ただしサポートはありません。&lt;br /&gt;
:個別サポートは行いませんのでユーザーグループを使用してください&lt;br /&gt;
:https://groups.google.com/forum/#!forum/abs2-users&lt;br /&gt;
:または abs2-users+subscribe@googlegroups.com に空メールを投げてください&lt;br /&gt;
*それ以外&lt;br /&gt;
:なんらかの組織(営利,非営利,教育を含む)、個人事業主等で利用される場合は有料です。&lt;br /&gt;
:1システム(1PBX)あたり1ライセンスを購入してください。&lt;br /&gt;
*再配布・販売&lt;br /&gt;
:[[ABS FAQ]]を参照&lt;br /&gt;
*料金およびライセンス販売は直接お問い合わせください(tsq&#039;at&#039;gapj&#039;dot&#039;net)&lt;br /&gt;
:『商用』として販売したい方を対象にしています。販売しないのであればまあ自由に使っててかまいません。&lt;br /&gt;
:ある程度 Asteriskのことがわかっていないと使えない部分があるので、よくわからない場合にはサポートしてくれるところ経由で買うというのが良い選択肢です。&lt;br /&gt;
&lt;br /&gt;
==インストール==&lt;br /&gt;
[[ABS インストール]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==設定==&lt;br /&gt;
[[ABS 設定]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ABS Tips]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ABS 外線接続]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==使い方==&lt;br /&gt;
[[ABS 使い方]]&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=ABS&amp;diff=12507</id>
		<title>ABS</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=ABS&amp;diff=12507"/>
		<updated>2025-10-17T19:23:30Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* 動作確認済電話機 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[カテゴリ:ABS]]&lt;br /&gt;
[[カテゴリ:Asterisk]]&lt;br /&gt;
==ABS==&lt;br /&gt;
Asterisk Business phone Schema.&amp;lt;br&amp;gt;&lt;br /&gt;
Asteriskをビジホン的に使えるファイルセット一式とWeb UIのセット一式&amp;lt;br&amp;gt;&lt;br /&gt;
Raspberry Piなどの小型アプライアンスをビジネスホン&amp;quot;的&amp;quot;に使用することを目指します。CCや大規模PBXは目指しません。&amp;lt;br&amp;gt;&lt;br /&gt;
:https://github.com/takao-t/abs&lt;br /&gt;
===デモサイト===&lt;br /&gt;
動作デモを用意しました。&lt;br /&gt;
:https://www.voip-info.jp/abs_demo/&lt;br /&gt;
ユーザ名、a d m i n、パスワード a s t e r i s k です。&amp;lt;br&amp;gt;&lt;br /&gt;
オンラインデモのため色々と制限をかけてあります。Asteriskは動作していますが、外に対してはlistenしていません。&amp;lt;br&amp;gt;&lt;br /&gt;
同時にログインできるのは1人だけです。長時間占有しないでください。また、終了するときには必ずログアウトしてください。&amp;lt;br&amp;gt;&lt;br /&gt;
そもそも&amp;quot;ちゃんと&amp;quot;動作しているAsteriskではないので、設定は好きにしてもらって大丈夫です。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[画像:ABS_NCP2.png |600px]]&lt;br /&gt;
&lt;br /&gt;
==要件==&lt;br /&gt;
*Asterisk 18以降&lt;br /&gt;
:現在はAsterisk 22を推奨&lt;br /&gt;
:Asterisk 18以前でも動く場合もありますが未テストです&lt;br /&gt;
:チャネルは基本をPjSIPとします。chan_sipはサポートしません。どうしても使用したい場合は個別対応になります。&lt;br /&gt;
*Apache等Webサーバ&lt;br /&gt;
:PHP(8)、php-mbstring、php-sqlite3が使えること&lt;br /&gt;
&lt;br /&gt;
==仕様==&lt;br /&gt;
 {| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|+&#039;&#039;&#039;機能&#039;&#039;&#039;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
!機能名!!仕様!!要件!!備考&lt;br /&gt;
 &lt;br /&gt;
|- style=&amp;quot;text-ali|- style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
!style=&amp;quot;font-weight:bold;&amp;quot; | 内線収容数&lt;br /&gt;
| 通常内線32&amp;lt;br&amp;gt;ブラウザ内線32&amp;lt;br&amp;gt;フリーアドレス内線64 || - ||カスタマイズ可能&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;text-ali|- style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
!style=&amp;quot;font-weight:bold;&amp;quot; | 外線収容数&lt;br /&gt;
| 最大16 || - ||キー使用。ダイヤルインは制限なし。&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;text-ali|- style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
!style=&amp;quot;font-weight:bold;&amp;quot; | 着信方法&lt;br /&gt;
| 番号ベース、キーまたはダイヤルイン || - ||&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
!style=&amp;quot;font-weight:bold;&amp;quot; | ラインキー&lt;br /&gt;
| 最大16 ||BLF対応電話機 ||&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
!style=&amp;quot;font-weight:bold;&amp;quot; | ラインキー機能&lt;br /&gt;
|着信,保留,転送,割込,モニタ ||BLF対応電話機 ||&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
!style=&amp;quot;font-weight:bold;&amp;quot; | 固定パーク&lt;br /&gt;
| 8 || BLF対応電話機 || -&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
!style=&amp;quot;font-weight:bold;&amp;quot; | 内線グループ&lt;br /&gt;
| 8 || || カスタマイズ可能&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==動作確認済電話機==&lt;br /&gt;
*Panasonic&lt;br /&gt;
:KX-UT136N(BLF)&lt;br /&gt;
:KX-HDV330(BLF)&lt;br /&gt;
:KX-HDV20(DSSコンソール,BLF)&lt;br /&gt;
:Panasonic電話機終了により今後は積極サポートはしません&lt;br /&gt;
*Grandstream&lt;br /&gt;
:GXP-2130(BLF)&lt;br /&gt;
:GXP-2135(BLF)&lt;br /&gt;
:GRP-2604(BLF)&lt;br /&gt;
:DP750+DP720(DECTコードレス,BLFなし)&lt;br /&gt;
*MicroSIP&lt;br /&gt;
:https://www.microsip.org/&lt;br /&gt;
:Windowsソフトフォン。BLFをサポートするのでキー機能が使えます。&lt;br /&gt;
上記以外でも一般的なSIP電話機はAsteriskで使えるものが使えます。&amp;lt;br&amp;gt;&lt;br /&gt;
BLFキーのないものも普通の内線として使える他、キー代用番号でキーを使うことも可能です。&lt;br /&gt;
&lt;br /&gt;
==ライセンス・料金==&lt;br /&gt;
*個人&lt;br /&gt;
:個人かつ非営利の場合にのみ無料です。ただしサポートはありません。&lt;br /&gt;
:個別サポートは行いませんのでユーザーグループを使用してください&lt;br /&gt;
:https://groups.google.com/forum/#!forum/abs2-users&lt;br /&gt;
:または abs2-users+subscribe@googlegroups.com に空メールを投げてください&lt;br /&gt;
*それ以外&lt;br /&gt;
:なんらかの組織(営利,非営利,教育を含む)、個人事業主等で利用される場合は有料です。&lt;br /&gt;
:1システム(1PBX)あたり1ライセンスを購入してください。&lt;br /&gt;
*再配布・販売&lt;br /&gt;
:[[ABS FAQ]]を参照&lt;br /&gt;
*料金およびライセンス販売は直接お問い合わせください(tsq&#039;at&#039;gapj&#039;dot&#039;net)&lt;br /&gt;
:『商用』として販売したい方を対象にしています。販売しないのであればまあ自由に使っててかまいません。&lt;br /&gt;
:ある程度 Asteriskのことがわかっていないと使えない部分があるので、よくわからない場合にはサポートしてくれるところ経由で買うというのが良い選択肢です。&lt;br /&gt;
&lt;br /&gt;
==インストール==&lt;br /&gt;
[[ABS インストール]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==設定==&lt;br /&gt;
[[ABS 設定]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ABS Tips]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ABS 外線接続]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==使い方==&lt;br /&gt;
[[ABS 使い方]]&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk&amp;diff=12506</id>
		<title>Asterisk</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk&amp;diff=12506"/>
		<updated>2025-10-17T03:35:44Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* 対応するプロトコル */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Asterisk]]&lt;br /&gt;
[[Category:VoIP]]&lt;br /&gt;
==Asterisk: Open Source Communication Framework== &lt;br /&gt;
AsteriskはオープンソースのPBXでDigiumのMark Spencerによって始められました。&amp;lt;br&amp;gt;&lt;br /&gt;
DigiumはSangomaによって買収されたため、現在はSangoma傘下です。→ [[Sangoma Digium]]&amp;lt;br&amp;gt;&lt;br /&gt;
PBXというと会社内の電話やビジネスホン等を思い浮かべるのですが、Asteriskが使用されるのは、いわゆる電話の分野だけではありません。通話を繋いだり切ったり(呼制御)、通話を必要とするサービスは旧来の電話だけで使われるわけではありません。様々な音声サービスに使用できるのがAsteriskです。このため電話交換機からインターネット上の音声サービスまで様々に使用されているのがAsteriskです。&amp;lt;br&amp;gt;&lt;br /&gt;
日本でAsteriskが広く知られるようになったのは2005年頃からです。&amp;lt;br&amp;gt;&lt;br /&gt;
===公式ドキュメント===&lt;br /&gt;
https://docs.asterisk.org/&lt;br /&gt;
===対応するプロトコル===&lt;br /&gt;
*IP系&lt;br /&gt;
:[[Asterisk pjsip | SIP]] (プロトコルスタックは2種類、chan_sipとPjSIP。chan_sipは廃止:Asterisk 21～)&lt;br /&gt;
: 音声交換だけでなくSIP MESSAGEを使うことでテキストベースのメッセージ交換にも使えます。[[SIPメッセージング]]&lt;br /&gt;
:H.323&lt;br /&gt;
:MOTIF&lt;br /&gt;
:UNISTIM&lt;br /&gt;
:IAX(Inter Asterisk eXchange)&lt;br /&gt;
:&amp;lt;s&amp;gt;MGCP&amp;lt;/s&amp;gt;(廃止:Asterisk 21～)&lt;br /&gt;
:&amp;lt;s&amp;gt;Skinny(Cisco)&amp;lt;/s&amp;gt; (廃止:Asterisk 21～)&lt;br /&gt;
:AudioSocket(シンプルなTCPベースの音声) (Asterisk 18～)&lt;br /&gt;
:Websocket(Asterisk 22.6～、PjSIPのws/wssではなくchan_websocketが実装された)&lt;br /&gt;
*レガシー系&lt;br /&gt;
:BRI/PRI(ISDNボード必要)&lt;br /&gt;
:アナログ(アナログボード必要)&lt;br /&gt;
:ゲートウェイを使用することでSIP-アナログ、SIP-ISDNも、もちろん接続できます&lt;br /&gt;
&lt;br /&gt;
===[[導入事例]]===&lt;br /&gt;
[[導入事例]]のページにサマリーをまとめてあります。&lt;br /&gt;
&lt;br /&gt;
==バージョン==&lt;br /&gt;
Asterisk 1.8まで&lt;br /&gt;
:偶数番号(1.0,1.2,1.4,1.6,1.8)がリリースバージョン&lt;br /&gt;
:奇数番号は開発バージョンで一般には公開されない&lt;br /&gt;
Asterisk 10以降&lt;br /&gt;
:11,13,16,18,20,22&lt;br /&gt;
::LTS(Long Term Support:長期サポートバージョン)&lt;br /&gt;
:10,12,14,15,17,19,21&lt;br /&gt;
::STD(Standard:標準サポートバージョン)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! バージョン !! リリース日(現地時間) !! サポート期限 !! セキュリティサポート期限 !! LTS&lt;br /&gt;
|-&lt;br /&gt;
| Asterisk 10 ||  ||  ||  || ✗&lt;br /&gt;
|-&lt;br /&gt;
| Asterisk 11 ||  ||  ||  || ◯&lt;br /&gt;
|-&lt;br /&gt;
| Asterisk 12 ||  ||  ||  || ✗&lt;br /&gt;
|-&lt;br /&gt;
| [[Asterisk 13]] || 2014年10月24日 || 2020年10月24日 || 2021年10月24日 || ◯&lt;br /&gt;
|-&lt;br /&gt;
| Asterisk 14 || 2016年09月26日 || 2017年09月26日 || 2018年09月26日 || ✗&lt;br /&gt;
|-&lt;br /&gt;
| Asterisk 15 || 2017年10月03日 || 2018年10月03日 || 2019年10月03日 || ✗&lt;br /&gt;
|-&lt;br /&gt;
| [[Asterisk 16]] || 2018年10月09日 || 2026年10月19日 || 2027年10月09日 || ◯&lt;br /&gt;
|-&lt;br /&gt;
| Asterisk 17 || 2019年10月28日 || 2020年10月28日 || 2021年10月28日 || ✗&lt;br /&gt;
|-&lt;br /&gt;
| [[Asterisk 18]] || 2020年10月20日 || 2024年10月20日 || 2025年10月20日 || ◯&lt;br /&gt;
|-&lt;br /&gt;
| Asterisk 19 || 2021年11月02日 || 2022年11月02日 || 2023年11月02日 || ✗&lt;br /&gt;
|-&lt;br /&gt;
| [[Asterisk 20]] || 2022年10月19日 || 2026年10月19日 || 2027年10月19日 || ◯&lt;br /&gt;
|-&lt;br /&gt;
| [[Asterisk 21]] || 2023年10月18日 || 2025年10月18日 || 2026年10月18日 || ✗&lt;br /&gt;
|-&lt;br /&gt;
| [[Asterisk 22]] || 2024年10月16日 || 2028年10月16日 || 2029年10月16日 || 〇&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Asteriskの入手とインストール==&lt;br /&gt;
Asteriskは http://www.asterisk.org から入手することができます。ソースの配布はftp/httpダウンロードの他、Githubでも行われています。https://github.com/asterisk/asterisk&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===どのバージョンをインストールすれば？===&lt;br /&gt;
現在(2025年7月)時点で安定していると思われるのはAsterisk 22です。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
基本的に&amp;quot;Standard&amp;quot;は新機能を早く試したい人向けです。なんらかのサービスで長期に渡って使う場合には&amp;quot;LTS&amp;quot;を使ってください。&amp;lt;br&amp;gt;&lt;br /&gt;
PBXの場合、一度インストールしてしまうと長期にわたって使い続けられることが多いのでLTS版をおすすめします。&lt;br /&gt;
===インストール関連情報===&lt;br /&gt;
:[[Asterisk_on_Docker]]&lt;br /&gt;
:[[Asterisk_Startup_systemd]]&lt;br /&gt;
&lt;br /&gt;
===オプションのパッケージ===&lt;br /&gt;
*[[DAHDI]](旧Zaptel)&amp;lt;br&amp;gt;&lt;br /&gt;
:Asterisk 1.4.20以降およびAsterisk 1.6からはZaptelにかわり[[DAHDI]]が使用されます。&amp;lt;br&amp;gt;&lt;br /&gt;
:アナログ、BRI/PRIのボードを使用しない場合には不要です。&lt;br /&gt;
*libpri&amp;lt;br&amp;gt;&lt;br /&gt;
:PRIを使用しなければ必要ありません。&amp;lt;br&amp;gt;&lt;br /&gt;
*OS/ディストリ依存情報&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Asteriskインストールメモ]]&amp;lt;br&amp;gt;&lt;br /&gt;
*よくわからない場合は[[謎の補助説明ページ]]もどうぞ(このページを見ても疑問が氷解するとは限りませんが) &lt;br /&gt;
:[[Asterisk 20 サンプル設定ファイル]]を使ってみてください。&amp;lt;br&amp;gt; &lt;br /&gt;
:[[extension道場]]も参考になります。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===各バージョンの情報===&lt;br /&gt;
*旧バージョンの情報&lt;br /&gt;
:[[Asterisk 旧バージョン]]&lt;br /&gt;
&lt;br /&gt;
*[[Asterisk 20]]&lt;br /&gt;
:2022年10月リリース。LTS。&lt;br /&gt;
*[[Asterisk 21]]&lt;br /&gt;
:2023年10月リリース。非LTS(Standard)。&lt;br /&gt;
*[[Asterisk 22]]&lt;br /&gt;
:2024年10月リリース。LTS。&lt;br /&gt;
&lt;br /&gt;
===DAHDIへの移行===&lt;br /&gt;
:[[DAHDIインストール]]&lt;br /&gt;
===Asterisk+DB===&lt;br /&gt;
&#039;&#039;&#039;注意:MySQLの直接サポートはなくなりました。MySQLを使用する場合にはODBCを使用して下さい。&#039;&#039;&#039;&lt;br /&gt;
:[[Asterisk+MySQL]] (廃止)&lt;br /&gt;
:[[Asterisk+PostgreSQL]]&lt;br /&gt;
:[[Asterisk CDR SQLite]]&lt;br /&gt;
:[[Asterisk 11 ODBC]]&lt;br /&gt;
&lt;br /&gt;
===使用する上でのヒント===&lt;br /&gt;
*[[Asterisk Tips]]&lt;br /&gt;
===注意点などの追加情報===&lt;br /&gt;
*[[Asterisk 追加情報]]&lt;br /&gt;
===セキュリティ===&lt;br /&gt;
*[[利用者:MR G]]の[[パケットフィルタリング]]&lt;br /&gt;
*&#039;&#039;&#039;[[Asterisk SIP セキュリティ]]&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;[[SIP-Fail2ban]]&#039;&#039;&#039;&lt;br /&gt;
*[[Asteriskが使用するポート一覧]]&lt;br /&gt;
&lt;br /&gt;
===参考になるページ===&lt;br /&gt;
MR Gさんのページ [[利用者:MR G]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Asterisk NAT]]&amp;lt;br&amp;gt;&lt;br /&gt;
kei_ef_2000(a.k.a ふかうみ)さんの「Asterisk SugarLookup」解説ページ[[利用者:kei ef 2000]]&amp;lt;br&amp;gt;&lt;br /&gt;
===参考になるかどうかよくわからないページ===&lt;br /&gt;
[[バカstarisk]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[あすりん(仮)]]&lt;br /&gt;
&lt;br /&gt;
==派生ディストリビューション==&lt;br /&gt;
[[Asteriskの派生ディストリビューション]]&lt;br /&gt;
==アンインストール==&lt;br /&gt;
[[アンインストール情報]]のページへ&lt;br /&gt;
&lt;br /&gt;
==Asteriskの動作する環境==&lt;br /&gt;
IA系のマシンでLinuxをOSとして使用します。多くのLinuxディストリビューションで動作しています。ただしLinux 2.4カーネルを使用する場合には、ZatelがUSB-UHCIを必要とするため注意が必要です。Linux 2.6カーネル以降ならば問題はありません。&lt;br /&gt;
===OS===&lt;br /&gt;
[[Asterisk動作確認済みOS]]&lt;br /&gt;
===関連情報===&lt;br /&gt;
[[Asterisk Timer]]&amp;lt;br&amp;gt; &lt;br /&gt;
[[Zaptel udev]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Asterisk MacOSXでの動作]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Asterisk FreeBSDでの動作]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===特殊なプラットフォーム===&lt;br /&gt;
*小型アプライアンス類&lt;br /&gt;
:コンパクトなAsteriskマシンが欲しい方は[[アプライアンス]]ページを参照&amp;lt;br&amp;gt;&lt;br /&gt;
*OpenWRT&amp;lt;br&amp;gt;&lt;br /&gt;
:ルータ用代替ファームウェア。Asteriskのインストールも可能。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asteriskと回線や電話機等の接続==&lt;br /&gt;
AsteriskはSIPやH.323といったIPベースの接続の他、アナログやISDNなど様々な回線に対応します。&lt;br /&gt;
===IP===&lt;br /&gt;
*[[IP電話機]]&lt;br /&gt;
*[[ITSP接続]]&lt;br /&gt;
*[[ENUM]]&lt;br /&gt;
===アナログ===&lt;br /&gt;
*[[アナログ回線の接続]]&lt;br /&gt;
*[[アナログ電話機の接続]]&lt;br /&gt;
===ISDN===&lt;br /&gt;
*[[ISDN接続]]&lt;br /&gt;
===ひかり電話===&lt;br /&gt;
*[[ひかり電話対応]]&lt;br /&gt;
===回線交換機（アナログ式PBX）===&lt;br /&gt;
*[[OD接続(E&amp;amp;M)]]&lt;br /&gt;
*[[FXS接続]]&lt;br /&gt;
*[[FXO接続]]&lt;br /&gt;
&lt;br /&gt;
=== 携帯電話 ===&lt;br /&gt;
&lt;br /&gt;
*[[Bluetooth接続(chan_mobile)]]&lt;br /&gt;
*chan_dongle&lt;br /&gt;
:USB経由でHuaweiのUSBドングルを接続するチャネルドライバ。音声/SMS(日本語も)/USSDに対応。開発は活発ではないけど使える模様。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;&lt;br /&gt;
===Skype===&lt;br /&gt;
*[[Skype for Asterisk]]&lt;br /&gt;
:Digiumのプロダクト。ディスコン。&lt;br /&gt;
*[https://www.skype.com/ja/features/skype-connect/ Skype Connect]&lt;br /&gt;
:Skype公式のSIP接続サービス。US$6.95/ch/月&lt;br /&gt;
&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===FAX===&lt;br /&gt;
*[[Fax for Asterisk]] (終息)&lt;br /&gt;
:Digiumのプロダクト&lt;br /&gt;
*spandsp + res_fax_spandsp&lt;br /&gt;
:Asterisk13以降。なおapp_faxは非推奨&lt;br /&gt;
*IAXModem + Hylafax&lt;br /&gt;
===無線機===&lt;br /&gt;
*[[Asterisk+Radio]]&lt;br /&gt;
&lt;br /&gt;
==Asteriskの管理==&lt;br /&gt;
*コマンドライン&lt;br /&gt;
:[[Asterisk_CLI]]&lt;br /&gt;
*[[Asterisk Manager Interface]]&lt;br /&gt;
:Asterisk管理インタフェース&lt;br /&gt;
*GUI&lt;br /&gt;
:Asteriskは基本的にはGUIを持ちません。Asterisk NOWはブラウザによる管理インタフェースを持っています。&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Asterisk-GUI]](純正)&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Asterisk GUI]]&amp;lt;br&amp;gt;&lt;br /&gt;
:ADM&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==外部プログラムとの連携==&lt;br /&gt;
*[[自動発信|コール用ファイル]](call file)&lt;br /&gt;
*AGI: Asterisk Gateway Interface&lt;br /&gt;
*AMI: Asterisk Manager Interface&lt;br /&gt;
*ARI: Asterisk REST Interface&lt;br /&gt;
*ダイヤルプランから&lt;br /&gt;
:Application_Exec, Function_SHELL, Function_FILE&lt;br /&gt;
:Application_ReadFileは非推奨。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==IP電話関連機器はどこで買えますか？==&lt;br /&gt;
日本国内での入手性も序々に良くなってきました。&amp;lt;br&amp;gt;&lt;br /&gt;
[[購入情報]] のページを参照してください。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==日本国内対応==&lt;br /&gt;
Asteriskを日本国内に対応させる情報は下記を参照してください。&amp;lt;br&amp;gt;&lt;br /&gt;
===ローカライズ===&lt;br /&gt;
*&amp;lt;s&amp;gt;[[Asterisk パッチ]]&amp;lt;/s&amp;gt;(現在のバージョンでは必要ありません)&lt;br /&gt;
*[[Asterisk 日本語音声]]&lt;br /&gt;
*[[音声合成]]&lt;br /&gt;
&lt;br /&gt;
===接続および使い方===&lt;br /&gt;
*[[ひかり電話対応]]&lt;br /&gt;
*[[ラインキー問題]]&lt;br /&gt;
===コールパーキング===&lt;br /&gt;
『1番に電話～』式のコールパーキングについては&lt;br /&gt;
*[[Asterisk_コールパーキング]]&lt;br /&gt;
&lt;br /&gt;
==書籍==&lt;br /&gt;
===日本語===&lt;br /&gt;
*[http://www.amazon.co.jp/exec/obidos/ASIN/4798011290/takahashitaka-22/ref=nosim AsteriskでつくるIP電話システム』]([[たかはし]]の著書)&lt;br /&gt;
:1.0ベースのため1.2系は当Wikiでフォローしています。&amp;lt;br&amp;gt;&lt;br /&gt;
:VoIPの基本からAsteriskのインストール/稼動までの入門向きです。&amp;lt;br&amp;gt;&lt;br /&gt;
*[http://www.amazon.co.jp/exec/obidos/ASIN/4798016322/takahashitaka-22/ref=nosim 『Asterisk徹底活用ガイド』]([[たかはし]]の著書)&lt;br /&gt;
:Asterisk 1.2/1.4対応になっています。各種設定のリファレンスおよび設定事例など&lt;br /&gt;
:Asteriskに特化した内容となっています。&lt;br /&gt;
*[http://www.amazon.co.jp/exec/obidos/ASIN/4798017795/takahashitaka-22/ref=nosim 『AsteriskNOWではじめるIP電話』]([[たかはし]]の著書)&lt;br /&gt;
:AsteriskNOWによるAsteriskの入門書です。&lt;br /&gt;
*[http://www.amazon.co.jp/exec/obidos/ASIN/4873112893/takahashitaka-22/ref=nosim Asterisk-テレフォニーの未来-]&lt;br /&gt;
:オライリーの翻訳版。Asterisk 1.2対応も若干入っているようです。http://www.oreilly.co.jp/books/4873112893/&amp;lt;br&amp;gt;&lt;br /&gt;
*[http://www.amazon.co.jp/exec/obidos/ASIN/4777512789/takahashitaka-22/ref=nosim Trixbox実践ガイドブック―オープンソースの「PBXソフト」で「IPビジネスフォン」を作る]&lt;br /&gt;
*[http://www.amazon.co.jp/exec/obidos/ASIN/4839922810/takahashitaka-22/ref=nosim AsteriskによるIP-PBXシステム構築ガイド]&amp;lt;br&amp;gt;&lt;br /&gt;
:1.2ベースの本のようです。1.2のソースCD付。&amp;lt;br&amp;gt;&lt;br /&gt;
*[http://www.amazon.co.jp/exec/obidos/ASIN/4274066835/takahashitaka-22/ref=nosim Asterisk運用・開発ガイド]&amp;lt;br&amp;gt;&lt;br /&gt;
:APIなど開発/運用者向けの詳細な記載あり、上級者向け。&amp;lt;br&amp;gt;&lt;br /&gt;
*[https://www.amazon.co.jp/dp/B00B0NJ6I8/takahashitaka-22/ref=nosim Ubuntu 12.04 と EC2で作る Asterisk電話サーバ](kindle)&lt;br /&gt;
&lt;br /&gt;
===洋書=== &lt;br /&gt;
*[http://www.amazon.co.jp/Asterisk-Telephony-Jim-Van-Meggelen/dp/0596009623/takahashitaka-22/ref=nosim Asterisk : The Future of Telephony]&amp;lt;br&amp;gt;&lt;br /&gt;
:こちらも1.0ベースの本。&amp;lt;br&amp;gt;&lt;br /&gt;
:Asterisk : The Future of Telephony (Asterisk Documentation Project)&amp;lt;br&amp;gt;&lt;br /&gt;
:The Future of TelephonyはCreative Commons licenseの元、オンライン(PDF文書)で公開されています。&amp;lt;br&amp;gt;&lt;br /&gt;
*[http://www.amazon.co.jp/Asterisk-Telephony-Jim-Van-Meggelen/dp/0596510489/takahashitaka-22/ref=nosim Asterisk : The Future of Telephony (2nd Edition)]&amp;lt;br&amp;gt;&lt;br /&gt;
:2ndエディションで1.4対応だそうです。&lt;br /&gt;
*[http://www.amazon.co.jp/Asterisk-Telephony-Jim-Van-Meggelen/dp/059652692X/takahashitaka-22/ref=nosim Asterisk Cookbook (Cookbook)]&amp;lt;br&amp;gt;&lt;br /&gt;
:発売日：2008/12/30何度か発売が伸びています。日本語版は出るのかは不明です。[http://www.asteriskcookbook.com/wiki/index.php/Main_Page Asterisk Cookbook Wiki]などあるようです。&lt;br /&gt;
*[http://www.amazon.co.jp/dp/B00HQ0RA8M/takahashitaka-22/ref=nosim Asterisk: The Definitive Guide 4th edition]&lt;br /&gt;
:Asterisk 11に対応。pjprojectの記述はまだありません。&lt;br /&gt;
&lt;br /&gt;
==問い合わせ先など==&lt;br /&gt;
*[[Asteriskコンサルタント]]&lt;br /&gt;
*セミナー/イベントなど&lt;br /&gt;
:[[イベント情報]]のページで告知しています。&lt;br /&gt;
&lt;br /&gt;
==外部リンク==&lt;br /&gt;
:Asterisk http://www.asterisk.org&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk_22&amp;diff=12505</id>
		<title>Asterisk 22</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk_22&amp;diff=12505"/>
		<updated>2025-10-17T03:35:02Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: /* 新機能 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[カテゴリ:Asterisk]]&lt;br /&gt;
[[カテゴリ:Asterisk22]]&lt;br /&gt;
[[カテゴリ:pjsip]]&lt;br /&gt;
&lt;br /&gt;
Asterisk 22.0.0が2024年10月16日(現地時間)リリースされました。&amp;lt;br&amp;gt;&lt;br /&gt;
:メンテナンス終了は2028年10月16日&lt;br /&gt;
:セキュリティフィックス提供終了は2029年10月&lt;br /&gt;
==概要==&lt;br /&gt;
Asterisk 22は最新のAsteriskのメジャーリリースで、Asterisk 20同様にLTS(Long Term Support:通常4年)になります。&lt;br /&gt;
:https://docs.asterisk.org/About-the-Project/Asterisk-Versions/&lt;br /&gt;
===Asterisk 20からの変更点で重要なもの===&lt;br /&gt;
*chan_sipは廃止(ソースコードも含まれない)&lt;br /&gt;
*chan_alsa,chan_mgcp,chan_skinnyも廃止&lt;br /&gt;
*app_macroは廃止&lt;br /&gt;
make menuselectで確認するとわかりますが、廃止予定だったチャネルはすべて&#039;&#039;&#039;廃止&#039;&#039;&#039;されています。&lt;br /&gt;
                        **************************************************&lt;br /&gt;
                            Asterisk Module and Build Option Selection&lt;br /&gt;
                        **************************************************&lt;br /&gt;
 &lt;br /&gt;
                                 Press &#039;h&#039; for help.&lt;br /&gt;
 &lt;br /&gt;
                                 --- Core ---&lt;br /&gt;
                             [*] chan_bridge_media&lt;br /&gt;
                             [*] chan_dahdi&lt;br /&gt;
                             [*] chan_iax2&lt;br /&gt;
                             XXX chan_motif&lt;br /&gt;
                             [*] chan_pjsip&lt;br /&gt;
                             [*] chan_rtp&lt;br /&gt;
                                 --- Extended ---&lt;br /&gt;
                             [*] chan_audiosocket&lt;br /&gt;
                             [*] chan_console&lt;br /&gt;
                             [*] chan_unistim&lt;br /&gt;
Asterisk 22で使用できるチャネルは上記だけです。&amp;lt;br&amp;gt;&lt;br /&gt;
なおH.323やbluetooth(mobile)チャネルはこれまで通り、addon扱いです。&lt;br /&gt;
                        **************************************************&lt;br /&gt;
                            Asterisk Module and Build Option Selection&lt;br /&gt;
                        **************************************************&lt;br /&gt;
 &lt;br /&gt;
                                 Press &#039;h&#039; for help.&lt;br /&gt;
 &lt;br /&gt;
                                 --- Extended ---&lt;br /&gt;
                             [ ] chan_mobile&lt;br /&gt;
                             [ ] chan_ooh323&lt;br /&gt;
                             [ ] format_mp3&lt;br /&gt;
                             XXX res_config_mysql&lt;br /&gt;
===マイナーバージョンにおける注意===&lt;br /&gt;
22の途中(正確にどのバージョンかは把握していませんが)からPJSIP_CONTACTSのDBが変更になっています。カラムが1つ追加されているだけですが、古いスキーマでDBを作っているとエラーで正常動作しません。新しいものを使ってください。&lt;br /&gt;
&lt;br /&gt;
==新機能==&lt;br /&gt;
Asterisk 21で採用されたものを継承します。&amp;lt;br&amp;gt;&lt;br /&gt;
===テナントID===&lt;br /&gt;
pjsip.confで tenantid= が設定できるようになりました。CHANNEL()ファンクションでこの値を参照/設定できるようになりました(CHANNEL(tenantid))。&lt;br /&gt;
===pjsip_wizard===&lt;br /&gt;
res_pjsip_config_wizard.so がリロード可能になりました。&lt;br /&gt;
===RECORD_TIME===&lt;br /&gt;
変数 RECORD_TIME が追加され、Record()で録音した場合の録音時間(ミリ秒)を返すようになりました。&lt;br /&gt;
===chan_websocket===&lt;br /&gt;
Websocketの音声チャネルが追加(22.6以降)。&amp;lt;br&amp;gt;&lt;br /&gt;
PjSIPのWebsocketではなく、AsteriskがサポートするチャネルとしてのWebsocket。&lt;br /&gt;
&lt;br /&gt;
==削除されたもの==&lt;br /&gt;
&lt;br /&gt;
===CDR===&lt;br /&gt;
NoCDRが削除、ResetCDRの&#039;e&#039;オプションが削除&lt;br /&gt;
===app_macro===&lt;br /&gt;
Macroは完全に削除。Macroを利用していたextenは要注意。&amp;lt;br&amp;gt;&lt;br /&gt;
Asterisk app_ のオプション類でマクロを呼び出せたものもマクロは使用不可となったのでGosubに置換すること。&amp;lt;br&amp;gt;&lt;br /&gt;
:app_dialのMオプションも削除&lt;br /&gt;
:app_minivmマクロを使用した記述は動作しない&lt;br /&gt;
:app_queue 呼び出し先でマクロは使用できない&lt;br /&gt;
:ccss コールバックマクロはなし gosubのみ&lt;br /&gt;
:app_voicemail マクロサポートはなし&lt;br /&gt;
:チャネル マクロコンテキスト/プライオリティは削除&lt;br /&gt;
:オプション stdexten&lt;br /&gt;
:pbx マクロロックが削除&lt;br /&gt;
:pbx_dundi マクロはサーチしない&lt;br /&gt;
:snmp マクロコンテキスト,exten,プライオリティは削除&lt;br /&gt;
移行方法は [[Extension_Macro_To_Gosub]] を参考に。&lt;br /&gt;
&lt;br /&gt;
===app_osplookup===&lt;br /&gt;
このモジュールは削除(Asterisk 19で非推奨)&lt;br /&gt;
===chan_alsa===&lt;br /&gt;
このモジュールは削除(Asterisk 19で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
→ [[chan_console]] へ移行のこと&lt;br /&gt;
===chan_mgcp===&lt;br /&gt;
このモジュールは削除(Asterisk 19で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
===chan_sip===&lt;br /&gt;
このモジュールは削除(Asterisk 17で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;要注意:完全に削除。明示指定してコンパイルすることも不可。&amp;lt;/strong&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===chan_skinny===&lt;br /&gt;
このモジュールは削除(Asterisk 19で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
Cisco電話機(skinny)は使用不可。&lt;br /&gt;
===pbx_builtins===&lt;br /&gt;
ImportVar、SetAMAFlagsは削除&lt;br /&gt;
===res_monitor===&lt;br /&gt;
このモジュールは削除(Asterisk 16で非推奨)&amp;lt;br&amp;gt;&lt;br /&gt;
これによりapp_queueのWおよびwオプションも削除&amp;lt;br&amp;gt;&lt;br /&gt;
MixMonitorを使用すること。&lt;br /&gt;
&lt;br /&gt;
===その他===&lt;br /&gt;
ドキュメントの整備がまだのようです(2024/10/18)。&amp;lt;br&amp;gt;&lt;br /&gt;
https://docs.asterisk.org/Asterisk_22_Documentation/WhatsNew/&lt;br /&gt;
&lt;br /&gt;
==注意==&lt;br /&gt;
*&#039;&#039;&#039;SIPチャネル要注意&#039;&#039;&#039;&lt;br /&gt;
:SIPチャネルはPjSipが標準となりました。chan_sipはソースも配布されず&#039;&#039;&#039;完全に廃止&#039;&#039;&#039;されました。&amp;lt;br&amp;gt;&lt;br /&gt;
→ [[Asterisk pjsip]]&amp;lt;br&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Macro廃止&#039;&#039;&#039;&lt;br /&gt;
:Macroが完全廃止されました。Gosub/Returnへの書き換えが必要です。&lt;br /&gt;
:extenでMacroを多用している例は多いので22へ移行する場合には対応してください。&lt;br /&gt;
==現状==&lt;br /&gt;
2024/10 : Asterisk 20からのアップグレードで問題はなさそうです。API周り等で細かいところまではチェックしていませんが、Asterisk 18ベースのextenでは特に問題がないようにみえています。&lt;br /&gt;
&lt;br /&gt;
==インストール==&lt;br /&gt;
===前提となるパッケージ類=== &lt;br /&gt;
GCC、G++(GNU-C++)、OpenSSL、Ncurses、bison、カーネルソース(DAHDIを使う場合)、libxml2、SQLite3、libuuid-devel&amp;lt;br&amp;gt;&lt;br /&gt;
dnsutilsは使う人がいるかもなので追加。libsrtp2はブラウザフォン対応用、libunboundはRTX/NVRで直収のため。&amp;lt;br&amp;gt;&lt;br /&gt;
Debianで説明します。&amp;lt;br&amp;gt;&lt;br /&gt;
以下の例はbookworm最小インストール(netinstall)からパッケージを追加した例です。&amp;lt;br&amp;gt;&lt;br /&gt;
 apt -y install build-essential libedit-dev uuid-dev libxml2-dev libncurses-dev libsqlite3-dev sqlite3 libssl-dev subversion git net-tools dnsutils libsrtp2-dev libunbound-dev&lt;br /&gt;
Asteriskの基本的な部分は上記のパッケージ追加で問題ないと思います。なおJanssonはAsteriskのバンドルでインストールしますので、configure時に指定します。&amp;lt;br&amp;gt;&lt;br /&gt;
Asterisk 20と同様の環境でコンパイルできました。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Asteriskソースの入手===&lt;br /&gt;
Asterisk 22のソースは以下からダウンロードできます。なお asterisk-22-current.tar.gz が最新バージョンへのシンボリックリンクとなっていますので、これをダウンロードすれば最新バージョンが入手できます。&lt;br /&gt;
 http://downloads.asterisk.org/pub/telephony/asterisk/&lt;br /&gt;
展開するディレクトリはどこでもかまいませんが、ここでは/usr/src/とします。&lt;br /&gt;
 # cd /usr/src&lt;br /&gt;
 # wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-22-current.tar.gz&lt;br /&gt;
入手したら展開しておきます。展開すると現在のAsteriskのバージョンのディレクトリに展開されます。以降それぞれの作業は、それぞれの展開したサブディレクトリで行います。&lt;br /&gt;
 # tar zxvf asterisk-22-current.tar.gz&lt;br /&gt;
 # cd asterisk-22.x.x&lt;br /&gt;
&lt;br /&gt;
===Asteriskのコンパイルとインストール===&lt;br /&gt;
基本的にconfigureしてmakeするだけですが、Janssonをバンドルで行うので以下のオプションでconfigureします。。&lt;br /&gt;
 # ./configure --with-jansson-bundled&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
以前のバージョンからアップグレードを行う場合、変更されたモジュール類が多いので、一旦、以前のモジュールをディレクトリごと名前変更してバックアップしてからインストールしてください。&amp;lt;BR&amp;gt;&lt;br /&gt;
 mv /usr/lib/asterisk/module /usr/lib/asterisk/module.20.bak&lt;br /&gt;
&lt;br /&gt;
あとはコンパイルとインストールを行うだけです(新規インストールの場合)。&lt;br /&gt;
 # make&lt;br /&gt;
 # make install&lt;br /&gt;
 # make samples&lt;br /&gt;
 # make config&lt;br /&gt;
これで新規インストールは完了します。最後の make config で起動時に自動起動するようになります。&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;アップグレード時の注意&#039;&#039;&#039;：以前のバージョンからアップグレードする場合、/etc/asterisk の設定ファイル類をバックアップしてから行ってください。make samplesすると /etc/asterisk の内容を上書きしてしまいます。アップグレード時は make installするだけで事足りることが多いです。(make configはシステムのスタートアップファイル類を更新するので大きな変更がない場合には更新の必要はありません。&lt;br /&gt;
====『何か』が足りない場合のヒント====&lt;br /&gt;
Asteriskのモジュールでコンパイルされないものが出てきた場合には以下の方法で対処してください。Asteriskの機能アップとともに依存するパッケージも増えているので『新しい機能を使いたいのに動かない』ような場合には要チェックです。&amp;lt;br&amp;gt;&lt;br /&gt;
make menuselectを実行します。コンパイルされていないモジュールを探します。例えば以下はLUAが使いたいけど、使えない場合に調べてみると&#039;pbx_lua&#039;がコンパイルされていない例です。&lt;br /&gt;
                               **************************************************&lt;br /&gt;
                                   Asterisk Module and Build Option Selection&lt;br /&gt;
                               **************************************************&lt;br /&gt;
 &lt;br /&gt;
                                        Press &#039;h&#039; for help.&lt;br /&gt;
 &lt;br /&gt;
                                        --- Core ---&lt;br /&gt;
                                    [*] pbx_config&lt;br /&gt;
                                    [*] pbx_loopback&lt;br /&gt;
                                    [*] pbx_spool&lt;br /&gt;
                                        --- Extended ---&lt;br /&gt;
                                    [*] pbx_ael&lt;br /&gt;
                                    XXX pbx_dundi&lt;br /&gt;
                                    XXX pbx_lua&lt;br /&gt;
                                    [*] pbx_realtime&lt;br /&gt;
XXXで表示されるものは『何か』が足りないのでコンパイル/インストールされないものです。カーソルを該当する箇所に移動すると、画面の下の方をみると次のような表示があるはずです。&lt;br /&gt;
                               Lua PBX Switch&lt;br /&gt;
 &lt;br /&gt;
                               Depends on: lua(E)&lt;br /&gt;
 &lt;br /&gt;
                               Support Level: extended&lt;br /&gt;
Depends onが何に依存しているかの情報で要するに&amp;quot;lua&amp;quot;に依存していることがわかります。&amp;lt;br&amp;gt;&lt;br /&gt;
ではluaのパッケージを追加すればOKかというと、それだけでは不足で、Asteriskはソースからコンパイルするので、単純なパッケージ追加だけではなく-devも追加する必要うがあります。なので、例えばLUAならば。&lt;br /&gt;
 apt install lua5.3&lt;br /&gt;
 apt install lua5.3-dev&lt;br /&gt;
のように、devパッケージも併せてインストールします。&amp;lt;br&amp;gt;&lt;br /&gt;
インストールが終わったら再度configureとmake menuselectをしてみましょう。&lt;br /&gt;
 # ./configure --with-jansson-bundled&lt;br /&gt;
 # make menuselect&lt;br /&gt;
再度確認すると次のようになっているはずです。&lt;br /&gt;
                                        --- Extended ---&lt;br /&gt;
                                    [*] pbx_ael&lt;br /&gt;
                                    XXX pbx_dundi&lt;br /&gt;
                                    [*] pbx_lua&lt;br /&gt;
                                    [*] pbx_realtime&lt;br /&gt;
これで表示が&#039;&#039;&#039;[*]&#039;&#039;&#039;となったので、コンパイル/インストールされることがわかります。このようにして何のパッケージが不足しているかを確認/追加します。&amp;lt;br&amp;gt;&lt;br /&gt;
ただしAsteriskのmake menuselectで表示されるパッケージ名称は『一般的な』ものなので自分のディストリでそれが何に相当するのかは調べてください。&lt;br /&gt;
&lt;br /&gt;
===日本語音声のインストール===&lt;br /&gt;
Asteriskの本体に付随する日本語音声は古いためGoogle TTSで合成した日本語音声(トーキー)を用意してあります(Asterisk 18ベース)。githubに用意してありますのでご利用ください。&amp;lt;br&amp;gt;&lt;br /&gt;
※core-sounds.txtを確認したところ、18と20,22で音声の差異は無いようです。&lt;br /&gt;
 git clone https://github.com/takao-t/asterisk-sound-ja.git&lt;br /&gt;
tarでまとめたものを展開します。&lt;br /&gt;
 cd asterisk-sound-ja&lt;br /&gt;
 cp core-sound-ja.tgz /var/lib/asterisk/sounds/.&lt;br /&gt;
 cd /var/lib/asterisk/sounds/&lt;br /&gt;
 tar zxvf core-sound-ja.tgz&lt;br /&gt;
これで sounds/ja の下に日本語音声ファイル類が入ります。LANGUAGE系の設定をjaにすると日本語音声が使えます。&amp;lt;br&amp;gt;&lt;br /&gt;
日本語文法に必要なパッチ類を以前提供していましたが、現在ではAsterisk本体にマージされているため文法はLANGUAGEの設定のみで対応できます。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ユーザの追加と設定==&lt;br /&gt;
Asteriskをasterisk:asteriskで起動させるために以下のようにグループ/ユーザを追加します。UID,GIDの5060は単なる趣味です。&lt;br /&gt;
 addgroup --gid 5060 asterisk&lt;br /&gt;
 adduser --uid 5060 --gid 5060 asterisk --disabled-password&lt;br /&gt;
Asteriskの実行ユーザ/グループは /etc/defaults/asterisk を編集します。以下の部分のコメントを外します。&lt;br /&gt;
 # Uncomment the following and set them to the user/groups that you&lt;br /&gt;
 # want to run Asterisk as. NOTE: this requires substantial work to&lt;br /&gt;
 # be sure that Asterisk&#039;s environment has permission to write the&lt;br /&gt;
 # files required  for  its  operation, including logs, its comm&lt;br /&gt;
 # socket, the asterisk database, etc.&lt;br /&gt;
 AST_USER=&amp;quot;asterisk&amp;quot;     &amp;lt;==ここと&lt;br /&gt;
 AST_GROUP=&amp;quot;asterisk&amp;quot;    &amp;lt;==ここ&lt;br /&gt;
&lt;br /&gt;
ディレクトリ/ファイル類の権限も調整しておきましょう。&lt;br /&gt;
 chown -R asterisk:asterisk /var/log/asterisk&lt;br /&gt;
 chown -R asterisk:asterisk /var/lib/asterisk&lt;br /&gt;
 chown -R asterisk:asterisk /var/spool/asterisk&lt;br /&gt;
 chown -R asterisk:asterisk /usr/lib/asterisk&lt;br /&gt;
 chown -R asterisk:asterisk /etc/asterisk&lt;br /&gt;
これでsystemctlで起動すればAsteriskが動くはずです。&lt;br /&gt;
&lt;br /&gt;
==サンプル設定ファイルと応用例==&lt;br /&gt;
Asterisk 20以降用に大幅に書き直しました。&amp;lt;br&amp;gt;&lt;br /&gt;
:https://github.com/takao-t/asterisk-conf/tree/main/asterisk_20&lt;br /&gt;
:使い方 [[Asterisk_20_サンプル設定ファイル]]&lt;br /&gt;
:解説 [[Asterisk_20_サンプル設定ファイル_解説]]&lt;br /&gt;
:NVR500の使用例 [[Asterisk+NVR500]]&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=%E3%83%88%E3%83%BC%E3%82%AF:Asterisk%2BNVR500&amp;diff=12504</id>
		<title>トーク:Asterisk+NVR500</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=%E3%83%88%E3%83%BC%E3%82%AF:Asterisk%2BNVR500&amp;diff=12504"/>
		<updated>2025-10-17T02:48:50Z</updated>

		<summary type="html">&lt;p&gt;Takahashi: ページの作成:「チラシの裏(古っ)&amp;lt;br&amp;gt; &amp;lt;br&amp;gt; 面白い現象を確認したので、ここに書いておく。rportが有効になっている場合、同一エリア内(東とか)に電話するとBad Requestが返るが、エリア外(携帯とか西とか)に、かけるとかかる。なんだこれ？」&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;チラシの裏(古っ)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
面白い現象を確認したので、ここに書いておく。rportが有効になっている場合、同一エリア内(東とか)に電話するとBad Requestが返るが、エリア外(携帯とか西とか)に、かけるとかかる。なんだこれ？&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
</feed>