Wiki source code of SIP

Version 1.3 by Aaron Blackburn on 2026/09/01 18:33

Hide last authors
Aaron Blackburn 1.2 1 {{html clean="false"}}
2 <!--
Aaron Blackburn 1.3 3 XWiki usage: Paste into an HTML macro on your page.
4 Note: All FirstDigital IPs have been sanitized for public safety.
Aaron Blackburn 1.2 5 -->
6 <style>
7 @import url('https://fonts.googleapis.com/css2?family=Host+Grotesk:wght@300;400;500;600;700;800&display=swap');
8
Aaron Blackburn 1.3 9 .fd-sip-doc, .fd-sip-doc * { box-sizing: border-box; }
10 .fd-sip-doc {
Aaron Blackburn 1.2 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
Aaron Blackburn 1.3 31 /* Header */
32 .fd-sip-doc .doc-header {
Aaron Blackburn 1.2 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 }
Aaron Blackburn 1.3 42 .fd-sip-doc .doc-header p.kicker {
Aaron Blackburn 1.2 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 }
Aaron Blackburn 1.3 51 .fd-sip-doc .doc-header h1 {
Aaron Blackburn 1.2 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 }
Aaron Blackburn 1.3 58 .fd-sip-doc .doc-header p.sub {
Aaron Blackburn 1.2 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
Aaron Blackburn 1.3 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;
Aaron Blackburn 1.2 77 }
78
Aaron Blackburn 1.3 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;
Aaron Blackburn 1.2 87 }
88
Aaron Blackburn 1.3 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;
Aaron Blackburn 1.2 94 }
Aaron Blackburn 1.3 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;
Aaron Blackburn 1.2 100 }
Aaron Blackburn 1.3 101 .fd-sip-doc .spec-card .label {
102 font-size: 0.75rem;
Aaron Blackburn 1.2 103 text-transform: uppercase;
104 font-weight: 700;
Aaron Blackburn 1.3 105 color: var(--fd-grey);
106 letter-spacing: 0.05em;
107 margin-bottom: 4px;
Aaron Blackburn 1.2 108 }
Aaron Blackburn 1.3 109 .fd-sip-doc .spec-card .val {
110 font-size: 1rem;
Aaron Blackburn 1.2 111 font-weight: 700;
Aaron Blackburn 1.3 112 color: var(--fd-navy);
Aaron Blackburn 1.2 113 }
Aaron Blackburn 1.3 114 .fd-sip-doc .spec-card .subtext {
115 font-size: 0.8rem;
Aaron Blackburn 1.2 116 color: var(--fd-slate);
Aaron Blackburn 1.3 117 margin-top: 4px;
Aaron Blackburn 1.2 118 }
119
Aaron Blackburn 1.3 120 /* Rules & Requirements */
121 .fd-sip-doc .rules-grid {
Aaron Blackburn 1.2 122 display: grid;
123 grid-template-columns: 1fr 1fr;
124 gap: 20px;
125 margin-bottom: 32px;
126 }
Aaron Blackburn 1.3 127 .fd-sip-doc .rule-box {
Aaron Blackburn 1.2 128 border: 1px solid var(--fd-lightgrey);
129 border-radius: 12px;
Aaron Blackburn 1.3 130 padding: 20px;
131 background: #ffffff;
132 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
Aaron Blackburn 1.2 133 }
Aaron Blackburn 1.3 134 .fd-sip-doc .rule-box h4 {
135 margin: 0 0 12px;
136 color: var(--fd-navy);
Aaron Blackburn 1.2 137 font-size: 1.05rem;
138 }
Aaron Blackburn 1.3 139 .fd-sip-doc .rule-box ul {
Aaron Blackburn 1.2 140 margin: 0;
Aaron Blackburn 1.3 141 padding-left: 20px;
142 font-size: 0.88rem;
143 line-height: 1.6;
Aaron Blackburn 1.2 144 }
145
Aaron Blackburn 1.3 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;
Aaron Blackburn 1.2 152 }
Aaron Blackburn 1.3 153 .fd-sip-doc .tb-table th {
154 background: var(--fd-navy);
155 color: #ffffff;
156 text-align: left;
157 padding: 12px 16px;
Aaron Blackburn 1.2 158 font-weight: 700;
159 }
Aaron Blackburn 1.3 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;
Aaron Blackburn 1.2 166 }
Aaron Blackburn 1.3 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%; }
Aaron Blackburn 1.2 169
Aaron Blackburn 1.3 170 @media (max-width: 768px) {
171 .fd-sip-doc .rules-grid { grid-template-columns: 1fr; }
Aaron Blackburn 1.2 172 }
173 </style>
174
Aaron Blackburn 1.3 175 <div class="fd-sip-doc">
Aaron Blackburn 1.2 176
Aaron Blackburn 1.3 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>
Aaron Blackburn 1.2 182 </div>
183
Aaron Blackburn 1.3 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>
Aaron Blackburn 1.2 188
Aaron Blackburn 1.3 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>
Aaron Blackburn 1.2 196 </div>
Aaron Blackburn 1.3 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>
Aaron Blackburn 1.2 201 </div>
Aaron Blackburn 1.3 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>
Aaron Blackburn 1.2 206 </div>
Aaron Blackburn 1.3 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>
Aaron Blackburn 1.2 211 </div>
Aaron Blackburn 1.3 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>
Aaron Blackburn 1.2 222 </div>
223
Aaron Blackburn 1.3 224 <!-- Rules & Firewall -->
225 <div class="section-title">Network & Firewall Rules</div>
Aaron Blackburn 1.2 226 <div class="rules-grid">
Aaron Blackburn 1.3 227 <div class="rule-box">
228 <h4>Outbound Signaling & Caller ID</h4>
Aaron Blackburn 1.2 229 <ul>
Aaron Blackburn 1.3 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>
Aaron Blackburn 1.2 233 </ul>
234 </div>
Aaron Blackburn 1.3 235 <div class="rule-box">
236 <h4>Firewall & Perimeter Setup</h4>
Aaron Blackburn 1.2 237 <ul>
Aaron Blackburn 1.3 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>
Aaron Blackburn 1.2 241 </ul>
242 </div>
243 </div>
244
Aaron Blackburn 1.3 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>
Aaron Blackburn 1.2 281
282 </div>
283 {{/html}}