Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jtapi地址已停止服务错误_Jtapi_Cisco Jtapi - Fatal编程技术网

jtapi地址已停止服务错误

jtapi地址已停止服务错误,jtapi,cisco-jtapi,Jtapi,Cisco Jtapi,我是JTAPI新手,我安装Cisco客户端并测试它。然后我决定编写代码,通过JTAPI调用手机,我得到了以下异常: “地址已停止服务” 我不明白问题出在哪里 代码如下: public static final void main(String args[]) { String providerName = "192.168.10.60"; String login = "sajjad"; String passwd = "sajjad";

我是JTAPI新手,我安装Cisco客户端并测试它。然后我决定编写代码,通过JTAPI调用手机,我得到了以下异常:

“地址已停止服务”

我不明白问题出在哪里

代码如下:

public static final void main(String args[]) {
     String providerName = "192.168.10.60";

           String login = "sajjad";

           String passwd = "sajjad";

                String providerString = providerName + ";login=" + login + ";passwd=" + passwd;

/*
 * Create a provider by first obtaining the default implementation of
 * JTAPI and then the default provider of that implementation.
 */
Provider myprovider = null;
try {
  JtapiPeer peer = JtapiPeerFactory.getJtapiPeer(null);
  myprovider = peer.getProvider(providerString);
} catch (Exception excp) {
  System.out.println("Can't get Provider: " + excp.toString());
  System.exit(0);
}
System.out.println("Provider: " + myprovider.toString());

Address origaddr = null;
Terminal origterm = null;
try {
  origaddr = myprovider.getAddress("101");
  System.out.println(origaddr.getName());

  /* Just get some Terminal on this Address */
  Terminal[] terminals = origaddr.getTerminals();
  if (terminals == null) {
    System.out.println("No Terminals on Address.");
    System.exit(0);
  }  
  origterm = terminals[0];
  System.out.println("terminal " + java.util.Arrays.toString(terminals));
} catch (Exception excp) {
   System.out.println("No Terminals " + excp.toString());
}


  /*
 * Create the telephone call object and add an observer.
 */
Call mycall = null;
try {
  mycall = myprovider.createCall();
  System.out.println("my call " + mycall);
  mycall.addObserver(new MyOutCallObserver());

} catch (Exception excp) {
  System.out.println("No call " + excp.toString());
}

try {
    //here is the exception
   Connection c[] = mycall.connect(origterm, origaddr, "105");


} catch (Exception excp) {

    System.out.println("No calling " + excp.toString());
} 
以及输出:

Provider: (P1-sajjad)
101
terminal [SEP001A2F49026D]
my call (P1-sajjad) GCID=(1,2106)->IDLE
No calling com.cisco.jtapi.InvalidStateExceptionImpl: Address is out of service

任何帮助都将不胜感激

如果您还没有弄清楚,请确保带有101 as地址的电话处于联机状态,并且正确连接到Cisco呼叫管理器。另外,请确保您的应用程序用户可以访问手机(将其放入用户配置中的受控设备中)

根据前面的回答,我最近正在开发一个JTAPI应用程序,遇到了这个问题

事实证明,在创建呼叫之前,您还需要注册呼叫观察员

例如:

origterm.addCallObserver(this)
这还需要将重写callChangedEvent添加到类中:

@Override
public void callChangedEvent(CallEv[] callEvents) {
    for (CallEv callev : callEvents) {
        switch(callev.getID()) {
            case ConnConnectedEv.ID:
                System.out.println("Call Connected");
        }
    }
};