1600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangpackage gov.nist.javax.sip.message; 2600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 3600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport java.text.ParseException; 4600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 5600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport javax.sip.header.CSeqHeader; 6600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport javax.sip.header.CallIdHeader; 7600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport javax.sip.header.ContentLengthHeader; 8600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport javax.sip.header.ContentTypeHeader; 9600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport javax.sip.header.FromHeader; 10600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport javax.sip.header.ToHeader; 11600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport javax.sip.header.ViaHeader; 12600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport javax.sip.message.Message; 13600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 14600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang/** 15600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 16600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @author jean.deruelle@gmail.com 17600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 18600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 19600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangpublic interface MessageExt extends Message { 20600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 21600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 22600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * This method allows applications to associate application context with 23600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * the message. This specification does not define the format of this 24600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * data, this the responsibility of the application and is dependent 25600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * on the application. 26600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * this application data is un-interpreted by the stack. 27600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * Beware : when you clone a message, the deepcopy does not apply to the application data 28600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * (instead, we would just make a copy of the pointer). 29600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 30600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @param applicationData - un-interpreted application data. 31600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @since v2.0 32600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 33600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 34600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 35600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public void setApplicationData (Object applicationData); 36600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 37600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 38600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 39600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * Returns the application data associated with the transaction.This 40600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * specification does not define the format of this application specific 41600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * data. This is the responsibility of the application. 42600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 43600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @return application data associated with the message by the application. 44600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @since v2.0 45600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 46600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 47600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public Object getApplicationData(); 48600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 49600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 50600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * Get the multipart mime content from a message. Builds a wrapper around the 51600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * content and breaks it into multiple sections. Returns these sections as 52600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * a multipart mime content list. If the content type is not multipart mime 53600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * then the list will have a single element in it. 54600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 55600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @since v2.0 56600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @param Message message 57600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @throws ParseException if the content type is multipart mime but the content 58600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * is not properly encoded. 59600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 60600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 61600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public MultipartMimeContent getMultipartMimeContent() throws ParseException; 62600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 63600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 64600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * Get the topmost Via header. 65600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 66600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @since v2.0 67600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 68600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public ViaHeader getTopmostViaHeader(); 69600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 70600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 71600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * Get the From header or null if none present. 72600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 73600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @since v2.0 74600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 75600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public FromHeader getFromHeader(); 76600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 77600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 78600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * Get the To header or null if none present. 79600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 80600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @since v2.0 81600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 82600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public ToHeader getToHeader(); 83600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 84600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 85600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 86600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * Get the callId header or null if none present. 87600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 88600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @since v2.0 89600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 90600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public CallIdHeader getCallIdHeader(); 91600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 92600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 93600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * Get the CSeq header or null if none present. 94600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 95600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @since v2.0 96600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 97600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public CSeqHeader getCSeqHeader(); 98600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 99600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 100600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * Get the content type header or null if none present. 101600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 102600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @since v2.0 103600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 104600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public ContentTypeHeader getContentTypeHeader(); 105600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 106600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 107600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * Get the content length header or null if none present. 108600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 109600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @since v2.0 110600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 111600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public ContentLengthHeader getContentLengthHeader(); 112600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 113600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 114600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * Get the first line of the request or response. 115600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 116600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @since v2.0 117600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 118600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public String getFirstLine(); 119600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 120600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang} 121