001: /**
002: * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
003: * Unpublished - rights reserved under the Copyright Laws of the United States.
004: * Copyright © 2003 Sun Microsystems, Inc. All rights reserved.
005: * Copyright © 2005 BEA Systems, Inc. All rights reserved.
006: *
007: * Use is subject to license terms.
008: *
009: * This distribution may include materials developed by third parties.
010: *
011: * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
012: *
013: * Module Name : JSIP Specification
014: * File Name : PriorityHeader.java
015: * Author : Phelim O'Doherty
016: *
017: * HISTORY
018: * Version Date Author Comments
019: * 1.1 08/10/2002 Phelim O'Doherty
020: *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
021: */package javax.sip.header;
022:
023: import java.text.ParseException;
024:
025: /**
026:
027: * The Priority header field indicates the urgency of the request as perceived
028:
029: * by the client. The Priority header field describes the priority that the
030:
031: * SIP request should have to the receiving human or its agent. For example,
032:
033: * it may be factored into decisions about call routing and acceptance. For
034:
035: * these decisions, a message containing no Priority header field SHOULD be
036:
037: * treated as if it specified a Priority of <var>"Normal"</var>.
038:
039: * <p>
040:
041: * The Priority header field does not influence the use of communications
042:
043: * resources such as packet forwarding priority in routers or access to
044:
045: * circuits in PSTN gateways.
046:
047: * <p>
048:
049: * The currently defined priority values are:
050:
051: * <ul>
052:
053: * <li> EMERGENCY
054:
055: * <li> URGENT
056:
057: * <li> NORMAL
058:
059: * <li> NON_URGENT
060:
061: * </ul>
062:
063: * For Example:<br>
064:
065: * <code>Subject: Weekend plans<br>
066:
067: * Priority: non-urgent</code>
068: *
069: * @author BEA Systems, NIST
070: * @version 1.2
071:
072: */
073:
074: public interface PriorityHeader extends Header {
075:
076: /**
077:
078: * Set priority of PriorityHeader
079:
080: *
081:
082: * @param priority - the new string priority value
083:
084: * @throws ParseException which signals that an error has been reached
085:
086: * unexpectedly while parsing the priority value.
087:
088: */
089:
090: public void setPriority(String priority) throws ParseException;
091:
092: /**
093:
094: * Gets the string priority value of the PriorityHeader.
095:
096: *
097:
098: * @return the string priority value of the PriorityHeader
099:
100: */
101:
102: public String getPriority();
103:
104: /**
105:
106: * Urgent priority constant
107:
108: */
109:
110: public static final String URGENT = "Urgent";
111:
112: /**
113:
114: * Normal priority constant
115:
116: */
117:
118: public static final String NORMAL = "Normal";
119:
120: /**
121:
122: * Non-urgent priority constant
123:
124: */
125:
126: public static final String NON_URGENT = "Non-Urgent";
127:
128: /**
129:
130: * Emergency priority constant - It is RECOMMENDED that the value of
131:
132: * "emergency" only be used when life, limb, or property are in imminent
133:
134: * danger. Otherwise, there are no semantics defined for this header
135:
136: * field.
137:
138: */
139:
140: public static final String EMERGENCY = "Emergency";
141:
142: /**
143:
144: * Name of PriorityHeader
145:
146: */
147:
148: public final static String NAME = "Priority";
149:
150: }
|