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