我想开发一个Java应用程序,记录我们电话系统的所有来电。我们使用telekom提供的章鱼开放系统。
经过一些研究后我发现jtapi会是一个解决方案,但我找不到任何好的教程。我是在正确的轨道上吗?你能给我一些例子吗?
答案 0 :(得分:1)
public class Listener {
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();
}
}
}
答案 1 :(得分:0)
如果您可以找到旧的传真卡,则可以在电话线上和活动记录时调用监听器。除此之外,不确定还有什么可行。
答案 2 :(得分:0)
我认为没有直接支持Telekom Octopus的JTAPI实现。您可以使用gjtapi(在sourceforge上)尝试使用TAPI进行JTAPI。
JTAPI的标准API文档可以在Java Comunity Process(jcp.org)中找到。
本文档包含javax.telephony的包描述中的一些示例代码。
监听/跟踪通话非常简单:
在事件处理程序中,例如CallObserver.callCahngedEvent(CallEv ev [])你可以从事件对象中获取所有相关信息,并随意做任何事情。
这就是......
观察者监听器?
根据您的JTAPI实现,Observer可能会被弃用。