#include <sippdu.h>
Public Member Functions | |
SIPURL () | |
SIPURL (const char *cstr, const char *defaultScheme=NULL) | |
SIPURL (const PString &str, const char *defaultScheme=NULL) | |
SIPURL (const PString &name, const OpalTransportAddress &address, WORD listenerPort=0) | |
PString | AsQuotedString () const |
PString | GetDisplayName (BOOL useDefault=TRUE) const |
void | SetDisplayName (const PString &str) |
OpalTransportAddress | GetHostAddress () const |
void | AdjustForRequestURI () |
BOOL | AdjustToDNS (PINDEX entry=0) |
Protected Member Functions | |
virtual BOOL | InternalParse (const char *cstr, const char *defaultScheme) |
Protected Attributes | |
PString | displayName |
SIPURL::SIPURL | ( | ) |
SIPURL::SIPURL | ( | const char * | cstr, | |
const char * | defaultScheme = NULL | |||
) |
str goes straight to Parse()
cstr | C string representation of the URL. |
defaultScheme | Default scheme for URL |
SIPURL::SIPURL | ( | const PString & | str, | |
const char * | defaultScheme = NULL | |||
) |
str goes straight to Parse()
str | String representation of the URL. |
defaultScheme | Default scheme for URL |
SIPURL::SIPURL | ( | const PString & | name, | |
const OpalTransportAddress & | address, | |||
WORD | listenerPort = 0 | |||
) |
If name does not start with 'sip' then construct URI in the form sip:name:port;transport=transport where host comes from address, port is listenerPort or port from address if that was 0 transport is udp unless address specified tcp Send name starting with 'sip' or constructed URI to Parse()
PString SIPURL::AsQuotedString | ( | ) | const |
Returns complete SIPURL as one string, including displayname (in quotes) and address in angle brackets.
PString SIPURL::GetDisplayName | ( | BOOL | useDefault = TRUE |
) | const |
Returns display name only
void SIPURL::SetDisplayName | ( | const PString & | str | ) | [inline] |
OpalTransportAddress SIPURL::GetHostAddress | ( | ) | const |
void SIPURL::AdjustForRequestURI | ( | ) |
Removes tag parm & query vars and recalculates urlString (scheme, user, password, host, port & URI parms (like transport))
BOOL SIPURL::AdjustToDNS | ( | PINDEX | entry = 0 |
) |
This will adjust the current URL according to RFC3263, using DNS SRV records.
entry | Entry in the SRV record to adjust to |
virtual BOOL SIPURL::InternalParse | ( | const char * | cstr, | |
const char * | defaultScheme | |||
) | [protected, virtual] |
Parses name-addr, like: "displayname"<scheme:user:password:port;transport=type>;tag=value into: displayname (quotes around name are optional, all before '<' is used) scheme username password hostname port pathStr path paramVars queryVars fragment
Note that tag parameter outside of <> will be lost, but tag in URL without <> will be kept until AdjustForRequestURI
PString SIPURL::displayName [protected] |