> ## 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.

# Använd egna nummer (VoIP, API)

> Anslut Twilio eller Telnyx – eller valfri SIP-trunk – och importera telefonnummer från ditt befintliga konto.

Demonstrationsnummer fungerar bra för prototyper, men produktionstrafik bör
använda nummer som du äger via din egen VoIP-leverantör. Den här guiden går
igenom trestegsflödet: **testa autentiseringsuppgifter → skapa
anslutning → importera nummer → verifiera**.

<Note>
  Instrumentpanelen har en guidad version av hela flödet under
  **Anslutningar → VoIP** (`/dashboard/voip-connections`): en guidad
  Telnyx-konfiguration som går igenom kontoskapande och API-nycklar, en väg
  för att ansluta ett befintligt konto samt ett manuellt SIP-formulär med en
  AI-generator för installationsguider.
</Note>

## Leverantörer som stöds

| Leverantör  | `provider`-id | Anteckningar                                                                |
| ----------- | ------------- | --------------------------------------------------------------------------- |
| Twilio      | `twilio`      | API-nyckel + hemlighet                                                      |
| Telnyx      | `telnyx`      | API-nyckel; guidad registrering tillgänglig (`setup_method: guided_telnyx`) |
| SignalWire  | `signalwire`  | **Kommer snart** — anslut via manuell SIP i dag                             |
| Vonage      | `vonage`      | **Kommer snart** — anslut via manuell SIP i dag                             |
| Manuell SIP | `manual`      | Valfri SIP-trunk — använd din egen konfiguration                            |

## 1. Testa autentiseringsuppgifter

Innan du skapar en sparad VoIP-anslutning testar du leverantörens
autentiseringsuppgifter för att bekräfta att de fungerar. Detta returnerar ett
`verification_evidence_id` som du skickar till skapandesteget så att
autentiseringsuppgifterna inte debiteras två gånger för testning.

```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
  }
}
```

Om någon kontroll misslyckas blir svarets `status` `fail` och `checks` visar
vilket steg som misslyckades. Åtgärda konfigurationen hos leverantören
(trunk-tilldelning, IP-tillåtelselista, auktorisering för utgående samtal) och försök igen.

## 2. Skapa anslutningen

Skicka med `verification_evidence_id` som du just fick:

```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..."
  }'
```

Svaret är ett [VoipConnection-objekt](/api-reference/voip-connections#connection-object)
med `status="connected"`. Autentiseringsuppgifter lagras på servern och
returneras aldrig i klartext av efterföljande GET-anrop — för att rotera dem,
kör ett nytt `test` och PATCH med det nya underlaget.

## 3. Lista och importera nummer

Granska de nummer som är tillgängliga med dina autentiseringsuppgifter och som
inte redan finns 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"
```

Importera sedan de nummer du vill ha:

```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"]}'
```

Varje import blir en [telefonnummerresurs](/api-reference/phone-numbers)
i din organisation med `source="voip"` och `status="provisioning"`.

## 4. Verifiera varje importerat nummer

Importen registrerar numret som *tillgängligt*; för att faktiskt dirigera samtal
genom det krävs en verifiering tur och retur (kontroll av inkommande uppringning +
auktoriseringskontroll för utgående samtal).

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

Vid lyckad verifiering ändras `voip_verification_status` till `verified` och
numret får `status="active"`. Vid fel anger svaret vad som misslyckades — åtgärda
det (ofta saknas en trunk-tilldelning i leverantörens kontrollpanel) och anropa igen.

## 5. Tilldela agenter och ta emot ett samtal

När numret har verifierats tilldelar du agenter för inkommande/utgående samtal på
samma sätt som för ett demonummer. Se
[Hantera inkommande samtal](/sv/guides/handle-inbound-calls) och
[Ring utgående samtal](/sv/guides/place-outbound-calls).

## Roterande autentiseringsuppgifter

När en leverantörsnyckel roteras kör du test-och-uppdatera-flödet 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"
  }'
```

Anslutningen finns kvar — du behöver inte importera numren igen.

***

## Nästa steg

<CardGroup cols={2}>
  <Card title="Referens för VoIP-anslutningar" icon="phone-volume" href="/api-reference/voip-connections">
    Alla fält i svaren för anslutning, underlag och import.
  </Card>

  <Card title="Referens för telefonnummer" icon="phone" href="/api-reference/phone-numbers">
    Tilldela agenter, överför mellan organisationer, frigör nummer.
  </Card>

  <Card title="Ring utgående samtal" icon="arrow-up-right" href="/sv/guides/place-outbound-calls">
    Nu när du äger numret kan du börja ringa utgående samtal.
  </Card>
</CardGroup>
