Asterisk+MySQL

2010年5月7日 (金) 02:21時点における217.6.171.194 (トーク)による版 (0)

AsteriskとMySQLを連動させる設定など。
MySQLのインストール方法は探せばいくらでもあります。CentOSならばyum install mysql mysql-serverを行えば入ります。
MySQLの管理はちゃんと行っておきましょう。rootパスワードの設定もお忘れなく。
なお、Addonsモジュールをコンパイルするにはmysql-develも必要なので、yum install mysql-develも行っておきます。
9AJHcN <a href="http://wnrsnbmwxsxx.com/">wnrsnbmwxsxx</a>, [url=http://eedlayxtnovt.com/]eedlayxtnovt[/url], [link=http://rnsdxusswqjg.com/]rnsdxusswqjg[/link], http://pyturxrxdryc.com/

extensions.conf

Addonsを入れるとapp_addon_sql_mysqlも入れることができます。これを使うと何とextenからSQL文が叩けるようになります。

exten => XXXX,1,MYSQL(Connect conid localhost asterisk DBユーザ DBパスワード)
exten => XXXX,n,NoOp(${conid})
exten => XXXX,n,MYSQL(Query resultid ${conid} SELECT\ なんとか\ from\ かんとか\ where\ なんちゃら=${EXTEN});
exten => XXXX,n,MYSQL(Fetch fetchid ${resultid} TARGETEXTEN)
exten => XXXX,n,NoOp(${resultid})
exten => XXXX,n,NoOp(${fetchid})
exten => XXXX,n,NoOp(${TARGETEXTEN})
exten => XXXX,n,MYSQL(Disconnect ${conid})

バックスラッシュ(\)はスペースをクォートするために必要です。
まずConnectでDBに接続します。接続すると識別子がconidに入ります。
次にこのconidを使って、QueryでSELECTを発行します。この記述方法はSQL文そのものです。結果を取得するには、resultidを使ってFetchで行います。この例では「かんとか」テーブルから「なんとか」を探し、その際の条件が「なんちゃら」がEXTEN、つまりダイヤルされた4桁の番号をDBで検索します。
用事がすんだらDisconnectで切断します。