-
Notifications
You must be signed in to change notification settings - Fork 21
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
2023-06-14: TR-106 Amendment 12 and TR-181 Issue 2 Amendment 16
- Loading branch information
BBF Tools
committed
Jun 14, 2023
1 parent
2966f3a
commit 99bc3f7
Showing
489 changed files
with
3,209,960 additions
and
3,807,195 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,28 +1,306 @@ | ||
--- | ||
layout: default | ||
--- | ||
|
||
<style type="text/css" media="screen"> | ||
.container { | ||
margin: 10px auto; | ||
max-width: 600px; | ||
text-align: center; | ||
<!DOCTYPE html> | ||
<!-- BBF GitHub Pages pandoc template; modified from default.html template --> | ||
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang=""> | ||
<head> | ||
<meta charset="utf-8"/> | ||
<meta name="generator" content="pandoc"/> | ||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes"/> | ||
<meta name="author" content=""/> | ||
<meta name="description" content="Broadband Forum User Services | ||
Platform (USP) Data Models: Device Data Model Files and Documentation"/> | ||
<meta name="theme-color" content="#157878"/> | ||
<title>BBF – Broadband Forum User Services Platform (USP) Data Models</title> | ||
<style> | ||
code{white-space: pre-wrap;} | ||
span.smallcaps{font-variant: small-caps;} | ||
div.columns{display: flex; gap: min(4vw, 1.5em);} | ||
div.column{flex: auto; overflow-x: auto;} | ||
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;} | ||
ul.task-list{list-style: none;} | ||
ul.task-list li input[type="checkbox"] { | ||
width: 0.8em; | ||
margin: 0 0.8em 0.2em -1.6em; | ||
vertical-align: middle; | ||
} | ||
.display.math{display: block; text-align: center; margin: 0.5rem auto;} | ||
</style> | ||
<link rel="stylesheet" href="github.css"/> | ||
<link rel="stylesheet" href="extra.css"/> | ||
<link rel="stylesheet" href="local.css"/> | ||
<!-- Automatic hover links scripts --> | ||
<script> | ||
window.addEventListener('DOMContentLoaded', function() { | ||
var hoverlink = null; | ||
|
||
var elems = document.querySelectorAll('.auto-hoverlink:not(section)'); | ||
for (var i = 0; i < elems.length; i++) { | ||
var elem = elems[i]; | ||
|
||
elem.addEventListener('mouseenter', event => { | ||
var target = event.target; | ||
var info_attr = target.attributes.getNamedItem('data-info'); | ||
var anchor_attr = target.attributes.getNamedItem('data-anchor'); | ||
var thing = info_attr ? info_attr.value : target.localName | ||
/* we check the parent to cover the case where pandoc has moved the | ||
id from a header to its parent section */ | ||
var anchor = target.id || target.parentElement.id || | ||
(anchor_attr ? anchor_attr.value : null); | ||
|
||
if (hoverlink) { | ||
hoverlink.remove(); | ||
hoverlink = null; | ||
} | ||
|
||
if (!anchor) { | ||
console.warn('%s %s has no id or data-anchor', | ||
thing, target.textContent); | ||
} else { | ||
hoverlink = document.createElement('a'); | ||
hoverlink.href = '#' + anchor; | ||
hoverlink.className = 'hoverlink'; | ||
hoverlink.title = 'Permalink to this ' + thing; | ||
target.appendChild(hoverlink); | ||
} | ||
}); | ||
|
||
elem.addEventListener('mouseleave', () => { | ||
if (hoverlink) { | ||
setTimeout(function(href) { | ||
if (hoverlink && hoverlink.href == href) { | ||
hoverlink.remove(); | ||
hoverlink = null; | ||
} | ||
}, 1000, hoverlink.href); | ||
} | ||
}); | ||
} | ||
}); | ||
</script> | ||
<!-- Automatic hover links styles --> | ||
<style> | ||
:root { | ||
--hoverlink-size: 0.9em; | ||
} | ||
|
||
.hoverlink { | ||
text-decoration: none; | ||
} | ||
h1 { | ||
margin: 30px 0; | ||
font-size: 4em; | ||
line-height: 1; | ||
letter-spacing: -1px; | ||
|
||
.hoverlink::after { | ||
position: absolute; | ||
display: inline-block; | ||
content: ""; | ||
width: var(--hoverlink-size); | ||
height: var(--hoverlink-size); | ||
background-size: var(--hoverlink-size) var(--hoverlink-size); | ||
/* https://icon-library.com/images/permalink-icon/permalink-icon-17.jpg | ||
(resized from 512x512 to 64x64) */ | ||
background-image: url(permalink.png); | ||
} | ||
</style> | ||
</style> | ||
<!-- Automatic sections scripts --> | ||
<script> | ||
/* 1. Find all sections, i.e., elements with class "new-section" | ||
2. If a section has no id (shouldn't happen), auto-assign one | ||
3. For each element with an id, set "data-section" to its section id | ||
4. For each internal link, similarly set "data-section" to its section id | ||
*/ | ||
window.addEventListener('DOMContentLoaded', () => { | ||
var target_sections = new Map(); | ||
var sections = document.getElementsByClassName('new-section'); | ||
for (var i = 0; i < sections.length; i++) { | ||
var section = sections[i]; | ||
if (!section.id) { | ||
section.id = 'section-' + i; | ||
} | ||
target_sections.set(section.id, section.id); | ||
section.setAttribute('data-section', section.id) | ||
var targets = section.querySelectorAll('[id]'); | ||
for (var j = 0; j < targets.length; j++) { | ||
var target = targets[j]; | ||
target_sections.set(target.id, section.id); | ||
target.setAttribute('data-section', section.id) | ||
} | ||
} | ||
|
||
<div class="container"> | ||
<h1>404</h1> | ||
var doc_url = new URL(document.URL); | ||
var links = document.querySelectorAll('a[href]'); | ||
var warned = new Map() | ||
for (var i = 0; i < links.length; i++) { | ||
var link = links[i]; | ||
var url = new URL(link.href, document.URL); | ||
if (url.hostname == doc_url.hostname && | ||
url.pathname == doc_url.pathname && url.hash) { | ||
var href = url.hash.substring(1); | ||
var section_id = target_sections.get(href) | ||
if (!section_id) { | ||
if (!warned.get(href)) { | ||
console.warn("href %s undefined or not within a section", | ||
href); | ||
warned.set(href, true); | ||
} | ||
} else { | ||
link.setAttribute('data-section', section_id); | ||
} | ||
} | ||
} | ||
}); | ||
|
||
<p><strong>Page not found :(</strong></p> | ||
<p>The requested page could not be found.</p> | ||
</div> | ||
/* Create a new scope to avoid using a global variable */ | ||
(function() { | ||
|
||
/* Show the section with the given id, which is assumed to be valid */ | ||
function show_section(section_id) { | ||
var section = document.getElementById(section_id); | ||
|
||
/* The "cover-only" class indicates elements that should only be | ||
shown when the cover page section is shown */ | ||
var cover_onlys = document.getElementsByClassName('cover-only'); | ||
if (section) { | ||
for (var i = 0; i < cover_onlys.length; i++) { | ||
var cover_only = cover_onlys[i]; | ||
if (section_id != 'sec:cover-page') { | ||
cover_only.classList.add('hidden') | ||
} else { | ||
cover_only.classList.remove('hidden') | ||
} | ||
} | ||
} | ||
|
||
/* Hide all sections, then un-hide this one */ | ||
var sections = document.getElementsByClassName('new-section'); | ||
for (var i = 0; i < sections.length; i++) { | ||
sections[i].classList.add('hidden'); | ||
} | ||
section.classList.remove('hidden') | ||
} | ||
|
||
/* Add click events to all links, using the "data-section" attribute | ||
(set earlier) to show the associated section */ | ||
window.addEventListener('DOMContentLoaded', () => { | ||
var links = document.querySelectorAll('a[data-section]'); | ||
for (var i = 0; i < links.length; i++) { | ||
links[i].addEventListener('click', event => { | ||
var link = event.currentTarget; | ||
var section_id = link.attributes['data-section'].value; | ||
show_section(section_id); | ||
}); | ||
} | ||
}); | ||
|
||
/* Ensure that loading the page with a URL fragment (hash) will show the | ||
associated section */ | ||
window.addEventListener('DOMContentLoaded', () => { | ||
var url = new URL(document.URL); | ||
if (url.hash.length > 1) { | ||
var href = url.hash.substring(1); | ||
var target = document.getElementById(href); | ||
if (!target) { | ||
var fallback = 'sec:executive-summary'; | ||
console.warn("target %s undefined; falling back on %s", | ||
href, fallback); | ||
href = fallback; | ||
target = document.getElementById(href); | ||
if (!target) { | ||
var fallback = 'sec:cover-page'; | ||
console.warn("target %s undefined; falling back on %s", | ||
href, fallback); | ||
href = fallback; | ||
target = document.getElementById(href); | ||
} | ||
} | ||
if (!target) { | ||
console.warn("target %s undefined", href); | ||
} else { | ||
var section_id = target.attributes['data-section'].value; | ||
if (!section_id) { | ||
console.warn("target %s not within a section", href); | ||
} else { | ||
show_section(section_id); | ||
} | ||
} | ||
} | ||
}); | ||
|
||
/* End of new scope */ | ||
})(); | ||
</script> | ||
<!-- Automatic sections styles --> | ||
<style> | ||
h1.cover-page, .hidden, aside.footnotes-end-of-document { | ||
display: none; | ||
} | ||
</style> | ||
<!--[if lt IE 9]> | ||
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script> | ||
<![endif]--> | ||
</head> | ||
|
||
<p>All Broadband Forum data model filenames are of the form <code>tr-<number>-<issue>-<amendment>-<corrigendum>.<extension></code>.</p> | ||
<body> | ||
<section class="page-header"> | ||
<h1 class="project-name"> | ||
<a href="index.html" style="text-decoration: none; color: white;"> | ||
<img src="bbflogo-reverse-dark.png"/><br> | ||
The User Services Platform | ||
</a> | ||
</h1> | ||
<h2 class="project-tagline">Device Data Model Files and | ||
Documentation</h2> | ||
<p></p> | ||
<p></p> | ||
<div class="project-buttons"> | ||
<a class="btn" href="index.html#sec:current-data-models">Current | ||
Data Models</a> | ||
<a class="btn" href="https://data-model-template.broadband-forum.org" title="TR-106">Data | ||
Model Template</a> | ||
<a class="btn" href="https://usp.technology" title="usp.technology">Home</a> | ||
</div> | ||
</section> | ||
|
||
<p>You might have been looking for a file without all three (issue, amendment, corrigendum) version qualifiers, e.g., <code>tr-181-2-13.xml</code> as opposed to <code>tr-181-2-13-0.xml</code>.</p> | ||
<section class="main-content"> | ||
<header id="title-block-header" class="cover-only"> | ||
<h1 class="title auto-hoverlink" id="title">Broadband Forum User | ||
Services Platform (USP) Data Models</h1> | ||
<p class="author"></p> | ||
</header> | ||
<section id="sec:cover-page" class="cover-page unnumbered new-section"> | ||
<h1 class="cover-page unnumbered">Introduction</h1> | ||
<p><strong>Page not found :(</strong></p> | ||
<p>The requested page could not be found.</p> | ||
<p>All Broadband Forum data model filenames are of the form | ||
<code>tr-<number>-<issue>-<amendment>-<corrigendum>.<extension></code>.</p> | ||
<p>You might have been looking for a file without all three (issue, | ||
amendment, corrigendum) version qualifiers, e.g., | ||
<code>tr-181-2-13.xml</code> as opposed to | ||
<code>tr-181-2-13-0.xml</code>.</p> | ||
</section> | ||
<aside id="footnotes" class="footnotes footnotes-end-of-document" | ||
role="doc-endnotes"> | ||
<hr /> | ||
<ol> | ||
<li id="fn1"><p>Early versions of the CWMP data model defined two root | ||
data models, <em>InternetGatewayDevice</em> and <em>Device</em>. Version | ||
2 of the <em>Device</em> root data model (<em>Device:2</em>) deprecates | ||
<em>InternetGatewayDevice</em> and <em>Device:1</em> in favor of a | ||
single root data model.<a href="#fnref1" class="footnote-back" | ||
role="doc-backlink">↩︎</a></p></li> | ||
</ol> | ||
</aside> | ||
<div style="clear: both;"></div> | ||
<footer class="site-footer"> | ||
<span class="site-footer-owner"> | ||
USP is developed and maintained | ||
by <a href="https://www.broadband-forum.org">The Broadband Forum</a>. | ||
© The Broadband Forum 2023</a>. All Rights Reserved. | ||
</span> | ||
<span class="site-footer-credits"> | ||
This page was generated by <a href="https://pandoc.org">pandoc</a> | ||
and <a href="https://pages.github.com">GitHub Pages</a>. | ||
View the <a href="https://github.com/BroadbandForum/cwmp-data-models">specification | ||
source on GitHub</a>. | ||
<span class="release"></span> | ||
</span> | ||
</footer> | ||
</section> | ||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
--- | ||
# please ensure that this metadata roughly matches index.md (you can set | ||
# 'version' to an empty string rather than maintain it) | ||
|
||
project: 'The User Services Platform' | ||
shortname: 'USP' | ||
title: 'Broadband Forum User Services Platform (USP) Data Models' | ||
doctitle: 'Broadband Forum User Services Platform (USP) Data Models' | ||
tagline: 'Device Data Model Files and Documentation' | ||
version: '' | ||
subtitle: '' | ||
author: '' | ||
date: '' | ||
buttons: | ||
- label: 'Current Data Models' | ||
url: 'index.html#sec:current-data-models' | ||
- label: 'Data Model Template' | ||
title: 'TR-106' | ||
url: 'https://data-model-template.broadband-forum.org' | ||
- label: 'Home' | ||
title: 'usp.technology' | ||
url: 'https://usp.technology' | ||
cover-page: 'Introduction' | ||
numberSections: false | ||
... | ||
|
||
**Page not found :(** | ||
|
||
The requested page could not be found. | ||
|
||
All Broadband Forum data model filenames are of the form | ||
`tr-<number>-<issue>-<amendment>-<corrigendum>.<extension>`. | ||
|
||
You might have been looking for a file without all three (issue, amendment, | ||
corrigendum) version qualifiers, e.g., `tr-181-2-13.xml` as opposed to | ||
`tr-181-2-13-0.xml`. |
Oops, something went wrong.