|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectgov.nist.javax.sip.parser.StringMsgParser
public class StringMsgParser
Parse SIP message and parts of SIP messages such as URI's etc from memory and return a structure. Intended use: UDP message processing. This class is used when you have an entire SIP message or SIPHeader or SIP URL in memory and you want to generate a parsed structure from it. For SIP messages, the payload can be binary or String. If you have a binary payload, use parseSIPMessage(byte[]) else use parseSIPMessage(String) The payload is accessible from the parsed message using the getContent and getContentBytes methods provided by the SIPMessage class. If SDP parsing is enabled using the parseContent method, then the SDP body is also parsed and can be accessed from the message using the getSDPAnnounce method. Currently only eager parsing of the message is supported (i.e. the entire message is parsed in one feld swoop).
Field Summary | |
---|---|
protected static boolean |
computeContentLengthFromMessage
|
Constructor Summary | |
---|---|
StringMsgParser()
|
Method Summary | |
---|---|
static void |
main(String[] args)
Test code. |
AddressImpl |
parseAddress(String address)
Parse an address (nameaddr or address spec) and return and address structure. |
Host |
parseHost(String host)
Parse a host name and return a parsed structure. |
static SIPHeader |
parseSIPHeader(String header)
Parse an individual SIP message header from a string. |
SIPMessage |
parseSIPMessage(byte[] msgBuffer,
boolean readBody,
boolean strict,
ParseExceptionListener parseExceptionListener)
Parse a buffer containing a single SIP Message where the body is an array of un-interpreted bytes. |
RequestLine |
parseSIPRequestLine(String requestLine)
Parse the SIP Request Line |
StatusLine |
parseSIPStatusLine(String statusLine)
Parse the SIP Response message status line |
SipUri |
parseSIPUrl(String url)
Parse a SIP url from a string and return a URI structure for it. |
TelephoneNumber |
parseTelephoneNumber(String telephone_number)
Parse a telephone number return a parsed structure. |
GenericURI |
parseUrl(String url)
Parse a uri from a string and return a URI structure for it. |
protected SIPMessage |
processFirstLine(String firstLine,
ParseExceptionListener parseExceptionListener,
byte[] msgBuffer)
|
protected void |
processHeader(String header,
SIPMessage message,
ParseExceptionListener parseExceptionListener,
byte[] rawMessage)
|
static void |
setComputeContentLengthFromMessage(boolean computeContentLengthFromMessage)
|
protected static String |
trimEndOfLine(String line)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected static boolean computeContentLengthFromMessage
Constructor Detail |
---|
public StringMsgParser()
Method Detail |
---|
public SIPMessage parseSIPMessage(byte[] msgBuffer, boolean readBody, boolean strict, ParseExceptionListener parseExceptionListener) throws ParseException
parseSIPMessage
in interface MessageParser
msgBuffer
- a byte buffer containing the messages to be parsed. This can
consist of multiple SIP Messages concatenated together.readBody
- If the content body should be read or notparseExceptionListener
- Callback if an exception occurs during the parsing to notify back the stack
ParseException
- is thrown when an illegal message has been encountered
(and the rest of the buffer is discarded).ParseExceptionListener
protected static String trimEndOfLine(String line)
protected SIPMessage processFirstLine(String firstLine, ParseExceptionListener parseExceptionListener, byte[] msgBuffer) throws ParseException
ParseException
protected void processHeader(String header, SIPMessage message, ParseExceptionListener parseExceptionListener, byte[] rawMessage) throws ParseException
ParseException
public AddressImpl parseAddress(String address) throws ParseException
address
- is a String containing the address to be parsed.
ParseException
- when the address is badly formatted.public Host parseHost(String host) throws ParseException
host
- is a String containing the host name to be parsed
ParseException
- a ParseException when the hostname is badly formatted.public TelephoneNumber parseTelephoneNumber(String telephone_number) throws ParseException
telephone_number
- is a String containing the telephone # to be parsed
ParseException
- a ParseException when the address is badly formatted.public SipUri parseSIPUrl(String url) throws ParseException
url
- a String containing the URI structure to be parsed.
ParseException
- if there was an error parsing the message.public GenericURI parseUrl(String url) throws ParseException
url
- a String containing the URI structure to be parsed.
ParseException
- if there was an error parsing the message.public static SIPHeader parseSIPHeader(String header) throws ParseException
header
- String containing the SIP header.
ParseException
- if there was an error parsing the message.public RequestLine parseSIPRequestLine(String requestLine) throws ParseException
requestLine
- a String containing the request line to be parsed.
ParseException
- if there was an error parsing the requestLine.public StatusLine parseSIPStatusLine(String statusLine) throws ParseException
statusLine
- a String containing the Status line to be parsed.
ParseException
- if there was an error parsingStatusLine
public static void setComputeContentLengthFromMessage(boolean computeContentLengthFromMessage)
public static void main(String[] args) throws ParseException
ParseException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |