Yes, it is a problem in the SipTransactionList it happens because INVITE has not
branch id. So when calling sipxCallDestroy, CANCEL message is created and
findTransactionFor gets called, but it cannot find what are we canceling,
because CANCEL has branc id and INVITE hasn't.
I've made a dirty fix for it: in SipTransactionList::findTransactionFor I've
changed
if(relationship == SipTransaction::MESSAGE_REQUEST ||
....
){
break;
}
to
if(relationship == SipTransaction::MESSAGE_REQUEST ||
....
){
break;
}else if(relationship == SipTransaction::MESSAGE_DIFFERENT_BRANCH){
relationship = SipTransaction::MESSAGE_NEW_FINAL;//kwint
break;
}
Check if it will help to solve the problem...
Kwint
_______________________________________________
sipxtapi-dev mailing list
[email protected]
List Archive: http://list.sipfoundry.org/archive/sipxtapi-dev/