Liblinphone  3.10.2
Typedefs | Enumerations | Functions
SIP address parser API.

Typedefs

typedef enum _LinphoneTransportType LinphoneTransportType
typedef struct SalAddress LinphoneAddress

Enumerations

enum  _LinphoneTransportType {
  LinphoneTransportUdp,
  LinphoneTransportTcp,
  LinphoneTransportTls,
  LinphoneTransportDtls
}

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)
int linphone_address_set_display_name (LinphoneAddress *u, const char *display_name)
int linphone_address_set_username (LinphoneAddress *uri, const char *username)
int linphone_address_set_domain (LinphoneAddress *uri, const char *host)
int linphone_address_set_port (LinphoneAddress *uri, int port)
int linphone_address_set_transport (LinphoneAddress *uri, LinphoneTransportType tp)
LinphoneTransportType linphone_address_get_transport (const LinphoneAddress *uri)
void linphone_address_set_method_param (LinphoneAddress *addr, const char *method)
const char * linphone_address_get_method_param (const LinphoneAddress *addr)
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_get_secure (const LinphoneAddress *uri)
void linphone_address_set_secure (LinphoneAddress *addr, bool_t enabled)
bool_t linphone_address_is_sip (const LinphoneAddress *uri)
bool_t linphone_address_weak_equal (const LinphoneAddress *a1, const LinphoneAddress *a2)
bool_t linphone_address_equal (const LinphoneAddress *a1, const LinphoneAddress *a2)
void linphone_address_destroy (LinphoneAddress *u)
int linphone_address_get_port (const LinphoneAddress *u)
void linphone_address_set_password (LinphoneAddress *addr, const char *passwd)
const char * linphone_address_get_password (const LinphoneAddress *addr)
void linphone_address_set_header (LinphoneAddress *addr, const char *header_name, const char *header_value)
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 struct SalAddress LinphoneAddress

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@example.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.

Typedef for transport type enum.


Enumeration Type Documentation

Enum describing transport type for LinphoneAddress.


Function Documentation

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

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().

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

Clones a LinphoneAddress object.

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

Deprecated:
Use linphone_address_unref() instead
bool_t linphone_address_equal ( const LinphoneAddress a1,
const LinphoneAddress a2 
)

Compare two LinphoneAddress taking the tags and headers into account.

Parameters:
[in]a1LinphoneAddress object
[in]a2LinphoneAddress object
Returns:
Boolean value telling if the LinphoneAddress objects are equal.
See also:
linphone_address_weak_equal()

Returns the display name.

const char* linphone_address_get_domain ( const LinphoneAddress u)

Returns the domain name.

const char* linphone_address_get_method_param ( const LinphoneAddress addr)

Get the value of the method parameter

const char* linphone_address_get_password ( const LinphoneAddress addr)

Get the password encoded in the address. It is used for basic authentication (not recommended).

Parameters:
addrthe address
Returns:
the password, if any, NULL otherwise.

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

const char* linphone_address_get_scheme ( const LinphoneAddress u)

Returns the address scheme, normally "sip".

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

Get the transport.

const char* linphone_address_get_username ( const LinphoneAddress u)

Returns the username.

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

Deprecated:
use linphone_address_get_secure()
bool_t linphone_address_is_sip ( const LinphoneAddress uri)

returns true if address is a routable sip address

LinphoneAddress* linphone_address_new ( const char *  addr)

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

Increment reference count of LinphoneAddress object.

int linphone_address_set_display_name ( LinphoneAddress u,
const char *  display_name 
)

Sets the display name.

int linphone_address_set_domain ( LinphoneAddress uri,
const char *  host 
)

Sets the domain.

void linphone_address_set_header ( LinphoneAddress addr,
const char *  header_name,
const char *  header_value 
)

Set a header into the address. Headers appear in the URI with '?', such as <sip:test@linphone.org?SomeHeader=SomeValue>.

Parameters:
addrthe address
header_namethe header name
header_valuethe header value
void linphone_address_set_method_param ( LinphoneAddress addr,
const char *  method 
)

Set the value of the method parameter

void linphone_address_set_password ( LinphoneAddress addr,
const char *  passwd 
)

Set the password encoded in the address. It is used for basic authentication (not recommended).

Parameters:
addrthe LinphoneAddress
passwdthe password to set.
int linphone_address_set_port ( LinphoneAddress uri,
int  port 
)

Sets the port number.

void linphone_address_set_secure ( LinphoneAddress addr,
bool_t  enabled 
)

Make the address refer to a secure location (sips scheme)

Parameters:
[in]addrA LinphoneAddress object
[in]enabledTRUE if address is requested to be secure.

Set a transport.

int linphone_address_set_username ( LinphoneAddress uri,
const char *  username 
)

Sets the username.

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

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.

Parameters:
[in]a1LinphoneAddress object
[in]a2LinphoneAddress object
Returns:
Boolean value telling if the LinphoneAddress objects are equal.
See also:
linphone_address_equal()
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