ソースを表示
出典: VOIP-Info.jp Wiki
Asterisk サンプル設定ファイル extensions.conf
のソース
移動:
ナビゲーション
,
検索
この処理は user の権限を持った利用者のみが実行できます。
以下にソースを表示しています:
==context== extenの設定で一番わかりにくいのがこの、コンテキストだと思います。コンテキストとは<nowiki>' [ ] '</nowiki>で括られたセクションのことをいい、指定されたブロックをそのコンテキストと呼びます。 [incoming] ・ ・ incoming context ・ ・ [outgoing] ・ ・ この例では<nowiki>[incoming]</nowiki>で指定された部分から、次の<nowiki>[outgoing]</nowiki>の前までの部分が incomingコンテキストとなります。<br> sip.confやiax.confなどでcontext=incomingが指定されていると、その相手(ITSPや電話機)からの着信や接続要求はこのコンテキスト内で行われます。 ==exten== extensions.confの基本的な書き方は次の通りです。 exten => 番号,プライオリティ,アプリケーション 番号 :これがextenそのもので、いわゆる内線番号に相当します。 プライオリティ :処理の順番を書きます アプリケーション :Asteriskのアプリケーション・コマンドを書きます :この部分にはアプリケーション・コマンドだけでなくファンクションと呼ばれるもの、あるいはPBX組み込み機能を記述することができます。 :アプリケーション・コマンドはモジュールのプレフィクスが app_ のものです。 :ファンクションはモジュールプレフィクスが func_ のものです。 ==generalセクション== その名の通り全般のオプション指定を行います。 [general] writeprotect=no priorityjumping=no writeprotect :CLIによるextenの変更を許可するか禁止するかを指定します。 priorityjumping :Asterisk 1.0系との互換性のためのオプションです。n+101ジャンプを使うか使わないかを指定しますが、今後は使わない方向ですのでnoを指定しておきます。 ==globalsセクション== グローバル変数を設定します。設定値は見ての通りで、Asteriskでは 変数=値 で、変数が設定できます。 [globals] USEVOICEMAIL=YES SPEAKINGCLOCK=317 ECHOTEST=333 ;For Hikari Denwa MYNUMBER=03XXXXXXXX ==defaultセクション== この部分がdefaultコンテキストです。context=defaultが指定されたものは、ここで処理が行われます。<br> 全部を転記すると長くなりすぎるので、一部だけ解説します。<br> ===時報=== ; Speaking Clock exten => ${SPEAKINGCLOCK},1,Answer() exten => ${SPEAKINGCLOCK},n,Wait(1) exten => ${SPEAKINGCLOCK},n,Set(FutureTime=$[${EPOCH} + 5]) exten => ${SPEAKINGCLOCK},n,SayUnixTime(${FutureTime},Japan,YbdAPHM) exten => ${SPEAKINGCLOCK},n,Playback(jp-desu) exten => ${SPEAKINGCLOCK},n,playback(beep) exten => ${SPEAKINGCLOCK},n,Hangup ここで変数の参照を行っています。内線番号は変数、SPEAKINGCLOCKに指定された番号になります。値を参照するには'''${ }'''で括ります。<br> プライオリティは本来、1,2,と順番に書くのですがAsterisk 1.2からオートインクリメントが可能になり'''n'''を記述しておくと自動的に+1するようになりました。<br> ===一斉呼び出し=== ; Ring 201-204 phones exten => 200,1,Dial(SIP/201&SIP/202&SIP/203&SIP/204&IAX2/201&IAX2/202&IAX2/203&IAX2/204) exten => 200,n,Hangup この例はSIP/201またはIAX/201~SIP/204またはIAX/204を一斉に呼び出す方法を示しています。Dialコマンドでは&で区切り複数の相手を指定することで、一斉に呼び出すことができます。<br> ===個別呼び出し=== ; Local SIP/IAX phones 201-209 exten => _20Z,1,GotoIf($["${USEVOICEMAIL}"="YES"]?use-vm) exten => _20Z,n,Dial(SIP/${EXTEN}&IAX2/${EXTEN},,tT) exten => _20Z,n,Hangup exten => _20Z,n(use-vm),Dial(SIP/${EXTEN}&IAX2/${EXTEN},60,tTwW) exten => _20Z,n,NoOp(${DIALSTATUS}) exten => _20Z,n,GotoIf($["${DIALSTATUS}"="BUSY"]?vm-rec) exten => _20Z,n,GotoIf($["${DIALSTATUS}"="NOANSWER"]?vm-rec) exten => _20Z,n,GotoIf($["${DIALSTATUS}"="CHANUNAVAIL"]?vm-rec) exten => _20Z,n,Hangup exten => _20Z,n(vm-rec),Answer() exten => _20Z,n,Wait(1) exten => _20Z,n,Voicemail(${EXTEN}) exten => _20Z,n,Hangup まずextenの部分では_20Zのように指定してありますが、これはパターンマッチを意味します。Zは1~9までの数字に合致します。これにより個々の電話機を呼び出すextenをひとつづつ記述するのではなく、これだけで一括記述できるわけです。<br> 個別の内線番号を呼び出す設定ですが、ボイスメール使用可否の判断のため少し複雑になっています。<br> n(use-vm) は'''ラベル'''です。Goto命令でジャンプさせる場合に、プライオリティの数字を指定するのではなくラベルを指定することができます。<br> DIALSTATUSなどの変数は、各アプリケーションコマンドがセットします。例えばDIALSTATUSはDial()がセットし、ダイヤルした結果をその変数に入れます。<br> ===アプリケーション実行=== 基本的に、Asteriskの機能はアプリケーションコマンドで実装されています。Dialもそのひとつですが、機能を「まとめて」ひとつのアプリケーションとなっている例としてはVoicemailやMeetMeがあります。 exten => 299,1,Answer() exten => 299,n,Wait(1) exten => 299,n,VoicemailMain(${CALLERID(num)},s) exten => 299,n,Hangup 例えばこの部分はボイスメールのメニュー、再生などを行うVoicemailMainというアプリケーションを実行しています。この際の引数として発信者番号(<nowiki>${CALLERID(num)}</nowiki>)を使い、パスワード認証を行わない(s)という呼び出し方になっています。アプリケーションの引数とその意味を簡単に確認するには、CLIから core show application voicemailmainなどのようにアプリケーション名を指定します。 *CLI> core show application voicemailmain -= Info about application 'VoiceMailMain' =- [Synopsis] Check Voicemail messages [Description] VoiceMailMain([mailbox][@context][,options]): This application allows the calling party to check voicemail messages. A specific mailbox, and optional corresponding context, may be specified. If a mailbox is not provided, the calling party will be prompted to enter one. If a context is not specified, the 'default' context will be used. Options: p - Consider the mailbox parameter as a prefix to the mailbox that is entered by the caller. g(#) - Use the specified amount of gain when recording a voicemail message. The units are whole-number decibels (dB). s - Skip checking the passcode for the mailbox. a(#) - Skip folder prompt and go directly to folder specified. Defaults to INBOX VoicemailやMeetMeそれ自体の設定は、それぞれのアプリケーション用の設定ファイルで行います。voicemail.confやmeetme.confがそれです。
メインページ
に戻る。
表示
本文
ノート
ソースを表示
履歴
個人用ツール
38.107.191.86
このIP利用者の会話
ログインまたはアカウント作成
VoIP-Info.jp Wiki
ナビゲーション
メインページ
コミュニティ・ポータル
最近更新したページ
全ページ
おまかせ表示
ヘルプ
寄付
要望
サイトコンテンツ
Asterisk
IP電話機
購入情報
導入事例
回線接続
ひかり電話
掲示板
FTPサーバ
AstLinux Wiki
イベント情報
旧Wiki
スペシャル
Asterisk 1.6
日本Asteriskユーザ会
アプライアンス
音声合成
音声認識
リンク等
外部リンク
ユーザ登録
ログイン/登録
検索
Web
voip-info.jp
ツールボックス
リンク元
リンク先の更新状況
アップロード
特別ページ