|
| SipRequestLayer (uint8_t *data, size_t dataLen, Layer *prevLayer, Packet *packet) |
|
| SipRequestLayer (SipMethod method, const std::string &requestUri, const std::string &version="SIP/2.0") |
|
| SipRequestLayer (const SipRequestLayer &other) |
|
SipRequestLayer & | operator= (const SipRequestLayer &other) |
|
SipRequestFirstLine * | getFirstLine () const |
|
std::string | toString () const override |
|
int | getContentLength () const |
|
HeaderField * | setContentLength (int contentLength, const std::string &prevFieldName="") |
|
OsiModelLayer | getOsiModelLayer () const override |
|
void | parseNextLayer () override |
|
void | computeCalculateFields () override |
|
HeaderField * | getFieldByName (std::string fieldName, int index=0) const |
|
HeaderField * | getFirstField () const |
|
HeaderField * | getNextField (HeaderField *prevField) const |
|
int | getFieldCount () const |
|
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 () const |
|
void | parseNextLayer () override |
|
size_t | getHeaderLen () const override |
|
void | computeCalculateFields () override |
|
| ~Layer () override |
|
Layer * | getNextLayer () const |
|
Layer * | getPrevLayer () const |
|
ProtocolType | getProtocol () const |
|
bool | isMemberOfProtocolFamily (ProtocolTypeFamily protocolTypeFamily) const |
|
uint8_t * | getData () const |
|
size_t | getDataLen () const |
|
uint8_t * | getLayerPayload () const |
|
size_t | getLayerPayloadSize () const |
|
bool | isAllocatedToPacket () const |
|
void | copyData (uint8_t *toArr) const |
|
uint8_t * | getDataPtr (size_t offset=0) const override |
|
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()