
{"id":9591,"date":"2022-06-21T13:52:51","date_gmt":"2022-06-21T13:52:51","guid":{"rendered":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/documentation\/rdk_broadband_documentation\/components\/ccspeponagent\/"},"modified":"2025-03-25T05:18:32","modified_gmt":"2025-03-25T05:18:32","slug":"ccspeponagent","status":"publish","type":"page","link":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_broadband_documentation\/components\/ccspeponagent\/","title":{"rendered":"CcspEPONAgent"},"content":{"rendered":"<!DOCTYPE html PUBLIC \"-\/\/W3C\/\/DTD HTML 4.0 Transitional\/\/EN\" \"http:\/\/www.w3.org\/TR\/REC-html40\/loose.dtd\">\n <html><body><div class=\"toc-macro client-side-toc-macro  conf-macro output-block\" data-headerelements=\"H1,H2,H3,H4,H5,H6,H7\" data-hasbody=\"false\" data-macro-name=\"toc\"> <\/div><h2 class=\"wp-main-header wp-block-heading\">Introduction<\/h2><p>EPON&nbsp;(Ethernet Passive Optical Network) uses a passive optical network.&nbsp;DPoE (Data Over Cable Service Interface Specification (DOCSIS) Provisioning of Ethernet Passive Optical Network) specifications implement the DOCSIS service layer interface on existing Ethernet PON.&nbsp;EPON Agent component provides an abstraction layer known as DPoE Hardware Abstraction Layer.<\/p><h2 class=\"wp-main-header wp-block-heading\">Architecture<\/h2><ul><li><span>EPON Agent is a CCSP component that exposes TR181 parameters related to the DPoE ONU interface characteristics.<\/span><\/li><li><span>EPON agent provides info like<span>&nbsp;<\/span><span>packet buffer capabilities to the DPoE System<\/span>,<span>&nbsp;<\/span><span>the maximum rate at which OAM PDUs are transmitted on a link,<\/span><span>&nbsp;<\/span>and<span>&nbsp;<\/span><span>version of the ONU firmware etc.<\/span><\/span><\/li><li><span>Maintains a TR181 data model XML file with dbus object path as \/com\/cisco\/spvtg\/ccsp\/epon.<\/span><\/li><li><span>Has a layered architecture similar to any other CCSP component.<\/span><\/li><\/ul><p>    \n\n<\/p><img decoding=\"async\" src=\"\/wp-content\/uploads\/sites\/16\/2023\/09\/epon%20agent.drawio.png\"><p><strong><span>Access Layer<\/span><\/strong><\/p><ul><li><span><span>&nbsp;<span>&nbsp;<\/span><\/span><\/span><span>Access Layer interfaces with the CCSP message bus<\/span><\/li><li><span><span>&nbsp;<span>&nbsp;<\/span><\/span><\/span><span>Receives any set or get calls and pass them onto the DML layer to manage the data which is in the request.<\/span><\/li><\/ul><p><strong><span>Data Model Management Layer<\/span><\/strong><\/p><ul><li><span><span><span>&nbsp;<\/span><\/span><\/span><span>Maintains the parameter list specified in the Data model XML file.<\/span><\/li><li><span><span><span>&nbsp;<\/span><\/span><\/span><span>Data Model Management Layer loads all data model access APIs from the Data model XML file<\/span><\/li><li><span><span><span>&nbsp;<\/span><\/span><\/span><span>The data model implementation in shared library interfaces HAL Integration (backend) Layer by calling backend integration APIs.<\/span><\/li><\/ul><p><strong><span>EPON Agent HAL Integration (backend) Layer, a.k.a, component-specific HAL<\/span><\/strong><\/p><ul><li><span><span>&nbsp;<span>&nbsp;<\/span><\/span><\/span><span>This layer makes calls to underlying the DPoE ONU HAL functions, Linux system calls\/commands, third party modules, open-source modules etc.<\/span><\/li><li><span><span>&nbsp;<span>&nbsp;<\/span><\/span><\/span><span>This layer will be more component-specific.<\/span><\/li><\/ul><h2 class=\"wp-main-header wp-block-heading\">Objects<\/h2><p>EPON Agent objects in its DML layer:&nbsp;<\/p><div class=\"code panel pdl conf-macro output-block\" data-hasbody=\"true\" data-macro-name=\"code\"><div class=\"codeContent panelContent pdl\">\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">Device.DPoE.\nDevice.DPoE.DPoE_FirmwareInfo.\nDevice.DPoE.DPoE_ChipInfo.\nDevice.DPoE.DPoE_ManufacturerInfo.\nDevice.DPoE.DPoE_DeviceSysDescrInfo.\nDevice.DPoE.DPoE_OnuPacketBufferCapabilities.\nDevice.DPoE.DPoE_LlidForwardingState.\nDevice.DPoE.DPoE_OamFrameRate.\nDevice.DPoE.DPoE_DynamicMacTable.\nDevice.DPoE.DPoE_StaticMacTable.\nDevice.DPoE.DPoE_OnuLinkStatistics.<\/pre>\n<\/div><\/div><p><br><\/p><h2 class=\"wp-main-header wp-block-heading\">DPoE HAL<\/h2><p>This HAL layer is intended to support DPoE drivers through an open API based on the DOCSIS Provisioning of EPON Specifications.<\/p><p><em>dpoe_hal.h<\/em>&nbsp;file provides the function call prototypes and structure definitions&nbsp;used for the RDK-Broadband DPoE&nbsp;hardware abstraction layer.<\/p><p><em>dpoe_hal.h<\/em>&nbsp;will be available in the CMF repo path .\/rdkb\/components\/opensource\/ccsp\/halinterface\/<\/p><p>Some of the DPoE Subsystem level function prototypes are listed below:<\/p><div class=\"table-wrap\"> <table class=\"wrapped relative-table confluenceTable\"><colgroup><col style=\"width: 22.9046%;\"><col style=\"width: 77.0954%;\"><\/colgroup><tbody><tr><td class=\"confluenceTd\"><strong>Function<\/strong><\/td><td class=\"confluenceTd\"><strong>Description<\/strong><\/td><\/tr><tr><td class=\"confluenceTd\">dpoe_getOnuId<\/td><td class=\"confluenceTd\"><p><br><\/p><p>The ONU ID is a non-volatile number that uniquely identifies a physical DPoE ONU. All logical links on a DPoE ONU report the same DPoE ONU ID, despite having different link MAC addresses.<\/p><p><span>This function is called to fetch the DPoE parameter:<\/span><\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">Device.DPoE.Mac_address<\/pre><\/td><\/tr><tr><td class=\"confluenceTd\">dpoe_getFirmwareInfo<\/td><td class=\"confluenceTd\"><p>The DPoE ONU firmware version number uniquely identifies a particular version of the ONU firmware. Format is defined by the ONU vendor.<\/p><p>This function is called to fetch the DPoE parameters listed below:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">Device.DPoE.DPoE_FirmwareInfo.bootVersion<br>Device.DPoE.DPoE_FirmwareInfo.bootCrc32<br>Device.DPoE.DPoE_FirmwareInfo.appVersion<\/pre><\/td><\/tr><tr><td class=\"confluenceTd\">dpoe_getManufacturerInfo<\/td><td class=\"confluenceTd\"><p>This function will return information corresponding to multiple OAM messages.<br>&#8211; Date of Manufacture (D7\/00 05) encoded in Binary Coded Decimal (BCD) digits as YYYYMMDD.<br>&#8211; Manufacturer Info (D7\/00 06) typically contains a serial number, and possibly other manufacturing information. Format is defined by the ONU vendor. <br>&#8211; ONU Manufacturer Organization Name (D7\/00 0E) represents the organization which manufactured the D-ONU.<\/p><p><span>This function is called to fetch the DPoE parameters listed below:<\/span><\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">Device.DPoE.DPoE_ManufacturerInfo.info<br>Device.DPoE.DPoE_ManufacturerInfo.organizationName<br>Device.DPoE.DPoE_ManufacturerInfo.manufacturerDate<\/pre><\/td><\/tr><tr><td class=\"confluenceTd\">dpoe_getMaxLogicalLinks<\/td><td class=\"confluenceTd\">The maximum number of logical links the ONU supports on the EPON.<\/td><\/tr><tr><td class=\"confluenceTd\">dpoe_getNumberOfNetworkPorts<\/td><td class=\"confluenceTd\"><p>This attribute provides the total number of TU interface ports on the ONU.<\/p><p><span>This function is called to fetch the DPoE parameter:<\/span><\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">Device.DPoE.NumberOfNetworkPorts<\/pre><\/td><\/tr><tr><td class=\"confluenceTd\">dpoe_getNumberOfS1Interfaces<\/td><td class=\"confluenceTd\"><p>This attribute provides the number of S1 interfaces on the DPoE ONU.<\/p><p><span>This function is called to fetch the DPoE parameter:<\/span><\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">Device.DPoE.NumberOfS1Interfaces<\/pre><\/td><\/tr><tr><td class=\"confluenceTd\">dpoe_getOnuPacketBufferCapabilities<\/td><td class=\"confluenceTd\"><p>This message provides a means for the DPoE ONU to convey information about packet buffer capabilities to the DPoE System.<\/p><p><span>This function is called to fetch the DPoE parameters listed below:<\/span><\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">Device.DPoE.DPoE_OnuPacketBufferCapabilities.upstreamQueues<br>Device.DPoE.DPoE_OnuPacketBufferCapabilities.upQueuesMaxPerLink<br>Device.DPoE.DPoE_OnuPacketBufferCapabilities.upQueueIncrement<br>Device.DPoE.DPoE_OnuPacketBufferCapabilities.downstreamQueues<br>Device.DPoE.DPoE_OnuPacketBufferCapabilities.dnQueuesMaxPerPort<br>Device.DPoE.DPoE_OnuPacketBufferCapabilities.dnQueueIncrement<br>Device.DPoE.DPoE_OnuPacketBufferCapabilities.totalPacketBuffer<br>Device.DPoE.DPoE_OnuPacketBufferCapabilities.dnPacketBuffer<\/pre><\/td><\/tr><tr><td class=\"confluenceTd\">dpoe_getLlidForwardingState<\/td><td class=\"confluenceTd\"><p>This attribute represents the current traffic state for an LLID.<\/p><p>This function is called to fetch the DPoE parameters listed below:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">Device.DPoE.DPoE_LlidForwardingState.link<br>Device.DPoE.DPoE_LlidForwardingState.forwardingState<\/pre><\/td><\/tr><tr><td class=\"confluenceTd\">dpoe_getOamFrameRate<\/td><td class=\"confluenceTd\"><p>This attribute represents the maximum rate at which OAM PDUs are transmitted on a link.<\/p><p><span>This function is called to fetch the DPoE parameters listed below:<\/span><\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">Device.DPoE.DPoE_OamFrameRate.link<br>Device.DPoE.DPoE_OamFrameRate.maxRate<br>Device.DPoE.DPoE_OamFrameRate.minRate<\/pre><\/td><\/tr><tr><td class=\"confluenceTd\">dpoe_getDeviceSysDescrInfo<\/td><td class=\"confluenceTd\"><p>This function will return multiple pieces of device system information: Vendor Name, Model Number, HardwareInfo.<\/p><p><span>This function is called to fetch the DPoE parameters listed below:<\/span><\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">Device.DPoE.DPoE_DeviceSysDescrInfo.vendorName<br>Device.DPoE.DPoE_DeviceSysDescrInfo.modelNumber<br>Device.DPoE.DPoE_DeviceSysDescrInfo.hardwareVersion<\/pre><\/td><\/tr><tr><td colspan=\"1\" class=\"confluenceTd\">dpoe_setResetOnu<\/td><td colspan=\"1\" class=\"confluenceTd\"><p>This attribute resets the ONU, as if from power on.<\/p><p><span>This function is called to fetch the DPoE parameter:<\/span><\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">Device.DPoE.ResetOnu<\/pre><\/td><\/tr><tr><td colspan=\"1\" class=\"confluenceTd\">dpoe_getDynamicMacAddressAgeLimit<\/td><td colspan=\"1\" class=\"confluenceTd\"><p>This attribute represents Dynamic MAC learning table age limit.<\/p><p><span>This function is called to fetch the DPoE parameter:<\/span><\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">Device.DPoE.DynamicMacAddressAgeLimit<\/pre><\/td><\/tr><tr><td colspan=\"1\" class=\"confluenceTd\">dpoe_getDynamicMacLearningTableSize<\/td><td colspan=\"1\" class=\"confluenceTd\"><p>This attribute is a capability attribute that represents the maximum size of the DPoE ONU MAC address learning table for the entire DPoE ONU.<\/p><p><span>This function is called to fetch the DPoE parameter:<\/span><\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">Device.DPoE.DynamicMacLearningTableSize<\/pre><\/td><\/tr><tr><td colspan=\"1\" class=\"confluenceTd\">dpoe_getDynamicMacTable<\/td><td colspan=\"1\" class=\"confluenceTd\"><p>This attribute represents the dynamically learned MAC address rules.<\/p><p><span>This function is called to fetch the DPoE parameters listed below:<\/span><\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">Device.DPoE.DPoE_DynamicMacTable.link<br>Device.DPoE.DPoE_DynamicMacTable.macAddress<\/pre><\/td><\/tr><tr><td colspan=\"1\" class=\"confluenceTd\">dpoe_getStaticMacTable<\/td><td colspan=\"1\" class=\"confluenceTd\"><p>This attribute represents the statically provisioned MAC address table<\/p><p><span>This function is called to fetch the DPoE parameters listed below:<\/span><\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">Device.DPoE.DPoE_StaticMacTable.link<br>Device.DPoE.DPoE_StaticMacTable.macAddress<\/pre><\/td><\/tr><tr><td colspan=\"1\" class=\"confluenceTd\">dpoe_getMacLearningAggregateLimit<\/td><td colspan=\"1\" class=\"confluenceTd\"><p>This message represents the aggregate dynamic MAC address limitfor the DPoE ONU as a whole. This is the maximum number of addresses that can be learned by all ports combined.<\/p><p><span>This function is called to fetch the DPoE parameter:<\/span><\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">Device.DPoE.MacLearningAggregateLimit<\/pre><\/td><\/tr><tr><td colspan=\"1\" class=\"confluenceTd\">dpoe_setClearOnuLinkStatistics<\/td><td colspan=\"1\" class=\"confluenceTd\"><p>This function will clear all statistics for the DPoE ONU.<\/p><p><span>This function is called to fetch the DPoE parameter:<\/span><\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">Device.DPoE.ClearOnuLinkStatistics<\/pre><\/td><\/tr><\/tbody><\/table> <\/div><p><br><\/p><p><br><\/p><\/body><\/html>\n","protected":false},"excerpt":{"rendered":"<p>Introduction EPON&nbsp;(Ethernet Passive Optical Network) uses a passive optical network.&nbsp;DPoE (Data Over Cable Service Interface [&hellip;]<\/p>\n","protected":false},"author":28,"featured_media":0,"parent":9575,"menu_order":4,"comment_status":"open","ping_status":"closed","template":"","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"footnotes":""},"class_list":["post-9591","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>CcspEPONAgent - RDK Documentation Portal | Documentation<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_broadband_documentation\/components\/ccspeponagent\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"CcspEPONAgent - RDK Documentation Portal | Documentation\" \/>\n<meta property=\"og:description\" content=\"Introduction EPON&nbsp;(Ethernet Passive Optical Network) uses a passive optical network.&nbsp;DPoE (Data Over Cable Service Interface [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_broadband_documentation\/components\/ccspeponagent\/\" \/>\n<meta property=\"og:site_name\" content=\"RDK Documentation Portal | Documentation\" \/>\n<meta property=\"article:modified_time\" content=\"2025-03-25T05:18:32+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_broadband_documentation\/components\/ccspeponagent\/\",\"url\":\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_broadband_documentation\/components\/ccspeponagent\/\",\"name\":\"CcspEPONAgent - RDK Documentation Portal | Documentation\",\"isPartOf\":{\"@id\":\"https:\/\/developer.rdkcentral.com\/documentation\/#website\"},\"datePublished\":\"2022-06-21T13:52:51+00:00\",\"dateModified\":\"2025-03-25T05:18:32+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_broadband_documentation\/components\/ccspeponagent\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_broadband_documentation\/components\/ccspeponagent\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_broadband_documentation\/components\/ccspeponagent\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/developer.rdkcentral.com\/documentation\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Documentation\",\"item\":\"https:\/\/developer.rdkcentral.com\/documentation\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"RDK Broadband\",\"item\":\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_broadband_documentation\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Components\",\"item\":\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_broadband_documentation\/components\/\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"CcspEPONAgent\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/developer.rdkcentral.com\/documentation\/#website\",\"url\":\"https:\/\/developer.rdkcentral.com\/documentation\/\",\"name\":\"RDK Documentation Portal | Documentation\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/developer.rdkcentral.com\/documentation\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"CcspEPONAgent - RDK Documentation Portal | Documentation","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_broadband_documentation\/components\/ccspeponagent\/","og_locale":"en_US","og_type":"article","og_title":"CcspEPONAgent - RDK Documentation Portal | Documentation","og_description":"Introduction EPON&nbsp;(Ethernet Passive Optical Network) uses a passive optical network.&nbsp;DPoE (Data Over Cable Service Interface [&hellip;]","og_url":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_broadband_documentation\/components\/ccspeponagent\/","og_site_name":"RDK Documentation Portal | Documentation","article_modified_time":"2025-03-25T05:18:32+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_broadband_documentation\/components\/ccspeponagent\/","url":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_broadband_documentation\/components\/ccspeponagent\/","name":"CcspEPONAgent - RDK Documentation Portal | Documentation","isPartOf":{"@id":"https:\/\/developer.rdkcentral.com\/documentation\/#website"},"datePublished":"2022-06-21T13:52:51+00:00","dateModified":"2025-03-25T05:18:32+00:00","breadcrumb":{"@id":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_broadband_documentation\/components\/ccspeponagent\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_broadband_documentation\/components\/ccspeponagent\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_broadband_documentation\/components\/ccspeponagent\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/developer.rdkcentral.com\/documentation\/"},{"@type":"ListItem","position":2,"name":"Documentation","item":"https:\/\/developer.rdkcentral.com\/documentation\/"},{"@type":"ListItem","position":3,"name":"RDK Broadband","item":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_broadband_documentation\/"},{"@type":"ListItem","position":4,"name":"Components","item":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_broadband_documentation\/components\/"},{"@type":"ListItem","position":5,"name":"CcspEPONAgent"}]},{"@type":"WebSite","@id":"https:\/\/developer.rdkcentral.com\/documentation\/#website","url":"https:\/\/developer.rdkcentral.com\/documentation\/","name":"RDK Documentation Portal | Documentation","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/developer.rdkcentral.com\/documentation\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/pages\/9591","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/users\/28"}],"replies":[{"embeddable":true,"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/comments?post=9591"}],"version-history":[{"count":1,"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/pages\/9591\/revisions"}],"predecessor-version":[{"id":9593,"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/pages\/9591\/revisions\/9593"}],"up":[{"embeddable":true,"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/pages\/9575"}],"wp:attachment":[{"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/media?parent=9591"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}