Home | History | Annotate | Download | only in sip

Lines Matching defs:dialog

79  * to the application. This class is essentially a Dialog filter. It is a helper for the UAC Core.
81 * number, Dialog not found, etc. Note that this is not part of the JAIN-SIP spec (it does not
255 * Process a request. Check for various conditions in the dialog that can result in the
295 SIPDialog dialog = sipStack.getDialog(dialogId);
297 * Check if we got this request on the contact address of the dialog If not the dialog
299 * assigned to the dialog. Forgive the sins of B2BUA's that like to record route ACK's
301 if (dialog != null && sipProvider != dialog.getSipProvider()) {
302 Contact contact = dialog.getMyContactHeader();
316 // Check if the dialog contact is the same as the provider on
318 // dialog to the request.
324 "nulling dialog -- listening point mismatch! " + contactPort
328 dialog = null;
341 * function with Automatic Dialog Support.
356 sipStack.getStackLogger().logDebug("dialog = " + dialog);
392 if (sipRequest.getMethod().equals(Request.REFER) && dialog != null
410 SIPTransaction lastTransaction = ((SIPDialog) dialog).getLastTransaction();
414 if (!((SIPDialog) dialog).isAckSeen()
422 if (method.equals(Request.INVITE) && !dialog.isAckSent(cseqno)) {
431 * Got an UPDATE method and the user dialog does not exist and the user wants to be a
435 if (sipProvider.isAutomaticDialogSupportEnabled() && dialog == null) {
449 sipStack.getStackLogger().logDebug("Processing ACK for dialog " + dialog);
451 if (dialog == null) {
454 "Dialog does not exist " + sipRequest.getFirstLine()
492 if (!dialog.handleAck(transaction)) {
493 if (!dialog.isSequnceNumberValidation()) {
496 "Dialog exists with loose dialog validation "
498 + " isServerTransaction = " + true + " dialog = "
499 + dialog.getDialogId());
511 "Dropping ACK - cannot find a transaction or dialog");
533 dialog.addTransaction(transaction);
534 dialog.addRoute(sipRequest);
535 transaction.setDialog(dialog, dialogId);
562 * RFC 3262: A matching PRACK is defined as one within the same dialog as the
569 sipStack.getStackLogger().logDebug("Processing PRACK for dialog " + dialog);
571 if (dialog == null && sipProvider.isAutomaticDialogSupportEnabled()) {
574 "Dialog does not exist " + sipRequest.getFirstLine()
582 "Sending 481 for PRACK - automatic dialog support is enabled -- cant find dialog!");
598 } else if (dialog != null) {
599 if (!dialog.handlePrack(sipRequest)) {
610 dialog.addTransaction(transaction);
611 dialog.addRoute(sipRequest);
612 transaction.setDialog(dialog, dialogId);
620 "Processing PRACK without a DIALOG -- this must be a proxy element");
625 if (dialog != null && !dialog.isRequestConsumable(sipRequest)) {
628 "Dropping out of sequence BYE " + dialog.getRemoteSeqNumber() + " "
631 if (dialog.getRemoteSeqNumber() >= sipRequest.getCSeq().getSeqNumber()
642 } else if (dialog == null && sipProvider.isAutomaticDialogSupportEnabled()) {
643 // Drop bye's with 481 if dialog does not exist.
644 // If dialog support is enabled then
645 // there must be a dialog associated with the bye
646 // No dialog could be found and requests on this
648 // NOTE: if Automatic dialog support is not enabled,
654 response.setReasonPhrase("Dialog Not Found");
658 "dropping request -- automatic dialog "
659 + "support enabled and dialog does not exist!");
676 // happens when no dialog for the bye was found.
677 // and automatic dialog support is disabled (i.e. the app wants
678 // to manage its own dialog layer.
679 if (transaction != null && dialog != null) {
681 if (sipProvider == dialog.getSipProvider()) {
683 dialog.addTransaction(transaction);
684 transaction.setDialog(dialog, dialogId);
739 dialog = (SIPDialog) st.getDialog();
743 // Automatic dialog support is enabled so I must behave like
751 "dropping request -- automatic dialog support "
786 SIPTransaction lastTransaction = dialog == null ? null : dialog
791 * response to a first INVITE with a lower CSeq sequence number on the same dialog
797 if (dialog != null && transaction != null && lastTransaction != null
798 && sipRequest.getCSeq().getSeqNumber() > dialog.getRemoteSeqNumber()
801 && dialog.isSequnceNumberValidation()
818 * receives an INVITE on a dialog while an INVITE it had sent on that dialog is in
821 lastTransaction = (dialog == null ? null : dialog.getLastTransaction());
823 if (dialog != null
830 && !dialog.isAckSent(lastTransaction.getLastResponse().getCSeq()
834 "Sending 491 response for client Dialog ACK not sent.");
840 if (dialog != null && lastTransaction != null
843 && lastTransaction instanceof ServerTransaction && !dialog.isAckSeen()) {
846 "Sending 491 response for server Dialog ACK not seen.");
855 // sequentially within a dialog for RFC 3261
860 "CHECK FOR OUT OF SEQ MESSAGE " + dialog + " transaction " + transaction);
863 if (dialog != null && transaction != null && !sipRequest.getMethod().equals(Request.BYE)
868 if (!dialog.isRequestConsumable(sipRequest)) {
880 "Dropping out of sequence message " + dialog.getRemoteSeqNumber()
887 if (dialog.getRemoteSeqNumber() >= sipRequest.getCSeq().getSeqNumber()
898 if (sipProvider == dialog.getSipProvider()) {
901 dialog.addTransaction(transaction);
902 dialog.addRoute(sipRequest);
903 transaction.setDialog(dialog, dialogId);
925 * dialog- establishing message will create a dialog. All subsequent NOTIFY messages which
928 * not match the dialog would be rejected with a 481 response. Note that the 200-class
930 * responses might not correlate to the same dialog established by the NOTIFY. Except as
935 if (dialog == null && sipRequest.getMethod().equals(Request.NOTIFY)) {
942 "PROCESSING NOTIFY DIALOG == null " + pendingSubscribeClientTx);
956 * dialog.
978 // aleady has a dialog attached to it then just assign the
979 // notify to this dialog and pass it up.
982 // a dialog at the same time that the notify is trying to
983 // create a dialog. Thus we cannot process both at the
987 // The transaction gets assigned to the dialog from the
989 // default Dialog for the outgoing Subscribe request.
998 // grab the default dialog and assign it to the tags in
1008 "PROCESSING NOTIFY Subscribe DIALOG " + subscriptionDialog);
1011 // The user could have createed a dialog before sending out
1045 // The subscription default dialog is our dialog.
1046 // Found a subscrbe dialog for the NOTIFY
1049 dialog = subscriptionDialog;
1097 // For a dialog creating event - set the transaction to null.
1098 // The listener can create the dialog if needed.
1101 sipEvent = new RequestEvent(sipProvider, (ServerTransaction) transaction, dialog,
1104 sipEvent = new RequestEvent(sipProvider, null, dialog, (Request) sipRequest);
1118 SIPDialog dialog) {
1162 // Transaction is null but the dialog is not null. This means that
1164 // If the dialog exists, then it may need to retransmit ACK so
1166 if (dialog != null) {
1172 "Response is not a final response and dialog is found for response -- dropping response!");
1175 } else if (dialog.getState() == DialogState.TERMINATED) {
1178 "Dialog is terminated -- dropping response!");
1183 if (dialog.isAckSeen() && dialog.getLastAckSent() != null) {
1184 if (dialog.getLastAckSent().getCSeq().getSeqNumber() == response
1192 && response.getCSeq().getMethod().equals(dialog.getMethod())) {
1194 // Found the dialog - resend the ACK and
1200 dialog.resendAck();
1203 // What to do here ?? kill the dialog?
1212 "could not find tx, handling statelessly Dialog = " + dialog);
1217 ResponseEventExt sipEvent = new ResponseEventExt(sipProvider, transaction, dialog,
1232 // Here if there is an assigned dialog
1234 dialog, (Response) response);
1241 // Set the Dialog for the response.
1242 if (dialog != null && response.getStatusCode() != 100) {
1243 // set the last response for the dialog.
1244 dialog.setLastResponse(transaction, response);
1245 transaction.setDialog(dialog, dialog.getDialogId());
1310 // This may be a dialog creating method for which the ACK has not yet
1312 // but the dialog has already been assigned ( happens this way for
1346 // There could be an existing dialog for this response.
1359 // Have a dialog but could not find transaction.
1370 "Dialog is terminated -- dropping response!");
1372 // Dialog exists but was terminated - just create and send an ACK for the OK.
1400 // Found the dialog - resend the ACK and
1408 // What to do here ?? kill the dialog?