liblinphone 3.9.1

- Main Page
- Related Pages
- Modules
- Data Structures

Macros | Typedefs | Enumerations | Functions
Managing Buddies and buddy list and presence

## Macros
#define | linphone_friend_new_with_addr linphone_friend_new_with_address
#define | linphone_friend_set_addr linphone_friend_set_address

## Typedefs
typedef enum _LinphoneSubscribePolicy | LinphoneSubscribePolicy
typedef enum _LinphoneOnlineStatus | LinphoneOnlineStatus
typedef struct _LinphoneFriend | LinphoneFriend
typedef enum LinphonePresenceBasicStatus | LinphonePresenceBasicStatus
typedef enum LinphonePresenceActivityType | LinphonePresenceActivityType
typedef struct _LinphonePresenceModel | LinphonePresenceModel
typedef struct _LinphonePresencePerson | LinphonePresencePerson
typedef struct _LinphonePresenceService | LinphonePresenceService
typedef struct _LinphonePresenceActivity | LinphonePresenceActivity
typedef struct _LinphonePresenceNote | LinphonePresenceNote

## Enumerations
enum | _LinphoneSubscribePolicy { LinphoneSPWait, LinphoneSPDeny, LinphoneSPAccept }
enum | _LinphoneOnlineStatus { LinphoneStatusOffline, LinphoneStatusOnline, LinphoneStatusBusy, LinphoneStatusBeRightBack, LinphoneStatusAway, LinphoneStatusOnThePhone, LinphoneStatusOutToLunch, LinphoneStatusDoNotDisturb, LinphoneStatusMoved, LinphoneStatusAltService, LinphoneStatusPending, LinphoneStatusVacation }
enum | LinphonePresenceBasicStatus { LinphonePresenceBasicStatusOpen, LinphonePresenceBasicStatusClosed }
enum | LinphonePresenceActivityType { LinphonePresenceActivityOffline, LinphonePresenceActivityOnline, LinphonePresenceActivityAppointment, LinphonePresenceActivityAway, LinphonePresenceActivityBreakfast, LinphonePresenceActivityBusy, LinphonePresenceActivityDinner, LinphonePresenceActivityHoliday, LinphonePresenceActivityInTransit, LinphonePresenceActivityLookingForWork, LinphonePresenceActivityLunch, LinphonePresenceActivityMeal, LinphonePresenceActivityMeeting, LinphonePresenceActivityOnThePhone, LinphonePresenceActivityOther, LinphonePresenceActivityPerformance, LinphonePresenceActivityPermanentAbsence, LinphonePresenceActivityPlaying, LinphonePresenceActivityPresentation, LinphonePresenceActivityShopping, LinphonePresenceActivitySleeping, LinphonePresenceActivitySpectator, LinphonePresenceActivitySteering, LinphonePresenceActivityTravel, LinphonePresenceActivityTV, LinphonePresenceActivityUnknown, LinphonePresenceActivityVacation, LinphonePresenceActivityWorking, LinphonePresenceActivityWorship }

## Functions
LinphoneFriend * | linphone_friend_new (void)
LinphoneFriend * | linphone_friend_new_with_address (const char *addr)
void | linphone_friend_destroy (LinphoneFriend *lf)
int | linphone_friend_set_address (LinphoneFriend *fr, const LinphoneAddress *address)
const LinphoneAddress * | linphone_friend_get_address (const LinphoneFriend *lf)
int | linphone_friend_set_name (LinphoneFriend *lf, const char *name)
const char * | linphone_friend_get_name (const LinphoneFriend *lf)
bool_t | linphone_friend_subscribes_enabled (const LinphoneFriend *lf)
int | linphone_friend_enable_subscribes (LinphoneFriend *fr, bool_t val)
int | linphone_friend_set_inc_subscribe_policy (LinphoneFriend *fr, LinphoneSubscribePolicy pol)
LinphoneSubscribePolicy | linphone_friend_get_inc_subscribe_policy (const LinphoneFriend *lf)
void | linphone_friend_edit (LinphoneFriend *fr)
void | linphone_friend_done (LinphoneFriend *fr)
LinphoneOnlineStatus | linphone_friend_get_status (const LinphoneFriend *lf)
const LinphonePresenceModel * | linphone_friend_get_presence_model (LinphoneFriend *lf)
void | linphone_friend_set_user_data (LinphoneFriend *lf, void *data)
void * | linphone_friend_get_user_data (const LinphoneFriend *lf)
void | linphone_friend_set_ref_key (LinphoneFriend *lf, const char *key)
const char * | linphone_friend_get_ref_key (const LinphoneFriend *lf)
bool_t | linphone_friend_in_list (const LinphoneFriend *lf)
const char * | linphone_online_status_to_string (LinphoneOnlineStatus ss)
LinphoneFriend * | linphone_core_create_friend (LinphoneCore *lc)
LinphoneFriend * | linphone_core_create_friend_with_address (LinphoneCore *lc, const char *address)
void | linphone_core_set_presence_info (LinphoneCore *lc, int minutes_away, const char *alternative_contact, LinphoneOnlineStatus os)
void | linphone_core_set_presence_model (LinphoneCore *lc, LinphonePresenceModel *presence)
LinphoneOnlineStatus | linphone_core_get_presence_info (const LinphoneCore *lc)
LinphonePresenceModel * | linphone_core_get_presence_model (const LinphoneCore *lc)
void | linphone_core_interpret_friend_uri (LinphoneCore *lc, const char *uri, char **result)
void | linphone_core_add_friend (LinphoneCore *lc, LinphoneFriend *fr)
void | linphone_core_remove_friend (LinphoneCore *lc, LinphoneFriend *fr)
void | linphone_core_reject_subscriber (LinphoneCore *lc, LinphoneFriend *lf)
const MSList * | linphone_core_get_friend_list (const LinphoneCore *lc)
void | linphone_core_notify_all_friends (LinphoneCore *lc, LinphonePresenceModel *presence)
LinphoneFriend * | linphone_core_get_friend_by_address (const LinphoneCore *lc, const char *addr)
LinphoneFriend * | linphone_core_find_friend (const LinphoneCore *lc, const LinphoneAddress *addr)
LinphoneFriend * | linphone_core_get_friend_by_ref_key (const LinphoneCore *lc, const char *key)
LinphoneFriend * | linphone_friend_ref (LinphoneFriend *lf)
void | linphone_friend_unref (LinphoneFriend *lf)
LinphoneCore * | linphone_friend_get_core (const LinphoneFriend *fr)
LinphonePresenceModel * | linphone_presence_model_new_with_activity (LinphonePresenceActivityType activity, const char *description)
LinphonePresenceModel * | linphone_presence_model_new_with_activity_and_note (LinphonePresenceActivityType activity, const char *description, const char *note, const char *lang)
LinphonePresenceBasicStatus | linphone_presence_model_get_basic_status (const LinphonePresenceModel *model)
int | linphone_presence_model_set_basic_status (LinphonePresenceModel *model, LinphonePresenceBasicStatus basic_status)
time_t | linphone_presence_model_get_timestamp (const LinphonePresenceModel *model)
char * | linphone_presence_model_get_contact (const LinphonePresenceModel *model)
int | linphone_presence_model_set_contact (LinphonePresenceModel *model, const char *contact)
LinphonePresenceActivity * | linphone_presence_model_get_activity (const LinphonePresenceModel *model)
int | linphone_presence_model_set_activity (LinphonePresenceModel *model, LinphonePresenceActivityType activity, const char *description)
unsigned int | linphone_presence_model_get_nb_activities (const LinphonePresenceModel *model)
LinphonePresenceActivity * | linphone_presence_model_get_nth_activity (const LinphonePresenceModel *model, unsigned int idx)
int | linphone_presence_model_add_activity (LinphonePresenceModel *model, LinphonePresenceActivity *activity)
int | linphone_presence_model_clear_activities (LinphonePresenceModel *model)
LinphonePresenceNote * | linphone_presence_model_get_note (const LinphonePresenceModel *model, const char *lang)
int | linphone_presence_model_add_note (LinphonePresenceModel *model, const char *note_content, const char *lang)
int | linphone_presence_model_clear_notes (LinphonePresenceModel *model)
LinphonePresenceModel * | linphone_presence_model_new (void)
unsigned int | linphone_presence_model_get_nb_services (const LinphonePresenceModel *model)
LinphonePresenceService * | linphone_presence_model_get_nth_service (const LinphonePresenceModel *model, unsigned int idx)
int | linphone_presence_model_add_service (LinphonePresenceModel *model, LinphonePresenceService *service)
int | linphone_presence_model_clear_services (LinphonePresenceModel *model)
unsigned int | linphone_presence_model_get_nb_persons (const LinphonePresenceModel *model)
LinphonePresencePerson * | linphone_presence_model_get_nth_person (const LinphonePresenceModel *model, unsigned int idx)
int | linphone_presence_model_add_person (LinphonePresenceModel *model, LinphonePresencePerson *person)
int | linphone_presence_model_clear_persons (LinphonePresenceModel *model)
LinphonePresenceService * | linphone_presence_service_new (const char *id, LinphonePresenceBasicStatus basic_status, const char *contact)
char * | linphone_presence_service_get_id (const LinphonePresenceService *service)
int | linphone_presence_service_set_id (LinphonePresenceService *service, const char *id)
LinphonePresenceBasicStatus | linphone_presence_service_get_basic_status (const LinphonePresenceService *service)
int | linphone_presence_service_set_basic_status (LinphonePresenceService *service, LinphonePresenceBasicStatus basic_status)
char * | linphone_presence_service_get_contact (const LinphonePresenceService *service)
int | linphone_presence_service_set_contact (LinphonePresenceService *service, const char *contact)
unsigned int | linphone_presence_service_get_nb_notes (const LinphonePresenceService *service)
LinphonePresenceNote * | linphone_presence_service_get_nth_note (const LinphonePresenceService *service, unsigned int idx)
int | linphone_presence_service_add_note (LinphonePresenceService *service, LinphonePresenceNote *note)
int | linphone_presence_service_clear_notes (LinphonePresenceService *service)
LinphonePresencePerson * | linphone_presence_person_new (const char *id)
char * | linphone_presence_person_get_id (const LinphonePresencePerson *person)
int | linphone_presence_person_set_id (LinphonePresencePerson *person, const char *id)
unsigned int | linphone_presence_person_get_nb_activities (const LinphonePresencePerson *person)
LinphonePresenceActivity * | linphone_presence_person_get_nth_activity (const LinphonePresencePerson *person, unsigned int idx)
int | linphone_presence_person_add_activity (LinphonePresencePerson *person, LinphonePresenceActivity *activity)
int | linphone_presence_person_clear_activities (LinphonePresencePerson *person)
unsigned int | linphone_presence_person_get_nb_notes (const LinphonePresencePerson *person)
LinphonePresenceNote * | linphone_presence_person_get_nth_note (const LinphonePresencePerson *person, unsigned int idx)
int | linphone_presence_person_add_note (LinphonePresencePerson *person, LinphonePresenceNote *note)
int | linphone_presence_person_clear_notes (LinphonePresencePerson *person)
unsigned int | linphone_presence_person_get_nb_activities_notes (const LinphonePresencePerson *person)
LinphonePresenceNote * | linphone_presence_person_get_nth_activities_note (const LinphonePresencePerson *person, unsigned int idx)
int | linphone_presence_person_add_activities_note (LinphonePresencePerson *person, LinphonePresenceNote *note)
int | linphone_presence_person_clear_activities_notes (LinphonePresencePerson *person)
LinphonePresenceActivity * | linphone_presence_activity_new (LinphonePresenceActivityType acttype, const char *description)
char * | linphone_presence_activity_to_string (const LinphonePresenceActivity *activity)
LinphonePresenceActivityType | linphone_presence_activity_get_type (const LinphonePresenceActivity *activity)
int | linphone_presence_activity_set_type (LinphonePresenceActivity *activity, LinphonePresenceActivityType acttype)
const char * | linphone_presence_activity_get_description (const LinphonePresenceActivity *activity)
int | linphone_presence_activity_set_description (LinphonePresenceActivity *activity, const char *description)
LinphonePresenceNote * | linphone_presence_note_new (const char *content, const char *lang)
const char * | linphone_presence_note_get_content (const LinphonePresenceNote *note)
int | linphone_presence_note_set_content (LinphonePresenceNote *note, const char *content)
const char * | linphone_presence_note_get_lang (const LinphonePresenceNote *note)
int | linphone_presence_note_set_lang (LinphonePresenceNote *note, const char *lang)
LinphonePresenceModel * | linphone_presence_model_ref (LinphonePresenceModel *model)
LinphonePresenceModel * | linphone_presence_model_unref (LinphonePresenceModel *model)
void | linphone_presence_model_set_user_data (LinphonePresenceModel *model, void *user_data)
void * | linphone_presence_model_get_user_data (const LinphonePresenceModel *model)
LinphonePresenceService * | linphone_presence_service_ref (LinphonePresenceService *service)
LinphonePresenceService * | linphone_presence_service_unref (LinphonePresenceService *service)
void | linphone_presence_service_set_user_data (LinphonePresenceService *service, void *user_data)
void * | linphone_presence_service_get_user_data (const LinphonePresenceService *service)
LinphonePresencePerson * | linphone_presence_person_ref (LinphonePresencePerson *person)
LinphonePresencePerson * | linphone_presence_person_unref (LinphonePresencePerson *person)
void | linphone_presence_person_set_user_data (LinphonePresencePerson *person, void *user_data)
void * | linphone_presence_person_get_user_data (const LinphonePresencePerson *person)
LinphonePresenceActivity * | linphone_presence_activity_ref (LinphonePresenceActivity *activity)
LinphonePresenceActivity * | linphone_presence_activity_unref (LinphonePresenceActivity *activity)
void | linphone_presence_activity_set_user_data (LinphonePresenceActivity *activity, void *user_data)
void * | linphone_presence_activity_get_user_data (const LinphonePresenceActivity *activity)
LinphonePresenceNote * | linphone_presence_note_ref (LinphonePresenceNote *note)
LinphonePresenceNote * | linphone_presence_note_unref (LinphonePresenceNote *note)
void | linphone_presence_note_set_user_data (LinphonePresenceNote *note, void *user_data)
void * | linphone_presence_note_get_user_data (const LinphonePresenceNote *note)
LinphonePresenceActivity * | linphone_core_create_presence_activity (LinphoneCore *lc, LinphonePresenceActivityType acttype, const char *description)
LinphonePresenceModel * | linphone_core_create_presence_model (LinphoneCore *lc)
LinphonePresenceModel * | linphone_core_create_presence_model_with_activity (LinphoneCore *lc, LinphonePresenceActivityType acttype, const char *description)
LinphonePresenceModel * | linphone_core_create_presence_model_with_activity_and_note (LinphoneCore *lc, LinphonePresenceActivityType acttype, const char *description, const char *note, const char *lang)
LinphonePresenceNote * | linphone_core_create_presence_note (LinphoneCore *lc, const char *content, const char *lang)
LinphonePresencePerson * | linphone_core_create_presence_person (LinphoneCore *lc, const char *id)
LinphonePresenceService * | linphone_core_create_presence_service (LinphoneCore *lc, const char *id, LinphonePresenceBasicStatus basic_status, const char *contact)

## Detailed Description

Buddies and buddy list
Each buddy is represented by a LinphoneFriend object created by function linphone_friend_new(). Buddy configuration parameters like sip uri or status publication policy for this friend are configurable for each buddy.
Here under a typical buddy creation:

LinphoneFriend* my_friend=linphone_friend_new_with_addr("sip:joe@sip.linphone.org"); /*creates friend object for buddy joe*/
linphone_friend_enable_subscribes(my_friend,TRUE); /*configure this friend to emit SUBSCRIBE message after being added to LinphoneCore*/
linphone_friend_set_inc_subscribe_policy(my_friend,LinphoneSPAccept); /* accept Incoming subscription request for this friend*/

friends status changes are reported by callback LinphoneCoreVTable.notify_presence_recv

static void notify_presence_recv_updated (struct _LinphoneCore *lc, LinphoneFriend *friend) {
const LinphoneAddress* friend_address = linphone_friend_get_address(friend);
printf("New state state [%s] for user id [%s] \n"
,linphone_online_status_to_string(linphone_friend_get_status(friend))
,linphone_address_as_string (friend_address));
}

Once created a buddy can be added to the buddy list using function linphone_core_add_friend() . Added friends will be notified about local status changes
Any subsequente modifications to LinphoneFriend must be first started by a call to function linphone_friend_edit() and validated by function linphone_friend_done()

linphone_friend_edit(my_friend); /* start editing friend */
linphone_friend_enable_subscribes(my_friend,FALSE); /*disable subscription for this friend*/
linphone_friend_done(my_friend); /*commit changes triggering an UNSUBSCRIBE message*/

Publishing presence status
Local presence status can be changed using function linphone_core_set_presence_model() .New status is propagated to all friends previously added to LinphoneCore.

Handling incoming subscription request
New incoming subscription requests are process according to the incoming subscription policy state for subscription initiated by members of the buddy list.
For incoming request comming from an unknown buddy, the call back LinphoneCoreVTable.new_subscription_request is invoked.

A complete tutorial can be found at : Registration tutorial

## Macro Definition Documentation

#define linphone_friend_new_with_addr linphone_friend_new_with_address

Contructor same as linphone_friend_new() + linphone_friend_set_address()

Deprecated:
  Use linphone_friend_new_with_address instead

#define linphone_friend_set_addr linphone_friend_set_address

Set LinphoneAddress for this friend

Deprecated:
  Use linphone_friend_set_address instead

## Typedef Documentation

typedef enum _LinphoneSubscribePolicy LinphoneSubscribePolicy

Enum controlling behavior for incoming subscription request.
Use by linphone_friend_set_inc_subscribe_policy()

typedef enum _LinphoneOnlineStatus LinphoneOnlineStatus

Enum describing remote friend status

Deprecated:
  Use LinphonePresenceModel and LinphonePresenceActivity instead

typedef struct _LinphoneFriend LinphoneFriend

Represents a buddy, all presence actions like subscription and status change notification are performed on this object

typedef enum LinphonePresenceBasicStatus LinphonePresenceBasicStatus

Basic status as defined in section 4.1.4 of RFC 3863

typedef enum LinphonePresenceActivityType LinphonePresenceActivityType

Activities as defined in section 3.2 of RFC 4480

typedef struct _LinphonePresenceModel LinphonePresenceModel

Presence model type holding information about the presence of a person.

typedef struct _LinphonePresencePerson LinphonePresencePerson

Presence person holding information about a presence person.

typedef struct _LinphonePresenceService LinphonePresenceService

Presence service type holding information about a presence service.

typedef struct _LinphonePresenceActivity LinphonePresenceActivity

Presence activity type holding information about a presence activity.

typedef struct _LinphonePresenceNote LinphonePresenceNote

Presence note type holding information about a presence note.

## Enumeration Type Documentation

enum _LinphoneSubscribePolicy

Enum controlling behavior for incoming subscription request.
Use by linphone_friend_set_inc_subscribe_policy()

Enumerator
LinphoneSPWait | Does not automatically accept an incoming subscription request. This policy implies that a decision has to be taken for each incoming subscription request notified by callback LinphoneCoreVTable.new_subscription_requested
LinphoneSPDeny | Rejects incoming subscription request.
LinphoneSPAccept | Automatically accepts a subscription request.

enum _LinphoneOnlineStatus

Enum describing remote friend status

Deprecated:
  Use LinphonePresenceModel and LinphonePresenceActivity instead

Enumerator
LinphoneStatusOffline | Offline
LinphoneStatusOnline | Online
LinphoneStatusBusy | Busy
LinphoneStatusBeRightBack | Be right back
LinphoneStatusAway | Away
LinphoneStatusOnThePhone | On the phone
LinphoneStatusOutToLunch | Out to lunch
LinphoneStatusDoNotDisturb | Do not disturb
LinphoneStatusMoved | Moved in this sate, call can be redirected if an alternate contact address has been set using function linphone_core_set_presence_info()
LinphoneStatusAltService | Using another messaging service
LinphoneStatusPending | Pending
LinphoneStatusVacation | Vacation

enum LinphonePresenceBasicStatus

Basic status as defined in section 4.1.4 of RFC 3863

Enumerator
LinphonePresenceBasicStatusOpen | This value means that the associated contact element, if any, is ready to accept communication.
LinphonePresenceBasicStatusClosed | This value means that the associated contact element, if any, is unable to accept communication.

enum LinphonePresenceActivityType

Activities as defined in section 3.2 of RFC 4480

Enumerator
LinphonePresenceActivityOffline | This value is not defined in the RFC, it corresponds to no activity with a basic status of "closed".
LinphonePresenceActivityOnline | This value is not defined in the RFC, it corresponds to no activity with a basic status of "open".
LinphonePresenceActivityAppointment | The person has a calendar appointment, without specifying exactly of what type. This activity is indicated if more detailed information is not available or the person chooses not to reveal more information.
LinphonePresenceActivityAway | The person is physically away from all interactive communication devices.
LinphonePresenceActivityBreakfast | The person is eating the first meal of the day, usually eaten in the morning.
LinphonePresenceActivityBusy | The person is busy, without further details.
LinphonePresenceActivityDinner | The person is having his or her main meal of the day, eaten in the evening or at midday.
LinphonePresenceActivityHoliday | This is a scheduled national or local holiday.
LinphonePresenceActivityInTransit | The person is riding in a vehicle, such as a car, but not steering.
LinphonePresenceActivityLookingForWork | The person is looking for (paid) work.
LinphonePresenceActivityLunch | The person is eating his or her midday meal.
LinphonePresenceActivityMeal | The person is scheduled for a meal, without specifying whether it is breakfast, lunch, or dinner, or some other meal.
LinphonePresenceActivityMeeting | The person is in an assembly or gathering of people, as for a business, social, or religious purpose. A meeting is a sub-class of an appointment.
LinphonePresenceActivityOnThePhone | The person is talking on the telephone.
LinphonePresenceActivityOther | The person is engaged in an activity with no defined representation. A string describing the activity in plain text SHOULD be provided.
LinphonePresenceActivityPerformance | A performance is a sub-class of an appointment and includes musical, theatrical, and cinematic performances as well as lectures. It is distinguished from a meeting by the fact that the person may either be lecturing or be in the audience, with a potentially large number of other people, making interruptions particularly noticeable.
LinphonePresenceActivityPermanentAbsence | The person will not return for the foreseeable future, e.g., because it is no longer working for the company.
LinphonePresenceActivityPlaying | The person is occupying himself or herself in amusement, sport, or other recreation.
LinphonePresenceActivityPresentation | The person is giving a presentation, lecture, or participating in a formal round-table discussion.
LinphonePresenceActivityShopping | The person is visiting stores in search of goods or services.
LinphonePresenceActivitySleeping | The person is sleeping.
LinphonePresenceActivitySpectator | The person is observing an event, such as a sports event.
LinphonePresenceActivitySteering | The person is controlling a vehicle, watercraft, or plane.
LinphonePresenceActivityTravel | The person is on a business or personal trip, but not necessarily in-transit.
LinphonePresenceActivityTV | The person is watching television.
LinphonePresenceActivityUnknown | The activity of the person is unknown.
LinphonePresenceActivityVacation | A period of time devoted to pleasure, rest, or relaxation.
LinphonePresenceActivityWorking | The person is engaged in, typically paid, labor, as part of a profession or job.
LinphonePresenceActivityWorship | The person is participating in religious rites.

## Function Documentation

LinphoneFriend* linphone_friend_new | ( | void |  | ) |

Contructor

Returns
  a new empty LinphoneFriend

LinphoneFriend* linphone_friend_new_with_address | ( | const char * | addr | ) |

Contructor same as linphone_friend_new() + linphone_friend_set_address()

Parameters

  addr | a buddy address, must be a sip uri like sip:joe@s.nosp@m.ip.l.nosp@m.inpho.nosp@m.ne.o.nosp@m.rg

Returns
  a new LinphoneFriend with address initialized

void linphone_friend_destroy | ( | LinphoneFriend * | lf | ) |

Destroy a LinphoneFriend.

Parameters

  lf | LinphoneFriend object

Deprecated:
  Use linphone_friend_unref() instead.

int linphone_friend_set_address | ( | LinphoneFriend * | fr,
|  | const LinphoneAddress * | address
| ) |  |

Set LinphoneAddress for this friend

Parameters

  fr | LinphoneFriend object
  address | LinphoneAddress

const LinphoneAddress* linphone_friend_get_address | ( | const LinphoneFriend * | lf | ) |

Get address of this friend

Parameters

  lf | LinphoneFriend object

Returns
  LinphoneAddress

int linphone_friend_set_name | ( | LinphoneFriend * | lf,
|  | const char * | name
| ) |  |

Set the display name for this friend

Parameters

  lf | LinphoneFriend object
  name |

const char* linphone_friend_get_name | ( | const LinphoneFriend * | lf | ) |

Get the display name for this friend

Parameters

  lf | LinphoneFriend object

Returns
  The display name of this friend

bool_t linphone_friend_subscribes_enabled | ( | const LinphoneFriend * | lf | ) |

get subscription flag value

Parameters

  lf | LinphoneFriend object

Returns
  returns true is subscription is activated for this friend

int linphone_friend_enable_subscribes | ( | LinphoneFriend * | fr,
|  | bool_t | val
| ) |  |

Configure LinphoneFriend to subscribe to presence information

Parameters

  fr | LinphoneFriend object
  val | if TRUE this friend will receive subscription message

int linphone_friend_set_inc_subscribe_policy | ( | LinphoneFriend * | fr,
|  | LinphoneSubscribePolicy | pol
| ) |  |

Configure incoming subscription policy for this friend.

Parameters

  fr | LinphoneFriend object
  pol | LinphoneSubscribePolicy policy to apply.

LinphoneSubscribePolicy linphone_friend_get_inc_subscribe_policy | ( | const LinphoneFriend * | lf | ) |

get current subscription policy for this LinphoneFriend

Parameters

  lf | LinphoneFriend object

Returns
  LinphoneSubscribePolicy

void linphone_friend_edit | ( | LinphoneFriend * | fr | ) |

Starts editing a friend configuration.

Because friend configuration must be consistent, applications MUST call linphone_friend_edit() before doing any attempts to modify friend configuration (such as address or subscription policy and so on). Once the modifications are done, then the application must call linphone_friend_done() to commit the changes.

void linphone_friend_done | ( | LinphoneFriend * | fr | ) |

Commits modification made to the friend configuration.

Parameters

  fr | LinphoneFriend object

LinphoneOnlineStatus linphone_friend_get_status | ( | const LinphoneFriend * | lf | ) |

Get the status of a friend

Parameters

  [in] | lf | A LinphoneFriend object

Returns
  LinphoneOnlineStatus

Deprecated:
  Use linphone_friend_get_presence_model() instead

const LinphonePresenceModel* linphone_friend_get_presence_model | ( | LinphoneFriend * | lf | ) |

Get the presence model of a friend

Parameters

  [in] | lf | A LinphoneFriend object

Returns
  A LinphonePresenceModel object, or NULL if the friend do not have presence information (in which case he is considered offline)

void linphone_friend_set_user_data | ( | LinphoneFriend * | lf,
|  | void * | data
| ) |  |

Store user pointer to friend object.

void* linphone_friend_get_user_data | ( | const LinphoneFriend * | lf | ) |

Retrieve user data associated with friend.

void linphone_friend_set_ref_key | ( | LinphoneFriend * | lf,
|  | const char * | key
| ) |  |

Set the reference key of a friend.

Parameters

  [in] | lf | LinphoneFriend object.
  [in] | key | The reference key to use for the friend.

const char* linphone_friend_get_ref_key | ( | const LinphoneFriend * | lf | ) |

Get the reference key of a friend.

Parameters

  [in] | lf | LinphoneFriend object.

Returns
  The reference key of the friend.

bool_t linphone_friend_in_list | ( | const LinphoneFriend * | lf | ) |

Check that the given friend is in a friend list.

Parameters

  [in] | lf | LinphoneFriend object.

Returns
  TRUE if the friend is in a friend list, FALSE otherwise.

const char* linphone_online_status_to_string | ( | LinphoneOnlineStatus | ss | ) |

Return humain readable presence status

Parameters

  ss |

Deprecated:
  Use LinphonePresenceModel, LinphonePresenceActivity and linphone_presence_activity_to_string() instead.

LinphoneFriend* linphone_core_create_friend | ( | LinphoneCore * | lc | ) |

Create a default LinphoneFriend.

Parameters

  [in] | lc | LinphoneCore object

Returns
  The created LinphoneFriend object

LinphoneFriend* linphone_core_create_friend_with_address | ( | LinphoneCore * | lc,
|  | const char * | address
| ) |  |

Create a LinphoneFriend from the given address.

Parameters

  [in] | lc | LinphoneCore object
  [in] | address | A string containing the address to create the LinphoneFriend from

Returns
  The created LinphoneFriend object

void linphone_core_set_presence_info | ( | LinphoneCore * | lc,
|  | int | minutes_away,
|  | const char * | alternative_contact,
|  | LinphoneOnlineStatus | os
| ) |  |

Set my presence status

Parameters

  [in] | lc | LinphoneCore object
  [in] | minutes_away | how long in away
  [in] | alternative_contact | sip uri used to redirect call in state LinphoneStatusMoved
  [in] | os | LinphoneOnlineStatus

Deprecated:
  Use linphone_core_set_presence_model() instead

void linphone_core_set_presence_model | ( | LinphoneCore * | lc,
|  | LinphonePresenceModel * | presence
| ) |  |

Set my presence model

Parameters

  [in] | lc | LinphoneCore object
  [in] | presence | LinphonePresenceModel

LinphoneOnlineStatus linphone_core_get_presence_info | ( | const LinphoneCore * | lc | ) |

Get my presence status

Parameters

  [in] | lc | LinphoneCore object

Returns
  LinphoneOnlineStatus

Deprecated:
  Use linphone_core_get_presence_model() instead

LinphonePresenceModel* linphone_core_get_presence_model | ( | const LinphoneCore * | lc | ) |

Get my presence model

Parameters

  [in] | lc | LinphoneCore object

Returns
  A LinphonePresenceModel object, or NULL if no presence model has been set.

void linphone_core_interpret_friend_uri | ( | LinphoneCore * | lc,
|  | const char * | uri,
|  | char ** | result
| ) |  |

Deprecated:
  Use linphone_core_interpret_url() instead

void linphone_core_add_friend | ( | LinphoneCore * | lc,
|  | LinphoneFriend * | fr
| ) |  |

Add a friend to the current buddy list, if subscription attribute is set, a SIP SUBSCRIBE message is sent.

Parameters

  lc | LinphoneCore object
  fr | LinphoneFriend to add

void linphone_core_remove_friend | ( | LinphoneCore * | lc,
|  | LinphoneFriend * | fr
| ) |  |

remove a friend from the buddy list

Parameters

  lc | LinphoneCore object
  fr | LinphoneFriend to add

void linphone_core_reject_subscriber | ( | LinphoneCore * | lc,
|  | LinphoneFriend * | lf
| ) |  |

Black list a friend. same as linphone_friend_set_inc_subscribe_policy() with LinphoneSPDeny policy;

Parameters

  lc | LinphoneCore object
  lf | LinphoneFriend to add

const MSList* linphone_core_get_friend_list | ( | const LinphoneCore * | lc | ) |

Get Buddy list of LinphoneFriend

Parameters

  [in] | lc | LinphoneCore object

Returns
  A list of LinphoneFriend objects.

void linphone_core_notify_all_friends | ( | LinphoneCore * | lc,
|  | LinphonePresenceModel * | presence
| ) |  |

Notify all friends that have subscribed

Parameters

  lc | LinphoneCore object
  presence | LinphonePresenceModel to notify

LinphoneFriend* linphone_core_get_friend_by_address | ( | const LinphoneCore * | lc,
|  | const char * | addr
| ) |  |

Search a LinphoneFriend by its address.

Parameters

  [in] | lc | LinphoneCore object.
  [in] | addr | The address to use to search the friend.

Returns
  The LinphoneFriend object corresponding to the given address.

Deprecated:
  use linphone_core_find_friend() instead.

LinphoneFriend* linphone_core_find_friend | ( | const LinphoneCore * | lc,
|  | const LinphoneAddress * | addr
| ) |  |

Search a LinphoneFriend by its address.

Parameters

  [in] | lc | LinphoneCore object.
  [in] | addr | The address to use to search the friend.

Returns
  The LinphoneFriend object corresponding to the given address.

LinphoneFriend* linphone_core_get_friend_by_ref_key | ( | const LinphoneCore * | lc,
|  | const char * | key
| ) |  |

Search a LinphoneFriend by its reference key.

Parameters

  [in] | lc | LinphoneCore object.
  [in] | key | The reference key to use to search the friend.

Returns
  The LinphoneFriend object corresponding to the given reference key.

LinphoneFriend* linphone_friend_ref | ( | LinphoneFriend * | lf | ) |

Acquire a reference to the linphone friend.

Parameters

  [in] | lf | LinphoneFriend object

Returns
  The same LinphoneFriend object

void linphone_friend_unref | ( | LinphoneFriend * | lf | ) |

Release a reference to the linphone friend.

Parameters

  [in] | lf | LinohoneFriend object

LinphoneCore* linphone_friend_get_core | ( | const LinphoneFriend * | fr | ) |

Returns the LinphoneCore object managing this friend, if any.

LinphonePresenceModel* linphone_presence_model_new_with_activity | ( | LinphonePresenceActivityType | activity,
|  | const char * | description
| ) |  |

Creates a presence model specifying an activity.

Parameters

  [in] | activity | The activity to set for the created presence model.
  [in] | description | An additional description of the activity (mainly useful for the 'other' activity). Set it to NULL to not add a description.

Returns
  The created presence model, or NULL if an error occured.

See also
  linphone_presence_model_new
  linphone_presence_model_new_with_activity_and_note

The created presence model has the activity specified in the parameters.

LinphonePresenceModel* linphone_presence_model_new_with_activity_and_note | ( | LinphonePresenceActivityType | activity,
|  | const char * | description,
|  | const char * | note,
|  | const char * | lang
| ) |  |

Creates a presence model specifying an activity and adding a note.

Parameters

  [in] | activity | The activity to set for the created presence model.
  [in] | description | An additional description of the activity (mainly useful for the 'other' activity). Set it to NULL to not add a description.
  [in] | note | An additional note giving additional information about the contact presence.
  [in] | lang | The language the note is written in. It can be set to NULL in order to not specify the language of the note.

Returns
  The created presence model, or NULL if an error occured.

See also
  linphone_presence_model_new_with_activity
  linphone_presence_model_new_with_activity_and_note

The created presence model has the activity and the note specified in the parameters.

LinphonePresenceBasicStatus linphone_presence_model_get_basic_status | ( | const LinphonePresenceModel * | model | ) |

Gets the basic status of a presence model.

Parameters

  [in] | model | The LinphonePresenceModel object to get the basic status from.

Returns
  The LinphonePresenceBasicStatus of the LinphonePresenceModel object given as parameter.

int linphone_presence_model_set_basic_status | ( | LinphonePresenceModel * | model,
|  | LinphonePresenceBasicStatus | basic_status
| ) |  |

Sets the basic status of a presence model.

Parameters

  [in] | model | The LinphonePresenceModel object for which to set the basic status.
  [in] | basic_status | The LinphonePresenceBasicStatus to set for the LinphonePresenceModel object.

Returns
  0 if successful, a value < 0 in case of error.

time_t linphone_presence_model_get_timestamp | ( | const LinphonePresenceModel * | model | ) |

Gets the timestamp of a presence model.

Parameters

  [in] | model | The LinphonePresenceModel object to get the timestamp from.

Returns
  The timestamp of the LinphonePresenceModel object or -1 on error.

char* linphone_presence_model_get_contact | ( | const LinphonePresenceModel * | model | ) |

Gets the contact of a presence model.

Parameters

  [in] | model | The LinphonePresenceModel object to get the contact from.

Returns
  A pointer to a dynamically allocated string containing the contact, or NULL if no contact is found.

The returned string is to be freed by calling ms_free().

int linphone_presence_model_set_contact | ( | LinphonePresenceModel * | model,
|  | const char * | contact
| ) |  |

Sets the contact of a presence model.

Parameters

  [in] | model | The LinphonePresenceModel object for which to set the contact.
  [in] | contact | The contact string to set.

Returns
  0 if successful, a value < 0 in case of error.

LinphonePresenceActivity* linphone_presence_model_get_activity | ( | const LinphonePresenceModel * | model | ) |

Gets the first activity of a presence model (there is usually only one).

Parameters

  [in] | model | The LinphonePresenceModel object to get the activity from.

Returns
  A LinphonePresenceActivity object if successful, NULL otherwise.

int linphone_presence_model_set_activity | ( | LinphonePresenceModel * | model,
|  | LinphonePresenceActivityType | activity,
|  | const char * | description
| ) |  |

Sets the activity of a presence model (limits to only one activity).

Parameters

  [in] | model | The LinphonePresenceModel object for which to set the activity.
  [in] | activity | The LinphonePresenceActivityType to set for the model.
  [in] | description | An additional description of the activity to set for the model. Can be NULL if no additional description is to be added.

Returns
  0 if successful, a value < 0 in case of error.

WARNING: This function will modify the basic status of the model according to the activity being set. If you don't want the basic status to be modified automatically, you can use the combination of linphone_presence_model_set_basic_status(), linphone_presence_model_clear_activities() and linphone_presence_model_add_activity().

unsigned int linphone_presence_model_get_nb_activities | ( | const LinphonePresenceModel * | model | ) |

Gets the number of activities included in the presence model.

Parameters

  [in] | model | The LinphonePresenceModel object to get the number of activities from.

Returns
  The number of activities included in the LinphonePresenceModel object.

LinphonePresenceActivity* linphone_presence_model_get_nth_activity | ( | const LinphonePresenceModel * | model,
|  | unsigned int | idx
| ) |  |

Gets the nth activity of a presence model.

Parameters

  [in] | model | The LinphonePresenceModel object to get the activity from.
  [in] | idx | The index of the activity to get (the first activity having the index 0).

Returns
  A pointer to a LinphonePresenceActivity object if successful, NULL otherwise.

int linphone_presence_model_add_activity | ( | LinphonePresenceModel * | model,
|  | LinphonePresenceActivity * | activity
| ) |  |

Adds an activity to a presence model.

Parameters

  [in] | model | The LinphonePresenceModel object for which to add an activity.
  [in] | activity | The LinphonePresenceActivity object to add to the model.

Returns
  0 if successful, a value < 0 in case of error.

int linphone_presence_model_clear_activities | ( | LinphonePresenceModel * | model | ) |

Clears the activities of a presence model.

Parameters

  [in] | model | The LinphonePresenceModel object for which to clear the activities.

Returns
  0 if successful, a value < 0 in case of error.

LinphonePresenceNote* linphone_presence_model_get_note | ( | const LinphonePresenceModel * | model,
|  | const char * | lang
| ) |  |

Gets the first note of a presence model (there is usually only one).

Parameters

  [in] | model | The LinphonePresenceModel object to get the note from.
  [in] | lang | The language of the note to get. Can be NULL to get a note that has no language specified or to get the first note whatever language it is written into.

Returns
  A pointer to a LinphonePresenceNote object if successful, NULL otherwise.

int linphone_presence_model_add_note | ( | LinphonePresenceModel * | model,
|  | const char * | note_content,
|  | const char * | lang
| ) |  |

Adds a note to a presence model.

Parameters

  [in] | model | The LinphonePresenceModel object to add a note to.
  [in] | note_content | The note to be added to the presence model.
  [in] | lang | The language of the note to be added. Can be NULL if no language is to be specified for the note.

Returns
  0 if successful, a value < 0 in case of error.

Only one note for each language can be set, so e.g. setting a note for the 'fr' language if there is only one will replace the existing one.

int linphone_presence_model_clear_notes | ( | LinphonePresenceModel * | model | ) |

Clears all the notes of a presence model.

Parameters

  [in] | model | The LinphonePresenceModel for which to clear notes.

Returns
  0 if successful, a value < 0 in case of error.

LinphonePresenceModel* linphone_presence_model_new | ( | void |  | ) |

Creates a default presence model.

Returns
  The created presence model, NULL on error.

See also
  linphone_presence_model_new_with_activity
  linphone_presence_model_new_with_activity_and_note

The created presence model is considered 'offline'.

unsigned int linphone_presence_model_get_nb_services | ( | const LinphonePresenceModel * | model | ) |

Gets the number of services included in the presence model.

Parameters

  [in] | model | The LinphonePresenceModel object to get the number of services from.

Returns
  The number of services included in the LinphonePresenceModel object.

LinphonePresenceService* linphone_presence_model_get_nth_service | ( | const LinphonePresenceModel * | model,
|  | unsigned int | idx
| ) |  |

Gets the nth service of a presence model.

Parameters

  [in] | model | The LinphonePresenceModel object to get the service from.
  [in] | idx | The index of the service to get (the first service having the index 0).

Returns
  A pointer to a LinphonePresenceService object if successful, NULL otherwise.

int linphone_presence_model_add_service | ( | LinphonePresenceModel * | model,
|  | LinphonePresenceService * | service
| ) |  |

Adds a service to a presence model.

Parameters

  [in] | model | The LinphonePresenceModel object for which to add a service.
  [in] | service | The LinphonePresenceService object to add to the model.

Returns
  0 if successful, a value < 0 in case of error.

int linphone_presence_model_clear_services | ( | LinphonePresenceModel * | model | ) |

Clears the services of a presence model.

Parameters

  [in] | model | The LinphonePresenceModel object for which to clear the services.

Returns
  0 if successful, a value < 0 in case of error.

unsigned int linphone_presence_model_get_nb_persons | ( | const LinphonePresenceModel * | model | ) |

Gets the number of persons included in the presence model.

Parameters

  [in] | model | The LinphonePresenceModel object to get the number of persons from.

Returns
  The number of persons included in the LinphonePresenceModel object.

LinphonePresencePerson* linphone_presence_model_get_nth_person | ( | const LinphonePresenceModel * | model,
|  | unsigned int | idx
| ) |  |

Gets the nth person of a presence model.

Parameters

  [in] | model | The LinphonePresenceModel object to get the person from.
  [in] | idx | The index of the person to get (the first person having the index 0).

Returns
  A pointer to a LinphonePresencePerson object if successful, NULL otherwise.

int linphone_presence_model_add_person | ( | LinphonePresenceModel * | model,
|  | LinphonePresencePerson * | person
| ) |  |

Adds a person to a presence model.

Parameters

  [in] | model | The LinphonePresenceModel object for which to add a person.
  [in] | person | The LinphonePresencePerson object to add to the model.

Returns
  0 if successful, a value < 0 in case of error.

int linphone_presence_model_clear_persons | ( | LinphonePresenceModel * | model | ) |

Clears the persons of a presence model.

Parameters

  [in] | model | The LinphonePresenceModel object for which to clear the persons.

Returns
  0 if successful, a value < 0 in case of error.

LinphonePresenceService* linphone_presence_service_new | ( | const char * | id,
|  | LinphonePresenceBasicStatus | basic_status,
|  | const char * | contact
| ) |  |

Creates a presence service.

Parameters

  [in] | id | The id of the presence service to be created. Can be NULL to generate it automatically.
  [in] | basic_status | The LinphonePresenceBasicStatus to set for the LinphonePresenceService object.
  [in] | contact | The contact string to set.

Returns
  The created presence service, NULL on error.

The created presence service has the basic status 'closed'.

char* linphone_presence_service_get_id | ( | const LinphonePresenceService * | service | ) |

Gets the id of a presence service.

Parameters

  [in] | service | The LinphonePresenceService object to get the id from.

Returns
  A pointer to a dynamically allocated string containing the id, or NULL in case of error.

The returned string is to be freed by calling ms_free().

int linphone_presence_service_set_id | ( | LinphonePresenceService * | service,
|  | const char * | id
| ) |  |

Sets the id of a presence service.

Parameters

  [in] | service | The LinphonePresenceService object for which to set the id.
  [in] | id | The id string to set. Can be NULL to generate it automatically.

Returns
  0 if successful, a value < 0 in case of error.

LinphonePresenceBasicStatus linphone_presence_service_get_basic_status | ( | const LinphonePresenceService * | service | ) |

Gets the basic status of a presence service.

Parameters

  [in] | service | The LinphonePresenceService object to get the basic status from.

Returns
  The LinphonePresenceBasicStatus of the LinphonePresenceService object given as parameter.

int linphone_presence_service_set_basic_status | ( | LinphonePresenceService * | service,
|  | LinphonePresenceBasicStatus | basic_status
| ) |  |

Sets the basic status of a presence service.

Parameters

  [in] | service | The LinphonePresenceService object for which to set the basic status.
  [in] | basic_status | The LinphonePresenceBasicStatus to set for the LinphonePresenceService object.

Returns
  0 if successful, a value < 0 in case of error.

char* linphone_presence_service_get_contact | ( | const LinphonePresenceService * | service | ) |

Gets the contact of a presence service.

Parameters

  [in] | service | The LinphonePresenceService object to get the contact from.

Returns
  A pointer to a dynamically allocated string containing the contact, or NULL if no contact is found.

The returned string is to be freed by calling ms_free().

int linphone_presence_service_set_contact | ( | LinphonePresenceService * | service,
|  | const char * | contact
| ) |  |

Sets the contact of a presence service.

Parameters

  [in] | service | The LinphonePresenceService object for which to set the contact.
  [in] | contact | The contact string to set.

Returns
  0 if successful, a value < 0 in case of error.

unsigned int linphone_presence_service_get_nb_notes | ( | const LinphonePresenceService * | service | ) |

Gets the number of notes included in the presence service.

Parameters

  [in] | service | The LinphonePresenceService object to get the number of notes from.

Returns
  The number of notes included in the LinphonePresenceService object.

LinphonePresenceNote* linphone_presence_service_get_nth_note | ( | const LinphonePresenceService * | service,
|  | unsigned int | idx
| ) |  |

Gets the nth note of a presence service.

Parameters

  [in] | service | The LinphonePresenceService object to get the note from.
  [in] | idx | The index of the note to get (the first note having the index 0).

Returns
  A pointer to a LinphonePresenceNote object if successful, NULL otherwise.

int linphone_presence_service_add_note | ( | LinphonePresenceService * | service,
|  | LinphonePresenceNote * | note
| ) |  |

Adds a note to a presence service.

Parameters

  [in] | service | The LinphonePresenceService object for which to add a note.
  [in] | note | The LinphonePresenceNote object to add to the service.

Returns
  0 if successful, a value < 0 in case of error.

int linphone_presence_service_clear_notes | ( | LinphonePresenceService * | service | ) |

Clears the notes of a presence service.

Parameters

  [in] | service | The LinphonePresenceService object for which to clear the notes.

Returns
  0 if successful, a value < 0 in case of error.

LinphonePresencePerson* linphone_presence_person_new | ( | const char * | id | ) |

Creates a presence person.

Parameters

  [in] | id | The id of the presence person to be created. Can be NULL to generate it automatically.

Returns
  The created presence person, NULL on error.

char* linphone_presence_person_get_id | ( | const LinphonePresencePerson * | person | ) |

Gets the id of a presence person.

Parameters

  [in] | person | The LinphonePresencePerson object to get the id from.

Returns
  A pointer to a dynamically allocated string containing the id, or NULL in case of error.

The returned string is to be freed by calling ms_free().

int linphone_presence_person_set_id | ( | LinphonePresencePerson * | person,
|  | const char * | id
| ) |  |

Sets the id of a presence person.

Parameters

  [in] | person | The LinphonePresencePerson object for which to set the id.
  [in] | id | The id string to set. Can be NULL to generate it automatically.

Returns
  0 if successful, a value < 0 in case of error.

unsigned int linphone_presence_person_get_nb_activities | ( | const LinphonePresencePerson * | person | ) |

Gets the number of activities included in the presence person.

Parameters

  [in] | person | The LinphonePresencePerson object to get the number of activities from.

Returns
  The number of activities included in the LinphonePresencePerson object.

LinphonePresenceActivity* linphone_presence_person_get_nth_activity | ( | const LinphonePresencePerson * | person,
|  | unsigned int | idx
| ) |  |

Gets the nth activity of a presence person.

Parameters

  [in] | person | The LinphonePresencePerson object to get the activity from.
  [in] | idx | The index of the activity to get (the first activity having the index 0).

Returns
  A pointer to a LinphonePresenceActivity object if successful, NULL otherwise.

int linphone_presence_person_add_activity | ( | LinphonePresencePerson * | person,
|  | LinphonePresenceActivity * | activity
| ) |  |

Adds an activity to a presence person.

Parameters

  [in] | person | The LinphonePresencePerson object for which to add an activity.
  [in] | activity | The LinphonePresenceActivity object to add to the person.

Returns
  0 if successful, a value < 0 in case of error.

int linphone_presence_person_clear_activities | ( | LinphonePresencePerson * | person | ) |

Clears the activities of a presence person.

Parameters

  [in] | person | The LinphonePresencePerson object for which to clear the activities.

Returns
  0 if successful, a value < 0 in case of error.

unsigned int linphone_presence_person_get_nb_notes | ( | const LinphonePresencePerson * | person | ) |

Gets the number of notes included in the presence person.

Parameters

  [in] | person | The LinphonePresencePerson object to get the number of notes from.

Returns
  The number of notes included in the LinphonePresencePerson object.

LinphonePresenceNote* linphone_presence_person_get_nth_note | ( | const LinphonePresencePerson * | person,
|  | unsigned int | idx
| ) |  |

Gets the nth note of a presence person.

Parameters

  [in] | person | The LinphonePresencePerson object to get the note from.
  [in] | idx | The index of the note to get (the first note having the index 0).

Returns
  A pointer to a LinphonePresenceNote object if successful, NULL otherwise.

int linphone_presence_person_add_note | ( | LinphonePresencePerson * | person,
|  | LinphonePresenceNote * | note
| ) |  |

Adds a note to a presence person.

Parameters

  [in] | person | The LinphonePresencePerson object for which to add a note.
  [in] | note | The LinphonePresenceNote object to add to the person.

Returns
  0 if successful, a value < 0 in case of error.

int linphone_presence_person_clear_notes | ( | LinphonePresencePerson * | person | ) |

Clears the notes of a presence person.

Parameters

  [in] | person | The LinphonePresencePerson object for which to clear the notes.

Returns
  0 if successful, a value < 0 in case of error.

unsigned int linphone_presence_person_get_nb_activities_notes | ( | const LinphonePresencePerson * | person | ) |

Gets the number of activities notes included in the presence person.

Parameters

  [in] | person | The LinphonePresencePerson object to get the number of activities notes from.

Returns
  The number of activities notes included in the LinphonePresencePerson object.

LinphonePresenceNote* linphone_presence_person_get_nth_activities_note | ( | const LinphonePresencePerson * | person,
|  | unsigned int | idx
| ) |  |

Gets the nth activities note of a presence person.

Parameters

  [in] | person | The LinphonePresencePerson object to get the activities note from.
  [in] | idx | The index of the activities note to get (the first note having the index 0).

Returns
  A pointer to a LinphonePresenceNote object if successful, NULL otherwise.

int linphone_presence_person_add_activities_note | ( | LinphonePresencePerson * | person,
|  | LinphonePresenceNote * | note
| ) |  |

Adds an activities note to a presence person.

Parameters

  [in] | person | The LinphonePresencePerson object for which to add an activities note.
  [in] | note | The LinphonePresenceNote object to add to the person.

Returns
  0 if successful, a value < 0 in case of error.

int linphone_presence_person_clear_activities_notes | ( | LinphonePresencePerson * | person | ) |

Clears the activities notes of a presence person.

Parameters

  [in] | person | The LinphonePresencePerson object for which to clear the activities notes.

Returns
  0 if successful, a value < 0 in case of error.

LinphonePresenceActivity* linphone_presence_activity_new | ( | LinphonePresenceActivityType | acttype,
|  | const char * | description
| ) |  |

Creates a presence activity.

Parameters

  [in] | acttype | The LinphonePresenceActivityType to set for the activity.
  [in] | description | An additional description of the activity to set for the activity. Can be NULL if no additional description is to be added.

Returns
  The created presence activity, NULL on error.

char* linphone_presence_activity_to_string | ( | const LinphonePresenceActivity * | activity | ) |

Gets the string representation of a presence activity.

Parameters

  [in] | activity | A pointer to the LinphonePresenceActivity object for which to get a string representation.

Returns
  A pointer a dynamically allocated string representing the given activity.

The returned string is to be freed by calling ms_free().

LinphonePresenceActivityType linphone_presence_activity_get_type | ( | const LinphonePresenceActivity * | activity | ) |

Gets the activity type of a presence activity.

Parameters

  [in] | activity | A pointer to the LinphonePresenceActivity for which to get the type.

Returns
  The LinphonePresenceActivityType of the activity.

int linphone_presence_activity_set_type | ( | LinphonePresenceActivity * | activity,
|  | LinphonePresenceActivityType | acttype
| ) |  |

Sets the type of activity of a presence activity.

Parameters

  [in] | activity | The LinphonePresenceActivity for which to set for the activity type.
  [in] | acttype | The activity type to set for the activity.

Returns
  0 if successful, a value < 0 in case of error.

const char* linphone_presence_activity_get_description | ( | const LinphonePresenceActivity * | activity | ) |

Gets the description of a presence activity.

Parameters

  [in] | activity | A pointer to the LinphonePresenceActivity for which to get the description.

Returns
  A pointer to the description string of the presence activity, or NULL if no description is specified.

int linphone_presence_activity_set_description | ( | LinphonePresenceActivity * | activity,
|  | const char * | description
| ) |  |

Sets the description of a presence activity.

Parameters

  [in] | activity | The LinphonePresenceActivity object for which to set the description.
  [in] | description | An additional description of the activity. Can be NULL if no additional description is to be added.

Returns
  0 if successful, a value < 0 in case of error.

LinphonePresenceNote* linphone_presence_note_new | ( | const char * | content,
|  | const char * | lang
| ) |  |

Creates a presence note.

Parameters

  [in] | content | The content of the note to be created.
  [in] | lang | The language of the note to be created. Can be NULL if no language is to be specified for the note.

Returns
  The created presence note, NULL on error.

const char* linphone_presence_note_get_content | ( | const LinphonePresenceNote * | note | ) |

Gets the content of a presence note.

Parameters

  [in] | note | A pointer to the LinphonePresenceNote for which to get the content.

Returns
  A pointer to the content of the presence note.

int linphone_presence_note_set_content | ( | LinphonePresenceNote * | note,
|  | const char * | content
| ) |  |

Sets the content of a presence note.

Parameters

  [in] | note | The LinphonePresenceNote object for which to set the content.
  [in] | content | The content of the note.

Returns
  0 if successful, a value < 0 in case of error.

const char* linphone_presence_note_get_lang | ( | const LinphonePresenceNote * | note | ) |

Gets the language of a presence note.

Parameters

  [in] | note | A pointer to the LinphonePresenceNote for which to get the language.

Returns
  A pointer to the language string of the presence note, or NULL if no language is specified.

int linphone_presence_note_set_lang | ( | LinphonePresenceNote * | note,
|  | const char * | lang
| ) |  |

Sets the language of a presence note.

Parameters

  [in] | note | The LinphonePresenceNote object for which to set the language.
  [in] | lang | The language of the note.

Returns
  0 if successful, a value < 0 in case of error.

LinphonePresenceModel* linphone_presence_model_ref | ( | LinphonePresenceModel * | model | ) |

Increase the reference count of the LinphonePresenceModel object.

Parameters

  [in] | model | The LinphonePresenceModel object for which the reference count is to be increased.

Returns
  The LinphonePresenceModel object with the increased reference count.

LinphonePresenceModel* linphone_presence_model_unref | ( | LinphonePresenceModel * | model | ) |

Decrease the reference count of the LinphonePresenceModel object and destroy it if it reaches 0.

Parameters

  [in] | model | The LinphonePresenceModel object for which the reference count is to be decreased.

Returns
  The LinphonePresenceModel object if the reference count is still positive, NULL if the object has been destroyed.

void linphone_presence_model_set_user_data | ( | LinphonePresenceModel * | model,
|  | void * | user_data
| ) |  |

Sets the user data of a LinphonePresenceModel object.

Parameters

  [in] | model | The LinphonePresenceModel object for which to set the user data.
  [in] | user_data | A pointer to the user data to set.

void* linphone_presence_model_get_user_data | ( | const LinphonePresenceModel * | model | ) |

Gets the user data of a LinphonePresenceModel object.

Parameters

  [in] | model | The LinphonePresenceModel object for which to get the user data.

Returns
  A pointer to the user data.

LinphonePresenceService* linphone_presence_service_ref | ( | LinphonePresenceService * | service | ) |

Increase the reference count of the LinphonePresenceService object.

Parameters

  [in] | service | The LinphonePresenceService object for which the reference count is to be increased.

Returns
  The LinphonePresenceService object with the increased reference count.

LinphonePresenceService* linphone_presence_service_unref | ( | LinphonePresenceService * | service | ) |

Decrease the reference count of the LinphonePresenceService object and destroy it if it reaches 0.

Parameters

  [in] | service | The LinphonePresenceService object for which the reference count is to be decreased.

Returns
  The LinphonePresenceService object if the reference count is still positive, NULL if the object has been destroyed.

void linphone_presence_service_set_user_data | ( | LinphonePresenceService * | service,
|  | void * | user_data
| ) |  |

Sets the user data of a LinphonePresenceService object.

Parameters

  [in] | service | The LinphonePresenceService object for which to set the user data.
  [in] | user_data | A pointer to the user data to set.

void* linphone_presence_service_get_user_data | ( | const LinphonePresenceService * | service | ) |

Gets the user data of a LinphonePresenceService object.

Parameters

  [in] | service | The LinphonePresenceService object for which to get the user data.

Returns
  A pointer to the user data.

LinphonePresencePerson* linphone_presence_person_ref | ( | LinphonePresencePerson * | person | ) |

Increase the reference count of the LinphonePresencePerson object.

Parameters

  [in] | person | The LinphonePresencePerson object for which the reference count is to be increased.

Returns
  The LinphonePresencePerson object with the increased reference count.

LinphonePresencePerson* linphone_presence_person_unref | ( | LinphonePresencePerson * | person | ) |

Decrease the reference count of the LinphonePresencePerson object and destroy it if it reaches 0.

Parameters

  [in] | person | The LinphonePresencePerson object for which the reference count is to be decreased.

Returns
  The LinphonePresencePerson object if the reference count is still positive, NULL if the object has been destroyed.

void linphone_presence_person_set_user_data | ( | LinphonePresencePerson * | person,
|  | void * | user_data
| ) |  |

Sets the user data of a LinphonePresencePerson object.

Parameters

  [in] | person | The LinphonePresencePerson object for which to set the user data.
  [in] | user_data | A pointer to the user data to set.

void* linphone_presence_person_get_user_data | ( | const LinphonePresencePerson * | person | ) |

Gets the user data of a LinphonePresencePerson object.

Parameters

  [in] | person | The LinphonePresencePerson object for which to get the user data.

Returns
  A pointer to the user data.

LinphonePresenceActivity* linphone_presence_activity_ref | ( | LinphonePresenceActivity * | activity | ) |

Increase the reference count of the LinphonePresenceActivity object.

Parameters

  [in] | activity | The LinphonePresenceActivity object for which the reference count is to be increased.

Returns
  The LinphonePresenceActivity object with the increased reference count.

LinphonePresenceActivity* linphone_presence_activity_unref | ( | LinphonePresenceActivity * | activity | ) |

Decrease the reference count of the LinphonePresenceActivity object and destroy it if it reaches 0.

Parameters

  [in] | activity | The LinphonePresenceActivity object for which the reference count is to be decreased.

Returns
  The LinphonePresenceActivity object if the reference count is still positive, NULL if the object has been destroyed.

void linphone_presence_activity_set_user_data | ( | LinphonePresenceActivity * | activity,
|  | void * | user_data
| ) |  |

Sets the user data of a LinphonePresenceActivity object.

Parameters

  [in] | activity | The LinphonePresenceActivity object for which to set the user data.
  [in] | user_data | A pointer to the user data to set.

void* linphone_presence_activity_get_user_data | ( | const LinphonePresenceActivity * | activity | ) |

Gets the user data of a LinphonePresenceActivity object.

Parameters

  [in] | activity | The LinphonePresenceActivity object for which to get the user data.

Returns
  A pointer to the user data.

LinphonePresenceNote* linphone_presence_note_ref | ( | LinphonePresenceNote * | note | ) |

Increase the reference count of the LinphonePresenceNote object.

Parameters

  [in] | note | The LinphonePresenceNote object for which the reference count is to be increased.

Returns
  The LinphonePresenceNote object with the increased reference count.

LinphonePresenceNote* linphone_presence_note_unref | ( | LinphonePresenceNote * | note | ) |

Decrease the reference count of the LinphonePresenceNote object and destroy it if it reaches 0.

Parameters

  [in] | note | The LinphonePresenceNote object for which the reference count is to be decreased.

Returns
  The LinphonePresenceNote object if the reference count is still positive, NULL if the object has been destroyed.

void linphone_presence_note_set_user_data | ( | LinphonePresenceNote * | note,
|  | void * | user_data
| ) |  |

Sets the user data of a LinphonePresenceNote object.

Parameters

  [in] | note | The LinphonePresenceNote object for which to set the user data.
  [in] | user_data | A pointer to the user data to set.

void* linphone_presence_note_get_user_data | ( | const LinphonePresenceNote * | note | ) |

Gets the user data of a LinphonePresenceNote object.

Parameters

  [in] | note | The LinphonePresenceNote object for which to get the user data.

Returns
  A pointer to the user data.

LinphonePresenceActivity* linphone_core_create_presence_activity | ( | LinphoneCore * | lc,
|  | LinphonePresenceActivityType | acttype,
|  | const char * | description
| ) |  |

Create a LinphonePresenceActivity with the given type and description.

Parameters

  [in] | lc | LinphoneCore object.
  [in] | acttype | The LinphonePresenceActivityType to set for the activity.
  [in] | description | An additional description of the activity to set for the activity. Can be NULL if no additional description is to be added.

Returns
  The created LinphonePresenceActivity object.

LinphonePresenceModel* linphone_core_create_presence_model | ( | LinphoneCore * | lc | ) |

Create a default LinphonePresenceModel.

Parameters

  [in] | lc | LinphoneCore object.

Returns
  The created LinphonePresenceModel object.

LinphonePresenceModel* linphone_core_create_presence_model_with_activity | ( | LinphoneCore * | lc,
|  | LinphonePresenceActivityType | acttype,
|  | const char * | description
| ) |  |

Create a LinphonePresenceModel with the given activity type and activity description.

Parameters

  [in] | lc | LinphoneCore object.
  [in] | acttype | The LinphonePresenceActivityType to set for the activity of the created model.
  [in] | description | An additional description of the activity to set for the activity. Can be NULL if no additional description is to be added.

Returns
  The created LinphonePresenceModel object.

LinphonePresenceModel* linphone_core_create_presence_model_with_activity_and_note | ( | LinphoneCore * | lc,
|  | LinphonePresenceActivityType | acttype,
|  | const char * | description,
|  | const char * | note,
|  | const char * | lang
| ) |  |

Create a LinphonePresenceModel with the given activity type, activity description, note content and note language.

Parameters

  [in] | lc | LinphoneCore object.
  [in] | acttype | The LinphonePresenceActivityType to set for the activity of the created model.
  [in] | description | An additional description of the activity to set for the activity. Can be NULL if no additional description is to be added.
  [in] | note | The content of the note to be added to the created model.
  [in] | lang | The language of the note to be added to the created model.

Returns
  The created LinphonePresenceModel object.

LinphonePresenceNote* linphone_core_create_presence_note | ( | LinphoneCore * | lc,
|  | const char * | content,
|  | const char * | lang
| ) |  |

Create a LinphonePresenceNote with the given content and language.

Parameters

  [in] | lc | LinphoneCore object.
  [in] | content | The content of the note to be created.
  [in] | lang | The language of the note to be created.

Returns
  The created LinphonePresenceNote object.

LinphonePresencePerson* linphone_core_create_presence_person | ( | LinphoneCore * | lc,
|  | const char * | id
| ) |  |

Create a LinphonePresencePerson with the given id.

Parameters

  [in] | lc | LinphoneCore object
  [in] | id | The id of the person to be created.

Returns
  The created LinphonePresencePerson object.

LinphonePresenceService* linphone_core_create_presence_service | ( | LinphoneCore * | lc,
|  | const char * | id,
|  | LinphonePresenceBasicStatus | basic_status,
|  | const char * | contact
| ) |  |

Create a LinphonePresenceService with the given id, basic status and contact.

Parameters

  [in] | lc | LinphoneCore object.
  [in] | id | The id of the service to be created.
  [in] | basic_status | The basic status of the service to be created.
  [in] | contact | A string containing a contact information corresponding to the service to be created.

Returns
  The created LinphonePresenceService object.