RDK-B
voice_hal.h
Go to the documentation of this file.
1 /*
2  * If not stated otherwise in this file or this component's LICENSE file the
3  * following copyright and licenses apply:
4  *
5  * Copyright 2016 RDK Management
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18 */
19 
20 /**
21 * @file voice_hal.h
22 * @author sky
23 * @brief For CCSP Component: CcspTelcoVoIPAgent
24 *
25 * @description This header file gives the function call prototypes and structure
26 * definitions used for the RDK-Broadband hardware abstraction layer for VoIP
27 */
28 
29 /**********************************************************************
30 
31  module: voice_hal.h
32 
33  For CCSP Component: CcspTelcoVoIPAgent
34 
35  ---------------------------------------------------------------
36 
37  description:
38 
39  This header file gives the function call prototypes and
40  structure definitions used for the RDK-Broadband
41  hardware abstraction layer for VoIP
42 
43  ---------------------------------------------------------------
44 
45  environment:
46 
47  This HAL layer is intended to support VoIP drivers
48  through an open API.
49  Changes may be needed to support different hardware enviornments.
50 
51  ---------------------------------------------------------------
52 
53  author:
54 
55  Sky
56 
57 **********************************************************************/
58 
59 
60 #ifndef __voice_hal_H__
61 #define __voice_hal_H__
62 
63 #include <stdint.h>
64 #include <stdbool.h>
65 #include <sys/socket.h>
66 #include <netinet/in.h>
67 
68 #include <stdint.h>
69 
70 /**
71  * @defgroup VOICE_HAL VOICE HAL
72  *
73  * @defgroup VOICE_HAL_TYPES VOICE HAL Data Types
74  * @ingroup VOICE_HAL
75  *
76  * @defgroup VOICE_HAL_APIS VOICE HAL APIs
77  * @ingroup VOICE_HAL
78  *
79  **/
80 /**********************************************************************
81  CONSTANT DEFINITIONS
82 **********************************************************************/
83 /**
84  * @addtogroup VOICE_HAL_TYPES
85  * @{
86  */
87 
88 /* Curiously, rdk_error.h only defines RDK_SUCCESS.
89  * Here, additional Voice specific error codes are defined.
90  * Follow the general Posix format that negative integers are errors.
91  */
92 #define RETURN_ERROR (-1)
93 #define RETURN_OK 0
94 
95 #ifndef RDK_SUCCESS
96 #define RDK_SUCCESS (0) /*No Error*/
97 #endif
98 #define RDK_FAILURE (-1) /*any other failure*/
99 #define RDK_ERROR_PARAM (-2) /* NULL pointers mainly */
100 #define RDK_ERROR_RANGE (-3) /* Value provided, but out of permitted range */
101 #define RDK_ERROR_OOM (-4) /* Out of memory, usually malloc failed */
102 
103 #undef VOICE_UNSUPPORTED_PARAMS /*Writable Region specific parameter APIs disabled(Currently no datamodel to configure these) */
104 
105 /**********************************************************************
106  ENUMERATION DEFINITIONS
107 **********************************************************************/
108 
109 typedef enum /* telephone line state */
110 {
120 
121 typedef enum /* telephone line state */
122 {
127 
128 typedef enum /* telephone call status */
129 {
138 
139 typedef enum
140 {
147 
148 typedef enum
149 {
153 
154 typedef enum
155 {
159 
160 typedef enum
161 {
165 
166 typedef enum
167 {
171 
172 typedef enum
173 {
177 
178 typedef enum
179 {
185 
186 typedef enum {
193 
194 typedef enum
195 {
202 
203 /**********************************************************************
204  STRUCTURE DEFINITIONS
205 **********************************************************************/
206 typedef struct
207 {
208  bool ResetStatistics; /**< ResetStatistics */
209  uint32_t PacketsSent; /**< Total number of RTP packets sent for this line. */
210  uint32_t PacketsReceived; /**< Total number of RTP payload bytes received for this line. */
211  uint32_t BytesSent; /**< Total number of RTP payload bytes sent for this line. */
212  uint32_t BytesReceived; /**< Total number of RTP payload bytes received for this line. */
213  uint32_t PacketsLost; /**< Total number of RTP packets that have been lost for this line. */
214  uint32_t IncomingCallsReceived; /**< Total incoming calls received. */
215  uint32_t IncomingCallsAnswered; /**< Total incoming calls answered by the local user. */
216  uint32_t IncomingCallsConnected; /**< Total incoming calls that successfully completed call setup signalling. */
217  uint32_t IncomingCallsFailed; /**< Total incoming calls that failed to successfully complete call setup signalling. */
218  uint32_t OutgoingCallsAttempted; /**< Total outgoing calls attempted. */
219  uint32_t OutgoingCallsAnswered; /**< Total outgoing calls answered by the remote user. */
220  uint32_t OutgoingCallsConnected; /**< Total outgoing calls that successfully completed call setup signalling. */
221  uint32_t OutgoingCallsFailed; /**< Total outgoing calls that failed to successfully complete call setup signaling. */
222 #ifdef HUB4_SDK_L07
223  uint32_t CallsDropped; /**< Total calls that were successfully connected (incoming or outgoing), but dropped unexpectedly while in progress without explicit user termination. */
224  uint32_t TotalCallTime; /**< Cumulative call duration in seconds. */
225  uint32_t ServerDownTime; /**< The number of seconds the CPE is unable to maintain a connection to the server. SHOULD not include time in which overall network connectivity is unavailable. Applies only to SIP. */
226 #endif
227  uint32_t ReceivePacketLossRate; /**< Current receive packet loss rate in percent, calculated as defined in [section 6.4-RFC3550] */
228  uint32_t FarEndPacketLossRate; /**< Current far end receive packet lost rate in percent, calculated as defined in [Section6.4/RFC3550]. */
229  uint32_t ReceiveInterarrivalJitter; /**< Current receive interarrival jitter in microseconds. Calculated from J(i) as defined in [Section6.4/RFC3550], with units converted to microseconds. */
230  uint32_t FarEndInterarrivalJitter; /**< Current Interarrival jitter in microseconds as reported from the far-end device via RTCP. Calculated from J(i) as defined in [Section64./RFC3550], with units converted to microseconds. */
231  uint32_t RoundTripDelay; /**< Current round trip delay in microseconds calculated as defined in [section 6.4-RFC3550]. */
232  uint32_t AverageReceiveInterarrivalJitter; /**< Average receive interarrival jitter in microseconds since the beginning of the current call. Calculated as the average of D(i,j) as defined in [Section6.4/RFC3550], with units converted to microseconds.*/
233  uint32_t AverageFarEndInterarrivalJitter; /**< Average far-end interarrival jitter in microseconds since the beginning of the current call. Calculated as the average of the interarrival jitter values reported by the far-end, with units converted to microseconds. */
234  uint32_t AverageRoundTripDelay; /**< Average round trip delay in microseconds since the beginning of the current call. Average of the RoundTripDelay statistic accumulated each time the delay is calculated. */
235 #if HUB4_SDK_L07
236  uint32_t OverRuns; /**< Total number of times the receive jitter buffer has overrun for this line. */
237  uint32_t UnderRuns; /**< Total number of times the receive jitter buffer has underrun for this line. */
238 #endif
240 
241 typedef struct
242 {
248 }
250 
251 #define VOICE_HAL_USERNAME_LENGTH (40)
252 #define VOICE_HAL_PASSWORD_LENGTH (40)
253 
254 /* These values are expected to be UTF-8 to support non-UK deployments */
255 typedef struct
256 {
257  uint8_t UserName[VOICE_HAL_USERNAME_LENGTH];
258  uint8_t Password[VOICE_HAL_PASSWORD_LENGTH];
259 }
261 
262 /** @} */ //END OF GROUP VOICE_HAL_TYPES
263 
264 /*****************************************************************************
265  *
266  * Ccsp Telco voice HAL function prototypes
267  *
268  *****************************************************************************/
269 
270 /*****************************************************************************
271  *
272  * Basic management
273  *
274  *****************************************************************************/
275 
276 /**
277  * @addtogroup VOICE_HAL_APIS
278  * @{
279  */
280 
281 /* voice_hal_Init : */
282 /**
283 * @description Init the Voice Hal.
284 * @param None
285 *
286 * @return The status of the operation.
287 * @retval RDK_SUCCESS if successful.
288 * @retval RDK_FAILURE if any error is detected
289 *
290 * @execution Synchronous.
291 * @sideeffect None.
292 
293 *
294 * @note This function must not suspend and must not invoke any blocking system
295 * calls.
296 *
297 */
298 int32_t voice_hal_Init(void);
299 
300 /* voice_hal_InitDB : */
301 /**
302 * @description Retrieves the global information for all shared DBs and makes them accessible locally.
303 * @param None
304 *
305 * @return The status of the operation.
306 * @retval RDK_SUCCESS if successful.
307 * @retval RDK_FAILURE if any error is detected
308 *
309 * @execution Synchronous.
310 * @sideeffect None.
311 
312 *
313 * @note This function must not suspend and must not invoke any blocking system
314 * calls.
315 *
316 */
317 int32_t voice_hal_InitDB(void);
318 
319 /* voice_hal_Deinit : */
320 /**
321 * @description Releases all resources & closes all connections made during voice_hal_Init().
322 * @param None
323 *
324 * @return The status of the operation.
325 * @retval RDK_SUCCESS if successful.
326 * @retval RDK_FAILURE if any error is detected
327 *
328 * @execution Synchronous.
329 * @sideeffect None.
330 *
331 *
332 * @note This function must not suspend and must not invoke any blocking system
333 * calls. Since no sensible action can be taken on the RDK_FAILURE case, just log it & ignore.
334 *
335 */
336 int32_t voice_hal_Deinit(void);
337 
338 /* voice_hal_DeinitDB : */
339 /**
340 * @description Releases all resources & closes all connections made during voice_hal_InitDB().
341 * @param None
342 *
343 * @return The status of the operation.
344 * @retval RDK_SUCCESS if successful.
345 * @retval RDK_FAILURE if any error is detected
346 *
347 * @execution Synchronous.
348 * @sideeffect None.
349 
350 *
351 * @note This function must not suspend and must not invoke any blocking system
352 * calls. Since no sensible action can be taken on the RDK_FAILURE case, just log it & ignore.
353 *
354 */
355 int32_t voice_hal_DeinitDB(void);
356 
357 /* voice_hal_setVoiceProcessState /
358 
359  @description controls the voice process under HAL, to start, stop or restart *
360  @param uint32_t service - input the voice service
361  @param enum VoiceProcessStateRequest_e voice_state - can be in following states
362  VOICE_PROCESS_STATE_STOP
363  VOICE_PROCESS_STATE_START
364  VOICE_PROCESS_STATE_RESTART *
365  @return The status of the operation.
366  @retval RDK_SUCCESS if successful.
367  @retval RDK_FAILURE if any error is detected *
368  @execution Synchronous.
369  @sideeffect None.
370  return RDK_SUCCESS;
371  */
372 int32_t voice_hal_setVoiceProcessState(uint32_t service, VoiceProcessStateRequest_e voice_state);
373 
374 /* voice_hal_getVoiceProcessState /
375 
376  @description Gets the voice process state that was previously set *
377  @param uint32_t service - input the voice service
378  @param enum VoiceProcessStateRequest_e *pvoice_state - can be in following states
379  VOICE_PROCESS_STATE_STOP
380  VOICE_PROCESS_STATE_START
381  VOICE_PROCESS_STATE_RESTART *
382  @return The status of the operation.
383  @retval RDK_SUCCESS if successful.
384  @retval RDK_FAILURE if any error is detected *
385  @execution Synchronous.
386  @sideeffect None.
387  return RDK_SUCCESS;
388  */
389 int32_t voice_hal_getVoiceProcessState(uint32_t service, VoiceProcessStateRequest_e *pvoice_state);
390 
391 /* voice_hal_getVoiceProcessStatus /
392 
393  @description gets the current execution state of the voice process under HAL
394  @param uint32_t service - input the voice service
395  @param enum VoiceProcessStatus_e *pvoice_status - can be following
396  VOICE_PROCESS_STATUS_STOPPED
397  VOICE_PROCESS_STATUS_STARTING
398  VOICE_PROCESS_STATUS_STARTED
399  VOICE_PROCESS_STATUS_STOPPING *
400  @return The status of the operation.
401  @retval RDK_SUCCESS if successful.
402  @retval RDK_FAILURE if any error is detected *
403  @execution Synchronous.
404  @sideeffect None.
405  return RDK_SUCCESS;
406  */
407 int32_t voice_hal_getVoiceProcessStatus(uint32_t service, VoiceProcessStatus_e *pvoice_status);
408 
409 /* voice_hal_getServiceVersion: */
410 /**
411 * @description Get a string identifying the voice software present
412 * @param char *service_version - output a pointer to a null-terminated string identifying the voice software version
413 * The returned string will be ASCII (7-bit, no Unicode/UTF-8)
414 * @param uint32_t *pLength - input/output the buffer length
415 *
416 * @return The status of the operation.
417 * @retval RDK_SUCCESS if successful.
418 * @retval RDK_FAILURE if any error is detected
419 *
420 * @execution Synchronous.
421 * @sideeffect None.
422 *
423 */
424 int32_t voice_hal_getServiceVersion(char *service_version, uint32_t *pLength);
425 
426 /* voice_hal_getConfigSoftwareVersion: */
427 /**
428 * @description Get a string identifying the software configuration version
429 * @param char *config_version - output a pointer to a null-terminated string identifying the software configuration version
430 * The returned string will be ASCII (7-bit, no Unicode/UTF-8)
431 * @param uint32_t *pLength - input/output the buffer length
432 *
433 * @return The status of the operation.
434 * @retval RDK_SUCCESS if successful.
435 * @retval RDK_FAILURE if any error is detected
436 *
437 * @execution Synchronous.
438 * @sideeffect None.
439 *
440 */
441 int32_t voice_hal_getConfigSoftwareVersion(uint32_t service, char *config_version, uint32_t *pLength);
442 
443 /*****************************************************************************
444  *
445  * Service/profile/line/physical interface enumeration
446  *
447  *****************************************************************************/
448 
449 /* voice_hal_getCountServices: */
450 /**
451 * @description Get the count of voice services present. Used to enumerate through services
452 * @param uint32_t *serviceCount - output on return the number of voice services present
453 *
454 * @return The status of the operation.
455 * @retval RDK_SUCCESS if successful.
456 * @retval RDK_FAILURE if any error is detected
457 *
458 * @execution Synchronous.
459 * @sideeffect None.
460 *
461 */
462 int32_t voice_hal_getCountServices(uint32_t *serviceCount);
463 
464 /* voice_hal_getCountProfiles: */
465 /**
466 * @description Get the count of profiles present. Used to enumerate through profiles
467 * @param uint32_t service - input the voice service whose profiles are being queried
468 * @param uint32_t *profileCount - output on return the number of voice profiles present
469 *
470 * @return The status of the operation.
471 * @retval RDK_SUCCESS if successful.
472 * @retval RDK_FAILURE if any error is detected
473 *
474 * @execution Synchronous.
475 * @sideeffect None.
476 *
477 */
478 int32_t voice_hal_getCountProfiles(uint32_t service, uint32_t *profileCount);
479 
480 /* voice_hal_getCountLines: */
481 /**
482 * @description Get the count of voice lines present. Used to enumerate through servcies/profiles/lines
483 * @param uint32_t service - input the voice service whose profiles are being queried
484 * @param uint32_t profile - input the profile being queried
485 * @param uint32_t *lineCount - output on return the number of voice profiles present
486 *
487 * @return The status of the operation.
488 * @retval RDK_SUCCESS if successful.
489 * @retval RDK_FAILURE if any error is detected
490 *
491 * @execution Synchronous.
492 * @sideeffect None.
493 *
494 */
495 int32_t voice_hal_getCountLines(uint32_t service, uint32_t profile, uint32_t *lineCount);
496 
497 /* voice_hal_getCountPhyInterfaces: */
498 /**
499 * @description Get the count of physical interfaces present. Used to enumerate them in testing
500 * @param uint32_t service - input the voice service for which the number of interfaces is being queried
501 * @param uint32_t *phyCount - output on return the number of v present
502 *
503 * @return The status of the operation.
504 * @retval RDK_SUCCESS if successful.
505 * @retval RDK_FAILURE if any error is detected
506 *
507 * @execution Synchronous.
508 * @sideeffect None.
509 *
510 */
511 int32_t voice_hal_getCountPhyInterfaces(uint32_t service, uint32_t *phyCount);
512 
513 /*** Network interfaces ***/
514 
515 /* voice_hal_getBoundIfName: */
516 /**
517 * @description Get a string idntifying the interface to which this service is bound
518 *
519 * @param uint32_t service - input the voice service being queried
520 * @param char *bound_if_name - output pointer to the name of the interface,
521 * or the special values 'Any_WAN', 'Any_LAN'.
522 * @param unsigned int *pLength - input/output the buffer length
523 *
524 * @return The status of the operation.
525 * @retval RDK_SUCCESS if successful.
526 * @retval RDK_FAILURE if any error is detected
527 *
528 * @execution Synchronous.
529 * @sideeffect None.
530 *
531 */
532 int32_t voice_hal_getBoundIfName(uint32_t service, char *bound_if_name, uint32_t *pLength);
533 
534 /* voice_hal_setBoundIfName: */
535 /**
536 * @description Set the interface to which the specified service is bound
537 *
538 * @param uint32_t service - input the voice service being configured
539 * @param const char *bound_if_name - input the name of the interface,
540 * or the special values 'Any_WAN', 'Any_LAN'.
541 *
542 * @return The status of the operation.
543 * @retval RDK_SUCCESS if successful.
544 * @retval RDK_FAILURE if any error is detected
545 *
546 * @execution Synchronous.
547 * @sideeffect None.
548 *
549 */
550 int32_t voice_hal_setBoundIfName(uint32_t service, const char *bound_if_name);
551 
552 /* voice_hal_setIpAddressFamily: */
553 /**
554 * @description Set either IPv4 or IPv6 addressing for voice
555 *
556 * @param uint32_t service - input the voice service being configured
557 * @param char *address_family - input the AF type,
558 *
559 * @return The status of the operation.
560 * @retval RDK_SUCCESS if successful.
561 * @retval RDK_FAILURE if any error is detected
562 *
563 * @execution Synchronous.
564 * @sideeffect None.
565 *
566 */
567 int32_t voice_hal_setIpAddressFamily(uint32_t service, const char *address_family);
568 
569 /* voice_hal_getIpAddressFamily: */
570 /**
571 * @description get the address family for voice either IPv4 or IPv6
572 *
573 * @param uint32_t service - input the voice service being configured
574 * @param char *p_address_family - output pointer to the AF type,
575 * @param uint32_t *pLength - input/output the buffer length
576 *
577 * @return The status of the operation.
578 * @retval RDK_SUCCESS if successful.
579 * @retval RDK_FAILURE if any error is detected
580 *
581 * @execution Synchronous.
582 * @sideeffect None.
583 * return RDK_SUCCESS;
584 */
585 int32_t voice_hal_getIpAddressFamily(uint32_t service, char *address_family, uint32_t *pLength);
586 
587 /*****************************************************************************
588  *
589  * Link state/address event handlers
590  *
591  *****************************************************************************/
592 
593 /* voice_hal_setLinkState: */
594 /**
595 * @description In response to the link state event, set the link state to up or down
596 *
597 * @param VoiceHalIpLinkState_e state - input either VOICE_HAL_IP_LINK_STATE_DOWN or VOICE_HAL_IP_LINK_STATE_UP
598 *
599 * @return The status of the operation.
600 * @retval RDK_SUCCESS if successful.
601 * @retval RDK_FAILURE if any error is detected
602 *
603 * @execution Synchronous.
604 * @sideeffect None.
605 *
606 */
608 
609 /* voice_hal_setIpWanAddress: */
610 /**
611 * @description In response to the ipv4/ipv6_wan_ipaddr events, set the IPv6 WAN address
612 *
613 * @param uint32_t service - input the voice service whose IP address is to be set
614 * @param const char *boundIpAddress - IP address of WAN interface
615 *
616 * @return The status of the operation.
617 * @retval RDK_SUCCESS if successful.
618 * @retval RDK_FAILURE if any error is detected
619 *
620 * @execution Synchronous.
621 * @sideeffect None.
622 *
623 */
624 int32_t voice_hal_setIpWanAddress(uint32_t service, const char *boundIpAddress);
625 
626 /* voice_hal_getIpWanAddress: */
627 /**
628 * @description Get the WAN address (IPv4 or IPv6)
629 *
630 * @param uint32_t service - input the voice service whose IP address is to be retrieved
631 * @param char *boundIpAddress - IP address of WAN interface, space is allocated by the caller
632 * @param uint32_t *pLength - max input buffer length
633 *
634 * @return The status of the operation.
635 * @retval RDK_SUCCESS if successful.
636 * @retval RDK_FAILURE if any error is detected
637 *
638 * @execution Synchronous.
639 * @sideeffect None.
640 *
641 */
642 int32_t voice_hal_getIpWanAddress(uint32_t service, char *boundIpAddress, uint32_t *pLength);
643 
644 
645 
646 /*****************************************************************************
647  *
648  * Diagnostics
649  *
650  *****************************************************************************/
651 
652 /* voice_hal_getTestState: */
653 /**
654 * @description get the state of the diagnostic test system - ready/busy/in error
655 *
656 * @param uint32_t service - input the voice service being configured
657 * @param char *phy_interface - input the physical network interface being queried
658 * @param char *testState - output the AF type,
659 * @param uint32_t *pLength - input/output buffer length
660 *
661 * @return The status of the operation.
662 * @retval RDK_SUCCESS if successful.
663 * @retval RDK_FAILURE if any error is detected
664 *
665 * @execution Synchronous.
666 * @sideeffect None.
667 *
668 */
669 int32_t voice_hal_getTestState(uint32_t service, uint32_t phy_interface,
670  char *testState, uint32_t *pLength);
671 
672 /* voice_hal_setTestState: */
673 /**
674 * @description set the state of the diagnostic test system - requested
675 *
676 * @param uint32_t service - input the voice service being configured
677 * @param uint32_t phy_interface - input the physical network interface being queried
678 * @param char *testState - state of the diag test,
679 *
680 * @return The status of the operation.
681 * @retval RDK_SUCCESS if successful.
682 * @retval RDK_FAILURE if any error is detected
683 *
684 * @execution Synchronous.
685 * @sideeffect None.
686 *
687 */
688 int32_t voice_hal_setTestState(uint32_t service, uint32_t phy_interface,
689  char *testState);
690 
691 
692 /* voice_hal_getTestResult: */
693 /**
694 * @description get the result of the selected test
695 *
696 * @param uint32_t service - input the voice service being queried
697 * @param uint32_t phy_interface - input the physical network interface being queried
698 * @param char *test_result - output the test result
699 * @param uint32_t *pLength - input/output buffer length
700 *
701 * @return The status of the operation.
702 * @retval RDK_SUCCESS if successful.
703 * @retval RDK_FAILURE if any error is detected
704 *
705 * @execution Synchronous.
706 * @sideeffect None.
707 *
708 */
709 int32_t voice_hal_getTestResult(uint32_t service, uint32_t phy_interface, char *test_result, uint32_t *pLength);
710 
711 /* voice_hal_setTestSelector: */
712 /**
713 * @description select the test to be performed
714 *
715 * @param uint32_t service - input the voice service being queried
716 * @param uint32_t phy_interface - input the physical network interface being queried
717 * @param char *test_selector - input the GR-909 test to perform
718 *
719 * @return The status of the operation.
720 * @retval RDK_SUCCESS if successful.
721 * @retval RDK_FAILURE if any error is detected
722 *
723 * @execution Synchronous.
724 * @sideeffect None.
725 *
726 */
727 int32_t voice_hal_setTestSelector(uint32_t service, uint32_t phy_interface, char *test_selector);
728 
729 /* voice_hal_getTestSelector: */
730 /**
731 * @description read the number of the most recently performed test
732 *
733 * @param uint32_t service - input the voice service being queried
734 * @param uint32_t phy_interface - input the physical network interface being queried
735 * @param uint32_t *test_selector - output the GR-909 test last started
736 * @param uint32_t *pLength - input/output buffer length
737 *
738 * @return The status of the operation.
739 * @retval RDK_SUCCESS if successful.
740 * @retval RDK_FAILURE if any error is detected
741 *
742 * @execution Synchronous.
743 * @sideeffect None.
744 *
745 */
746 int32_t voice_hal_getTestSelector(uint32_t service, uint32_t phy_interface, char *testSelector, uint32_t *pLength);
747 
748 /* voice_hal_getPOSTTipGroundVoltageACParameter: */
749 /**
750 * @description get the POST result for Tip Ground Voltage AC
751 *
752 * @param uint32_t service - input the voice service index
753 * @param uint32_t uiPhyInterface - input the uiPhyInterface index
754 * @param char* pValue - output the POST parameter value
755 * @param uint32_t* pLength - input/output the buffer size
756 *
757 * @return The status of the operation.
758 * @retval RDK_SUCCESS if successful.
759 * @retval RDK_FAILURE if any error is detected
760 * @retval RDK_ERROR_OOM if buffer length insufficient
761 *
762 * @execution Synchronous.
763 * @sideeffect None.
764 *
765 */
766 int32_t voice_hal_getPOSTTipGroundVoltageACParameter(uint32_t service, uint32_t phy_interface, char *pValue, uint32_t *pLength);
767 
768 /* voice_hal_getPOSTTipGroundVoltageDCParameter: */
769 /**
770 * @description get the POST result for Tip Ground Voltage DC
771 *
772 * @param uint32_t service - input the voice service index
773 * @param uint32_t uiPhyInterface - input the uiPhyInterface index
774 * @param char* pValue - output the POST parameter value
775 * @param uint32_t* pLength - input/output the buffer size
776 *
777 * @return The status of the operation.
778 * @retval RDK_SUCCESS if successful.
779 * @retval RDK_FAILURE if any error is detected
780 * @retval RDK_ERROR_OOM if buffer length insufficient
781 *
782 * @execution Synchronous.
783 * @sideeffect None.
784 *
785 */
786 int32_t voice_hal_getPOSTTipGroundVoltageDCParameter(uint32_t service, uint32_t phy_interface, char *pValue, uint32_t *pLength);
787 
788 /* voice_hal_getPOSTRingGroundVoltageACParameter: */
789 /**
790 * @description get the POST result for Ring Ground Voltage AC
791 *
792 * @param uint32_t service - input the voice service index
793 * @param uint32_t uiPhyInterface - input the uiPhyInterface index
794 * @param char* pValue - output the POST parameter value
795 * @param uint32_t* pLength - input/output the buffer size
796 *
797 * @return The status of the operation.
798 * @retval RDK_SUCCESS if successful.
799 * @retval RDK_FAILURE if any error is detected
800 * @retval RDK_ERROR_OOM if buffer length insufficient
801 *
802 * @execution Synchronous.
803 * @sideeffect None.
804 *
805 */
806 int32_t voice_hal_getPOSTRingGroundVoltageACParameter(uint32_t service, uint32_t phy_interface, char *pValue, uint32_t *pLength);
807 
808 /* voice_hal_getPOSTRingGroundVoltageDCParameter: */
809 /**
810 * @description get the POST result for Ring Ground Voltage DC
811 *
812 * @param uint32_t service - input the voice service index
813 * @param uint32_t uiPhyInterface - input the uiPhyInterface index
814 * @param char* pValue - output the POST parameter value
815 * @param uint32_t* pLength - input/output the buffer size
816 *
817 * @return The status of the operation.
818 * @retval RDK_SUCCESS if successful.
819 * @retval RDK_FAILURE if any error is detected
820 * @retval RDK_ERROR_OOM if buffer length insufficient
821 *
822 * @execution Synchronous.
823 * @sideeffect None.
824 *
825 */
826 int32_t voice_hal_getPOSTRingGroundVoltageDCParameter(uint32_t service, uint32_t phy_interface, char *pValue, uint32_t *pLength);
827 
828 /* voice_hal_getPOSTTipGroundImpedanceParameter: */
829 /**
830 * @description get the POST result for Tip Ground Impedance
831 *
832 * @param uint32_t service - input the voice service index
833 * @param uint32_t uiPhyInterface - input the uiPhyInterface index
834 * @param char* pValue - output the POST parameter value
835 * @param uint32_t* pLength - input/output the buffer size
836 *
837 * @return The status of the operation.
838 * @retval RDK_SUCCESS if successful.
839 * @retval RDK_FAILURE if any error is detected
840 * @retval RDK_ERROR_OOM if buffer length insufficient
841 *
842 * @execution Synchronous.
843 * @sideeffect None.
844 *
845 */
846 int32_t voice_hal_getPOSTTipGroundImpedanceParameter(uint32_t service, uint32_t phy_interface, char *pValue, uint32_t *pLength);
847 
848 /* voice_hal_getPOSTRingGroundImpedanceParameter: */
849 /**
850 * @description get the POST result for Ring Ground Impedance
851 *
852 * @param uint32_t service - input the voice service index
853 * @param uint32_t uiPhyInterface - input the uiPhyInterface index
854 * @param char* pValue - output the POST parameter value
855 * @param uint32_t* pLength - input/output the buffer size
856 *
857 * @return The status of the operation.
858 * @retval RDK_SUCCESS if successful.
859 * @retval RDK_FAILURE if any error is detected
860 * @retval RDK_ERROR_OOM if buffer length insufficient
861 *
862 * @execution Synchronous.
863 * @sideeffect None.
864 *
865 */
866 int32_t voice_hal_getPOSTRingGroundImpedanceParameter(uint32_t service, uint32_t phy_interface, char *pValue, uint32_t *pLength);
867 
868 /* voice_hal_getPOSTTipRingImpedanceParameter: */
869 /**
870 * @description get the POST result for Tip Ring Impedance
871 *
872 * @param uint32_t service - input the voice service index
873 * @param uint32_t uiPhyInterface - input the uiPhyInterface index
874 * @param char* pValue - output the POST parameter value
875 * @param uint32_t* pLength - input/output the buffer size
876 *
877 * @return The status of the operation.
878 * @retval RDK_SUCCESS if successful.
879 * @retval RDK_FAILURE if any error is detected
880 * @retval RDK_ERROR_OOM if buffer length insufficient
881 *
882 * @execution Synchronous.
883 * @sideeffect None.
884 *
885 */
886 int32_t voice_hal_getPOSTTipRingImpedanceParameter(uint32_t service, uint32_t phy_interface, char *pValue, uint32_t *pLength);
887 
888 /*****************************************************************************
889  *
890  * Calling features - call waiting, caller ID ...
891  *
892  *****************************************************************************/
893 
894 /* voice_hal_setCallingFeatures: */
895 /**
896 * @description enable or disable the calling features for this line
897 *
898 * @param uint32_t service - input the voice service
899 * @param uint32_t profile - input the voice profile
900 * @param uint32_t line - input the voice line number
901 * @param VoiceCallFeatureType_e eFeature - input the voice calling feature type
902 * @param bool bStatus - input the voice calling feature status
903 *
904 * @return The status of the operation.
905 * @retval RDK_SUCCESS if successful.
906 * @retval RDK_FAILURE if any error is detected
907 *
908 * @execution Synchronous.
909 * @sideeffect None.
910 *
911 */
912 int32_t voice_hal_setCallingFeatures(uint32_t service, uint32_t profile, uint32_t line, VoiceCallFeatureType_e eFeature, bool bStatus);
913 
914 /* voice_hal_getCallingFeatures: */
915 /**
916 * @description read the calling features for this line
917 *
918 * @param uint32_t service - input the voice service
919 * @param uint32_t profile - input the voice profile
920 * @param uint32_t line - input the voice line number
921 * @param VoiceCallFeatureType_e eFeature - input the voice calling feature type
922 * @param bool *pStatus - output the voice calling feature status
923 *
924 * @return The status of the operation.
925 * @retval RDK_SUCCESS if successful.
926 * @retval RDK_FAILURE if any error is detected
927 *
928 * @execution Synchronous.
929 * @sideeffect None.
930 *
931 */
932 int32_t voice_hal_getCallingFeatures(uint32_t service, uint32_t profile, uint32_t line, VoiceCallFeatureType_e eFeature, bool *pStatus);
933 
934 /*****************************************************************************
935  *
936  * Proxies and servers
937  *
938  *****************************************************************************/
939 
940 /* voice_hal_getOutboundProxyAddresses: */
941 /**
942 * @description get a list of the resolved IP addresses from the FQDN of the configured outbound proxy
943 *
944 * @param uint32_t service - input the voice service affected
945 * @param uint32_t profile - input the voice profile affected
946 * @param uint32_t line - input the voice line number
947 * @param char **pProxyAddresses - output the list of resolved IP addresses as a null-terminated string
948 * e.g. "192.168.0.1 192.168.20.10" etc
949 * @param uint32_t *pLength - input/output buffer length
950 *
951 * @return The status of the operation.
952 * @retval RDK_SUCCESS if successful.
953 * @retval RDK_FAILURE if any error is detected
954 *
955 * @execution Synchronous.
956 * @sideeffect None.
957 *
958 */
959 int32_t voice_hal_getOutboundProxyAddresses(uint32_t service, uint32_t profile, uint32_t line, char *pProxyAddresses, uint32_t *pLength);
960 
961 /* voice_hal_getOutboundProxy: */
962 /**
963 * @description get the name/address of the SIP outbound proxy
964 *
965 * @param uint32_t service - input the voice service affected
966 * @param uint32_t profile - input the voice profile affected
967 * @param char *ipNameAddress - output the name or IP address of Outbound proxy
968 * e.g. "10.241.16.3" or "proxy.sky.com"
969 * @param uint32_t *pLength - input/output buffer length
970 *
971 * @return The status of the operation.
972 * @retval RDK_SUCCESS if successful.
973 * @retval RDK_FAILURE if any error is detected
974 *
975 * @execution Synchronous.
976 * @sideeffect None.
977 *
978 */
979 int32_t voice_hal_getOutboundProxy(uint32_t service, uint32_t profile, char *ipNameAddress, uint32_t *pLength);
980 /* voice_hal_setOutboundProxy: */
981 /**
982 * @description set the name/address of the SIP outbound proxy
983 *
984 * @param uint32_t service - input the voice service affected
985 * @param uint32_t profile - input the voice profile affected
986 * @param char *ipNameAddress - input the name or IP address of Outbound proxy
987 * e.g. "10.241.16.3" or "proxy.sky.com"
988 *
989 * @return The status of the operation.
990 * @retval RDK_SUCCESS if successful.
991 * @retval RDK_FAILURE if any error is detected
992 *
993 * @execution Synchronous.
994 * @sideeffect None.
995 *
996 */
997 int32_t voice_hal_setOutboundProxy(uint32_t service, uint32_t profile, const char *ipNameAddress);
998 /* voice_hal_getOutboundProxyPort: */
999 /**
1000 * @description get the port of the SIP outbound proxy
1001 *
1002 * @param uint32_t service - input the voice service affected
1003 * @param uint32_t profile - input the voice profile affected
1004 * @param uint32_t *port - output the port value of Outbound proxy
1005 * e.g. "888"
1006 *
1007 * @return The status of the operation.
1008 * @retval RDK_SUCCESS if successful.
1009 * @retval RDK_FAILURE if any error is detected
1010 *
1011 * @execution Synchronous.
1012 * @sideeffect None.
1013 *
1014 */
1015 int32_t voice_hal_getOutboundProxyPort(uint32_t service, uint32_t profile, uint32_t *port);
1016 /* voice_hal_setOutboundProxyPort: */
1017 /**
1018 * @description set the port of the SIP outbound proxy
1019 *
1020 * @param uint32_t service - input the voice service affected
1021 * @param uint32_t profile - input the voice profile affected
1022 * @param uint32_t port - input the port value of Outbound proxy
1023 * e.g. "888"
1024 *
1025 * @return The status of the operation.
1026 * @retval RDK_SUCCESS if successful.
1027 * @retval RDK_FAILURE if any error is detected
1028 *
1029 * @execution Synchronous.
1030 * @sideeffect None.
1031 *
1032 */
1033 int32_t voice_hal_setOutboundProxyPort(uint32_t service, uint32_t profile, uint32_t port);
1034 /* voice_hal_getProxyServer: */
1035 /**
1036 * @description get the name/address of the SIP proxy server
1037 *
1038 * @param uint32_t service - input the voice service affected
1039 * @param uint32_t profile - input the voice profile affected
1040 * @param char * proxyServer - output buffer to get proxy server name
1041 * e.g. "voip.sky.com"
1042 * @param uint32_t *pLength - input/output buffer length
1043 *
1044 * @return The status of the operation.
1045 * @retval RDK_SUCCESS if successful.
1046 * @retval RDK_FAILURE if any error is detected
1047 *
1048 * @execution Synchronous.
1049 * @sideeffect None.
1050 *
1051 */
1052 int32_t voice_hal_getProxyServer(uint32_t service, uint32_t profile, char * proxyServer, uint32_t *pLength);
1053 /* voice_hal_setProxyServer: */
1054 /**
1055 * @description set the name/address of the SIP proxy server
1056 *
1057 * @param uint32_t service - input the voice service affected
1058 * @param uint32_t profile - input the voice profile affected
1059 * @param char * proxyServer - input buffer to set proxy server name
1060 * e.g. "voip.sky.com"
1061 *
1062 * @return The status of the operation.
1063 * @retval RDK_SUCCESS if successful.
1064 * @retval RDK_FAILURE if any error is detected
1065 *
1066 * @execution Synchronous.
1067 * @sideeffect None.
1068 *
1069 */
1070 int32_t voice_hal_setProxyServer(uint32_t service, uint32_t profile, const char * proxyServer);
1071 /* voice_hal_getProxyServerPort: */
1072 /**
1073 * @description get the port of the SIP proxy server
1074 *
1075 * @param uint32_t service - input the voice service affected
1076 * @param uint32_t profile - input the voice profile affected
1077 * @param uint32_t *port - output the port value of proxy server
1078 *
1079 * @return The status of the operation.
1080 * @retval RDK_SUCCESS if successful.
1081 * @retval RDK_FAILURE if any error is detected
1082 *
1083 * @execution Synchronous.
1084 * @sideeffect None.
1085 *
1086 */
1087 int32_t voice_hal_getProxyServerPort(uint32_t service, uint32_t profile, uint32_t *port);
1088 /* voice_hal_setProxyServerPort: */
1089 /**
1090 * @description set the port of the proxy server
1091 *
1092 * @param uint32_t service - input the voice service affected
1093 * @param uint32_t profile - input the voice profile affected
1094 * @param uint32_t port - input the port value of proxy server
1095 * e.g. "888"
1096 *
1097 * @return The status of the operation.
1098 * @retval RDK_SUCCESS if successful.
1099 * @retval RDK_FAILURE if any error is detected
1100 *
1101 * @execution Synchronous.
1102 * @sideeffect None.
1103 *
1104 */
1105 int32_t voice_hal_setProxyServerPort(uint32_t service, uint32_t profile, uint32_t port);
1106 /* voice_hal_getRegistrarServerPort: */
1107 /**
1108 * @description get the port of the Registrar server port
1109 *
1110 * @param uint32_t service - input the voice service affected
1111 * @param uint32_t profile - input the voice profile affected
1112 * @param uint32_t *port - output the port value of Registrar server port
1113 *
1114 * @return The status of the operation.
1115 * @retval RDK_SUCCESS if successful.
1116 * @retval RDK_FAILURE if any error is detected
1117 *
1118 * @execution Synchronous.
1119 * @sideeffect None.
1120 *
1121 */
1122 int32_t voice_hal_getRegistrarServerPort(uint32_t service, uint32_t profile, uint32_t *port);
1123 /* voice_hal_setRegistrarServerPort: */
1124 /**
1125 * @description set the port of the Registrar server port
1126 *
1127 * @param uint32_t service - input the voice service affected
1128 * @param uint32_t profile - input the voice profile affected
1129 * @param uint32_t port - input the port value of Registrar server port
1130 *
1131 * @return The status of the operation.
1132 * @retval RDK_SUCCESS if successful.
1133 * @retval RDK_FAILURE if any error is detected
1134 *
1135 * @execution Synchronous.
1136 * @sideeffect None.
1137 *
1138 */
1139 int32_t voice_hal_setRegistrarServerPort(uint32_t service, uint32_t profile, uint32_t port);
1140 /* voice_hal_setRegistrarServer: */
1141 /**
1142 * @description set the name/address of the SIP registrar server
1143 *
1144 * @param uint32_t service - input the voice service affected
1145 * @param uint32_t profile - input the voice profile affected
1146 * @param char *ipNameAddress - input the name or IP address as a null-terminated string
1147 * e.g. "10.241.16.3" or "proxy.sky.com"
1148 *
1149 * @return The status of the operation.
1150 * @retval RDK_SUCCESS if successful.
1151 * @retval RDK_FAILURE if any error is detected
1152 *
1153 * @execution Synchronous.
1154 * @sideeffect None.
1155 *
1156 */
1157 int32_t voice_hal_setRegistrarServer(uint32_t service, uint32_t profile, const char *ipNameAddress);
1158 
1159 /* voice_hal_getRegistrarServer: */
1160 /**
1161 * @description get the name/address of the SIP registrar server
1162 *
1163 * @param uint32_t service - input the voice service affected
1164 * @param uint32_t profile - input the voice profile affected
1165 * @param char **ipNameAddress - output the name or IP address as a null-terminated string
1166 * e.g. "10.241.16.3" or "proxy.sky.com"
1167 * @param uint32_t *pLength - input/output buffer length
1168 * Where a host name is supplied, it will meet RFC1123
1169 *
1170 * @return The status of the operation.
1171 * @retval RDK_SUCCESS if successful.
1172 * @retval RDK_FAILURE if any error is detected
1173 *
1174 * @execution Synchronous.
1175 * @sideeffect None.
1176 *
1177 */
1178 int32_t voice_hal_getRegistrarServer(uint32_t service, uint32_t profile, char *ipNameAddress, uint32_t *pLength);
1179 
1180 /* voice_hal_setLogServer: */
1181 /**
1182 * @description set the name/address and port of the voice logging server
1183 *
1184 * @param uint32_t service - input the voice service affected
1185 * @param uint32_t profile - input the voice profile affected
1186 * @param char *ipNameAddress - input the name or IP address as a null-terminated string
1187 * e.g. "10.241.16.3" or "proxy.sky.com"
1188 * Where a host name is returned, it will meet RFC1123
1189 *
1190 * @return The status of the operation.
1191 * @retval RDK_SUCCESS if successful.
1192 * @retval RDK_FAILURE if any error is detected
1193 *
1194 * @execution Synchronous.
1195 * @sideeffect None.
1196 *
1197 */
1198 int32_t voice_hal_setLogServer(uint32_t service, uint32_t profile, const char *ipNameAddress);
1199 
1200 /* voice_hal_setLogServerPort: */
1201 /**
1202 * @description set the name/address and port of the voice logging server
1203 *
1204 * @param uint32_t service - input the voice service affected
1205 * @param uint32_t profile - input the voice profile affected
1206 * @param uint32_t ipPort - the IP port number
1207 * Where a host name is returned, it will meet RFC1123
1208 *
1209 * @return The status of the operation.
1210 * @retval RDK_SUCCESS if successful.
1211 * @retval RDK_FAILURE if any error is detected
1212 *
1213 * @execution Synchronous.
1214 * @sideeffect None.
1215 *
1216 */
1217 int32_t voice_hal_setLogServerPort(uint32_t service, uint32_t profile, uint32_t ipPort);
1218 
1219 /* voice_hal_getLogServer: */
1220 /**
1221 * @description get the name/address and port of the voice logging server
1222 *
1223 * @param uint32_t service - input the voice service affected
1224 * @param uint32_t profile - input the voice profile affected
1225 * @param char *ipNameAddress - output the name or IP address as a null-terminated string
1226 * e.g. "10.241.16.3" or "proxy.sky.com"
1227 * @param uint32_t *puiLength - Output/input the buffer size
1228 * Where a host name is returned, it will meet RFC1123
1229 *
1230 * @return The status of the operation.
1231 * @retval RDK_SUCCESS if successful.
1232 * @retval RDK_FAILURE if any error is detected
1233 *
1234 * @execution Synchronous.
1235 * @sideeffect None.
1236 *
1237 */
1238 int32_t voice_hal_getLogServer(uint32_t service, uint32_t profile, char *logServerName, uint32_t *puiLength);
1239 
1240 /* voice_hal_getLogServerPort: */
1241 /**
1242 * @description get the name/address and port of the voice logging server
1243 *
1244 * @param uint32_t service - input the voice service affected
1245 * @param uint32_t profile - input the voice profile affected
1246 * @param uint16_t *ipPort - output the IP port number
1247 * Where a host name is returned, it will meet RFC1123
1248 *
1249 * @return The status of the operation.
1250 * @retval RDK_SUCCESS if successful.
1251 * @retval RDK_FAILURE if any error is detected
1252 *
1253 * @execution Synchronous.
1254 * @sideeffect None.
1255 *
1256 */
1257 int32_t voice_hal_getLogServerPort(uint32_t service, uint32_t profile, uint32_t *ipPort);
1258 
1259 /* voice_hal_setUserAgentDomain: */
1260 /**
1261 * @description set the name/address of the CPE domain string
1262 *
1263 * @param uint32_t service - input the voice service affected
1264 * @param uint32_t profile - input the voice profile affected
1265 * @param char *ipDomain - input the CPE domain as a null-terminated string
1266 * e.g. "voip.sky.com"
1267 * Where a host name is supplied, it will meet RFC1123
1268 *
1269 * @return The status of the operation.
1270 * @retval RDK_SUCCESS if successful.
1271 * @retval RDK_FAILURE if any error is detected
1272 *
1273 * @execution Synchronous.
1274 * @sideeffect None.
1275 *
1276 */
1277 int32_t voice_hal_setUserAgentDomain(uint32_t service, uint32_t profile, const char *ipDomain);
1278 
1279 /* voice_hal_getUserAgentDomain: */
1280 /**
1281 * @description get the name/address of the CPE domain string
1282 *
1283 * @param uint32_t service - input the voice service affected
1284 * @param uint32_t profile - input the voice profile affected
1285 * @param char **ipDomain - output the CPE domain as a null-terminated string
1286 * e.g. "voip.sky.com"
1287 * @param uint32_t *pLength - input/output buffer length
1288 * Where a host name is supplied, it will meet RFC1123 (no IDNA)
1289 *
1290 * @return The status of the operation.
1291 * @retval RDK_SUCCESS if successful.
1292 * @retval RDK_FAILURE if any error is detected
1293 *
1294 * @execution Synchronous.
1295 * @sideeffect None.
1296 *
1297 */
1298 int32_t voice_hal_getUserAgentDomain(uint32_t service, uint32_t profile, char *ipDomain, uint32_t *pLength);
1299 
1300 /* voice_hal_setConferencingUri: */
1301 /**
1302 * @description set the URI of the conferencing server
1303 *
1304 * @param uint32_t service - input the voice service affected
1305 * @param uint32_t profile - input the voice profile affected
1306 * @param char *pUri - input the URI as a null-terminated string
1307 * e.g. "sip:conf@sky.com"
1308 * The domain name is supplied as a UTF-8 string meeting RFC1123 (no IDNA)
1309 *
1310 * @return The status of the operation.
1311 * @retval RDK_SUCCESS if successful.
1312 * @retval RDK_FAILURE if any error is detected
1313 *
1314 * @execution Synchronous.
1315 * @sideeffect None.
1316 *
1317 */
1318 int32_t voice_hal_setConferencingUri(uint32_t service, uint32_t profile, const char *pUri);
1319 
1320 /* voice_hal_getConferencingUri: */
1321 /**
1322 * @description set the URI of the conferencing server
1323 *
1324 * @param uint32_t service - input the voice service affected
1325 * @param uint32_t profile - input the voice profile affected
1326 * @param char **uri - output the URI as a null-terminated string
1327 * e.g. "sip:conf@sky.com"
1328 * @param uint32_t *pLength - input/output buffer length
1329 *
1330 * @return The status of the operation.
1331 * @retval RDK_SUCCESS if successful.
1332 * @retval RDK_FAILURE if any error is detected
1333 *
1334 * @execution Synchronous.
1335 * @sideeffect None.
1336 *
1337 */
1338 int32_t voice_hal_getConferencingUri(uint32_t service, uint32_t profile, char *uri, uint32_t *pLength);
1339 
1340 /* voice_hal_setEnableNetworkDisconnect: */
1341 /**
1342 * @description set the enable/disable state of the network disconnect flag
1343 *
1344 * @param uint32_t service - input the voice service affected
1345 * @param uint32_t profile - input the voice profile affected
1346 * @param bool enableDisconnect
1347 *
1348 * @return The status of the operation.
1349 * @retval RDK_SUCCESS if successful.
1350 * @retval RDK_FAILURE if any error is detected
1351 *
1352 * @execution Synchronous.
1353 * @sideeffect None.
1354 *
1355 */
1356 int32_t voice_hal_setEnableNetworkDisconnect(uint32_t service, uint32_t profile, bool enableDisconnect);
1357 
1358 /* voice_hal_getEnableNetworkDisconnect: */
1359 /**
1360 * @description set the enable/disable state of the network disconnect flag
1361 *
1362 * @param uint32_t service - input the voice service affected
1363 * @param uint32_t profile - input the voice profile affected
1364 * @param bool *enableDisconnect - output the state of the disconnect flag
1365 *
1366 * @return The status of the operation.
1367 * @retval RDK_SUCCESS if successful.
1368 * @retval RDK_FAILURE if any error is detected
1369 *
1370 * @execution Synchronous.
1371 * @sideeffect None.
1372 *
1373 */
1374 int32_t voice_hal_getEnableNetworkDisconnect(uint32_t service, uint32_t profile, bool *enableDisconnect);
1375 
1376 /* voice_hal_setEnablePrackRequired: */
1377 /**
1378 * @description set the enable/disable state of the PRACK required
1379 *
1380 * @param uint32_t service - input the voice service affected
1381 * @param uint32_t profile - input the voice profile affected
1382 * @param bool enablePrackRequired
1383 *
1384 * @return The status of the operation.
1385 * @retval RDK_SUCCESS if successful.
1386 * @retval RDK_FAILURE if any error is detected
1387 *
1388 * @execution Synchronous.
1389 * @sideeffect None.
1390 *
1391 */
1392 int32_t voice_hal_setEnablePrackRequired(uint32_t service, uint32_t profile, bool enablePrackRequired);
1393 
1394 /* voice_hal_getEnablePrackRequired: */
1395 /**
1396 * @description set the enable/disable state of the PRACK required
1397 *
1398 * @param uint32_t service - input the voice service affected
1399 * @param uint32_t profile - input the voice profile affected
1400 * @param bool *enablePrackRequired - output the state of the PRACK required
1401 *
1402 * @return The status of the operation.
1403 * @retval RDK_SUCCESS if successful.
1404 * @retval RDK_FAILURE if any error is detected
1405 *
1406 * @execution Synchronous.
1407 * @sideeffect None.
1408 *
1409 */
1410 int32_t voice_hal_getEnablePrackRequired(uint32_t service, uint32_t profile, bool *enablePrackRequired);
1411 
1412 /*****************************************************************************
1413  *
1414  * Regionalisation
1415  *
1416  *****************************************************************************/
1417 #ifdef VOICE_UNSUPPORTED_PARAMS
1418 /* voice_hal_setProfileRegion: */
1419 /**
1420 * @description set the geographic region associated with this profile
1421 *
1422 * @param uint32_t service - input the voice service affected
1423 * @param uint32_t profile - input the voice profile affected
1424 * @param char *region - input as the ISO 3166-1 alpha-2 2 character null terminated string
1425 *
1426 * @return The status of the operation.
1427 * @retval RDK_SUCCESS if successful.
1428 * @retval RDK_FAILURE if any error is detected
1429 *
1430 * @execution Synchronous.
1431 * @sideeffect None.
1432 *
1433 */
1434 int32_t voice_hal_setProfileRegion(uint32_t service, uint32_t profile, const char *region);
1435 
1436 /* voice_hal_getProfileRegion: */
1437 /**
1438 * @description get the geographic region associated with this profile
1439 *
1440 * @param uint32_t service - input the voice service affected
1441 * @param uint32_t profile - input the voice profile affected
1442 * @param char *region - output as the ISO 3166-1 alpha-2 2 character null terminated string
1443 * @param uint32_t *pLength - output/input the buffer size
1444 *
1445 * @return The status of the operation.
1446 * @retval RDK_SUCCESS if successful.
1447 * @retval RDK_FAILURE if any error is detected
1448 *
1449 * @execution Synchronous.
1450 * @sideeffect None.
1451 *
1452 */
1453 int32_t voice_hal_getProfileRegion(uint32_t service, uint32_t profile, char *region, uint32_t *pLength);
1454 
1455 /**
1456 * @description set Tel URI feature code
1457 *
1458 * @param uint32_t service - input the voice service affected
1459 * @param uint32_t profile - input the voice profile affected
1460 * @param bool enable - input true to enable the feature, false otherwise
1461 *
1462 * @return The status of the operation.
1463 * @retval RDK_SUCCESS if successful.
1464 * @retval RDK_FAILURE if any error is detected
1465 *
1466 * @execution Synchronous.
1467 * @sideeffect None.
1468 *
1469 */
1470 int32_t voice_hal_setTelUriFeatureCode(uint32_t service, uint32_t profile, bool enable);
1471 
1472 /**
1473 * @description get Tel URI feature code
1474 *
1475 * @param uint32_t service - input the voice service affected
1476 * @param uint32_t profile - input the voice profile affected
1477 * @param bool *enable - output true if the feature is enabled, false otherwise
1478 *
1479 * @return The status of the operation.
1480 * @retval RDK_SUCCESS if successful.
1481 * @retval RDK_FAILURE if any error is detected
1482 *
1483 * @execution Synchronous.
1484 * @sideeffect None.
1485 *
1486 */
1487 int32_t voice_hal_getTelUriFeatureCode(uint32_t service, uint32_t profile, bool *enable);
1488 
1489 /**
1490 * @description enable emergency SIP URI user parameter
1491 *
1492 * @param uint32_t service - input the voice service affected
1493 * @param uint32_t profile - input the voice profile affected
1494 * @param bool enable - input true to enable the user parameter, false otherwise
1495 *
1496 * @return The status of the operation.
1497 * @retval RDK_SUCCESS if successful.
1498 * @retval RDK_FAILURE if any error is detected
1499 *
1500 * @execution Synchronous.
1501 * @sideeffect None.
1502 *
1503 */
1504 int32_t voice_hal_setEnableEmergencySipUriUserParm(uint32_t service, uint32_t profile, bool enable);
1505 
1506 /**
1507 * @description get the state of the emergency SIP URI user parameter
1508 *
1509 * @param uint32_t service - input the voice service affected
1510 * @param uint32_t profile - input the voice profile affected
1511 * @param bool enable - output true if enabled, false otherwise
1512 *
1513 * @return The status of the operation.
1514 * @retval RDK_SUCCESS if successful.
1515 * @retval RDK_FAILURE if any error is detected
1516 *
1517 * @execution Synchronous.
1518 * @sideeffect None.
1519 *
1520 */
1521 int32_t voice_hal_getEnableEmergencySipUriUserParm(uint32_t service, uint32_t profile, bool *enable);
1522 
1523 /**
1524 * @description enable/disable the local codec priority
1525 *
1526 * @param uint32_t service - input the voice service affected
1527 * @param uint32_t profile - input the voice profile affected
1528 * @param uint8_t localCodecPriority - enable local codec priority
1529 *
1530 * @return The status of the operation.
1531 * @retval RDK_SUCCESS if successful.
1532 * @retval RDK_FAILURE if any error is detected
1533 *
1534 * @execution Synchronous.
1535 * @sideeffect None.
1536 *
1537 */
1538 int32_t voice_hal_setLocalCodecPriority(uint32_t service, uint32_t profile, uint8_t localCodecPriority);
1539 
1540 /**
1541 * @description set the maximum number of preferred codecs
1542 *
1543 * @param uint32_t service - input the voice service affected
1544 * @param uint32_t profile - input the voice profile affected
1545 * @param uint32_t maxPrefCodecs - input the maximum number of preferred codecs
1546 *
1547 * @return The status of the operation.
1548 * @retval RDK_SUCCESS if successful.
1549 * @retval RDK_FAILURE if any error is detected
1550 *
1551 * @execution Synchronous.
1552 * @sideeffect None.
1553 *
1554 */
1555 int32_t voice_hal_setMaxPreferredCodecs(uint32_t service, uint32_t profile, uint32_t maxPrefCodecs);
1556 
1557 /**
1558 * @description get the maximum number of preferred codecs
1559 *
1560 * @param uint32_t service - input the voice service affected
1561 * @param uint32_t profile - input the voice profile affected
1562 * @param uint32_t *maxPrefCodecs - output the maximum number of preferred codecs
1563 *
1564 * @return The status of the operation.
1565 * @retval RDK_SUCCESS if successful.
1566 * @retval RDK_FAILURE if any error is detected
1567 *
1568 * @execution Synchronous.
1569 * @sideeffect None.
1570 *
1571 */
1572 int32_t voice_hal_getMaxPreferredCodecs(uint32_t service, uint32_t profile, uint32_t *maxPrefCodecs);
1573 
1574 /* voice_hal_getDigitMap: */
1575 /**
1576 * @description Get the map of permissible digits for normal or emergency use in this region
1577 * @param uint32_t service - input the voice service affected
1578 * @param uint32_t profile - input the voice profile affected
1579 * @param VoiceHalDigitMap_e map_type - input normal or emergency digit map
1580 * @param char *digit_map_string - output a null-terminated string of the digit map
1581 * @param uint32_t uiBufLen - input buffer size and output data length
1582 *
1583 * @return The status of the operation.
1584 * @retval RDK_SUCCESS if successful.
1585 * @retval RDK_FAILURE if any error is detected
1586 *
1587 * @execution Synchronous.
1588 * @sideeffect None.
1589 *
1590 */
1591 #endif
1592 int32_t voice_hal_getDigitMap(uint32_t service, uint32_t profile, VoiceHalDigitMap_e map_type, char *digit_map_string, uint32_t *uiBufLen);
1593 
1594 /* voice_hal_setDigitMap: */
1595 /**
1596 * @description Set the map of permissible digits for normal or emergency use in this region
1597 * @param char *digit_map_string - input null-terminated list of digits
1598 * @param int lineIndex - the voice line to be configured (0 based)
1599 * @param VoiceHalDigitMap_e map_type - input normal or emergency digit map
1600 *
1601 * @return The status of the operation.
1602 * @retval RDK_SUCCESS if successful.
1603 * @retval RDK_FAILURE if any error is detected
1604 *
1605 * @execution Synchronous.
1606 * @sideeffect None.
1607 *
1608 */
1609 int32_t voice_hal_setDigitMap(uint32_t service, uint32_t profile, VoiceHalDigitMap_e map_type, const char *digit_map_string);
1610 
1611 /* voice_hal_setSipDscpMark: */
1612 /**
1613 * @description set the diffserv code point applied to outgoing SIP packets
1614 * @param uint32_t service - input the voice service affected
1615 * @param uint32_t profile - input the voice profile affected
1616 * @param uint32_t dscp - input DSCP code point
1617 *
1618 * @return The status of the operation.
1619 * @retval RDK_SUCCESS if successful.
1620 * @retval RDK_FAILURE if any error is detected
1621 *
1622 * @execution Synchronous.
1623 * @sideeffect None.
1624 *
1625 */
1626 int32_t voice_hal_setSipDscpMark(uint32_t service, uint32_t profile, uint32_t dscp);
1627 
1628 /* voice_hal_getSipDscpMark: */
1629 /**
1630 * @description get the diffserv code point applied to outgoing SIP packets
1631 * @param uint32_t service - input the voice service affected
1632 * @param uint32_t profile - input the voice profile affected
1633 * @param uint32_t dscp - output DSCP code point
1634 *
1635 * @return The status of the operation.
1636 * @retval RDK_SUCCESS if successful.
1637 * @retval RDK_FAILURE if any error is detected
1638 *
1639 * @execution Synchronous.
1640 * @sideeffect None.
1641 *
1642 */
1643 int32_t voice_hal_getSipDscpMark(uint32_t service, uint32_t profile, uint32_t *dscp);
1644 
1645 /* voice_hal_setSipEthernetPriorityMark: */
1646 /**
1647 * @description set the ethernet priority code used for outgoing SIP packets
1648 * @param uint32_t service - input the voice service affected
1649 * @param uint32_t profile - input the voice profile affected
1650 * @param int32_t priority - input ethernet priority code
1651 *
1652 * @return The status of the operation.
1653 * @retval RDK_SUCCESS if successful.
1654 * @retval RDK_FAILURE if any error is detected
1655 *
1656 * @execution Synchronous.
1657 * @sideeffect None.
1658 *
1659 */
1660 int32_t voice_hal_setSipEthernetPriorityMark(uint32_t service, uint32_t profile, int32_t priority);
1661 
1662 /* voice_hal_getSipEthernetPriorityMark: */
1663 /**
1664 * @description get the ethernet priority code used for outgoing SIP packets
1665 * @param uint32_t service - input the voice service affected
1666 * @param uint32_t profile - input the voice profile affected
1667 * @param int32_t priority - output ethernet priority code
1668 *
1669 * @return The status of the operation.
1670 * @retval RDK_SUCCESS if successful.
1671 * @retval RDK_FAILURE if any error is detected
1672 *
1673 * @execution Synchronous.
1674 * @sideeffect None.
1675 *
1676 */
1677 int32_t voice_hal_getSipEthernetPriorityMark(uint32_t service, uint32_t profile, int32_t *priority);
1678 
1679 /* voice_hal_getSipSKBMark: */
1680 /**
1681 * @description get the ethernet mark used for outgoing SIP packets
1682 * @param uint32_t service - input the voice service affected
1683 * @param uint32_t profile - input the voice profile affected
1684 * @param uint32_t mark - ethernet mark value
1685 *
1686 * @return The status of the operation.
1687 * @retval RDK_SUCCESS if successful.
1688 * @retval RDK_FAILURE if any error is detected
1689 *
1690 * @execution Synchronous.
1691 * @sideeffect None.
1692 *
1693 */
1694 int32_t voice_hal_getSipSKBMark(uint32_t service, uint32_t profile, uint32_t *mark);
1695 
1696 /* voice_hal_setRtpDscpMark: */
1697 /**
1698 * @description set the diffserv code point applied to outgoing RTP packets
1699 * @param uint32_t service - input the voice service affected
1700 * @param uint32_t profile - input the voice profile affected
1701 * @param uint32_t dscp - input DSCP code point
1702 *
1703 * @return The status of the operation.
1704 * @retval RDK_SUCCESS if successful.
1705 * @retval RDK_FAILURE if any error is detected
1706 *
1707 * @execution Synchronous.
1708 * @sideeffect None.
1709 *
1710 */
1711 int32_t voice_hal_setRtpDscpMark(uint32_t service, uint32_t profile, uint32_t dscp);
1712 
1713 /* voice_hal_getDscpMark: */
1714 /**
1715 * @description get the diffserv code point applied to outgoing RTP packets
1716 * @param uint32_t service - input the voice service affected
1717 * @param uint32_t profile - input the voice profile affected
1718 * @param uint32_t dscp - output DSCP code point
1719 *
1720 * @return The status of the operation.
1721 * @retval RDK_SUCCESS if successful.
1722 * @retval RDK_FAILURE if any error is detected
1723 *
1724 * @execution Synchronous.
1725 * @sideeffect None.
1726 *
1727 */
1728 int32_t voice_hal_getRtpDscpMark(uint32_t service, uint32_t profile, uint32_t *dscp);
1729 
1730 /* voice_hal_setRtpEthernetPriorityMark: */
1731 /**
1732 * @description set the ethernet priority code used for outgoing RTP packets
1733 * @param uint32_t service - input the voice service affected
1734 * @param uint32_t profile - input the voice profile affected
1735 * @param int32_t priority - input ethernet priority code
1736 *
1737 * @return The status of the operation.
1738 * @retval RDK_SUCCESS if successful.
1739 * @retval RDK_FAILURE if any error is detected
1740 *
1741 * @execution Synchronous.
1742 * @sideeffect None.
1743 *
1744 */
1745 int32_t voice_hal_setRtpEthernetPriorityMark(uint32_t service, uint32_t profile, int32_t priority);
1746 
1747 /* voice_hal_getRtpEthernetPriorityMark: */
1748 /**
1749 * @description get the ethernet priority code used for outgoing RTP packets
1750 * @param uint32_t service - input the voice service affected
1751 * @param uint32_t profile - input the voice profile affected
1752 * @param int32_t priority - output ethernet priority code
1753 *
1754 * @return The status of the operation.
1755 * @retval RDK_SUCCESS if successful.
1756 * @retval RDK_FAILURE if any error is detected
1757 *
1758 * @execution Synchronous.
1759 * @sideeffect None.
1760 *
1761 */
1762 int32_t voice_hal_getRtpEthernetPriorityMark(uint32_t service, uint32_t profile, int32_t *priority);
1763 
1764 /* voice_hal_getRtpSKBMark: */
1765 /**
1766 * @description get the SKB(Socket Kernel Buffer) mark used for outgoing RTP packets
1767 * @param uint32_t service - input the voice service affected
1768 * @param uint32_t profile - input the voice profile affected
1769 * @param uint32_t mark - ethernet mark value
1770 *
1771 * @return The status of the operation.
1772 * @retval RDK_SUCCESS if successful.
1773 * @retval RDK_FAILURE if any error is detected
1774 *
1775 * @execution Synchronous.
1776 * @sideeffect None.
1777 *
1778 */
1779 int32_t voice_hal_getRtpSKBMark(uint32_t service, uint32_t profile, uint32_t *mark);
1780 
1781 #ifdef VOICE_UNSUPPORTED_PARAMS
1782 /* voice_hal_setConferencingOption: */
1783 /**
1784 * @description set the conferencing option
1785 * @param uint32_t service - input the voice service affected
1786 * @param uint32_t profile - input the voice profile affected
1787 * @param char *option - input the conferencing option string
1788 *
1789 * @return The status of the operation.
1790 * @retval RDK_SUCCESS if successful.
1791 * @retval RDK_FAILURE if any error is detected
1792 *
1793 * @execution Synchronous.
1794 * @sideeffect None.
1795 *
1796 */
1797 int32_t voice_hal_setConferencingOption(uint32_t service, uint32_t profile, const char *option);
1798 
1799 /* voice_hal_getConferencingOption: */
1800 /**
1801 * @description get the conferencing option string
1802 * @param uint32_t service - input the voice service affected
1803 * @param uint32_t profile - input the voice profile affected
1804 * @param char *option - output the conferencing option string
1805 * @param uint32_t *pLength - output/input the buffer size
1806 *
1807 * @return The status of the operation.
1808 * @retval RDK_SUCCESS if successful.
1809 * @retval RDK_FAILURE if any error is detected
1810 *
1811 * @execution Synchronous.
1812 * @sideeffect None.
1813 *
1814 */
1815 int32_t voice_hal_getConferencingOption(uint32_t service, uint32_t profile, char *option, uint32_t *pLength);
1816 
1817 /* voice_hal_setEnableEuroFlashCallWaiting: */
1818 /**
1819 * @description enable/disable European flash call waiting
1820 * @param uint32_t service - input the voice service affected
1821 * @param uint32_t profile - input the voice profile affected
1822 * @param bool enable - input true to enable the feature, false otherwise
1823 *
1824 * @return The status of the operation.
1825 * @retval RDK_SUCCESS if successful.
1826 * @retval RDK_FAILURE if any error is detected
1827 *
1828 * @execution Synchronous.
1829 * @sideeffect None.
1830 *
1831 */
1832 int32_t voice_hal_setEnableEuroFlashCallWaiting(uint32_t service, uint32_t profile, bool enable);
1833 
1834 /* voice_hal_getEnableEuroFlashCallWaiting: */
1835 /**
1836 * @description get the state of the European flash call waiting flag
1837 * @param uint32_t service - input the voice service affected
1838 * @param uint32_t profile - input the voice profile affected
1839 * @param bool *enable - output true if feature enabled, false otherwise
1840 *
1841 * @return The status of the operation.
1842 * @retval RDK_SUCCESS if successful.
1843 * @retval RDK_FAILURE if any error is detected
1844 *
1845 * @execution Synchronous.
1846 * @sideeffect None.
1847 *
1848 */
1849 int32_t voice_hal_getEnableEuroFlashCallWaiting(uint32_t service, uint32_t profile, bool *enable);
1850 
1851 /* voice_hal_setEnableSipSubscribe: */
1852 /**
1853 * @description enable/disable SIP subscribe
1854 * @param uint32_t service - input the voice service affected
1855 * @param uint32_t profile - input the voice profile affected
1856 * @param bool enable - input true to enable the feature, false otherwise
1857 *
1858 * @return The status of the operation.
1859 * @retval RDK_SUCCESS if successful.
1860 * @retval RDK_FAILURE if any error is detected
1861 *
1862 * @execution Synchronous.
1863 * @sideeffect None.
1864 *
1865 */
1866 int32_t voice_hal_setEnableSipSubscribe(uint32_t service, uint32_t profile, bool enable);
1867 
1868 /* voice_hal_getEnableSipSubscribe: */
1869 /**
1870 * @description get the state of the SIP subscribe flag
1871 * @param uint32_t service - input the voice service affected
1872 * @param uint32_t profile - input the voice profile affected
1873 * @param bool enable - output true if the feature is enabled, false otherwise
1874 *
1875 * @return The status of the operation.
1876 * @retval RDK_SUCCESS if successful.
1877 * @retval RDK_FAILURE if any error is detected
1878 *
1879 * @execution Synchronous.
1880 * @sideeffect None.
1881 *
1882 */
1883 int32_t voice_hal_getEnableSipSubscribe(uint32_t service, uint32_t profile, bool *enable);
1884 
1885 /* voice_hal_setSessionExpires: */
1886 /**
1887 * @description set the session expiry timneout
1888 * @param uint32_t service - input the voice service affected
1889 * @param uint32_t profile - input the voice profile affected
1890 * @param uint32_t timeout - input session expiry timeout in seconds
1891 *
1892 * @return The status of the operation.
1893 * @retval RDK_SUCCESS if successful.
1894 * @retval RDK_FAILURE if any error is detected
1895 *
1896 * @execution Synchronous.
1897 * @sideeffect None.
1898 *
1899 */
1900 int32_t voice_hal_setSessionExpires(uint32_t service, uint32_t profile, uint32_t timeout);
1901 
1902 /* voice_hal_getSessionExpires: */
1903 /**
1904 * @description get the session expiry timneout
1905 * @param uint32_t service - input the voice service affected
1906 * @param uint32_t profile - input the voice profile affected
1907 * @param uint32_t timeout - output session expiry timeout in seconds
1908 *
1909 * @return The status of the operation.
1910 * @retval RDK_SUCCESS if successful.
1911 * @retval RDK_FAILURE if any error is detected
1912 *
1913 * @execution Synchronous.
1914 * @sideeffect None.
1915 *
1916 */
1917 int32_t voice_hal_getSessionExpires(uint32_t service, uint32_t profile, uint32_t *timeout);
1918 
1919 /* voice_hal_setMinSessionExpires: */
1920 /**
1921 * @description set the session minimum expiry timneout
1922 * @param uint32_t service - input the voice service affected
1923 * @param uint32_t profile - input the voice profile affected
1924 * @param uint32_t timeout - input session minimum expiry timeout in seconds
1925 *
1926 * @return The status of the operation.
1927 * @retval RDK_SUCCESS if successful.
1928 * @retval RDK_FAILURE if any error is detected
1929 *
1930 * @execution Synchronous.
1931 * @sideeffect None.
1932 *
1933 */
1934 int32_t voice_hal_setMinSessionExpires(uint32_t service, uint32_t profile, uint32_t timeout);
1935 
1936 /* voice_hal_getMinSessionExpires: */
1937 /**
1938 * @description get the session minimum expiry timneout
1939 * @param uint32_t service - input the voice service affected
1940 * @param uint32_t profile - input the voice profile affected
1941 * @param uint32_t *timeout - output session minimum expiry timeout in seconds
1942 *
1943 * @return The status of the operation.
1944 * @retval RDK_SUCCESS if successful.
1945 * @retval RDK_FAILURE if any error is detected
1946 *
1947 * @execution Synchronous.
1948 * @sideeffect None.
1949 *
1950 */
1951 int32_t voice_hal_sgetMinSessionExpires(uint32_t service, uint32_t profile, uint32_t *timeout);
1952 
1953 /* voice_hal_setHoldModeInactive: */
1954 /**
1955 * @description set the mode media attribute to inactive or sendonly
1956 * @param uint32_t service - input the voice service affected
1957 * @param uint32_t profile - input the voice profile affected
1958 * @param bool enable - input true to set to INACTIVE, false to use SENDONLY
1959 *
1960 * @return The status of the operation.
1961 * @retval RDK_SUCCESS if successful.
1962 * @retval RDK_FAILURE if any error is detected
1963 *
1964 * @execution Synchronous.
1965 * @sideeffect None.
1966 *
1967 */
1968 int32_t voice_hal_setHoldModeInactive(uint32_t service, uint32_t profile, bool enable);
1969 
1970 /* voice_hal_getHoldModeInactive: */
1971 /**
1972 * @description get the value of the mode media attribute
1973 * @param uint32_t service - input the voice service affected
1974 * @param uint32_t profile - input the voice profile affected
1975 * @param bool *enable - output true -> set to INACTIVE, false -> SENDONLY
1976 *
1977 * @return The status of the operation.
1978 * @retval RDK_SUCCESS if successful.
1979 * @retval RDK_FAILURE if any error is detected
1980 *
1981 * @execution Synchronous.
1982 * @sideeffect None.
1983 *
1984 */
1985 int32_t voice_hal_getHoldModeInactive(uint32_t service, uint32_t profile, bool *enable);
1986 #endif
1987 
1988 /*****************************************************************************
1989  *
1990  * Voice Processing
1991  *
1992  *****************************************************************************/
1993 
1994 /* voice_hal_setReceiveGain: */
1995 /**
1996 * @description set the post-decoding gain to be applied
1997 * @param uint32_t service - input the voice service affected
1998 * @param uint32_t profile - input the voice profile affected
1999 * @param uint32_t line - input the telephone line number affected
2000 * @param int32_t gain - input signed post-decode gain applied in 0.1 dB steps
2001 *
2002 * @return The status of the operation.
2003 * @retval RDK_SUCCESS if successful.
2004 * @retval RDK_FAILURE if any error is detected
2005 *
2006 * @execution Synchronous.
2007 * @sideeffect None.
2008 *
2009 */
2010 int32_t voice_hal_setReceiveGain(uint32_t service, uint32_t profile, uint32_t line, int32_t gain);
2011 
2012 /* voice_hal_getReceiveGain: */
2013 /**
2014 * @description get the post-decoding gain applied to the receive channel
2015 * @param uint32_t service - input the voice service affected
2016 * @param uint32_t profile - input the voice profile affected
2017 * @param uint32_t line - input the telephone line number affected
2018 * @param int32_t *gain - output signed post-decode gain applied in 0.1 dB steps
2019 *
2020 * @return The status of the operation.
2021 * @retval RDK_SUCCESS if successful.
2022 * @retval RDK_FAILURE if any error is detected
2023 *
2024 * @execution Synchronous.
2025 * @sideeffect None.
2026 *
2027 */
2028 int32_t voice_hal_getReceiveGain(uint32_t service, uint32_t profile, uint32_t line, int32_t *gain);
2029 
2030 /* voice_hal_setTransmitGain: */
2031 /**
2032 * @description set the pre-encoding gain to be applied
2033 * @param uint32_t service - input the voice service affected
2034 * @param uint32_t profile - input the voice profile affected
2035 * @param uint32_t line - input the telephone line number affected
2036 * @param int32_t gain - input signed pre-encode gain applied in 0.1 dB steps
2037 *
2038 * @return The status of the operation.
2039 * @retval RDK_SUCCESS if successful.
2040 * @retval RDK_FAILURE if any error is detected
2041 *
2042 * @execution Synchronous.
2043 * @sideeffect None.
2044 *
2045 */
2046 int32_t voice_hal_setTransmitGain(uint32_t service, uint32_t profile, uint32_t line, int32_t gain);
2047 
2048 /* voice_hal_getTransmitGain: */
2049 /**
2050 * @description get the pre-encoding gain applied to the transmit channel
2051 * @param uint32_t service - input the voice service affected
2052 * @param uint32_t profile - input the voice profile affected
2053 * @param uint32_t line - input the telephone line number affected
2054 * @param int32_t *gain - output signed pre-encode gain applied in 0.1 dB steps
2055 *
2056 * @return The status of the operation.
2057 * @retval RDK_SUCCESS if successful.
2058 * @retval RDK_FAILURE if any error is detected
2059 *
2060 * @execution Synchronous.
2061 * @sideeffect None.
2062 *
2063 */
2064 int32_t voice_hal_getTransmitGain(uint32_t service, uint32_t profile, uint32_t line, int32_t *gain);
2065 
2066 /* voice_hal_setDisableLoopCurrentUntilRegistered: */
2067 /**
2068 * @description
2069 * @param uint32_t service - input the voice service to be disabled until registered
2070 * @param bool disabled - input, true if loop current is to be disabled until line registered
2071 * false otherwise
2072 * @return The status of the operation.
2073 * @retval RDK_SUCCESS if successful.
2074 * @retval RDK_FAILURE if any error is detected
2075 *
2076 * @execution Synchronous
2077 * @sideeffect None.
2078 *
2079 */
2080 int32_t voice_hal_setDisableLoopCurrentUntilRegistered(uint32_t service, bool disable);
2081 
2082 /* voice_hal_getDisableLoopCurrentUntilRegistered: */
2083 /**
2084 * @description
2085 * @param uint32_t service - input the voice service whose status is being queried
2086 * @param bool *disabled -= output, true if loop current is currently disabled until the line is registered
2087 * false otherwise
2088 * @return The status of the operation.
2089 * @retval RDK_SUCCESS if successful.
2090 * @retval RDK_FAILURE if any error is detected
2091 *
2092 * @execution Synchronous
2093 * @sideeffect None.
2094 *
2095 */
2096 int32_t voice_hal_getDisableLoopCurrentUntilRegistered(uint32_t service, bool *disabled);
2097 
2098 /*****************************************************************************
2099  *
2100  * Logging
2101  *
2102  *****************************************************************************/
2103 
2104 /* voice_hal_setLoggingEnable: */
2105 /**
2106 * @description enable/disable Ccsp logging in the TelcoVoIPAgent module
2107 * @param bool enable - input true enables TelcoVoIP logging, false disables it
2108 *
2109 * @return The status of the operation.
2110 * @retval RDK_SUCCESS if successful.
2111 * @retval RDK_FAILURE if any error is detected
2112 *
2113 * @execution Synchronous.
2114 * @sideeffect None.
2115 *
2116 */
2117 int32_t voice_hal_setLoggingEnable(bool enable);
2118 
2119 /* voice_hal_getLoggingEnable: */
2120 /**
2121 * @description enable/disable Ccsp logging in the TelcoVoIPAgent module
2122 * @param bool *enable - input true TelcoVoIP logging is enabled,
2123 * false otherwise
2124 *
2125 * @return The status of the operation.
2126 * @retval RDK_SUCCESS if successful.
2127 * @retval RDK_FAILURE if any error is detected
2128 *
2129 * @execution Synchronous.
2130 * @sideeffect None.
2131 *
2132 */
2133 int32_t voice_hal_getLoggingEnable(bool *enable);
2134 
2135 /* voice_hal_setCCTKTraceGroup: */
2136 /**
2137 * @description set the CCTK trace group bitmask
2138 * @param uint32_t service - input the voice affected
2139 * @param char *bitmask - input trace group bitmask
2140 *
2141 * @return The status of the operation.
2142 * @retval RDK_SUCCESS if successful.
2143 * @retval RDK_FAILURE if any error is detected
2144 *
2145 * @execution Synchronous
2146 * @sideeffect None.
2147 *
2148 */
2149 int32_t voice_hal_setCCTKTraceGroup(uint32_t service, const char *bitmask);
2150 
2151 /* voice_hal_getCCTKTraceGroup: */
2152 /**
2153 * @description get the CCTK trace group bitmask
2154 * @param uint32_t service - input the voice affected
2155 * @param char *bitmask - input trace group bitmask
2156 * @param uint32_t *pLength - input/output the buffer length
2157 *
2158 * @return The status of the operation.
2159 * @retval RDK_SUCCESS if successful.
2160 * @retval RDK_FAILURE if any error is detected
2161 *
2162 * @execution Synchronous
2163 * @sideeffect None.
2164 *
2165 */
2166 int32_t voice_hal_getCCTKTraceGroup(uint32_t service, char *bitmask, uint32_t *pLength);
2167 
2168 /* voice_hal_setCCTKTraceLevel: */
2169 /**
2170 * @description set the CCTK trace level
2171 * @param uint32_t service - input the voice service affected
2172 * @param char *logLevel - input trace log level as a null-terminated ASCII string
2173 *
2174 * @return The status of the operation.
2175 * @retval RDK_SUCCESS if successful.
2176 * @retval RDK_FAILURE if any error is detected
2177 *
2178 * @execution Synchronous
2179 * @sideeffect None.
2180 *
2181 */
2182 int32_t voice_hal_setCCTKTraceLevel(uint32_t service, const char *logLevel);
2183 
2184 /* voice_hal_getCCTKTraceLevel: */
2185 /**
2186 * @description get the CCTK trace level
2187 * @param uint32_t service - input the voice service affected
2188 * @param char *traceLevel - input trace log level as a null-terminated ASCII string
2189 * @param uint32_t *pLength - input/output the buffer size
2190 *
2191 * @return The status of the operation.
2192 * @retval RDK_SUCCESS if successful.
2193 * @retval RDK_FAILURE if any error is detected
2194 *
2195 * @execution Synchronous
2196 * @sideeffect None.
2197 *
2198 */
2199 int32_t voice_hal_getCCTKTraceLevel(uint32_t service, char *traceLevel, uint32_t *pLength);
2200 
2201 /* voice_hal_setLoggingLevel: */
2202 /**
2203 * @description set the logging level for a voice service
2204 * @param uint32_t service - input the voice service affected
2205 * @param uint32_t uLevel - input the logging level to be applied
2206 *
2207 * @return The status of the operation.
2208 * @retval RDK_SUCCESS if successful.
2209 * @retval RDK_FAILURE if any error is detected
2210 *
2211 * @execution Synchronous
2212 * @sideeffect None.
2213 *
2214 */
2215 int32_t voice_hal_setLoggingLevel(uint32_t service, uint32_t uLevel);
2216 
2217 /* voice_hal_getLoggingLevel: */
2218 /**
2219 * @description get the logging level for a voice service
2220 * @param uint32_t service - input the voice service affected
2221 * @param uint32_t *pLevel - output the logging level for the service
2222 *
2223 * @return The status of the operation.
2224 * @retval RDK_SUCCESS if successful.
2225 * @retval RDK_FAILURE if any error is detected
2226 *
2227 * @execution Synchronous
2228 * @sideeffect None.
2229 *
2230 */
2231 int32_t voice_hal_getLoggingLevel(uint32_t service, uint32_t *pLevel);
2232 
2233 /* voice_hal_setModuleLogLevels: */
2234 /**
2235 * @description set logging levels for specific voice modules
2236 * @param uint32_t service - input the voice service affected
2237 * @param char *bitmask - input trace group bitmask
2238 *
2239 * @return The status of the operation.
2240 * @retval RDK_SUCCESS if successful.
2241 * @retval RDK_FAILURE if any error is detected
2242 *
2243 * @execution Synchronous
2244 * @sideeffect None.
2245 *
2246 */
2247 int32_t voice_hal_setModuleLogLevels(uint32_t service, const char *logLevels);
2248 
2249 /* voice_hal_getModuleLogLevels: */
2250 /**
2251 * @description get logging levels for specific voice modules
2252 * @param uint32_t service - input the voice service affected
2253 * @param char *bitmask - output trace group bitmask
2254 * @param uint32_t *pLength - input/output the buffer size
2255 *
2256 * @return The status of the operation.
2257 * @retval RDK_SUCCESS if successful.
2258 * @retval RDK_FAILURE if any error is detected
2259 *
2260 * @execution Synchronous
2261 * @sideeffect None.
2262 *
2263 */
2264 int32_t voice_hal_getModuleLogLevels(uint32_t service, char *logLevels, uint32_t *pLength);
2265 
2266 /* voice_hal_getCallState: */
2267 /**
2268 * @description get the call state for a specific line
2269 * @param uint32_t service - input the voice service affected
2270 * @param uint32_t profile - input the voice profile affected
2271 * @param uint32_t line - input the telephone line number affected
2272 * @param VoiceHalCallState_e *callState - output the state of the call
2273 *
2274 * @return The status of the operation.
2275 * @retval RDK_SUCCESS if successful.
2276 * @retval RDK_FAILURE if any error is detected
2277 *
2278 * @execution Synchronous.
2279 * @sideeffect None.
2280 *
2281 */
2282 /* A very similar object - Device.Services.VoiceService.1.VoiceProfile.1.Line.1.CallState
2283  and InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.Line.1.CallState
2284  What's the difference??
2285  */
2286 int32_t voice_hal_getCallState(uint32_t service, uint32_t profile, uint32_t line, VoiceHalCallState_e *callState);
2287 
2288 /* voice_hal_getDirectoryNumber: */
2289 /**
2290 * @description get the directory number for the given line
2291 * @param uint32_t service - input the voice service affected
2292 * @param uint32_t profile - input the voice profile affected
2293 * @param uint32_t line - input the telephone line number affected
2294 * @param char *directoryNumber - output a null terminated string giving the directory number
2295 * @param uint32_t *pLength - input/output the buffer size
2296 *
2297 * @return The status of the operation.
2298 * @retval RDK_SUCCESS if successful.
2299 * @retval RDK_FAILURE if any error is detected
2300 *
2301 * @execution Synchronous.
2302 * @sideeffect None.
2303 *
2304 */
2305 int32_t voice_hal_getDirectoryNumber(uint32_t service, uint32_t profile, uint32_t line, char *directoryNumber, uint32_t *pLength);
2306 
2307 /* voice_hal_setDirectoryNumber: */
2308 /**
2309 * @description set the directory number for the given line
2310 * @param uint32_t service - input the voice service affected
2311 * @param uint32_t profile - input the voice profile affected
2312 * @param uint32_t line - input the telephone line number affected
2313 * @param char *directoryNumber - input a null terminated string giving the directory number
2314 *
2315 * @return The status of the operation.
2316 * @retval RDK_SUCCESS if successful.
2317 * @retval RDK_FAILURE if any error is detected
2318 *
2319 * @execution Synchronous.
2320 * @sideeffect None.
2321 *
2322 */
2323 int32_t voice_hal_setDirectoryNumber(uint32_t service, uint32_t profile, uint32_t line, char *buffer);
2324 
2325 /* voice_hal_setLineEnable: */
2326 /**
2327 * @description enable/disable a specific telephone line
2328 * @param uint32_t service - input the voice service affected
2329 * @param uint32_t profile - input the voice profile affected
2330 * @param uint32_t line - input the telephone line number affected
2331 * @param VoiceHalLineStatus_e eLineEnable - input true to enable the given ATA line, false othewrwise
2332 *
2333 * @return The status of the operation.
2334 * @retval RDK_SUCCESS if successful.
2335 * @retval RDK_FAILURE if any error is detected
2336 *
2337 * @execution Synchronous.
2338 * @sideeffect None.
2339 *
2340 */
2341 int32_t voice_hal_setLineEnable(uint32_t service, uint32_t profile, uint32_t line, VoiceHalLineEnable_e eLineEnable);
2342 
2343 /* voice_hal_getLineEnable: */
2344 /**
2345 * @description get the enable/disable state of a specific telephone line
2346 * @param uint32_t service - input the voice service affected
2347 * @param uint32_t profile - input the voice profile affected
2348 * @param uint32_t line - input the telephone line number affected
2349 * @param VoiceHalLineStatus_e *peLineEnable - output true if the given ATA line is enabled, false othewrwise
2350 *
2351 * @return The status of the operation.
2352 * @retval RDK_SUCCESS if successful.
2353 * @retval RDK_FAILURE if any error is detected
2354 *
2355 * @execution Synchronous.
2356 * @sideeffect None.
2357 *
2358 */
2359 int32_t voice_hal_getLineEnable(uint32_t service, uint32_t profile, uint32_t line, VoiceHalLineEnable_e *peLineEnable);
2360 
2361 /* voice_hal_getAuthCredentials: */
2362 /**
2363 * @description get the username+password used to authenticate the connection to the server
2364 * This value always returns an empty string for password
2365 * @param uint32_t service - input the voice service affected
2366 * @param uint32_t profile - input the voice profile affected
2367 * @param uint32_t line - input the telephone line number affected
2368 * @param VoiceHalAuthCredentialType_e eAuthCredential - input the user credential type
2369 * @param char* pBuffer - output the user name OR Password buffer
2370 * @param uint32_t *pLength - input/output buffer length
2371 *
2372 * @return The status of the operation.
2373 * @retval RDK_SUCCESS if successful.
2374 * @retval RDK_FAILURE if any error is detected
2375 *
2376 * @execution Synchronous.
2377 * @sideeffect None.
2378 * @note On reading, the password field will always be empty.
2379 *
2380 */
2381 int32_t voice_hal_getAuthCredentials(uint32_t service, uint32_t profile, uint32_t line, VoiceHalAuthCredentialType_e eAuthCredential, char* pBuffer, uint32_t* pLength);
2382 
2383 /* voice_hal_setAuthCredentials: */
2384 /**
2385 * @description set the username/password used to authenticate the connection to the server
2386 * @param uint32_t service - input the voice service affected
2387 * @param uint32_t profile - input the voice profile affected
2388 * @param uint32_t line - input the telephone line number affected
2389 * @param VoiceHalAuthCredentialType_e eAuthCredential - input the user credential type
2390 * @param char* pBuffer - input the user name OR Password buffer
2391 *
2392 * @return The status of the operation.
2393 * @retval RDK_SUCCESS if successful.
2394 * @retval RDK_FAILURE if any error is detected
2395 *
2396 * @execution Synchronous.
2397 * @sideeffect None.
2398 * @note: this function is atomic. Either the call succeeds and both username and password are set,
2399 * or the call fails and neither username nor password change
2400 *
2401 */
2402 int32_t voice_hal_setAuthCredentials(uint32_t service, uint32_t profile, uint32_t line, VoiceHalAuthCredentialType_e eAuthCredential, char* pBuffer);
2403 
2404 /* voice_hal_getSipUri: */
2405 /**
2406 * @description get the URI by which the user agent will identify itself for this line
2407 * @param uint32_t service - input the voice service affected
2408 * @param uint32_t profile - input the voice profile affected
2409 * @param uint32_t line - input the ATA line number affected
2410 * @param char *pSipUri - output pointer to a buffer holding the SIP URI
2411 * @param uint32_t *pLength - input the size of the buffer
2412 *
2413 * @return The status of the operation.
2414 * @retval RDK_SUCCESS if successful.
2415 * @retval RDK_FAILURE if any error is detected
2416 *
2417 * @execution Synchronous.
2418 * @sideeffect None.
2419 *
2420 */
2421 int32_t voice_hal_getSipURI(uint32_t service, uint32_t profile, uint32_t line, char *pSipUri, uint32_t *pLength);
2422 
2423 /* voice_hal_setSipUri: */
2424 /**
2425 * @description set the URI by which the user agent identifies itself for this line
2426 * @param uint32_t service - input the voice service affected
2427 * @param uint32_t profile - input the voice profile affected
2428 * @param uint32_t line - input the telephone line number affected
2429 * @param char *buffer - input a buffer holding the new URI as a null terminated string
2430 *
2431 * NOTE: If empty, the actual URI used in the SIP signaling SHOULD be automatically formed by the CPE as:
2432 * "sip:UserName@Domain"
2433 * Where UserName is username given for this line in AuthUserName, and Domain is the domain given for this profile in VoiceProfile.{i}.SIP.UserAgentDomain. If VoiceProfile.{i}.SIP.UserAgentDomain is an empty string, then the IP address of the CPE SHOULD be used for the domain.
2434 * If URI is non-empty, but is a SIP or SIPS URI that contains no "@" character, then the actual URI used in the SIP
2435 * signaling SHOULD be automatically formed by the CPE by appending this
2436 * parameter with an "@" character followed by the value of
2437 * VoiceProfile.{i}.SIP.UserAgentDomain. If VoiceProfile.{i}.SIP.UserAgentDomain
2438 * is an empty string, then the IP address of the CPE SHOULD be used for the domain.
2439 *
2440 * @return The status of the operation.
2441 * @retval RDK_SUCCESS if successful.
2442 * @retval RDK_FAILURE if any error is detected
2443 *
2444 * @execution Synchronous.
2445 * @sideeffect None.
2446 *
2447 */
2448 int32_t voice_hal_setSipUri(uint32_t service, uint32_t profile, uint32_t line, const char *buffer);
2449 
2450 /* voice_hal_getLineStatus: */
2451 /**
2452 * @description get the status for a specific line
2453 * @param uint32_t service - input the voice service affected
2454 * @param uint32_t profile - input the voice profile affected
2455 * @param uint32_t line - input the telephone line number affected
2456 * @param VoiceHalLineStatus_e *lineStatus - output the status of the line
2457 *
2458 * @return The status of the operation.
2459 * @retval RDK_SUCCESS if successful.
2460 * @retval RDK_FAILURE if any error is detected
2461 *
2462 * @execution Synchronous.
2463 * @sideeffect None.
2464 *
2465 */
2466 int32_t voice_hal_getLineStatus(uint32_t service, uint32_t profile, uint32_t line, VoiceHalLineStatus_e *lineState);
2467 
2468 /* voice_hal_setDigitTimer: */
2469 /**
2470 * @description Set the digit timer, 'S' or 'Z
2471 * @param VoiceHalDigitTimer_e digit_timer - input select the S or Z digit timers
2472 * @param int lineIndex - the voice line to be configured (0 based)
2473 * @param timer_value - input the number of seconds to set the timer value
2474 *
2475 * @return The status of the operation.
2476 * @retval RDK_SUCCESS if successful.
2477 * @retval RDK_FAILURE if any error is detected
2478 *
2479 * @execution Synchronous.
2480 * @sideeffect None.
2481 *
2482 */
2483 int32_t voice_hal_setDigitTimer(uint32_t service, uint32_t profile, VoiceHalDigitTimer_e digit_timer, uint32_t timer_value);
2484 
2485 /* voice_hal_getDigitTimer: */
2486 /**
2487 * @description Get the digit timer, 'S' or 'Z
2488 * @param VoiceHalDigitTimer_e *digit_timer - output value of the S or Z digit timers
2489 * @param int lineIndex - the voice line to be configured (0 based)
2490 * @param uint32_t *timer_value - output the number of seconds of the digit timer
2491 *
2492 * @return The status of the operation.
2493 * @retval RDK_SUCCESS if successful.
2494 * @retval RDK_FAILURE if any error is detected
2495 *
2496 * @execution Synchronous.
2497 * @sideeffect None.
2498 *
2499 */
2500 int32_t voice_hal_getDigitTimer(uint32_t service, uint32_t profile, VoiceHalDigitTimer_e digit_timer, uint32_t *timer_value);
2501 
2502 /* voice_hal_getLineStats: */
2503 /**
2504 * @description Get the statistics for a single voice line
2505 * @param uint32_t service - input the voice service affected
2506 * @param uint32_t profile - input the voice profile affected
2507 * @param uint32_t line - input the telephone line number affected
2508 * @param TelcoVoipAgent_VoiceService_Stats_t *output_stats_struct - return structure with line stats
2509 *
2510 * @return The status of the operation.
2511 * @retval RDK_SUCCESS if successful.
2512 * @retval RDK_FAILURE if any error is detected
2513 *
2514 * @execution Synchronous.
2515 * @sideeffect None.
2516 *
2517 * @note This function will take some time to complete
2518 *
2519 */
2520 int32_t voice_hal_getLineStats(uint32_t service, uint32_t profile, uint32_t lineIndex, TelcoVoipAgent_VoiceService_Stats_t *output_stats_struct);
2521 
2522 /* voice_hal_resetLineStats: */
2523 /**
2524 * @description Reset the voice line stats counters.
2525 * @param uint32_t service - input the voice service affected
2526 * @param uint32_t profile - input the voice profile affected
2527 * @param uint32_t line - input the telephone line number affected
2528 *
2529 * @return The status of the operation.
2530 * @retval RDK_SUCCESS if successful.
2531 * @retval RDK_FAILURE if any error is detected
2532 *
2533 * @execution Synchronous.
2534 * @sideeffect None.
2535 *
2536 * @note This function may take some time to complete.
2537 * It is assumed (but not required) that the stats are read before reset.
2538 *
2539 */
2540 int32_t voice_hal_resetLineStats(uint32_t service, uint32_t profile, uint32_t lineIndex);
2541 
2542 /* voice_hal_print_debug_counters: */
2543 /**
2544 * @description Prints global voice counters
2545 *
2546 * @execution Synchronous.
2547 * @sideeffect None.
2548 *
2549 */
2551 /** @} */ //END OF GROUP VOICE_HAL_APIS
2552 
2553 #endif /* __voice_hal_H__ */
2554 
voice_hal_getIpAddressFamily
int32_t voice_hal_getIpAddressFamily(uint32_t service, char *address_family, uint32_t *pLength)
voice_hal_setProxyServer
int32_t voice_hal_setProxyServer(uint32_t service, uint32_t profile, const char *proxyServer)
VoiceHalAuthCredentialType_e
VoiceHalAuthCredentialType_e
Definition: voice_hal.h:172
VOICE_CALLING_FEATURE_HOLD
@ VOICE_CALLING_FEATURE_HOLD
Definition: voice_hal.h:199
voice_hal_getCCTKTraceGroup
int32_t voice_hal_getCCTKTraceGroup(uint32_t service, char *bitmask, uint32_t *pLength)
voice_hal_setOutboundProxy
int32_t voice_hal_setOutboundProxy(uint32_t service, uint32_t profile, const char *ipNameAddress)
TelcoVoipAgent_Voice_Calling_Features_t::EnableCallWaiting
bool EnableCallWaiting
Definition: voice_hal.h:243
VoiceHalDiagnosticState_e
VoiceHalDiagnosticState_e
Definition: voice_hal.h:139
voice_hal_getIpWanAddress
int32_t voice_hal_getIpWanAddress(uint32_t service, char *boundIpAddress, uint32_t *pLength)
TelcoVoipAgent_Voice_Calling_Features_t::EnableMessageWaitingIndicator
bool EnableMessageWaitingIndicator
Definition: voice_hal.h:244
voice_hal_getRtpEthernetPriorityMark
int32_t voice_hal_getRtpEthernetPriorityMark(uint32_t service, uint32_t profile, int32_t *priority)
VOICE_HAL_LINE_STATE_QUIESCENT
@ VOICE_HAL_LINE_STATE_QUIESCENT
Definition: voice_hal.h:119
voice_hal_getVoiceProcessStatus
int32_t voice_hal_getVoiceProcessStatus(uint32_t service, VoiceProcessStatus_e *pvoice_status)
voice_hal_getCallingFeatures
int32_t voice_hal_getCallingFeatures(uint32_t service, uint32_t profile, uint32_t line, VoiceCallFeatureType_e eFeature, bool *pStatus)
voice_hal_getConferencingUri
int32_t voice_hal_getConferencingUri(uint32_t service, uint32_t profile, char *uri, uint32_t *pLength)
voice_hal_getLineEnable
int32_t voice_hal_getLineEnable(uint32_t service, uint32_t profile, uint32_t line, VoiceHalLineEnable_e *peLineEnable)
VOICE_HAL_CALL_STATE_INCALL
@ VOICE_HAL_CALL_STATE_INCALL
Definition: voice_hal.h:134
voice_hal_setRegistrarServer
int32_t voice_hal_setRegistrarServer(uint32_t service, uint32_t profile, const char *ipNameAddress)
VOICE_HAL_EMERGENCY_DIGIT_MAP
@ VOICE_HAL_EMERGENCY_DIGIT_MAP
Definition: voice_hal.h:151
VOICE_HAL_CALL_STATE_CONNECTING
@ VOICE_HAL_CALL_STATE_CONNECTING
Definition: voice_hal.h:133
TelcoVoipAgent_Voice_Calling_Features_t::HoldEnable
bool HoldEnable
Definition: voice_hal.h:246
VOICE_HAL_AF_INET_V4
@ VOICE_HAL_AF_INET_V4
Definition: voice_hal.h:156
VOICE_HAL_AUTH_PWD
@ VOICE_HAL_AUTH_PWD
Definition: voice_hal.h:175
voice_hal_getTransmitGain
int32_t voice_hal_getTransmitGain(uint32_t service, uint32_t profile, uint32_t line, int32_t *gain)
VOICE_CALLING_FEATURE_CONF_CALL
@ VOICE_CALLING_FEATURE_CONF_CALL
Definition: voice_hal.h:198
VoiceHalLineEnable_e
VoiceHalLineEnable_e
Definition: voice_hal.h:121
VOICE_PROCESS_STATUS_STARTING
@ VOICE_PROCESS_STATUS_STARTING
Definition: voice_hal.h:188
voice_hal_getPOSTTipGroundVoltageACParameter
int32_t voice_hal_getPOSTTipGroundVoltageACParameter(uint32_t service, uint32_t phy_interface, char *pValue, uint32_t *pLength)
voice_hal_getCountLines
int32_t voice_hal_getCountLines(uint32_t service, uint32_t profile, uint32_t *lineCount)
voice_hal_getProxyServerPort
int32_t voice_hal_getProxyServerPort(uint32_t service, uint32_t profile, uint32_t *port)
voice_hal_setTestState
int32_t voice_hal_setTestState(uint32_t service, uint32_t phy_interface, char *testState)
VOICE_HAL_IP_LINK_STATE_DOWN
@ VOICE_HAL_IP_LINK_STATE_DOWN
Definition: voice_hal.h:162
voice_hal_getEnableNetworkDisconnect
int32_t voice_hal_getEnableNetworkDisconnect(uint32_t service, uint32_t profile, bool *enableDisconnect)
voice_hal_getPOSTRingGroundImpedanceParameter
int32_t voice_hal_getPOSTRingGroundImpedanceParameter(uint32_t service, uint32_t phy_interface, char *pValue, uint32_t *pLength)
VoiceHalCallState_e
VoiceHalCallState_e
Definition: voice_hal.h:128
voice_hal_getTestState
int32_t voice_hal_getTestState(uint32_t service, uint32_t phy_interface, char *testState, uint32_t *pLength)
voice_hal_setRtpDscpMark
int32_t voice_hal_setRtpDscpMark(uint32_t service, uint32_t profile, uint32_t dscp)
voice_hal_getEnablePrackRequired
int32_t voice_hal_getEnablePrackRequired(uint32_t service, uint32_t profile, bool *enablePrackRequired)
voice_hal_getPOSTTipGroundImpedanceParameter
int32_t voice_hal_getPOSTTipGroundImpedanceParameter(uint32_t service, uint32_t phy_interface, char *pValue, uint32_t *pLength)
voice_hal_setLineEnable
int32_t voice_hal_setLineEnable(uint32_t service, uint32_t profile, uint32_t line, VoiceHalLineEnable_e eLineEnable)
voice_hal_getConfigSoftwareVersion
int32_t voice_hal_getConfigSoftwareVersion(uint32_t service, char *config_version, uint32_t *pLength)
voice_hal_setModuleLogLevels
int32_t voice_hal_setModuleLogLevels(uint32_t service, const char *logLevels)
voice_hal_getCallState
int32_t voice_hal_getCallState(uint32_t service, uint32_t profile, uint32_t line, VoiceHalCallState_e *callState)
VOICE_HAL_Z_TIMER
@ VOICE_HAL_Z_TIMER
Definition: voice_hal.h:169
VOICE_HAL_LINE_STATE_UNREGISTERING
@ VOICE_HAL_LINE_STATE_UNREGISTERING
Definition: voice_hal.h:116
VoiceHalLineStatus_e
VoiceHalLineStatus_e
Definition: voice_hal.h:109
voice_hal_setLogServer
int32_t voice_hal_setLogServer(uint32_t service, uint32_t profile, const char *ipNameAddress)
voice_hal_setEnablePrackRequired
int32_t voice_hal_setEnablePrackRequired(uint32_t service, uint32_t profile, bool enablePrackRequired)
voice_hal_setLoggingEnable
int32_t voice_hal_setLoggingEnable(bool enable)
VOICE_HAL_LINE_STATE_UP
@ VOICE_HAL_LINE_STATE_UP
Definition: voice_hal.h:113
voice_hal_setProxyServerPort
int32_t voice_hal_setProxyServerPort(uint32_t service, uint32_t profile, uint32_t port)
voice_hal_getLoggingLevel
int32_t voice_hal_getLoggingLevel(uint32_t service, uint32_t *pLevel)
VOICE_HAL_AF_INET_V6
@ VOICE_HAL_AF_INET_V6
Definition: voice_hal.h:157
voice_hal_getCountServices
int32_t voice_hal_getCountServices(uint32_t *serviceCount)
voice_hal_getTestSelector
int32_t voice_hal_getTestSelector(uint32_t service, uint32_t phy_interface, char *testSelector, uint32_t *pLength)
voice_hal_getCountProfiles
int32_t voice_hal_getCountProfiles(uint32_t service, uint32_t *profileCount)
voice_hal_resetLineStats
int32_t voice_hal_resetLineStats(uint32_t service, uint32_t profile, uint32_t lineIndex)
voice_hal_getLoggingEnable
int32_t voice_hal_getLoggingEnable(bool *enable)
voice_hal_Deinit
int32_t voice_hal_Deinit(void)
VOICE_HAL_DIAG_STATE_TYPE_REQUESTED
@ VOICE_HAL_DIAG_STATE_TYPE_REQUESTED
Definition: voice_hal.h:142
voice_hal_getLogServer
int32_t voice_hal_getLogServer(uint32_t service, uint32_t profile, char *logServerName, uint32_t *puiLength)
VOICE_HAL_DIAG_STATE_TYPE_NONE
@ VOICE_HAL_DIAG_STATE_TYPE_NONE
Definition: voice_hal.h:141
VOICE_HAL_AUTH_UNAME
@ VOICE_HAL_AUTH_UNAME
Definition: voice_hal.h:174
voice_hal_setDirectoryNumber
int32_t voice_hal_setDirectoryNumber(uint32_t service, uint32_t profile, uint32_t line, char *buffer)
voice_hal_getLogServerPort
int32_t voice_hal_getLogServerPort(uint32_t service, uint32_t profile, uint32_t *ipPort)
voice_hal_setReceiveGain
int32_t voice_hal_setReceiveGain(uint32_t service, uint32_t profile, uint32_t line, int32_t gain)
VOICE_HAL_LINE_STATE_REGISTERING
@ VOICE_HAL_LINE_STATE_REGISTERING
Definition: voice_hal.h:115
VOICE_HAL_LINE_STATE_DISABLED
@ VOICE_HAL_LINE_STATE_DISABLED
Definition: voice_hal.h:120
VOICE_PROCESS_STATUS_ERROR
@ VOICE_PROCESS_STATUS_ERROR
Definition: voice_hal.h:191
VOICE_PROCESS_STATUS_STOPPED
@ VOICE_PROCESS_STATUS_STOPPED
Definition: voice_hal.h:187
pTelcoVoipAgent_Voice_Credentials_t
struct TelcoVoipAgent_Voice_Credentials_t * pTelcoVoipAgent_Voice_Credentials_t
voice_hal_getLineStats
int32_t voice_hal_getLineStats(uint32_t service, uint32_t profile, uint32_t lineIndex, TelcoVoipAgent_VoiceService_Stats_t *output_stats_struct)
VOICE_HAL_USERNAME_LENGTH
#define VOICE_HAL_USERNAME_LENGTH
Definition: voice_hal.h:251
voice_hal_getPOSTRingGroundVoltageDCParameter
int32_t voice_hal_getPOSTRingGroundVoltageDCParameter(uint32_t service, uint32_t phy_interface, char *pValue, uint32_t *pLength)
voice_hal_setDigitMap
int32_t voice_hal_setDigitMap(uint32_t service, uint32_t profile, VoiceHalDigitMap_e map_type, const char *digit_map_string)
voice_hal_getProxyServer
int32_t voice_hal_getProxyServer(uint32_t service, uint32_t profile, char *proxyServer, uint32_t *pLength)
VOICE_HAL_DIAG_STATE_TYPE_COMPLETE
@ VOICE_HAL_DIAG_STATE_TYPE_COMPLETE
Definition: voice_hal.h:143
voice_hal_setUserAgentDomain
int32_t voice_hal_setUserAgentDomain(uint32_t service, uint32_t profile, const char *ipDomain)
voice_hal_setSipEthernetPriorityMark
int32_t voice_hal_setSipEthernetPriorityMark(uint32_t service, uint32_t profile, int32_t priority)
voice_hal_getModuleLogLevels
int32_t voice_hal_getModuleLogLevels(uint32_t service, char *logLevels, uint32_t *pLength)
voice_hal_setBoundIfName
int32_t voice_hal_setBoundIfName(uint32_t service, const char *bound_if_name)
VOICE_HAL_DIAG_STATE_TYPE_ERROR_OTHER
@ VOICE_HAL_DIAG_STATE_TYPE_ERROR_OTHER
Definition: voice_hal.h:145
VoiceHalDigitMap_e
VoiceHalDigitMap_e
Definition: voice_hal.h:148
voice_hal_Init
int32_t voice_hal_Init(void)
voice_hal_getSipDscpMark
int32_t voice_hal_getSipDscpMark(uint32_t service, uint32_t profile, uint32_t *dscp)
voice_hal_getCountPhyInterfaces
int32_t voice_hal_getCountPhyInterfaces(uint32_t service, uint32_t *phyCount)
VOICE_PROCESS_STATUS_STARTED
@ VOICE_PROCESS_STATUS_STARTED
Definition: voice_hal.h:189
VOICE_PROCESS_STATUS_STOPPING
@ VOICE_PROCESS_STATUS_STOPPING
Definition: voice_hal.h:190
voice_hal_getDisableLoopCurrentUntilRegistered
int32_t voice_hal_getDisableLoopCurrentUntilRegistered(uint32_t service, bool *disabled)
voice_hal_getDigitTimer
int32_t voice_hal_getDigitTimer(uint32_t service, uint32_t profile, VoiceHalDigitTimer_e digit_timer, uint32_t *timer_value)
voice_hal_getOutboundProxyAddresses
int32_t voice_hal_getOutboundProxyAddresses(uint32_t service, uint32_t profile, uint32_t line, char *pProxyAddresses, uint32_t *pLength)
voice_hal_getPOSTTipRingImpedanceParameter
int32_t voice_hal_getPOSTTipRingImpedanceParameter(uint32_t service, uint32_t phy_interface, char *pValue, uint32_t *pLength)
VOICE_HAL_CALL_STATE_HOLD
@ VOICE_HAL_CALL_STATE_HOLD
Definition: voice_hal.h:135
voice_hal_getOutboundProxyPort
int32_t voice_hal_getOutboundProxyPort(uint32_t service, uint32_t profile, uint32_t *port)
voice_hal_getAuthCredentials
int32_t voice_hal_getAuthCredentials(uint32_t service, uint32_t profile, uint32_t line, VoiceHalAuthCredentialType_e eAuthCredential, char *pBuffer, uint32_t *pLength)
VOICE_HAL_S_TIMER
@ VOICE_HAL_S_TIMER
Definition: voice_hal.h:168
VOICE_HAL_DIAG_STATE_TYPE_ERROR_INTERNAL
@ VOICE_HAL_DIAG_STATE_TYPE_ERROR_INTERNAL
Definition: voice_hal.h:144
VOICE_HAL_LINE_DISABLED
@ VOICE_HAL_LINE_DISABLED
Definition: voice_hal.h:123
VOICE_CALLING_FEATURE_CALL_WAITING
@ VOICE_CALLING_FEATURE_CALL_WAITING
Definition: voice_hal.h:196
VOICE_HAL_LINE_STATE_ERROR
@ VOICE_HAL_LINE_STATE_ERROR
Definition: voice_hal.h:117
voice_hal_setVoiceProcessState
int32_t voice_hal_setVoiceProcessState(uint32_t service, VoiceProcessStateRequest_e voice_state)
voice_hal_setOutboundProxyPort
int32_t voice_hal_setOutboundProxyPort(uint32_t service, uint32_t profile, uint32_t port)
voice_hal_getDirectoryNumber
int32_t voice_hal_getDirectoryNumber(uint32_t service, uint32_t profile, uint32_t line, char *directoryNumber, uint32_t *pLength)
VOICE_HAL_LINE_STATE_INITIALIZING
@ VOICE_HAL_LINE_STATE_INITIALIZING
Definition: voice_hal.h:114
VOICE_HAL_CALL_STATE_CALLING
@ VOICE_HAL_CALL_STATE_CALLING
Definition: voice_hal.h:131
voice_hal_setCCTKTraceGroup
int32_t voice_hal_setCCTKTraceGroup(uint32_t service, const char *bitmask)
voice_hal_getCCTKTraceLevel
int32_t voice_hal_getCCTKTraceLevel(uint32_t service, char *traceLevel, uint32_t *pLength)
VOICE_PROCESS_STATE_START
@ VOICE_PROCESS_STATE_START
Definition: voice_hal.h:181
voice_hal_setIpAddressFamily
int32_t voice_hal_setIpAddressFamily(uint32_t service, const char *address_family)
voice_hal_getSipURI
int32_t voice_hal_getSipURI(uint32_t service, uint32_t profile, uint32_t line, char *pSipUri, uint32_t *pLength)
VoiceHalDigitTimer_e
VoiceHalDigitTimer_e
Definition: voice_hal.h:166
voice_hal_setCCTKTraceLevel
int32_t voice_hal_setCCTKTraceLevel(uint32_t service, const char *logLevel)
voice_hal_setRtpEthernetPriorityMark
int32_t voice_hal_setRtpEthernetPriorityMark(uint32_t service, uint32_t profile, int32_t priority)
voice_hal_setIpWanAddress
int32_t voice_hal_setIpWanAddress(uint32_t service, const char *boundIpAddress)
voice_hal_getPOSTTipGroundVoltageDCParameter
int32_t voice_hal_getPOSTTipGroundVoltageDCParameter(uint32_t service, uint32_t phy_interface, char *pValue, uint32_t *pLength)
voice_hal_getSipEthernetPriorityMark
int32_t voice_hal_getSipEthernetPriorityMark(uint32_t service, uint32_t profile, int32_t *priority)
voice_hal_getServiceVersion
int32_t voice_hal_getServiceVersion(char *service_version, uint32_t *pLength)
voice_hal_setLinkState
int32_t voice_hal_setLinkState(VoiceHalIpLinkState_e state)
VOICE_HAL_LINE_QUIESCENT
@ VOICE_HAL_LINE_QUIESCENT
Definition: voice_hal.h:124
voice_hal_InitDB
int32_t voice_hal_InitDB(void)
VOICE_CALLING_FEATURE_CALLER_ID
@ VOICE_CALLING_FEATURE_CALLER_ID
Definition: voice_hal.h:200
VOICE_HAL_LINE_STATE_TESTING
@ VOICE_HAL_LINE_STATE_TESTING
Definition: voice_hal.h:118
VOICE_HAL_PASSWORD_LENGTH
#define VOICE_HAL_PASSWORD_LENGTH
Definition: voice_hal.h:252
voice_hal_setConferencingUri
int32_t voice_hal_setConferencingUri(uint32_t service, uint32_t profile, const char *pUri)
voice_hal_setTransmitGain
int32_t voice_hal_setTransmitGain(uint32_t service, uint32_t profile, uint32_t line, int32_t gain)
voice_hal_getVoiceProcessState
int32_t voice_hal_getVoiceProcessState(uint32_t service, VoiceProcessStateRequest_e *pvoice_state)
VOICE_HAL_CALL_STATE_RINGING
@ VOICE_HAL_CALL_STATE_RINGING
Definition: voice_hal.h:132
voice_hal_getBoundIfName
int32_t voice_hal_getBoundIfName(uint32_t service, char *bound_if_name, uint32_t *pLength)
VOICE_PROCESS_STATE_FACTORY_DEFAULT
@ VOICE_PROCESS_STATE_FACTORY_DEFAULT
Definition: voice_hal.h:183
VOICE_HAL_IP_LINK_STATE_UP
@ VOICE_HAL_IP_LINK_STATE_UP
Definition: voice_hal.h:163
voice_hal_getRtpSKBMark
int32_t voice_hal_getRtpSKBMark(uint32_t service, uint32_t profile, uint32_t *mark)
VOICE_HAL_CALL_STATE_DISCONNECTING
@ VOICE_HAL_CALL_STATE_DISCONNECTING
Definition: voice_hal.h:136
VOICE_HAL_NORMAL_DIGIT_MAP
@ VOICE_HAL_NORMAL_DIGIT_MAP
Definition: voice_hal.h:150
voice_hal_getDigitMap
int32_t voice_hal_getDigitMap(uint32_t service, uint32_t profile, VoiceHalDigitMap_e map_type, char *digit_map_string, uint32_t *uiBufLen)
VoiceHalIpAddressFamily_e
VoiceHalIpAddressFamily_e
Definition: voice_hal.h:154
VOICE_HAL_LINE_ENABLED
@ VOICE_HAL_LINE_ENABLED
Definition: voice_hal.h:125
TelcoVoipAgent_Voice_Calling_Features_t::EnableCallerId
bool EnableCallerId
Definition: voice_hal.h:247
voice_hal_getRtpDscpMark
int32_t voice_hal_getRtpDscpMark(uint32_t service, uint32_t profile, uint32_t *dscp)
voice_hal_getSipSKBMark
int32_t voice_hal_getSipSKBMark(uint32_t service, uint32_t profile, uint32_t *mark)
voice_hal_getRegistrarServerPort
int32_t voice_hal_getRegistrarServerPort(uint32_t service, uint32_t profile, uint32_t *port)
VOICE_HAL_CALL_STATE_IDLE
@ VOICE_HAL_CALL_STATE_IDLE
Definition: voice_hal.h:130
voice_hal_print_debug_counters
void voice_hal_print_debug_counters()
voice_hal_getPOSTRingGroundVoltageACParameter
int32_t voice_hal_getPOSTRingGroundVoltageACParameter(uint32_t service, uint32_t phy_interface, char *pValue, uint32_t *pLength)
voice_hal_setLoggingLevel
int32_t voice_hal_setLoggingLevel(uint32_t service, uint32_t uLevel)
voice_hal_setSipDscpMark
int32_t voice_hal_setSipDscpMark(uint32_t service, uint32_t profile, uint32_t dscp)
TelcoVoipAgent_Voice_Credentials_t
Definition: voice_hal.h:255
voice_hal_setRegistrarServerPort
int32_t voice_hal_setRegistrarServerPort(uint32_t service, uint32_t profile, uint32_t port)
VoiceHalIpLinkState_e
VoiceHalIpLinkState_e
Definition: voice_hal.h:160
voice_hal_getOutboundProxy
int32_t voice_hal_getOutboundProxy(uint32_t service, uint32_t profile, char *ipNameAddress, uint32_t *pLength)
VoiceCallFeatureType_e
VoiceCallFeatureType_e
Definition: voice_hal.h:194
VOICE_PROCESS_STATE_STOP
@ VOICE_PROCESS_STATE_STOP
Definition: voice_hal.h:180
VOICE_CALLING_FEATURE_MSG_WAIT_INDICATOR
@ VOICE_CALLING_FEATURE_MSG_WAIT_INDICATOR
Definition: voice_hal.h:197
voice_hal_setSipUri
int32_t voice_hal_setSipUri(uint32_t service, uint32_t profile, uint32_t line, const char *buffer)
voice_hal_setAuthCredentials
int32_t voice_hal_setAuthCredentials(uint32_t service, uint32_t profile, uint32_t line, VoiceHalAuthCredentialType_e eAuthCredential, char *pBuffer)
voice_hal_setTestSelector
int32_t voice_hal_setTestSelector(uint32_t service, uint32_t phy_interface, char *test_selector)
voice_hal_setCallingFeatures
int32_t voice_hal_setCallingFeatures(uint32_t service, uint32_t profile, uint32_t line, VoiceCallFeatureType_e eFeature, bool bStatus)
voice_hal_setLogServerPort
int32_t voice_hal_setLogServerPort(uint32_t service, uint32_t profile, uint32_t ipPort)
pTelcoVoipAgent_Voice_Calling_Features_t
struct TelcoVoipAgent_Voice_Calling_Features_t * pTelcoVoipAgent_Voice_Calling_Features_t
voice_hal_getLineStatus
int32_t voice_hal_getLineStatus(uint32_t service, uint32_t profile, uint32_t line, VoiceHalLineStatus_e *lineState)
voice_hal_getTestResult
int32_t voice_hal_getTestResult(uint32_t service, uint32_t phy_interface, char *test_result, uint32_t *pLength)
voice_hal_DeinitDB
int32_t voice_hal_DeinitDB(void)
VOICE_PROCESS_STATE_RESTART
@ VOICE_PROCESS_STATE_RESTART
Definition: voice_hal.h:182
voice_hal_getUserAgentDomain
int32_t voice_hal_getUserAgentDomain(uint32_t service, uint32_t profile, char *ipDomain, uint32_t *pLength)
voice_hal_setDisableLoopCurrentUntilRegistered
int32_t voice_hal_setDisableLoopCurrentUntilRegistered(uint32_t service, bool disable)
TelcoVoipAgent_Voice_Calling_Features_t::EnableConferenceCall
bool EnableConferenceCall
Definition: voice_hal.h:245
VoiceProcessStateRequest_e
VoiceProcessStateRequest_e
Definition: voice_hal.h:178
voice_hal_getRegistrarServer
int32_t voice_hal_getRegistrarServer(uint32_t service, uint32_t profile, char *ipNameAddress, uint32_t *pLength)
TelcoVoipAgent_Voice_Calling_Features_t
Definition: voice_hal.h:241
voice_hal_setEnableNetworkDisconnect
int32_t voice_hal_setEnableNetworkDisconnect(uint32_t service, uint32_t profile, bool enableDisconnect)
voice_hal_setDigitTimer
int32_t voice_hal_setDigitTimer(uint32_t service, uint32_t profile, VoiceHalDigitTimer_e digit_timer, uint32_t timer_value)
TelcoVoipAgent_VoiceService_Stats_t
Definition: voice_hal.h:206
voice_hal_getReceiveGain
int32_t voice_hal_getReceiveGain(uint32_t service, uint32_t profile, uint32_t line, int32_t *gain)
VoiceProcessStatus_e
VoiceProcessStatus_e
Definition: voice_hal.h:186