Wiki source code of Cloud Connected PSTN (CCP) How To's:
Last modified by Aaron Blackburn on 2026/09/25 20:47
Hide last authors
| author | version | line-number | content |
|---|---|---|---|
| |
4.1 | 1 | {{html clean="false"}} |
| 2 | <!-- | ||
| 3 | ============================================================ | ||
| 4 | FirstDigital - Cloud Connected PSTN (CCP) How To's (XWiki fragment) | ||
| 5 | ============================================================ | ||
| 6 | --> | ||
| 7 | <style> | ||
| 8 | @import url('https://fonts.googleapis.com/css2?family=Host+Grotesk:wght@300;400;600;800&display=swap'); | ||
| 9 | |||
| |
5.1 | 10 | /* Safety net: if the wiki ever renders this block twice, show only the first copy. */ |
| |
4.1 | 11 | .fdcht-hub ~ .fdcht-hub { display: none !important; } |
| 12 | |||
| 13 | /* ---- FirstDigital brand tokens (Brand Guide 2025, p.11) ---- */ | ||
| 14 | .fdcht-hub { | ||
| 15 | --fd-navy: #003366; | ||
| 16 | --fd-blue: #307ab2; | ||
| 17 | --fd-blue-bright: #38b2e3; | ||
| 18 | --fd-red: #cf333d; | ||
| 19 | --fd-body: #2e404d; | ||
| 20 | --fd-secondary: #8f9499; | ||
| 21 | --fd-bg-mid: #dedede; | ||
| 22 | --fd-bg-light: #f0f0f0; | ||
| 23 | --fd-ice: #e3f1f8; | ||
| 24 | --fd-white: #ffffff; | ||
| 25 | } | ||
| 26 | |||
| 27 | .fdcht-hub, .fdcht-hub * { box-sizing: border-box; } | ||
| 28 | |||
| 29 | .fdcht-hub { | ||
| 30 | font-family: 'Host Grotesk', 'Segoe UI', -apple-system, BlinkMacSystemFont, Arial, sans-serif; | ||
| 31 | font-weight: 300; | ||
| 32 | color: var(--fd-body); | ||
| 33 | background: var(--fd-white); | ||
| 34 | max-width: 1000px; | ||
| 35 | margin: 0 auto; | ||
| 36 | padding: 0 20px 30px; | ||
| 37 | -webkit-font-smoothing: antialiased; | ||
| 38 | } | ||
| 39 | |||
| 40 | /* ---- Masthead ---- */ | ||
| 41 | .fdcht-masthead { | ||
| 42 | display: flex; | ||
| 43 | align-items: center; | ||
| 44 | justify-content: space-between; | ||
| 45 | gap: 20px; | ||
| 46 | flex-wrap: wrap; | ||
| 47 | padding: 22px 0 18px; | ||
| 48 | border-bottom: 1px solid var(--fd-bg-mid); | ||
| 49 | } | ||
| 50 | |||
| 51 | .fdcht-masthead img { height: 46px; width: auto; display: block; } | ||
| 52 | |||
| 53 | .fdcht-masthead-label { | ||
| 54 | font-size: 12px; | ||
| 55 | font-weight: 600; | ||
| 56 | letter-spacing: 0.16em; | ||
| 57 | text-transform: uppercase; | ||
| 58 | color: var(--fd-secondary); | ||
| 59 | white-space: nowrap; | ||
| 60 | } | ||
| 61 | |||
| 62 | /* ---- Hero ---- */ | ||
| 63 | .fdcht-hero { | ||
| 64 | margin-top: 22px; | ||
| 65 | border-radius: 6px; | ||
| 66 | padding: 34px 34px 32px; | ||
| 67 | background: linear-gradient(100deg, | ||
| 68 | var(--fd-navy) 0%, | ||
| 69 | var(--fd-navy) 56%, | ||
| 70 | var(--fd-blue) 100%); | ||
| 71 | } | ||
| 72 | |||
| 73 | .fdcht-rule { | ||
| 74 | width: 62px; height: 4px; | ||
| 75 | background: var(--fd-red); | ||
| 76 | border: 0; | ||
| 77 | margin: 0 0 16px; | ||
| 78 | } | ||
| 79 | |||
| 80 | .fdcht-eyebrow { | ||
| 81 | font-size: 16px; | ||
| 82 | font-weight: 600; | ||
| 83 | letter-spacing: 0.18em; | ||
| 84 | text-transform: uppercase; | ||
| 85 | color: var(--fd-blue-bright); | ||
| 86 | margin-bottom: 9px; | ||
| 87 | } | ||
| 88 | |||
| 89 | .fdcht-hero h1 { | ||
| 90 | font-size: clamp(26px, 3.6vw, 36px); | ||
| 91 | font-weight: 800; | ||
| 92 | line-height: 1.14; | ||
| 93 | letter-spacing: -0.01em; | ||
| 94 | color: var(--fd-white); | ||
| 95 | margin: 0 0 12px; | ||
| 96 | } | ||
| 97 | |||
| 98 | .fdcht-hero p { | ||
| 99 | font-size: 15.5px; | ||
| 100 | font-weight: 300; | ||
| 101 | line-height: 1.62; | ||
| 102 | color: #dbe6ef; | ||
| 103 | margin: 0; | ||
| 104 | max-width: 600px; | ||
| 105 | } | ||
| 106 | |||
| 107 | /* ---- How-to list ---- */ | ||
| 108 | .fdcht-list { | ||
| 109 | display: flex; | ||
| 110 | flex-direction: column; | ||
| 111 | gap: 14px; | ||
| 112 | margin-top: 26px; | ||
| 113 | } | ||
| 114 | |||
| 115 | .fdcht-row { | ||
| 116 | display: flex; | ||
| 117 | align-items: center; | ||
| 118 | gap: 18px; | ||
| 119 | background: var(--fd-white); | ||
| 120 | border: 1px solid var(--fd-bg-mid); | ||
| 121 | border-radius: 6px; | ||
| 122 | padding: 18px 20px; | ||
| 123 | text-decoration: none !important; | ||
| 124 | color: inherit; | ||
| 125 | transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; | ||
| 126 | } | ||
| 127 | |||
| 128 | .fdcht-row:hover { | ||
| 129 | transform: translateY(-2px); | ||
| 130 | border-color: var(--fd-blue-bright); | ||
| 131 | box-shadow: 0 12px 26px rgba(0,51,102,0.14); | ||
| 132 | } | ||
| 133 | |||
| 134 | .fdcht-row:focus-visible { | ||
| 135 | outline: 3px solid var(--fd-blue-bright); | ||
| 136 | outline-offset: 2px; | ||
| 137 | } | ||
| 138 | |||
| 139 | .fdcht-badge { | ||
| 140 | width: 46px; height: 46px; | ||
| 141 | border-radius: 8px; | ||
| 142 | background: var(--fd-ice); | ||
| 143 | display: flex; | ||
| 144 | align-items: center; | ||
| 145 | justify-content: center; | ||
| 146 | flex: 0 0 auto; | ||
| 147 | } | ||
| 148 | |||
| 149 | .fdcht-badge svg { | ||
| 150 | width: 22px; height: 22px; | ||
| 151 | fill: none; | ||
| 152 | stroke: var(--fd-navy); | ||
| 153 | stroke-width: 1.7; | ||
| 154 | stroke-linecap: round; | ||
| 155 | stroke-linejoin: round; | ||
| 156 | } | ||
| 157 | |||
| 158 | .fdcht-badge svg .accent { stroke: var(--fd-blue-bright); } | ||
| 159 | |||
| 160 | .fdcht-row-text { flex: 1 1 auto; min-width: 0; } | ||
| 161 | |||
| 162 | .fdcht-q { | ||
| 163 | display: block; | ||
| 164 | font-size: 16.5px; | ||
| 165 | font-weight: 700; | ||
| 166 | line-height: 1.35; | ||
| 167 | color: var(--fd-navy); | ||
| 168 | } | ||
| 169 | |||
| 170 | .fdcht-tag { | ||
| 171 | display: inline-flex; | ||
| 172 | align-items: center; | ||
| 173 | gap: 5px; | ||
| 174 | font-size: 12px; | ||
| 175 | font-weight: 600; | ||
| 176 | letter-spacing: .04em; | ||
| 177 | text-transform: uppercase; | ||
| 178 | color: var(--fd-secondary); | ||
| 179 | margin-top: 5px; | ||
| 180 | } | ||
| 181 | |||
| 182 | .fdcht-tag svg { | ||
| 183 | width: 12px; height: 12px; | ||
| 184 | fill: var(--fd-secondary); | ||
| 185 | stroke: none; | ||
| 186 | } | ||
| 187 | |||
| 188 | .fdcht-watch { | ||
| 189 | flex: 0 0 auto; | ||
| 190 | display: flex; | ||
| 191 | align-items: center; | ||
| 192 | gap: 8px; | ||
| 193 | font-size: 13px; | ||
| 194 | font-weight: 600; | ||
| 195 | color: var(--fd-red); | ||
| 196 | white-space: nowrap; | ||
| 197 | } | ||
| 198 | |||
| 199 | .fdcht-watch svg { | ||
| 200 | width: 30px; height: 30px; | ||
| 201 | flex: 0 0 auto; | ||
| 202 | } | ||
| 203 | |||
| 204 | .fdcht-watch svg circle { | ||
| 205 | fill: var(--fd-red); | ||
| 206 | transition: fill .2s ease; | ||
| 207 | } | ||
| 208 | |||
| 209 | .fdcht-watch svg path { | ||
| 210 | fill: var(--fd-white); | ||
| 211 | } | ||
| 212 | |||
| 213 | .fdcht-row:hover .fdcht-watch svg circle { fill: var(--fd-navy); } | ||
| 214 | |||
| |
5.1 | 215 | /* Style variant for Documentation/Guide links */ |
| 216 | .fdcht-watch.fdcht-read { | ||
| 217 | color: var(--fd-blue); | ||
| 218 | } | ||
| 219 | |||
| 220 | .fdcht-watch.fdcht-read svg circle { | ||
| 221 | fill: var(--fd-blue); | ||
| 222 | } | ||
| 223 | |||
| 224 | .fdcht-row:hover .fdcht-watch.fdcht-read svg circle { fill: var(--fd-navy); } | ||
| 225 | |||
| |
4.1 | 226 | /* ---- Footer ---- */ |
| 227 | .fdcht-footer { | ||
| 228 | margin-top: 30px; | ||
| 229 | padding-top: 18px; | ||
| 230 | border-top: 1px solid var(--fd-bg-mid); | ||
| 231 | display: flex; | ||
| 232 | justify-content: space-between; | ||
| 233 | gap: 16px; | ||
| 234 | flex-wrap: wrap; | ||
| 235 | font-size: 12.5px; | ||
| 236 | color: var(--fd-secondary); | ||
| 237 | } | ||
| 238 | |||
| 239 | @media (max-width: 720px) { | ||
| 240 | .fdcht-hub { padding: 0 12px 24px; } | ||
| 241 | .fdcht-masthead img { height: 38px; } | ||
| 242 | .fdcht-hero { padding: 26px 22px 24px; } | ||
| 243 | .fdcht-row { padding: 16px; gap: 14px; } | ||
| 244 | .fdcht-watch span { display: none; } | ||
| 245 | .fdcht-footer { justify-content: flex-start; } | ||
| 246 | } | ||
| 247 | |||
| 248 | @media (prefers-reduced-motion: reduce) { | ||
| 249 | .fdcht-row, .fdcht-watch svg circle { transition: none; } | ||
| 250 | } | ||
| 251 | </style> | ||
| 252 | |||
| 253 | <div class="fdcht-hub"> | ||
| 254 | |||
| 255 | <div class="fdcht-masthead"> | ||
| 256 | <img src="https://learn.firstdigital.com/bin/download/Main/WebHome/FirstDigital-Logo.png?rev=1.3" alt="FirstDigital"> | ||
| 257 | <span class="fdcht-masthead-label">Fiber · Internet · Cloud · Voice</span> | ||
| 258 | </div> | ||
| 259 | |||
| 260 | <section class="fdcht-hero"> | ||
| 261 | <hr class="fdcht-rule"> | ||
| 262 | <div class="fdcht-eyebrow">Cloud Connected PSTN</div> | ||
| 263 | <h1>How To’s</h1> | ||
| |
5.1 | 264 | <p>Guides and video walkthroughs for common Cloud Connected PSTN tasks. Select a topic below to view.</p> |
| |
4.1 | 265 | </section> |
| 266 | |||
| |
5.1 | 267 | <nav class="fdcht-list" aria-label="Cloud Connected PSTN how-to guides and videos"> |
| |
4.1 | 268 | |
| |
5.1 | 269 | <!-- Configure CCP in Control Hub Guide --> |
| 270 | <a class="fdcht-row" href="https://learn.firstdigital.com/bin/view/CCP/Configure%20CCP%20in%20Control%20Hub/"> | ||
| 271 | <span class="fdcht-badge"> | ||
| 272 | <svg viewBox="0 0 24 24" aria-hidden="true"><rect x="3" y="3" width="18" height="18" rx="2"/><path class="accent" d="M8 12h8M8 8h8M8 16h5"/></svg> | ||
| 273 | </span> | ||
| 274 | <span class="fdcht-row-text"> | ||
| 275 | <span class="fdcht-q">Configure Cloud Connected PSTN in Control Hub</span> | ||
| 276 | <span class="fdcht-tag"><svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/></svg>Documentation Guide</span> | ||
| 277 | </span> | ||
| 278 | <span class="fdcht-watch fdcht-read"> | ||
| 279 | <span>Read Guide</span> | ||
| 280 | <svg viewBox="0 0 24 24" aria-hidden="true"><circle cx="12" cy="12" r="12"/><path d="M10 7l5 5-5 5" stroke="#ffffff" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"/></svg> | ||
| 281 | </span> | ||
| 282 | </a> | ||
| 283 | |||
| 284 | <!-- Bulk Provisioning Guide --> | ||
| 285 | <a class="fdcht-row" href="https://learn.firstdigital.com/bin/view/CCP/Bulk%20Provisioning/"> | ||
| 286 | <span class="fdcht-badge"> | ||
| 287 | <svg viewBox="0 0 24 24" aria-hidden="true"><path d="M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/><circle cx="8.5" cy="7" r="4"/><path class="accent" d="M20 8v6M23 11h-6"/></svg> | ||
| 288 | </span> | ||
| 289 | <span class="fdcht-row-text"> | ||
| 290 | <span class="fdcht-q">FDConnect Bulk Management and Provisioning</span> | ||
| 291 | <span class="fdcht-tag"><svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/></svg>Documentation Guide</span> | ||
| 292 | </span> | ||
| 293 | <span class="fdcht-watch fdcht-read"> | ||
| 294 | <span>Read Guide</span> | ||
| 295 | <svg viewBox="0 0 24 24" aria-hidden="true"><circle cx="12" cy="12" r="12"/><path d="M10 7l5 5-5 5" stroke="#ffffff" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"/></svg> | ||
| 296 | </span> | ||
| 297 | </a> | ||
| 298 | |||
| 299 | <!-- Video Walkthrough: Moving a number --> | ||
| |
4.1 | 300 | <a class="fdcht-row" href="https://app.vidcast.io/share/c2f50516-9950-4b45-a019-4a81a6fee293?playerMode=vidcast" target="_blank" rel="noopener"> |
| 301 | <span class="fdcht-badge"> | ||
| 302 | <svg viewBox="0 0 24 24" aria-hidden="true"><path d="M7 7h8l-2.5-2.5M7 7l2.5 2.5"/><path class="accent" d="M17 17H9l2.5 2.5M17 17l-2.5-2.5"/></svg> | ||
| 303 | </span> | ||
| 304 | <span class="fdcht-row-text"> | ||
| 305 | <span class="fdcht-q">Moving a number between SIP trunks via FDconnect</span> | ||
| 306 | <span class="fdcht-tag"><svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/></svg>Video walkthrough</span> | ||
| 307 | </span> | ||
| 308 | <span class="fdcht-watch"> | ||
| 309 | <span>Watch</span> | ||
| 310 | <svg viewBox="0 0 24 24" aria-hidden="true"><circle cx="12" cy="12" r="12"/><path d="M10 8.5l6 3.5-6 3.5z"/></svg> | ||
| 311 | </span> | ||
| 312 | </a> | ||
| 313 | |||
| |
5.1 | 314 | <!-- Video Walkthrough: Disaster Redirect Plan --> |
| |
4.1 | 315 | <a class="fdcht-row" href="https://app.vidcast.io/share/7b80781e-6678-457d-b7e4-2349a095c7d3?playerMode=vidcast" target="_blank" rel="noopener"> |
| 316 | <span class="fdcht-badge"> | ||
| 317 | <svg viewBox="0 0 24 24" aria-hidden="true"><path d="M12 3l9 4.5v5.4C21 17.7 17 20.4 12 21c-5-.6-9-3.3-9-8.1V7.5L12 3z"/><path class="accent" d="M12 8.5v4.5M12 16v.01"/></svg> | ||
| 318 | </span> | ||
| 319 | <span class="fdcht-row-text"> | ||
| 320 | <span class="fdcht-q">Disaster Redirect Plan</span> | ||
| 321 | <span class="fdcht-tag"><svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/></svg>Video walkthrough</span> | ||
| 322 | </span> | ||
| 323 | <span class="fdcht-watch"> | ||
| 324 | <span>Watch</span> | ||
| 325 | <svg viewBox="0 0 24 24" aria-hidden="true"><circle cx="12" cy="12" r="12"/><path d="M10 8.5l6 3.5-6 3.5z"/></svg> | ||
| 326 | </span> | ||
| 327 | </a> | ||
| 328 | |||
| |
5.1 | 329 | <!-- Video Walkthrough: Free Caller Registry --> |
| |
4.1 | 330 | <a class="fdcht-row" href="https://app.vidcast.io/share/9a76e07d-1a9d-4d69-9354-e0d8b5699543?playerMode=vidcast" target="_blank" rel="noopener"> |
| 331 | <span class="fdcht-badge"> | ||
| 332 | <svg viewBox="0 0 24 24" aria-hidden="true"><rect x="4" y="4" width="16" height="16" rx="2"/><path class="accent" d="M8.5 12.5l2.3 2.3L16 9.5"/></svg> | ||
| 333 | </span> | ||
| 334 | <span class="fdcht-row-text"> | ||
| 335 | <span class="fdcht-q">Free Caller Registry</span> | ||
| 336 | <span class="fdcht-tag"><svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/></svg>Video walkthrough</span> | ||
| 337 | </span> | ||
| 338 | <span class="fdcht-watch"> | ||
| 339 | <span>Watch</span> | ||
| 340 | <svg viewBox="0 0 24 24" aria-hidden="true"><circle cx="12" cy="12" r="12"/><path d="M10 8.5l6 3.5-6 3.5z"/></svg> | ||
| 341 | </span> | ||
| 342 | </a> | ||
| 343 | |||
| 344 | </nav> | ||
| 345 | |||
| 346 | <div class="fdcht-footer"> | ||
| 347 | <span>FirstDigital · Cloud Connected PSTN How To’s</span> | ||
| 348 | <span>Need help? Contact your FirstDigital support team at 801-456-1000 or support@firstdigital.com.</span> | ||
| 349 | </div> | ||
| 350 | |||
| 351 | </div> | ||
| 352 | {{/html}} |