Asterisk 20のソースを表示
←
Asterisk 20
ナビゲーションに移動
検索に移動
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます: メール確認された利用者、
管理者
。
このページのソースの閲覧やコピーができます。
[[カテゴリ:Asterisk]] [[カテゴリ:Asterisk20]] [[カテゴリ:pjsip]] Asterisk 20.0.0が2022年10月19日(現地時間)リリースされました。<br> :メンテナンス終了は2026年10月19日 :セキュリティフィックス提供終了は2027年10月 ==概要== Asterisk 20は最新のAsteriskのメジャーリリースで、Asterisk 18同様にLTS(Long Term Support:通常4年)になります。 :https://docs.asterisk.org/About-the-Project/Asterisk-Versions/ ===Asterisk 18からの変更点で重要なもの=== *chan_sipは廃止予定(Deprecated扱いで標準ではコンパイルされない) :chan_sipは18でもそうでしたが、ほぼメンテナンスされていないようなので使わないことをお勧めします。 *chan_alsa,chan_mgcp,chan_skinnyも廃止予定(deprecated)で標準コンパイルされない *app_macroは廃止予定(Deprecated扱いで標準ではコンパイルされない) 上記はmenuselectで明示指定すればコンパイルはされる *res_config_sqliteは廃止 ===新機能=== *function EXPORT *function 文字列操作 :TRIM,LTRIM,RTRIMが追加 その他は [https://github.com/asterisk/asterisk/blob/releases/20/ChangeLogs/historical/CHANGES CHANGE] を参照のこと。 ==注意== *'''SIPチャネル要注意''' :SIPチャネルはPjSipが標準となりました。chan_sipはコンパイルされません。廃止予定扱いなのではやい時期にchan_sipからPjSipへの移行を行ってください。Asterisk 21ではもはやchan_sipは含まれていません。<br> → [[Asterisk pjsip]]<br> *'''Macro要注意''' :Macroが廃止予定にされているので注意が必要です。Macroを多用している場合には早い時期にGosub/Returnへの書き換えが必要です。 :単純にmake installしてしまうとMacro()もDialのMも動かなくなるのでハマります。 :extenでMacroを多用している例は多いので早急に対応してください。 <br> ==インストール== ===前提となるパッケージ類=== GCC、G++(GNU-C++)、OpenSSL、Ncurses、bison、カーネルソース(DAHDIを使う場合)、libxml2、SQLite3、libuuid-devel<br> dnsutilsは使う人がいるかもなので追加。libsrtp2はブラウザフォン対応用、libunboundはRTX/NVRで直収のため。<br> Debianで説明します。<br> 以下の例はbookworm最小インストール(netinstall)からパッケージを追加した例です。<br> apt -y install build-essential libedit-dev uuid-dev libxml2-dev ncurses-dev libsqlite3-dev sqlite3 libssl-dev subversion git net-tools dnsutils libsrtp2-dev libunbound-dev Asteriskの基本的な部分は上記のパッケージ追加で問題ないと思います。なおJanssonはAsteriskのバンドルでインストールしますので、configure時に指定します。 ===Asteriskソースの入手=== Asterisk 20のソースは以下からダウンロードできます。なお asterisk-20-current.tar.gz が最新バージョンへのシンボリックリンクとなっていますので、これをダウンロードすれば最新バージョンが入手できます。 http://downloads.asterisk.org/pub/telephony/asterisk/ 展開するディレクトリはどこでもかまいませんが、ここでは/usr/src/とします。 # cd /usr/src # wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-20-current.tar.gz 入手したら展開しておきます。展開すると現在のAsteriskのバージョンのディレクトリに展開されます。以降それぞれの作業は、それぞれの展開したサブディレクトリで行います。 # tar zxvf asterisk-20-current.tar.gz # cd asterisk-20.x.x ===Asteriskのコンパイルとインストール=== 基本的にconfigureしてmakeするだけですが、Janssonをバンドルで行うので以下のオプションでconfigureします。。 # ./configure --with-jansson-bundled extenでMacro()を使用している場合、デフォルトではコンパイルされなくなったので注意してください。make menuselectでappのMacroを明示的にON指定してください(deprecatedの下にあります)。<BR> <BR> 以前のバージョンからアップグレードを行う場合、変更されたモジュール類が多いので、一旦、以前のモジュールをディレクトリごと名前変更してバックアップしてからインストールしてください。<BR> mv /usr/lib/asterisk/module /usr/lib/asterisk/module.18.bak あとはコンパイルとインストールを行うだけです。 # make # make install # make samples # make config これで新規インストールは完了します。最後の make config で起動時に自動起動するようになります。<br> ==== どうしてもchan_sipを使いたい場合==== どうしてもchan_sipを使いたい場合にはmenuselectでChannel DriversのDeprecatedからchan_sipを選択してからmakeします。 ************************************************** Asterisk Module and Build Option Selection ************************************************** Press 'h' for help. --- Core --- [*] chan_bridge_media XXX chan_dahdi [*] chan_iax2 XXX chan_motif [*] chan_pjsip [*] chan_rtp --- Extended --- [*] chan_audiosocket XXX chan_console [*] chan_unistim --- Deprecated --- XXX chan_alsa [ ] chan_mgcp [ ] chan_sip <=* [ ] chan_skinny ====『何か』が足りない場合のヒント==== Asteriskのモジュールでコンパイルされないものが出てきた場合には以下の方法で対処してください。Asteriskの機能アップとともに依存するパッケージも増えているので『新しい機能を使いいのに動かない』ような場合には要チェックです。<br> make menuselectを実行します。コンパイルされていないモジュールを探します。例えば以下はLUAが使いたいけど、使えない場合に調べてみると'pbx_lua'がコンパイルされていない例です。 ************************************************** Asterisk Module and Build Option Selection ************************************************** Press 'h' for help. --- Core --- [*] pbx_config [*] pbx_loopback [*] pbx_spool --- Extended --- [*] pbx_ael XXX pbx_dundi XXX pbx_lua [*] pbx_realtime XXXで表示されるものは『何か』が足りないのでコンパイル/インストールされないものです。カーソルを該当する箇所に移動すると、画面の下の方をみると次のような表示があるはずです。 Lua PBX Switch Depends on: lua(E) Support Level: extended Depends onが何に依存しているかの情報で要するに"lua"に依存していることがわかります。<br> ではluaのパッケージを追加すればOKかというと、それだけでは不足で、Asteriskはソースからコンパイルするので、単純なパッケージ追加だけではなく-devも追加する必要うがあります。なので、例えばLUAならば。 apt install lua5.3 apt install lua5.3-dev のように、devパッケージも併せてインストールします。<br> インストールが終わったら再度configureとmake menuselectをしてみましょう。 # ./configure --with-jansson-bundled # make menuselect 再度確認すると次のようになっているはずです。 --- Extended --- [*] pbx_ael XXX pbx_dundi [*] pbx_lua [*] pbx_realtime これで表示が'''[*]'''となったので、コンパイル/インストールされることがわかります。このようにして何のパッケージが不足しているかを確認/追加します。<br> ただしAsteriskのmake menuselectで表示されるパッケージ名称は『一般的な』ものなので自分のディストリでそれが何に相当するのかは調べてください。 ===日本語音声のインストール=== Asteriskの本体に付随する日本語音声は古いためGoogle TTSで合成した日本語音声(トーキー)を用意してあります(Asterisk 18ベース)。githubに用意してありますのでご利用ください。<br> ※core-sounds.txtを確認したところ、18と20で音声の差異は無いようです。 git clone https://github.com/takao-t/asterisk-sound-ja.git tarでまとめたものを展開します。 cd asterisk-sound-ja cp core-sound-ja.tgz /var/lib/asterisk/sounds/. cd /var/lib/asterisk/sounds/ tar zxvf core-sound-ja.tgz これで sounds/ja の下に日本語音声ファイル類が入ります。LANGUAGE系の設定をjaにすると日本語音声が使えます。 ==ユーザの追加と設定== Asteriskをasterisk:asteriskで起動させるために以下のようにグループ/ユーザを追加します。UID,GIDの5060は単なる趣味です。 addgroup --gid 5060 asterisk adduser --uid 5060 --gid 5060 asterisk --disabled-password Asteriskの実行ユーザ/グループは /etc/defaults/asterisk を編集します。以下の部分のコメントを外します。 # Uncomment the following and set them to the user/groups that you # want to run Asterisk as. NOTE: this requires substantial work to # be sure that Asterisk's environment has permission to write the # files required for its operation, including logs, its comm # socket, the asterisk database, etc. AST_USER="asterisk" <==ここと AST_GROUP="asterisk" <==ここ ディレクトリ/ファイル類の権限も調整しておきましょう。 chown -R asterisk:asterisk /var/log/asterisk chown -R asterisk:asterisk /var/lib/asterisk chown -R asterisk:asterisk /var/spool/asterisk chown -R asterisk:asterisk /usr/lib/asterisk chown -R asterisk:asterisk /etc/asterisk これでsystemctlで起動すればAsteriskが動くはずです。 ==サンプル設定ファイルと応用例== Asterisk 20以降用に大幅に書き直しました。<br> :https://github.com/takao-t/asterisk-conf/tree/main/asterisk_20 :使い方 [[Asterisk_20_サンプル設定ファイル]] :解説 [[Asterisk_20_サンプル設定ファイル_解説]] :NVR500の使用例 [[Asterisk+NVR500]]
Asterisk 20
に戻る。
ナビゲーション メニュー
個人用ツール
アカウント作成
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
ソースを閲覧
履歴表示
その他
検索
案内
メインページ
最近の更新
おまかせ表示
ヘルプ
広告
サイトコンテンツ
コミュニティ
Asterisk
Asterisk 18
Asterisk 20
Asterisk 22
IP電話機
購入情報
導入事例
回線接続
ベンダー
ひかり電話
セキュリティ
イベント情報
スペシャル
Asterisk pjsip
ABS
黒電話 ハック
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報