char * linphone_call_log_to_str(LinphoneCallLog *cl);
+/**
+ * The LinphoneCallParams is an object contaning various call related parameters.
+ * It can be used to retrieve parameters from a currently running call or modify the call's characterisitcs
+ * dynamically.
+**/
+struct _LinphoneCallParams;
+typedef struct _LinphoneCallParams LinphoneCallParams;
+
+void linphone_call_params_enable_video(LinphoneCallParams *cp, bool_t enabled);
+void linphone_call_params_destroy(LinphoneCallParams *cp);
+
+/**
+ * Enum describing failure reasons.
+**/
+enum _LinphoneError{
+ LinphoneErrorNone,
+ LinphoneErrorNoResponse, /**<No response received from remote*/
+ LinphoneErrorBadCredentials /**<Authentication failed due to bad or missing credentials*/
+};
+
+typedef enum _LinphoneError LinphoneError;
+
+const char *linphone_error_to_string(LinphoneError err);
+
/**
* The LinphoneCall object represents a call issued or received by the LinphoneCore
**/
const char *linphone_call_get_refer_to(const LinphoneCall *call);
bool_t linphone_call_has_transfer_pending(const LinphoneCall *call);
int linphone_call_get_duration(const LinphoneCall *call);
+const LinphoneCallParams linphone_call_get_current_params(const LinphoneCall *call);
+void linphone_call_enable_camera(LinphoneCall *lc, bool_t enabled);
+bool_t linphone_call_camera_enabled(const LinphoneCall *lc);
+LinphoneError linphone_call_get_error(const LinphoneCall *call);
void *linphone_call_get_user_pointer(LinphoneCall *call);
void linphone_call_set_user_pointer(LinphoneCall *call, void *user_pointer);
bool_t linphone_proxy_config_get_dial_escape_plus(const LinphoneProxyConfig *cfg);
const char * linphone_proxy_config_get_dial_prefix(const LinphoneProxyConfig *cfg);
+LinphoneError linphone_proxy_config_get_error(const LinphoneProxyConfig *cfg);
+
/* destruction is called automatically when removing the proxy config */
void linphone_proxy_config_destroy(LinphoneProxyConfig *cfg);
void linphone_proxy_config_set_sip_setup(LinphoneProxyConfig *cfg, const char *type);
LinphoneCall * linphone_core_invite_address(LinphoneCore *lc, const LinphoneAddress *addr);
+LinphoneCall * linphone_core_invite_with_params(LinphoneCore *lc, const char *url, const LinphoneCallParams *params);
+
+LinphoneCall * linphone_core_invite_address_with_params(LinphoneCore *lc, const LinphoneAddress *addr, const LinphoneCallParams *params);
+
int linphone_core_transfer_call(LinphoneCore *lc, LinphoneCall *call, const char *refer_to);
bool_t linphone_core_inc_invite_pending(LinphoneCore*lc);
int linphone_core_resume_call(LinphoneCore *lc, LinphoneCall *call);
+int linphone_core_update_call(LinphoneCore *lc, LinphoneCall *call, LinphoneCallParams *params);
+
+LinphoneCallParams *linphone_core_create_default_call_parameters(LinphoneCore *lc);
+
LinphoneCall *linphone_core_get_call_by_remote_address(LinphoneCore *lc, const char *remote_address);
void linphone_core_send_dtmf(LinphoneCore *lc,char dtmf);