代码之家  ›  专栏  ›  技术社区  ›  Donal Rafferty

SIP错误-响应不属于此事务

  •  0
  • Donal Rafferty  · 技术社区  · 14 年前

    我想知道以前有人在喝小口酒时遇到过这个错误吗?

    WARN/System.err(4623): javax.sip.SipException: Response does not belong to this transaction.
    

    我收到邀请后就收到了,然后我发送100次尝试,然后180次响铃。

    然后用户可以在屏幕上按拒绝或接受。

    如果他们按“拒绝”,我会发送一个“拒绝”,这很好。

    但是,当我发送一个带有SDP数据的OK来接受呼叫时,我会得到上面的错误。

    下面是一些代码片段:

    ServerTransaction st = requestEvent.getServerTransaction();
    
        if (st == null) {
            st = sipProvider.getNewServerTransaction(request);
    
        }
    
        dialog = st.getDialog();
        st.sendResponse(response);
    

        this.ringingResponse = messageFactory.createResponse(Response.RINGING,
                request);
    

        st.sendResponse(ringingResponse);
    

    Response response = null;
    try {
        response = messageFactory.createResponse(Response.DECLINE,request);
    } 
        catch (ParseException e) {
        // TODO Auto-generated catch block
    e.printStackTrace();
    }
    try {
        st.sendResponse(response);
    } catch (SipException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (InvalidArgumentException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
     }  
     if(CallDialogActivity.SIP_INCOMING_CALL_ANSWER_INTENT.equals(action)){
    
    Response response = null;
    try {
        response = messageFactory.createResponse(Response.OK,request);
    
        } catch (ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    
    try {
           st.sendResponse(okResponse);
    } catch (SipException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (InvalidArgumentException e) {
    / TODO Auto-generated catch block
    e.printStackTrace();
    }
    }  
    

    有人知道这是为什么,我做错了什么吗?

    1 回复  |  直到 14 年前
        1
  •  0
  •   Donal Rafferty    14 年前

    对于任何遇到这种情况的人,我都会给出太多的回复。