「Asterisk」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(→‎SIP: chan_sip に変更)
38行目: 38行目:
 
}}
 
}}
   
===SIP===
+
=== chan_sip ===
 
asterisk サーバーを動かしたら、後は2つのファイルを編集すれば設定できます: {{ic|sip.conf}} と {{ic|extensions.conf}}。asterisk の設定ディレクトリ ({{ic|/etc/asterisk}}) に移動して、{{ic|sip.conf}} を編集して以下を記述してください:
 
asterisk サーバーを動かしたら、後は2つのファイルを編集すれば設定できます: {{ic|sip.conf}} と {{ic|extensions.conf}}。asterisk の設定ディレクトリ ({{ic|/etc/asterisk}}) に移動して、{{ic|sip.conf}} を編集して以下を記述してください:
 
{{bc|1=
 
{{bc|1=
67行目: 67行目:
   
 
これでコンテキスト {{Ic|house}} が作成され SIP ユーザー {{Ic|me1}} にエクステンション 100 が、SIP ユーザー {{Ic|me2}} にエクステンション 101 が割り当てられます。後は実際に動作するか確認するだけです。
 
これでコンテキスト {{Ic|house}} が作成され SIP ユーザー {{Ic|me1}} にエクステンション 100 が、SIP ユーザー {{Ic|me2}} にエクステンション 101 が割り当てられます。後は実際に動作するか確認するだけです。
  +
 
===保留音===
 
===保留音===
 
保留音はとても楽しい機能です。簡単に設定することができます。{{ic|/etc/asterisk/musiconhold.conf}} を編集して以下を追加してください:
 
保留音はとても楽しい機能です。簡単に設定することができます。{{ic|/etc/asterisk/musiconhold.conf}} を編集して以下を追加してください:

2023年5月1日 (月) 14:15時点における版

Asterisk は完全な PBX (構内交換機) ソフトウェアです。Linux, BSD, Windows, macOS などで動作し、PBX が通常備えている機能は全て含まれています。Asterisk は4つのプロトコルで Voice over IP を実現し、比較的安価なハードウェアでほぼ全ての規格の電話装置と一緒に使うことが可能です。

Asterisk はボイスメールサービス、電話帳、電話会議、自動音声応答、コールキューイングを実現します。また、三者通話、発信者番号通知サービス、ADSI、IAX、SIP、H.323 (クライアントとゲートウェイの両方)、MGCP (コールマネージャのみ)、SCCP/Skinny をサポートしています。

この記事では家庭ネットワークにおけるシンプルな設定を説明し、SIP ソフトフォンを使って LAN 上の他の SIP ソフトフォンと会話できるようにします。

インストール

asteriskAUR パッケージをインストールしてください。Cisco の IP 電話を使用する場合はパッチが適用されている asterisk-ciscoAUR パッケージを使うことが推奨されます (https://issues.asterisk.org/jira/browse/ASTERISK-13145 を参照)。

あるいは、asterisk-lts-20AUR パッケージをインストールすると、長期サポートリリースを入手できます(現在の最新 LTS メジャーバージョンは Asterisk 20です)。Asterisk LTS リリースは機能が少ない傾向にありますが、ずっと長い間メンテナンスされます。すべての asterisk バージョンのリリースサイクルに関する完全な詳細については、Asterisk Versions ページを参照してください。

インストールしたら asterisk.service systemd サービスを有効化および起動してください。

SIP ソフトフォンと最低2つのマシンが必要です。SIP フォンとしては Blink (blinkAUR)、 Linphone (liblinphone-gitAUR) または X-Lite (xlite-binAUR) が推奨されます。

ilbc コーデックのサポートを有効にするには PKGBUILD の build セクションの冒頭に以下を追加してください:

cd ${srcdir}/${pkgname}-${pkgver}/contrib/scripts
echo | ./get_ilbc_source.sh

設定

この記事またはセクションの正確性には問題があります。
理由: 廃止されたモジュール (sip) ではなく、廃止されていないモジュール (pjsip) のインストラクションを提供する方がよいでしょう。 (議論: トーク:Asterisk#)

以下の説明は、すでに時代遅れとなっている sip モジュールを使いたい場合を想定していることに注意してください。sip モジュールはもうメンテナンスされていませんが、新しい pjsip モジュールより設定が簡単です。2 つのモジュールの間の設定の変更点のまとめと、新しいモジュールへの移行方法は Asterisk wiki に記載されています。

sip を使うには、古いモジュールを明示的にロードし、新しい pjsip モジュールがアンロードされていることを確認する必要があります。/etc/asterisk/modules.conf で、以下を調整してください。

noload => chan_pjsip.so
noload => res_pjsip.so
; noload => chan_sip.so

chan_sip

asterisk サーバーを動かしたら、後は2つのファイルを編集すれば設定できます: sip.confextensions.conf。asterisk の設定ディレクトリ (/etc/asterisk) に移動して、sip.conf を編集して以下を記述してください:

[me1]
type=friend
username=me1
secret=PASSWORD
host=dynamic
context=house

[me2]
type=friend
username=me2
secret=PASSWORD
host=dynamic
context=house

これで house コンテキストに二人の SIP ユーザー me1me2 が作成されます。パスワードは PASSWORD です。

次にコンテキストを定義します。extensions.conf を以下のように編集:

[house]
exten => 100,1,Dial(SIP/me1)

exten => 101,1,Dial(SIP/me2)

これでコンテキスト house が作成され SIP ユーザー me1 にエクステンション 100 が、SIP ユーザー me2 にエクステンション 101 が割り当てられます。後は実際に動作するか確認するだけです。

保留音

保留音はとても楽しい機能です。簡単に設定することができます。/etc/asterisk/musiconhold.conf を編集して以下を追加してください:

[default]
mode=files
directory=mohmp3

後は合法的に入手したお気に入りの MP3 を /var/lib/asterisk/mohmp3 にコピーしてください。

ボイスメール

Asterisk にはボイスメール機能が存在します。設定する方法は多数ありますが、この記事ではシンプルな設定方法だけを紹介します。

voicemail.conf を作成・編集:

[general]
format=gsm|wav49|wav
serveremail=asterisk
attach=no
mailcmd=/usr/sbin/sendmail -t
maxmessage=180
maxgreet=60

[default]
100 => 1234,Me,me@mydomain.com

[general] の設定の内容は こちら を見て下さい。Postfix が正しくセットアップされていれば PBX からメールの通知がユーザーに送信され、attach=yes と定義されている場合、メールに音声ファイルが添付されます。

次にメールボックスの設定です。フォーマットは:

mailbox => password,user,email

上記の場合、'Me' というユーザー名でメールアドレスが me@mydomain.com、パスワードが 1234 のメールボックス 100 が設定されます。

それから、ボイスメールボックスにメッセージを残す方法と、記録されたメッセージにアクセスする手段を用意する必要があります。

extensions.conf に戻り、既存のエントリを次のように変更します:

exten => 100,1,Dial(SIP/me1,20)
exten => 100,2,Voicemail(100@default)

最初の 'exten' は 'Dial()' で20秒間電話を呼び出します。応答がない場合、default コンテキストの 100 番のボイスメールボックスに転送します。

さらに以下のように設定することで実際にボイスメールにアクセスすることができます:

exten => 600,1,VoiceMailMain,s100@default

600 番を呼び出すと、'VoiceMailMain' アプリケーションは default コンテキストの 100 番に行きます。s で自動ログインが許可されます。

ノート: 'VoiceMail' アプリケーションには多くのオプションがありますので、追加のドキュメントに目を通すことをお勧めします。これは、基本的な家庭用の設定です。 また、一般的に 'VoiceMail' にアクセスする際には、ユーザーの内線より高い内線を使用することをお勧めします。208 にダイヤルしても、205 のボイスメールにヒットしないようにするためです。

PSTN に接続

ここまで設定できたら、次は外線と繋ぎましょう。OnSIP などのプロバイダが必要です。asterisk に接続する手順がプロバイダによって用意されているかもしれないため、このセクションは共通のことだけ記述します。

一般的なセットアップ

sip.conf
[general]
register => username:password@sip.specific.com

[whatever]                   
fromdomain=specific.com     
host=sip.specific.com
insecure=very    ; check with provider
username=usernameduh
secret=passwordduh
type=peer
extensions.conf
[outboundwithCID]  ; this can be whatever
exten => _1NXXNXXXXXX,1,SetCIDNum(15555551234)
exten => _1NXXNXXXXXX,2,Dial(SIP/${EXTEN}@whatever)
exten => _1NXXNXXXXXX,3,Congestion()
exten => _1NXXNXXXXXX,103,Busy()

[default]  ; This should be set in your sip.conf for incoming calls

;These should to be changed to your actual number
; ie     15555555555
exten => 1NXXNXXXXXX,1,Answer()
exten => 1NXXNXXXXXX,2,Playback(ttt-weasels)
exten => 1NXXNXXXXXX,3,HangUp()
  • 発信(outbound)コンテキストでは、ダイアルした番号を全てサービスプロバイダに送信します。2 の 'whatever' は sip.conf の設定と一致させる必要があります。
  • もちろん、着信(inbound)番号計画は、あなたが望むように変更することができます。例えば、Dial(SIP/me1)とすることで、誰かがあなたの番号に電話をかけると、あなたのコンピュータの SIP 電話に転送されるようにすることができます。それから、ボイスメールなどを追加します。
iax.conf

まず、FWD にログインして、FWD 側の IAX を有効にします。これは extra features の下にあり、作者は有効化するのに少し時間がかかると主張しているのを覚えておいてください。

そして iax.conf の 'general' セクションを以下のように編集:

register => FWDNUMBER:PASSWORD@iax2.fwdnet.net 
disallow = all
allow = ulaw

そして末尾に以下を追加:

[iaxfwd]
type=user
context=fromiaxfwd
auth=rsa
inkeys=freeworlddialup

これにより、FWD からの呼び出しが許可されます。

extensions.conf

'[globals]' の一番上に以下を記述:

FWDNUMBER=MYFWDNUMBER ; your calling number
FWDCIDNAME="MyName"; your caller id
FWDPASSWORD=MYFWDPASSWORD ; your password
FWDRINGS=sip/office ; the phone to ring
FWDVMBOX=1000 ; the VM box for this user

次に、これを発信用のコンテキストに追加します:

exten => _393.,1,SetCallerId,${FWDCIDNAME}
exten => _393.,2,Dial(IAX2/${FWDNUMBER}:${FWDPASSWORD}@iax2.fwdnet.net/${EXTEN:3},60,r)
exten => _393.,3,Congestion

「393」は好きなように変更できます。これは、「転送」番号をダイヤルする前にダイヤルするものです。例えば、「744561」をダイヤルする場合は、「393744561」をダイヤルします。

そして最後に、着信です。

[fromiaxfwd]
exten => ${FWDNUMBER},1,Dial(${FWDRINGS},20,r)
exten => ${FWDNUMBER},2,Voicemail,u${FWDVMBOX}
exten => ${FWDNUMBER},102,Voicemail,b${FWDVMBOX}
ノート: もし問題があれば、extensions.confから変数を削除してみてください。この手順は FWD のサイトからのもので、この記事の著者によってテストされたわけではありません。

内線番号の 55555(有志のテスト回線)、514(会議)にかけてみてください。

音声

音声は /var/lib/asterisk/xx フォルダに保存します。xx は言語コードです。例えば英語なら "en" になります。新しい音声を追加したいときはこのフォルダにコピーしてください。以下のフォルダ構造を守って下さい:

/var/lib/asterisk/sounds/xx
/var/lib/asterisk/sounds/xx/digits
/var/lib/asterisk/sounds/xx/letters
/var/lib/asterisk/sounds/xx/phonetic

sip.conf の language パラメータを編集してください:

[general]
...
language=en
...

音声が入手できる場所:

MeetMe

MeetMe は電話会議をできるようにするアプリケーションです。設定は簡単です。

meetme.conf を編集:

conf => 1000

extensions.conf を編集:

exten => 999,1,MeetMe(1000|M)

999 にダイアルすることで会議 1000 に入ることができます。|M を設定することで誰もいないときは保留音が鳴ります。誰かが会議に参加すると保留音は自動的に消えます。

ノート: MeetMe を使うには zaptel パッケージが必要です。asterisk を起動する前にインストールして modprobe ztdummy を実行してください。それによって TDM が利用できるようになります。

Asterisk コンソールとソフトフォン

Asterisk を立ち上げてください:

# asterisk -vvvvvvc

詳細な出力がされる Asterisk CLI が立ち上がります。

Asterisk が既に起動している場合、以下のコマンドを実行:

# asterisk -r

SIP クライアントを起動して sip.conf の情報にあわせて設定してください。Asterisk CLI に戻って以下のように表示されることを確認:

Registered SIP 'me1' at 192.168.0.142 port 5061 expires 60

これで me1 から 101 にダイアルして me2 と会話できるはずです。

トラブルシューティング

404 Not Found エラーが表示される場合は extensions.conf とダイアルした電話番号を確認してください。

翻訳ステータス: このページは en:Asterisk の翻訳バージョンです。最後の翻訳日は 2023-3-2 です。もし英語版に 変更 があれば、翻訳の同期を手伝うことができます。