michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: #ifndef _CC_CONSTANTS_H_ michael@0: #define _CC_CONSTANTS_H_ michael@0: #include "cc_types.h" michael@0: michael@0: #define PC_HANDLE_SIZE 17 /* 8 random bytes in hex plus null */ michael@0: michael@0: /** michael@0: * Max call servers michael@0: */ michael@0: #define MAX_CALL_SERVERS 4 michael@0: michael@0: /** michael@0: * Define notification priority michael@0: */ michael@0: #define CC_DEF_NOTIFY_PRI 20 michael@0: #define CC_HR_NOTIFY_PRI 1 michael@0: michael@0: #define CC_ALL_LINES 255 michael@0: #define SID_LINE_SHIFT 16 michael@0: #define CC_NO_CALL_ID (0) michael@0: #define CC_NO_LINE (0) michael@0: #define CC_NO_CALL_INSTANCE (0) michael@0: michael@0: #define CC_MAX_LEN_REQ_SUPP_PARAM_CISCO_SISTAG 64 michael@0: michael@0: /** michael@0: * Attrib bit in video available direction byte to indicate if the video is over CAST michael@0: */ michael@0: #define CC_ATTRIB_CAST 0x8 michael@0: michael@0: /** michael@0: * Define the line id. The value 0 (CC_NO_LINE) means not set, it will be set by pSipcc system. michael@0: */ michael@0: typedef unsigned short cc_lineid_t; michael@0: michael@0: /** michael@0: * Define the call id. The value 0 (CC_NO_CALL_ID) means not set, it will be set by pSipcc system. michael@0: */ michael@0: typedef unsigned short cc_callid_t; michael@0: michael@0: typedef unsigned short cc_streamid_t; michael@0: typedef unsigned short cc_mcapid_t; michael@0: typedef unsigned short cc_groupid_t; michael@0: typedef unsigned short cc_level_t; michael@0: michael@0: /** michael@0: * Define the call instance id michael@0: */ michael@0: michael@0: typedef unsigned short cc_call_instance_t; michael@0: michael@0: /** michael@0: * Define string char michael@0: */ michael@0: typedef const char *cc_string_t; michael@0: michael@0: /** michael@0: * Define an empty call handle michael@0: */ michael@0: #define CC_EMPTY_CALL_HANDLE (0) michael@0: michael@0: /** michael@0: * This will be returned by pSipcc system, a user/application should use the following two methods to get the selected or michael@0: * assinged line id and call id. michael@0: * When a user or an application doesn't select a line (user passes 0 to pSipcc),, the pSipcc will assign it with the first available michael@0: * line to it based on the maximum call per line that is configured. michael@0: */ michael@0: typedef unsigned int cc_call_handle_t; michael@0: #define CC_SID_TYPE_SHIFT 28 michael@0: #define CC_SID_LINE_SHIFT 16 michael@0: #define CC_SESSIONTYPE_CALLCONTROL 1 michael@0: #define GET_LINE_ID(call_handle) (cc_lineid_t)((call_handle & 0xFFF0000) >> CC_SID_LINE_SHIFT ) michael@0: #define GET_CALL_ID(call_handle) (cc_callid_t)(call_handle & 0xFFFF) michael@0: #define CREATE_CALL_HANDLE(line, callid) (cc_call_handle_t)(((line & 0xFFF) << CC_SID_LINE_SHIFT) + (callid & 0xFFFF)) michael@0: #define CREATE_CALL_HANDLE_FROM_SESSION_ID(session_id) (session_id & 0xFFFFFFF) michael@0: #define CREATE_SESSION_ID_FROM_CALL_HANDLE(call_handle) ((CC_SESSIONTYPE_CALLCONTROL << CC_SID_TYPE_SHIFT) + call_handle) michael@0: michael@0: /** michael@0: * Define return codes michael@0: */ michael@0: typedef enum { michael@0: CC_FAILURE = -1, michael@0: CC_SUCCESS michael@0: } cc_return_t; michael@0: michael@0: /** michael@0: * Define valid number digits for SendDigit method michael@0: */ michael@0: typedef enum { michael@0: KEY_1 = '1', michael@0: KEY_2 = '2', michael@0: KEY_3 = '3', michael@0: KEY_4 = '4', michael@0: KEY_5 = '5', michael@0: KEY_6 = '6', michael@0: KEY_7 = '7', michael@0: KEY_8 = '8', michael@0: KEY_9 = '9', michael@0: KEY_0 = '0', michael@0: KEY_STAR = '*', michael@0: KEY_POUND = '#', michael@0: KEY_A = 'A', michael@0: KEY_B = 'B', michael@0: KEY_C = 'C', michael@0: KEY_D = 'D', michael@0: KEY_PLUS = '+' michael@0: } cc_digit_t; michael@0: michael@0: michael@0: /** michael@0: * Defines cucm mode of the call manager to which device is connected. michael@0: */ michael@0: typedef enum { michael@0: CC_MODE_INVALID = -1, michael@0: CC_MODE_CCM, michael@0: CC_MODE_NONCCM michael@0: } cc_cucm_mode_t; michael@0: michael@0: // Line feature michael@0: typedef enum { michael@0: CC_LINE_FEATURE_NONE = 0, michael@0: CC_LINE_FEATURE_REDIAL = 1, michael@0: CC_LINE_FEATURE_SPEEDDIAL = 2, michael@0: CC_LINE_FEATURE_DN = 9, michael@0: CC_LINE_FEATURE_SERVICE = 20, michael@0: CC_LINE_FEATURE_SPEEDDIALBLF = 21, michael@0: CC_LINE_FEATURE_MALICIOUSCALLID = 27, michael@0: CC_LINE_FEATURE_CALLPICKUP = 127, michael@0: CC_LINE_FEATURE_GROUPCALLPICKUP = 128, michael@0: CC_LINE_FEATURE_QUALREPORTTOOL = 133, michael@0: CC_LINE_FEATURE_OTHERPICKUP = 135, michael@0: CC_LINE_FEATURE_ALLCALLS = 140, michael@0: CC_LINE_FEATURE_ANSWEROLDEST = 141, michael@0: CC_LINE_FEATURE_SERVICES = 192, michael@0: CC_LINE_FEATURE_BLF = 255 michael@0: } cc_line_feature_t; michael@0: michael@0: /** michael@0: * Define feature option mask michael@0: */ michael@0: typedef enum { michael@0: CC_FEATUREOPTIONMASK_NONE, michael@0: CC_FEATUREOPTIONMASK_BLF_PICKUP michael@0: } cc_feature_option_mask_t; michael@0: michael@0: /** michael@0: * Defines cucm secure levels michael@0: */ michael@0: typedef enum { michael@0: CC_CUCM_NONSECURE, michael@0: CC_CUCM_AUTHENTICATED, michael@0: CC_CUCM_ENCRYPTED, michael@0: CC_CUCM_NOT_IN_CTL michael@0: } cc_cucm_sec_level_t; michael@0: michael@0: /** michael@0: * Defines cc events causing registration state change michael@0: */ michael@0: typedef enum { michael@0: CC_CAUSE_NONE, michael@0: CC_CAUSE_FAILOVER, michael@0: CC_CAUSE_FALLBACK, michael@0: CC_CAUSE_REG_ALL_FAILED, michael@0: CC_CAUSE_SHUTDOWN, michael@0: CC_CAUSE_UNREG_ALL, michael@0: CC_CAUSE_LOGOUT_RESET michael@0: } cc_service_cause_t; michael@0: michael@0: /** michael@0: * Defines cc service state michael@0: */ michael@0: typedef enum { michael@0: CC_STATE_IDLE = 0, michael@0: CC_STATE_INS, michael@0: CC_STATE_OOS, michael@0: CC_STATE_PRO_BASE michael@0: } cc_service_state_t; michael@0: michael@0: /** michael@0: * Define cucm connection status. michael@0: */ michael@0: typedef enum { michael@0: CC_CCM_STATUS_NONE = 0, michael@0: CC_CCM_STATUS_STANDBY, michael@0: CC_CCM_STATUS_ACTIVE michael@0: } cc_ccm_status_t; michael@0: michael@0: /** michael@0: * Define line registration state michael@0: */ michael@0: typedef enum { michael@0: CC_UNREGISTERED, michael@0: CC_REGISTERED michael@0: }cc_line_reg_state_t; michael@0: michael@0: /** michael@0: * Defines pSipcc shutdown reason code michael@0: */ michael@0: typedef enum { michael@0: CC_SHUTDOWN_NORMAL, michael@0: CC_SHUTDOWN_UNSPECIFIED, michael@0: CC_SHUTDOWN_VERMISMATCH michael@0: } cc_shutdown_reason_t; michael@0: michael@0: /** michael@0: * Defines kpml value michael@0: */ michael@0: typedef enum { michael@0: CC_KPML_NONE = 0x0, michael@0: CC_KPML_SIGNAL_ONLY = 0x1, michael@0: CC_KPML_DTMF_ONLY = 0x2, michael@0: CC_KPML_BOTH = 0x3 michael@0: } cc_kpml_config_t; michael@0: michael@0: /** michael@0: * Defines whether to upgrade now or later to recently download firmware image michael@0: */ michael@0: typedef enum { michael@0: CC_UPGRADE_NONE = 0, michael@0: CC_UPGRADE_NOW, michael@0: CC_UPGRADE_LATER michael@0: } cc_upgrade_t; michael@0: michael@0: /* Media flow direction */ michael@0: typedef enum { michael@0: CC_SDP_DIRECTION_INACTIVE, michael@0: CC_SDP_DIRECTION_SENDONLY, michael@0: CC_SDP_DIRECTION_RECVONLY, michael@0: CC_SDP_DIRECTION_SENDRECV, michael@0: CC_SDP_MAX_QOS_DIRECTIONS michael@0: } cc_sdp_direction_t; michael@0: michael@0: /** michael@0: * Defines BLF state michael@0: */ michael@0: typedef enum { michael@0: CC_SIP_BLF_UNKNOWN, michael@0: CC_SIP_BLF_IDLE, michael@0: CC_SIP_BLF_INUSE, michael@0: CC_SIP_BLF_EXPIRED, michael@0: CC_SIP_BLF_REJECTED, michael@0: CC_SIP_BLF_ALERTING michael@0: } cc_blf_state_t; michael@0: michael@0: /** michael@0: * Defines BLF feature mask michael@0: */ michael@0: typedef enum { michael@0: CC_BLF_FEATURE_MASK_NONE = 0, michael@0: CC_BLF_FEATURE_MASK_PICKUP michael@0: } cc_blf_feature_mask_t; michael@0: michael@0: /** michael@0: * Defines call state michael@0: */ michael@0: typedef enum { michael@0: OFFHOOK, michael@0: ONHOOK, michael@0: RINGOUT, michael@0: RINGIN, michael@0: PROCEED, michael@0: CONNECTED, michael@0: HOLD, michael@0: REMHOLD, michael@0: RESUME, michael@0: BUSY, michael@0: REORDER, michael@0: CONFERENCE, michael@0: DIALING, michael@0: REMINUSE, michael@0: HOLDREVERT, michael@0: WHISPER, michael@0: PRESERVATION, michael@0: WAITINGFORDIGITS = 21, michael@0: CREATEOFFERSUCCESS, michael@0: CREATEANSWERSUCCESS, michael@0: CREATEOFFERERROR, michael@0: CREATEANSWERERROR, michael@0: SETLOCALDESCSUCCESS, michael@0: SETREMOTEDESCSUCCESS, michael@0: UPDATELOCALDESC, michael@0: UPDATEREMOTEDESC, michael@0: SETLOCALDESCERROR, michael@0: SETREMOTEDESCERROR, michael@0: REMOTESTREAMADD, michael@0: ADDICECANDIDATE, michael@0: ADDICECANDIDATEERROR, michael@0: FOUNDICECANDIDATE, michael@0: FOUNDICECANDIDATEERROR, michael@0: MAX_CALL_STATES michael@0: } cc_call_state_t; michael@0: michael@0: /** michael@0: * Defines call attribute michael@0: */ michael@0: typedef enum { michael@0: CC_ATTR_NOT_DEFINED = -1, michael@0: CC_ATTR_NORMAL, michael@0: CC_ATTR_XFR_CONSULT, michael@0: CC_ATTR_CONF_CONSULT, michael@0: CC_ATTR_BARGING, michael@0: CC_ATTR_RIUHELD_LOCKED, michael@0: CC_ATTR_LOCAL_CONF_CONSULT, michael@0: CC_ATTR_LOCAL_XFER_CONSULT, michael@0: CC_ATTR_CFWDALL, michael@0: CC_ATTR_GRP_CALL_PICKUP, michael@0: CC_ATTR_CFWD_ALL, michael@0: CC_ATTR_MAX michael@0: } cc_call_attr_t; michael@0: michael@0: /** michael@0: * Defines the hold reason michael@0: */ michael@0: typedef enum { michael@0: CC_HOLD_REASON_NONE, michael@0: CC_HOLD_REASON_XFER, michael@0: CC_HOLD_REASON_CONF, michael@0: CC_HOLD_REASON_SWAP, michael@0: CC_HOLD_REASON_INTERNAL michael@0: } cc_hold_reason_t; michael@0: michael@0: /** michael@0: * Defines call type michael@0: */ michael@0: typedef enum { michael@0: CC_CALL_TYPE_NONE, michael@0: CC_CALL_TYPE_INCOMING, michael@0: CC_CALL_TYPE_OUTGOING, michael@0: CC_CALL_TYPE_FORWARDED michael@0: } cc_call_type_t; michael@0: michael@0: /** michael@0: * Defines call security michael@0: */ michael@0: typedef enum { michael@0: CC_SECURITY_NONE, michael@0: CC_SECURITY_UNKNOWN, michael@0: CC_SECURITY_AUTHENTICATED, michael@0: CC_SECURITY_NOT_AUTHENTICATED, michael@0: CC_SECURITY_ENCRYPTED michael@0: } cc_call_security_t; michael@0: michael@0: /** michael@0: * Defines call policy michael@0: */ michael@0: typedef enum { michael@0: /* Call Policy */ michael@0: CC_POLICY_NONE, michael@0: CC_POLICY_UNKNOWN, michael@0: CC_POLICY_CHAPERONE michael@0: } cc_call_policy_t; michael@0: michael@0: /** michael@0: * Defines Log disposition michael@0: */ michael@0: typedef enum { michael@0: CC_LOGD_MISSED, michael@0: CC_LOGD_RCVD, michael@0: CC_LOGD_SENT, michael@0: CC_LOGD_UNKNWN, michael@0: CC_LOGD_DELETE michael@0: } cc_log_disposition_t; michael@0: michael@0: /** michael@0: * Defines call priority michael@0: */ michael@0: typedef enum{ michael@0: CC_PRIORITY_NORMAL, michael@0: CC_PRIORITY_URGENT michael@0: } cc_call_priority_t; michael@0: michael@0: /** michael@0: * Defines call selection michael@0: */ michael@0: typedef enum { michael@0: CC_CALL_SELECT_NONE, michael@0: CC_CALL_SELECT_LOCKED, michael@0: CC_CALL_SELECT_UNLOCKED, michael@0: CC_CALL_SELECT_REMOTE_LOCKED michael@0: } cc_call_selection_t; michael@0: michael@0: /** michael@0: * Defines service control request michael@0: */ michael@0: typedef enum { michael@0: CC_DEVICE_RESET = 1, michael@0: CC_DEVICE_RESTART, michael@0: CC_DEVICE_ICMP_UNREACHABLE = 5 michael@0: } cc_srv_ctrl_req_t; michael@0: michael@0: /** michael@0: * Defines service control command michael@0: */ michael@0: typedef enum { michael@0: CC_ACTION_RESET = 1, michael@0: CC_ACTION_RESTART michael@0: } cc_srv_ctrl_cmd_t; michael@0: michael@0: /** michael@0: * Defines messaging type michael@0: */ michael@0: typedef enum { michael@0: CC_VOICE_MESSAGE = 1, michael@0: CC_TEXT_MESSAGE michael@0: } cc_message_type_t; michael@0: michael@0: /** michael@0: * Defines handset lamp state michael@0: */ michael@0: typedef enum { michael@0: CC_LAMP_NONE = 0, michael@0: CC_LAMP_ON, michael@0: CC_LAMP_BLINK, michael@0: CC_LAMP_FRESH michael@0: } cc_lamp_state_t; michael@0: michael@0: /** michael@0: * defines call cause michael@0: * Important: when update this enum, please update the cc_cause_name accordingly. michael@0: */ michael@0: typedef enum { michael@0: CC_CAUSE_MIN = -1, michael@0: CC_CAUSE_BASE = -1, michael@0: CC_CAUSE_OK, michael@0: CC_CAUSE_ERROR, michael@0: CC_CAUSE_UNASSIGNED_NUM, michael@0: CC_CAUSE_NO_RESOURCE, michael@0: CC_CAUSE_NO_ROUTE, michael@0: CC_CAUSE_NORMAL, michael@0: CC_CAUSE_BUSY, michael@0: CC_CAUSE_NO_USER_RESP, michael@0: CC_CAUSE_NO_USER_ANS, michael@0: CC_CAUSE_REJECT, michael@0: CC_CAUSE_INVALID_NUMBER, michael@0: CC_CAUSE_FACILITY_REJECTED, michael@0: CC_CAUSE_CALL_ID_IN_USE, michael@0: CC_CAUSE_XFER_LOCAL, michael@0: CC_CAUSE_XFER_REMOTE, michael@0: CC_CAUSE_XFER_BY_REMOTE, michael@0: CC_CAUSE_XFER_CNF, michael@0: CC_CAUSE_CONGESTION, michael@0: CC_CAUSE_ANONYMOUS, michael@0: CC_CAUSE_REDIRECT, michael@0: CC_CAUSE_PAYLOAD_MISMATCH, michael@0: CC_CAUSE_CONF, michael@0: CC_CAUSE_REPLACE, michael@0: CC_CAUSE_NO_REPLACE_CALL, michael@0: CC_CAUSE_NO_RESUME, michael@0: CC_CAUSE_NO_MEDIA, michael@0: CC_CAUSE_REQUEST_PENDING, michael@0: CC_CAUSE_INVALID_PARTICIPANT, michael@0: CC_CAUSE_NO_CNF_BRIDE, michael@0: CC_MAXIMUM_PARTICIPANT, michael@0: CC_KEY_NOT_ACTIVE, michael@0: CC_TEMP_NOT_AVAILABLE, michael@0: CC_CAUSE_REMOTE_SERVER_ERROR, michael@0: CC_CAUSE_BARGE, michael@0: CC_CAUSE_CBARGE, michael@0: CC_CAUSE_NOT_FOUND, michael@0: CC_CAUSE_SECURITY_FAILURE, michael@0: CC_CAUSE_MONITOR, michael@0: CC_CAUSE_UI_STATE_BUSY, michael@0: CC_SIP_CAUSE_ANSWERED_ELSEWHERE, michael@0: CC_CAUSE_RETRIEVED, michael@0: CC_CAUSE_FORWARDED, michael@0: CC_CAUSE_ABANDONED, michael@0: CC_CAUSE_XFER_LOCAL_WITH_DIALSTRING, michael@0: CC_CAUSE_BW_OK, michael@0: CC_CAUSE_XFER_COMPLETE, michael@0: CC_CAUSE_RESP_TIMEOUT, michael@0: CC_CAUSE_SERV_ERR_UNAVAIL, michael@0: CC_CAUSE_REMOTE_DISCONN_REQ_PLAYTONE, michael@0: CC_CAUSE_OUT_OF_MEM, michael@0: CC_CAUSE_VALUE_NOT_FOUND, michael@0: CC_CAUSE_BAD_ICE_ATTRIBUTE, michael@0: CC_CAUSE_DTLS_ATTRIBUTE_ERROR, michael@0: CC_CAUSE_DTLS_DIGEST_ALGORITHM_EMPTY, michael@0: CC_CAUSE_DTLS_DIGEST_ALGORITHM_TOO_LONG, michael@0: CC_CAUSE_DTLS_DIGEST_EMPTY, michael@0: CC_CAUSE_DTLS_DIGEST_TOO_LONG, michael@0: CC_CAUSE_DTLS_FINGERPRINT_PARSE_ERROR, michael@0: CC_CAUSE_DTLS_FINGERPRINT_TOO_LONG, michael@0: CC_CAUSE_INVALID_SDP_POINTER, michael@0: CC_CAUSE_NO_AUDIO, michael@0: CC_CAUSE_NO_DTLS_FINGERPRINT, michael@0: CC_CAUSE_MISSING_ICE_ATTRIBUTES, michael@0: CC_CAUSE_NO_MEDIA_CAPABILITY, michael@0: CC_CAUSE_NO_M_LINE, michael@0: CC_CAUSE_NO_PEERCONNECTION, michael@0: CC_CAUSE_NO_SDP, michael@0: CC_CAUSE_NULL_POINTER, michael@0: CC_CAUSE_SDP_CREATE_FAILED, michael@0: CC_CAUSE_SDP_ENCODE_FAILED, michael@0: CC_CAUSE_SDP_PARSE_FAILED, michael@0: CC_CAUSE_SETTING_ICE_SESSION_PARAMETERS_FAILED, michael@0: CC_CAUSE_MAX michael@0: } cc_cause_t; michael@0: michael@0: /** michael@0: * defines subscription event type michael@0: */ michael@0: typedef enum { michael@0: CC_SUBSCRIPTIONS_DIALOG_EXT = 2, michael@0: CC_SUBSCRIPTIONS_KPML_EXT = 4, michael@0: CC_SUBSCRIPTIONS_PRESENCE_EXT = 5, michael@0: CC_SUBSCRIPTIONS_REMOTECC_EXT = 6, michael@0: CC_SUBSCRIPTIONS_REMOTECC_OPTIONSIND_EXT = 7, michael@0: CC_SUBSCRIPTIONS_CONFIGAPP_EXT = 8, michael@0: CC_SUBSCRIPTIONS_MEDIA_INFO_EXT = 10 michael@0: } cc_subscriptions_ext_t; michael@0: michael@0: typedef enum { michael@0: APPLY_DYNAMICALLY=0, michael@0: RESTART_NEEDED, michael@0: APPLY_CONFIG_NONE michael@0: } cc_apply_config_result_t; michael@0: michael@0: michael@0: /** michael@0: * defines ID of cucm michael@0: */ michael@0: michael@0: typedef enum { michael@0: PRIMARY_CCM = 0, michael@0: SECONDARY_CCM, michael@0: TERTIARY_CCM, michael@0: MAX_CCM, michael@0: UNUSED_PARAM michael@0: } CCM_ID; michael@0: michael@0: typedef enum { michael@0: CC_SIS_B2B_CONF = 0, michael@0: CC_SIS_SWAP, michael@0: CC_SIS_CFWD_ANY_LINE michael@0: } cc_sis_feature_id_e; michael@0: michael@0: /** michael@0: * enum for conference participant status michael@0: */ michael@0: michael@0: typedef enum { michael@0: CCAPI_CONFPARTICIPANT_UNKNOWN, michael@0: CCAPI_CONFPARTICIPANT_DIALING_OUT, michael@0: CCAPI_CONFPARTICIPANT_ALERTING, michael@0: CCAPI_CONFPARTICIPANT_CONNECTED, michael@0: CCAPI_CONFPARTICIPANT_ON_HOLD, michael@0: CCAPI_CONFPARTICIPANT_DISCONNECTED michael@0: } cc_conf_participant_status_t; michael@0: michael@0: michael@0: typedef enum { michael@0: JSEP_NO_ACTION = -1, michael@0: JSEP_OFFER, michael@0: JSEP_ANSWER, michael@0: JSEP_PRANSWER michael@0: } cc_jsep_action_t; michael@0: michael@0: michael@0: typedef cc_string_t cc_peerconnection_t; michael@0: michael@0: typedef unsigned int cc_media_stream_id_t; michael@0: michael@0: typedef unsigned int cc_media_track_id_t; michael@0: michael@0: michael@0: typedef enum { michael@0: NO_STREAM = -1, michael@0: AUDIO, michael@0: VIDEO, michael@0: DATA, michael@0: TYPE_MAX michael@0: } cc_media_type_t; michael@0: michael@0: typedef struct { michael@0: cc_boolean was_passed; michael@0: cc_boolean value; michael@0: cc_boolean mandatory; michael@0: } cc_boolean_constraint_t; michael@0: michael@0: typedef struct { michael@0: cc_boolean_constraint_t offer_to_receive_audio; michael@0: cc_boolean_constraint_t offer_to_receive_video; michael@0: cc_boolean_constraint_t moz_dont_offer_datachannel; michael@0: cc_boolean_constraint_t moz_bundle_only; michael@0: } cc_media_constraints_t; michael@0: michael@0: #endif /* _CC_CONSTANTS_H_ */ michael@0: