做一个SIP通话测试,能呼出,对方也能接听,也能双方说话和讲话。这些都能实现。但是 Listener 不到对方是否接听、挂断这些操作。代码如下,GetService 是服务,SIP是在服务里面注册的,然后在一个Activity呼出。Send_Msg_To_Flist 里面是 Toast, 我就想解决怎么知道对方是在响铃还是已接听 有这方面研究的指导一下,谢谢
 public void initiateCall(final String Call_Number) {   
    try {         new Thread() {public void run() {
         try{
        
        final SipAudioCall.Listener listener = new SipAudioCall.Listener() {
            @Override
            public void onCallEstablished(SipAudioCall call) {
            
                call.startAudio();
                call.setSpeakerMode(true);
                if(call.isMuted()) {
                 call.toggleMute();
                }
                Send_Msg_To_Flist("已接通");//这个不会显示,但去掉上面的五行代码则 对方会听不见声音,说明上面的三行 启动麦克风 听筒的是执行了的。但这个Send_Msg_To_Flist却为什么不执行?
            }             public void onCallEnded(SipAudioCall call) {
             Send_Msg_To_Flist("onCallEnded"); //这个不会显示
            }
                public void onRinging(SipAudioCall call, SipProfile caller) {
                 Send_Msg_To_Flist("onRinging"); //这个不会显示                 }
                public void onCallBusy(SipAudioCall call) {
                 Send_Msg_To_Flist("onCallBusy"); //这个不会显示                 }
                public void onCallHeld(SipAudioCall call) {
                 Send_Msg_To_Flist("onCallHeld"); //这个不会显示                 }
                public void onReadyToCall(SipAudioCall call) {
                 Send_Msg_To_Flist("onReadyToCall"); //这个不会显示                 }
                
        };
        
         GetService.call = GetService.manager.makeAudioCall(GetService.me.getUriString(), Call_Number + "@" + GetService.Sip_Domain, listener, 30);
         updateStatus(GetService.call);
        
         } catch (Exception e){}
       
          }
           
        }.start();
       
      
       
       
Send_Msg_To_Flist(GetService.me.getUriString()+"_开始呼叫" + Call_Number + "@" + GetService.Sip_Domain + "中…");
        
    }
    catch (Exception e) {
        if (GetService.me != null) {
            try {
             GetService.manager.close(GetService.me.getUriString());
                Send_Msg_To_Flist("连线 已断开");
                             } catch (Exception ee) {}
        }
        if (GetService.call != null) {
         GetService.call.close();
            Send_Msg_To_Flist("通话 已断开");
                   }
    }
}