Home | History | Annotate | Download | only in sip

Lines Matching refs:transaction

106      * @param transaction
109 SIPServerTransaction transaction) {
120 sipStack.addTransactionPendingAck(transaction);
122 transaction.sendResponse(sipResponse);
123 transaction.releaseSem();
126 transaction.releaseSem();
127 sipStack.removeTransaction(transaction);
135 * @param transaction
139 private void sendBadRequestResponse(SIPRequest sipRequest, SIPServerTransaction transaction,
150 sipStack.addTransactionPendingAck(transaction);
152 transaction.sendResponse(sipResponse);
153 transaction.releaseSem();
156 transaction.releaseSem();
157 sipStack.removeTransaction(transaction);
163 * Send a CALL OR TRANSACTION DOES NOT EXIST response.
166 * @param transaction
170 SIPServerTransaction transaction) {
181 sipStack.addTransactionPendingAck(transaction);
183 transaction.sendResponse(sipResponse);
184 transaction.releaseSem();
187 transaction.releaseSem();
188 sipStack.removeTransaction(transaction);
198 * @param transaction
201 private void sendLoopDetectedResponse(SIPRequest sipRequest, SIPServerTransaction transaction) {
209 sipStack.addTransactionPendingAck(transaction);
210 transaction.sendResponse(sipResponse);
211 transaction.releaseSem();
214 transaction.releaseSem();
215 sipStack.removeTransaction(transaction);
225 * @param transaction
229 SIPServerTransaction transaction) {
244 sipStack.addTransactionPendingAck(transaction);
245 transaction.sendResponse(sipResponse);
246 transaction.releaseSem();
249 transaction.releaseSem();
250 sipStack.removeTransaction(transaction);
288 SIPServerTransaction transaction = (SIPServerTransaction) this.transactionChannel;
289 if (transaction != null) {
292 "transaction state = " + transaction.getState());
337 * and CSeq exactly match those associated with an ongoing transaction, but the request
338 * does not match that transaction (based on the matching rules in Section 17.2.3), the
340 * transaction. This support is only enabled when the stack has been instructed to
349 this.sendLoopDetectedResponse(sipRequest, transaction);
368 if (sipRequest.getHeader(Route.NAME) != null && transaction.getDialog() != null) {
401 .sendBadRequestResponse(sipRequest, transaction,
416 this.sendRequestPendingResponse(sipRequest, transaction);
423 this.sendRequestPendingResponse(sipRequest, transaction);
436 this.sendCallOrTransactionDoesNotExistResponse(sipRequest, transaction);
441 if (transaction != null && transaction.isInviteTransaction()) {
465 * JvB: must never drop ACKs that dont match a transaction! One cannot be sure
472 * Found a transaction ( that we generated ) which is waiting for ACK. So ACK
485 "Problem terminating transaction", ex);
492 if (!dialog.handleAck(transaction)) {
511 "Dropping ACK - cannot find a transaction or dialog");
525 "Problem terminating transaction", ex);
532 transaction.passToListener();
533 dialog.addTransaction(transaction);
535 transaction.setDialog(dialog, dialogId);
538 sipStack.putInMergeTable(transaction, sipRequest);
541 * Note that ACK is a pseudo transaction. It is never added to the stack
542 * and you do not get transaction terminated events on ACK.
547 sipStack.addTransaction(transaction);
548 transaction.scheduleAckRemoval();
553 transaction.setMapped(true);
592 if (transaction != null) {
593 sipStack.removeTransaction(transaction);
594 transaction.releaseSem();
602 if (transaction != null) {
603 sipStack.removeTransaction(transaction);
604 transaction.releaseSem();
609 sipStack.addTransaction(transaction);
610 dialog.addTransaction(transaction);
612 transaction.setDialog(dialog, dialogId);
632 && transaction.getState() == TransactionState.TRYING) {
634 this.sendServerInternalErrorResponse(sipRequest, transaction);
638 if (transaction != null)
639 sipStack.removeTransaction(transaction);
661 transaction.sendResponse(response);
666 if (transaction != null) {
667 sipStack.removeTransaction(transaction);
668 transaction.releaseSem();
669 transaction = null;
675 // note that the transaction may be null (which
679 if (transaction != null && dialog != null) {
682 sipStack.addTransaction(transaction);
683 dialog.addTransaction(transaction);
684 transaction.setDialog(dialog, dialogId);
693 "BYE Tx = " + transaction + " isMapped ="
694 + transaction.isTransactionMapped());
704 + transaction + " isMapped = "
705 + transaction.isTransactionMapped());
715 // If transaction already exists but it is
716 // too late to cancel the transaction then
719 sipStack.getStackLogger().logDebug("Too late to cancel Transaction");
723 transaction.sendResponse(sipRequest.createResponse(Response.OK));
732 sipStack.getStackLogger().logDebug("Cancel transaction = " + st);
735 if (transaction != null && st != null && st.getDialog() != null) {
738 transaction.setDialog((SIPDialog) st.getDialog(), dialogId);
741 && transaction != null) {
759 if (transaction != null) {
760 sipStack.removeTransaction(transaction);
761 transaction.releaseSem();
771 if (transaction != null) {
772 sipStack.addTransaction(transaction);
773 transaction.setPassToListener();
774 transaction.setInviteTransaction(st);
797 if (dialog != null && transaction != null && lastTransaction != null
811 this.sendServerInternalErrorResponse(sipRequest, transaction);
836 this.sendRequestPendingResponse(sipRequest, transaction);
848 this.sendRequestPendingResponse(sipRequest, transaction);
860 "CHECK FOR OUT OF SEQ MESSAGE " + dialog + " transaction " + transaction);
863 if (dialog != null && transaction != null && !sipRequest.getMethod().equals(Request.BYE)
889 && (transaction.getState() == TransactionState.TRYING || transaction
891 this.sendServerInternalErrorResponse(sipRequest, transaction);
899 sipStack.addTransaction(transaction);
901 dialog.addTransaction(transaction);
903 transaction.setDialog(dialog, dialogId);
907 transaction.raiseIOExceptionEvent();
908 sipStack.removeTransaction(transaction);
918 sipRequest.getMethod() + " transaction.isMapped = "
919 + transaction.isTransactionMapped());
931 * required to complete the SUBSCRIBE transaction, such non-matching 200-class responses
977 // If the server transaction cannot be found or if it
986 transaction.setPendingSubscribe(pendingSubscribeClientTx);
987 // The transaction gets assigned to the dialog from the
1020 pendingSubscribeClientTx, transaction);
1026 transaction.setDialog(subscriptionDialog, dialogId);
1030 if (!transaction.isTransactionMapped()) {
1031 this.sipStack.mapTransaction(transaction);
1037 transaction.setPassToListener();
1039 this.sipStack.addTransaction(transaction);
1048 transaction.setDialog(subscriptionDialog, dialogId);
1050 if (!transaction.isTransactionMapped()) {
1051 this.sipStack.mapTransaction(transaction);
1055 transaction.setPassToListener();
1057 this.sipStack.addTransaction(transaction);
1068 if (transaction != null
1069 && ((SIPServerTransaction) transaction).isTransactionMapped()) {
1070 // Shadow transaction has been created and the stack
1074 (ServerTransaction) transaction, subscriptionDialog,
1077 // Shadow transaction has been created but the stack
1097 // For a dialog creating event - set the transaction to null.
1099 if (transaction != null
1100 && (((SIPServerTransaction) transaction).isTransactionMapped())) {
1101 sipEvent = new RequestEvent(sipProvider, (ServerTransaction) transaction, dialog,
1107 sipProvider.handleEvent(sipEvent, transaction);
1154 SIPClientTransaction transaction = (SIPClientTransaction) this.transactionChannel;
1158 sipStackImpl.getStackLogger().logDebug("Transaction = " + transaction);
1161 if (transaction == null) {
1162 // Transaction is null but the dialog is not null. This means that
1163 // the transaction has been removed by the stack.
1195 // dont pass up the null transaction
1217 ResponseEventExt sipEvent = new ResponseEventExt(sipProvider, transaction, dialog,
1226 sipProvider.handleEvent(sipEvent, transaction);
1233 responseEvent = new ResponseEventExt(sipProvider, (ClientTransactionExt) transaction,
1244 dialog.setLastResponse(transaction, response);
1245 transaction.setDialog(dialog, dialog.getDialogId());
1248 sipProvider.handleEvent(responseEvent, transaction);
1309 SIPClientTransaction transaction = (SIPClientTransaction) this.transactionChannel;
1314 if (sipDialog == null && transaction != null) {
1315 sipDialog = transaction.getDialog(dialogID);
1322 "Transaction = " + transaction + " sipDialog = " + sipDialog);
1359 // Have a dialog but could not find transaction.
1360 if (sipDialog != null && transaction == null
1401 // dont pass up the null transaction
1422 sipDialog.setLastResponse(transaction, sipResponse);
1426 (ClientTransactionExt) transaction, sipDialog, (Response) sipResponse);
1434 sipProvider.handleEvent(responseEvent, transaction);