質問

*nix の C/C++ アプリからテレフォニー システム (Cisco CCM を考えてください) とインターフェイスするための「標準」方法を知っている人はいますか?私は過去に MS TAPI を使用したことがありますが、これは Windows のみであり、表面的には唯一の選択肢であると思われる jTAPI (Java) ルートには進みたくありません。

ログを記録する目的で電話システムを監視したいと考えています (ユーザーがいつ電話をかけたり、電話を受けたりしたかを知るため)。TAPI はこの種のことは得意ですが、Windows サーバーを持たずに同様のことをしたいと思うのは私が初めてではありません。

既存の PABX システム、特に Cisco CCM と Nortel BCM と統合する必要があることに注意してください。

役に立ちましたか?

解決

私は、TAPI と CSTA という 2 つのテレフォニー標準の経験がありますが、私の知る限り、ベンダー間にそのような協定はありません (例:Cisco、Nortel、NEC) 標準 API について。

の可用性を確認することをお勧めします SMDR コール/デバイス制御が必要ないと仮定して、対象の PBX プラットフォームでの (ステーション メッセージング詳細記録)。これにより、PBX アクティビティにテキスト ストリームとしてアクセスできるようになり、目的に合わせてさらに操作するためにデータを解析できるようになります。

おそらく PBX ベンダー間のフォーマットは異なるでしょうが、コア アプリケーション機能が再利用できるように、これを抽象化できることが期待されます。

これは、選択したプラットフォームで CTI 接続を提供するベンダーに依存しないため、コール/デバイス制御が必要ないと仮定すると、より移植性の高いオプションとなる可能性があります。

他のヒント

SMDR にもう一度一票を投じます。私がこれまでに見た電話システムはすべて、電話ボックスのシリアル ポートを介して SMDR ログを記録するオプションを提供しています。シリアル ポートからテキストをキャプチャし、必要に応じて解析するだけです。

SMDR 出力をキャプチャして解析し、その結果をデータベースに保存するサーバー プロセスを作成しました。他のアプリケーションは、内線番号、電話番号、各通話の時間と長さを確認するために使用できます。

これは古い質問ですが、今でも検索結果に表示されるため、ここに解決策を投稿したいと思いました。

Telnet 経由で Panasonic KX PBX に接続する小さな bash スクリプトを作成し、次のように実行するようにスケジュールしました。 crontab, 、ログ ファイルを取得して解析するアプリケーション コードを作成しました。

私の bash スクリプトは次のとおりです。

#!/bin/sh

HOST="192.168.0.200"
PORT="2300"
USER="SMDR"
PASS="PCCSMDR"

FILE=/var/smdr/smdr-`date +%F`.log
TS=`date +"%F %T"`

echo "### ${TS}" >> $FILE

(
  echo open $HOST $PORT
  sleep 2
  echo $USER
  sleep 2
  echo $PASS
  sleep 150
  echo "quit"
) | telnet | tee -a $FILE
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top