javax.sip.header.RetryAfterHeader 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 : RetryAfterHeader.java
* Author : Phelim O'Doherty
*
* HISTORY
* Version Date Author Comments
* 1.1 08/10/2002 Phelim O'Doherty
*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/package javax.sip.header;
import javax.sip.*;
import java.text.ParseException;
/**
* The Retry-After header field identifies the time to retry the request after
* recipt of the response. It can be used with a 500 (Server Internal Error) or 503
* (Service Unavailable) response to indicate how long the service is
* expected to be unavailable to the requesting client and with a 404
* (Not Found), 413 (Request Entity Too Large), 480 (Temporarily Unavailable),
* 486 (Busy Here), 600 (Busy), or 603 (Decline) response to indicate when the
* called party anticipates being available again. The value of this field is
* a positive integer number of seconds (in decimal) after the time of the
* response.
*
* An optional comment can be used to indicate additional information about the
* time of callback. An optional "duration" parameter indicates how long the
* called party will be reachable starting at the initial time of availability.
* If no duration parameter is given, the service is assumed to be available
* indefinitely.
*
* For Examples:
* Retry-After: 18000;duration=3600
* Retry-After: 120 (I'm in a meeting)
*
* @see Parameters
* @see Header
* @author BEA Systems, NIST
* @version 1.2
*/
public interface RetryAfterHeader extends Header, Parameters {
/**
* Sets the retry after value of the RetryAfterHeader. The retry after value
* MUST be greater than zero and MUST be less than 2**31.
*
* @param retryAfter - the new retry after value of this RetryAfterHeader
* @throws InvalidArgumentException if supplied value is less than zero.
*/
public void setRetryAfter(int retryAfter) throws InvalidArgumentException;
/**
* Gets the retry after value of the RetryAfterHeader. This retry after
* value is relative time.
*
* @return the retry after value of the RetryAfterHeader.
*/
public int getRetryAfter();
/**
* Gets the comment of RetryAfterHeader.
*
* @return the comment of this RetryAfterHeader, return null if no comment
* is available.
*/
public String getComment();
/**
* Sets the comment value of the RetryAfterHeader.
*
* @param comment - the new comment string value of the RetryAfterHeader.
* @throws ParseException which signals that an error has been reached
* unexpectedly while parsing the comment.
*/
public void setComment(String comment) throws ParseException;
/**
* Sets the duration value of the RetryAfterHeader. The retry after value
* MUST be greater than zero and MUST be less than 2**31.
*
* @param duration - the new duration value of this RetryAfterHeader
* @throws InvalidArgumentException if supplied value is less than zero.
*/
public void setDuration(int duration) throws InvalidArgumentException;
/**
* Gets the duration value of the RetryAfterHeader. This duration value
* is relative time.
*
* @return the duration value of the RetryAfterHeader, return zero if not
* set.
*/
public int getDuration();
/**
* Name of RetryAfterHeader
*/
public final static String NAME = "Retry-After";
}