Changes for page Setup MS Direct Routing

Last modified by Aaron Blackburn on 2026/09/25 20:58

From version 7.1
edited by Aaron Blackburn
on 2026/09/25 20:58
Change comment: There is no comment for this version
To version 2.1
edited by Aaron Blackburn
on 2026/09/25 20:55
Change comment: Uploaded new attachment "Picture2.png", version {1}

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,0 @@
1 -Setup MS Direct Routing
Parent
... ... @@ -1,1 +1,0 @@
1 -Teams.MS Teams How To's\:.WebHome
Content
... ... @@ -1,389 +1,0 @@
1 -{{html clean="false"}}
2 -<!--
3 - ============================================================
4 - FirstDigital - Setup MS Direct Routing (XWiki fragment)
5 - Design System Prefix: fdt-
6 - ============================================================
7 --->
8 -<style>
9 -@import url('https://fonts.googleapis.com/css2?family=Host+Grotesk:wght@300;400;600;800&display=swap');
10 -
11 - .fdt-hub ~ .fdt-hub { display: none !important; }
12 -
13 - .fdt-hub {
14 - --fd-navy: #003366;
15 - --fd-blue: #307ab2;
16 - --fd-blue-bright: #38b2e3;
17 - --fd-red: #cf333d;
18 - --fd-body: #2e404d;
19 - --fd-secondary: #8f9499;
20 - --fd-bg-mid: #dedede;
21 - --fd-bg-light: #f0f0f0;
22 - --fd-ice: #e3f1f8;
23 - --fd-white: #ffffff;
24 - --fd-alert-bg: #fdf2f2;
25 - --fd-alert-border:#f8b4b4;
26 - }
27 -
28 - .fdt-hub, .fdt-hub * { box-sizing: border-box; }
29 -
30 - .fdt-hub {
31 - font-family: 'Host Grotesk', 'Segoe UI', -apple-system, BlinkMacSystemFont, Arial, sans-serif;
32 - font-weight: 300;
33 - color: var(--fd-body);
34 - background: var(--fd-white);
35 - max-width: 1000px;
36 - margin: 0 auto;
37 - padding: 0 20px 30px;
38 - -webkit-font-smoothing: antialiased;
39 - }
40 -
41 - /* ---- Masthead ---- */
42 - .fdt-masthead {
43 - display: flex;
44 - align-items: center;
45 - justify-content: space-between;
46 - gap: 20px;
47 - flex-wrap: wrap;
48 - padding: 22px 0 18px;
49 - border-bottom: 1px solid var(--fd-bg-mid);
50 - }
51 -
52 - .fdt-masthead img { height: 46px; width: auto; display: block; }
53 -
54 - .fdt-masthead-label {
55 - font-size: 12px;
56 - font-weight: 600;
57 - letter-spacing: 0.16em;
58 - text-transform: uppercase;
59 - color: var(--fd-secondary);
60 - white-space: nowrap;
61 - }
62 -
63 - /* ---- Hero ---- */
64 - .fdt-hero {
65 - margin-top: 22px;
66 - border-radius: 6px;
67 - padding: 34px 34px 32px;
68 - background: linear-gradient(100deg, var(--fd-navy) 0%, var(--fd-navy) 56%, var(--fd-blue) 100%);
69 - }
70 -
71 - .fdt-rule {
72 - width: 62px; height: 4px;
73 - background: var(--fd-red);
74 - border: 0;
75 - margin: 0 0 16px;
76 - }
77 -
78 - .fdt-eyebrow {
79 - font-size: 16px;
80 - font-weight: 600;
81 - letter-spacing: 0.18em;
82 - text-transform: uppercase;
83 - color: var(--fd-blue-bright);
84 - margin-bottom: 9px;
85 - }
86 -
87 - .fdt-hero h1 {
88 - font-size: clamp(26px, 3.6vw, 36px);
89 - font-weight: 800;
90 - line-height: 1.14;
91 - letter-spacing: -0.01em;
92 - color: var(--fd-white);
93 - margin: 0 0 12px;
94 - }
95 -
96 - .fdt-hero p {
97 - font-size: 15.5px;
98 - font-weight: 300;
99 - line-height: 1.62;
100 - color: #dbe6ef;
101 - margin: 0;
102 - max-width: 650px;
103 - }
104 -
105 - /* ---- Content Sections ---- */
106 - .fdt-section {
107 - margin-top: 36px;
108 - }
109 -
110 - .fdt-section-title {
111 - font-size: 22px;
112 - font-weight: 800;
113 - color: var(--fd-navy);
114 - margin: 0 0 16px 0;
115 - border-bottom: 2px solid var(--fd-ice);
116 - padding-bottom: 8px;
117 - }
118 -
119 - .fdt-text {
120 - font-size: 15px;
121 - line-height: 1.6;
122 - margin-bottom: 16px;
123 - }
124 -
125 - .fdt-card {
126 - background: var(--fd-white);
127 - border: 1px solid var(--fd-bg-mid);
128 - border-radius: 6px;
129 - padding: 24px;
130 - margin-bottom: 20px;
131 - }
132 -
133 - .fdt-alert {
134 - background-color: var(--fd-alert-bg);
135 - border-left: 4px solid var(--fd-red);
136 - padding: 16px 20px;
137 - border-radius: 0 6px 6px 0;
138 - margin: 20px 0;
139 - font-size: 14.5px;
140 - line-height: 1.5;
141 - color: #8a1f26;
142 - }
143 -
144 - .fdt-alert strong {
145 - color: var(--fd-red);
146 - }
147 -
148 - /* ---- Step-by-Step List ---- */
149 - .fdt-steps {
150 - list-style: none;
151 - padding: 0;
152 - margin: 0;
153 - counter-reset: fdt-counter;
154 - }
155 -
156 - .fdt-step-item {
157 - position: relative;
158 - padding-left: 48px;
159 - margin-bottom: 24px;
160 - }
161 -
162 - .fdt-step-item::before {
163 - counter-increment: fdt-counter;
164 - content: counter(fdt-counter);
165 - position: absolute;
166 - left: 0;
167 - top: 0;
168 - width: 32px;
169 - height: 32px;
170 - background-color: var(--fd-ice);
171 - color: var(--fd-navy);
172 - font-weight: 700;
173 - border-radius: 50%;
174 - display: flex;
175 - align-items: center;
176 - justify-content: center;
177 - font-size: 14px;
178 - }
179 -
180 - .fdt-step-item strong {
181 - color: var(--fd-navy);
182 - }
183 -
184 - .fdt-step-img {
185 - margin-top: 14px;
186 - max-width: 100%;
187 - height: auto;
188 - border: 1px solid var(--fd-bg-mid);
189 - border-radius: 6px;
190 - box-shadow: 0 4px 12px rgba(0,0,0,0.05);
191 - }
192 -
193 - /* ---- Data Tables ---- */
194 - .fdt-table-wrapper {
195 - overflow-x: auto;
196 - margin-top: 16px;
197 - }
198 -
199 - .fdt-table {
200 - width: 100%;
201 - border-collapse: collapse;
202 - text-align: left;
203 - font-size: 14px;
204 - }
205 -
206 - .fdt-table th, .fdt-table td {
207 - padding: 12px 16px;
208 - border: 1px solid var(--fd-bg-mid);
209 - }
210 -
211 - .fdt-table th {
212 - background-color: var(--fd-ice);
213 - color: var(--fd-navy);
214 - font-weight: 700;
215 - }
216 -
217 - .fdt-table td code {
218 - background: var(--fd-bg-light);
219 - padding: 2px 6px;
220 - border-radius: 4px;
221 - font-family: monospace;
222 - font-size: 13px;
223 - }
224 -
225 - /* ---- Footer ---- */
226 - .fdt-footer {
227 - margin-top: 40px;
228 - padding-top: 18px;
229 - border-top: 1px solid var(--fd-bg-mid);
230 - display: flex;
231 - justify-content: space-between;
232 - gap: 16px;
233 - flex-wrap: wrap;
234 - font-size: 12.5px;
235 - color: var(--fd-secondary);
236 - }
237 -
238 - @media (max-width: 720px) {
239 - .fdt-hub { padding: 0 12px 24px; }
240 - .fdt-masthead img { height: 38px; }
241 - .fdt-hero { padding: 26px 22px 24px; }
242 - .fdt-footer { justify-content: flex-start; }
243 - }
244 -</style>
245 -
246 -<div class="fdt-hub">
247 -
248 - <!-- Masthead -->
249 - <div class="fdt-masthead">
250 - <img src="https://learn.firstdigital.com/bin/download/Main/WebHome/FirstDigital-Logo.png?rev=1.3" alt="FirstDigital">
251 - <span class="fdt-masthead-label">Fiber &middot; Internet &middot; Cloud &middot; Voice</span>
252 - </div>
253 -
254 - <!-- Hero Banner -->
255 - <section class="fdt-hero">
256 - <hr class="fdt-rule">
257 - <div class="fdt-eyebrow">Microsoft Teams How To&rsquo;s</div>
258 - <h1>Configure Microsoft Direct Routing</h1>
259 - <p>This Initial Setup guide will walk you through configuring Direct Routing in The Portal.</p>
260 - </section>
261 -
262 - <!-- Overview Section -->
263 - <section class="fdt-section">
264 - <div class="fdt-card">
265 - <p class="fdt-text">Direct Routing is a Microsoft Teams-only offering. To set up Direct Routing, you will complete the following stages:</p>
266 - <ol style="margin: 0; padding-left: 20px; line-height: 1.8;">
267 - <td>1. Get or verify your Microsoft licensing</td><br>
268 - <td>2. Validate your tenant and configure Direct Routing</td><br>
269 - <td>3. Microsoft iPILOT App Permission Reduction (optional)</td>
270 - </ol>
271 - </div>
272 - </section>
273 -
274 - <!-- Step 1: Licensing -->
275 - <section class="fdt-section">
276 - <h2 class="fdt-section-title">1. Get or Verify Your Microsoft Licensing</h2>
277 - <div class="fdt-text">
278 - To complete the automated onboarding process, you'll need <strong>2 Teams Licenses</strong> and <strong>2 Teams Phone licenses</strong> for each region to be configured.
279 - </div>
280 -
281 - <div class="fdt-alert">
282 - <strong>Important:</strong> These licenses must be available and unassigned until your tenant is validated and Direct Routing has been successfully configured.
283 - </div>
284 -
285 - <div class="fdt-card" style="background-color: var(--fd-bg-light); border: none;">
286 - <strong>Example:</strong> To configure both North America and Europe, you need a total of <strong>4 available and unassigned licenses</strong>: 2 Teams Licenses and 2 Phone System licenses for each region.
287 - </div>
288 - </section>
289 -
290 - <!-- Step 2: Tenant Validation & Direct Routing -->
291 - <section class="fdt-section">
292 - <h2 class="fdt-section-title">2. Validate Your Tenant & Configure Direct Routing</h2>
293 - <p class="fdt-text">Once licensing is verified, you will install the Microsoft iPILOT App to assist in your tenant's automatic validation and configuration.</p>
294 -
295 - <ol class="fdt-steps">
296 - <li class="fdt-step-item">
297 - Sign in to <strong>The Portal</strong> using SSO or your credentials. <em>(If this is your first time signing in, complete the quick introduction walkthrough.)</em>
298 - </li>
299 - <li class="fdt-step-item">
300 - Navigate to <strong>Settings &gt; Integration</strong>.
301 - <br>
302 - <img class="fdt-step-img" src="https://learn.firstdigital.com/bin/download/Teams/MS%20Teams%20How%20To's%3A/Setup%20MS%20Direct%20Routing/WebHome/Picture1.jpg" alt="Settings > Integration Menu Navigation" />
303 - </li>
304 - <li class="fdt-step-item">
305 - Select <strong>MSTEAMS Validate Tenant</strong>.
306 - </li>
307 - <li class="fdt-step-item">
308 - In the <em>Add Registered App Details</em> section, select <strong>Click here to activate</strong>.
309 - <div class="fdt-alert">
310 - <strong>IMPORTANT:</strong> When activating, you must authenticate as a <strong>Global Administrator</strong> in the tenant where you are configuring Direct Routing.
311 - </div>
312 - </li>
313 - <li class="fdt-step-item">
314 - This will start the installation of the new App. Click <strong>Accept</strong> to install the App.
315 - <br>
316 - <img class="fdt-step-img" src="https://learn.firstdigital.com/bin/download/Teams/MS%20Teams%20How%20To's%3A/Setup%20MS%20Direct%20Routing/WebHome/Picture2.png" alt="App Permissions Request Consent Screen" />
317 - </li>
318 - <li class="fdt-step-item">
319 - The Microsoft iPILOT App requires the <strong>Teams Administrator</strong> role to validate and configure Direct Routing successfully.
320 - <p>Go to <strong>Azure Active Directory &gt; Roles &amp; Admins</strong> and select <strong>Roles &amp; Admins</strong>. Under Administrative roles, search for <strong>Teams Administrator</strong>, select its checkbox, and click <strong>Add Assignment</strong>.</p>
321 - <p>Search for the <strong>iPILOT App</strong>, confirm the App ID is <code>0c88dfb3-a8b1-419d-b6fb-0956cdd5790d</code>, select it, and click <strong>Add</strong>.</p>
322 - </li>
323 - <li class="fdt-step-item">
324 - Navigate back to <strong>The Portal</strong>. You should see the <strong>VALIDATED</strong> status for each region once successfully configured. You're ready to start assigning users phone numbers and testing services!
325 - </li>
326 - </ol>
327 - </section>
328 -
329 - <!-- Step 3: Permission Reduction -->
330 - <section class="fdt-section">
331 - <h2 class="fdt-section-title">3. Microsoft iPILOT App Permission Reduction (Optional)</h2>
332 - <p class="fdt-text">Permission reduction supports standard security practices.</p>
333 -
334 - <div class="fdt-alert">
335 - <strong>Important:</strong> Only complete this step <em>after</em> you complete sections 1 &amp; 2 of this guide. Reducing permissions beforehand will cause validation, configuration, and testing to fail.
336 - </div>
337 -
338 - <ol style="line-height: 1.8; margin-bottom: 20px;">
339 - <td>1. Go to <strong>Enterprise Apps</strong> in the <strong>Microsoft Entra admin center</strong>.</td><br>
340 - <td>2. Search for the <strong>iPILOT App</strong> (not the iPILOT SSO App) and select it.</td><br>
341 - <td>3. Select <strong>Permissions</strong>.</td><br>
342 - <td>4. Click the three dots menu next to the following permissions and select <strong>Revoke Permission</strong>:
343 - <ul style="margin-top: 8px;">
344 - <td>• <code>Domain.ReadWrite.All</code></td><br>
345 - <td>• <code>User.ReadWrite.All</code></td>
346 - </ul>
347 - </td>
348 - </ol>
349 - </section>
350 -
351 - <!-- Additional Info / MFA -->
352 - <section class="fdt-section">
353 - <h2 class="fdt-section-title">Additional Information: MFA &amp; Trusted IP Addresses</h2>
354 - <p class="fdt-text">If you choose to enable Multi-Factor Authentication (MFA) for your Service Account or have other conditional policies, you must add the following IP addresses to the trusted section in the MFA Service Settings or from your conditional access policies:</p>
355 -
356 - <div class="fdt-table-wrapper">
357 - <table class="fdt-table">
358 - <thead>
359 - <tr>
360 - <th>North America</th>
361 - <th>Europe</th>
362 - </tr>
363 - </thead>
364 - <tbody>
365 - <tr>
366 - <td><code>204.10.95.128/25</code></td>
367 - <td><code>66.178.136.192/27</code></td>
368 - </tr>
369 - <tr>
370 - <td><code>74.119.9.32/27</code></td>
371 - <td><code>66.178.137.192/27</code></td>
372 - </tr>
373 - <tr>
374 - <td><code>204.10.94.64/27</code></td>
375 - <td>—</td>
376 - </tr>
377 - </tbody>
378 - </table>
379 - </div>
380 - </section>
381 -
382 - <!-- Footer -->
383 - <div class="fdt-footer">
384 - <span>FirstDigital &middot; Microsoft Teams How To&rsquo;s</span>
385 - <span>Need help? Contact your FirstDigital support team at 801-456-1000 or support@firstdigital.com.</span>
386 - </div>
387 -
388 -</div>
389 -{{/html}}
Picture3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.aaronblackburnfirstdigitalcom
Size
... ... @@ -1,1 +1,0 @@
1 -396.9 KB
Content
Picture4.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.aaronblackburnfirstdigitalcom
Size
... ... @@ -1,1 +1,0 @@
1 -643.4 KB
Content
Picture5.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.aaronblackburnfirstdigitalcom
Size
... ... @@ -1,1 +1,0 @@
1 -597.1 KB
Content