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

# Tuo omat numerosi (VoIP, API)

> Yhdistä Twilio tai Telnyx — tai mikä tahansa SIP-runko — ja tuo puhelinnumerot nykyiseltä tililtäsi.

Demonumerot sopivat prototypointiin, mutta tuotantoliikenteessä kannattaa
käyttää numeroita, jotka omistat oman VoIP-palveluntarjoajasi kautta. Tässä oppaassa käydään
läpi kolmivaiheinen työnkulku: **testaa tunnistetiedot → luo
yhteys → tuo numerot → vahvista**.

<Note>
  Hallintapaneelissa on ohjattu versio koko tästä työnkulusta kohdassa
  **Yhteydet → VoIP** (`/dashboard/voip-connections`): Telnyxin
  ohjattu käyttöönotto, joka opastaa tilin luomisessa ja API-avaimissa,
  olemassa olevan tilin yhdistämispolku sekä manuaalinen SIP-lomake, jossa on tekoälyn
  määritysopasgeneraattori.
</Note>

## Tuetut palveluntarjoajat

| Palveluntarjoaja | `provider`-tunnus | Huomautukset                                                               |
| ---------------- | ----------------- | -------------------------------------------------------------------------- |
| Twilio           | `twilio`          | API-avain + salainen avain                                                 |
| Telnyx           | `telnyx`          | API-avain; ohjattu käyttöönotto saatavilla (`setup_method: guided_telnyx`) |
| SignalWire       | `signalwire`      | **Tulossa pian** — yhdistä tällä hetkellä manuaalisen SIP:n kautta         |
| Vonage           | `vonage`          | **Tulossa pian** — yhdistä tällä hetkellä manuaalisen SIP:n kautta         |
| Manuaalinen SIP  | `manual`          | Mikä tahansa SIP-trunk — käytä omaa määritystäsi                           |

## 1. Testaa tunnistetiedot

Ennen kuin luot pysyvän VoIP-yhteyden, tarkista palveluntarjoajan
tunnistetiedot varmistaaksesi, että ne toimivat. Tämä palauttaa
`verification_evidence_id`-arvon, jonka välität luontivaiheeseen, jotta
tunnistetietoja ei veloiteta testauksesta kahdesti.

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

Jos jokin tarkistus epäonnistuu, vastauksen `status` on `fail` ja `checks`
näyttää, missä vaiheessa ongelma ilmeni. Korjaa palveluntarjoajan puolen määritys (trunkin
määritys, IP-sallittujen luettelo, lähtevien puhelujen valtuutus) ja yritä uudelleen.

## 2. Luo yhteys

Välitä juuri saamasi `verification_evidence_id`:

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

Vastaus on [VoipConnection-objekti](/api-reference/voip-connections#connection-object)
tilassa `status="connected"`. Tunnistetiedot tallennetaan palvelinpuolelle, eikä niitä
palauteta selväkielisinä myöhemmissä GET-pyynnöissä — kierrätä ne suorittamalla uusi
`test` ja PATCH-pyyntö uusilla todisteilla.

## 3. Luettele ja tuo numerot

Tarkista tunnistetiedoillasi näkyvät numerot, jotka eivät vielä ole
ThunderPhone-organisaatiossa:

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

Tuo sitten haluamasi numerot:

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

Jokaisesta tuonnista tulee [puhelinnumeron resurssi](/api-reference/phone-numbers)
organisaatioosi, jossa on `source="voip"` ja `status="provisioning"`.

## 4. Vahvista jokainen tuotu numero

Tuonti rekisteröi numeron *saatavilla olevaksi*; puheluiden reitittäminen
sen kautta edellyttää edestakaista vahvistusta (saapuvan puhelun tarkistus +
lähtevän puhelun valtuutustesti).

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

Onnistuttaessa `voip_verification_status` vaihtuu arvoon `verified` ja
numeron `status="active"`. Epäonnistuessa vastaus kertoo, mikä epäonnistui —
korjaa se (usein palveluntarjoajan hallintapaneelista puuttuva trunk-määritys)
ja soita uudelleen.

## 5. Määritä agentit ja vastaanota puhelu

Kun numero on vahvistettu, määrität saapuvien / lähtevien puheluiden agentit
samalla tavalla kuin demonumerolle. Katso
[Saapuvien puheluiden käsittely](/fi/guides/handle-inbound-calls) ja
[Lähtevien puheluiden soittaminen](/fi/guides/place-outbound-calls).

## Tunnistetietojen kierrättäminen

Kun palveluntarjoajan avain vaihtuu, suorita testaa ja päivitä -työnkulku uudelleen:

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

Yhteys säilyy paikallaan — numeroita ei tarvitse tuoda uudelleen.

***

## Seuraavat vaiheet

<CardGroup cols={2}>
  <Card title="VoIP-yhteyksien viite" icon="phone-volume" href="/api-reference/voip-connections">
    Kaikki yhteyden, todisteen ja tuontivastausten kentät.
  </Card>

  <Card title="Puhelinnumeroiden viite" icon="phone" href="/api-reference/phone-numbers">
    Määritä agentteja, siirrä organisaatioiden välillä ja vapauta numeroita.
  </Card>

  <Card title="Lähtevien puheluiden soittaminen" icon="arrow-up-right" href="/fi/guides/place-outbound-calls">
    Nyt kun omistat numeron, aloita lähtevien puheluiden soittaminen.
  </Card>
</CardGroup>
