Asteriskで内線電話を構築
Created: 3/23/2009, 12:00:00 AM
Asteriskで内線電話を構築するのは比較的簡単です。ユーザを作成し内線番号がダイアルされた時の処理をextensions.confに記述すれば良いだけです。まず以下のようにユーザを2つ追加します。これで6000番と6001番の内線番号が使用可能になります。Asteriskのインストールを参照して適当なクライアントPCを登録してください。
vi /etc/asterisk/users.conf #以下を追加 [6000] type=friend username=6000 secret=1234 canreinvite=no host=dynamic [6001] type=friend username=6001 secret=1234 canreinvite=no host=dynamic
次にそれぞれの番号がダイアルされた時の処理をextension.confに記述します。
vi /etc/asterisk/extensions.conf #[default]の下に以下を追加 [default] exten = 6000,1,Dial(SIP/6000) exten = 6000,n,HangUp exten = 6001,1,Dial(SIP/6001) exten = 6001,n,HangUp
これで2つの番号で内線を利用できるようになるでしょう。必ずdefaultコンテキスト([default])の下に記述してください。デフォルトではdefaultコンテキストの中に書かれた処理しか実行されません。exten構文についての詳細はExtension道場をご覧ください。実際は以下のように構文を駆使して冗長な書き方を回避します。
exten = _60XX,1,Dial(SIP/${EXTEN},,tT) exten = _60XX,n,GotoIf($["${DIALSTATUS}"="BUSY"]?busy) exten = _60XX,n,GotoIf($["${DIALSTATUS}"="CONGESTION"]?busy) exten = _60XX,n,Hangup exten = _60XX,n(busy),Playback(vm-nobodyavail) exten = _60XX,n,WaitExten(90)