RDK Resources
[*RDK Preferred*]
Code Management Facility
RDK Forums
[RDK Conferences]
RDK Support
Archives
Papers & Presentations Archive
RDK Telco Voice Manager is a component that manages the vendor voice stack through TR104 configuration.
It is responsible for :
The RDK Telco Voice Manager consists of
...
draw.io Diagram | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
Code Block |
---|
DISTRO_FEATURES_append = " rdkb_voice_manager_dmltr104_v2“ |
RDK Telco Voice Manager has a set of custom TR-104 data objects to manage voice service better. Few of them are listed in the below table
Data Model | Description | Value | Read/Write |
---|---|---|---|
Device.Services.VoiceService.{i}.X_RDK_Status | Returns the current status of voice application | Stopped/Starting/Started/Stopping/Error | R |
Device.Services.VoiceService.{i}.X_RDK_Enable | Enable/Disable voice application | Enable/Disable | W |
Device.Services.VoiceService.{i}.X_RDK_FactoryReset | Boolean parameter to reset the TR104 data models to default value | True/False | W |
Device.Services.VoiceService.{i}.X_RDK_BoundlpAddr | Holds the current IP address of the interface whereon which the Voice will be running on | Valid IP address | R |
Device.Services.VoiceService.{i}.X_RDK_lpAddressFamily | Configures the WAN link type used by voice. Can either be IPV4 or IPV6 | IPV6/IPV4 | W |
JSON HAL client and server library modules are used to send and receive JSON based RPC requests/responses between the RDK Telco Voice Manager and the Vendor software.
...
draw.io Diagram | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
During Initialisation, Telco Voice Manager sends all default configurations stored in the persistent file “/opt/secure/telcovoice_config_current.json” as a single JSON HAL set request to the voice stack and initialises the data model objects with default values.
draw.io Diagram | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Once all initialisation is complete, Telco Voice Manager creates the network monitor thread to listen to the WAN events. Based on the WAN event received it then controls the vendor voice process.
...
RDK Manager subscribes for events coming from vendor stack. The HAL server publishes the events to the RDK Manager based on the event subscription.
...
Code Block |
---|
{ "module":"voicehal", "version":"0.0.1", "reqId":"00000104", "action":"subscribeEvent", "params":[ { "name":"Device.Services.VoiceService.1.X_RDK_Firewall_Rule_Data", "notificationType":"onChange" } ] } |
...
RDK Telco Voice Manager can be enabled by adding the following distro features into OEM machine configuration file,
...
Code Block |
---|
DISTRO_FEATURES_append = " rdkb_telcovoice_manager " DISTRO_FEATURES_append = " rdkb_voice_manager_dmltr104_v2" |
CFLAGS can be added in OEM machine configuration files as TARGET_CFLAGS, so it will be available across the build system
To enable the RDKB Telco Voice Manager in the final build target, add the following section into the packagegroup bb file,
Code Block |
---|
RDEPENDS_packagegroup-rdkb-wanmanager_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'rdkb_telcovoice_manager', rdktelcovoicemanager', '', d)} " |
All the new recipes are available in meta-rdk-broadband layer.
Path: https://code.rdkcentral.com/r/plugins/gitiles/components/generic/rdk-oe/meta-rdkbroadband/+/refs/heads/rdk-next/recipes-ccsp/ccsp/
Recipe name : rdktelcovoicemanager.bb bb
Code Block |
---|
{ "hal_schema_path": "/etc/rdk/schemas/telcovoice_hal_schema.json", "server_port":40104 } |
1.What does SLA stand for?
SLA stands for “Service Level Agreement”. JSON HAL schema act as an agreement between the RDK and Vendor on defining the data model object path, data model value patterns , datatype of objects etc. JSON HAL lib validates the parameters exchanged between RDK Manager and Vendor against the respective JSON schema field.
2. How is the JSON HAL conf file provided to the JSON HAL server? Here /opt/secure/telcovoice_config_current.json?
JSON HAL Conf file is maintained by RDK Telco Voice Manager in the build folder (RdkTelcoVoiceManager/config/telcovoice_manager_conf.json) and is installed as “/etc/rdk/conf/telcovoice_manager_conf.json”. “opt/secure/telcovoice_config_current.json” is the persistent storage file.
3. Where does the vendor software registration happen?
Vendor Software Registration happens below HAL. Vendor should implement their own JSON HAL server by using JSON HAL Server library package to receive the json messages from Telco Voice Manager and initiate vendor application registration.
4. How does the Telco manager pick right version of schema file?
Telco Voice Manager depends on the distro feature flag “rdkb_voice_manager_dmltr104_v2” to pick the right version of schema file. It install V2 schema file if “rdkb_voice_manager_dmltr104_v2” DISTRO feature is enabled in OEM machine configuration file, otherwise v1 schema file is installed.