Changes for page SIP
Last modified by Aaron Blackburn on 2026/09/01 19:00
From version 1.3
edited by Aaron Blackburn
on 2026/09/01 18:33
on 2026/09/01 18:33
Change comment:
There is no comment for this version
To version 1.1
edited by Aaron Blackburn
on 2026/07/22 20:53
on 2026/07/22 20:53
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,283 +1,0 @@ 1 -{{html clean="false"}} 2 -<!-- 3 - XWiki usage: Paste into an HTML macro on your page. 4 - Note: All FirstDigital IPs have been sanitized for public safety. 5 ---> 6 -<style> 7 - @import url('https://fonts.googleapis.com/css2?family=Host+Grotesk:wght@300;400;500;600;700;800&display=swap'); 8 - 9 - .fd-sip-doc, .fd-sip-doc * { box-sizing: border-box; } 10 - .fd-sip-doc { 11 - --fd-navy: #003366; 12 - --fd-dark-navy: #001a33; 13 - --fd-blue: #307ab2; 14 - --fd-sky: #38b2e3; 15 - --fd-bright-cyan: #5ed2ff; 16 - --fd-red: #cf333d; 17 - --fd-slate: #2e404d; 18 - --fd-grey: #8f9499; 19 - --fd-lightgrey: #e2e8f0; 20 - --fd-offwhite: #f8fafc; 21 - --fd-max-w: 1140px; 22 - 23 - font-family: 'Host Grotesk', system-ui, -apple-system, sans-serif; 24 - color: var(--fd-slate); 25 - background: #ffffff; 26 - max-width: var(--fd-max-w); 27 - margin: 0 auto; 28 - padding: 24px 16px; 29 - } 30 - 31 - /* Header */ 32 - .fd-sip-doc .doc-header { 33 - background: radial-gradient(circle at 50% 35%, rgba(13, 71, 128, 0.78) 0%, rgba(0, 51, 102, 0.93) 60%, rgba(0, 26, 51, 0.98) 100%), 34 - url('Fiber Optic Theme.JPG') center/cover no-repeat; 35 - padding: 40px 32px; 36 - border-radius: 20px; 37 - text-align: center; 38 - color: #ffffff; 39 - box-shadow: inset 0 0 60px rgba(0, 26, 51, 0.6), 0 12px 32px rgba(0, 51, 102, 0.12); 40 - margin-bottom: 32px; 41 - } 42 - .fd-sip-doc .doc-header p.kicker { 43 - color: var(--fd-bright-cyan); 44 - font-weight: 800; 45 - font-size: .8rem; 46 - text-transform: uppercase; 47 - letter-spacing: .18em; 48 - margin: 0 0 8px; 49 - text-shadow: 0 2px 10px rgba(0, 26, 51, 0.8); 50 - } 51 - .fd-sip-doc .doc-header h1 { 52 - font-weight: 800; 53 - font-size: 2.25rem; 54 - margin: 0 0 10px; 55 - letter-spacing: -0.02em; 56 - text-shadow: 0 3px 12px rgba(0, 26, 51, 0.9); 57 - } 58 - .fd-sip-doc .doc-header p.sub { 59 - color: #f8fafc; 60 - font-weight: 400; 61 - font-size: 1rem; 62 - max-width: 680px; 63 - margin: 0 auto; 64 - line-height: 1.5; 65 - text-shadow: 0 2px 8px rgba(0, 26, 51, 0.95); 66 - } 67 - 68 - /* Notice Banner */ 69 - .fd-sip-doc .disclaimer-box { 70 - background: #f0f7fc; 71 - border-left: 5px solid var(--fd-blue); 72 - padding: 16px 20px; 73 - border-radius: 8px; 74 - margin-bottom: 28px; 75 - font-size: 0.9rem; 76 - line-height: 1.5; 77 - } 78 - 79 - /* Specifications Grid */ 80 - .fd-sip-doc .section-title { 81 - color: var(--fd-navy); 82 - font-size: 1.35rem; 83 - font-weight: 700; 84 - margin: 32px 0 16px; 85 - border-bottom: 2px solid var(--fd-lightgrey); 86 - padding-bottom: 8px; 87 - } 88 - 89 - .fd-sip-doc .specs-grid { 90 - display: grid; 91 - grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); 92 - gap: 16px; 93 - margin-bottom: 32px; 94 - } 95 - .fd-sip-doc .spec-card { 96 - background: var(--fd-offwhite); 97 - border: 1px solid var(--fd-lightgrey); 98 - border-radius: 12px; 99 - padding: 16px 20px; 100 - } 101 - .fd-sip-doc .spec-card .label { 102 - font-size: 0.75rem; 103 - text-transform: uppercase; 104 - font-weight: 700; 105 - color: var(--fd-grey); 106 - letter-spacing: 0.05em; 107 - margin-bottom: 4px; 108 - } 109 - .fd-sip-doc .spec-card .val { 110 - font-size: 1rem; 111 - font-weight: 700; 112 - color: var(--fd-navy); 113 - } 114 - .fd-sip-doc .spec-card .subtext { 115 - font-size: 0.8rem; 116 - color: var(--fd-slate); 117 - margin-top: 4px; 118 - } 119 - 120 - /* Rules & Requirements */ 121 - .fd-sip-doc .rules-grid { 122 - display: grid; 123 - grid-template-columns: 1fr 1fr; 124 - gap: 20px; 125 - margin-bottom: 32px; 126 - } 127 - .fd-sip-doc .rule-box { 128 - border: 1px solid var(--fd-lightgrey); 129 - border-radius: 12px; 130 - padding: 20px; 131 - background: #ffffff; 132 - box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03); 133 - } 134 - .fd-sip-doc .rule-box h4 { 135 - margin: 0 0 12px; 136 - color: var(--fd-navy); 137 - font-size: 1.05rem; 138 - } 139 - .fd-sip-doc .rule-box ul { 140 - margin: 0; 141 - padding-left: 20px; 142 - font-size: 0.88rem; 143 - line-height: 1.6; 144 - } 145 - 146 - /* Troubleshooting Table */ 147 - .fd-sip-doc .tb-table { 148 - width: 100%; 149 - border-collapse: collapse; 150 - margin-bottom: 32px; 151 - font-size: 0.9rem; 152 - } 153 - .fd-sip-doc .tb-table th { 154 - background: var(--fd-navy); 155 - color: #ffffff; 156 - text-align: left; 157 - padding: 12px 16px; 158 - font-weight: 700; 159 - } 160 - .fd-sip-doc .tb-table th:first-child { border-top-left-radius: 8px; } 161 - .fd-sip-doc .tb-table th:last-child { border-top-right-radius: 8px; } 162 - .fd-sip-doc .tb-table td { 163 - padding: 14px 16px; 164 - border-bottom: 1px solid var(--fd-lightgrey); 165 - line-height: 1.5; 166 - } 167 - .fd-sip-doc .tb-table tr:nth-child(even) { background: var(--fd-offwhite); } 168 - .fd-sip-doc .symptom { font-weight: 700; color: var(--fd-red); width: 28%; } 169 - 170 - @media (max-width: 768px) { 171 - .fd-sip-doc .rules-grid { grid-template-columns: 1fr; } 172 - } 173 -</style> 174 - 175 -<div class="fd-sip-doc"> 176 - 177 - <!-- Header --> 178 - <div class="doc-header"> 179 - <p class="kicker">FirstDigital Voice Operations</p> 180 - <h1>SIP Trunking Technical Specifications</h1> 181 - <p class="sub">Configuration standards, firewall policies, and troubleshooting procedures for enterprise SIP trunks.</p> 182 - </div> 183 - 184 - <!-- Disclaimer --> 185 - <div class="disclaimer-box"> 186 - <strong>Customer Responsibility Notice:</strong> Customers are responsible for the configuration and fine-tuning of their own edge routers, firewalls, and PBX equipment. 187 - </div> 188 - 189 - <!-- Standard Specifications Grid --> 190 - <div class="section-title">Standard Trunk Specifications</div> 191 - <div class="specs-grid"> 192 - <div class="spec-card"> 193 - <div class="label">Signaling Protocol</div> 194 - <div class="val">UDP 5060</div> 195 - <div class="subtext">Standard SIP port</div> 196 - </div> 197 - <div class="spec-card"> 198 - <div class="label">Primary Codec</div> 199 - <div class="val">G.711u</div> 200 - <div class="subtext">20ms packetization</div> 201 - </div> 202 - <div class="spec-card"> 203 - <div class="label">DTMF Mode</div> 204 - <div class="val">RFC 2833</div> 205 - <div class="subtext">Out-of-band touch tones</div> 206 - </div> 207 - <div class="spec-card"> 208 - <div class="label">DNIS Digits</div> 209 - <div class="val">10 Digits</div> 210 - <div class="subtext">+1 stripped; Intl disabled by default</div> 211 - </div> 212 - <div class="spec-card"> 213 - <div class="label">Authentication</div> 214 - <div class="val">IP Registration-less</div> 215 - <div class="subtext">No user/password required</div> 216 - </div> 217 - <div class="spec-card"> 218 - <div class="label">SIP Advanced</div> 219 - <div class="val">Peer Path / Re-invite</div> 220 - <div class="subtext">Disabled / No re-invites permitted</div> 221 - </div> 222 - </div> 223 - 224 - <!-- Rules & Firewall --> 225 - <div class="section-title">Network & Firewall Rules</div> 226 - <div class="rules-grid"> 227 - <div class="rule-box"> 228 - <h4>Outbound Signaling & Caller ID</h4> 229 - <ul> 230 - <li>Outbound requests to FirstDigital must source directly from the Customer Public IP provided during turn-up.</li> 231 - <li>Outbound calls must present a Caller ID number assigned to the specific trunk instance.</li> 232 - <li>Ensure outbound NAT egress matches the registered public IP address.</li> 233 - </ul> 234 - </div> 235 - <div class="rule-box"> 236 - <h4>Firewall & Perimeter Setup</h4> 237 - <ul> 238 - <li><strong>SIP ALG:</strong> Must be <u>DISABLED</u> globally on customer routers/firewalls.</li> 239 - <li><strong>Inbound Rules:</strong> Allow traffic from FirstDigital's SBC subnet across <code>UDP 5000 - 65000</code>.</li> 240 - <li><strong>Egress Routing:</strong> Verify NAT routing for FirstDigital's subnet exits out of the designated public IP.</li> 241 - </ul> 242 - </div> 243 - </div> 244 - 245 - <!-- Troubleshooting Matrix --> 246 - <div class="section-title">SIP Trunk Troubleshooting Matrix</div> 247 - <table class="tb-table"> 248 - <thead> 249 - <tr> 250 - <th>Symptom</th> 251 - <th>Root Cause & Resolution Step</th> 252 - </tr> 253 - </thead> 254 - <tbody> 255 - <tr> 256 - <td class="symptom">No Inbound Calls</td> 257 - <td>Verify firewall permits <code>UDP 5060</code> from FirstDigital's subnet. Confirm <strong>SIP ALG is disabled</strong> on edge devices.</td> 258 - </tr> 259 - <tr> 260 - <td class="symptom">No Outbound Calls</td> 261 - <td>Confirm destination SIP target and port (<code>UDP 5060</code>). Verify outbound traffic sources from your designated public IP. Ensure Caller ID matches an active number on the trunk.</td> 262 - </tr> 263 - <tr> 264 - <td class="symptom">One-Way or No Audio</td> 265 - <td><strong>Common Issue:</strong> PBX is sending private IP addresses (e.g., <code>10.x.x.x</code> or <code>192.168.x.x</code>) inside the SIP SDP header. Check PBX NAT settings, SBC Media Address Override, or STUN. Disable SIP ALG.</td> 266 - </tr> 267 - <tr> 268 - <td class="symptom">DTMF Tones Not Recognized</td> 269 - <td>Configure PBX and endpoints to send DTMF out-of-band using <strong>RFC 2833</strong> (telephony-event).</td> 270 - </tr> 271 - <tr> 272 - <td class="symptom">Calls Not Ringing Correct Extension</td> 273 - <td>Inspect sent/received <strong>DNIS digit delivery</strong>. FirstDigital defaults to sending 10 digits. Adjust PBX inbound routing rules to match.</td> 274 - </tr> 275 - <tr> 276 - <td class="symptom">Forwarded Calls Have One-Way Audio</td> 277 - <td>Typically caused when FirstDigital enables "NAT Media" as a temporary workaround for private IP leaks. Resolving the PBX private IP header leak allows FirstDigital to remove NAT Media settings, restoring call transfer audio.</td> 278 - </tr> 279 - </tbody> 280 - </table> 281 - 282 -</div> 283 -{{/html}}