Erro SIP - a resposta não pertence a esta transação
-
22-09-2019 - |
Pergunta
Eu queria saber que alguém já se deparou com esse erro no SIP antes?
WARN/System.err(4623): javax.sip.SipException: Response does not belong to this transaction.
Entendo depois de receber um convite, envio de volta 100 tentando, seguido por 180 tocando.
Em seguida, o usuário pode pressionar rejeitar ou aceitar na tela.
Se eles pressionarem a rejeição, envio um declínio que funcione bem.
No entanto, quando envio um OK com dados SDP para aceitar a chamada, recebo o erro acima.
Aqui alguns trechos de código:
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();
}
}
Alguém tem alguma idéia de por que isso está acontecendo e o que estou fazendo de errado?
Solução
Para quem se depara com isso, eu estava enviando muitas respostas
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow