package org;import javax.telephony.*;
import javax.telephony.events.*;
import org.MyOutCallObserver;
import javax.comm.*;
public class Outcall {    public static final void main(String args[]) {        Provider myprovider = null;
        Address origaddr = null;
        Terminal origterm = null;
        try {
            JtapiPeer peer = JtapiPeerFactory.getJtapiPeer(
                    "net.xtapi.XJtapiPeer");
            myprovider = peer.getProvider("MSTAPI");
            System.out.println("--1");
        } catch (Exception excp) {
            System.out.println("Can't get Provider: " + excp.toString());
            System.exit(0);
        }
        System.out.println("myprovider_"+myprovider.toString());        try {
            System.out.println("2");
            origaddr = myprovider.getAddress("0");
            System.out.print("3");            Terminal[] terminals = origaddr.getTerminals();
            if (terminals == null) {
                System.out.println("No Terminals on Address.");
                System.exit(0);
            }
            origterm = terminals[0];
        } catch (Exception excp) {
            System.err.println(excp+"err");
        }
        Call mycall = null;
        try {
            mycall = myprovider.createCall();
            mycall.addObserver(new MyOutCallObserver());
        } catch (Exception excp) {
            System.err.println(excp);
        }
        try {
            Connection c[] = mycall.connect(origterm, origaddr, "12");
        } catch (Exception excp) {
            System.out.println(excp.toString());
        }
    }
}package org;import javax.telephony.*;
import javax.telephony.events.*;public class MyOutCallObserver implements CallObserver {  public void callChangedEvent(CallEv[] evlist) {
      System.out.println("MyOutCallObserver.callChangedEvent");
    for (int i = 0; i < evlist.length; i++) {      if (evlist[i] instanceof ConnEv) {        String name = null;
        try {
          Connection connection = ((ConnEv)evlist[i]).getConnection();
          Address addr = connection.getAddress();
          name = addr.getName();
        } catch (Exception excp) {
          // Handle Exceptions
            System.err.println(excp) ;
        }
        String msg = "Connection to Address: " + name + " is ";        if (evlist[i].getID() == ConnAlertingEv.ID) {
          System.out.println(msg + "ALERTING");
        }
        else if (evlist[i].getID() == ConnInProgressEv.ID) {
          System.out.println(msg + "INPROGRESS");
        }
        else if (evlist[i].getID() == ConnConnectedEv.ID) {
          System.out.println(msg + "CONNECTED");
        }
        else if (evlist[i].getID() == ConnDisconnectedEv.ID) {
          System.out.println(msg + "DISCONNECTED");
        }
      }
    }
  }
}以上代码一直运行不了,我已经添加了,comm.jar,win32com.dll,xtapi.jar 等包,可是运行总是提示不对.
请问xtapi.inf如何修改modem信息,我的modem是enet 800,还有需要配置什么才可以运行?jb2006 错误提示:C:\Borland\JBuilder2006\jdk1.5\bin\javaw -classpath "D:\JTAPI\cti\1\classes;C:\Program Files\Java\jdk1.6.0_04\lib\jtapi1.3.1.jar;C:\Program Files\Java\jdk1.6.0_04\lib\xtapi.jar;C:\Program Files\Java\jdk1.6.0_04\lib\mstapisp.jar;C:\Program Files\Java\jdk1.6.0_04\lib\gjtapi-1.7.jar;C:\Program Files\Java\jdk1.6.0_04\lib\comm.jar;C:\Borland\JBuilder2006\jdk1.5\lib\jconsole.jar;C:\Borland\JBuilder2006\jdk1.5\lib\tools.jar;C:\Borland\JBuilder2006\jdk1.5\lib\htmlconverter.jar;C:\Borland\JBuilder2006\jdk1.5\lib\dt.jar;C:\Borland\JBuilder2006\jdk1.5\jre\lib\jsse.jar;C:\Borland\JBuilder2006\jdk1.5\jre\lib\im\indicim.jar;C:\Borland\JBuilder2006\jdk1.5\jre\lib\im\thaiim.jar;C:\Borland\JBuilder2006\jdk1.5\jre\lib\jce.jar;C:\Borland\JBuilder2006\jdk1.5\jre\lib\deploy.jar;C:\Borland\JBuilder2006\jdk1.5\jre\lib\javaws.jar;C:\Borland\JBuilder2006\jdk1.5\jre\lib\charsets.jar;C:\Borland\JBuilder2006\jdk1.5\jre\lib\rt.jar;C:\Borland\JBuilder2006\jdk1.5\jre\lib\ext\dnsns.jar;C:\Borland\JBuilder2006\jdk1.5\jre\lib\ext\sunpkcs11.jar;C:\Borland\JBuilder2006\jdk1.5\jre\lib\ext\localedata.jar;C:\Borland\JBuilder2006\jdk1.5\jre\lib\ext\sunjce_provider.jar;C:\Borland\JBuilder2006\jdk1.5\jre\lib\plugin.jar"  org.Outcall 
javax.telephony.InvalidArgumentExceptionerr
java.lang.NullPointerException
java.lang.NullPointerException
MyOutCallObserver.callChangedEvent

解决方案 »

  1.   

    如果谁有简单的可以运行的代码[jtapi应用]发给我一个好吗?(将需要的包一同给我更好了.)[email protected]十分感谢.
      

  2.   

    另外ProvidersEmulator
    Voice Modem
    SIP
    Inverter
    RMI
    XTAPI都是什么意思,应用于什么环境? 
      

  3.   

    你上面定义的那些类我查了下JDK1.5文档都没有这些类!
      

  4.   

    我有这个代码,或者你自己去下载也可以
    我告诉你网址:
    http://java.sun.com/products/jtapi/   这个是java官网的,而我工作的时候Cisco的JTAPIhttp://www.cisco.com/en/US/docs/voice_ip_comm/cucm/jtapi_dev/3_1/JTAP_con.html