mirror of
https://github.com/signalwire/freeswitch.git
synced 2026-10-12 06:14:13 +00:00
115 lines
3.6 KiB
C
115 lines
3.6 KiB
C
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#ifndef _CCAPI_SNAPSHOT_H_
|
|
#define _CCAPI_SNAPSHOT_H_
|
|
|
|
#include "ccsip_platform.h"
|
|
#include "prot_configmgr.h"
|
|
#include "ccapi_line.h"
|
|
|
|
/*
|
|
* MWI info
|
|
*/
|
|
typedef struct cc_mwi_info_t_ {
|
|
cc_uint32_t status;
|
|
cc_uint32_t type;
|
|
cc_uint32_t new_count;
|
|
cc_uint32_t old_count;
|
|
cc_uint32_t pri_new_count;
|
|
cc_uint32_t pri_old_count;
|
|
} cc_mwi_info_t;
|
|
|
|
/*
|
|
* line reference data structure
|
|
*/
|
|
typedef struct cc_line_info_t_ {
|
|
cc_uint32_t ref_count;
|
|
cc_uint32_t line_id;
|
|
cc_uint32_t line_type;
|
|
cc_int32_t button;
|
|
cc_boolean reg_state;
|
|
cc_boolean isCFWD;
|
|
cc_boolean isLocalCFWD;
|
|
cc_mwi_info_t mwi;
|
|
cc_string_t name;
|
|
cc_string_t dn;
|
|
cc_string_t cfwd_dest;
|
|
cc_boolean allowed_features[CCAPI_CALL_CAP_MAX];
|
|
cc_string_t externalNumber;
|
|
cc_boolean fwd_caller_name_display;
|
|
cc_boolean fwd_caller_number_display;
|
|
cc_boolean fwd_redirected_number_display;
|
|
cc_boolean fwd_dialed_number_display;
|
|
} cc_line_info_t;
|
|
|
|
typedef struct cc_feature_info_t_ {
|
|
cc_int32_t feature_id;
|
|
cc_int32_t button;
|
|
cc_string_t speedDialNumber;
|
|
cc_string_t contact;
|
|
cc_string_t name;
|
|
cc_string_t retrievalPrefix;
|
|
cc_uint32_t featureOptionMask;
|
|
cc_blf_state_t blf_state;
|
|
} cc_feature_info_t;
|
|
|
|
typedef struct cc_call_server_t_ {
|
|
cc_string_t name;
|
|
cc_ccm_status_t status;
|
|
cc_int32_t type;
|
|
} cc_call_server_t;
|
|
|
|
typedef struct cc_device_info_t_ {
|
|
cc_uint32_t ref_count;
|
|
cc_string_t name;
|
|
cc_string_t not_prompt;
|
|
char registration_ip_addr[MAX_IPADDR_STR_LEN];
|
|
cc_int32_t not_prompt_prio;
|
|
cc_boolean not_prompt_prog;
|
|
cc_boolean mwi_lamp;
|
|
cc_cucm_mode_t cucm_mode;
|
|
cc_service_state_t ins_state;
|
|
cc_service_cause_t ins_cause;
|
|
long long reg_time;
|
|
cc_call_server_t ucm[CCAPI_MAX_SERVERS];
|
|
} cc_device_info_t;
|
|
|
|
typedef enum {
|
|
ACCSRY_CFGD_CFG, //accessory last configured by configuration file.
|
|
ACCSRY_CFGD_APK, //accessory last configured by another application.
|
|
} accsry_cfgd_by_t;
|
|
|
|
typedef struct accessory_cfg_info_t_ {
|
|
accsry_cfgd_by_t camera;
|
|
accsry_cfgd_by_t video;
|
|
} accessory_cfg_info_t;
|
|
|
|
extern accessory_cfg_info_t g_accessoryCfgInfo;
|
|
extern cc_device_info_t g_deviceInfo;
|
|
extern cc_line_info_t lineInfo[MAX_CONFIG_LINES+1];
|
|
|
|
cc_line_info_t* ccsnap_getLineInfo(int lineID);
|
|
cc_line_info_t* ccsnap_getLineInfoFromBtn(int btnID);
|
|
void ccsnap_line_init();
|
|
void ccsnap_device_init();
|
|
void ccsnap_gen_deviceEvent(ccapi_device_event_e event, cc_device_handle_t handle);
|
|
void ccsnap_gen_lineEvent(ccapi_line_event_e event, cc_lineid_t handle);
|
|
void ccsnap_gen_callEvent(ccapi_call_event_e event, cc_call_handle_t handle);
|
|
void ccsnap_update_ccm_status(cc_string_t addr, cc_ccm_status_t status);
|
|
void ccsnap_handle_mnc_reached (cc_line_info_t *line_info,
|
|
cc_boolean mnc_reached, cc_cucm_mode_t mode);
|
|
cc_feature_info_t* ccsnap_getFeatureInfo(int featureIndex);
|
|
void ccsnap_gen_blfFeatureEvent(cc_blf_state_t state, int appId);
|
|
cc_string_t ccsnap_EscapeStrToLocaleStr(cc_string_t destination, cc_string_t source, int len);
|
|
void ccsnap_set_phone_services_provisioning(boolean misd, boolean plcd, boolean rcvd);
|
|
boolean ccsnap_isMissedCallLoggingEnabled();
|
|
boolean ccsnap_isReceivedCallLoggingEnabled();
|
|
boolean ccsnap_isPlacedCallLoggingEnabled();
|
|
void ccsnap_set_line_label(int btn, cc_string_t label);
|
|
cc_string_t ccsnap_get_line_label(int btn);
|
|
|
|
#endif
|
|
|