All Downloads are FREE. Search and download functionalities are using the official Maven repository.

sip.header.RSeqHeader Maven / Gradle / Ivy

/**
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Unpublished - rights reserved under the Copyright Laws of the United States.
 * Copyright ? 2003 Sun Microsystems, Inc. All rights reserved.
 * Copyright ? 2005 BEA Systems, Inc. All rights reserved.
 *
 * Use is subject to license terms.
 *
 * This distribution may include materials developed by third parties. 
 *
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 *
 * Module Name   : JSIP Specification
 * File Name     : RSeqHeader.java
 * Author        : Phelim O'Doherty
 *
 *  HISTORY
 *  Version   Date      Author              Comments
 *  1.1     08/10/2002  Phelim O'Doherty    Initial version, optional header to 
 *                                          support RFC3262.
 *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */
package javax.sip.header;

import javax.sip.InvalidArgumentException;

/**
 * This interface represents the RSeq header, as defined by 
 * RFC3262, this 
 * header is not part of RFC3261.
 * 

* The RSeq header is used in provisional responses in order to transmit them * reliably. It contains a single numeric value from 1 to 2**32-1. The value of * the RSeq in each subsequent reliable provisional response for the same request * MUST be greater by exactly one. RSeq numbers MUST NOT wrap around. Because * the initial one is chosen to be less than 2**31 - 1, but the maximum is * 2**32 - 1, there can be up to 2**31 reliable provisional responses per * request, which is more than sufficient. As the RSeq numbering space is within * a single transaction. This means that provisional responses for different * requests MAY use the same values for the RSeq number. *

* A server must ignore Headers that it does not understand. A proxy must not * remove or modify Headers that it does not understand. * * @author BEA Systems, NIST * @version 1.2 */ public interface RSeqHeader extends Header { /** * Sets the sequence number value of the RSeqHeader of the provisional * response. The sequence number MUST be expressible as a 32-bit unsigned * integer and MUST be less than 2**31. * * @param sequenceNumber - the new Sequence number of this RSeqHeader * @throws InvalidArgumentException if supplied value is less than zero. */ public void setSequenceNumber(int sequenceNumber) throws InvalidArgumentException; /** * Gets the sequence number of this RSeqHeader. * * @return the integer value of the Sequence number of the RSeqHeader */ public int getSequenceNumber(); /** * Name of RSeqHeader */ public final static String NAME = "RSeq"; }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy