2013-10-22 2 views
0

저는 cisco jtapi v7 +를 사용하고 특정 (전체가 아닌) 이벤트를 수신 할 수 있는지 여부를 조사 할 수 있는지 조사하고 있습니다. 그러나, 나는이 API에서 볼 수있는 유일한 호출은 다음과 같다 :jtapi 공급자를 사용하여 이벤트 하위 집합을 관찰합니다.

provider.addObserver(ProviderObserver); 

내 응용 프로그램에서 이벤트 필터링을 피하기 위해하고 API를 통해 수행 한 싶습니다. 이것에 대한 모든 생각/통찰력은 인정 될 것입니다!

답변

1

청취하고 이벤트를 필터링하려는 주소에 CallObserver 인스턴스를 추가해야합니다. 예를 들면 다음과 같습니다.

Address srcAddr = provider.getAddress(src); 
     co = new CallObserver() { 
      public void callChangedEvent(CallEv[] eventList) {      
       for (int i = 0; i < eventList.length; ++i) {      

        try { 
         if (eventList[i].getID() == TermConnRingingEv.ID) { 
          session.getBasicRemote().sendText("new_call"); 
         } 
        } catch (Exception ex) { 
         ex.printStackTrace(); 
        } 
        if (eventList[i].getID() == ConnDisconnectedEv.ID) { 
         try { 
          System.out.println("Disconnected"); 
          session.getBasicRemote().sendText("disconnected"); 
         } catch (Exception ex) { 
          ex.printStackTrace(); 
         } 
        } 
        if (eventList[i] instanceof CallObservationEndedEv) { 
         System.out.println("Event: Call Observation Ended"); 
        } 
        if (eventList[i] instanceof CiscoAddrOutOfServiceEv) { 
         System.out.println("Event: Address Out of service"); 
        } 
        System.out.println("State: " + eventList[i].getCall().getState()); 
       } 
      } 
     }; 

     srcAddr.addCallObserver(co); 
+0

공유를 위해 Saul olun, yaxşıyam - 해당 프로젝트로 돌아올 때 시도합니다. –

관련 문제