liblinphone  3.7.0
Typedefs | Enumerations | Functions
SIP address parser API.

Typedefs

typedef enum _LinphoneTransportType LinphoneTransportType
 
typedef struct SalAddress LinphoneAddress
 

Enumerations

enum  _LinphoneTransportType
 

Functions

LinphoneAddresslinphone_address_new (const char *addr)
 
LinphoneAddresslinphone_address_clone (const LinphoneAddress *addr)
 
LinphoneAddresslinphone_address_ref (LinphoneAddress *addr)
 
void linphone_address_unref (LinphoneAddress *addr)
 
const char * linphone_address_get_scheme (const LinphoneAddress *u)
 
const char * linphone_address_get_display_name (const LinphoneAddress *u)
 
const char * linphone_address_get_username (const LinphoneAddress *u)
 
const char * linphone_address_get_domain (const LinphoneAddress *u)
 
void linphone_address_set_display_name (LinphoneAddress *u, const char *display_name)
 
void linphone_address_set_username (LinphoneAddress *uri, const char *username)
 
void linphone_address_set_domain (LinphoneAddress *uri, const char *host)
 
void linphone_address_set_port (LinphoneAddress *uri, int port)
 
void linphone_address_set_transport (LinphoneAddress *uri, LinphoneTransportType tp)
 
LinphoneTransportType linphone_address_get_transport (const LinphoneAddress *uri)
 
void linphone_address_clean (LinphoneAddress *uri)
 
char * linphone_address_as_string (const LinphoneAddress *u)
 
char * linphone_address_as_string_uri_only (const LinphoneAddress *u)
 
bool_t linphone_address_is_secure (const LinphoneAddress *uri)
 
bool_t linphone_address_weak_equal (const LinphoneAddress *a1, const LinphoneAddress *a2)
 
void linphone_address_destroy (LinphoneAddress *u)
 
int linphone_address_get_port (const LinphoneAddress *u)
 
LinphoneAddresslinphone_core_create_address (LinphoneCore *lc, const char *address)
 

Detailed Description

This api is useful for manipulating SIP addresses ('from' or 'to' headers).

Typedef Documentation

Typedef for transport type enum.

Object that represents a SIP address.

The LinphoneAddress is an opaque object to represents SIP addresses, ie the content of SIP's 'from' and 'to' headers. A SIP address is made of display name, username, domain name, port, and various uri headers (such as tags). It looks like 'Alice <sip:alice.nosp@m.@exa.nosp@m.mple..nosp@m.net>'. The LinphoneAddress has methods to extract and manipulate all parts of the address. When some part of the address (for example the username) is empty, the accessor methods return NULL.

Enumeration Type Documentation

Enum describing transport type for LinphoneAddress.

Function Documentation

LinphoneAddress* linphone_address_new ( const char *  addr)

Constructs a LinphoneAddress object by parsing the user supplied address, given as a string.

LinphoneAddress* linphone_address_clone ( const LinphoneAddress addr)

Clones a LinphoneAddress object.

LinphoneAddress* linphone_address_ref ( LinphoneAddress addr)

Increment reference count of LinphoneAddress object.

void linphone_address_unref ( LinphoneAddress addr)

Decrement reference count of LinphoneAddress object. When dropped to zero, memory is freed.

const char* linphone_address_get_scheme ( const LinphoneAddress u)

Returns the address scheme, normally "sip".

const char* linphone_address_get_display_name ( const LinphoneAddress u)

Returns the display name.

const char* linphone_address_get_username ( const LinphoneAddress u)

Returns the username.

const char* linphone_address_get_domain ( const LinphoneAddress u)

Returns the domain name.

void linphone_address_set_display_name ( LinphoneAddress u,
const char *  display_name 
)

Sets the display name.

void linphone_address_set_username ( LinphoneAddress uri,
const char *  username 
)

Sets the username.

void linphone_address_set_domain ( LinphoneAddress uri,
const char *  host 
)

Sets the domain.

void linphone_address_set_port ( LinphoneAddress uri,
int  port 
)

Sets the port number.

void linphone_address_set_transport ( LinphoneAddress uri,
LinphoneTransportType  tp 
)

Set a transport.

LinphoneTransportType linphone_address_get_transport ( const LinphoneAddress uri)

Get the transport.

void linphone_address_clean ( LinphoneAddress uri)

Removes address's tags and uri headers so that it is displayable to the user.

char* linphone_address_as_string ( const LinphoneAddress u)

Returns the address as a string. The returned char * must be freed by the application. Use ms_free().

char* linphone_address_as_string_uri_only ( const LinphoneAddress u)

Returns the SIP uri only as a string, that is display name is removed. The returned char * must be freed by the application. Use ms_free().

bool_t linphone_address_is_secure ( const LinphoneAddress uri)

Returns true if address refers to a secure location (sips)

bool_t linphone_address_weak_equal ( const LinphoneAddress a1,
const LinphoneAddress a2 
)

Compare two LinphoneAddress ignoring tags and headers, basically just domain, username, and port. Returns TRUE if they are equal.

void linphone_address_destroy ( LinphoneAddress u)

Destroys a LinphoneAddress object (actually calls linphone_address_unref()).

int linphone_address_get_port ( const LinphoneAddress u)

Get port number as an integer value. Get port number, 0 if not present.

LinphoneAddress * linphone_core_create_address ( LinphoneCore lc,
const char *  address 
)

Create a LinphoneAddress object by parsing the user supplied address, given as a string.

Parameters
[in]lcLinphoneCore object
[in]addressString containing the user supplied address
Returns
The create LinphoneAddress object