我想开发一个 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/