chenqiyang
2022-09-02 6a99d9bf65aa5878cb409945ed2bdbdcb916d047
Shared.IOS.HDLLinphoneSDK/Shared.IOS.HDLLinphoneSDK/Library/linphonetester.framework/Headers/liblinphone_tester.h
@@ -48,6 +48,7 @@
extern test_suite_t account_creator_test_suite;
extern test_suite_t call_test_suite;
extern test_suite_t push_incoming_call_test_suite;
#if VIDEO_ENABLED
   extern test_suite_t call_video_test_suite;
@@ -65,11 +66,13 @@
extern test_suite_t flexisip_test_suite;
extern test_suite_t group_chat_test_suite;
extern test_suite_t secure_group_chat_test_suite;
extern test_suite_t ephemeral_group_chat_test_suite;
extern test_suite_t log_collection_test_suite;
extern test_suite_t message_test_suite;
extern test_suite_t session_timers_test_suite;
extern test_suite_t multi_call_test_suite;
extern test_suite_t multicast_call_test_suite;
extern test_suite_t audio_video_conference_test_suite;
extern test_suite_t multipart_test_suite;
extern test_suite_t offeranswer_test_suite;
extern test_suite_t player_test_suite;
@@ -91,18 +94,25 @@
extern test_suite_t call_secure_test_suite;
extern test_suite_t call_with_rtp_bundle_test_suite;
extern test_suite_t shared_core_test_suite;
extern test_suite_t lime_server_auth_test_suite;
extern test_suite_t vfs_encryption_test_suite;
extern test_suite_t local_conference_test_suite;
extern test_suite_t external_domain_test_suite;
#ifdef VCARD_ENABLED
   extern test_suite_t vcard_test_suite;
#endif
extern test_suite_t audio_bypass_suite;
extern test_suite_t audio_routes_test_suite;
extern test_suite_t audio_quality_test_suite;
#if HAVE_SIPP
   extern test_suite_t complex_sip_call_test_suite;
#endif
extern int manager_count;
extern const char * liblinphone_tester_ipv6_probing_address;
extern int liblinphone_tester_ipv6_available(void);
extern int liblinphone_tester_ipv4_available(void);
@@ -136,7 +146,8 @@
 */
extern void liblinphone_tester_clear_accounts(void);
extern const char* flexisip_tester_dns_server;
extern bctbx_list_t *flexisip_tester_dns_ip_addresses;
extern const char* test_domain;
extern const char* auth_domain;
extern const char* test_username;
@@ -146,8 +157,19 @@
extern const char* test_route;
extern const char* userhostsfile;
extern const char* file_transfer_url;
extern const char* file_transfer_url_tls_client_auth;
extern const char* file_transfer_url_digest_auth;
extern const char* file_transfer_url_digest_auth_any_domain;
extern const char* lime_server_c25519_url;
extern const char* lime_server_c448_url;
extern const char* lime_server_any_domain_c25519_url;
extern const char* lime_server_any_domain_c448_url;
extern const char* lime_server_c25519_tlsauth_opt_url;
extern const char* lime_server_c448_tlsauth_opt_url;
extern const char* lime_server_c25519_tlsauth_req_url;
extern const char* lime_server_c448_tlsauth_req_url;
extern const char* lime_server_c25519_external_url;
extern const char* lime_server_c448_external_url;
extern bool_t liblinphone_tester_keep_uuid;
extern bool_t liblinphone_tester_tls_support_disabled;
extern const MSAudioDiffParams audio_cmp_params;
@@ -164,8 +186,10 @@
   int number_of_LinphoneRegistrationCleared ;
   int number_of_LinphoneRegistrationFailed ;
   int number_of_auth_info_requested ;
   int number_of_LinphoneChatRoomExhumed;
   int number_of_LinphoneCallIncomingReceived;
   int number_of_LinphoneCallPushIncomingReceived;
   int number_of_LinphoneCallOutgoingInit;
   int number_of_LinphoneCallOutgoingProgress;
   int number_of_LinphoneCallOutgoingRinging;
@@ -185,6 +209,15 @@
   int number_of_LinphoneCallReleased;
   int number_of_LinphoneCallEarlyUpdatedByRemote;
   int number_of_LinphoneCallEarlyUpdating;
   int number_of_LinphoneConferenceStateInstantiated;
   int number_of_LinphoneConferenceStateCreationPending;
   int number_of_LinphoneConferenceStateCreated;
   int number_of_LinphoneConferenceStateCreationFailed;
   int number_of_LinphoneConferenceStateTerminationPending;
   int number_of_LinphoneConferenceStateTerminated;
   int number_of_LinphoneConferenceStateTerminationFailed;
   int number_of_LinphoneConferenceStateDeleted;
   int number_of_LinphoneTransferCallOutgoingInit;
   int number_of_LinphoneTransferCallOutgoingProgress;
@@ -212,18 +245,13 @@
   int number_of_LinphoneIsComposingActiveReceived;
   int number_of_LinphoneIsComposingIdleReceived;
   int progress_of_LinphoneFileTransfer;
   int number_of_LinphoneFileTransfer;
   int number_of_LinphoneChatRoomConferenceJoined;
   int number_of_LinphoneChatRoomStateInstantiated;
   int number_of_LinphoneChatRoomStateCreationPending;
   int number_of_LinphoneChatRoomStateCreated;
   int number_of_LinphoneChatRoomStateCreationFailed;
   int number_of_LinphoneChatRoomStateTerminationPending;
   int number_of_LinphoneChatRoomStateTerminated;
   int number_of_LinphoneChatRoomStateTerminationFailed;
   int number_of_LinphoneChatRoomStateDeleted;
   int number_of_LinphoneChatRoomEphemeralTimerStarted;
   int number_of_LinphoneChatRoomEphemeralDeleted;
   int number_of_X3dhUserCreationSuccess;
   int number_of_X3dhUserCreationFailure;
   int number_of_IframeDecoded;
@@ -327,6 +355,7 @@
   int number_of_core_chat_room_subject_changed;
   int number_of_participant_devices_added;
   int number_of_participant_devices_removed;
   int number_of_participant_state_changed;
   int number_of_SecurityLevelDowngraded;
   int number_of_ParticipantMaxDeviceCountExceeded;
@@ -342,6 +371,10 @@
   int number_of_LinphoneGlobalStartup;
   int number_of_LinphoneGlobalConfiguring;
   int number_of_LinphoneCoreFirstCallStarted;
   int number_of_LinphoneCoreLastCallEnded;
   int number_of_LinphoneCoreAudioDeviceChanged;
   int number_of_LinphoneCoreAudioDevicesListUpdated;
}stats;
@@ -355,10 +388,14 @@
   int number_of_bcunit_error_at_creation;
   char *phone_alias;
   char *rc_path;
   char *rc_local;
   char *database_path;
   char *lime_database_path;
   char *call_logs_database_path;
   char *zrtp_secrets_database_path;
   char *app_group_id;
   bool_t main_core;
   void * user_info;
} LinphoneCoreManager;
typedef struct _LinphoneConferenceServer {
@@ -389,6 +426,8 @@
LinphoneCoreManager* linphone_core_manager_new3(const char* rc_file, bool_t check_for_proxies, const char* phone_alias);
LinphoneCoreManager* linphone_core_manager_new2(const char* rc_file, bool_t check_for_proxies);
LinphoneCoreManager* linphone_core_manager_new(const char* rc_file);
LinphoneCoreManager* linphone_core_manager_create_local(const char* rc_factory, const char* rc_local, const char *linphone_db, const char *lime_db, const char *call_logs_db, const char *zrtp_secrets_db);
LinphoneCoreManager* linphone_core_manager_new_local(const char* rc_factory, const char* rc_local, const char *linphone_db, const char *lime_db, const char *call_logs_db, const char *zrtp_secrets_db);
LinphoneCoreManager* linphone_core_manager_create_shared(const char *rc_file, const char *app_group_id, bool_t main_core, LinphoneCoreManager *mgr_to_copy);
void linphone_core_manager_stop(LinphoneCoreManager *mgr);
void linphone_core_manager_uninit_after_stop_async(LinphoneCoreManager *mgr);
@@ -397,12 +436,16 @@
/* This function is used to restore the fake DNS which is lost after a linphone_core_stop() */
void linphone_core_manager_setup_dns(LinphoneCoreManager *mgr);
void linphone_core_manager_uninit(LinphoneCoreManager *mgr);
void linphone_core_manager_uninit2(LinphoneCoreManager *mgr, bool_t unlinkDb);
void linphone_core_manager_wait_for_stun_resolution(LinphoneCoreManager *mgr);
void linphone_core_manager_destroy(LinphoneCoreManager* mgr);
void linphone_core_manager_destroy_after_stop_async(LinphoneCoreManager* mgr);
void linphone_core_manager_delete_chat_room (LinphoneCoreManager *mgr, LinphoneChatRoom *cr, bctbx_list_t *coresList);
bctbx_list_t * init_core_for_conference(bctbx_list_t *coreManagerList);
bctbx_list_t * init_core_for_conference_with_factori_uri(bctbx_list_t *coreManagerList, const char *factoryUri);
void start_core_for_conference(bctbx_list_t *coreManagerList);
bctbx_list_t * init_core_for_conference_with_factory_uri(bctbx_list_t *coreManagerList, const char* factoryUri);
bctbx_list_t * init_core_for_conference_with_groupchat_version(bctbx_list_t *coreManagerList, const char *groupchat_version);
void reset_counters(stats* counters);
@@ -414,6 +457,7 @@
void message_received(LinphoneCore *lc, LinphoneChatRoom *room, LinphoneChatMessage* message);
void file_transfer_received(LinphoneChatMessage *message, LinphoneContent* content, const LinphoneBuffer *buffer);
LinphoneBuffer * tester_file_transfer_send(LinphoneChatMessage *message, LinphoneContent* content, size_t offset, size_t size);
void tester_file_transfer_send_2(LinphoneChatMessage *message, LinphoneContent* content, size_t offset, size_t size, LinphoneBuffer *buffer);
LinphoneChatMessage *_send_message_ephemeral(LinphoneChatRoom *chatRoom, const char *message, bool_t ephemeral);
LinphoneChatMessage *_send_message(LinphoneChatRoom *chatRoom, const char *message);
void _send_file_plus_text(LinphoneChatRoom* cr, const char *sendFilepath, const char *sendFilepath2, const char *text, bool_t use_buffer);
@@ -423,6 +467,7 @@
LinphoneBuffer * tester_memory_file_transfer_send(LinphoneChatMessage *message, LinphoneContent* content, size_t offset, size_t size);
void file_transfer_progress_indication(LinphoneChatMessage *message, LinphoneContent* content, size_t offset, size_t total);
void file_transfer_progress_indication_2(LinphoneChatMessage *message, LinphoneContent* content, size_t offset, size_t total);
void is_composing_received(LinphoneCore *lc, LinphoneChatRoom *room);
void info_message_received(LinphoneCore *lc, LinphoneCall *call, const LinphoneInfoMessage *msg);
void new_subscription_requested(LinphoneCore *lc, LinphoneFriend *lf, const char *url);
@@ -435,6 +480,10 @@
void dtmf_received(LinphoneCore *lc, LinphoneCall *call, int dtmf);
void call_stats_updated(LinphoneCore *lc, LinphoneCall *call, const LinphoneCallStats *stats);
void global_state_changed(LinphoneCore *lc, LinphoneGlobalState gstate, const char *message);
void first_call_started(LinphoneCore *lc);
void last_call_ended(LinphoneCore *lc);
void audio_device_changed(LinphoneCore *lc, LinphoneAudioDevice *device);
void audio_devices_list_updated(LinphoneCore *lc);
LinphoneAddress * create_linphone_address(const char * domain);
LinphoneAddress * create_linphone_address_for_algo(const char * domain, const char * username);
@@ -475,6 +524,8 @@
void liblinphone_tester_chat_message_ephemeral_timer_started(LinphoneChatMessage *msg);
void liblinphone_tester_chat_message_ephemeral_deleted(LinphoneChatMessage *msg);
void core_chat_room_state_changed (LinphoneCore *core, LinphoneChatRoom *cr, LinphoneChatRoomState state);
void liblinphone_tester_x3dh_user_created(LinphoneCore *lc, const bool_t status, const char* userId, const char *info);
void core_chat_room_subject_changed (LinphoneCore *core, LinphoneChatRoom *cr);
void liblinphone_tester_check_rtcp(LinphoneCoreManager* caller, LinphoneCoreManager* callee);
void liblinphone_tester_clock_start(MSTimeSpec *start);
@@ -488,12 +539,15 @@
void liblinphone_tester_set_next_video_frame_decoded_cb(LinphoneCall *call);
void call_paused_resumed_base(bool_t multicast,bool_t with_losses);
void simple_call_base(bool_t enable_multicast_recv_side, bool_t disable_soundcard, bool_t use_multipart_invite_body);
void simple_call_base_with_rcs(const char *caller_rc, const char *callee_rc, bool_t enable_multicast_recv_side, bool_t disable_soundcard, bool_t use_multipart_invite_body);
void _call_with_rtcp_mux(bool_t caller_rtcp_mux, bool_t callee_rtcp_mux, bool_t with_ice,bool_t with_ice_reinvite);
void call_base_with_configfile(LinphoneMediaEncryption mode, bool_t enable_video,bool_t enable_relay,LinphoneFirewallPolicy policy,bool_t enable_tunnel, const char *marie_rc, const char *pauline_rc);
void call_base_with_configfile_play_nothing(LinphoneMediaEncryption mode, bool_t enable_video,bool_t enable_relay,LinphoneFirewallPolicy policy,bool_t enable_tunnel, const char *marie_rc, const char *pauline_rc);
void call_base(LinphoneMediaEncryption mode, bool_t enable_video,bool_t enable_relay,LinphoneFirewallPolicy policy,bool_t enable_tunnel);
bool_t call_with_caller_params(LinphoneCoreManager* caller_mgr,LinphoneCoreManager* callee_mgr, const LinphoneCallParams *params);
bool_t pause_call_1(LinphoneCoreManager* mgr_1,LinphoneCall* call_1,LinphoneCoreManager* mgr_2,LinphoneCall* call_2);
LinphoneAudioDevice * change_device(bool_t enable, LinphoneCoreManager* mgr, LinphoneAudioDevice *current_dev, LinphoneAudioDevice *dev0, LinphoneAudioDevice *dev1);
LinphoneAudioDevice* pause_call_changing_device(bool_t enable, bctbx_list_t *lcs, LinphoneCall *call, LinphoneCoreManager* mgr_pausing, LinphoneCoreManager* mgr_paused, LinphoneCoreManager* mgr_change_device, LinphoneAudioDevice *current_dev, LinphoneAudioDevice *dev0, LinphoneAudioDevice *dev1);
void compare_files(const char *path1, const char *path2);
void check_media_direction(LinphoneCoreManager* mgr, LinphoneCall *call, MSList* lcs,LinphoneMediaDirection audio_dir, LinphoneMediaDirection video_dir);
void _call_with_ice_base(LinphoneCoreManager* pauline,LinphoneCoreManager* marie, bool_t caller_with_ice, bool_t callee_with_ice, bool_t random_ports, bool_t forced_relay);
@@ -529,8 +583,19 @@
int liblinphone_tester_set_log_file(const char *filename);
bool_t check_ice(LinphoneCoreManager* caller, LinphoneCoreManager* callee, LinphoneIceState state);
// Add internal callback for subscriptions and notifications
LinphoneCoreManager *create_mgr_for_conference(const char * rc_file, bool_t check_for_proxies);
void setup_mgr_for_conference(LinphoneCoreManager *mgr);
void destroy_mgr_in_conference(LinphoneCoreManager *mgr);
LinphoneStatus add_participant_to_local_conference_through_invite(bctbx_list_t *lcs, LinphoneCoreManager * conf_mgr, bctbx_list_t *participants, const LinphoneCallParams *params);
LinphoneStatus accept_call_in_local_conference(bctbx_list_t *lcs, LinphoneCoreManager * conf_mgr, LinphoneCoreManager * participant_mgr);
LinphoneStatus add_calls_to_local_conference(bctbx_list_t *lcs, LinphoneCoreManager * conf_mgr, LinphoneConference * conference, bctbx_list_t *new_participants);
LinphoneStatus add_calls_to_remote_conference(bctbx_list_t *lcs, LinphoneCoreManager * focus_mgr, LinphoneCoreManager * conf_mgr, bctbx_list_t *new_participants);
LinphoneStatus remove_participant_from_local_conference(bctbx_list_t *lcs, LinphoneCoreManager * conf_mgr, LinphoneCoreManager * participant_mgr);
LinphoneStatus terminate_conference(bctbx_list_t *lcs, LinphoneCoreManager * conf_mgr, LinphoneConference * conference, LinphoneCoreManager * focus_mgr);
bctbx_list_t* terminate_participant_call(bctbx_list_t *participants, LinphoneCoreManager * conf_mgr, LinphoneCoreManager * participant_mgr);
LinphoneConferenceServer* linphone_conference_server_new(const char *rc_file, bool_t do_registration);
void initiate_calls(bctbx_list_t* caller, LinphoneCoreManager* callee);
void linphone_conference_server_destroy(LinphoneConferenceServer *conf_srv);
LinphoneAddress * linphone_core_manager_resolve(LinphoneCoreManager *mgr, const LinphoneAddress *source);
@@ -544,8 +609,33 @@
const char *liblinphone_tester_get_empty_rc(void);
int liblinphone_tester_copy_file(const char *from, const char *to);
size_t liblinphone_tester_load_text_file_in_buffer(const char *filePath, char **buffer);
char * generate_random_e164_phone_from_dial_plan(const LinphoneDialPlan *dialPlan);
void linphone_core_start_process_remote_notification (LinphoneCoreManager *mgr, const char *callid);
extern MSSndCardDesc dummy_test_snd_card_desc;
#define DUMMY_TEST_SOUNDCARD "dummy test sound card"
extern MSSndCardDesc dummy2_test_snd_card_desc;
#define DUMMY2_TEST_SOUNDCARD "dummy2 test sound card"
extern MSSndCardDesc dummy3_test_snd_card_desc;
#define DUMMY3_TEST_SOUNDCARD "dummy3 test sound card"
/**
 * Set the requested curve and matching lime server url in the given core manager
 * WARNING: uses a dirty trick: the linphone_core_set_lime_x3dh_server_url will actually restart
 * the encryption engine (only if the given url is different than the current one). It will thus parse
 * again the curve setting that is changed BEFORE.
 */
void set_lime_curve(const int curveId, LinphoneCoreManager *manager);
void set_lime_curve_list(const int curveId, bctbx_list_t *managerList);
void set_lime_curve_list_tls(const int curveId, bctbx_list_t *managerList, bool_t tls_auth_server, bool_t required);
void lime_delete_DRSessions(const char *limedb);
#ifdef __cplusplus
};
#endif