- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- Installmemo/asterisk へ行く。
ソフトウェア | Asterisk 1.4.11 |
---|---|
サーバOS | Vine Linux 4.1 |
クライアント | Microsoft WindowsXP SP1 |
マシン | PC/AT Celeron 1.8GHz |
ドキュメント | 2007/09/30 |
OCNの050 IP電話と接続すために、IP-PBXを構築する。
必要なもの †
- zaptel
ISDNカード等のVoIP用のハードを使用する場合は必要。
また、テレコンを行う場合には必要。 - IP電話
無料のソフトフォンとしてx-liteが利用できる
http://www.counterpath.com/
Install †
[root@inasa asterisk-1.4.11]# ./configure --prefix=/usr/local/asterisk [root@inasa asterisk-1.4.11]# make [root@inasa asterisk-1.4.11]# make config
make samplesでサンプル設定ファイルが導入される。サンプルファイルは複雑なため、設定ファイルは必要な機能のみを記述したほうが良い。
[root@inasa asterisk-1.4.11]# make samples [root@inasa asterisk-1.4.11]# cd /etc/ [root@inasa asterisk-1.4.11]# mv asterisk asterisk.samples [root@inasa asterisk-1.4.11]# mkdir /etc/asterisk
稼動ユーザーIDを変更するために、専用のユーザーIDを作成する。
[root@inasa asterisk-1.4.11]# groupadd -g 400 pbx [root@inasa asterisk-1.4.11]# useradd -u 401 -g 400 pbx [root@inasa asterisk]# chown -R pbx:pbx /var/log/asterisk/ [root@inasa asterisk]# chown -R pbx:pbx /var/spool/asterisk/ [root@inasa asterisk]# chown -R pbx:pbx /var/lib/asterisk/ [root@inasa asterisk]# chown -R pbx:pbx /etc/asterisk/
コンソールでデバッグモードで稼動する。Asteriskのコンソールが表示される。
[root@inasa asterisk]# /usr/local/asterisk/sbin/asterisk -U pbx -G pbx -vvvvvc Asterisk 1.4.11, Copyright (C) 1999 - 2007 Digium, Inc. and others. Created by Mark Spencer <markster@digium.com> Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details. This is free software, with components licensed under the GNU General Public License version 2 and other licenses; you are welcome to redistribute it under certain conditions. Type 'core show license' for details. ========================================================================= Asterisk Ready. *CLI>
Asteriskの停止
*CLI> stop now
基本設定 †
- Asteriskで使用するディレクトリ
/etc/asterisk/asterisk.confを - RTPで使用するポート設定
rtp.confで指定。サンプルは10000ポートから20000ポートとなっている[root@inasa asterisk]# cat rtp.conf [general] rtpstart=10000 rtpend=20000
- モジュールの読み込み
Asteriskは必要な機能をモジュール単位で読み込む。モジュールを読み込まないと何も出来ない。[modules] load => モジュール名
手動で読み込む場合はコンソールからmodule loadコマンドを利用する。*CLI> module load モジュール名
モジュール名 res_features.so 基本モジュール pbx_config.so 内線番号管理モジュール chan_sip.so SIPモジュール app_dial.so ダイヤル管理モジュール
- features.confの作成
res_fetures.soはfetuers.confが無いと読み込まれないため空ファイルを作成する。[root@inasa asterisk]# touch /etc/asterisk/features.conf
内線PBX †
内線番号2000,2001の2つを定義する。
- SIPの基本設定 sip.conf
[general] maxexpirey=3600 defaultexpirey=3600 registertimeout=300 context=default bindport=5060 bindaddr=0.0.0.0 srvlookup=yes disallow=all allow=ulaw allow=alaw allow=gsm allow=ilbc musicclass=default ;language=en language=jp
- 内線番号のアサイン sip.conf
[2000] type=friend username=2000 secret=password0 canreinvite=no host=dynamic [2001] type=friend username=2001 secret=password1 canreinvite=no host=dynamic
- 内線番号の挙動設定 extensions.conf
[default] exten => 2000,1,Dial(SIP/2000) exten => 2000,2,Congestion exten => 2000,102,Busy exten => 2001,1,Dial(SIP/2001) exten => 2001,2,Congestion exten => 2001,102,Busy
- x-Liteを設定する
「SIP Account Setting」から設定を行う。
SIPサーバと接続が成功すると「Ready」と表示される。Display Name x-Liteで表示する名前 User name 内線番号 Password sip.confで指定したパスワード Authorization user name sip.confで指定したユーザー名 Domain AsteriskサーバのIPアドレス
050VoIPとの接続する †
- Networkの設定(sip.conf generalセクション)
SIPヘッダのIPアドレスがローカルのプライベートアドレスにならないよう、ルータのWAN側のアドレスに書き換えるために、アドレスを登録する。externip=CTUのWAN側のアドレスを登録 localnet=ローカル環境のアドレスを登録 nat=never
WAN側のアドレスはDynamicDNSを利用することが可能である。確認感覚はexternresreshで指定する。externhost=foo.dyndns.net externrefresh=10 ;(単位:秒)
- 050 SIPアカウントの登録(sip.conf)
generalセクションにOCNのVoIPサーバに登録する内容を設定します。register => 電話番号@サービスドメイン:パスワード:ユーザーID@VoIPサーバ/電話番号
専用のセクションを作成します。[voip-test.ocn.ne.jp] type=friend username=OCN VoIPユーザー名 secret=OCN VoIPパスワード fromuser=050電話番号 fromdomain=OCN VoIPサービスドメイン context=ocn-in ;ラベル host=OCN VoIPサーバ dtmfmode=inband canreinvite=no insecure=invite,port progressinband=no disallow=all allow=ulaw allow=alaw allow=gsm allow=ilbc
- 転送先の指定(extentions.conf)
050で着信した場合、どの内線番号にマッピングするかを指定する。
下記の場合、内線番号2001に着信する設定である。[globals] CONSOLE=Console/dsp MYPHONEN => 050電話番号 [ocn-in] sip.conで指定したラベル exten => ${MYPHONEN},1,Dial(SIP/2001) exten => ${MYPHONEN},2,Congestion exten => ${MYPHONEN},102,Busy
- 発呼時の設定(extentions.conf)
defaultセクションに外線発呼する方法を記述する。この場合、先頭に99をつけて電話を行った場合、99を削除した電話番号をOCNのVoIPサーバに転送する指定を行っている。exten => _99.,1,Dial(SIP/${EXTEN:2}@voip-test.ocn.ne.jp) ←sip.confで指定したVoIP用セクション exten => _99.,2,Congestion
Voice Mail留守番電話 †
- Voice Mail用モジュールの読み込み(modules.conf)
Voice Mail用のモジュールを読み込むload => app_voicemail.so
- 音声変換用モジュールの読み込み
モジュールが読み込まれていない場合、下記のようなエラーメッセージが出る。*CLI> -- Executing [20011@default:1] VoiceMail("SIP/2000-08187748", "2001|u") in new stack [Sep 30 21:16:04] WARNING[3530]: file.c:563 ast_openstream_full: File vm-theperson does not exist in any format [Sep 30 21:16:04] WARNING[3530]: file.c:813 ast_streamfile: Unable to open vm-theperson (format 0x4 (ulaw)): No such file or directory
下記のモジュールをmodules.confに追加する。*CLI> module load format_wav_gsm.so *CLI> module load codec_gsm.so *CLI> module load format_gsm.so *CLI> module load codec_ulaw.so
- Voice Mailの設定(voicemail.conf)
[general] format=gsm attach=no maxmessage=300 skipms=3000 maxsilence=10 silencethreshold=128 maxlogins=3 saycid=yes cidinternalcontexts=default [default] 2000 => 1234 2001 => 1234
- Voice Mailルールの追加(extentions.conf)
内線2001で着信できなかった場合、2001ユーザーのvoicemailボックスに保管する。exten => 2001,1,Dial(SIP/2001) exten => 2001,2,Voicemail(2001,u)
同じく外線も追加する。exten => ${MYPHONEN},1,Dial(SIP/2001) exten => ${MYPHONEN},2,Voicemail(2001,u)
http://voip.gapj.net/
[1] http://itpro.nikkeibp.co.jp/article/COLUMN/20070516/271238/?P=2&ST=ipcom
[2] http://asterisk.phalanx.co.jp/index.php?sip.conf
Counter: 9106,
today: 2,
yesterday: 0