|
BEA Systems, Inc. | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.bea.wcp.sip.engine.server.ContentIndirectionUtil
A SIP message consists of a start line, various headers, and then the body of the message. Content Indirection (CI) allows the body to be located outside the message itself, allowing later retrieval. This second location is provided in a header, and consists of an URL, typically using HTTP. Additional headers provide secondary information about the body, such as its size, and the lifetime of the URL.
Content Indirection is described in a draft document.
Here is an example message from the draft. Note the URL parameter appearing in the Content-Type header.
INVITE sip:boromir@example.com SIP/2.0 From: <sip:gandalf@example.net>;tag=347242 To: <sip:boromir@example.com> Call-ID: 3573853342923422@example.net CSeq: 2131 INVITE Accept: message/external-body application/sdp Content-Type: message/external-body; ACCESS-TYPE=URL; URL="http://www.example.net/party/06/2002/announcement"; EXPIRATION="Sat, 20 Jun 2002 12:00:00 GMT"; size=231 Content-Length: ... Content-Type: application/sdp Content-Disposition: session Content-ID: <4e5562cd1214427d@example.net>
This static class presents two utility methods which make it easier to use Content Indirection.
Use the bodyIsIndirect() method to check whether a SIP message is using content indirection.
If it is, then call parseIndirectContentData() to get an ICParsedData object.
On the ICParsedData
object,
call getContentTypeAttributes() to get the available attribute names, such as "ACCESS-TYPE" and "URL" in the
example above. The value corresponding to each attibute can be retrieved
with getContentTypeAttributeValue().
Note that the message using indirect content has what amount to headers in the body of the message. There are three of them in the above example. Get the available headers by calling getBodyHeaders(). Retrieve the value of each header by calling getBodyHeaderValue().
Method Summary | |
static boolean |
bodyIsIndirect(SipServletMessage msg)
Is msg using Indirect Content? |
static ICParsedData |
parseIndirectContentData(SipServletMessage msg)
Return an object that can provide the attributes and body headers from a message that is using content indirection. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
public static boolean bodyIsIndirect(SipServletMessage msg)
public static ICParsedData parseIndirectContentData(SipServletMessage msg) throws ContentIndirectionException
ContentIndirectionException
|
Documentation is available at http://download.oracle.com/docs/cd/E13209_01/wlcp/wlss22/ Copyright 2006 BEA Systems Inc. |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |