SIP Endpoint SDK for OS X
 All Classes Functions Properties
GSConstants.h
1 //
2 // GSConstants.h
3 // SipEndpoint
4 //
5 // Copyright (c) 2011-2018 Genesys Telecommunications Laboratories, Inc. All rights reserved.
6 //
7 
8 #define GS_INVALID_ID -1
9 #define GS_DEFAULT_VOLUME 50
10 #define GS_MAX_CONNECTION_NUMBER 6
11 #define GS_ENDPOINT_VERSION @"9.0.010.03"
12 #define GS_ENDPOINT_NAME @"Genesys-SIPendpointSDK"
13 
14 //Endpoint policy
15 #define PUBLIC_ADDRESS_KEY @"policy:endpoint:public_address"
16 #define IP_VERSIONS_KEY @"policy:endpoint:ip_versions"
17 #define INCLUDE_OS_VERSION_IN_USER_AGENT_HEADER_KEY @"policy:endpoint:include_os_version_in_user_agent_header"
18 #define INCLUDE_SDK_VERSION_IN_USER_AGENT_HEADER_KEY @"policy:endpoint:include_sdk_version_in_user_agent_header"
19 #define ANSWER_SDP_PRIORITY_KEY @"policy:endpoint:answer_sdp_priority"
20 #define SIP_TRANSACTION_TIMEOUT_KEY @"policy:endpoint:sip_transaction_timeout"
21 #define VQ_REPORT_COLLECTOR_KEY @"policy:endpoint:vq_report_collector"
22 #define VQ_REPORT_PUBLISH_KEY @"policy:endpoint:vq_report_publish"
23 #define SIGNALING_QOS_KEY @"policy:endpoint:signaling_qos"
24 #define SECURE_SIGNALING_QOS_KEY @"policy:endpoint:secure_signaling_qos"
25 #define AUDIO_QOS_KEY @"policy:endpoint:audio_qos"
26 #define VIDEO_QOS_KEY @"policy:endpoint:video_qos"
27 #define SIP_PORT_MIN_KEY @"policy:endpoint:sip_port_min"
28 #define SIP_PORT_MAX_KEY @"policy:endpoint:sip_port_max"
29 #define SIP_PORT_BINDING_KEY @"policy:endpoint:sip_port_binding"
30 #define RTP_PORT_MIN_KEY @"policy:endpoint:rtp_port_min"
31 #define RTP_PORT_MAX_KEY @"policy:endpoint:rtp_port_max"
32 #define RTP_INACTIVITY_TIMEOUT_KEY @"policy:endpoint:rtp_inactivity_timeout"
33 #define VIDEO_MAX_BITRATE_KEY @"policy:endpoint:video_max_bitrate"
34 #define WEBRTC_AUDIO_LAYER_KEY @"policy:endpoint:webrtc_audio_layer"
35 
36 //Session policy
37 #define REJECT_SESSION_WHEN_HEADSET_NA_KEY @"policy:session:reject_session_when_headset_na"
38 #define SIP_CODE_WHEN_HEADSET_NA_KEY @"policy:session:sip_code_when_headset_na"
39 #define MESSAGE_WHEN_HEADSET_NA_KEY @"policy:session:message_when_headset_na"
40 #define AUTO_ANSWER_KEY @"policy:session:auto_answer"
41 #define AUTO_ACCEPT_VIDEO_KEY @"policy:session:auto_accept_video"
42 #define DTMF_METHOD_KEY @"policy:session:dtmf_method"
43 #define INFO_DTMF_METHOD @"Info"
44 #define INBAND_RTP_DTMF_METHOD @"InbandRtp"
45 #define RFC2833_DTMF_METHOD @"rfc2833"
46 #define AGC_MODE_KEY @"policy:session:agc_mode"
47 #define DTX_MODE_KEY @"policy:session:dtx_mode"
48 #define VAD_LEVEL_KEY @"policy:session:vad_level"
49 #define NOISE_SUPPRESSION_KEY @"policy:session:noise_suppression"
50 #define ECHO_CONTROL_KEY @"policy:session:echo_control"
51 #define RINGING_ENABLED_KEY @"policy:session:ringing_enabled"
52 #define RINGING_TIMEOUT_KEY @"policy:session:ringing_timeout"
53 #define RINGING_FILE_KEY @"policy:session:ringing_file"
54 #define RESTART_AUDIO_IF_STUCK_KEY @"policy:session:restart_audio_if_stuck"
55 #define CALL_WAITING_FILE_KEY @"policy:session:call_waiting_file"
56 #define AUTO_ANSWER_DELAY_KEY @"policy:session:auto_answer_delay"
57 #define REJECT_SESSION_WHEN_BUSY_KEY @"policy:session:reject_session_when_busy"
58 #define NUMBER_SESSIONS_FOR_BUSY_KEY @"policy:session:number_sessions_for_busy"
59 #define SIP_CODE_WHEN_BUSY_KEY @"policy:session:sip_code_when_busy"
60 
61 //Device policy
62 #define USE_HEADSET_KEY @"policy:device:use_headset"
63 #define HEADSET_NAME_KEY @"policy:device:headset_name"
64 #define AUDIO_IN_DEVICE_KEY @"policy:device:audio_in_device"
65 #define AUDIO_OUT_DEVICE_KEY @"policy:device:audio_out_device"
66 #define RINGER_NAME_KEY @"policy:device:ringer_device"
67 #define CAPTURE_DEVICE_KEY @"policy:device:capture_device"
68 
69 #define AUDIO_IN_DEVICE_0_KEY @"policy:device:audio_in_device:0"
70 #define AUDIO_OUT_DEVICE_0_KEY @"policy:device:audio_out_device:0"
71 #define HEADSET_NAME_0_KEY @"policy:device:headset_name:0"
72 #define CAPTURE_DEVICE_0_KEY @"policy:device:capture_device:0"
73 #define RINGER_NAME_0_KEY @"policy:device:ringer_name:0"
74 
75 #define AUDIO_IN_DEVICE_1_KEY @"policy:device:audio_in_device:1"
76 #define AUDIO_OUT_DEVICE_1_KEY @"policy:device:audio_out_device:1"
77 #define HEADSET_NAME_1_KEY @"policy:device:headset_name:1"
78 #define CAPTURE_DEVICE_1_KEY @"policy:device:capture_device:1"
79 #define RINGER_NAME_1_KEY @"policy:device:ringer_name:1"
80 
81 #define HEADSET_AVAILABLE_KEY @"headset_available"
82 #define MIC_AVAILABLE_KEY @"mic_available"
83 #define SPEAKER_AVAILABLE_KEY @"speaker_available"
84 #define CAPTURE_DEVICE_AVAILABLE_KEY @"capture_device_available"
85 
86 //Codecs
87 #define CODECS @"codecs"
88 #define CODEC_PAYLOAD_TYPE @"payload_type"
89 #define CODEC_FMTP @"fmtp"
90 
91 //Diagnostics
92 #define LOGGER_TYPE_KEY @"system:diagnostics:logger_type"
93 #define ENABLE_LOGGING_KEY @"system:diagnostics:enable_logging"
94 #define LOG_LEVEL_KEY @"system:diagnostics:log_level"
95 #define LOG_OPTIONS_PROVIDER_KEY @"system:diagnostics:log_options_provider"
96 #define LOG_OPTIONS_ENDPOINT_KEY @"system:diagnostics:log_options_endpoint"
97 #define LOG_FILE_KEY @"system:diagnostics:log_file"
98 #define LOG_SEGMENT_KEY @"system:diagnostics:log_segment"
99 #define LOG_EXPIRE_KEY @"system:diagnostics:log_expire"
100 #define TIME_CONVERT_KEY @"system:diagnostics:log_time_convert"
101 #define TIME_FORMAT_KEY @"system:diagnostics:log_time_format"
102 
103 #define LOGGER_TYPE @"logger_type"
104 #define ENABLE_LOGGING @"enable_logging"
105 #define LOG_LEVEL @"log_level"
106 #define LOG_FILE @"log_file"
107 
108 
109 //Security
110 #define TLS_ENABLED_KEY @"system:security:tls_enabled"
111 #define CERTIFICATE_FILE_KEY @"system:security:cert_file"
112 #define USE_SRTP_KEY @"system:security:use_srtp"
113 #define PRIVATE_KEY_FILE_KEY @"system:security:priv_key_file"
114 #define CA_LIST_FILE_KEY @"system:security:ca_list_file"
115 
116 //Connection
117 #define CONNECTIVITIES @"connectivities"
118 #define PROXIES @"proxies"
119 
120 #define USER_KEY @"user:0"
121 #define SERVER_KEY @"server:0"
122 #define PROTOCOL_KEY @"protocol:0"
123 #define CTRL_KEY @"ctrl:0"
124 
125 #define PASSWORD_KEY @"proxies:proxy0:password"
126 #define REG_TIMEOUT_KEY @"reg_timeout"
127 #define REG_INTERVAL_KEY @"reg_interval"
128 #define REG_MATCH_RECEIVED_RPORT_KEY @"reg_match_received_rport"
129 #define DOMAIN_KEY @"domain"
130 #define DISPLAY_NAME_KEY @"display_name"
131 
132 #define MAILBOX_TIMEOUT_KEY @"proxies:proxy0:mailbox:timeout"
133 #define MAILBOX_PASSWORD_KEY @"proxies:proxy0:mailbox:password"
134 #define MAILBOX_USER_KEY @"proxies:proxy0:mailbox:user"
135 #define MAILBOX_SERVER_KEY @"proxies:proxy0:mailbox:server"
136 #define MAILBOX_TRANSPORT_KEY @"proxies:proxy0:mailbox:transport"
137 
138 #define NAT_ICE_ENABLED_KEY @"proxies:proxy0:nat:ice_enabled"
139 #define NAT_STUN_SERVER_KEY @"proxies:proxy0:nat:stun_server"
140 #define NAT_STUN_SERVER_PORT_KEY @"proxies:proxy0:nat:stun_server_port"
141 #define NAT_TURN_SERVER_KEY @"proxies:proxy0:nat:turn_server"
142 #define NAT_TURN_SERVER_PORT_KEY @"proxies:proxy0:nat:turn_server_port"
143 #define NAT_TURN_USERNAME_KEY @"proxies:proxy0:nat:turn_user_name"
144 #define NAT_TURN_PASSWORD_KEY @"proxies:proxy0:nat:turn_password"
145 #define NAT_TURN_RELAY_TYPE_KEY @"proxies:proxy0:nat:turn_relay_type"
146 
147 #define USER @"user"
148 #define SERVER @"server"
149 #define PROTOCOL @"protocol"
150 #define CTRL @"ctrl"
151 #define CONFIG_ID @"config_id"
152 
153 #define PASSWORD @"password"
154 #define REG_TIMEOUT @"reg_timeout"
155 #define REG_INTERVAL @"reg_interval"
156 #define REG_MATCH_RECEIVED_RPORT @"reg_match_received_rport"
157 #define DOMAIN_SIP @"domain"
158 #define DISPLAY_NAME @"display_name"
159 
160 #define SIP_PORT_MIN @"sip_port_min"
161 #define SIP_PORT_MAX @"sip_port_max"
162 #define RTP_PORT_MIN @"rtp_port_min"
163 #define RTP_PORT_MAX @"rtp_port_max"
164 
165 
166 #define MAILBOX_TIMEOUT @"mailbox:timeout"
167 #define MAILBOX_PASSWORD @"mailbox:password"
168 #define MAILBOX_USER @"mailbox:user"
169 #define MAILBOX_SERVER @"mailbox:server"
170 #define MAILBOX_TRANSPORT @"mailbox:transport"
171 
172 #define NAT_ICE_ENABLED @"nat:ice_enabled"
173 #define NAT_STUN_SERVER @"nat:stun_server"
174 #define NAT_STUN_SERVER_PORT @"nat:stun_server_port"
175 #define NAT_TURN_SERVER @"nat:turn_server"
176 #define NAT_TURN_SERVER_PORT @"nat:turn_server_port"
177 #define NAT_TURN_USERNAME @"nat:turn_user_name"
178 #define NAT_TURN_PASSWORD @"nat:turn_password"
179 #define NAT_TURN_RELAY_TYPE @"nat:turn_relay_type"
180 
181 //Logging macros
182 #define LOG_DEBUG_FORMAT(msg, ...) [self.logger logDebugMessageWithFormat:msg, __VA_ARGS__]
183 #define LOG_DEBUG(msg) [self.logger logDebugMessage:msg]
184 
185 #define LOG_INFO_FORMAT(msg, ...) [self.logger logInfoMessageWithFormat:msg, __VA_ARGS__]
186 #define LOG_INFO(msg) [self.logger logInfoMessage:msg]
187 
188 #define LOG_WARN_FORMAT(msg, ...) [self.logger logWarningMessageWithFormat:msg, __VA_ARGS__]
189 #define LOG_WARN(msg) [self.logger logWarnMessage:msg]
190 
191 #define LOG_ERROR_FORMAT(msg, ...) [self.logger logErrorMessageWithFormat:msg, __VA_ARGS__]
192 #define LOG_ERROR(msg) [self.logger logErrorMessage:msg]
193 
194 #define LOG_FATAL_FORMAT(msg, ...) [self.logger logFatalErrorMessageWithFormat:msg, __VA_ARGS__]
195 #define LOG_FATAL(msg) [self.logger logFatalErrorMessage:msg]