6月 25

AsteriskとはオープンソースのIP-PBXのソフトウェアです。

色々とAsteriskを研究中です。

ボイスメールとかモーニングコールのサービスとして使えるか検証中です。

防備録としてまとめておきます。

環境
CentOS5.2
Asterisk1.4系(1.6の方がいいのかな?)

インストール

・必要パッケージのインストール
yum install gcc-c++ kernel-devel ncurses-devel openssl-devel kernel-devel

・DAHDIのコンパイルとインストール
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux/dahdi-linux-2.2.0.tar.gz
tar zxvf dahdi-linux-2.2.0.tar.gz
cd dahdi-linux-2.2.0
make
make install
###################################################
###
### DAHDI installed successfully.
### If you have not done so before, install the package
### dahdi-tools.
###
###################################################

・DAHDI Toolsのコンパイルとインストール
wget http://downloads.asterisk.org/pub/telephony/dahdi-tools/releases/dahdi-tools-2.2.0.tar.gz
tar zxvf dahdi-tools-2.2.0.tar.gz
cd dahdi-tools-2.2.0
./configure
make
make config
make install
###################################################
###
### DAHDI tools installed successfully.
### If you have not done so before, install init scripts with:
###
### make config
###
###################################################

・Asteriskのコンパイルとインストール

wget http://downloads.digium.com/pub/asterisk/releases/asterisk-1.4.1.tar.gz
tar zxvf asterisk-1.4.1.tar.gz
./configure
make

+——— Asterisk Build Complete ———+
+ Asterisk has successfully been built, and +
+ can be installed by running: +
+ +
+ make install +
+——————————————-+

make install
make sample
make config

make config で起動時に自動起動するようになります。

・汎用パッチの適用
wget ftp://ftp.voip-info.jp/asterisk/patch/scripts/ja_autopatch.sh
chmod 755 ja_autopatch.sh
./ja_autopatch.sh

・RT-200NE対応パッチ
http://voip-info.jp/index.php/RT-200NE%E5%AF%BE%E5%BF%9C%E3%83%91%E3%83%83%E3%83%81

wget http://ftp.voip-info.jp/asterisk/patch/local/1.4/channels/chan_sip.c.rt200ne.070417-01.patch
patch -p0 < chan_sip.c.rt200ne.070417-01.patch ・日本語パッチの適応 wget ftp://ftp.voip-info.jp/asterisk/sounds/1_4/asterisk-sound-jp_14_beta.tar.gz /var/lib/asterisk/soundsの下に展開すればjp/で全ての日本語音声が展開されます。 tar zxvf asterisk-sound-jp_14_beta.tar.gz mv jp /var/lib/asterisk/sounds ・サンプル設定ファイル cd /etc mv asterisk asterisk.bak mkdir asterisk cd asteriskmkdir asterisk wget http://ftp.voip-info.jp/asterisk/conf/conf-sample-1.4_01.tar.gz tar zxvf conf-sample-1.4_01.tar.gz パッチを適用した後は再度、make、make installを行います。 ・Asteriskの起動 asterisk -vvvvc コンソールが白っぽくなってメッセージがずらずらとでます。 func_strings.so => (String handling dialplan functions)
== Manager registered action PlayDTMF
== Registered application ‘SendDTMF’
app_senddtmf.so => (Send DTMF digits Application)
== Registered application ‘Log’
== Registered application ‘Verbose’
app_verbose.so => (Send verbose output)
== Registered application ‘DeadAGI’
== Registered application ‘EAGI’
== Registered application ‘AGI’
res_agi.so => (Asterisk Gateway Interface (AGI))
== Registered application ‘TrySystem’
== Registered application ‘System’
app_system.so => (Generic System() application)
Asterisk Ready.
*CLI>

・Asteriskの終了

*CLI> stop gracefully
それでも止まらないような場合
*CLI> stop now

設定が細かくて大変そうです。
外線を利用し、Webでのインターフェースを作ったらいろいろ使えそうです。

6月 22

テンプレート側
aタグもしくはFORMタグに「utn」の文字を付与する。

PHP
PEAR::Net_UserAgent_Mobile を使って以下のようなメソッドにしておく。

require(PEAR_DIR. 'Net/UserAgent/Mobile.php');

public function GetSerialNumber( $carrier )
{
	if ( $carrier === 'dcm' ) {
	    /*
	      端末製造番号(UTN)
	        端末ごとの番号なので機種変すると使えない
	        
	      フォーマット(15桁のユニークな英数字)
	        "serxxxxxxxxxxxxxxx"
	        
	        ser: FOMA端末個別識別子
	        xxxxxxxxxxxxxxx: FOMA端末製造番号(15桁)
	        
	    */
	    //$agent = Net_UserAgent_Mobile::singleton();
	    //$mobile_id = $agent->getSerialNumber();
	    
	    /*
	      FOMAカード製造番号(UIM)
	       カードごとに割り振りされている。機種変しても番号が変わらない
	      
	      フォーマット(20桁のユニークな英数字)
	        "iccxxxxxxxxxxxxxxx"
	        
	        icc: FOMAカード個体識別子
	        xxxxxxxxxxxxxxx: FOMA端末製造番号(15桁)
	    $mobile_id = $agent->getCardID();
	    */
	    $mobile_id = $agent->getCardID();
	    
	} elseif( $carrier === 'au' ) {
	    
	    /*
	      EZ番号(サブスクライバID)
	        契約に対して1意に割り振られている
	        
	      フォーマット
	        "XXXXXXXXXXXXX_XX.ezweb.ne.jp"
	        
	        XXXXXXXXXXXXX: 14桁の数字
	        XX: 2桁の英数字
	        ezweb.ne.jp: 固定値
	     */
	        
	    $mobile_id = $_SERVER['HTTP_X_UP_SUBNO'];
	
	} elseif( $carrier === 'sb' ) {
	    
	    /*
	      端末製造番号(P型以降で取得可能)
	        端末ごとの番号なので機種変すると使えない
	        携帯の設定で端末シリアル番号を「送出する」を設定した場合、取得可能となる
	        
	      フォーマット(20桁のユニークな英数字)
	        "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
	        
	        P型: 11桁の英数字
	        W型: 15桁の英数字
	        3GC型: 20桁の英数字
	    */
	    //$agent = Net_UserAgent_Mobile::singleton();
	    //$mobile_id = $agent->getSerialNumber();
	    
	    /*
	      ユーザーID
	       カードごとに割り振りされている。機種変しても番号が変わらない
	       
	      フォーマット
	        "xxxxxxxxxxxxxxxx"
	        
	        xxxxxxxxxxxxxxxx: 16桁の英数字
	    */
	    
	    $mobile_id = $_SERVER['HTTP_X_JPHONE_UID'];
	}
	
	return $mobile_id;
}

6月 12

WordPressを利用してサイトを構築しました。

MTと同じくブログエンジンとしてだけでなく、CMSとして活用する
ことができます。

短い時間で以下のようなサイトを構築できます。

BFC KOWA OIZUMI

bfc-kowa-oizumi-emblem

bfc-kowa-oizumi

昨年からWordPressを研究していますが、プラグインを作成することで
かなり幅広く活用されるシーンが多くなりそうです。

弊社でのWordPressはCMSとしてサイト構築する物、ブログエンジンと
してだけでなく、Smartyなどにかわるビューの高機能フレームワークと
して考えています。

XML-RPCとPHPの組み合わせやプラグインを作成して使うと可能性が広
がります。

MTのように再構築がないので、Cache関連の対策は必須です(たぶん)

PVが当初からある程度見込みのあるサイトであれば必ずCache対策を
したほうが無難でしょう。

テンプレキャッシュ>クエリキャッシュなのでテンプレキャッシュを
実装しないと。
MySQLでMYISAMのテーブルがあるなら定期的に最適化が必要です。

WordPressMuもいろいろ活用できそうですね。