+ bool_t low_bandwidth;
+};
+
+struct _LinphoneCallLog{
+ struct _LinphoneCore *lc;
+ LinphoneCallDir dir; /**< The direction of the call*/
+ LinphoneCallStatus status; /**< The status of the call*/
+ LinphoneAddress *from; /**<Originator of the call as a LinphoneAddress object*/
+ LinphoneAddress *to; /**<Destination of the call as a LinphoneAddress object*/
+ char start_date[128]; /**<Human readable string containing the start date*/
+ int duration; /**<Duration of the call in seconds*/
+ char *refkey;
+ void *user_pointer;
+ rtp_stats_t local_stats;
+ rtp_stats_t remote_stats;
+ float quality;
+ time_t start_date_time; /**Start date of the call in seconds as expressed in a time_t */
+ char* call_id; /**unique id of a call*/
+ bool_t video_enabled;
+};
+
+typedef struct _CallCallbackObj
+{
+ LinphoneCallCbFunc _func;
+ void * _user_data;
+}CallCallbackObj;
+
+static const int linphone_call_magic=0x3343;
+
+typedef enum _LinphoneChatMessageDir{
+ LinphoneChatMessageIncoming,
+ LinphoneChatMessageOutgoing
+} LinphoneChatMessageDir;
+
+struct _LinphoneChatMessage {
+ LinphoneChatRoom* chat_room;
+ LinphoneChatMessageDir dir;
+ char* message;
+ LinphoneChatMessageStateChangeCb cb;
+ void* cb_ud;
+ void* message_userdata;
+ char* external_body_url;
+ LinphoneAddress *from;
+ LinphoneAddress *to;
+ time_t time;
+ SalCustomHeader *custom_headers;
+ LinphoneChatMessageState state;
+ bool_t is_read;