SIPURL Class Reference
#include <sippdu.h>
Public Types |
| enum | UsageContext {
ExternalURI,
RequestURI,
ToURI,
FromURI,
RouteURI,
RedirectURI,
ContactURI,
RegContactURI,
RegisterURI
} |
Public Member Functions |
| | SIPURL () |
| | SIPURL (const PURL &url) |
| SIPURL & | operator= (const PURL &url) |
| | SIPURL (const char *cstr, const char *defaultScheme=NULL) |
| SIPURL & | operator= (const char *cstr) |
| | SIPURL (const PString &str, const char *defaultScheme=NULL) |
| SIPURL & | operator= (const PString &str) |
| | SIPURL (const PString &name, const OpalTransportAddress &address, WORD listenerPort=0) |
| | SIPURL (const OpalTransportAddress &address, WORD listenerPort=0) |
| SIPURL & | operator= (const OpalTransportAddress &address) |
| | SIPURL (const SIPMIMEInfo &mime, const char *name) |
| virtual Comparison | Compare (const PObject &obj) const |
| PString | AsQuotedString () const |
| PString | GetDisplayName (PBoolean useDefault=true) const |
| void | SetDisplayName (const PString &str) |
| const PStringOptions & | GetFieldParameters () const |
| | Return string options in field parameters.
|
| PStringOptions & | GetFieldParameters () |
| OpalTransportAddress | GetHostAddress () const |
| void | SetHostAddress (const OpalTransportAddress &addr) |
| void | Sanitise (UsageContext context) |
| PBoolean | AdjustToDNS (PINDEX entry=0) |
| void | SetTag (const PString &tag=PString::Empty(), bool force=false) |
| | Set a tag with a new unique ID.
|
Static Public Member Functions |
| static PString | GenerateTag () |
| | Generate a unique string suitable as a dialog tag.
|
Protected Member Functions |
| void | ParseAsAddress (const PString &name, const OpalTransportAddress &_address, WORD listenerPort=0) |
| virtual PBoolean | InternalParse (const char *cstr, const char *defaultScheme) |
| bool | ReallyInternalParse (bool fromField, const char *cstr, const char *defaultScheme) |
Protected Attributes |
| PString | m_displayName |
| PStringOptions | m_fieldParameters |
Detailed Description
This class extends PURL to include displayname, optional "<>" delimiters and extended parameters - like tag. It may be used for From:, To: and Contact: lines.
Member Enumeration Documentation
- Enumerator:
| ExternalURI |
URI used anywhere outside of protocol.
|
| RequestURI |
Request-URI (after the INVITE).
|
| ToURI |
To header field.
|
| FromURI |
From header field.
|
| RouteURI |
Record-Route header field.
|
| RedirectURI |
Redirect Contact header field.
|
| ContactURI |
General Contact header field.
|
| RegContactURI |
Registration Contact header field.
|
| RegisterURI |
URI on REGISTER request line.
|
Constructor & Destructor Documentation
| SIPURL::SIPURL |
( |
const PURL & |
url |
) |
[inline] |
| SIPURL::SIPURL |
( |
const char * |
cstr, |
|
|
const char * |
defaultScheme = NULL | |
|
) |
| | |
str goes straight to Parse()
- Parameters:
-
| 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()
- Parameters:
-
| 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@host: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()
| SIPURL::SIPURL |
( |
const SIPMIMEInfo & |
mime, |
|
|
const char * |
name | |
|
) |
| | |
Member Function Documentation
| PBoolean SIPURL::AdjustToDNS |
( |
PINDEX |
entry = 0 |
) |
|
This will adjust the current URL according to RFC3263, using DNS SRV records.
- Returns:
- FALSE if DNS is available but entry is larger than last SRV record entry, TRUE if DNS lookup fails or no DNS is available
- Parameters:
-
| entry | Entry in the SRV record to adjust to |
| PString SIPURL::AsQuotedString |
( |
|
) |
const |
Returns complete SIPURL as one string, including displayname (in quotes) and address in angle brackets.
| virtual Comparison SIPURL::Compare |
( |
const PObject & |
obj |
) |
const [virtual] |
Compare the two SIPURLs and return their relative rank. Note that does an intelligent comparison according to the rules in RFC3261 Section 19.1.4.
- Returns:
LessThan, EqualTo or GreaterThan according to the relative rank of the objects.
- Parameters:
-
| obj | Object to compare against. |
| static PString SIPURL::GenerateTag |
( |
|
) |
[static] |
Generate a unique string suitable as a dialog tag.
| PString SIPURL::GetDisplayName |
( |
PBoolean |
useDefault = true |
) |
const |
Returns display name only
| PStringOptions& SIPURL::GetFieldParameters |
( |
|
) |
[inline] |
| const PStringOptions& SIPURL::GetFieldParameters |
( |
|
) |
const [inline] |
Get the host and port as a transport address.
| virtual PBoolean SIPURL::InternalParse |
( |
const char * |
cstr, |
|
|
const char * |
defaultScheme | |
|
) |
| | [inline, protected, virtual] |
| SIPURL& SIPURL::operator= |
( |
const PString & |
str |
) |
[inline] |
| SIPURL& SIPURL::operator= |
( |
const char * |
cstr |
) |
[inline] |
| SIPURL& SIPURL::operator= |
( |
const PURL & |
url |
) |
[inline] |
| void SIPURL::ParseAsAddress |
( |
const PString & |
name, |
|
|
const OpalTransportAddress & |
_address, |
|
|
WORD |
listenerPort = 0 | |
|
) |
| | [protected] |
| bool SIPURL::ReallyInternalParse |
( |
bool |
fromField, |
|
|
const char * |
cstr, |
|
|
const char * |
defaultScheme | |
|
) |
| | [protected] |
Removes tag parm & query vars and recalculates urlString (scheme, user, password, host, port & URI parms (like transport)) which are not allowed in the context specified, e.g. Request-URI etc According to RFC3261, 19.1.1 Table 1
- Parameters:
-
| void SIPURL::SetDisplayName |
( |
const PString & |
str |
) |
[inline] |
Set the host and port as a transport address.
| void SIPURL::SetTag |
( |
const PString & |
tag = PString::Empty(), |
|
|
bool |
force = false | |
|
) |
| | |
Set a tag with a new unique ID.
Field Documentation
The documentation for this class was generated from the following file: