Мне было интересно, кто-нибудь сталкивался с этой ошибкой в SIP раньше?
WARN/System.err(4623): javax.sip.SipException: Response does not belong to this transaction.
Я получаю его после получения приглашения, затем отправляю 100 попыток и 180 звонков.
Затем пользователь может либо нажать Отклонить, либо принять на экране.
Если они нажимают «отклонить», я отправляю отклонение, которое отлично работает.
Однако, когда я отправляю OK с данными SDP, чтобы принять вызов, я получаю вышеуказанную ошибку.
Вот некоторые фрагменты кода:
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();
}
}
У кого-нибудь есть идеи, почему это происходит и что я делаю не так?