SIP

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

  @import url('https://fonts.googleapis.com/css2?family=Host+Grotesk:wght@300;400;500;600;700;800&display=swap');

  .fd-sip-doc, .fd-sip-doc * { box-sizing: border-box; }
  .fd-sip-doc {
    --fd-navy: #003366;
    --fd-dark-navy: #001a33;
    --fd-blue: #307ab2;
    --fd-sky: #38b2e3;
    --fd-bright-cyan: #5ed2ff;
    --fd-red: #cf333d;
    --fd-slate: #2e404d;
    --fd-grey: #8f9499;
    --fd-lightgrey: #e2e8f0;
    --fd-offwhite: #f8fafc;
    --fd-max-w: 1140px;

    font-family: 'Host Grotesk', system-ui, -apple-system, sans-serif;
    color: var(--fd-slate);
    background: #ffffff;
    max-width: var(--fd-max-w);
    margin: 0 auto;
    padding: 24px 16px;
  }

  /* Header */
  .fd-sip-doc .doc-header {
    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%),
                url('Fiber Optic Theme.JPG') center/cover no-repeat;
    padding: 40px 32px;
    border-radius: 20px;
    text-align: center;
    color: #ffffff;
    box-shadow: inset 0 0 60px rgba(0, 26, 51, 0.6), 0 12px 32px rgba(0, 51, 102, 0.12);
    margin-bottom: 32px;
  }
  .fd-sip-doc .doc-header p.kicker {
    color: var(--fd-bright-cyan);
    font-weight: 800;
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: .18em;
    margin: 0 0 8px;
    text-shadow: 0 2px 10px rgba(0, 26, 51, 0.8);
  }
  .fd-sip-doc .doc-header h1 {
    font-weight: 800;
    font-size: 2.25rem;
    margin: 0 0 10px;
    letter-spacing: -0.02em;
    text-shadow: 0 3px 12px rgba(0, 26, 51, 0.9);
  }
  .fd-sip-doc .doc-header p.sub {
    color: #f8fafc;
    font-weight: 400;
    font-size: 1rem;
    max-width: 680px;
    margin: 0 auto;
    line-height: 1.5;
    text-shadow: 0 2px 8px rgba(0, 26, 51, 0.95);
  }

  /* Notice Banner */
  .fd-sip-doc .disclaimer-box {
    background: #f0f7fc;
    border-left: 5px solid var(--fd-blue);
    padding: 16px 20px;
    border-radius: 8px;
    margin-bottom: 28px;
    font-size: 0.9rem;
    line-height: 1.5;
  }

  /* Specifications Grid */
  .fd-sip-doc .section-title {
    color: var(--fd-navy);
    font-size: 1.35rem;
    font-weight: 700;
    margin: 32px 0 16px;
    border-bottom: 2px solid var(--fd-lightgrey);
    padding-bottom: 8px;
  }

  .fd-sip-doc .specs-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 16px;
    margin-bottom: 32px;
  }
  .fd-sip-doc .spec-card {
    background: var(--fd-offwhite);
    border: 1px solid var(--fd-lightgrey);
    border-radius: 12px;
    padding: 16px 20px;
  }
  .fd-sip-doc .spec-card .label {
    font-size: 0.75rem;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--fd-grey);
    letter-spacing: 0.05em;
    margin-bottom: 4px;
  }
  .fd-sip-doc .spec-card .val {
    font-size: 1rem;
    font-weight: 700;
    color: var(--fd-navy);
  }
  .fd-sip-doc .spec-card .subtext {
    font-size: 0.8rem;
    color: var(--fd-slate);
    margin-top: 4px;
  }

  /* Rules & Requirements */
  .fd-sip-doc .rules-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 32px;
  }
  .fd-sip-doc .rule-box {
    border: 1px solid var(--fd-lightgrey);
    border-radius: 12px;
    padding: 20px;
    background: #ffffff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
  }
  .fd-sip-doc .rule-box h4 {
    margin: 0 0 12px;
    color: var(--fd-navy);
    font-size: 1.05rem;
  }
  .fd-sip-doc .rule-box ul {
    margin: 0;
    padding-left: 20px;
    font-size: 0.88rem;
    line-height: 1.6;
  }

  /* Troubleshooting Table */
  .fd-sip-doc .tb-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 32px;
    font-size: 0.9rem;
  }
  .fd-sip-doc .tb-table th {
    background: var(--fd-navy);
    color: #ffffff;
    text-align: left;
    padding: 12px 16px;
    font-weight: 700;
  }
  .fd-sip-doc .tb-table th:first-child { border-top-left-radius: 8px; }
  .fd-sip-doc .tb-table th:last-child { border-top-right-radius: 8px; }
  .fd-sip-doc .tb-table td {
    padding: 14px 16px;
    border-bottom: 1px solid var(--fd-lightgrey);
    line-height: 1.5;
  }
  .fd-sip-doc .tb-table tr:nth-child(even) { background: var(--fd-offwhite); }
  .fd-sip-doc .symptom { font-weight: 700; color: var(--fd-red); width: 28%; }

  @media (max-width: 768px) {
    .fd-sip-doc .rules-grid { grid-template-columns: 1fr; }
  }

FirstDigital Voice Operations

SIP Trunking Technical Specifications

Configuration standards, firewall policies, and troubleshooting procedures for enterprise SIP trunks.

Customer Responsibility Notice: Customers are responsible for the configuration and fine-tuning of their own edge routers, firewalls, and PBX equipment.
Standard Trunk Specifications
Signaling Protocol
UDP 5060
Standard SIP port
Primary Codec
G.711u
20ms packetization
DTMF Mode
RFC 2833
Out-of-band touch tones
DNIS Digits
10 Digits
+1 stripped; Intl disabled by default
Authentication
IP Registration-less
No user/password required
SIP Advanced
Peer Path / Re-invite
Disabled / No re-invites permitted
Network & Firewall Rules

Outbound Signaling & Caller ID

  • Outbound requests to FirstDigital must source directly from the Customer Public IP provided during turn-up.
  • Outbound calls must present a Caller ID number assigned to the specific trunk instance.
  • Ensure outbound NAT egress matches the registered public IP address.

Firewall & Perimeter Setup

  • SIP ALG: Must be DISABLED globally on customer routers/firewalls.
  • Inbound Rules: Allow traffic from FirstDigital's SBC subnet across UDP 5000 - 65000.
  • Egress Routing: Verify NAT routing for FirstDigital's subnet exits out of the designated public IP.
SIP Trunk Troubleshooting Matrix
Symptom Root Cause & Resolution Step
No Inbound Calls Verify firewall permits UDP 5060 from FirstDigital's subnet. Confirm SIP ALG is disabled on edge devices.
No Outbound Calls Confirm destination SIP target and port (UDP 5060). Verify outbound traffic sources from your designated public IP. Ensure Caller ID matches an active number on the trunk.
One-Way or No Audio Common Issue: PBX is sending private IP addresses (e.g., 10.x.x.x or 192.168.x.x) inside the SIP SDP header. Check PBX NAT settings, SBC Media Address Override, or STUN. Disable SIP ALG.
DTMF Tones Not Recognized Configure PBX and endpoints to send DTMF out-of-band using RFC 2833 (telephony-event).
Calls Not Ringing Correct Extension Inspect sent/received DNIS digit delivery. FirstDigital defaults to sending 10 digits. Adjust PBX inbound routing rules to match.
Forwarded Calls Have One-Way Audio 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.