2008-06-10

ChanIsAvailを使う

AsteriskのChanIsAvailを使って、チャンネルのstatusを調べて登録したユーザがログインしているかどうかみる。

${AVAILSTATUS}で、ステータスが見れる。

voip-infoより、
0 AST_DEVICE_UNKNOWN - 不明; チャンネルはあるけどステータスが分からない。
1 AST_DEVICE_NOT_INUSE - 使ってない状態
2 AST_DEVICE IN USE - 使用中; チャンネルが使われてます。
3 AST_DEVICE_BUSY - ビジー; チャンネルが混んでる。通話中とか。
4 AST_DEVICE_INVALID - 有効でない状態, Asteriskでは動かせないとか?未確認。
5 AST_DEVICE_UNAVAILABLE - 利用不可; ログオフ中とかだとこの状態。
6 AST_DEVICE_RINGING - リンギング; リンリンしてるよ。

その他にはソースを見ると、
/* 7 AST_DEVICE_RINGINUSE */ "Ring+Inuse", /*!< Ring and in use */
/* 8 AST_DEVICE_ONHOLD */ "On Hold" /*!< On Hold */

って書いてある。
ホールド中とか、ログイン中にできること。

要は、ログオフとして認識していい状態が分かればいいので、0,4,5の状態以外ならばOK。

応援クリックお願いします!!人気blogランキングへ

0 件のコメント: