#ifndef PJSUA2_WRAPPER_H
#define PJSUA2_WRAPPER_H
#ifdef __cplusplus
extern "C" {
#endif
int pjsua2_create_endpoint();
int pjsua2_init_endpoint(int log_level);
int pjsua2_create_transport(int port);
int pjsua2_start();
void pjsua2_destroy();
int pjsua2_create_account(
const char* id_uri,
const char* registrar_uri,
const char* username,
const char* password,
void (*on_reg_state)(int is_registered),
void (*on_incoming_call)(int call_id, const char* remote_uri)
);
int pjsua2_create_account_simple(
const char* id_uri,
const char* registrar_uri,
const char* username,
const char* password
);
int pjsua2_make_call(int acc_id, const char* dst_uri);
int pjsua2_answer_call(int call_id, int code);
int pjsua2_hangup_call(int call_id);
int pjsua2_get_audio_device_count();
int pjsua2_get_audio_device_info(int index, char* name, int name_size,
int* is_capture, int* is_playback);
int pjsua2_set_audio_devices(int capture_dev, int playback_dev);
void pjsua2_set_callbacks(
void (*on_reg_state)(int acc_id, int is_registered),
void (*on_incoming_call)(int acc_id, int call_id, const char* remote_uri),
void (*on_call_state)(int call_id, int state),
void (*on_call_media_state)(int call_id, int state)
);
int pjsua2_get_call_quality(int call_id,
double* rx_level,
double* tx_level,
double* rx_quality,
double* rx_loss_percent,
int* rtt_ms,
double* jitter_ms,
double* mos_score,
char* codec_name,
int codec_name_size);
int pjsua2_get_call_audio_devices(int call_id, int* capture_dev, int* playback_dev);
int pjsua2_call_has_media(int call_id);
int pjsua2_answer_call_with_audio_info(int call_id, int code);
int pjsua2_get_active_call_count();
int pjsua2_cleanup_calls();
int pjsua2_hold_call(int call_id);
int pjsua2_unhold_call(int call_id);
int pjsua2_is_call_on_hold(int call_id);
int pjsua2_mute_call(int call_id, int mute);
int pjsua2_is_call_muted(int call_id);
int pjsua2_send_dtmf(int call_id, const char* digits);
int pjsua2_conference_calls(int call_id1, int call_id2);
int pjsua2_get_conf_port(int call_id);
int pjsua2_get_call_detailed_info(int call_id,
int* is_on_hold,
int* is_muted,
int* conf_port);
int pjsua2_test_basic();
int pjsua2_test_object_creation();
int pjsua2_test_account_config();
int pjsua2_test_create_account();
int pjsua2_test_endpoint_state();
#ifdef __cplusplus
}
#endif
#endif