---
title: "Uporabite lastne številke (VoIP, API)"
description: "Povežite Twilio ali Telnyx — oziroma katero koli SIP-povezavo — uvozite telefonske številke, ki jih že imate, in omogočite glasovnim agentom ThunderPhone, da nanje odgovarjajo in z njih opravljajo klice."
---

Številke ThunderPhone pokrivajo dohodne klice, vendar za odhodne klice in
kampanje potrebujete številke, ki jih imate v lasti pri svojem ponudniku VoIP. Ta vodnik vas vodi
skozi tristopenjski postopek: **preizkusite poverilnice → ustvarite
povezavo → uvozite številke → preverite**.

<Note>
  Nadzorna plošča vsebuje vodeno različico celotnega postopka v razdelku
  **Povezave → VoIP** (`/dashboard/voip-connections`): vodeno nastavitev Telnyx,
  ki vas vodi skozi ustvarjanje računa in ključe API, možnost povezave
  obstoječega računa ter ročni obrazec SIP z generatorjem vodnika za nastavitev
  z umetno inteligenco.
</Note>

## Podprti ponudniki

| Ponudnik | ID `provider` | Opombe |
|----------|---------------|--------|
| Twilio | `twilio` | SID računa + žeton za preverjanje pristnosti; ena povezava na račun ali podračun Twilio (glejte [podračune Twilio](#twilio-subaccounts)) |
| Telnyx | `telnyx` | Ključ API; na voljo je vodeno uvajanje (`setup_method: guided_telnyx`) |
| SignalWire | `signalwire` | **Kmalu na voljo** — danes se povežite prek ročnega SIP |
| Vonage | `vonage` | **Kmalu na voljo** — danes se povežite prek ročnega SIP |
| Ročni SIP | `manual` | Kateri koli SIP trunk — uporabite lastno konfiguracijo |

## 1. Preizkusite poverilnice

Preden ustvarite trajno povezavo VoIP, preverite poverilnice
ponudnika, da potrdite, da delujejo. To vrne
`verification_evidence_id`, ki ga posredujete koraku ustvarjanja, da
poverilnice niso dvakrat zaračunane za preizkušanje.

```bash
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
{
  "status": "pass",
  "verification_evidence_id": "b9a2...",
  "suggested_connection_name": "Telnyx: Acme Main (+15550001234)",
  "checks": {
    "credentials_valid": true,
    "inbound_reachable": true,
    "outbound_authorized": true
  }
}
```

Če katero koli preverjanje ne uspe, bo `status` odgovora `fail`, v `checks` pa
bo prikazano, pri katerem koraku je prišlo do napake. Popravite konfiguracijo pri ponudniku
(dodelitev trunka, seznam dovoljenih naslovov IP, odobritev odhodnih klicev) in poskusite znova.

## 2. Ustvarite povezavo

Posredujte `verification_evidence_id`, ki ste ga pravkar prejeli:

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

Odgovor je [objekt VoipConnection](/api-reference/voip-connections#connection-object)
s `status="connected"`. Poverilnice so shranjene na strežniku in jih nadaljnje
zahteve GET nikoli ne vrnejo v odprtem besedilu — za zamenjavo izvedite nov
`test` in PATCH z novim dokazilom.

### Podračuni Twilio

Povezava Twilio je vezana na posamezni račun Twilio, katerega
Account SID in Auth Token vsebuje. Twilio telefonske številke in SIP
tranke hrani znotraj posameznega podračuna, zato povezava, ustvarjena z nadrejenim
računom, vidi le številke nadrejenega računa, obstoječe
povezave pa pozneje ni mogoče preklopiti na drug podračun (posodobitev je zavrnjena,
ker SIP trank povezave obstaja v izvirnem računu).

Za dostop do številk v podračunih ustvarite eno povezavo za vsak
podračun. Nadzorna plošča to naredi namesto vas: ko povežete nadrejeni
račun z aktivnimi podračuni, jih pogovorno okno za nastavitev prikaže, označite
želenega in ThunderPhone v vsakem ustvari povezavo (in
SIP trank). Enak potek je na voljo prek API-ja:

```bash
# Discover active subaccounts visible to the parent credentials
curl -X POST https://api.thunderphone.com/v1/voip-connections/twilio/subaccounts \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"credentials": {"accountSid": "ACparent...", "authToken": "..."}}'
```

```json Response
{
  "discovery_id": "7c1e...",
  "parent": { "sid": "ACparent...", "friendly_name": "Acme" },
  "subaccounts": [
    { "sid": "ACsupport...", "friendly_name": "Acme Support", "already_connected": false, "connection_id": null },
    { "sid": "ACsales...",   "friendly_name": "Acme Sales",   "already_connected": true,  "connection_id": 5 }
  ]
}
```

```bash
# Create a connection for each selected subaccount
curl -X POST https://api.thunderphone.com/v1/voip-connections/twilio/subaccounts/connect \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"discovery_id": "7c1e...", "subaccount_sids": ["ACsupport..."]}'
```

Odgovor vsebuje eno vrstico za vsak podračun s `status`
`created`, `skipped` (že povezano) ali `failed` ter z `error`,
na podlagi katerega lahko ukrepate. Vrstice so neodvisne, zato neuspeh v enem podračunu
nikoli ne blokira drugih, `discovery_id` pa ostane veljaven 30
minut, zato lahko neuspešno vrstico preprosto poskusite znova. Žetoni podračunov se
ob odkrivanju preberejo iz Twilio in shranijo v novi povezavi;
API jih nikoli ne vrne. Vsaka nova povezava nato uvozi
in preveri številke povsem enako kot povezava, ki ste jo ustvarili ročno.

## 3. Prikažite in uvozite številke

Preglejte številke, vidne vašim poverilnicam, ki še niso
v organizaciji ThunderPhone:

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

Nato uvozite želene:

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

Vsak uvoz postane [vir telefonske številke](/api-reference/phone-numbers)
v vaši organizaciji z `source="voip"` in `status="provisioning"`.

## 4. Preverite vsako uvoženo številko

Uvoz številko registrira kot *razpoložljivo*; za dejansko usmerjanje klicev
prek nje je potrebno preverjanje. Pri povezavah s ponudniki (Twilio,
Telnyx) to znova preveri poverilnice ponudnika in dosegljivost SIP.
Pri povezavi **ročni SIP** se izvede kratek preizkusni klic (nekaj
sekund, samodejno prekinjen) *s* številke, *prek* vašega SIP
trunka, *na* številko ThunderPhone — tako se dejansko preverijo
uporabniško ime, geslo, transport in odhodno usmerjanje trunka. Vaš operater
ta klic zaračuna enako kot vsak drug klic.

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

Ob uspehu se `voip_verification_status` spremeni v `verified` in
številka dobi `status="active"`. Ob napaki odgovor natančno navede,
kaj ni uspelo — pri ročnem trunku je to odgovor SIP operaterja, na
primer *"zavrnjene poverilnice ThunderPhone (SIP 401)"* ali *"klica
ni bilo mogoče usmeriti (SIP 404)"* — odpravite težavo (poverilnice,
dovoljeni izvorni IP-naslovi, manjkajoča dodelitev trunka na nadzorni plošči
ponudnika) in znova izvedite klic.

## 5. Dodelite agente in sprejmite klic

Ko je številka preverjena, dohodne/odhodne agente dodelite enako kot
za številko ThunderPhone. Glejte
[Obravnava dohodnih klicev](/sl/guides/handle-inbound-calls) in
[Izvajanje odhodnih klicev](/sl/guides/place-outbound-calls).

## Menjava poverilnic

Ko se ključ ponudnika zamenja, znova izvedite postopek preskusi in nato posodobi:

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

Povezava ostane vzpostavljena — številk ni treba znova uvoziti.

---

## Naslednji koraki

<CardGroup cols={2}>
  <Card title="Referenca povezav VoIP" icon="phone-volume" href="/api-reference/voip-connections">
    Vsako polje v odgovorih za povezavo, dokazila in uvoz.
  </Card>
  <Card title="Referenca telefonskih številk" icon="phone" href="/api-reference/phone-numbers">
    Dodelite agente, prenesite med organizacijami, sprostite številke.
  </Card>
  <Card title="Izvajanje odhodnih klicev" icon="arrow-up-right" href="/sl/guides/place-outbound-calls">
    Zdaj ko imate številko, začnite izvajati odhodne klice.
  </Card>
</CardGroup>
