java - 通过java连接到电话系统

标签 java call jtapi octopus

我想开发一个 Java 应用程序来记录我们电话系统的所有来电。我们使用电信提供的八达通开放系统。

经过一些研究,我发现 jtapi 将是一个解决方案,但我找不到任何好的教程。我走在正确的轨道上吗?你能给我举一些例子吗?

最佳答案

  • 下载 JTAPI 库文件“ECsjtapia.jar”并将其添加到您的项目中。
  • 将 tsapi.pro 文件添加到您的项目中。更改 tsapi.pro 文件中的以下行 10.100.100.110(您的cms服务器ip)=450(端口)
  • 使用以下代码创建listener.java ` 导入 javax.telephony.*;

公共(public)类监听器{

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();
    } 




}   

}

关于java - 通过java连接到电话系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11474618/

相关文章:

java - 从位于不同位置的另一个程序调用类

java - java中的IVR开发

c# - 在 Cisco 电话上获取实时调用信息

java - 如何知道 .jar 文件中的哪些类被引用了?

java - hibernate 删除查询

java - 学校作业多维数组麻烦

java - Android 按与 Charcase 无关的姓名查找联系人

java - 我如何与仅从 C++ 提供 JTAPI API 的第三方模块交互?

java - 使用 Omnikey 5022 读取 PACS(原始韦根)数据

java - 带参数的批处理文件执行 - [Java - OpenSSL]