blob: 04b0951084c575e46c8fc002c29fb46f2777639e [file] [log] [blame]
b.liud440f9f2025-04-18 10:44:31 +08001/*-----------------------------------------------------------------------------------------------*/
2/**
3 @file ql_ecall.c
4 @brief Ecall APIs
5*/
6/*-------------------------------------------------------------------------------------------------
7 Copyright (c) 2019 Quectel Wireless Solution, Co., Ltd. All Rights Reserved.
8 Quectel Wireless Solution Proprietary and Confidential.
9-------------------------------------------------------------------------------------------------*/
10
11/*-------------------------------------------------------------------------------------------------
12 EDIT HISTORY
13 This section contains comments describing changes made to the file.
14 Notice that changes are listed in reverse chronological order.
15 $Header: $
16 when who what, where, why
17 -------- --- ----------------------------------------------------------
18 202306xx Lyndsay.Xie Created .
19-------------------------------------------------------------------------------------------------*/
20#ifndef __ECALL_H__
21#define __ECALL_H__
22
23#ifdef __cplusplus
24extern "C" {
25#endif
26
27#include <stdint.h>
28#include <stdbool.h>
29#include <string.h>
30#include <time.h>
31#include "ql_asn1Msd.h"
32#include "ql_ms_voice.h"
33#include "ql_type.h"
34// #include "ql_voice.h"
35
36#define ASSERT(condition) \
37 if (!(condition)) { LOGE("Assert Failed: '%s'", #condition);}
38
39//--------------------------------------------------------------------------------------------------
40/**
41 * Unlimited dial attempts for eCall session (used for PAN-European system)
42 */
43//--------------------------------------------------------------------------------------------------
44#define UNLIMITED_DIAL_ATTEMPTS UINT32_MAX
45#define QL_VOICE_MAX_ECALL_MSD (140)
46
47typedef enum
48{
49 QL_ECALL_TX_MODE_PULL = 0, /**< Pull mode (modem/host waits for MSD request from PSAP to send MSD). */
50 QL_ECALL_TX_MODE_PUSH = 1 /**< Push mode (modem/host sends MSD to PSAP right after eCall is connected). */
51} QL_ECALL_MSD_TX_MODE_E;
52
53typedef enum
54{
55 QL_ECALL_RESET_SESSION_NONE = 0,
56 QL_ECALL_RESET_SESSION_AUTOANSWER= 1, /**< Reset the ecall session to allow automatic answering of calls
57 * It can only be enabled once after calling ql_ecall_init() == OK*/
58 QL_ECALL_RESET_SESSION_MAX = 0xff
59
60} QL_ECALL_RESET_SESSION_MODE_E;
61
62typedef struct
63{
64 uint8_t t5_timeout_ms_valid;
65 uint16_t t5_timeout_ms;
66
67 uint8_t t6_timeout_ms_valid;
68 uint16_t t6_timeout_ms;
69
70 uint8_t t7_timeout_ms_valid;
71 uint16_t t7_timeout_ms;
72
73 uint8_t autoAnswer_timeout_ms_valid; // callback
74 uint32_t autoAnswer_timeout_ms; // default 3600000 ms (1 hour)
75
76 uint8_t dialDurationTimer_timout_ms_valid; // dial
77 uint32_t dialDurationTimer_timout_ms;
78
79 uint8_t maxDialAttempts_valid; // redialcnt
80 uint32_t maxDialAttempts;
81
82 uint8_t intervalBetweenAttempts_valid;
83 uint16_t intervalBetweenAttempts;
84
85 uint8_t resetEcallSessionMode_valid;
86 uint8_t resetEcallSessionMode;
87} ql_ecall_config_t;
88
89typedef void (*ql_ecall_user_ind_f)(int ind, void *userdata);
90
91typedef enum{
92 QL_ECALL_MAKE_ECALL_TYPE_TEST = 0,
93 QL_ECALL_MAKE_ECALL_TYPE_RECONFIG = 1,
94 QL_ECALL_MAKE_ECALL_TYPE_MANUAL = 2,
95 QL_ECALL_MAKE_ECALL_TYPE_AUTOMATIC = 3,
96}QL_ECALL_MAKE_ECALL_TYPE;
97
98/** eCall mode */
99typedef enum {
100 QL_ECALL_MODE_NORMAL = 0, /**< eCall enabled normal mode. */
101 QL_ECALL_MODE_ONLY = 1, /**< eCall-only mode. */
102 QL_ECALL_MODE_DEFAULT = 2,
103} QL_ECALL_MODE_E;
104
105typedef enum
106{
107 QL_ECALL_EVENT_SENDING_START = 1,
108 QL_ECALL_EVENT_SENDING_MSD = 2,
109 QL_ECALL_EVENT_LLACK_RECEIVED = 3,
110 QL_ECALL_EVENT_ALLACK_POSITIVE_RECEIVED = 4,
111 QL_ECALL_EVENT_ALLACK_CLEARDOWN_RECEIVED = 5,
112 QL_ECALL_EVENT_ACTIVE = 11,
113 QL_ECALL_EVENT_DISCONNECTED = 12,
114 QL_ECALL_EVENT_ABNORMAL_HANGUP = 15,
115 // QL_ECALL_EVENT_IMS_MSD_ACK = 0x0014,
116 // QL_ECALL_EVENT_IMS_UPDATE_MSD,
117 QL_ECALL_EVENT_ONLY_DEREGISTRATION = 31,
118 QL_ECALL_EVENT_MAY_DEREGISTRATION = 32,
119 QL_ECALL_EVENT_PSAP_CALLBACK_START = 40,
120
121 QL_ECALL_EVENT_ECALL_STARTED = 260,
122 QL_ECALL_EVENT_INCOMING_CALL = 261,
123 QL_ECALL_EVENT_T2_TIMEOUT = 262,
124 QL_ECALL_EVENT_T5_TIMEOUT = 263,
125 QL_ECALL_EVENT_T6_TIMEOUT = 264,
126 QL_ECALL_EVENT_T7_TIMEOUT = 265,
127 QL_ECALL_EVENT_DIAL_DURATION_TIMEOUT = 266,
128 QL_ECALL_EVENT_INTERVAL_TIMEOUT = 267,
129 QL_ECALL_EVENT_AUTO_ANSWER_TIMEOUT = 268,
130
131 // TO DO - add customer app events
132} QL_ECALL_EVENT_E;
133
134// TODO: Will be used potentially. If not remove it!
135// QL_ERR_MSD_RESULT_E QL_Set_MsdMessageData(msd_Message_t *pMsdMsg);
136// QL_ERR_MSD_RESULT_E QL_Set_EraGlonassData(msd_EraGlonassData_t *pEraGlonassData);
137
138/*-----------------------------------------------------------------------------------------------*/
139/**
140 @brief Set the system standard.
141 @param[in] system_std system standard which can be set to PAN-European or ERA-GLONASS.
142 @return Whether the system standard was set successfully.
143 @retval QL_ERR_OK successful.
144 @retval QL_ERR_INVALID_ARG unsupported value.
145 */
146/*-----------------------------------------------------------------------------------------------*/
147int ql_ecall_set_system_std(ECALL_SYSTEM_STD_E system_std);
148
149/*-----------------------------------------------------------------------------------------------*/
150/**
151 @brief Get the system standard.
152 @param[out] system_std pointer to system standard which can be PAN-European or ERA-GLONASS.
153 */
154/*-----------------------------------------------------------------------------------------------*/
155void ql_ecall_get_system_std(ECALL_SYSTEM_STD_E* system_std);
156
157/*-----------------------------------------------------------------------------------------------*/
158/**
159 @brief Set the MSD version.
160 @param[in] msd_version MSD version which can be set to ASN1_ECALL_MSD_VERSION_1 or ASN1_ECALL_MSD_VERSION_2
161 @return Whether the MSD version was set successfully.
162 @retval QL_ERR_MSD_SUCCESS successful.
163 @retval QL_ERR_MSD_VERSION unsupported value.
164 */
165/*-----------------------------------------------------------------------------------------------*/
166QL_ERR_MSD_RESULT_E ql_ecall_set_msd_version(uint8_t msd_version);
167
168/*-----------------------------------------------------------------------------------------------*/
169/**
170 @brief Get the MSD version.
171 @param[out] msd_version pointer to MSD version.
172 @return Whether the MSD version was get successfully.
173 @retval QL_ERR_MSD_SUCCESS successful.
174 @retval QL_ERR_MSD_VERSION unsupported value.
175 */
176/*-----------------------------------------------------------------------------------------------*/
177QL_ERR_MSD_RESULT_E ql_ecall_get_msd_version(uint8_t* msdVersionPtr);
178
179/*-----------------------------------------------------------------------------------------------*/
180/**
181 @brief Sets MSD's testCall field.
182 @param[in] testCall MSD call type: true = Test call false = Emergency
183 */
184/*-----------------------------------------------------------------------------------------------*/
185void ql_ecall_set_msd_call_type(bool testCall);
186
187/*-----------------------------------------------------------------------------------------------*/
188/**
189 @brief Gets MSD's testCall field.
190 @param[out] testCall pointer to MSD call type: true = Test call false = Emergency
191 */
192/*-----------------------------------------------------------------------------------------------*/
193void ql_ecall_get_msd_call_type(bool* testCall);
194
195/*-----------------------------------------------------------------------------------------------*/
196/**
197 @brief Sets VehicleType.
198 @param[in] vehicleType vehicle type
199 @return Whether the vehicleType was set successfully.
200 @retval QL_ERR_MSD_SUCCESS successful.
201 @retval QL_ERR_MSD_BADPARM unsupported value.
202 */
203/*-----------------------------------------------------------------------------------------------*/
204QL_ERR_MSD_RESULT_E ql_ecall_set_msd_vehicle_type(uint8_t vehicleType);
205
206/*-----------------------------------------------------------------------------------------------*/
207/**
208 @brief Gets VehicleType.
209 @param[out] vehicleType pointer to vehicle type
210 @return Whether the vehicleType was get successfully.
211 @retval QL_ERR_MSD_SUCCESS successful.
212 @retval QL_ERR_MSD_BADPARM unsupported value.
213 */
214/*-----------------------------------------------------------------------------------------------*/
215QL_ERR_MSD_RESULT_E ql_ecall_get_msd_vehicle_type(uint8_t* vehicleType);
216
217/*-----------------------------------------------------------------------------------------------*/
218/**
219 @brief Sets Vehicle Identification Number
220 @param[in] vin vehicle identification number
221 @return Whether the vehicle identification number was set successfully.
222 @retval QL_ERR_MSD_SUCCESS successful.
223 @retval QL_ERR_MSD_VEH_IDENTIFI_NUMBER unsupported value.
224 */
225/*-----------------------------------------------------------------------------------------------*/
226QL_ERR_MSD_RESULT_E ql_ecall_set_msd_vin(msd_Vin_t vin);
227
228/*-----------------------------------------------------------------------------------------------*/
229/**
230 @brief Gets Vehicle Identification Number
231 @param[out] vin pointer to vehicle identification number
232 @return Whether the vehicle identification number was get successfully.
233 @retval QL_ERR_MSD_SUCCESS successful.
234 @retval QL_ERR_MSD_VEH_IDENTIFI_NUMBER unsupported value.
235 */
236/*-----------------------------------------------------------------------------------------------*/
237QL_ERR_MSD_RESULT_E ql_ecall_get_msd_vin(msd_Vin_t* vin);
238
239/*-----------------------------------------------------------------------------------------------*/
240/**
241 @brief Sets Propulsion Type.
242 @param[in] PropulsionType propulsion type.
243 */
244/*-----------------------------------------------------------------------------------------------*/
245void ql_ecall_set_msd_propulsion_type(uint8_t PropulsionType);
246
247/*-----------------------------------------------------------------------------------------------*/
248/**
249 @brief Gets Propulsion Type.
250 @param[out] PropulsionType pointer to propulsion type.
251 */
252/*-----------------------------------------------------------------------------------------------*/
253void ql_ecall_get_msd_propulsion_type(uint8_t* PropulsionType);
254
255/*-----------------------------------------------------------------------------------------------*/
256/**
257 @brief Sets number of passangers.
258 @param[in] numberOfPassengers number of passangers.
259 */
260/*-----------------------------------------------------------------------------------------------*/
261void ql_ecall_set_msd_passengers_count(uint8_t numberOfPassengers);
262
263/*-----------------------------------------------------------------------------------------------*/
264/**
265 @brief Sets vehicle location.
266 @param[in] isTrusted true if the position can be trusted, false otherwise.
267 @param[in] latitude latitude of vehicle's location.
268 @param[in] longitude longitude of vehicle's location.
269 @param[in] direction direction of vehicle's location.
270 @return Whether the vehicle location was set successfully.
271 @retval QL_ERR_MSD_SUCCESS successful.
272 @retval QL_ERR_MSD_LATITUDE latitude unsupported value.
273 @retval QL_ERR_MSD_LONGITUDE longitude unsupported value.
274 @retval QL_ERR_MSD_VEH_DIRECTION direction unsupported value.
275 */
276/*-----------------------------------------------------------------------------------------------*/
277QL_ERR_MSD_RESULT_E ql_ecall_set_msd_position(bool isTrusted, int32_t latitude, int32_t longitude, int32_t direction);
278
279/*-----------------------------------------------------------------------------------------------*/
280/**
281 @brief Set the position Delta N-1 from position set in ql_ecall_set_msd_position() transmitted by the MSD.
282 @param[in] latitudeN2 latitude delta from position set in ql_ecall_set_msd_position().
283 @param[in] longitudeN2 longitude delta from position set in ql_ecall_set_msd_position().
284 @return Whether the vehicle location delta was set successfully.
285 @retval QL_ERR_MSD_SUCCESS successful.
286 @retval QL_ERR_MSD_LATITUDE delta latitude unsupported value.
287 @retval QL_ERR_MSD_LONGITUDE delta longitude unsupported value.
288 */
289/*-----------------------------------------------------------------------------------------------*/
290QL_ERR_MSD_RESULT_E ql_ecall_set_msd_position_n1(int32_t latitudeDeltaN1, int32_t longitudeDeltaN1);
291
292/*-----------------------------------------------------------------------------------------------*/
293/**
294 @brief Set the position Delta N-2 from position set in ql_ecall_set_msd_position() transmitted by the MSD.
295 @param[in] latitudeN2 latitude delta from position set in ql_ecall_set_msd_position_n1().
296 @param[in] longitudeN2 longitude delta from position set in ql_ecall_set_msd_position_n1().
297 @return Whether the vehicle location delta was set successfully.
298 @retval QL_ERR_MSD_SUCCESS successful.
299 @retval QL_ERR_MSD_LATITUDE delta latitude unsupported value.
300 @retval QL_ERR_MSD_LONGITUDE delta longitude unsupported value.
301 */
302/*-----------------------------------------------------------------------------------------------*/
303QL_ERR_MSD_RESULT_E ql_ecall_set_msd_position_n2(int32_t latitudeDeltaN2, int32_t longitudeDeltaN2);
304
305/*-----------------------------------------------------------------------------------------------*/
306/**
307 @brief Set MSD TX Mode.
308 @param[in] tx_mode Transmission MSD mode, 0 - PULL, 1 - PUSH.
309 @return Whether the transmission MSD mode was set successfully.
310 @retval QL_ERR_MSD_SUCCESS successful.
311 @retval QL_ERR_MSD_BADPARM unsupported value.
312 */
313/*-----------------------------------------------------------------------------------------------*/
314QL_ERR_MSD_RESULT_E ql_ecall_set_msd_tx_mode(QL_ECALL_MSD_TX_MODE_E tx_mode);
315
316/*-----------------------------------------------------------------------------------------------*/
317/**
318 @brief Get MSD TX Mode.
319 @param[out] tx_mode Pointer to transmission MSD mode, 0 - PULL, 1 - PUSH.
320 */
321/*-----------------------------------------------------------------------------------------------*/
322void ql_ecall_get_msd_tx_mode(QL_ECALL_MSD_TX_MODE_E* tx_mode);
323
324/*-----------------------------------------------------------------------------------------------*/
325/**
326 @brief Set the minimum interval value between dial attempts. Available for both manual and test modes.
327 @param[in] pause the minimum interval value in seconds.
328 @retval ql_type.h
329 */
330/*-----------------------------------------------------------------------------------------------*/
331int ql_ecall_set_interval_between_dial_attempts(uint16_t pause);
332
333/*-----------------------------------------------------------------------------------------------*/
334/**
335 @brief Get the minimum interval value between dial attempts.
336 @param[out] pause pointer to the minimum interval value in seconds.
337 */
338/*-----------------------------------------------------------------------------------------------*/
339void ql_ecall_get_interval_between_dial_attempts(uint16_t* pause);
340
341/*-----------------------------------------------------------------------------------------------*/
342/**
343 @brief Initialize MSD to default values.
344 */
345/*-----------------------------------------------------------------------------------------------*/
346void ql_ecall_msd_init(void);
347
348/*-----------------------------------------------------------------------------------------------*/
349/**
350 @brief Start a test eCall session.
351 @return Whether the test ecall was started successfully.
352 @retval QL_ERR_MSD_SUCCESS successful.
353 @retval QL_ERR_MSD_BADPARM unsupported value.
354 @retval QL_ERR_OK successful.
355 @retval QL_ERR_INVALID_ARG invalid argument.
356 @retval QL_ERR_UNKNOWN unknown error, failed to connect to service.
357 @retval QL_ERR_SERVICE_NOT_READY service is not ready, need to retry.
358 @retval Other error code defined by ql_type.h.
359 */
360/*-----------------------------------------------------------------------------------------------*/
361int ql_ecall_start_test(int sim_id);
362
363/*-----------------------------------------------------------------------------------------------*/
364/**
365 @brief Start a manual eCall session.
366 @return Whether the manually triggered ecall was started successfully.
367 @retval QL_ERR_MSD_SUCCESS successful.
368 @retval QL_ERR_MSD_BADPARM unsupported value.
369 @retval Other MSD error code defined by QL_ERR_MSD_RESULT_E.
370 @retval QL_ERR_OK successful.
371 @retval QL_ERR_INVALID_ARG invalid argument.
372 @retval QL_ERR_UNKNOWN unknown error, failed to connect to service.
373 @retval QL_ERR_SERVICE_NOT_READY service is not ready, need to retry.
374 @retval Other error code defined by ql_type.h.
375 */
376/*-----------------------------------------------------------------------------------------------*/
377int ql_ecall_start_manual(int sim_id);
378
379/*-----------------------------------------------------------------------------------------------*/
380/**
381 @brief Start an automatic eCall session.
382 @return Whether the automatically triggered ecall was started successfully.
383 @retval QL_ERR_MSD_SUCCESS successful.
384 @retval QL_ERR_MSD_BADPARM unsupported value.
385 @retval Other MSD error code defined by QL_ERR_MSD_RESULT_E.
386 @retval QL_ERR_OK successful.
387 @retval QL_ERR_INVALID_ARG invalid argument.
388 @retval QL_ERR_UNKNOWN unknown error, failed to connect to service.
389 @retval QL_ERR_SERVICE_NOT_READY service is not ready, need to retry.
390 @retval Other error code defined by ql_type.h.
391 */
392/*-----------------------------------------------------------------------------------------------*/
393int ql_ecall_start_automatic(int sim_id);
394
395/*-----------------------------------------------------------------------------------------------*/
396/**
397 @brief Initializes ecall service.
398 @return Whether the ecall service was initialized successfully.
399 @retval QL_ERR_OK successful.
400 @retval QL_ERR_SERVICE_NOT_READY service is not ready, need to retry.
401 @retval Other error code defined by ql_type.h.
402 */
403/*-----------------------------------------------------------------------------------------------*/
404int ql_ecall_init(void);
405
406/*-----------------------------------------------------------------------------------------------*/
407/**
408 @brief Deinitializes ecall service.
409 @return Whether the ecall service was deinitialized successfully.
410 @retval QL_ERR_OK successful.
411 @retval QL_ERR_SERVICE_NOT_READY service is not ready, need to retry.
412 @retval Other error code defined by ql_type.h.
413 */
414/*-----------------------------------------------------------------------------------------------*/
415int ql_ecall_deinit(void);
416
417/*-----------------------------------------------------------------------------------------------*/
418/**
419 @brief Sets ecall User indication callback.
420 @param[in] cb call back handler.
421 @param[in] userdata user data.
422 @return void
423 */
424/*-----------------------------------------------------------------------------------------------*/
425void ql_ecall_set_user_ind_cb(ql_ecall_user_ind_f cb, void *userdata);
426
427/*-----------------------------------------------------------------------------------------------*/
428/**
429 @brief Dials eCall.
430 @param[in] sim_id sim id.
431 @param[in] p_info eCall info.
432 @param[out] p_id call id.
433 @return Whether a eCall was successfully dialed.
434 @retval QL_ERR_OK successful.
435 @retval QL_ERR_INVALID_ARG invalid argument.
436 @retval QL_ERR_UNKNOWN unknown error, failed to connect to service.
437 @retval QL_ERR_SERVICE_NOT_READY service is not ready, need to retry.
438 @retval Other error code defined by ql_type.h.
439 */
440/*-----------------------------------------------------------------------------------------------*/
441int ql_ecall_dial(int sim_id, const ql_voice_ecall_info_t* const p_info, uint32_t* const p_id);
442
443/*-----------------------------------------------------------------------------------------------*/
444/**
445 @brief Hangs up eCall.
446 @return Whether the eCall was successfully hung up.
447 @retval QL_ERR_OK successful.
448 @retval QL_ERR_INVALID_ARG invalid argument.
449 @retval QL_ERR_UNKNOWN unknown error, failed to connect to service.
450 @retval QL_ERR_SERVICE_NOT_READY service is not ready, need to retry.
451 @retval Other error code defined by ql_type.h.
452 */
453/*-----------------------------------------------------------------------------------------------*/
454int ql_ecall_hangup(void);
455
456/*-----------------------------------------------------------------------------------------------*/
457/**
458 @brief Updates eCall MSD with raw data.
459 @param[in] msd Minimum Set of Data.
460 @param[in] msd_len Length of Minimum Set of Data.
461 @return Whether the eCall MSD was successfully updated.
462 @retval QL_ERR_OK successful.
463 @retval QL_ERR_INVALID_ARG invalid argument.
464 @retval QL_ERR_UNKNOWN unknown error, failed to connect to service.
465 @retval QL_ERR_SERVICE_NOT_READY service is not ready, need to retry.
466 @retval Other error code defined by ql_type.h.
467 */
468/*-----------------------------------------------------------------------------------------------*/
469int ql_ecall_update_msd_raw(const uint8_t* msd, uint32_t msd_len);
470
471/*-----------------------------------------------------------------------------------------------*/
472/**
473 @brief Updates eCall MSD.
474 @return Whether the eCall MSD was successfully updated.
475 @retval QL_ERR_OK successful.
476 @retval QL_ERR_INVALID_ARG invalid argument.
477 @retval QL_ERR_UNKNOWN unknown error, failed to connect to service.
478 @retval QL_ERR_SERVICE_NOT_READY service is not ready, need to retry.
479 @retval Other error code defined by ql_type.h.
480 */
481/*-----------------------------------------------------------------------------------------------*/
482int ql_ecall_update_msd(void);
483
484/*-----------------------------------------------------------------------------------------------*/
485/**
486 @brief Pushes eCall MSD.
487 @param[out] state eCall state.
488 @return Whether the eCall MSD was successfully pushed.
489 @retval QL_ERR_OK successful.
490 @retval QL_ERR_INVALID_ARG invalid argument.
491 @retval QL_ERR_UNKNOWN unknown error, failed to connect to service.
492 @retval QL_ERR_SERVICE_NOT_READY service is not ready, need to retry.
493 @retval Other error code defined by ql_type.h.
494 */
495/*-----------------------------------------------------------------------------------------------*/
496int ql_ecall_push_msd(void);
497
498/*-----------------------------------------------------------------------------------------------*/
499/**
500 @brief Setting ecall test number. Number will be saved on the modem side.
501 @param[in] number test number
502 @return
503 QL_ERR_OK - successful
504 Other - error code defined by ql_type.h
505 */
506/*-----------------------------------------------------------------------------------------------*/
507int ql_ecall_set_test_number(int sim_id, const char* number);
508
509/*-----------------------------------------------------------------------------------------------*/
510/**
511 @brief Setting ecall test number. Number will be saved on the modem side.
512 @param[in] number test number
513 @return
514 QL_ERR_OK - successful
515 Other - error code defined by ql_type.h
516 */
517/*-----------------------------------------------------------------------------------------------*/
518int ql_ecall_reset_test_number(int sim_id, const char* number);
519
520/*-----------------------------------------------------------------------------------------------*/
521/**
522 @brief Reset IVS during ecall session and switch to voice.
523 @return
524 QL_ERR_OK - successful
525 Other - error code defined by ql_type.h
526 */
527/*-----------------------------------------------------------------------------------------------*/
528int ql_ecall_reset_ivs(int sim_id);
529
530#if 0
531/*-----------------------------------------------------------------------------------------------*/
532/**
533 @brief Starts ecall session.
534 @return
535 QL_ERR_OK - successful
536 Other - error code defined by ql_type.h
537 */
538/*-----------------------------------------------------------------------------------------------*/
539int ql_ecall_make_ecall(int sim_id, QL_ECALL_MAKE_ECALL_TYPE ecall_type);
540#endif
541
542/*-----------------------------------------------------------------------------------------------*/
543/**
544 @brief Deregister from Network.
545 @return Whether a request was executed.
546 @retval QL_ERR_OK successful.
547 @retval Other error code defined by ql_type.h.
548 */
549/*-----------------------------------------------------------------------------------------------*/
550int ql_ecall_terminate_nw_registration(void);
551
552void ql_ecall_set_config_info(ql_ecall_config_t ecall_context_info);
553
554void ql_ecall_get_config_info(ql_ecall_config_t* ecall_context_info);
555
556int ql_ecall_set_ecall_only_mode(bool ecall_only_value);
557#ifdef __cplusplus
558}
559#endif
560
561#endif /* __ECALL_H__ */