Package gov.nist.javax.sip.header

Examples of gov.nist.javax.sip.header.From


    /**
     * Get a dialog id given the remote tag.
     */
    public final String getDialogId(boolean isServer, String toTag) {
        From from = (From) this.getFrom();
        CallID cid = (CallID) this.getCallId();
        StringBuffer retval = new StringBuffer(cid.getCallId());
        if (!isServer) {
            // retval.append(COLON).append(from.getUserAtHostPort());
            if (from.getTag() != null) {
                retval.append(COLON);
                retval.append(from.getTag());
            }
            // retval.append(COLON).append(to.getUserAtHostPort());
            if (toTag != null) {
                retval.append(COLON);
                retval.append(toTag);
            }
        } else {
            // retval.append(COLON).append(to.getUserAtHostPort());
            if (toTag != null) {
                retval.append(COLON);
                retval.append(toTag);
            }
            // retval.append(COLON).append(from.getUserAtHostPort());
            if (from.getTag() != null) {
                retval.append(COLON);
                retval.append(from.getTag());
            }
        }
        return retval.toString().toLowerCase();
    }
View Full Code Here


                return topVia.getBranch().toLowerCase();
        } else {
            // Old style client so construct the transaction identifier
            // from various fields of the request.
            StringBuilder retval = new StringBuilder();
            From from = (From) this.getFrom();
            To to = (To) this.getTo();
            // String hpFrom = from.getUserAtHostPort();
            // retval.append(hpFrom).append(":");
            if (from.hasTag())
                retval.append(from.getTag()).append("-");
            // String hpTo = to.getUserAtHostPort();
            // retval.append(hpTo).append(":");
            String cid = this.callIdHeader.getCallId();
            retval.append(cid).append("-");
            retval.append(this.cSeqHeader.getSequenceNumber()).append("-").append(
View Full Code Here

            throw new SipException("Cannot find listening point for transport "
                    + topMostViaTransport);
        }
        Via via = lp.getViaHeader();

        From from = new From();
        from.setAddress(this.getLocalParty());
        To to = new To();
        to.setAddress(this.getRemoteParty());
        SIPRequest sipRequest = createRequest(sipUri, via, cseq, from, to);

        /*
         * The default contact header is obtained from the provider. The
         * application can override this.
         *
         * JvB: Should only do this for target refresh requests, ie not for BYE,
         * PRACK, etc
         */

        if (SIPRequest.isTargetRefresh(method)) {
            ContactHeader contactHeader = ((ListeningPointImpl) this.sipProvider
                    .getListeningPoint(lp.getTransport()))
                    .createContactHeader();

            ((SipURI) contactHeader.getAddress().getURI()).setSecure(this
                    .isSecure());
            sipRequest.setHeader(contactHeader);
        }

        try {
            /*
             * Guess of local sequence number - this is being re-set when the
             * request is actually dispatched
             */
            cseq = (CSeq) sipRequest.getCSeq();
            cseq.setSeqNumber(this.localSequenceNumber + 1);

        } catch (InvalidArgumentException ex) {
            InternalErrorHandler.handleException(ex);
        }

        if (method.equals(Request.SUBSCRIBE)) {
            if (eventHeader != null)
                sipRequest.addHeader(eventHeader);
        }
        /*
         * RFC-3515 Section - 2.4.6, if there are multiple REFER transactions in a dialog then the
         * NOTIFY MUST include an id parameter in the Event header containing the sequence number
         * (the number from the CSeq header field value) of the REFER this NOTIFY is associated with.
         * This id parameter MAY be included in NOTIFYs to the first REFER a UA receives in a given dialog
         */
        if (method.equals(Request.NOTIFY)) {
          if (eventHeader != null ) {
            sipRequest.addHeader(eventHeader);
          }
        }

        /*
         * RFC3261, section 12.2.1.1:
         *
         * The URI in the To field of the request MUST be set to the remote URI
         * from the dialog state. The tag in the To header field of the request
         * MUST be set to the remote tag of the dialog ID. The From URI of the
         * request MUST be set to the local URI from the dialog state. The tag
         * in the From header field of the request MUST be set to the local tag
         * of the dialog ID. If the value of the remote or local tags is null,
         * the tag parameter MUST be omitted from the To or From header fields,
         * respectively.
         */

        try {
            if (this.getLocalTag() != null) {
                from.setTag(this.getLocalTag());
            } else {
                from.removeTag();
            }
            if (this.getRemoteTag() != null) {
                to.setTag(this.getRemoteTag());
            } else {
                to.removeTag();
View Full Code Here

        this.addTransaction((SIPTransaction) clientTransactionId);
        // Enable the retransmission filter for the transaction

        ((SIPClientTransaction) clientTransactionId).isMapped = true;

        From from = (From) dialogRequest.getFrom();
        To to = (To) dialogRequest.getTo();

        // Caller already did the tag assignment -- check to see if the
        // tag assignment is OK.
        if (this.getLocalTag() != null && from.getTag() != null
                && !from.getTag().equals(this.getLocalTag()))
            throw new SipException("From tag mismatch expecting  "
                    + this.getLocalTag());

        if (this.getRemoteTag() != null && to.getTag() != null
                && !to.getTag().equals(this.getRemoteTag())) {
            if (logger.isLoggingEnabled())
                this.logger.logWarning(
                        "SIPDialog::sendRequest:To header tag mismatch expecting "
                                + this.getRemoteTag());
        }
        /*
         * The application is sending a NOTIFY before sending the response of
         * the dialog.
         */
        if (this.getLocalTag() == null
                && dialogRequest.getMethod().equals(Request.NOTIFY)) {
            if (!this.getMethod().equals(Request.SUBSCRIBE))
                throw new SipException(
                        "Trying to send NOTIFY without SUBSCRIBE Dialog!");
            this.setLocalTag(from.getTag());

        }

        try {
            if (this.getLocalTag() != null)
                from.setTag(this.getLocalTag());
            if (this.getRemoteTag() != null)
                to.setTag(this.getRemoteTag());

        } catch (ParseException ex) {

View Full Code Here

            if (logger.isLoggingEnabled(LogWriter.TRACE_DEBUG)) {
                logger.logDebug("Adding via to the ACK we are creating : " + via + " lastResponseTopMostVia " + lastResponseTopMostVia);
            }    
            sipRequest.setVia(vias);
           
            From from = new From();
            from.setAddress(this.getLocalParty());
            from.setTag(this.myTag);
            sipRequest.setFrom(from);
            To to = new To();
            to.setAddress(this.getRemoteParty());
            if (hisTag != null)
                to.setTag(this.hisTag);
View Full Code Here

   * @param isServer is set to true if this is the UAS
   * and set to false if this is the UAC
   */
  public String getDialogId(boolean isServer) {
    CallID cid = (CallID) this.getCallId();
    From from = (From) this.getFrom();
    To to = (To) this.getTo();
    StringBuffer retval = new StringBuffer(cid.getCallId());
    if (!isServer) {
      //retval.append(COLON).append(from.getUserAtHostPort());
      if (from.getTag() != null) {
        retval.append(COLON);
        retval.append(from.getTag());
      }
      //retval.append(COLON).append(to.getUserAtHostPort());
      if (to.getTag() != null) {
        retval.append(COLON);
        retval.append(to.getTag());
      }
    } else {
      //retval.append(COLON).append(to.getUserAtHostPort());
      if (to.getTag() != null) {
        retval.append(COLON);
        retval.append(to.getTag());
      }
      //retval.append(COLON).append(from.getUserAtHostPort());
      if (from.getTag() != null) {
        retval.append(COLON);
        retval.append(from.getTag());
      }
    }
    return retval.toString().toLowerCase();
  }
View Full Code Here

    return retval.toString().toLowerCase();
  }

  public String getDialogId(boolean isServer, String toTag) {
    CallID cid = (CallID) this.getCallId();
    From from = (From) this.getFrom();
    StringBuffer retval = new StringBuffer(cid.getCallId());
    if (!isServer) {
      //retval.append(COLON).append(from.getUserAtHostPort());
      if (from.getTag() != null) {
        retval.append(COLON);
        retval.append(from.getTag());
      }
      //retval.append(COLON).append(to.getUserAtHostPort());
      if (toTag != null) {
        retval.append(COLON);
        retval.append(toTag);
      }
    } else {
      //retval.append(COLON).append(to.getUserAtHostPort());
      if (toTag != null) {
        retval.append(COLON);
        retval.append(toTag);
      }
      //retval.append(COLON).append(from.getUserAtHostPort());
      if (from.getTag() != null) {
        retval.append(COLON);
        retval.append(from.getTag());
      }
    }
    return retval.toString().toLowerCase();
  }
View Full Code Here

   * @param isServer is set to true if this is the UAS
   * and set to false if this is the UAC
   */
  public String getDialogId(boolean isServer) {
    CallID cid = (CallID) this.getCallId();
    From from = (From) this.getFrom();
    To to = (To) this.getTo();
    StringBuffer retval = new StringBuffer(cid.getCallId());
    if (!isServer) {
      //retval.append(COLON).append(from.getUserAtHostPort());
      if (from.getTag() != null) {
        retval.append(COLON);
        retval.append(from.getTag());
      }
      //retval.append(COLON).append(to.getUserAtHostPort());
      if (to.getTag() != null) {
        retval.append(COLON);
        retval.append(to.getTag());
      }
    } else {
      //retval.append(COLON).append(to.getUserAtHostPort());
      if (to.getTag() != null) {
        retval.append(COLON);
        retval.append(to.getTag());
      }
      //retval.append(COLON).append(from.getUserAtHostPort());
      if (from.getTag() != null) {
        retval.append(COLON);
        retval.append(from.getTag());
      }
    }
    return retval.toString().toLowerCase();
  }
View Full Code Here

    return retval.toString().toLowerCase();
  }

  public String getDialogId(boolean isServer, String toTag) {
    CallID cid = (CallID) this.getCallId();
    From from = (From) this.getFrom();
    StringBuffer retval = new StringBuffer(cid.getCallId());
    if (!isServer) {
      //retval.append(COLON).append(from.getUserAtHostPort());
      if (from.getTag() != null) {
        retval.append(COLON);
        retval.append(from.getTag());
      }
      //retval.append(COLON).append(to.getUserAtHostPort());
      if (toTag != null) {
        retval.append(COLON);
        retval.append(toTag);
      }
    } else {
      //retval.append(COLON).append(to.getUserAtHostPort());
      if (toTag != null) {
        retval.append(COLON);
        retval.append(toTag);
      }
      //retval.append(COLON).append(from.getUserAtHostPort());
      if (from.getTag() != null) {
        retval.append(COLON);
        retval.append(from.getTag());
      }
    }
    return retval.toString().toLowerCase();
  }
View Full Code Here

                return topVia.getBranch().toLowerCase();
        } else {
            // Old style client so construct the transaction identifier
            // from various fields of the request.
            StringBuffer retval = new StringBuffer();
            From from = (From) this.getFrom();
            To to = (To) this.getTo();
            // String hpFrom = from.getUserAtHostPort();
            // retval.append(hpFrom).append(":");
            if (from.hasTag())
                retval.append(from.getTag()).append("-");
            // String hpTo = to.getUserAtHostPort();
            // retval.append(hpTo).append(":");
            String cid = this.callIdHeader.getCallId();
            retval.append(cid).append("-");
            retval.append(this.cSeqHeader.getSequenceNumber()).append("-").append(
View Full Code Here

TOP

Related Classes of gov.nist.javax.sip.header.From

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.