public abstract class ImmutableSipMessage extends Object implements SipMessage
SipMessage.Builder<T extends SipMessage>UNABLE_TO_PARSE_OUT_THE_METHOD_DUE_TO_UNDERLYING_IO_EXCEPTION| Modifier | Constructor and Description |
|---|---|
protected |
ImmutableSipMessage(Buffer message,
SipInitialLine initialLine,
Map<String,List<SipHeader>> headers,
SipHeader toHeader,
SipHeader fromHeader,
SipHeader cSeqHeader,
SipHeader callIdHeader,
SipHeader maxForwardsHeader,
SipHeader viaHeader,
SipHeader routeHeader,
SipHeader recordRouteHeader,
SipHeader contactHeader,
Buffer body) |
| Modifier and Type | Method and Description |
|---|---|
SipMessage |
clone()
Perform a deep clone of this SipMessage.
|
int |
countNoOfHeaders() |
boolean |
equals(Object o) |
List<SipHeader> |
getAllHeaders() |
CallIdHeader |
getCallIDHeader()
Convenience method for fetching the call-id-header
|
ContactHeader |
getContactHeader()
Get the
ContactHeader |
Buffer |
getContent()
Get the content as a
Buffer. |
int |
getContentLength()
Return the content length.
|
ContentTypeHeader |
getContentTypeHeader()
Get the
ContentTypeHeader for this message. |
CSeqHeader |
getCSeqHeader()
Convenience method for fetching the CSeq header
|
ExpiresHeader |
getExpiresHeader()
Get the
ExpiresHeader |
FromHeader |
getFromHeader()
Convenience method for fetching the from-header
|
Optional<SipHeader> |
getHeader(Buffer headerName)
Get the header as a buffer
|
Optional<SipHeader> |
getHeader(String headerName)
Same as
#getHeader(Buffers.wrap(keyParameter). |
List<SipHeader> |
getHeaders(Buffer headerName) |
List<SipHeader> |
getHeaders(String headerName)
Get all headers with the given name.
|
Map<String,List<SipHeader>> |
getHeaderValues() |
Buffer |
getInitialLine()
The first line of a sip message, which is either a request or a response
line
|
protected SipInitialLine |
getInitialLineAsObject() |
MaxForwardsHeader |
getMaxForwards() |
RecordRouteHeader |
getRecordRouteHeader()
Get the top-most
RecordRouteHeader header if present. |
List<RecordRouteHeader> |
getRecordRouteHeaders()
Get all the RecordRoute-headers in this
SipMessage. |
RouteHeader |
getRouteHeader()
Get the top-most
RouteHeader header if present. |
List<RouteHeader> |
getRouteHeaders()
Get all the Route-headers in this
SipMessage. |
ToHeader |
getToHeader()
Convenience method for fetching the to-header
|
ViaHeader |
getViaHeader()
Get the top-most
ViaHeader if present. |
List<ViaHeader> |
getViaHeaders()
Get all the Via-headers in this
SipMessage. |
boolean |
hasContent()
Checks whether this
SipMessage is carrying anything in its
message body. |
SipInitialLine |
initialLine() |
boolean |
isInitial()
Checks whether or not this request is considered to be an "initial"
request, i.e., a request that does not go within a dialog.
|
Buffer |
toBuffer()
Get the
Buffer that is representing this SipMessage. |
String |
toString() |
void |
verify()
ruri sip version - checks if the SIP version in the request URI is
supported, currently only 2.0.
ruri scheme - checks if the URI scheme of the request URI is
supported (sip[s]|tel[s]) by SIP-router.
required headers - checks if the minimum set of required headers to,
from, cseq, callid and via is present in the request.
via sip version - not working because parser fails already when
another version then 2.0 is present.
via protocol - not working because parser fails already if an
unsupported transport is present.
cseq method - checks if the method from the cseq header is equal to
the request method.
cseq value - checks if the number in the cseq header is a valid
unsigned integer.
content length - checks if the size of the body matches with the
value from the content length header.
expires value - checks if the value of the expires header is a valid
unsigned integer.
proxy require - checks if all items of the proxy require header are
present in the list of the extensions from the module parameter
proxy_require.
parse uri's - checks if the specified URIs are present and parseable
by the SIP-router parsers
digest credentials - Check all instances of digest credentials in a
message.
|
finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitcopy, createResponse, createResponse, frame, frame, frame, getMethod, is100Trying, isAck, isBye, isByeRequest, isCancel, isCancelRequest, isClientError, isError, isFinal, isFinalNon2xx, isGlobalError, isInfo, isInfoRequest, isInvite, isInviteRequest, isMessage, isMessageRequest, isOptions, isOptionsRequest, isProvisional, isRedirect, isRegister, isRegisterRequest, isRequest, isResponse, isRinging, isServerError, isSubsequent, isSuccess, isTimeout, toRequest, toResponseprotected ImmutableSipMessage(Buffer message, SipInitialLine initialLine, Map<String,List<SipHeader>> headers, SipHeader toHeader, SipHeader fromHeader, SipHeader cSeqHeader, SipHeader callIdHeader, SipHeader maxForwardsHeader, SipHeader viaHeader, SipHeader routeHeader, SipHeader recordRouteHeader, SipHeader contactHeader, Buffer body)
message - the full immutable buffer which has the entire SIP message in it, including all headers, body
initial line etc.initialLine - the parsed initial line (which is just a reference into the message buffer)headers - body - public SipInitialLine initialLine()
initialLine in interface SipMessagepublic List<SipHeader> getAllHeaders()
getAllHeaders in interface SipMessagepublic Map<String,List<SipHeader>> getHeaderValues()
getHeaderValues in interface SipMessagepublic int countNoOfHeaders()
countNoOfHeaders in interface SipMessagepublic Buffer getInitialLine()
SipMessagegetInitialLine in interface SipMessageprotected SipInitialLine getInitialLineAsObject()
public Buffer getContent()
SipMessageBuffer.getContent in interface SipMessagepublic boolean hasContent()
SipMessageSipMessage is carrying anything in its
message body.hasContent in interface SipMessageSipMessage has a message body, false
otherwise.public Optional<SipHeader> getHeader(Buffer headerName) throws SipParseException
SipMessagegetHeader in interface SipMessageheaderName - the name of the header we wish to fetchSipHeader or null if not foundSipParseExceptionpublic List<SipHeader> getHeaders(Buffer headerName) throws SipParseException
getHeaders in interface SipMessageSipParseExceptionpublic List<SipHeader> getHeaders(String headerName) throws SipParseException
SipMessagegetHeaders in interface SipMessageSipParseExceptionpublic Optional<SipHeader> getHeader(String headerName) throws SipParseException
SipMessage#getHeader(Buffers.wrap(keyParameter).getHeader in interface SipMessageheaderName - the name of the header we wish to fetchSipHeader or null if not foundSipParseExceptionpublic FromHeader getFromHeader() throws SipParseException
SipMessagegetFromHeader in interface SipMessageSipParseException - TODOpublic ToHeader getToHeader() throws SipParseException
SipMessagegetToHeader in interface SipMessageSipParseExceptionpublic ViaHeader getViaHeader() throws SipParseException
SipMessageViaHeader if present. If this is a request that
has been sent then there should always be a ViaHeader present.
However, you just created a SipMessage youself then this method
may return null so please check for it.getViaHeader in interface SipMessageViaHeader or null if there are no
ViaHeaders on this message just yet.SipParseExceptionpublic List<ViaHeader> getViaHeaders() throws SipParseException
SipMessageSipMessage. If there are no
ViaHeaders then an empty list will be returned.getViaHeaders in interface SipMessageSipParseExceptionpublic MaxForwardsHeader getMaxForwards() throws SipParseException
getMaxForwards in interface SipMessageSipParseExceptionpublic RecordRouteHeader getRecordRouteHeader() throws SipParseException
SipMessageRecordRouteHeader header if present.getRecordRouteHeader in interface SipMessageRecordRouteHeader header or null if there
are no RecordRouteHeader headers found in this
SipMessage.SipParseExceptionpublic List<RecordRouteHeader> getRecordRouteHeaders() throws SipParseException
SipMessageSipMessage. If there are
no RecordRouteHeaders in this SipMessage then an empty
list will be returned.getRecordRouteHeaders in interface SipMessageSipParseExceptionpublic RouteHeader getRouteHeader() throws SipParseException
SipMessageRouteHeader header if present.getRouteHeader in interface SipMessageRouteHeader header or null if there are no
RouteHeader headers found in this SipMessage.SipParseExceptionpublic List<RouteHeader> getRouteHeaders() throws SipParseException
SipMessageSipMessage. If there are no
RouteHeaders in this SipMessage then an empty list will
be returned.getRouteHeaders in interface SipMessageSipParseExceptionpublic ExpiresHeader getExpiresHeader() throws SipParseException
SipMessageExpiresHeadergetExpiresHeader in interface SipMessageSipParseExceptionpublic ContactHeader getContactHeader() throws SipParseException
SipMessageContactHeadergetContactHeader in interface SipMessageSipParseExceptionpublic ContentTypeHeader getContentTypeHeader() throws SipParseException
SipMessageContentTypeHeader for this message. If there is no
Content-Type header in this SIP message then null will be returned.getContentTypeHeader in interface SipMessageContentTypeHeader or null if there is none.SipParseExceptionpublic int getContentLength()
throws SipParseException
SipMessagegetContentLength in interface SipMessageSipParseExceptionpublic CallIdHeader getCallIDHeader() throws SipParseException
SipMessagegetCallIDHeader in interface SipMessageSipParseExceptionpublic CSeqHeader getCSeqHeader() throws SipParseException
SipMessagegetCSeqHeader in interface SipMessageSipParseExceptionpublic boolean isInitial()
throws SipParseException
SipMessageisInitial in interface SipMessageSipParseExceptionpublic void verify()
SipMessage
This list is taken from Kamailio.org
verify in interface SipMessagepublic Buffer toBuffer()
SipMessageBuffer that is representing this SipMessage.toBuffer in interface SipMessagepublic SipMessage clone()
SipMessageclone in interface SipMessageclone in class ObjectCopyright © 2020. All Rights Reserved.