#include <yatesip.h>
Public Member Functions | |
SIPMessage (const SIPMessage &original) | |
SIPMessage (const char *_method, const char *_uri, const char *_version="SIP/2.0") | |
SIPMessage (SIPParty *ep, const char *buf, int len=-1) | |
SIPMessage (const SIPMessage *message, int _code, const char *_reason=0) | |
SIPMessage (const SIPMessage *original, const SIPMessage *answer) | |
virtual | ~SIPMessage () |
void | complete (SIPEngine *engine, const char *user=0, const char *domain=0, const char *dlgTag=0) |
bool | copyHeader (const SIPMessage *message, const char *name, const char *newName=0) |
int | copyAllHeaders (const SIPMessage *message, const char *name, const char *newName=0) |
SIPParty * | getParty () const |
void | setParty (SIPParty *ep=0) |
bool | isValid () const |
bool | isAnswer () const |
bool | isOutgoing () const |
bool | isACK () const |
bool | isReliable () const |
int | getCSeq () const |
const MimeHeaderLine * | getHeader (const char *name) const |
const MimeHeaderLine * | getLastHeader (const char *name) const |
int | countHeaders (const char *name) const |
const NamedString * | getParam (const char *name, const char *param) const |
const String & | getHeaderValue (const char *name) const |
const String & | getParamValue (const char *name, const char *param) const |
void | addHeader (const char *name, const char *value=0) |
void | addHeader (MimeHeaderLine *line) |
void | clearHeaders (const char *name) |
void | setHeader (const char *name, const char *value=0) |
MimeAuthLine * | buildAuth (const String &username, const String &password, const String &meth, const String &uri, bool proxy=false) const |
MimeAuthLine * | buildAuth (const SIPMessage &original) const |
void | setAutoAuth (const char *username=0, const char *password=0) |
const String & | getAuthUsername () const |
const String & | getAuthPassword () const |
ObjList * | getRoutes () const |
void | addRoutes (const ObjList *routes) |
const DataBlock & | getBuffer () const |
const String & | getHeaders () const |
void | setBody (MimeBody *newbody=0) |
Static Public Member Functions | |
static SIPMessage * | fromParsing (SIPParty *ep, const char *buf, int len=-1) |
Public Attributes | |
String | version |
String | method |
String | uri |
int | code |
String | reason |
ObjList | header |
MimeBody * | body |
Protected Member Functions | |
bool | parse (const char *buf, int len) |
bool | parseFirst (String &line) |
Protected Attributes | |
SIPParty * | m_ep |
bool | m_valid |
bool | m_answer |
bool | m_outgoing |
bool | m_ack |
int | m_cseq |
String | m_string |
DataBlock | m_data |
String | m_authUser |
String | m_authPass |
SIPMessage | ( | const SIPMessage & | original | ) |
Copy constructor
SIPMessage | ( | const char * | _method, | |
const char * | _uri, | |||
const char * | _version = "SIP/2.0" | |||
) |
Creates a new, empty, outgoing SIPMessage.
SIPMessage | ( | SIPParty * | ep, | |
const char * | buf, | |||
int | len = -1 | |||
) |
Creates a new SIPMessage from parsing a text buffer.
SIPMessage | ( | const SIPMessage * | message, | |
int | _code, | |||
const char * | _reason = 0 | |||
) |
Creates a new SIPMessage as answer to another message.
SIPMessage | ( | const SIPMessage * | original, | |
const SIPMessage * | answer | |||
) |
Creates an ACK message from an original message and a response.
virtual ~SIPMessage | ( | ) | [virtual] |
Destroy the message and all
static SIPMessage* fromParsing | ( | SIPParty * | ep, | |
const char * | buf, | |||
int | len = -1 | |||
) | [static] |
Construct a new SIP message by parsing a text buffer
void complete | ( | SIPEngine * | engine, | |
const char * | user = 0 , |
|||
const char * | domain = 0 , |
|||
const char * | dlgTag = 0 | |||
) |
Complete missing fields with defaults taken from a SIP engine
bool copyHeader | ( | const SIPMessage * | message, | |
const char * | name, | |||
const char * | newName = 0 | |||
) |
Copy an entire header line (including all parameters) from another message
message | Pointer to the message to copy the header from | |
name | Name of the header to copy | |
newName | New name to force in headers, NULL to just copy |
int copyAllHeaders | ( | const SIPMessage * | message, | |
const char * | name, | |||
const char * | newName = 0 | |||
) |
Copy multiple header lines (including all parameters) from another message
message | Pointer to the message to copy the header from | |
name | Name of the headers to copy | |
newName | New name to force in headers, NULL to just copy |
SIPParty* getParty | ( | ) | const [inline] |
Get the endpoint this message uses
void setParty | ( | SIPParty * | ep = 0 |
) |
Set the endpoint this message uses
ep | Pointer to the endpoint of this message |
bool isValid | ( | ) | const [inline] |
Check if this message is valid as result of the parsing
bool isAnswer | ( | ) | const [inline] |
Check if this message is an answer or a request
bool isOutgoing | ( | ) | const [inline] |
Check if this message is an outgoing message
bool isACK | ( | ) | const [inline] |
Check if this message is an ACK message
bool isReliable | ( | ) | const [inline] |
Check if this message is handled by a reliable protocol
int getCSeq | ( | ) | const [inline] |
Get the Command Sequence number from this message
const MimeHeaderLine* getHeader | ( | const char * | name | ) | const |
Find a header line by name
name | Name of the header to locate |
const MimeHeaderLine* getLastHeader | ( | const char * | name | ) | const |
Find the last header line that matches a given name name
name | Name of the header to locate |
int countHeaders | ( | const char * | name | ) | const |
Count the header lines matching a specific name
name | Name of the header to locate |
const NamedString* getParam | ( | const char * | name, | |
const char * | param | |||
) | const |
Find a header parameter by name
name | Name of the header to locate | |
param | Name of the parameter to locate in the tag |
const String& getHeaderValue | ( | const char * | name | ) | const |
Get a string value (without parameters) from a header line
name | Name of the header to locate |
const String& getParamValue | ( | const char * | name, | |
const char * | param | |||
) | const |
Get a string value from a parameter in a header line
name | Name of the header to locate | |
param | Name of the parameter to locate in the tag |
void addHeader | ( | const char * | name, | |
const char * | value = 0 | |||
) | [inline] |
Append a new header line constructed from name and content
name | Name of the header to add | |
value | Content of the new header line |
void addHeader | ( | MimeHeaderLine * | line | ) | [inline] |
Append an already constructed header line
line | Header line to add |
void clearHeaders | ( | const char * | name | ) |
Clear all header lines that match a name
name | Name of the header to clear |
void setHeader | ( | const char * | name, | |
const char * | value = 0 | |||
) | [inline] |
Set a header line constructed from name and content
MimeAuthLine* buildAuth | ( | const String & | username, | |
const String & | password, | |||
const String & | meth, | |||
const String & | uri, | |||
bool | proxy = false | |||
) | const |
Construct a new authorization line based on credentials and challenge
username | User account name | |
password | Clear text password for the account | |
meth | Method to include in the authorization digest | |
uri | URI to include in the authorization digest | |
proxy | Set to true to authenticate to a proxy, false to a server |
MimeAuthLine* buildAuth | ( | const SIPMessage & | original | ) | const |
Construct a new authorization line based on this answer and original message
original | Origianl outgoing message |
void setAutoAuth | ( | const char * | username = 0 , |
|
const char * | password = 0 | |||
) | [inline] |
Prepare the message for automatic client transaction authentication.
username | Username for auto authentication | |
password | Password for auto authentication |
const String& getAuthUsername | ( | ) | const [inline] |
Retrive the username to be used for auto authentication
const String& getAuthPassword | ( | ) | const [inline] |
Retrive the password to be used for auto authentication
ObjList* getRoutes | ( | ) | const |
Extract routes from Record-Route: headers
void addRoutes | ( | const ObjList * | routes | ) |
Add Route: headers to an outgoing message
routes | List of MimeHeaderLine representing SIP routes |
const DataBlock& getBuffer | ( | ) | const |
Creates a binary buffer from a SIPMessage.
const String& getHeaders | ( | ) | const |
Creates a text buffer from the headers.
void setBody | ( | MimeBody * | newbody = 0 |
) |
Set a new body for this message
int code |
Status code
All the body related things should be here, including the entire body and the parsed body.