> ## Documentation Index
> Fetch the complete documentation index at: https://docs.thunderphone.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Brug dine egne numre (VoIP, API)

> Forbind Twilio eller Telnyx — eller enhver SIP-trunk — og importer telefonnumre fra din eksisterende konto.

Demonumre er fine til prototyper, men produktionstrafik bør
bruge numre, du ejer, gennem din egen VoIP-udbyder. Denne guide fører
dig gennem flowet i tre trin: **test legitimationsoplysninger → opret
forbindelse → importer numre → bekræft**.

<Note>
  Dashboardet har en guidet version af hele dette flow under
  **Forbindelser → VoIP** (`/dashboard/voip-connections`): en guidet
  Telnyx-opsætning, der gennemgår oprettelse af konto og API-nøgler, en
  sti til at forbinde en eksisterende konto samt en manuel SIP-formular
  med en generator til AI-opsætningsguide.
</Note>

## Understøttede udbydere

| Udbyder    | `provider`-id | Bemærkninger                                                                |
| ---------- | ------------- | --------------------------------------------------------------------------- |
| Twilio     | `twilio`      | API-nøgle + hemmelighed                                                     |
| Telnyx     | `telnyx`      | API-nøgle; guidet onboarding er tilgængelig (`setup_method: guided_telnyx`) |
| SignalWire | `signalwire`  | **Kommer snart** — forbind via Manuel SIP i dag                             |
| Vonage     | `vonage`      | **Kommer snart** — forbind via Manuel SIP i dag                             |
| Manuel SIP | `manual`      | Enhver SIP-trunk — medbring din egen konfiguration                          |

## 1. Test legitimationsoplysninger

Før du opretter en vedvarende VoIP-forbindelse, skal du teste
udbyderens legitimationsoplysninger for at bekræfte, at de virker. Dette returnerer et
`verification_evidence_id`, som du sender til oprettelsestrinnet, så
legitimationsoplysningerne ikke bliver opkrævet dobbelt for test.

```bash theme={null}
curl -X POST https://api.thunderphone.com/v1/voip-connections/test \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "provider":    "telnyx",
    "credentials": { "apiKey": "KEY...", "connectionId": "123456" },
    "sip_config":  { "domain": "acme.sip.telnyx.com" }
  }'
```

```json Response theme={null}
{
  "status": "pass",
  "verification_evidence_id": "b9a2...",
  "suggested_connection_name": "Telnyx: Acme Main (+15550001234)",
  "checks": {
    "credentials_valid": true,
    "inbound_reachable": true,
    "outbound_authorized": true
  }
}
```

Hvis en kontrol fejler, vil responsens `status` være `fail`, og `checks` vil
vise, hvilket trin der fejlede. Ret konfigurationen hos udbyderen (tildeling
af trunk, IP-tilladelsesliste, godkendelse af udgående opkald), og prøv igen.

## 2. Opret forbindelsen

Send det `verification_evidence_id`, du lige har modtaget:

```bash theme={null}
curl -X POST https://api.thunderphone.com/v1/voip-connections \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name":         "Acme Telnyx Main",
    "provider":     "telnyx",
    "setup_method": "api_key",
    "credentials":  { "apiKey": "KEY...", "connectionId": "123456" },
    "sip_config":   { "domain": "acme.sip.telnyx.com" },
    "verification_evidence_id": "b9a2..."
  }'
```

Responsen er et [VoipConnection-objekt](/api-reference/voip-connections#connection-object)
med `status="connected"`. Legitimationsoplysninger gemmes på serversiden og returneres aldrig
i klartekst af efterfølgende GET-anmodninger — for at rotere dem skal du køre en ny
`test` og PATCH med det nye bevis.

## 3. Vis og importer numre

Se de numre, der er synlige for dine legitimationsoplysninger, og som ikke allerede
findes i en ThunderPhone-organisation:

```bash theme={null}
curl https://api.thunderphone.com/v1/voip-connections/5/available-numbers \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY"
```

Importer derefter de numre, du ønsker:

```bash theme={null}
curl -X POST https://api.thunderphone.com/v1/voip-connections/5/import-numbers \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"numbers": ["+15550001234", "+15550009999"]}'
```

Hver import bliver til en [telefonnummerressource](/api-reference/phone-numbers)
i din organisation med `source="voip"` og `status="provisioning"`.

## 4. Bekræft hvert importeret nummer

Import registrerer nummeret som *tilgængeligt*; faktisk viderestilling af opkald
gennem det kræver en tovejsbekræftelse (indgående opkaldskontrol +
udgående autorisationskontrol).

```bash theme={null}
curl -X POST https://api.thunderphone.com/v1/phone-numbers/{id}/verify-voip \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY"
```

Ved succes skifter `voip_verification_status` til `verified`, og
nummeret får `status="active"`. Ved fejl angiver svaret præcist,
hvad der fejlede — ret det (ofte en manglende trunk-tildeling i
udbyderens dashboard), og kald igen.

## 5. Tildel agenter, og foretag et opkald

Når nummeret er bekræftet, tildeler du indgående og udgående agenter på
samme måde som et demonummer. Se
[Håndter indgående opkald](/da/guides/handle-inbound-calls) og
[Foretag udgående opkald](/da/guides/place-outbound-calls).

## Roterende legitimationsoplysninger

Når en udbydernøgle roteres, skal du køre test-og-opdater-flowet igen:

```bash theme={null}
# 1. Test the new credentials
curl -X POST https://api.thunderphone.com/v1/voip-connections/test ...

# 2. PATCH the connection with the new evidence
curl -X PATCH https://api.thunderphone.com/v1/voip-connections/{id} \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "credentials": { "apiKey": "NEW_KEY..." },
    "verification_evidence_id": "fresh-evidence-id"
  }'
```

Forbindelsen forbliver på plads — du behøver ikke importere numrene igen.

***

## Næste trin

<CardGroup cols={2}>
  <Card title="Reference for VoIP-forbindelser" icon="phone-volume" href="/api-reference/voip-connections">
    Alle felter i svarene for forbindelse, bevismateriale og import.
  </Card>

  <Card title="Reference for telefonnumre" icon="phone" href="/api-reference/phone-numbers">
    Tildel agenter, overfør mellem organisationer, frigiv numre.
  </Card>

  <Card title="Foretag udgående opkald" icon="arrow-up-right" href="/da/guides/place-outbound-calls">
    Nu hvor du ejer nummeret, kan du begynde at foretage udgående opkald.
  </Card>
</CardGroup>
