How It Works
Teams 911 call routing. 9Line integrates with Microsoft Teams to route 911 calls with precise location data to the correct PSAP.
<svg viewBox="0 0 860 240" fill="none" xmlns="http://www.w3.org/2000/svg" style="width:100%;max-width:800px;height:auto;min-width:520px"><defs><marker id="arrow" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path d="M 0 0 L 10 5 L 0 10 z" fill="#cbd5e1"/></marker><marker id="arrow-cb" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path d="M 0 0 L 10 5 L 0 10 z" fill="#94a3b8"/></marker></defs><rect x="10" y="44" width="122" height="90" rx="10" fill="#f8fafc" stroke="#e2e8f0" stroke-width="1.5"/><text x="71" y="107" text-anchor="middle" fill="#0a0f1a" font-family="Poppins,sans-serif" font-size="9.5" font-weight="600">Microsoft Teams</text><text x="71" y="120" text-anchor="middle" fill="#64748b" font-family="Poppins,sans-serif" font-size="7.5">User dials 911</text><line x1="132" y1="89" x2="160" y2="89" stroke="#cbd5e1" stroke-width="1.5" marker-end="url(#arrow)"/><rect x="170" y="44" width="122" height="90" rx="10" fill="#f8fafc" stroke="#e2e8f0" stroke-width="1.5"/><text x="231" y="102" text-anchor="middle" fill="#0a0f1a" font-family="Poppins,sans-serif" font-size="9.5" font-weight="600">Phone System</text><text x="231" y="114" text-anchor="middle" fill="#64748b" font-family="Poppins,sans-serif" font-size="7.5">Direct Routing /</text><text x="231" y="125" text-anchor="middle" fill="#64748b" font-family="Poppins,sans-serif" font-size="7.5">Operator Connect</text><line x1="292" y1="89" x2="320" y2="89" stroke="#cbd5e1" stroke-width="1.5" marker-end="url(#arrow)"/><rect x="330" y="34" width="140" height="110" rx="10" fill="#eff6ff" stroke="#bfdbfe" stroke-width="1.5"/><text x="400" y="84" text-anchor="middle" fill="#2563eb" font-family="Poppins,sans-serif" font-size="10.5" font-weight="700">9Line SBC</text><text x="400" y="99" text-anchor="middle" fill="#0a0f1a" font-family="Poppins,sans-serif" font-size="7.5">Redundant</text><text x="400" y="110" text-anchor="middle" fill="#0a0f1a" font-family="Poppins,sans-serif" font-size="7.5">DID assignment</text><text x="400" y="121" text-anchor="middle" fill="#0a0f1a" font-family="Poppins,sans-serif" font-size="7.5">Metadata insertion</text><line x1="470" y1="89" x2="498" y2="89" stroke="#cbd5e1" stroke-width="1.5" marker-end="url(#arrow)"/><rect x="508" y="44" width="112" height="90" rx="10" fill="#f8fafc" stroke="#e2e8f0" stroke-width="1.5"/><text x="564" y="102" text-anchor="middle" fill="#0a0f1a" font-family="Poppins,sans-serif" font-size="9.5" font-weight="600">911 Call</text><text x="564" y="115" text-anchor="middle" fill="#0a0f1a" font-family="Poppins,sans-serif" font-size="9.5" font-weight="600">Handling</text><line x1="620" y1="89" x2="648" y2="89" stroke="#cbd5e1" stroke-width="1.5" marker-end="url(#arrow)"/><rect x="658" y="52" width="82" height="74" rx="10" fill="#f8fafc" stroke="#e2e8f0" stroke-width="1.5"/><text x="699" y="116" text-anchor="middle" fill="#0a0f1a" font-family="Poppins,sans-serif" font-size="7.5" font-weight="600">911 Operators</text><line x1="400" y1="144" x2="400" y2="180" stroke="#94a3b8" stroke-width="1.2" stroke-dasharray="4 3"/><line x1="400" y1="180" x2="231" y2="180" stroke="#94a3b8" stroke-width="1.2" stroke-dasharray="4 3" marker-end="url(#arrow-cb)"/><text x="316" y="174" text-anchor="middle" fill="#94a3b8" font-family="JetBrains Mono,monospace" font-size="6.5">Routes via Temp DID</text><line x1="231" y1="134" x2="231" y2="180" stroke="#94a3b8" stroke-width="1.2" stroke-dasharray="4 3"/><line x1="231" y1="180" x2="71" y2="180" stroke="#94a3b8" stroke-width="1.2" stroke-dasharray="4 3" marker-end="url(#arrow-cb)"/><text x="151" y="174" text-anchor="middle" fill="#94a3b8" font-family="JetBrains Mono,monospace" font-size="6.5">To caller</text><line x1="71" y1="180" x2="71" y2="136" stroke="#94a3b8" stroke-width="1.2" stroke-dasharray="4 3" marker-end="url(#arrow-cb)"/><text x="414" y="163" text-anchor="start" fill="#94a3b8" font-family="JetBrains Mono,monospace" font-size="6.5" letter-spacing=".04em">PSAP CALLBACK</text></svg>
<div style="margin-top:48px;overflow-x:auto"><svg viewBox="0 0 1000 220" fill="none" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;min-width:640px"><defs><marker id="arr" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse"><path d="M 0 0 L 10 5 L 0 10 z" fill="#bfdbfe"/></marker></defs><!-- Card 1: Microsoft Teams --><rect x="8" y="20" width="168" height="168" rx="16" fill="#f8fafc" stroke="#e2e8f0" stroke-width="1.5"/><g transform="translate(92,72)"><rect x="-18" y="-18" width="36" height="28" rx="4" stroke="#2563eb" stroke-width="1.5" fill="none"/><rect x="-18" y="-18" width="36" height="8" rx="4" fill="#eff6ff" stroke="none"/><line x1="-18" y1="-10" x2="18" y2="-10" stroke="#2563eb" stroke-width="0.8" opacity="0.4"/><circle cx="-13" cy="-14" r="1.5" fill="#2563eb" opacity="0.6"/><circle cx="-8" cy="-14" r="1.5" fill="#2563eb" opacity="0.6"/><circle cx="-3" cy="-14" r="1.5" fill="#2563eb" opacity="0.6"/><line x1="-12" y1="-4" x2="12" y2="-4" stroke="#bfdbfe" stroke-width="1.5" stroke-linecap="round"/><line x1="-12" y1="2" x2="6" y2="2" stroke="#bfdbfe" stroke-width="1.5" stroke-linecap="round"/><line x1="-12" y1="8" x2="9" y2="8" stroke="#bfdbfe" stroke-width="1.5" stroke-linecap="round"/></g><text x="92" y="118" text-anchor="middle" fill="#0a0f1a" font-family="Poppins,sans-serif" font-size="13" font-weight="600">Microsoft Teams</text><text x="92" y="138" text-anchor="middle" fill="#64748b" font-family="Poppins,sans-serif" font-size="11">User dials 911</text><!-- Arrow 1 --><line x1="178" y1="104" x2="210" y2="104" stroke="#bfdbfe" stroke-width="1.5" stroke-dasharray="5 4" marker-end="url(#arr)"/><!-- Card 2: Phone System --><rect x="212" y="20" width="168" height="168" rx="16" fill="#f8fafc" stroke="#e2e8f0" stroke-width="1.5"/><g transform="translate(296,72)"><circle cx="0" cy="0" r="20" fill="#eff6ff" stroke="#2563eb" stroke-width="1.3"/><text x="0" y="5" text-anchor="middle" fill="#2563eb" font-family="Poppins,sans-serif" font-size="9" font-weight="700">MS</text></g><text x="296" y="118" text-anchor="middle" fill="#0a0f1a" font-family="Poppins,sans-serif" font-size="13" font-weight="600">Phone System</text><text x="296" y="138" text-anchor="middle" fill="#64748b" font-family="Poppins,sans-serif" font-size="11">Direct Routing /</text><text x="296" y="153" text-anchor="middle" fill="#64748b" font-family="Poppins,sans-serif" font-size="11">Operator Connect</text><!-- Arrow 2 --><line x1="382" y1="104" x2="414" y2="104" stroke="#bfdbfe" stroke-width="1.5" stroke-dasharray="5 4" marker-end="url(#arr)"/><!-- Card 3: 9Line SBC (highlighted) --><rect x="416" y="8" width="168" height="192" rx="16" fill="#eff6ff" stroke="#bfdbfe" stroke-width="2"/><g transform="translate(500,66)"><circle cx="0" cy="0" r="24" fill="#dbeafe" stroke="#2563eb" stroke-width="1.5"/><line x1="-10" y1="-5" x2="8" y2="-5" stroke="#2563eb" stroke-width="2" stroke-linecap="round" marker-end="url(#arr)"/><line x1="10" y1="5" x2="-8" y2="5" stroke="#2563eb" stroke-width="2" stroke-linecap="round" marker-end="url(#arr)"/></g><text x="500" y="112" text-anchor="middle" fill="#2563eb" font-family="Poppins,sans-serif" font-size="14" font-weight="700">9Line SBC</text><text x="500" y="132" text-anchor="middle" fill="#1e40af" font-family="Poppins,sans-serif" font-size="10.5">Redundant · DID assignment</text><text x="500" y="148" text-anchor="middle" fill="#1e40af" font-family="Poppins,sans-serif" font-size="10.5">Metadata insertion</text><!-- Arrow 3 --><line x1="586" y1="104" x2="618" y2="104" stroke="#bfdbfe" stroke-width="1.5" stroke-dasharray="5 4" marker-end="url(#arr)"/><!-- Card 4: 911 Call Handling --><rect x="620" y="20" width="168" height="168" rx="16" fill="#f8fafc" stroke="#e2e8f0" stroke-width="1.5"/><g transform="translate(704,72)"><rect x="-20" y="-16" width="40" height="26" rx="4" stroke="#2563eb" stroke-width="1.5" fill="none"/><line x1="-8" y1="14" x2="8" y2="14" stroke="#2563eb" stroke-width="1.5" stroke-linecap="round"/><line x1="0" y1="10" x2="0" y2="14" stroke="#2563eb" stroke-width="1.5"/></g><text x="704" y="116" text-anchor="middle" fill="#0a0f1a" font-family="Poppins,sans-serif" font-size="13" font-weight="600">911 Call</text><text x="704" y="133" text-anchor="middle" fill="#0a0f1a" font-family="Poppins,sans-serif" font-size="13" font-weight="600">Handling</text><!-- Arrow 4 --><line x1="790" y1="104" x2="822" y2="104" stroke="#bfdbfe" stroke-width="1.5" stroke-dasharray="5 4" marker-end="url(#arr)"/><!-- Card 5: 911 Operators --><rect x="824" y="20" width="168" height="168" rx="16" fill="#f8fafc" stroke="#e2e8f0" stroke-width="1.5"/><g transform="translate(908,72)"><circle cx="-14" cy="-6" r="9" stroke="#2563eb" stroke-width="1.3" fill="none"/><path d="M-26 14 Q-26 4 -14 4 Q-2 4 -2 14" stroke="#2563eb" stroke-width="1.3" fill="none"/><circle cx="14" cy="-6" r="9" stroke="#2563eb" stroke-width="1.3" fill="none"/><path d="M2 14 Q2 4 14 4 Q26 4 26 14" stroke="#2563eb" stroke-width="1.3" fill="none"/></g><text x="908" y="116" text-anchor="middle" fill="#0a0f1a" font-family="Poppins,sans-serif" font-size="13" font-weight="600">911 Operators</text><text x="908" y="135" text-anchor="middle" fill="#64748b" font-family="Poppins,sans-serif" font-size="11">PSAP dispatch</text><!-- PSAP Callback dashed path --><path d="M500 202 L500 210 L92 210 L92 190" stroke="#94a3b8" stroke-width="1" stroke-dasharray="4 3" fill="none" marker-end="url(#arr)"/><text x="296" y="208" text-anchor="middle" fill="#94a3b8" font-family="JetBrains Mono,monospace" font-size="9" letter-spacing="0.04em">PSAP CALLBACK</text></svg></div> <div style="margin-top:32px;overflow-x:auto"><svg viewBox="0 0 860 240" fill="none" xmlns="http://www.w3.org/2000/svg" style="width:100%;max-width:800px;height:auto;min-width:520px"><defs><marker id="arrow" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path d="M 0 0 L 10 5 L 0 10 z" fill="#cbd5e1"/></marker><marker id="arrow-cb" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path d="M 0 0 L 10 5 L 0 10 z" fill="#94a3b8"/></marker></defs><rect x="10" y="44" width="122" height="90" rx="10" fill="#f8fafc" stroke="#e2e8f0" stroke-width="1.5"/><text x="71" y="107" text-anchor="middle" fill="#0a0f1a" font-family="Poppins,sans-serif" font-size="9.5" font-weight="600">Microsoft Teams</text><text x="71" y="120" text-anchor="middle" fill="#64748b" font-family="Poppins,sans-serif" font-size="7.5">User dials 911</text><line x1="132" y1="89" x2="160" y2="89" stroke="#cbd5e1" stroke-width="1.5" marker-end="url(#arrow)"/><rect x="170" y="44" width="122" height="90" rx="10" fill="#f8fafc" stroke="#e2e8f0" stroke-width="1.5"/><text x="231" y="102" text-anchor="middle" fill="#0a0f1a" font-family="Poppins,sans-serif" font-size="9.5" font-weight="600">Phone System</text><text x="231" y="114" text-anchor="middle" fill="#64748b" font-family="Poppins,sans-serif" font-size="7.5">Direct Routing /</text><text x="231" y="125" text-anchor="middle" fill="#64748b" font-family="Poppins,sans-serif" font-size="7.5">Operator Connect</text><line x1="292" y1="89" x2="320" y2="89" stroke="#cbd5e1" stroke-width="1.5" marker-end="url(#arrow)"/><rect x="330" y="34" width="140" height="110" rx="10" fill="#eff6ff" stroke="#bfdbfe" stroke-width="1.5"/><text x="400" y="84" text-anchor="middle" fill="#2563eb" font-family="Poppins,sans-serif" font-size="10.5" font-weight="700">9Line SBC</text><text x="400" y="99" text-anchor="middle" fill="#0a0f1a" font-family="Poppins,sans-serif" font-size="7.5">Redundant</text><text x="400" y="110" text-anchor="middle" fill="#0a0f1a" font-family="Poppins,sans-serif" font-size="7.5">DID assignment</text><text x="400" y="121" text-anchor="middle" fill="#0a0f1a" font-family="Poppins,sans-serif" font-size="7.5">Metadata insertion</text><line x1="470" y1="89" x2="498" y2="89" stroke="#cbd5e1" stroke-width="1.5" marker-end="url(#arrow)"/><rect x="508" y="44" width="112" height="90" rx="10" fill="#f8fafc" stroke="#e2e8f0" stroke-width="1.5"/><text x="564" y="102" text-anchor="middle" fill="#0a0f1a" font-family="Poppins,sans-serif" font-size="9.5" font-weight="600">911 Call</text><text x="564" y="115" text-anchor="middle" fill="#0a0f1a" font-family="Poppins,sans-serif" font-size="9.5" font-weight="600">Handling</text><line x1="620" y1="89" x2="648" y2="89" stroke="#cbd5e1" stroke-width="1.5" marker-end="url(#arrow)"/><rect x="658" y="52" width="82" height="74" rx="10" fill="#f8fafc" stroke="#e2e8f0" stroke-width="1.5"/><text x="699" y="116" text-anchor="middle" fill="#0a0f1a" font-family="Poppins,sans-serif" font-size="7.5" font-weight="600">911 Operators</text><line x1="400" y1="144" x2="400" y2="180" stroke="#94a3b8" stroke-width="1.2" stroke-dasharray="4 3"/><line x1="400" y1="180" x2="231" y2="180" stroke="#94a3b8" stroke-width="1.2" stroke-dasharray="4 3" marker-end="url(#arrow-cb)"/><text x="316" y="174" text-anchor="middle" fill="#94a3b8" font-family="JetBrains Mono,monospace" font-size="6.5">Routes via Temp DID</text><line x1="231" y1="134" x2="231" y2="180" stroke="#94a3b8" stroke-width="1.2" stroke-dasharray="4 3"/><line x1="231" y1="180" x2="71" y2="180" stroke="#94a3b8" stroke-width="1.2" stroke-dasharray="4 3" marker-end="url(#arrow-cb)"/><text x="151" y="174" text-anchor="middle" fill="#94a3b8" font-family="JetBrains Mono,monospace" font-size="6.5">To caller</text><line x1="71" y1="180" x2="71" y2="136" stroke="#94a3b8" stroke-width="1.2" stroke-dasharray="4 3" marker-end="url(#arrow-cb)"/><text x="414" y="163" text-anchor="start" fill="#94a3b8" font-family="JetBrains Mono,monospace" font-size="6.5" letter-spacing=".04em">PSAP CALLBACK</text></svg></div>