summaryrefslogtreecommitdiff
path: root/src/appMain/smartDeviceLink.ini
blob: 15bba13b8628171f9a62d8223a40ac1204cd1fcc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
; The INI-file consists of different chapters.
; Each chapter begins with the line containing
; the name in square brackets. Syntax:
; [chapter]
; The chapters consists of a set of items with a
; assigned value. The syntax is:
; item=value
; All white spaces an second encounters of chapters
; or items will be ignored.
; Remarks start with semicolon or star as first character.
; It is allowed for names of chapters and items to
; contain semicolon and star. Possible syntax is:
; [ chapter ]       ;Remark
;    item = value   ;Remark

[HMI]
; Open the $LinkToWebHMI in chromium browser
LaunchHMI = false
; Link to index HMTL page
; correct format is without any quotes and with double forward slash (solidus) separator
LinkToWebHMI = HMI//index.html
; WebSocket connection address and port
ServerAddress = 127.0.0.1
ServerPort = 8087
; Socket ports for video and audio streaming
VideoStreamingPort = 5050
AudioStreamingPort = 5080

[MAIN]
; SDL source version
; represents as a git commit hash value
SDLVersion = {GIT_COMMIT}
; All logging event could be dropped by setting $LogsEnabled to false
LogsEnabled = true
; Contains .json/.ini files
; Default value is SDL working directory
AppConfigFolder =
; Contains SDL configuration files - .json/.ini
; Default value is SDL working directory
AppStorageFolder = storage
; Contains resourses, e.g. audio8bit.wav
; Default value is SDL working directory
AppResourceFolder =
; Standard min stack size
;     in Ubuntu : PTHREAD_STACK_MIN = 16384
;     in QNX : PTHREAD_STACK_MIN = 256
; The value of a $ThreadStackSize used where its really needed,
; other way stack size will be PTHREAD_STACK_MIN
ThreadStackSize = 20480
; Defines if HMI support attenuated mode (able to mix audio sources)
MixingAudioSupported = true
; In case HMI doesn’t send some capabilities to SDL, the values from the file are used by SDL
HMICapabilities = hmi_capabilities.json
; Path to file containing cached response for UI.GetCapabilities/GetSupportedLanguages
HMICapabilitiesCacheFile = hmi_capabilities_cache.json
; Maximum cmdId of VR command which may be registered on SDL
; Bigger value used for system VR commands processing by SDL
MaxCmdID = 2000000000
; SDL respond timeout (in milliseconds) in case of HMI has not respond on a mobile request
DefaultTimeout = 10000
; Extra time to compensate default timeout due to external delays
DefaultTimeoutCompensation = 1000
; Available disk space in bytes for each application file handling
; Default value is 100 MiB
AppDirectoryQuota = 104857600
; Allowed requests amount in HMI level NONE during time scale.
; If value is 0 check will be skipped
AppHMILevelNoneTimeScaleMaxRequests = 100
AppHMILevelNoneRequestsTimeScale = 10
; Allowed requests amount during time scale.
; If value is 0 check will be skipped
AppTimeScaleMaxRequests = 1000
AppRequestsTimeScale = 10
; Allowed pending requests amount. If value is 0 check will be skipped
PendingRequestsAmount = 5000
; Heart beat timeout used for protocol v3.
; Timeout must be specified in milliseconds. If timeout is 0 heart beat will be disabled.
HeartBeatTimeout = 7000
; The list of diagnostic modes supported on a vehicle.
; Only the stated values are allowed by SDL in terms of DiagnosticMessage RPC, others are rejected
SupportedDiagModes = 0x01, 0x02, 0x03, 0x05, 0x06, 0x07, 0x09, 0x0A, 0x18, 0x19, 0x22, 0x3E
; The path to the system file directory for inter-operation between SDL and System (e.g. IVSU files and others).
; If parameter is empty, SDL uses /tmp/fs/mp/images/ivsu_cache by default
SystemFilesPath = /tmp/fs/mp/images/ivsu_cache
; To restore the last transport state (name, applications or channels) on SDL on a new device connection and on disconnect
UseLastState = true
; Port to obtain the performance information about messages processing
TimeTestingPort = 8090
; Limitation for a number of ReadDID requests (the 1st value) per (the 2nd value) seconds
ReadDIDRequest = 5, 1
; Limitation for a number of GetVehicleData requests (the 1st value) per (the 2nd value) seconds
GetVehicleDataRequest = 5, 1
; Limitation for a number of GetInteriorVehicleDataRequest requests (the 1st value) per (the 2nd value) seconds
GetInteriorVehicleDataRequest = 5, 1
PluginFolder = ./

; The time used during switch transport procedure
AppTransportChangeTimer = 500

; The time used as addition for AppTransportChangeTimer
AppTransportChangeTimerAddition = 0

; Signal offsets used by SDL for setting up real time signals
; used by LOW VOLTAGE functionality
LowVoltageSignal = 1 ; Offset from SIGRTMIN
WakeUpSignal = 2 ; Offset from SIGRTMIN
IgnitionOffSignal = 3 ; Offset from SIGRTMIN

[MEDIA MANAGER]
; where 3 is a number of retries and 1000 is a timeout in milliseconds for request frequency
StartStreamRetry = 3, 1000
EnableRedecoding = false
VideoStreamConsumer = socket
AudioStreamConsumer = socket
;VideoStreamConsumer = file
;AudioStreamConsumer = file
;VideoStreamConsumer = pipe
;AudioStreamConsumer = pipe
; Temp solution: if you change NamedPipePath also change path to pipe in src/components/qt_hmi/qml_model_qtXX/views/SDLNavi.qml
; Named pipe path will be constructed using AppStorageFolder + name
NamedVideoPipePath = video_stream_pipe
NamedAudioPipePath = audio_stream_pipe
; File path will be constructed using AppStorageFolder + name
VideoStreamFile = video_stream_file
AudioStreamFile = audio_stream_file
; Recording file source (used for audio pass thru emulation only)
RecordingFileSource = audio.8bit.wav
; Recording file for audio pass thru
RecordingFileName = audio.wav
; The timeout in milliseconds for mobile to stop streaming or end up sessions.
StopStreamingTimeout = 1000
; The timeout in milliseconds to suspend audio data streaming if no data received from mobile
AudioDataStoppedTimeout = 1000
; The timeout in milliseconds to suspend video data streaming if no data received from mobile
VideoDataStoppedTimeout = 1000

[GLOBAL PROPERTIES]
; HelpPromt and TimeOutPrompt is a vector of strings separated by comma
; Delimiter, which will be appended to each TTS chunk, e.g. helpPrompt/timeoutPrompt
TTSDelimiter = ,
; Default prompt items, separated by comma
HelpPromt = Please speak one of the following commands,Please say a command
; Default prompt items, separated by comma
TimeOutPromt = Please speak one of the following commands,Please say a command
HelpTitle = Available Vr Commands List
; In case mobile app didn't send global properties default global properties will be sent after this timeout in seconds
; max value TTSGlobalPropertiesTimeout 64K
TTSGlobalPropertiesTimeout = 20

[FILESYSTEM RESTRICTIONS]
; Max allowed number of PutFile requests for one application in NONE
PutFileRequest = 5
; Max allowed number of DeleteFile requests for one application in NONE
DeleteFileRequest = 5
; Max allowed number of ListFiles requests for one application in NONE
ListFilesRequest = 5

[VR COMMANDS]
; TODO(EZamakhov): delete with APPLINK-15220
HelpCommand = Help

[AppInfo]
; The file name for applications info storage.
AppInfoStorage = app_info.dat

[Security Manager]
;Protocol = TLSv1.2
Protocol = DTLSv1.0
; Certificate and key path to pem file
CertificatePath = mycert.pem
KeyPath         = mykey.pem
; SSL mode could be SERVER or CLIENT
SSLMode         = CLIENT
; Could be ALL ciphers or list of chosen
;CipherList      = AES256-GCM-SHA384
CipherList      = ALL
; Verify Mobile app certificate (could be used in both SSLMode Server and Client)
VerifyPeer  = true
; Preloaded CA certificates directory
CACertificatePath = .
; Services which can not be started unprotected (could be id's from 0x01 to 0xFF)
;ForceProtectedService = 0x0A, 0x0B
ForceProtectedService = Non
; Services which can not be started protected or delayed protected
;ForceUnprotectedService = 0x07
ForceUnprotectedService = Non
; The PTU will be triggered in case expiration date of certificate
; then certain hours amount
UpdateBeforeHours = 24
; Security level for openssl lib according to:
; https://www.openssl.org/docs/man1.1.0/man3/SSL_CTX_get_security_level.html
SecurityLevel = 1

[Policy]
EnablePolicy = true
PreloadedPT = sdl_preloaded_pt.json
PathToSnapshot = sdl_snapshot.json
; Number of attempts to open policy DB
AttemptsToOpenPolicyDB = 5
; Timeout between attempts during opening DB in milliseconds
OpenAttemptTimeoutMs = 500
; Whether to use the fullAppID over the short-form appID in policy lookups
UseFullAppID = true

[TransportManager]
; Listening port form incoming TCP mobile connection
TCPAdapterPort = 12345
; Name of the network interface that Core will listen on for incoming TCP connection, e.g. eth0.
; If the name is omitted, Core will listen on all network interfaces by binding to INADDR_ANY.
TCPAdapterNetworkInterface =

; WebSocket connection address used for incoming connections
WebSocketServerAddress = 0.0.0.0
; Listening port for incoming connection to websocket server
WebSocketServerPort = 2020
; WS Server Certificate
; WSServerCertificatePath = server-cert.pem
; WSServerKeyPath = server-key.pem
; WSServerCACertificatePath = ca-cert.pem

; 128 bit uuid for bluetooth device discovery. Please format as 16 seperate bytes.
;BluetoothUUID = 0x93, 0x6D, 0xA0, 0x1F, 0x9A, 0xBD, 0x4D, 0x9D, 0x80, 0xC7, 0x02, 0xAF, 0x85, 0xC8, 0x22, 0xA8

; AOA USB Transport Configuration
; USBAccessory Filter Parameters
AOAFilterManufacturer = SDL
AOAFilterModelName = Core
AOAFilterDescription = SmartDeviceLink Core Component USB
AOAFilterVersion = 1.0
AOAFilterURI = http://www.smartdevicelink.org
AOAFilterSerialNumber = N000000

[CloudAppConnections]
; Value in milliseconds for time between retry attempts on a failed websocket connection
CloudAppRetryTimeout = 1000 
; MaxNn number of retry attempts for a cloud websocket connection
CloudAppMaxRetryAttempts = 5

[ProtocolHandler]
; SDL supported protocol version. Minimum value is 2
MaxSupportedProtocolVersion = 5
; Packet with payload bigger than next value will be marked as a malformed
; for protocol v3 or higher
; For v2 protocol MaximumPayloadSize is 1488
MaximumPayloadSize = 131072
; Application shall send less #FrequencyCount messages per #FrequencyTime mSecs
; Frequency check could be disabled by setting #FrequencyTime or
; #FrequencyCount to Zero
FrequencyCount = 1000
FrequencyTime = 1000
; Enable filtering transport data stream
; On #MalformedMessageFiltering disable SDl disconnect with the first
; malformed message detection
MalformedMessageFiltering = true
; Boundary values of malformed message detection for connection close
; Can be disabled by setting #MalformedFrequencyTime or
; #MalformedFrequencyCount to Zero
MalformedFrequencyCount = 10
MalformedFrequencyTime = 1000
; Timeout for waiting CONSECUTIVE frames of multiframe
ExpectedConsecutiveFramesTimeout = 10000

[ApplicationManager]
; Application list update timeout ms
ApplicationListUpdateTimeout = 2000
; Max allowed threads for handling mobile requests. Default value is 2
ThreadPoolSize = 1
; The max size of hash which is used by OnHashUpdated
HashStringSize = 32

[SDL4]
; Section for features added in protocol version 4
; Path where apps icons must be stored
; Specify a dedicated folder, as old files in this folder can be automatically removed
AppIconsFolder = icons
; Max size of the folder in bytes
AppIconsFolderMaxSize = 104857600
; Amount of oldest icons to remove in case of max folder size was reached
AppIconsAmountToRemove = 1

[SDL5]
; Section for features added in protocol version 5
; Control service packet with payload bigger than this value will be marked as a malformed,
; if not specified, this value will default to MaxPayloadSize
;MaximumControlPayloadSize = 131072
; RPC service packet with payload bigger than this value will be marked as a malformed,
; if not specified, this value will default to MaxPayloadSize
;MaximumRpcPayloadSize = 131072
; Audio service packet with payload bigger than this value will be marked as a malformed,
; if not specified, this value will default to MaxPayloadSize
;MaximumAudioPayloadSize = 131072
; Video service packet with payloadbigger than this value will be marked as a malformed,
; if not specified, this value will default to MaxPayloadSize
;MaximumVideoPayloadSize = 131072

[Resumption]
; Timeout in milliseconds for resumption Application HMILevel
; and resolving conflicts in case if multiple applications initiate resumption
ApplicationResumingTimeout = 3000
; Timeout in milliseconds for periodical saving resumption persistent data
AppSavePersistentDataTimeout = 10000
; Timeout in seconds to store hmi_level for media app before ign_off
ResumptionDelayBeforeIgn = 30;
; Timeout in seconds to restore hmi_level for media app after sdl run
ResumptionDelayAfterIgn = 30;
; Resumption ctrl uses JSON if UseDBForResumption=false for store data otherwise uses DB
UseDBForResumption = false
; Number of attempts to open resumption DB
AttemptsToOpenResumptionDB = 5
; Timeout between attempts during opening DB in milliseconds
OpenAttemptTimeoutMsResumptionDB = 500

[TransportRequiredForResumption]
; This section specifies transport types that are required to trigger resumption for each
; AppHMIType. App has to be connected through at least one of the transports listed (either as
; the primary transport or secondary transport) to trigger resumption. If the app is not
; connected with any of the transports listed, its HMIlevel will be kept in NONE and the state
; stays in NOT_AUDIBLE.
; In case an app has multiple AppHMIType, requirements of all of the AppHMITypes are applied.
;
; Possible AppHMITypes: Default, Communication, Media, Messaging, Navigation, Information,
;                       Social, BackgroundProcess, Testing, System, Projection, RemoteControl,
;                       EmptyApp
; Possible transport types: TCP_WIFI, IAP_CARPLAY, IAP_USB_HOST_MODE, IAP_USB_DEVICE_MODE,
;                           IAP_USB, AOA_USB, IAP_BLUETOOTH, SPP_BLUETOOTH, WEBSOCKET,
;                           WEBENGINE
;
; The default behavior is to always enable resumption. If an AppHMIType is not listed in this
; section, resumption is enabled for an app with the AppHMIType.
; On the other hand, if you want to disable resumption and always keep an app in NONE and
; NOT_AUDIBLE state after registration, specify an empty value for the AppHMIType.
;
; NAVIGATION apps, PROJECTION apps and apps that declare themselves as media apps have a
; special exception. When these apps do not have any of the transports listed here, they will
; be still resumed into particular HMIlevel defined in LowBandwidthTransportResumptionLevel
; section.

;DefaultTransportRequiredForResumption =
;CommunicationTransportRequiredForResumption =
;MediaTransportRequiredForResumption =
;MessagingTransportRequiredForResumption =
;NavigationTransportRequiredForResumption =
;InformationTransportRequiredForResumption =
;SocialTransportRequiredForResumption =
;BackgroundProcessTransportRequiredForResumption =
;TestingTransportRequiredForResumption =
;SystemTransportRequiredForResumption =
;ProjectionTransportRequiredForResumption =
;RemoteControlTransportRequiredForResumption =
; "EmptyAppTransportRequiredForResumption" applies to apps that don't specify any AppHMIType
;EmptyAppTransportRequiredForResumption =

[LowBandwidthTransportResumptionLevel]
; The HMI Level that an app will resume to if no high bandwidth connection is active.
; High bandwidth connections for each app type are defined under TransportRequiredForResumption
; section.
; Possible values: NONE, BACKGROUND, LIMITED and FULL
; this is for NAVIGATION apps
;NavigationLowBandwidthResumptionLevel =
; this is for PROJECTION apps
;ProjectionLowBandwidthResumptionLevel =
; this is for apps who declare themselves as media apps. (Don't be confused with AppHMIType=MEDIA.)
;MediaLowBandwidthResumptionLevel =

[AppLaunch]
; time in milliseconds started from device connection - after expiring SDL remotely launches all known not-yet-registered apps from this device
AppLaunchWaitTime = 5000
; the number of times SDL attempts to launch an application after device connection - applied separately to each application from the given device
AppLaunchMaxRetryAttempt = 3
; time in milliseconds started by SDL after app launch request. if expired and app did not register, SDL sends new launch request. applied separately to each app
AppLaunchRetryWaitTime = 15000
; the number of the given device connections that the requested application failed to register after SDL's launch attempts - SDL removes app's bundleID on "value + 1" device connection
RemoveBundleIDattempts = 3
; the maximum number of iOS devices for which entries can be remembered by SDL
MaxNumberOfiOSDevice = 10
; time in milliseconds started after request to launch the first app. after either expires or the first app registers SDL requests to launch the second app.
WaitTimeBetweenApps = 4000
; App Launch on iOS devices SDL feature enabler/disabler
EnableAppLaunchIOS = true

[MultipleTransports]
; Whether multiple-transports feature is enabled
;MultipleTransportsEnabled = true

; Comma-separated list of transports that can be used as Secondary Transport for each Primary Transport.
; Possible values are: WiFi, USB and Bluetooth.
; Core will not suggest Secondary Transport if the value is empty.
;SecondaryTransportForBluetooth = WiFi
;SecondaryTransportForUSB =
;SecondaryTransportForWiFi =

[ServicesMap]
; A matrix to specify which service is allowed on which transports. The transports are listed
; in preferred order. If a transport is not listed, then the service is not allowed
; to run on the transport.
; Only video and audio services are configurable.
; If the entry of a service is completely omitted, the service will be allowed on all transports.
; Possible values are: IAP_BLUETOOTH, IAP_USB, IAP_USB_HOST_MODE, IAP_USB_DEVICE_MODE, IAP_CARPLAY, SPP_BLUETOOTH, AOA_USB and TCP_WIFI.
; Note: this configuration is applied even if multiple-transports feature is not enabled.
;AudioServiceTransports = TCP_WIFI, IAP_CARPLAY, IAP_USB_HOST_MODE, IAP_USB_DEVICE_MODE, IAP_USB, AOA_USB
;VideoServiceTransports = TCP_WIFI, IAP_CARPLAY, IAP_USB_HOST_MODE, IAP_USB_DEVICE_MODE, IAP_USB, AOA_USB

[AppServices]
; The ID used to fill the originApp field when the HMI sends a PerformAppServiceInteraction request
HMIOriginID = "HMI_ID"

; Services that exist on the module. Values are of AppServiceType in RPC Spec. These services will be used as default and app services will only become primary service publisher with direct user interaction. These services will also be a fallback if no app service publisher is registered with the system of that type.
EmbeddedServices = MEDIA, WEATHER, NAVIGATION

; Additional time added to RPC timeout when passing through to App service
RpcPassThroughTimeout = 10000

[RCModuleConsent]
; The period (in days) after which consent for module_id should be removed.
PeriodForConsentExpiration = 30