Liblinphone: Proxies

Liblinphone 5.0.0

Macros | Typedefs | Enumerations | Functions
Proxies

Managing proxies. More...

## Macros
#define | linphone_proxy_config_expires linphone_proxy_config_set_expires
#define | linphone_proxy_config_enableregister linphone_proxy_config_enable_register
#define | linphone_proxy_config_get_addr linphone_proxy_config_get_server_addr

## Typedefs
typedef struct _LinphoneProxyConfig | LinphoneProxyConfig
| Represents an account configuration to be used by LinphoneCore. More...
typedef enum _LinphoneRegistrationState | LinphoneRegistrationState
| Describes proxy registration states. More...

## Enumerations
enum | _LinphoneRegistrationState { LinphoneRegistrationNone = 0 , LinphoneRegistrationProgress = 1 , LinphoneRegistrationOk = 2 , LinphoneRegistrationCleared = 3 , LinphoneRegistrationFailed = 4 }
| Describes proxy registration states. More...

## Functions
LinphoneStatus | linphone_core_set_primary_contact (LinphoneCore *core, const char *contact)
| Sets the local "from" identity. More...
const char * | linphone_core_get_primary_contact (LinphoneCore *core)
| Returns the default identity when no proxy configuration is used. More...
const char * | linphone_core_get_identity (LinphoneCore *core)
| Gets the default identity SIP address. More...
void | linphone_core_set_guess_hostname (LinphoneCore *core, bool_t enable)
| Tells LinphoneCore to guess local hostname automatically in primary contact. More...
bool_t | linphone_core_get_guess_hostname (LinphoneCore *core)
| Returns TRUE if hostname part of primary contact is guessed automatically. More...
LinphoneAddress * | linphone_core_create_primary_contact_parsed (LinphoneCore *core)
| Same as linphone_core_get_primary_contact() but the result is a LinphoneAddress object instead of const char *. More...
LinphoneProxyConfig * | linphone_core_create_proxy_config (LinphoneCore *core)
| Create a proxy config with default values from Linphone core. More...
LinphoneStatus | linphone_core_add_proxy_config (LinphoneCore *core, LinphoneProxyConfig *config)
| Add a proxy configuration. More...
void | linphone_core_clear_proxy_config (LinphoneCore *core)
| Erase all proxies from config. More...
void | linphone_core_remove_proxy_config (LinphoneCore *core, LinphoneProxyConfig *config)
| Removes a proxy configuration. More...
const bctbx_list_t * | linphone_core_get_proxy_config_list (const LinphoneCore *core)
| Returns an unmodifiable list of entered proxy configurations. More...
LinphoneProxyConfig * | linphone_core_get_proxy_config_by_idkey (LinphoneCore *core, const char *idkey)
| Search for a LinphoneProxyConfig by it's idkey. More...
LinphoneProxyConfig * | linphone_core_get_default_proxy_config (const LinphoneCore *core)
| Returns the default proxy configuration, that is the one used to determine the current identity. More...
void | linphone_core_set_default_proxy_config (LinphoneCore *core, LinphoneProxyConfig *config)
| Sets the default proxy. More...
void | linphone_core_refresh_registers (LinphoneCore *core)
| force registration refresh to be initiated upon next iterate More...
MS2_DEPRECATED LinphoneAddress * | linphone_core_get_primary_contact_parsed (LinphoneCore *core)
| Same as linphone_core_get_primary_contact() but the result is a LinphoneAddress object instead of const char *. More...
const char * | linphone_registration_state_to_string (LinphoneRegistrationState state)
| Human readable version of the LinphoneRegistrationState. More...
LinphoneProxyConfig * | linphone_proxy_config_ref (LinphoneProxyConfig *proxy_config)
| Acquire a reference to the proxy config. More...
void | linphone_proxy_config_unref (LinphoneProxyConfig *proxy_config)
| Release reference to the proxy config. More...
void * | linphone_proxy_config_get_user_data (const LinphoneProxyConfig *proxy_config)
| Retrieve the user pointer associated with the proxy config. More...
void | linphone_proxy_config_set_user_data (LinphoneProxyConfig *proxy_config, void *user_data)
| Assign a user pointer to the proxy config. More...
LinphoneStatus | linphone_proxy_config_set_server_addr (LinphoneProxyConfig *proxy_config, const char *server_address)
| Sets the proxy address. More...
LinphoneStatus | linphone_proxy_config_set_identity_address (LinphoneProxyConfig *proxy_config, const LinphoneAddress *identity)
| Sets the user identity as a SIP address. More...
LinphoneStatus | linphone_proxy_config_set_routes (LinphoneProxyConfig *proxy_config, const bctbx_list_t *routes)
| Sets a list of SIP route. More...
void | linphone_proxy_config_set_expires (LinphoneProxyConfig *proxy_config, int expires)
| Sets the registration expiration time in seconds. More...
void | linphone_proxy_config_enable_register (LinphoneProxyConfig *proxy_config, bool_t enable)
| Indicates either or not, REGISTRATION must be issued for this LinphoneProxyConfig. More...
void | linphone_proxy_config_edit (LinphoneProxyConfig *proxy_config)
| Starts editing a proxy configuration. More...
LinphoneStatus | linphone_proxy_config_done (LinphoneProxyConfig *proxy_config)
| Commits modification made to the proxy configuration. More...
void | linphone_proxy_config_enable_publish (LinphoneProxyConfig *proxy_config, bool_t enable)
| Indicates either or not, PUBLISH must be issued for this LinphoneProxyConfig. More...
void | linphone_proxy_config_set_publish_expires (LinphoneProxyConfig *proxy_config, int expires)
| Set the publish expiration time in second. More...
int | linphone_proxy_config_get_publish_expires (const LinphoneProxyConfig *proxy_config)
| get the publish expiration time in second. More...
void | linphone_proxy_config_set_dial_escape_plus (LinphoneProxyConfig *proxy_config, bool_t enable)
| Sets whether liblinphone should replace "+" by international calling prefix in dialed numbers (passed to linphone_core_invite() ). More...
void | linphone_proxy_config_set_dial_prefix (LinphoneProxyConfig *proxy_config, const char *prefix)
| Sets a dialing prefix to be automatically prepended when inviting a number with linphone_core_invite(); This dialing prefix shall usually be the country code of the country where the user is living, without "+". More...
void | linphone_proxy_config_enable_quality_reporting (LinphoneProxyConfig *proxy_config, bool_t enable)
| Indicates whether quality statistics during call should be stored and sent to a collector according to RFC 6035. More...
bool_t | linphone_proxy_config_quality_reporting_enabled (LinphoneProxyConfig *proxy_config)
| Indicates whether quality statistics during call should be stored and sent to a collector according to RFC 6035. More...
void | linphone_proxy_config_set_quality_reporting_collector (LinphoneProxyConfig *proxy_config, const char *collector)
| Set the route of the collector end-point when using quality reporting. More...
const char * | linphone_proxy_config_get_quality_reporting_collector (const LinphoneProxyConfig *proxy_config)
| Get the route of the collector end-point when using quality reporting. More...
void | linphone_proxy_config_set_quality_reporting_interval (LinphoneProxyConfig *proxy_config, int interval)
| Set the interval between 2 interval reports sending when using quality reporting. More...
int | linphone_proxy_config_get_quality_reporting_interval (LinphoneProxyConfig *proxy_config)
| Get the interval between interval reports when using quality reporting. More...
LinphoneRegistrationState | linphone_proxy_config_get_state (const LinphoneProxyConfig *proxy_config)
| Get the registration state of the given proxy config. More...
const char * | linphone_proxy_config_get_domain (const LinphoneProxyConfig *proxy_config)
| Get the domain name of the given proxy config. More...
const char * | linphone_proxy_config_get_realm (const LinphoneProxyConfig *proxy_config)
| Get the realm of the given proxy config. More...
void | linphone_proxy_config_set_realm (LinphoneProxyConfig *proxy_config, const char *realm)
| Set the realm of the given proxy config. More...
const bctbx_list_t * | linphone_proxy_config_get_routes (const LinphoneProxyConfig *proxy_config)
| Gets the list of the routes set for this proxy config. More...
const LinphoneAddress * | linphone_proxy_config_get_identity_address (const LinphoneProxyConfig *proxy_config)
| Gets the identity addres of the proxy config. More...
bool_t | linphone_proxy_config_publish_enabled (const LinphoneProxyConfig *proxy_config)
| Gets if the PUBLISH is enabled. More...
const char * | linphone_proxy_config_get_server_addr (const LinphoneProxyConfig *proxy_config)
| Gets the proxy config proxy address. More...
int | linphone_proxy_config_get_expires (const LinphoneProxyConfig *proxy_config)
| Gets the proxy config expires. More...
bool_t | linphone_proxy_config_register_enabled (const LinphoneProxyConfig *proxy_config)
| Returns whether the proxy config is enabled or not. More...
void | linphone_proxy_config_refresh_register (LinphoneProxyConfig *proxy_config)
| Refresh a proxy registration. More...
void | linphone_proxy_config_pause_register (LinphoneProxyConfig *proxy_config)
| Prevent a proxy config from refreshing its registration. More...
const LinphoneAddress * | linphone_proxy_config_get_contact (const LinphoneProxyConfig *proxy_config)
| Return the contact address of the proxy config. More...
const char * | linphone_proxy_config_get_contact_parameters (const LinphoneProxyConfig *proxy_config)
| Returns the contact parameters. More...
void | linphone_proxy_config_set_contact_parameters (LinphoneProxyConfig *proxy_config, const char *contact_params)
| Set optional contact parameters that will be added to the contact information sent in the registration. More...
void | linphone_proxy_config_set_contact_uri_parameters (LinphoneProxyConfig *proxy_config, const char *contact_uri_params)
| Set optional contact parameters that will be added to the contact information sent in the registration, inside the URI. More...
const char * | linphone_proxy_config_get_contact_uri_parameters (const LinphoneProxyConfig *proxy_config)
| Returns the contact URI parameters. More...
LinphoneCore * | linphone_proxy_config_get_core (const LinphoneProxyConfig *proxy_config)
| Get the LinphoneCore object to which is associated the LinphoneProxyConfig. More...
bool_t | linphone_proxy_config_get_dial_escape_plus (const LinphoneProxyConfig *proxy_config)
| Returns whether or not the + should be replaced by 00. More...
const char * | linphone_proxy_config_get_dial_prefix (const LinphoneProxyConfig *proxy_config)
| Gets the prefix set for this proxy config. More...
LinphoneReason | linphone_proxy_config_get_error (const LinphoneProxyConfig *proxy_config)
| Get the reason why registration failed when the proxy config state is LinphoneRegistrationFailed. More...
const LinphoneErrorInfo * | linphone_proxy_config_get_error_info (const LinphoneProxyConfig *proxy_config)
| Get detailed information why registration failed when the proxy config state is LinphoneRegistrationFailed. More...
const char * | linphone_proxy_config_get_transport (const LinphoneProxyConfig *proxy_config)
| Get the transport from either service route, route or addr. More...
void | linphone_proxy_config_set_sip_setup (LinphoneProxyConfig *proxy_config, const char *type)
SipSetupContext * | linphone_proxy_config_get_sip_setup_context (LinphoneProxyConfig *proxy_config)
SipSetup * | linphone_proxy_config_get_sip_setup (LinphoneProxyConfig *proxy_config)
char * | linphone_proxy_config_normalize_phone_number (LinphoneProxyConfig *proxy_config, const char *username)
| Normalize a human readable phone number into a basic string. More...
LinphoneAddress * | linphone_proxy_config_normalize_sip_uri (LinphoneProxyConfig *proxy_config, const char *username)
| Normalize a human readable sip uri into a fully qualified LinphoneAddress. More...
void | linphone_proxy_config_set_privacy (LinphoneProxyConfig *proxy_config, LinphonePrivacyMask privacy)
| Set default privacy policy for all calls routed through this proxy. More...
LinphonePrivacyMask | linphone_proxy_config_get_privacy (const LinphoneProxyConfig *proxy_config)
| Get default privacy policy for all calls routed through this proxy. More...
void | linphone_proxy_config_set_file_transfer_server (LinphoneProxyConfig *proxy_config, const char *server_url)
| Set the http file transfer server to be used for content type application/vnd.gsma.rcs-ft-http+xml Url may be like: "https://file.linphone.org/upload.php". More...
const char * | linphone_proxy_config_get_file_transfer_server (const LinphoneProxyConfig *proxy_config)
| Get the http file transfer server to be used for content type application/vnd.gsma.rcs-ft-http+xml Url may be like: "https://file.linphone.org/upload.php". More...
bool_t | linphone_proxy_config_avpf_enabled (LinphoneProxyConfig *proxy_config)
| Indicates whether AVPF/SAVPF is being used for calls using this proxy config. More...
void | linphone_proxy_config_set_avpf_rr_interval (LinphoneProxyConfig *proxy_config, uint8_t interval)
| Set the interval between regular RTCP reports when using AVPF/SAVPF. More...
uint8_t | linphone_proxy_config_get_avpf_rr_interval (const LinphoneProxyConfig *proxy_config)
| Get the interval between regular RTCP reports when using AVPF/SAVPF. More...
LinphoneAVPFMode | linphone_proxy_config_get_avpf_mode (const LinphoneProxyConfig *proxy_config)
| Get enablement status of RTCP feedback (also known as AVPF profile). More...
void | linphone_proxy_config_set_avpf_mode (LinphoneProxyConfig *proxy_config, LinphoneAVPFMode mode)
| Enable the use of RTCP feedback (also known as AVPF profile). More...
const char * | linphone_proxy_config_get_custom_header (LinphoneProxyConfig *proxy_config, const char *header_name)
| Obtain the value of a header sent by the server in last answer to REGISTER. More...
void | linphone_proxy_config_set_custom_header (LinphoneProxyConfig *proxy_config, const char *header_name, const char *header_value)
| Set the value of a custom header sent to the server in REGISTERs request. More...
const LinphoneAuthInfo * | linphone_proxy_config_find_auth_info (const LinphoneProxyConfig *proxy_config)
| Find authentication info matching proxy config, if any, similarly to linphone_core_find_auth_info. More...
const char * | linphone_proxy_config_get_ref_key (const LinphoneProxyConfig *proxy_config)
| Get the persistent reference key associated to the proxy config. More...
void | linphone_proxy_config_set_ref_key (LinphoneProxyConfig *proxy_config, const char *refkey)
| Associate a persistent reference key to the proxy config. More...
LinphoneProxyConfig * | linphone_proxy_config_get_dependency (LinphoneProxyConfig *proxy_config)
| Get the dependency of a LinphoneProxyConfig. More...
void | linphone_proxy_config_set_dependency (LinphoneProxyConfig *proxy_config, LinphoneProxyConfig *depends_on)
| Mark this proxy configuration as being dependent on the given one. More...
const char * | linphone_proxy_config_get_idkey (LinphoneProxyConfig *proxy_config)
| Get the idkey property of a LinphoneProxyConfig. More...
void | linphone_proxy_config_set_idkey (LinphoneProxyConfig *proxy_config, const char *idkey)
| Set the idkey property on the given proxy configuration. More...
LinphoneNatPolicy * | linphone_proxy_config_get_nat_policy (const LinphoneProxyConfig *proxy_config)
| Get The policy that is used to pass through NATs/firewalls when using this proxy config. More...
void | linphone_proxy_config_set_nat_policy (LinphoneProxyConfig *proxy_config, LinphoneNatPolicy *policy)
| Set the policy to use to pass through NATs/firewalls when using this proxy config. More...
void | linphone_proxy_config_set_conference_factory_uri (LinphoneProxyConfig *proxy_config, const char *uri)
| Set the conference factory uri. More...
const char * | linphone_proxy_config_get_conference_factory_uri (const LinphoneProxyConfig *proxy_config)
| Get the conference factory uri. More...
void | linphone_proxy_config_set_push_notification_allowed (LinphoneProxyConfig *proxy_config, bool_t allow)
| Indicates whether to add to the contact parameters the push notification information. More...
bool_t | linphone_proxy_config_is_push_notification_allowed (const LinphoneProxyConfig *proxy_config)
| Indicates whether to add to the contact parameters the push notification information. More...
bool_t | linphone_proxy_config_is_remote_push_notification_allowed (const LinphoneProxyConfig *proxy_config)
| Indicates whether to add to the contact parameters the remote push notification information (IOS only). More...
void | linphone_proxy_config_set_remote_push_notification_allowed (LinphoneProxyConfig *proxy_config, bool_t allow)
| Indicates whether to add to the contact parameters the remote push notification information (IOS only). More...
bool_t | linphone_proxy_config_is_push_notification_available (const LinphoneProxyConfig *proxy_config)
| Gets whether push notifications are available or not (Android & iOS only). More...
int | linphone_proxy_config_get_unread_chat_message_count (const LinphoneProxyConfig *proxy_config)
| Return the unread chat message count for a given proxy config. More...
void | linphone_proxy_config_set_push_notification_config (LinphoneProxyConfig *cfg, LinphonePushNotificationConfig *push_cfg)
| Sets the push notification configuration. More...
LinphonePushNotificationConfig * | linphone_proxy_config_get_push_notification_config (const LinphoneProxyConfig *cfg)
| Retrieves the push notification configuration. More...
MS2_DEPRECATED LinphoneStatus | linphone_proxy_config_set_route (LinphoneProxyConfig *proxy_config, const char *route)
| Sets a SIP route. More...
MS2_DEPRECATED const char * | linphone_proxy_config_get_route (const LinphoneProxyConfig *proxy_config)
MS2_DEPRECATED const char * | linphone_proxy_config_get_identity (const LinphoneProxyConfig *cfg)

## Detailed Description

Managing proxies.

User registration is controled by LinphoneProxyConfig settings.
Each LinphoneProxyConfig object can be configured with registration informations like proxy address , user id , refresh period , and so on.
A created proxy config using linphone_core_create_proxy_config(lc), once configured, must be added to LinphoneCore using function linphone_core_add_proxy_config().
It is recommended to set a default proxy config using function linphone_core_set_default_proxy_config(). Once done, if a proxy config has been configured with attribute enable register , next call to linphone_core_iterate() triggers a SIP register.
Registration status is reported by LinphoneCoreRegistrationStateChangedCb.
This pseudo code demonstrates basic registration operations:

LinphoneProxyConfig* proxy_cfg;
/*create proxy config*/
proxy_cfg = linphone_core_create_proxy_config(lc);
/*parse identity*/
LinphoneAddress *from = linphone_address_new("sip:toto@sip.titi.com");
LinphoneAuthInfo *info;
if (password!=NULL){
info=linphone_auth_info_new(linphone_address_get_username(from),NULL,"secret",NULL,NULL); /*create authentication structure from identity*/
linphone_core_add_auth_info(lc,info); /*add authentication info to LinphoneCore*/
}
// configure proxy entries
linphone_proxy_config_set_identity_address(proxy_cfg,identity); /*set identity with user name and domain*/
const char* server_addr = linphone_address_get_domain(from); /*extract domain address from identity*/
linphone_proxy_config_set_server_addr(proxy_cfg,server_addr); /* we assume domain = proxy server address*/
linphone_proxy_config_enable_register(proxy_cfg,TRUE); /*activate registration for this proxy config*/
linphone_address_destroy(from); /*release resource*/
linphone_core_add_proxy_config(lc,proxy_cfg); /*add proxy config to linphone core*/
linphone_core_set_default_proxy_config(lc,proxy_cfg); /*set to default proxy*/
linphone_core_add_auth_info
void linphone_core_add_auth_info(LinphoneCore *core, const LinphoneAuthInfo *info)
Adds authentication information to the LinphoneCore.
LinphoneAuthInfo
struct _LinphoneAuthInfo LinphoneAuthInfo
Object holding authentication information.
Definition: c-types.h:81
linphone_auth_info_new
LinphoneAuthInfo * linphone_auth_info_new(const char *username, const char *userid, const char *passwd, const char *ha1, const char *realm, const char *domain)
Safely cast a belle_sip_object_t into LinphoneAuthInfo.
linphone_address_destroy
MS2_DEPRECATED void linphone_address_destroy(LinphoneAddress *address)
Destroys a LinphoneAddress object (actually calls linphone_address_unref()).
LinphoneAddress
struct _LinphoneAddress LinphoneAddress
Object that represents a parsed SIP address.
Definition: c-types.h:125
linphone_address_new
LinphoneAddress * linphone_address_new(const char *address)
Constructs a LinphoneAddress object by parsing the user supplied address, given as a string.
linphone_address_get_username
const char * linphone_address_get_username(const LinphoneAddress *address)
Returns the username.
linphone_address_get_domain
const char * linphone_address_get_domain(const LinphoneAddress *address)
Returns the domain name.
linphone_core_create_proxy_config
LinphoneProxyConfig * linphone_core_create_proxy_config(LinphoneCore *core)
Create a proxy config with default values from Linphone core.
LinphoneProxyConfig
struct _LinphoneProxyConfig LinphoneProxyConfig
Represents an account configuration to be used by LinphoneCore.
Definition: types.h:53
linphone_proxy_config_enable_register
void linphone_proxy_config_enable_register(LinphoneProxyConfig *proxy_config, bool_t enable)
Indicates either or not, REGISTRATION must be issued for this LinphoneProxyConfig.
linphone_core_set_default_proxy_config
void linphone_core_set_default_proxy_config(LinphoneCore *core, LinphoneProxyConfig *config)
Sets the default proxy.
linphone_core_add_proxy_config
LinphoneStatus linphone_core_add_proxy_config(LinphoneCore *core, LinphoneProxyConfig *config)
Add a proxy configuration.
linphone_proxy_config_set_server_addr
LinphoneStatus linphone_proxy_config_set_server_addr(LinphoneProxyConfig *proxy_config, const char *server_address)
Sets the proxy address.
linphone_proxy_config_set_identity_address
LinphoneStatus linphone_proxy_config_set_identity_address(LinphoneProxyConfig *proxy_config, const LinphoneAddress *identity)
Sets the user identity as a SIP address.

Registration sate call back:

static void registration_state_changed(struct _LinphoneCore *lc, LinphoneProxyConfig *cfg, LinphoneRegistrationState cstate, const char *message){
printf("New registration state %s for user id [%s] at proxy [%s]\n"
,linphone_registration_state_to_string(cstate)
,linphone_proxy_config_get_identity(cfg)
,linphone_proxy_config_get_addr(cfg));
}
linphone_registration_state_to_string
const char * linphone_registration_state_to_string(LinphoneRegistrationState state)
Human readable version of the LinphoneRegistrationState.
LinphoneRegistrationState
enum _LinphoneRegistrationState LinphoneRegistrationState
Describes proxy registration states.
linphone_proxy_config_get_identity
MS2_DEPRECATED const char * linphone_proxy_config_get_identity(const LinphoneProxyConfig *cfg)

Authentication:
Most of the time, registration requires authentication to succeed. LinphoneAuthInfo info must be either added to LinphoneCore using function linphone_core_add_auth_info() before LinphoneProxyConfig is added to Linphone core, or on demand from call back LinphoneCoreAuthInfoRequestedCb.
Unregistration:
Unregistration or any changes to LinphoneProxyConfig must be first started by a call to function linphone_proxy_config_edit() and validated by function linphone_proxy_config_done()
This pseudo code shows how to unregister a user associated to a LinphoneProxyConfig

LinphoneProxyConfig* proxy_cfg;
linphone_core_get_default_proxy(lc,&proxy_cfg); /* get default proxy config*/
linphone_proxy_config_edit(proxy_cfg); /*start editing proxy configuration*/
linphone_proxy_config_enable_register(proxy_cfg,FALSE); /*de-activate registration for this proxy config*/
linphone_proxy_config_done(proxy_cfg); /*initiate REGISTER with expire = 0*/
linphone_proxy_config_done
LinphoneStatus linphone_proxy_config_done(LinphoneProxyConfig *proxy_config)
Commits modification made to the proxy configuration.
linphone_proxy_config_edit
void linphone_proxy_config_edit(LinphoneProxyConfig *proxy_config)
Starts editing a proxy configuration.

A complete tutorial can be found at : Registration tutorial

## Typedef Documentation

## ◆ LinphoneProxyConfig

typedef struct _LinphoneProxyConfig LinphoneProxyConfig

Represents an account configuration to be used by LinphoneCore.

In addition to the LinphoneAuthInfo that stores the credentials, you need to configure a LinphoneProxyConfig as well to be able to connect to a proxy server.

A minimal proxy config consists of an identity address (sip:usern.nosp@m.ame@.nosp@m.domai.nosp@m.n.tl.nosp@m.d) and the proxy server address,

See also
  linphone_proxy_config_set_server_addr().

If any, it will be stored inside the default configuration file, so it will survive the destruction of the LinphoneCore and be available at the next start.

The account set with linphone_core_set_default_proxy_config() will be used as default for outgoing calls & chat messages unless specified otherwise.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ LinphoneRegistrationState

typedef enum _LinphoneRegistrationState LinphoneRegistrationState

Describes proxy registration states.

It is notified via the registration_state_changed() callback in LinphoneCoreCbs.

## Enumeration Type Documentation

## ◆ _LinphoneRegistrationState

enum _LinphoneRegistrationState

Describes proxy registration states.

It is notified via the registration_state_changed() callback in LinphoneCoreCbs.

Enumerator
LinphoneRegistrationNone | Initial state for registrations.
LinphoneRegistrationProgress | Registration is in progress.
LinphoneRegistrationOk | Registration is successful.
LinphoneRegistrationCleared | Unregistration succeeded.
LinphoneRegistrationFailed | Registration failed.

## Function Documentation

## ◆ linphone_core_add_proxy_config()

LinphoneStatus linphone_core_add_proxy_config | ( | LinphoneCore * | core,
|  | LinphoneProxyConfig * | config
| ) |  |

Add a proxy configuration.

This will start registration on the proxy, if registration is enabled.

Parameters

  core | LinphoneCore object
  config | the LinphoneProxyConfig to add

Returns
  0 if successful, -1 otherwise

## ◆ linphone_core_clear_proxy_config()

void linphone_core_clear_proxy_config | ( | LinphoneCore * | core | ) |

Erase all proxies from config.

Parameters

  core | LinphoneCore object

## ◆ linphone_core_create_primary_contact_parsed()

LinphoneAddress* linphone_core_create_primary_contact_parsed | ( | LinphoneCore * | core | ) |

Same as linphone_core_get_primary_contact() but the result is a LinphoneAddress object instead of const char *.

Parameters

  core | the LinphoneCore

Returns
  a LinphoneAddress object.

## ◆ linphone_core_create_proxy_config()

LinphoneProxyConfig* linphone_core_create_proxy_config | ( | LinphoneCore * | core | ) |

Create a proxy config with default values from Linphone core.

Parameters

  core | LinphoneCore object

Returns
  LinphoneProxyConfig with default values set

## ◆ linphone_core_get_default_proxy_config()

LinphoneProxyConfig* linphone_core_get_default_proxy_config | ( | const LinphoneCore * | core | ) |

Returns the default proxy configuration, that is the one used to determine the current identity.

Parameters

  core | LinphoneCore object

Returns
  The default proxy configuration.

## ◆ linphone_core_get_guess_hostname()

bool_t linphone_core_get_guess_hostname | ( | LinphoneCore * | core | ) |

Returns TRUE if hostname part of primary contact is guessed automatically.

Parameters

  core | the LinphoneCore

Returns
  TRUE if guess hostname enabled, FALSE otherwise.

## ◆ linphone_core_get_identity()

const char * linphone_core_get_identity | ( | LinphoneCore * | core | ) |

Gets the default identity SIP address.

This is an helper function. If no default proxy is set, this will return the primary contact ( see linphone_core_get_primary_contact() ). If a default proxy is set it returns the registered identity on the proxy.

Parameters

  core | LinphoneCore object

Returns
  The default identity SIP address.

## ◆ linphone_core_get_primary_contact()

const char* linphone_core_get_primary_contact | ( | LinphoneCore * | core | ) |

Returns the default identity when no proxy configuration is used.

Parameters

  core | the Core

Returns
  the primary contact identity

## ◆ linphone_core_get_primary_contact_parsed()

MS2_DEPRECATED LinphoneAddress* linphone_core_get_primary_contact_parsed | ( | LinphoneCore * | core | ) |

Same as linphone_core_get_primary_contact() but the result is a LinphoneAddress object instead of const char *.

Parameters

  core | the LinphoneCore

Returns
  a LinphoneAddress object.

Deprecated:
  22/10/2018 Use linphone_core_create_primary_contact_parsed() instead.

## ◆ linphone_core_get_proxy_config_by_idkey()

LinphoneProxyConfig* linphone_core_get_proxy_config_by_idkey | ( | LinphoneCore * | core,
|  | const char * | idkey
| ) |  |

Search for a LinphoneProxyConfig by it's idkey.

Parameters

  core | the LinphoneCore object
  idkey | An arbitrary idkey string associated to a proxy configuration

Returns
  the LinphoneProxyConfig object for the given idkey value, or NULL if none found

## ◆ linphone_core_get_proxy_config_list()

const bctbx_list_t* linphone_core_get_proxy_config_list | ( | const LinphoneCore * | core | ) |

Returns an unmodifiable list of entered proxy configurations.

Parameters

  core | The LinphoneCore object

Returns
  A list of LinphoneProxyConfig.

## ◆ linphone_core_refresh_registers()

void linphone_core_refresh_registers | ( | LinphoneCore * | core | ) |

force registration refresh to be initiated upon next iterate

Parameters

  core | The LinphoneCore object

## ◆ linphone_core_remove_proxy_config()

void linphone_core_remove_proxy_config | ( | LinphoneCore * | core,
|  | LinphoneProxyConfig * | config
| ) |  |

Removes a proxy configuration.

LinphoneCore will then automatically unregister and place the proxy configuration on a deleted list. For that reason, a removed proxy does NOT need to be freed.

Parameters

  core | LinphoneCore object
  config | the LinphoneProxyConfig to remove

## ◆ linphone_core_set_default_proxy_config()

void linphone_core_set_default_proxy_config | ( | LinphoneCore * | core,
|  | LinphoneProxyConfig * | config
| ) |  |

Sets the default proxy.

This default proxy must be part of the list of already entered LinphoneProxyConfig. Toggling it as default will make LinphoneCore use the identity associated with the proxy configuration in all incoming and outgoing calls.

Parameters

  core | LinphoneCore object
  config | The proxy configuration to use as the default one.

## ◆ linphone_core_set_guess_hostname()

void linphone_core_set_guess_hostname | ( | LinphoneCore * | core,
|  | bool_t | enable
| ) |  |

Tells LinphoneCore to guess local hostname automatically in primary contact.

Parameters

  core | the LinphoneCore
  enable | whether to enable the guess hostname feature or not

## ◆ linphone_core_set_primary_contact()

LinphoneStatus linphone_core_set_primary_contact | ( | LinphoneCore * | core,
|  | const char * | contact
| ) |  |

Sets the local "from" identity.

This data is used in absence of any proxy configuration or when no default proxy configuration is set. See LinphoneProxyConfig

Parameters

  core | the Core
  contact | the contact to set

Returns
  0 if successful, -1 otherwise

## ◆ linphone_proxy_config_avpf_enabled()

bool_t linphone_proxy_config_avpf_enabled | ( | LinphoneProxyConfig * | proxy_config | ) |

Indicates whether AVPF/SAVPF is being used for calls using this proxy config.

Parameters

  proxy_config | LinphoneProxyConfig object.

Returns
  True if AVPF/SAVPF is enabled, false otherwise.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_done()

LinphoneStatus linphone_proxy_config_done | ( | LinphoneProxyConfig * | proxy_config | ) |

Commits modification made to the proxy configuration.

Parameters

  proxy_config | LinphoneProxyConfig object.

Returns
  0 if successful, -1 otherwise

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_edit()

void linphone_proxy_config_edit | ( | LinphoneProxyConfig * | proxy_config | ) |

Starts editing a proxy configuration.

Because proxy configuration must be consistent, applications MUST call linphone_proxy_config_edit() before doing any attempts to modify proxy configuration (such as identity, proxy address and so on). Once the modifications are done, then the application must call linphone_proxy_config_done() to commit the changes.

Parameters

  proxy_config | LinphoneProxyConfig object.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_enable_publish()

void linphone_proxy_config_enable_publish | ( | LinphoneProxyConfig * | proxy_config,
|  | bool_t | enable
| ) |  |

Indicates either or not, PUBLISH must be issued for this LinphoneProxyConfig.

In case this LinphoneProxyConfig has been added to LinphoneCore, follows the linphone_proxy_config_edit() rule.

Parameters

  proxy_config | LinphoneProxyConfig object.
  enable | if TRUE, publish will be engaged

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_enable_quality_reporting()

void linphone_proxy_config_enable_quality_reporting | ( | LinphoneProxyConfig * | proxy_config,
|  | bool_t | enable
| ) |  |

Indicates whether quality statistics during call should be stored and sent to a collector according to RFC 6035.

Parameters

  proxy_config | LinphoneProxyConfig object.
  enable | True to store quality statistics and send them to the collector, false to disable it.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_enable_register()

void linphone_proxy_config_enable_register | ( | LinphoneProxyConfig * | proxy_config,
|  | bool_t | enable
| ) |  |

Indicates either or not, REGISTRATION must be issued for this LinphoneProxyConfig.

In case this LinphoneProxyConfig has been added to LinphoneCore, follows the linphone_proxy_config_edit() rule.

Parameters

  proxy_config | LinphoneProxyConfig object.
  enable | if true, registration will be engaged

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_find_auth_info()

const LinphoneAuthInfo* linphone_proxy_config_find_auth_info | ( | const LinphoneProxyConfig * | proxy_config | ) |

Find authentication info matching proxy config, if any, similarly to linphone_core_find_auth_info.

Parameters

  proxy_config | LinphoneProxyConfig object.

Returns
  a LinphoneAuthInfo matching proxy config criteria if possible, NULL if nothing can be found.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_get_avpf_mode()

LinphoneAVPFMode linphone_proxy_config_get_avpf_mode | ( | const LinphoneProxyConfig * | proxy_config | ) |

Get enablement status of RTCP feedback (also known as AVPF profile).

Parameters

  proxy_config | LinphoneProxyConfig object.

Returns
  the enablement mode, which can be LinphoneAVPFDefault (use LinphoneCore's mode), LinphoneAVPFEnabled (avpf is enabled), or LinphoneAVPFDisabled (disabled).

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_get_avpf_rr_interval()

uint8_t linphone_proxy_config_get_avpf_rr_interval | ( | const LinphoneProxyConfig * | proxy_config | ) |

Get the interval between regular RTCP reports when using AVPF/SAVPF.

Parameters

  proxy_config | LinphoneProxyConfig object.

Returns
  The interval in seconds.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_get_conference_factory_uri()

const char* linphone_proxy_config_get_conference_factory_uri | ( | const LinphoneProxyConfig * | proxy_config | ) |

Get the conference factory uri.

Parameters

  proxy_config | A LinphoneProxyConfig object

Returns
  The uri of the conference factory.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_get_contact()

const LinphoneAddress* linphone_proxy_config_get_contact | ( | const LinphoneProxyConfig * | proxy_config | ) |

Return the contact address of the proxy config.

Parameters

  proxy_config | LinphoneProxyConfig object.

Returns
  a LinphoneAddress correspong to the contact address of the proxy config.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_get_contact_parameters()

const char* linphone_proxy_config_get_contact_parameters | ( | const LinphoneProxyConfig * | proxy_config | ) |

Returns the contact parameters.

Parameters

  proxy_config | LinphoneProxyConfig object.

Returns
  previously set contact parameters.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_get_contact_uri_parameters()

const char* linphone_proxy_config_get_contact_uri_parameters | ( | const LinphoneProxyConfig * | proxy_config | ) |

Returns the contact URI parameters.

Parameters

  proxy_config | LinphoneProxyConfig object.

Returns
  previously set contact URI parameters.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_get_core()

LinphoneCore* linphone_proxy_config_get_core | ( | const LinphoneProxyConfig * | proxy_config | ) |

Get the LinphoneCore object to which is associated the LinphoneProxyConfig.

Parameters

  proxy_config | LinphoneProxyConfig object.

Returns
  The LinphoneCore object to which is associated the LinphoneProxyConfig.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_get_custom_header()

const char* linphone_proxy_config_get_custom_header | ( | LinphoneProxyConfig * | proxy_config,
|  | const char * | header_name
| ) |  |

Obtain the value of a header sent by the server in last answer to REGISTER.

Parameters

  proxy_config | LinphoneProxyConfig object.
  header_name | the header name for which to fetch corresponding value

Returns
  the value of the queried header.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_get_dependency()

LinphoneProxyConfig* linphone_proxy_config_get_dependency | ( | LinphoneProxyConfig * | proxy_config | ) |

Get the dependency of a LinphoneProxyConfig.

Parameters

  proxy_config | LinphoneProxyConfig object.

Returns
  The proxy config this one is dependent upon, or NULL if not marked dependent.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_get_dial_escape_plus()

bool_t linphone_proxy_config_get_dial_escape_plus | ( | const LinphoneProxyConfig * | proxy_config | ) |

Returns whether or not the + should be replaced by 00.

Parameters

  proxy_config | LinphoneProxyConfig object.

Returns
  whether liblinphone should replace "+" by "00" in dialed numbers (passed to linphone_core_invite()).

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_get_dial_prefix()

const char* linphone_proxy_config_get_dial_prefix | ( | const LinphoneProxyConfig * | proxy_config | ) |

Gets the prefix set for this proxy config.

Parameters

  proxy_config | LinphoneProxyConfig object.

Returns
  dialing prefix.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_get_domain()

const char* linphone_proxy_config_get_domain | ( | const LinphoneProxyConfig * | proxy_config | ) |

Get the domain name of the given proxy config.

Parameters

  proxy_config | LinphoneProxyConfig object.

Returns
  The domain name of the proxy config.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_get_error()

LinphoneReason linphone_proxy_config_get_error | ( | const LinphoneProxyConfig * | proxy_config | ) |

Get the reason why registration failed when the proxy config state is LinphoneRegistrationFailed.

Parameters

  proxy_config | LinphoneProxyConfig object.

Returns
  The LinphoneReason why registration failed for this proxy config.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_get_error_info()

const LinphoneErrorInfo* linphone_proxy_config_get_error_info | ( | const LinphoneProxyConfig * | proxy_config | ) |

Get detailed information why registration failed when the proxy config state is LinphoneRegistrationFailed.

Parameters

  proxy_config | LinphoneProxyConfig object.

Returns
  The LinphoneErrorInfo explaining why registration failed for this proxy config.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_get_expires()

int linphone_proxy_config_get_expires | ( | const LinphoneProxyConfig * | proxy_config | ) |

Gets the proxy config expires.

Parameters

  proxy_config | LinphoneProxyConfig object.

Returns
  the duration of registration.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_get_file_transfer_server()

const char* linphone_proxy_config_get_file_transfer_server | ( | const LinphoneProxyConfig * | proxy_config | ) |

Get the http file transfer server to be used for content type application/vnd.gsma.rcs-ft-http+xml Url may be like: "https://file.linphone.org/upload.php".

Parameters

  proxy_config | LinphoneProxyConfig object.

Returns
  URL of the file server.

Warning
  That function isn't implemented yet.

## ◆ linphone_proxy_config_get_identity()

MS2_DEPRECATED const char* linphone_proxy_config_get_identity | ( | const LinphoneProxyConfig * | cfg | ) |

Deprecated:
  29/07/2015 use linphone_proxy_config_get_identity_address()

## ◆ linphone_proxy_config_get_identity_address()

const LinphoneAddress* linphone_proxy_config_get_identity_address | ( | const LinphoneProxyConfig * | proxy_config | ) |

Gets the identity addres of the proxy config.

Parameters

  proxy_config | LinphoneProxyConfig object.

Returns
  the SIP identity that belongs to this proxy configuration.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_get_idkey()

const char* linphone_proxy_config_get_idkey | ( | LinphoneProxyConfig * | proxy_config | ) |

Get the idkey property of a LinphoneProxyConfig.

Parameters

  proxy_config | LinphoneProxyConfig object.

Returns
  The idkey string, or NULL.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_get_nat_policy()

LinphoneNatPolicy* linphone_proxy_config_get_nat_policy | ( | const LinphoneProxyConfig * | proxy_config | ) |

Get The policy that is used to pass through NATs/firewalls when using this proxy config.

If it is set to NULL, the default NAT policy from the core will be used instead.

Parameters

  proxy_config | LinphoneProxyConfig object

Returns
  LinphoneNatPolicy object in use.

See also
  linphone_core_get_nat_policy()

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_get_privacy()

LinphonePrivacyMask linphone_proxy_config_get_privacy | ( | const LinphoneProxyConfig * | proxy_config | ) |

Get default privacy policy for all calls routed through this proxy.

Parameters

  proxy_config | LinphoneProxyConfig object.

Returns
  Privacy mode as LinphonePrivacyMask

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_get_publish_expires()

int linphone_proxy_config_get_publish_expires | ( | const LinphoneProxyConfig * | proxy_config | ) |

get the publish expiration time in second.

Default value is the registration expiration value.

Parameters

  proxy_config | LinphoneProxyConfig object.

Returns
  expires in second

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_get_push_notification_config()

LinphonePushNotificationConfig* linphone_proxy_config_get_push_notification_config | ( | const LinphoneProxyConfig * | cfg | ) |

Retrieves the push notification configuration.

Parameters

  cfg | LinphoneProxyConfig object.

Returns
  The LinphonePushNotificationConfig.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_get_quality_reporting_collector()

const char* linphone_proxy_config_get_quality_reporting_collector | ( | const LinphoneProxyConfig * | proxy_config | ) |

Get the route of the collector end-point when using quality reporting.

This SIP address should be used on server-side to process packets directly before discarding packets. Collector address should be a non existing account and will not receive any messages. If NULL, reports will be send to the proxy domain.

Parameters

  proxy_config | LinphoneProxyConfig object.

Returns
  The SIP address of the collector end-point.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_get_quality_reporting_interval()

int linphone_proxy_config_get_quality_reporting_interval | ( | LinphoneProxyConfig * | proxy_config | ) |

Get the interval between interval reports when using quality reporting.

Parameters

  proxy_config | LinphoneProxyConfig object.

Returns
  The interval in seconds, 0 means interval reports are disabled.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_get_realm()

const char* linphone_proxy_config_get_realm | ( | const LinphoneProxyConfig * | proxy_config | ) |

Get the realm of the given proxy config.

Parameters

  proxy_config | LinphoneProxyConfig object.

Returns
  The realm of the proxy config.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_get_ref_key()

const char* linphone_proxy_config_get_ref_key | ( | const LinphoneProxyConfig * | proxy_config | ) |

Get the persistent reference key associated to the proxy config.

The reference key can be for example an id to an external database. It is stored in the config file, thus can survive to process exits/restarts.

Parameters

  proxy_config | LinphoneProxyConfig object.

Returns
  The reference key string that has been associated to the proxy config, or NULL if none has been associated.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_get_route()

MS2_DEPRECATED const char* linphone_proxy_config_get_route | ( | const LinphoneProxyConfig * | proxy_config | ) |

Returns
  the route set for this proxy configuration.

Deprecated:
  09/03/2018 Use linphone_proxy_config_get_routes() instead.

## ◆ linphone_proxy_config_get_routes()

const bctbx_list_t* linphone_proxy_config_get_routes | ( | const LinphoneProxyConfig * | proxy_config | ) |

Gets the list of the routes set for this proxy config.

Parameters

  proxy_config | LinphoneProxyConfig object.

Returns
  The list of routes as string.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_get_server_addr()

const char* linphone_proxy_config_get_server_addr | ( | const LinphoneProxyConfig * | proxy_config | ) |

Gets the proxy config proxy address.

Parameters

  proxy_config | LinphoneProxyConfig object.

Returns
  the proxy's SIP address.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_get_state()

LinphoneRegistrationState linphone_proxy_config_get_state | ( | const LinphoneProxyConfig * | proxy_config | ) |

Get the registration state of the given proxy config.

Parameters

  proxy_config | LinphoneProxyConfig object.

Returns
  The LinphoneRegistrationState of the proxy config.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_get_transport()

const char* linphone_proxy_config_get_transport | ( | const LinphoneProxyConfig * | proxy_config | ) |

Get the transport from either service route, route or addr.

Parameters

  proxy_config | LinphoneProxyConfig object.

Returns
  The transport as a string (I.E udp, tcp, tls, dtls)

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_get_unread_chat_message_count()

int linphone_proxy_config_get_unread_chat_message_count | ( | const LinphoneProxyConfig * | proxy_config | ) |

Return the unread chat message count for a given proxy config.

Parameters

  proxy_config | LinphoneProxyConfig object.

Returns
  The unread chat message count.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_get_user_data()

void* linphone_proxy_config_get_user_data | ( | const LinphoneProxyConfig * | proxy_config | ) |

Retrieve the user pointer associated with the proxy config.

Parameters

  proxy_config | LinphoneProxyConfig object.

Returns
  The user pointer associated with the proxy config.

## ◆ linphone_proxy_config_is_push_notification_allowed()

bool_t linphone_proxy_config_is_push_notification_allowed | ( | const LinphoneProxyConfig * | proxy_config | ) |

Indicates whether to add to the contact parameters the push notification information.

For IOS, it indicates to VOIP push notification.

Parameters

  proxy_config | LinphoneProxyConfig object.

Returns
  TRUE if push notification informations should be added, FALSE otherwise.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_is_push_notification_available()

bool_t linphone_proxy_config_is_push_notification_available | ( | const LinphoneProxyConfig * | proxy_config | ) |

Gets whether push notifications are available or not (Android & iOS only).

Parameters

  proxy_config | LinphoneProxyConfig object.

Returns
  TRUE if push notifications are available, FALSE otherwise

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_is_remote_push_notification_allowed()

bool_t linphone_proxy_config_is_remote_push_notification_allowed | ( | const LinphoneProxyConfig * | proxy_config | ) |

Indicates whether to add to the contact parameters the remote push notification information (IOS only).

Default value is FALSE.

Parameters

  proxy_config | LinphoneProxyConfig object.

Returns
  TRUE if remote push notification informations should be added, FALSE otherwise.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_normalize_phone_number()

char* linphone_proxy_config_normalize_phone_number | ( | LinphoneProxyConfig * | proxy_config,
|  | const char * | username
| ) |  |

Normalize a human readable phone number into a basic string.

888-444-222 becomes 888444222 or +33888444222 depending on the LinphoneProxyConfig object. This function will always generate a normalized username if input is a phone number.

Parameters

  proxy_config | LinphoneProxyConfig object containing country code and/or escape symbol. If NULL passed, will use default configuration.
  username | the string to parse

Returns
  NULL if input is an invalid phone number, normalized phone number from username input otherwise.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_normalize_sip_uri()

LinphoneAddress* linphone_proxy_config_normalize_sip_uri | ( | LinphoneProxyConfig * | proxy_config,
|  | const char * | username
| ) |  |

Normalize a human readable sip uri into a fully qualified LinphoneAddress.

A sip address should look like DisplayName <sip:username@domain:port> . Basically this function performs the following tasks

- if a phone number is entered, prepend country prefix and eventually escape the '+' by 00 of the proxy config.
- if no domain part is supplied, append the domain name of the proxy config. Returns NULL if no proxy is provided at this point.
- if no sip: is present, prepend it.

The result is a syntactically correct SIP address.

Parameters

  proxy_config | LinphoneProxyConfig object containing country code, escape symbol and/or domain name. Can be NULL if domain is already provided.
  username | the string to parse

Returns
  NULL if invalid input, normalized sip address otherwise.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_pause_register()

void linphone_proxy_config_pause_register | ( | LinphoneProxyConfig * | proxy_config | ) |

Prevent a proxy config from refreshing its registration.

This is useful to let registrations to expire naturally (or) when the application wants to keep control on when refreshes are sent. However, linphone_core_set_network_reachable(lc,TRUE) will always request the proxy configs to refresh their registrations. The refreshing operations can be resumed with linphone_proxy_config_refresh_register().

Parameters

  proxy_config | LinphoneProxyConfig object.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_publish_enabled()

bool_t linphone_proxy_config_publish_enabled | ( | const LinphoneProxyConfig * | proxy_config | ) |

Gets if the PUBLISH is enabled.

Parameters

  proxy_config | LinphoneProxyConfig object.

Returns
  TRUE if PUBLISH request is enabled for this proxy.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_quality_reporting_enabled()

bool_t linphone_proxy_config_quality_reporting_enabled | ( | LinphoneProxyConfig * | proxy_config | ) |

Indicates whether quality statistics during call should be stored and sent to a collector according to RFC 6035.

Parameters

  proxy_config | LinphoneProxyConfig object.

Returns
  True if quality repotring is enabled, false otherwise.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_ref()

LinphoneProxyConfig* linphone_proxy_config_ref | ( | LinphoneProxyConfig * | proxy_config | ) |

Acquire a reference to the proxy config.

Parameters

  proxy_config | LinphoneProxyConfig object.

Returns
  The same proxy config.

## ◆ linphone_proxy_config_refresh_register()

void linphone_proxy_config_refresh_register | ( | LinphoneProxyConfig * | proxy_config | ) |

Refresh a proxy registration.

This is useful if for example you resuming from suspend, thus IP address may have changed.

Parameters

  proxy_config | LinphoneProxyConfig object.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_register_enabled()

bool_t linphone_proxy_config_register_enabled | ( | const LinphoneProxyConfig * | proxy_config | ) |

Returns whether the proxy config is enabled or not.

Parameters

  proxy_config | LinphoneProxyConfig object.

Returns
  TRUE if registration to the proxy is enabled.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_set_avpf_mode()

void linphone_proxy_config_set_avpf_mode | ( | LinphoneProxyConfig * | proxy_config,
|  | LinphoneAVPFMode | mode
| ) |  |

Enable the use of RTCP feedback (also known as AVPF profile).

Parameters

  proxy_config | LinphoneProxyConfig object.
  mode | the enablement mode, which can be LinphoneAVPFDefault (use LinphoneCore's mode), LinphoneAVPFEnabled (avpf is enabled), or LinphoneAVPFDisabled (disabled).

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_set_avpf_rr_interval()

void linphone_proxy_config_set_avpf_rr_interval | ( | LinphoneProxyConfig * | proxy_config,
|  | uint8_t | interval
| ) |  |

Set the interval between regular RTCP reports when using AVPF/SAVPF.

Parameters

  proxy_config | LinphoneProxyConfig object.
  interval | The interval in seconds (between 0 and 5 seconds).

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_set_conference_factory_uri()

void linphone_proxy_config_set_conference_factory_uri | ( | LinphoneProxyConfig * | proxy_config,
|  | const char * | uri
| ) |  |

Set the conference factory uri.

Parameters

  proxy_config | A LinphoneProxyConfig object
  uri | The uri of the conference factory.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_set_contact_parameters()

void linphone_proxy_config_set_contact_parameters | ( | LinphoneProxyConfig * | proxy_config,
|  | const char * | contact_params
| ) |  |

Set optional contact parameters that will be added to the contact information sent in the registration.

Parameters

  proxy_config | LinphoneProxyConfig object.
  contact_params | a string contaning the additional parameters in text form, like "myparam=something;myparam2=something_else"

The main use case for this function is provide the proxy additional information regarding the user agent, like for example unique identifier or apple push id. As an example, the contact address in the SIP register sent will look like <sip:joe@1.nosp@m.5.12.nosp@m.8.128.nosp@m..93:50421>;apple-push-id=43143-DFE23F-2323-FA2232.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_set_contact_uri_parameters()

void linphone_proxy_config_set_contact_uri_parameters | ( | LinphoneProxyConfig * | proxy_config,
|  | const char * | contact_uri_params
| ) |  |

Set optional contact parameters that will be added to the contact information sent in the registration, inside the URI.

Parameters

  proxy_config | LinphoneProxyConfig object.
  contact_uri_params | a string containing the additional parameters in text form, like "myparam=something;myparam2=something_else"

The main use case for this function is provide the proxy additional information regarding the user agent, like for example unique identifier or apple push id. As an example, the contact address in the SIP register sent will look like <sip:joe@1.nosp@m.5.12.nosp@m.8.128.nosp@m..93:50421;apple-push-id=43143-DFE23F-2323-FA2232>.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_set_custom_header()

void linphone_proxy_config_set_custom_header | ( | LinphoneProxyConfig * | proxy_config,
|  | const char * | header_name,
|  | const char * | header_value
| ) |  |

Set the value of a custom header sent to the server in REGISTERs request.

Parameters

  proxy_config | LinphoneProxyConfig object.
  header_name | the header name
  header_value | the header's value

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_set_dependency()

void linphone_proxy_config_set_dependency | ( | LinphoneProxyConfig * | proxy_config,
|  | LinphoneProxyConfig * | depends_on
| ) |  |

Mark this proxy configuration as being dependent on the given one.

The dependency must refer to a proxy config previously added to the core and which idkey property is defined.

See also
  linphone_proxy_config_set_idkey()

The proxy configuration marked as dependent will wait for successful registration on its dependency before triggering its own.

Once registered, both proxy configurations will share the same contact address (the 'dependency' one).

This mecanism must be enabled before the proxy configuration is added to the core

Parameters

  proxy_config | LinphoneProxyConfig object.
  depends_on | The LinphoneProxyConfig this one shall be depend on.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_set_dial_escape_plus()

void linphone_proxy_config_set_dial_escape_plus | ( | LinphoneProxyConfig * | proxy_config,
|  | bool_t | enable
| ) |  |

Sets whether liblinphone should replace "+" by international calling prefix in dialed numbers (passed to linphone_core_invite() ).

Parameters

  proxy_config | LinphoneProxyConfig object.
  enable | TRUE to replace + by the international prefix, FALSE otherwise.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_set_dial_prefix()

void linphone_proxy_config_set_dial_prefix | ( | LinphoneProxyConfig * | proxy_config,
|  | const char * | prefix
| ) |  |

Sets a dialing prefix to be automatically prepended when inviting a number with linphone_core_invite(); This dialing prefix shall usually be the country code of the country where the user is living, without "+".

Parameters

  proxy_config | LinphoneProxyConfig object.
  prefix | the prefix to set (withouth the +)

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_set_expires()

void linphone_proxy_config_set_expires | ( | LinphoneProxyConfig * | proxy_config,
|  | int | expires
| ) |  |

Sets the registration expiration time in seconds.

Parameters

  proxy_config | LinphoneProxyConfig object.
  expires | the expiration time to set

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_set_file_transfer_server()

void linphone_proxy_config_set_file_transfer_server | ( | LinphoneProxyConfig * | proxy_config,
|  | const char * | server_url
| ) |  |

Set the http file transfer server to be used for content type application/vnd.gsma.rcs-ft-http+xml Url may be like: "https://file.linphone.org/upload.php".

Parameters

  proxy_config | LinphoneProxyConfig object.
  server_url | URL of the file server.

Warning
  That function isn't implemented yet.

## ◆ linphone_proxy_config_set_identity_address()

LinphoneStatus linphone_proxy_config_set_identity_address | ( | LinphoneProxyConfig * | proxy_config,
|  | const LinphoneAddress * | identity
| ) |  |

Sets the user identity as a SIP address.

This identity is normally formed with display name, username and domain, such as: Alice <sip:alice.nosp@m.@exa.nosp@m.mple..nosp@m.net> The REGISTER messages will have from and to set to this identity.

Parameters

  proxy_config | LinphoneProxyConfig object.
  identity | the LinphoneAddress of the identity to set

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_set_idkey()

void linphone_proxy_config_set_idkey | ( | LinphoneProxyConfig * | proxy_config,
|  | const char * | idkey
| ) |  |

Set the idkey property on the given proxy configuration.

This property can the be referenced by another proxy config 'depends_on' to create a dependency relation between them.

See also
  linphone_proxy_config_set_depends_on()

Parameters

  proxy_config | LinphoneProxyConfig object.
  idkey | The idkey string to associate to the given LinphoneProxyConfig.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_set_nat_policy()

void linphone_proxy_config_set_nat_policy | ( | LinphoneProxyConfig * | proxy_config,
|  | LinphoneNatPolicy * | policy
| ) |  |

Set the policy to use to pass through NATs/firewalls when using this proxy config.

If it is set to NULL, the default NAT policy from the core will be used instead.

Parameters

  proxy_config | LinphoneProxyConfig object
  policy | LinphoneNatPolicy object.

See also
  linphone_core_set_nat_policy()

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_set_privacy()

void linphone_proxy_config_set_privacy | ( | LinphoneProxyConfig * | proxy_config,
|  | LinphonePrivacyMask | privacy
| ) |  |

Set default privacy policy for all calls routed through this proxy.

Parameters

  proxy_config | LinphoneProxyConfig object.
  privacy | LinphonePrivacy to configure privacy

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_set_publish_expires()

void linphone_proxy_config_set_publish_expires | ( | LinphoneProxyConfig * | proxy_config,
|  | int | expires
| ) |  |

Set the publish expiration time in second.

Parameters

  proxy_config | LinphoneProxyConfig object.
  expires | in second

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_set_push_notification_allowed()

void linphone_proxy_config_set_push_notification_allowed | ( | LinphoneProxyConfig * | proxy_config,
|  | bool_t | allow
| ) |  |

Indicates whether to add to the contact parameters the push notification information.

For IOS, it indicates to VOIP push notification.

Parameters

  proxy_config | LinphoneProxyConfig object.
  allow | TRUE to allow push notification information, FALSE otherwise.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_set_push_notification_config()

void linphone_proxy_config_set_push_notification_config | ( | LinphoneProxyConfig * | cfg,
|  | LinphonePushNotificationConfig * | push_cfg
| ) |  |

Sets the push notification configuration.

Parameters

  cfg | LinphoneProxyConfig object.
  push_cfg | LinphonePushNotificationConfig to set.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_set_quality_reporting_collector()

void linphone_proxy_config_set_quality_reporting_collector | ( | LinphoneProxyConfig * | proxy_config,
|  | const char * | collector
| ) |  |

Set the route of the collector end-point when using quality reporting.

This SIP address should be used on server-side to process packets directly before discarding packets. Collector address should be a non existing account and will not receive any messages. If NULL, reports will be send to the proxy domain.

Parameters

  proxy_config | LinphoneProxyConfig object.
  collector | route of the collector end-point, if NULL PUBLISH will be sent to the proxy domain.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_set_quality_reporting_interval()

void linphone_proxy_config_set_quality_reporting_interval | ( | LinphoneProxyConfig * | proxy_config,
|  | int | interval
| ) |  |

Set the interval between 2 interval reports sending when using quality reporting.

If call exceed interval size, an interval report will be sent to the collector. On call termination, a session report will be sent for the remaining period. Value must be 0 (disabled) or positive.

Parameters

  proxy_config | LinphoneProxyConfig object.
  interval | The interval in seconds, 0 means interval reports are disabled.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_set_realm()

void linphone_proxy_config_set_realm | ( | LinphoneProxyConfig * | proxy_config,
|  | const char * | realm
| ) |  |

Set the realm of the given proxy config.

Parameters

  proxy_config | LinphoneProxyConfig object.
  realm | New realm value.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_set_ref_key()

void linphone_proxy_config_set_ref_key | ( | LinphoneProxyConfig * | proxy_config,
|  | const char * | refkey
| ) |  |

Associate a persistent reference key to the proxy config.

The reference key can be for example an id to an external database. It is stored in the config file, thus can survive to process exits/restarts.

Parameters

  proxy_config | LinphoneProxyConfig object.
  refkey | The reference key string to associate to the proxy config.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_set_remote_push_notification_allowed()

void linphone_proxy_config_set_remote_push_notification_allowed | ( | LinphoneProxyConfig * | proxy_config,
|  | bool_t | allow
| ) |  |

Indicates whether to add to the contact parameters the remote push notification information (IOS only).

Parameters

  proxy_config | LinphoneProxyConfig object.
  allow | TRUE to allow remote push notification information, FALSE otherwise.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_set_route()

MS2_DEPRECATED LinphoneStatus linphone_proxy_config_set_route | ( | LinphoneProxyConfig * | proxy_config,
|  | const char * | route
| ) |  |

Sets a SIP route.

When a route is set, all outgoing calls will go to the route's destination if this proxy is the default one (see linphone_core_set_default_proxy_config() ).

Parameters

  proxy_config | LinphoneProxyConfig object.
  route | the SIP route to set

Returns
  -1 if route is invalid, 0 otherwise.

Deprecated:
  08/07/2020 use linphone_proxy_config_set_routes() instead

## ◆ linphone_proxy_config_set_routes()

LinphoneStatus linphone_proxy_config_set_routes | ( | LinphoneProxyConfig * | proxy_config,
|  | const bctbx_list_t * | routes
| ) |  |

Sets a list of SIP route.

When a route is set, all outgoing calls will go to the route's destination if this proxy is the default one (see linphone_core_set_default_proxy_config() ).

Parameters

  proxy_config | the LinphoneProxyConfig
  routes | A of routes

Returns
  -1 if routes are invalid, 0 otherwise.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_set_server_addr()

LinphoneStatus linphone_proxy_config_set_server_addr | ( | LinphoneProxyConfig * | proxy_config,
|  | const char * | server_address
| ) |  |

Sets the proxy address.

Examples of valid sip proxy address are:

- IP address: sip:87.98.157.38
- IP address with port: sip:87.98.157.38:5062
- hostnames : sip:sip.example.net

Parameters

  proxy_config | LinphoneProxyConfig object.
  server_address | the proxy address to set.

Deprecated:
  06/04/2020 Use LinphoneAccount object instead

## ◆ linphone_proxy_config_set_user_data()

void linphone_proxy_config_set_user_data | ( | LinphoneProxyConfig * | proxy_config,
|  | void * | user_data
| ) |  |

Assign a user pointer to the proxy config.

Parameters

  proxy_config | LinphoneProxyConfig object.
  user_data | The user pointer to associate with the proxy config.

## ◆ linphone_proxy_config_unref()

void linphone_proxy_config_unref | ( | LinphoneProxyConfig * | proxy_config | ) |

Release reference to the proxy config.

Parameters

  proxy_config | LinphoneProxyConfig object.

## ◆ linphone_registration_state_to_string()

const char* linphone_registration_state_to_string | ( | LinphoneRegistrationState | state | ) |

Human readable version of the LinphoneRegistrationState.

Parameters

  state | LinphoneRegistrationState the value for which we want a string representation

Returns
  a string representation of the LinphoneRegistrationState