0

電話システムへのすべての着信を記録する Java アプリケーションを開発したいと考えています。テレコムが提供するオクトパスオープンシステムを使用しています。

いくつかの調査の結果、jtapi が解決策になることがわかりましたが、適切なチュートリアルが見つかりません。私は正しい軌道に乗っていますか?いくつか例を挙げていただけますか?

4

3 に答える 3

1
  • JTAPI ライブラリ ファイル「ECsjtapia.jar」をダウンロードして、プロジェクトに追加します。
  • プロジェクトに tsapi.pro ファイルを追加します。tsapi.pro ファイルの以下の行を 10.100.100.110 (CMS サーバーの IP)=450 (ポート) に変更します。
  • 以下のコードで listener.java を作成します ` import javax.telephony.*;

パブリック クラス リスナー {

static Provider provider;
static JtapiPeer peer1=null;
static String myService = "";

public static void main(String args[]){
    try {
        peer1 = JtapiPeerFactory.getJtapiPeer("com.avaya.jtapi.tsapi.TsapiPeer");
        //"com.avaya.jtapi.tsapi.TsapiPeer"
    }
    catch(Exception hata)
    {
        System.out.println("Error: "+hata.getMessage());
    }
    //System.out.println("Test is ok: "+peer1.getName());
    String[] services = peer1.getServices();

    if (services == null)
    {
        System.out.println("Unable to obtain the services list from JTAPI peer");
        System.exit(0);
    }
    myService = services[0];
    //System.out.println("Service is "+myService);

    System.out.println("Connecting to server-:"+myService+";login=;passwd=");       
    provider = peer1.getProvider(myService + ";login=;passwd=;");



    try {
        Terminal[] terminals = provider.getTerminals();
        for(int i=0;i<=terminals.length-380;i++){
            String arrterminals =terminals[i].getName() ;
            try {
                    Terminal terminal = provider.getTerminal(arrterminals);
                    terminal.addCallListener(new callListener());
                    System.out.println("Terminal added for monitoring : " + i + " : " + terminal.getName());

            } catch (InvalidArgumentException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (ResourceUnavailableException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (MethodNotSupportedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    } catch (ResourceUnavailableException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    } 




}   

}

于 2014-01-16T07:34:54.163 に答える
0

古いファックス カードが見つかった場合は、電話回線でアクティブ レコード中にリスナーを呼び出すことができます。それ以外は、他に何が機能するかわかりません。

于 2012-07-13T16:36:26.883 に答える
0

Telekom Octopus を直接サポートする JTAPI 実装はないと思います。gjtapi (sourceforge 上) を使用して、JTAPI over TAPI を試すことができます。

JTAPI の標準 API ドキュメントは、Java コミュニティ プロセス (jcp.org) にあります。

このドキュメントには、javax.telephony のパッケージの説明にいくつかのサンプル コードが含まれています。

通話の監視/追跡は非常に簡単です:

  • 電話システムに接続します (詳細は実装によって異なります)。これにより、接続が発生します。
  • 監視する拡張機能を取得します: Connection.getTerminal または Connection.getAddress
  • CallObserver または CallListener を実装する
  • これで CallObserver または CallListener を追加できます: たとえば Address.addCallObserver 。

CallObserver.callCahngedEvent(CallEv ev[]) などのイベント処理ルーチンでは、イベント オブジェクトからすべての関連情報を取得し、それを使用して必要なことを行うことができます。

それで全部です ...

オブザーバー リスナー?

JTAPI の実装によっては、Observer が非推奨になる場合とそうでない場合があります。

于 2012-07-16T09:10:46.790 に答える