liblinphone
3.6.1
|
Typedefs | |
typedef enum _LinphoneOnlineStatus | LinphoneOnlineStatus |
typedef struct _LinphoneFriend | LinphoneFriend |
typedef enum LinphonePresenceBasicStatus | LinphonePresenceBasicStatus |
typedef enum LinphonePresenceActivityType | LinphonePresenceActivityType |
typedef struct _LinphonePresenceModel | LinphonePresenceModel |
typedef struct _LinphonePresenceActivity | LinphonePresenceActivity |
typedef struct _LinphonePresenceNote | LinphonePresenceNote |
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:
friends status changes are reported by callback LinphoneCoreVTable.notify_presence_recv
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()
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
typedef enum _LinphoneOnlineStatus LinphoneOnlineStatus |
Enum describing remote friend status
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 _LinphonePresenceActivity LinphonePresenceActivity |
Presence activity type holding information about a presence activity.
typedef struct _LinphonePresenceNote LinphonePresenceNote |
Presence note type holding information about a presence note.
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_request |
LinphoneSPDeny |
Rejects incoming subscription request. |
LinphoneSPAccept |
Automatically accepts a subscription request. |
Enum describing remote friend status
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 |
Basic status as defined in section 4.1.4 of RFC 3863
Activities as defined in section 3.2 of RFC 4480
LINPHONE_PUBLIC LinphoneFriend* linphone_friend_new | ( | ) |
Contructor
LINPHONE_PUBLIC LinphoneFriend* linphone_friend_new_with_addr | ( | const char * | addr | ) |
Contructor same as linphone_friend_new() + linphone_friend_set_addr()
addr | a buddy address, must be a sip uri like sip:joe@s ip.l inpho ne.o rg |
LINPHONE_PUBLIC void linphone_friend_destroy | ( | LinphoneFriend * | lf | ) |
Destructor
lf | LinphoneFriend object |
LINPHONE_PUBLIC int linphone_friend_set_addr | ( | LinphoneFriend * | fr, |
const LinphoneAddress * | address | ||
) |
set LinphoneAddress for this friend
fr | LinphoneFriend object |
address | LinphoneAddress |
LINPHONE_PUBLIC int linphone_friend_set_name | ( | LinphoneFriend * | lf, |
const char * | name | ||
) |
set the display name for this friend
lf | LinphoneFriend object |
name |
LINPHONE_PUBLIC const LinphoneAddress* linphone_friend_get_address | ( | const LinphoneFriend * | lf | ) |
LINPHONE_PUBLIC bool_t linphone_friend_subscribes_enabled | ( | const LinphoneFriend * | lf | ) |
get subscription flag value
lf | LinphoneFriend object |
LINPHONE_PUBLIC int linphone_friend_enable_subscribes | ( | LinphoneFriend * | fr, |
bool_t | val | ||
) |
Configure LinphoneFriend to subscribe to presence information
fr | LinphoneFriend object |
val | if TRUE this friend will receive subscription message |
LINPHONE_PUBLIC int linphone_friend_set_inc_subscribe_policy | ( | LinphoneFriend * | fr, |
LinphoneSubscribePolicy | pol | ||
) |
Configure incoming subscription policy for this friend.
fr | LinphoneFriend object |
pol | LinphoneSubscribePolicy policy to apply. |
LINPHONE_PUBLIC LinphoneSubscribePolicy linphone_friend_get_inc_subscribe_policy | ( | const LinphoneFriend * | lf | ) |
get current subscription policy for this LinphoneFriend
lf | LinphoneFriend object |
LINPHONE_PUBLIC 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.
LINPHONE_PUBLIC void linphone_friend_done | ( | LinphoneFriend * | fr | ) |
Commits modification made to the friend configuration.
fr | LinphoneFriend object |
LINPHONE_PUBLIC LinphoneOnlineStatus linphone_friend_get_status | ( | const LinphoneFriend * | lf | ) |
Get the status of a friend.
[in] | lf | A LinphoneFriend object |
LINPHONE_PUBLIC const LinphonePresenceModel* linphone_friend_get_presence_model | ( | LinphoneFriend * | lf | ) |
Get the presence information of a friend.
[in] | lf | A LinphoneFriend object |
LINPHONE_PUBLIC const char* linphone_online_status_to_string | ( | LinphoneOnlineStatus | ss | ) |
Return humain readable presence status
ss |
LINPHONE_PUBLIC void linphone_core_set_presence_info | ( | LinphoneCore * | lc, |
int | minutes_away, | ||
const char * | alternative_contact, | ||
LinphoneOnlineStatus | os | ||
) |
Set my presence status.
[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 |
LINPHONE_PUBLIC void linphone_core_set_presence_model | ( | LinphoneCore * | lc, |
LinphonePresenceModel * | presence | ||
) |
Set my presence status.
[in] | lc | LinphoneCore object |
[in] | presence | LinphonePresenceModel |
LINPHONE_PUBLIC LinphoneOnlineStatus linphone_core_get_presence_info | ( | const LinphoneCore * | lc | ) |
Get my presence status.
[in] | lc | LinphoneCore object |
LINPHONE_PUBLIC LinphonePresenceModel* linphone_core_get_presence_model | ( | const LinphoneCore * | lc | ) |
Get my presence status.
[in] | lc | LinphoneCore object |
LINPHONE_PUBLIC 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.
lc | LinphoneCore object |
fr | LinphoneFriend to add |
LINPHONE_PUBLIC void linphone_core_remove_friend | ( | LinphoneCore * | lc, |
LinphoneFriend * | fr | ||
) |
remove a friend from the buddy list
lc | LinphoneCore object |
fr | LinphoneFriend to add |
LINPHONE_PUBLIC void linphone_core_reject_subscriber | ( | LinphoneCore * | lc, |
LinphoneFriend * | lf | ||
) |
Black list a friend. same as linphone_friend_set_inc_subscribe_policy() with LinphoneSPDeny policy;
lc | LinphoneCore object |
lf | LinphoneFriend to add |
LINPHONE_PUBLIC const MSList* linphone_core_get_friend_list | ( | const LinphoneCore * | lc | ) |
get Buddy list of LinphoneFriend
lc | LinphoneCore object |
LINPHONE_PUBLIC void linphone_core_notify_all_friends | ( | LinphoneCore * | lc, |
LinphonePresenceModel * | presence | ||
) |
notify all friends that have subscribed
lc | LinphoneCore object |
os | LinphoneOnlineStatus to notify |
LINPHONE_PUBLIC LinphonePresenceModel* linphone_presence_model_new | ( | void | ) |
Creates a default presence model.
The created presence model is considered 'offline'.
LINPHONE_PUBLIC LinphonePresenceModel* linphone_presence_model_new_with_activity | ( | LinphonePresenceActivityType | activity, |
const char * | description | ||
) |
Creates a presence model specifying an activity.
[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. |
The created presence model has the activity specified in the parameters.
LINPHONE_PUBLIC 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.
[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. |
The created presence model has the activity and the note specified in the parameters.
LinphonePresenceModel* linphone_presence_model_ref | ( | LinphonePresenceModel * | model | ) |
Increase the reference count of the LinphonePresenceModel object.
[in] | model | The LinphonePresenceModel object for which the reference count is to be increased. |
LinphonePresenceModel* linphone_presence_model_unref | ( | LinphonePresenceModel * | model | ) |
Decrease the reference count of the LinphonePresenceModel object and destroy it if it reaches 0.
[in] | model | The LinphonePresenceModel object for which the reference count is to be decreased. |
void linphone_presence_model_set_user_data | ( | LinphonePresenceModel * | model, |
void * | user_data | ||
) |
Sets the user data of a LinphonePresenceModel object.
[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 | ( | LinphonePresenceModel * | model | ) |
Gets the user data of a LinphonePresenceModel object.
[in] | model | The LinphonePresenceModel object for which to get the user data. |
LINPHONE_PUBLIC LinphonePresenceBasicStatus linphone_presence_model_get_basic_status | ( | const LinphonePresenceModel * | model | ) |
Gets the basic status of a presence model.
[in] | model | The LinphonePresenceModel object to get the basic status from. |
LINPHONE_PUBLIC time_t linphone_presence_model_get_timestamp | ( | const LinphonePresenceModel * | model | ) |
Gets the timestamp of a presence model.
[in] | model | The LinphonePresenceModel object to get the timestamp from. |
LINPHONE_PUBLIC char* linphone_presence_model_get_contact | ( | const LinphonePresenceModel * | model | ) |
Gets the contact of a presence model.
[in] | model | The LinphonePresenceModel object to get the contact from. |
The returned string is to be freed by calling ms_free().
LINPHONE_PUBLIC void linphone_presence_model_set_contact | ( | LinphonePresenceModel * | model, |
const char * | contact | ||
) |
Sets the contact of a presence model.
[in] | model | The LinphonePresenceModel object for which to set the contact. |
[in] | contact | The contact string to set. |
LINPHONE_PUBLIC unsigned int linphone_presence_model_nb_activities | ( | const LinphonePresenceModel * | model | ) |
Gets the number of activities included in the presence model.
[in] | model | The LinphonePresenceModel object to get the number of activities from. |
LINPHONE_PUBLIC LinphonePresenceActivity* linphone_presence_model_get_nth_activity | ( | const LinphonePresenceModel * | model, |
unsigned int | idx | ||
) |
Gets the nth activity of a presence model.
[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). |
LINPHONE_PUBLIC LinphonePresenceActivity* linphone_presence_model_get_activity | ( | const LinphonePresenceModel * | model | ) |
Gets the first activity of a presence model (there is usually only one).
[in] | model | The LinphonePresenceModel object to get the activity from. |
LINPHONE_PUBLIC 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).
[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. |
LINPHONE_PUBLIC 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).
[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. |
LINPHONE_PUBLIC int linphone_presence_model_add_note | ( | LinphonePresenceModel * | model, |
const char * | note_content, | ||
const char * | lang | ||
) |
Adds a note to a presence model.
[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. |
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.
LINPHONE_PUBLIC int linphone_presence_model_clear_notes | ( | LinphonePresenceModel * | model | ) |
Clears all the notes of a presence model.
[in] | model | The LinphonePresenceModel for which to clear notes. |
LinphonePresenceActivity* linphone_presence_activity_ref | ( | LinphonePresenceActivity * | activity | ) |
Increase the reference count of the LinphonePresenceActivity object.
[in] | activity | The LinphonePresenceActivity object for which the reference count is to be increased. |
LinphonePresenceActivity* linphone_presence_activity_unref | ( | LinphonePresenceActivity * | activity | ) |
Decrease the reference count of the LinphonePresenceActivity object and destroy it if it reaches 0.
[in] | activity | The LinphonePresenceActivity object for which the reference count is to be decreased. |
void linphone_presence_activity_set_user_data | ( | LinphonePresenceActivity * | activity, |
void * | user_data | ||
) |
Sets the user data of a LinphonePresenceActivity object.
[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 | ( | LinphonePresenceActivity * | activity | ) |
Gets the user data of a LinphonePresenceActivity object.
[in] | activity | The LinphonePresenceActivity object for which to get the user data. |
LINPHONE_PUBLIC char* linphone_presence_activity_to_string | ( | const LinphonePresenceActivity * | activity | ) |
Gets the string representation of a presence activity.
[in] | activity | A pointer to the LinphonePresenceActivity object for which to get a string representation. |
The returned string is to be freed by calling ms_free().
LINPHONE_PUBLIC LinphonePresenceActivityType linphone_presence_activity_get_type | ( | const LinphonePresenceActivity * | activity | ) |
Gets the activity type of a presence activity.
[in] | activity | A pointer to the LinphonePresenceActivity for which to get the type. |
LINPHONE_PUBLIC const char* linphone_presence_activity_get_description | ( | const LinphonePresenceActivity * | activity | ) |
Gets the description of a presence activity.
[in] | activity | A pointer to the LinphonePresenceActivity for which to get the description. |
LinphonePresenceNote* linphone_presence_note_ref | ( | LinphonePresenceNote * | note | ) |
Increase the reference count of the LinphonePresenceNote object.
[in] | note | The LinphonePresenceNote object for which the reference count is to be increased. |
LinphonePresenceNote* linphone_presence_note_unref | ( | LinphonePresenceNote * | note | ) |
Decrease the reference count of the LinphonePresenceNote object and destroy it if it reaches 0.
[in] | note | The LinphonePresenceNote object for which the reference count is to be decreased. |
void linphone_presence_note_set_user_data | ( | LinphonePresenceNote * | note, |
void * | user_data | ||
) |
Sets the user data of a LinphonePresenceNote object.
[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 | ( | LinphonePresenceNote * | note | ) |
Gets the user data of a LinphonePresenceNote object.
[in] | note | The LinphonePresenceNote object for which to get the user data. |
LINPHONE_PUBLIC const char* linphone_presence_note_get_content | ( | const LinphonePresenceNote * | note | ) |
Gets the content of a presence note.
[in] | note | A pointer to the LinphonePresenceNote for which to get the content. |
LINPHONE_PUBLIC const char* linphone_presence_note_get_lang | ( | const LinphonePresenceNote * | note | ) |
Gets the language of a presence note.
[in] | note | A pointer to the LinphonePresenceNote for which to get the language. |