1

* nix の C/C++ アプリからテレフォニー システム (Cisco CCM と考えてください) とやり取りする「標準的な」方法を知っている人はいますか? 過去に MS TAPI を使用したことがありますが、これは Windows のみであり、jTAPI (Java) ルートには行きたくありません。

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

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

4

3 に答える 3

1

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

通話/デバイス制御が不要であると仮定して、対象の PBX プラットフォームでSMDR (Station Messaging Detail Recording)が利用可能かどうかを確認することをお勧めします。これにより、PBX アクティビティにテキスト ストリームとしてアクセスできるようになり、目的に合わせてさらに操作するためにデータを解析できます。

PBX ベンダー間のフォーマットは異なる可能性が高いですが、アプリケーションのコア機能を再利用できるように、これを抽象化することができれば幸いです。

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

于 2008-09-17T20:16:55.343 に答える
0

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

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

于 2008-09-18T20:01:34.407 に答える
0

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

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
于 2016-10-31T18:39:59.663 に答える