|
| SipRequestLayer (uint8_t *data, size_t dataLen, Layer *prevLayer, Packet *packet) |
|
| SipRequestLayer (SipMethod method, std::string requestUri, std::string version="SIP/2.0") |
|
| SipRequestLayer (const SipRequestLayer &other) |
|
SipRequestLayer & | operator= (const SipRequestLayer &other) |
|
SipRequestFirstLine * | getFirstLine () |
|
std::string | toString () |
|
int | getContentLength () |
|
HeaderField * | setContentLength (int contentLength, const std::string prevFieldName="") |
|
OsiModelLayer | getOsiModelLayer () |
|
void | parseNextLayer () |
|
void | computeCalculateFields () |
|
HeaderField * | getFieldByName (std::string fieldName, int index=0) |
|
HeaderField * | getFirstField () |
|
HeaderField * | getNextField (HeaderField *prevField) |
|
int | getFieldCount () |
|
virtual HeaderField * | addField (const std::string &fieldName, const std::string &fieldValue) |
|
virtual HeaderField * | addField (const HeaderField &newField) |
|
HeaderField * | addEndOfHeader () |
|
virtual HeaderField * | insertField (HeaderField *prevField, const std::string &fieldName, const std::string &fieldValue) |
|
virtual HeaderField * | insertField (std::string prevFieldName, const std::string &fieldName, const std::string &fieldValue) |
|
virtual HeaderField * | insertField (HeaderField *prevField, const HeaderField &newField) |
|
bool | removeField (HeaderField *fieldToRemove) |
|
bool | removeField (std::string fieldName, int index=0) |
|
bool | isHeaderComplete () |
|
size_t | getHeaderLen () |
|
virtual | ~Layer () |
|
Layer * | getNextLayer () |
|
Layer * | getPrevLayer () |
|
ProtocolType | getProtocol () |
|
uint8_t * | getData () |
|
size_t | getDataLen () |
|
uint8_t * | getLayerPayload () |
|
size_t | getLayerPayloadSize () |
|
bool | isAllocatedToPacket () |
|
void | copyData (uint8_t *toArr) |
|
uint8_t * | getDataPtr (size_t offset=0) |
|
Represents a SIP request header and inherits all basic functionality of SipLayer and TextBasedProtocolMessage. The functionality that is added for this class is the SIP first line concept. A SIP request has the following first line: INVITE sip:bla@b.nosp@m.la.c.nosp@m.om:12345 SIP/2.0 Since it's not an "ordinary" header field, it requires a special treatment and gets a class of it's own: SipRequestFirstLine. In most cases a SIP request will be contained in a single packet but for cases it is not, only the first packet will be identified as SIP request layer. You can find out whether the header is complete by using SipLayer::isHeaderComplete()