---
title: "Pripojenie cez SIP (bez telefónneho čísla)"
description: "Posielajte hovory hlasovému agentovi ThunderPhone priamo z vašej pobočkovej ústredne, od poskytovateľa alebo z aplikácie SIP pomocou jednorazového SIP URI pre každý hovor alebo trvalej adresy SIP."
---

Ak váš vlastný systém už spracúva telefónne čísla (PBX, platforma kontaktného centra alebo účet u operátora, kde čísla rotujete), môžete hovory posielať hlasovému agentovi ThunderPhone cez bežný SIP. Do ThunderPhone číslo neimportujete ani nekupujete. Váš systém vytočí adresu SIP a agent odpovie.

Existujú dva druhy adries SIP:

| | **SIP URI pre jednotlivý hovor** | **SIP koncový bod** |
|---|---|---|
| Vyzerá ako | `sip:c-<token>@sip.thunderphone.com` | `sip:agent-<id>-<letters>@sip.thunderphone.com` |
| Vytvorené pomocou | `POST /v1/calls/register-sip`, raz pre každý hovor | `POST /v1/sip-endpoints`, raz |
| Autentifikácia | Jednorazový token v adrese | Používateľské meno a heslo SIP digest (a voliteľne zoznam povolených zdrojových IP adries) |
| Vhodné pre | Aplikácie, ktoré už volajú API pred presmerovaním hovoru; premenné pre jednotlivé hovory | PBX a operátorov, ktorí majú jednoducho „nasmerovať trunk“ na ThunderPhone |
| Platné | 5 minút, jeden hovor | Kým ho neodstránite |

Oba druhy smerujú k jednému agentovi vo vašej organizácii a oba sa v histórii hovorov zobrazujú ako každý iný prichádzajúci hovor.

## SIP URI pre jednotlivý hovor

### 1. Zaregistrujte hovor

```bash
curl -X POST https://api.thunderphone.com/v1/calls/register-sip \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "agent_id": 12,
    "to_number": "+14155550142",
    "variables": {"customer_name": "Ada"}
  }'
```

```json
{
  "call_id": 862197007562,
  "sip_uri": "sip:c-1790372992.Qm3xT8vLk2PzR7nYw4HbJa.uF6sD1gK9eW2cX5vB8nM0q@sip.thunderphone.com",
  "expires_at": "2026-09-25T21:49:52Z",
  "agent_id": 12,
  "to_number": "+14155550142"
}
```

- `to_number` (voliteľné) je číslo, ktoré volajúci vytočil na vašej strane. Uloží sa ako cieľ hovoru v histórii hovorov a agent ho vidí ako svoje vlastné číslo.
- `variables` (voliteľné) vyplnia `{{placeholders}}` vo výzve agenta, rovnako ako pri [odchádzajúcich hovoroch](/sk/guides/call-variables).
- `call_id` je ID, ktoré bude mať hovor v histórii hovorov (`GET /v1/calls/{call_id}`), keď sa spojí.

### 2. Vytočte URI

Pošlite hovor na `sip_uri` do 5 minút. URI funguje len pre jeden hovor: po použití hovoru je neplatné, aj keď sa daný hovor rýchlo skončí.

Napríklad v službe Twilio vráťte pre hovor, ktorý chcete odovzdať, tento TwiML:

```xml
<Response>
  <Dial>
    <Sip>sip:c-1790372992.Qm3xT8vLk2PzR7nYw4HbJa.uF6sD1gK9eW2cX5vB8nM0q@sip.thunderphone.com;transport=tcp</Sip>
  </Dial>
</Response>
```

Z PBX vytočte URI ako cieľ SIP. Nie je potrebné žiadne používateľské meno ani heslo; token je prihlasovací údaj, preto s URI zaobchádzajte ako s heslom, kým nebolo použité.

## Koncový bod SIP (trvalá adresa)

### 1. Vytvorte koncový bod

```bash
curl -X POST https://api.thunderphone.com/v1/sip-endpoints \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"agent_id": 12, "name": "Main PBX"}'
```

```json
{
  "id": 7,
  "name": "Main PBX",
  "agent_id": 12,
  "sip_uri": "sip:agent-12-jhxmginwjx@sip.thunderphone.com",
  "username": "tp409667538f83",
  "password": "8mJ0…",
  "allowed_source_cidrs": [],
  "status": "active",
  "created_at": "2026-09-25T21:46:18Z"
}
```

<Warning>
  Hodnota `password` sa vráti iba raz, pri vytvorení koncového bodu. Ihneď ju
  uložte do konfigurácie svojej PBX alebo operátora. Ak ju stratíte, obnovte ju
  pomocou `POST /v1/sip-endpoints/{id}/rotate-password`.
</Warning>

### 2. Nasmerujte naň svoj systém

Nakonfigurujte trunk SIP alebo cieľ s týmito hodnotami:

| Nastavenie | Hodnota |
|---|---|
| URI SIP | `sip_uri` koncového bodu |
| Používateľské meno / heslo | `username` / `password` (digest autentifikácia; ThunderPhone vyzve na autentifikáciu pri každom hovore) |
| Transport | TCP na porte 5060 alebo TLS na porte 5061 (odporúčané), prípadne UDP na porte 5060 |
| Kodeky | G.711 (PCMU/PCMA) alebo G.722 |

<Note>
  Uprednostnite TCP alebo TLS. UDP funguje z verejných adries aj z väčšiny NAT,
  ale za „symetrickým“ NAT (ktorý používa nový port pre každý cieľ) sa ukončenia
  a prepojenia vykonané agentom nemusia dostať do vášho systému. Zoznam
  povolených zdrojových IP adries (nižšie) tiež vyžaduje TCP alebo TLS. Pri TLS
  zostáva signalizácia SIP šifrovaná aj za `sip.thunderphone.com`, až po servery,
  ktoré spracúvajú hovor.
</Note>

Tieto nastavenia transportu a kodekov platia aj pre URI jednotlivých hovorov.
Pre oba typy adries sú dôležité dva sieťové detaily:

- **Dodržiavajte Record-Route.** Po prvom INVITE sa zvyšná signalizácia hovoru
  (ACK, ukončenie, prepojenia) odosiela na konkrétny server ThunderPhone, ktorý
  odpovedal a je uvedený v hlavičke `Record-Route`
  (`sip-1.thunderphone.com` alebo `sip-2.thunderphone.com`, prípadne jeho IP
  adresa). Ak obmedzujete odchádzajúce SIP, povoľte tieto hostiteľské servery
  aj `sip.thunderphone.com`: `172.170.39.202` (`sip`), `13.86.104.121`
  (`sip-1`) a `20.80.98.90` (`sip-2`).
- **Zvuk smeruje inde.** `sip.thunderphone.com` prenáša iba signalizáciu.
  Povoľte médiá (RTP) na adresy a porty v odpovedi SDP.

Každý hovor na túto adresu sa spojí s agentom koncového bodu bez ohľadu na to,
aké číslo volajúci vytočil na vašej strane. Čísla nikdy neimportujete, takže ich
zmena na vašej strane nevyžaduje žiadnu zmenu v ThunderPhone.

### Odovzdanie vytočeného čísla (voliteľné)

Ak chcete zaznamenať, na ktoré z vašich čísel volajúci volal, odošlite ho v
INVITE v hlavičke `X-Original-To` (napríklad `X-Original-To: +14155550142`)
alebo v štandardnej hlavičke `Diversion`. ThunderPhone ho uloží ako cieľ hovoru.

Cieľ sa vyberá v tomto poradí: `to_number` zadané pri registrácii URI
jednotlivého hovoru, potom číslo v `X-Original-To`, potom číslo v `Diversion`.
Ak žiadna z týchto možností neposkytne číslo, pre koncový bod sa zobrazí
`sip:agent-12-jhxmginwjx` (adresa koncového bodu) alebo `sip:call` pre URI
jednotlivého hovoru.

V službe Twilio môžete hlavičku pridať do URI SIP:
`sip:agent-12-jhxmginwjx@sip.thunderphone.com;transport=tcp?X-Original-To=%2B14155550142`.

### Obmedzenie zdrojových IP adries (voliteľné)

Nastavte `allowed_source_cidrs`, aby sa okrem používateľského mena a hesla
prijímali iba hovory z vašich vlastných signalizačných adries:

```bash
curl -X PATCH https://api.thunderphone.com/v1/sip-endpoints/7 \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"allowed_source_cidrs": ["203.0.113.0/28"]}'
```

Hovory z akejkoľvek inej adresy sa odmietnu predtým, než sa dostanú k agentovi.
Použite adresy, z ktorých váš systém odosiela signalizáciu SIP (pri operátorovi,
ako je Twilio, jeho zverejnené rozsahy signalizačných IP adries), nie adresy
médií.

<Warning>
  Zoznam povolených adries sa kontroluje iba pri hovoroch cez TCP alebo TLS.
  Zdrojovú adresu UDP možno sfalšovať, preto koncový bod so zoznamom povolených
  adries odmietne každý hovor prichádzajúci cez UDP. Odosielajte naň hovory s
  `;transport=tcp` (port 5060) alebo cez TLS (port 5061).
</Warning>

## Čo vidia volajúci a váš systém

- **ID volajúceho:** používateľská časť hlavičky `From` sa uloží ako volajúci.
  Telefónne číslo (číslice, voliteľne so znakmi `+`, medzerami, pomlčkami,
  bodkami alebo zátvorkami) sa normalizuje na E.164; všetko ostatné, napríklad
  používateľské meno SIP, sa zachová v odoslanej podobe. Uloží sa najviac 32
  znakov a chýbajúci volajúci sa uloží ako `anonymous`.
- **Odmietnuté hovory:** neznáma alebo expirovaná URI pre jednotlivý hovor
  dostane SIP `404 Not Found`. Hovor s už použitou URI pre jednotlivý hovor,
  na deaktivovaný koncový bod alebo zo zdroja mimo zoznamu povolených (vrátane
  každého hovoru UDP na koncový bod so zoznamom povolených) sa odpojí pred
  spustením agenta: váš systém môže vidieť zlyhanie hovoru alebo jeho spojenie
  a okamžité ukončenie. Pri týchto odmietnutiach sa nevytvorí záznam v
  histórii hovorov. Ak vaša organizácia nemá dostatok kreditu alebo dosiahla
  limit výdavkov, hovor sa odmietne a v histórii hovorov sa zobrazí ako
  neúspešný hovor bez poplatku. Ak chcete zopakovať pokus pre jednotlivý hovor,
  zaregistrujte novú URI.
- **Presmerovania:** priame presmerovania hlasového agenta fungujú
  (ThunderPhone odošle SIP `REFER`, ktorý musí váš systém prijať). Asistované
  presmerovania nie sú pri hovoroch na adresu SIP k dispozícii, pretože
  neexistuje číslo ThunderPhone, ktoré by sa mohlo zobraziť ako ID volajúceho
  pre druhú vetvu hovoru. Pri použití Twilia vyššie uvedený TwiML spojí agenta,
  ale nespracuje presmerovania: pridajte `referUrl="https://YOUR_SERVER/sip-transfer"`
  do `<Dial>` a zabezpečte, aby tento webhook prečítal `ReferTransferTarget` a
  vrátil TwiML, ktorý vytočí cieľ presmerovania (pozrite si
  [príručku SIP REFER od Twilia](https://www.twilio.com/docs/voice/api/refer-to-twilio)).
- **Textové správy:** adresa SIP ani vytočené číslo nemôžu odosielať textové
  správy. Agent môže počas hovoru na adresu SIP odosielať textové správy iba v
  prípade, že má na odosielanie správ nastavené samostatné číslo s podporou
  SMS; inak jeho nástroj SMS nie je k dispozícii.
- **Registrácia:** ThunderPhone neprijíma SIP `REGISTER`. Posielajte hovory na
  adresu; neregistrujte sa na ňu.

## Ceny

Hovory na adresu SIP sa účtujú podľa bežnej sadzby agenta za minútu. Neúčtuje
sa žiadny poplatok za telefónne číslo, pretože hovor neprenáša žiadne číslo
ThunderPhone. Váš vlastný telekomunikačný poskytovateľ účtuje svoju časť hovoru
ako zvyčajne. Pozrite si [Ceny](/sk/guides/pricing).

## Vyskúšajte to

1. Vytvorte URI pre jednotlivý hovor alebo koncový bod podľa vyššie uvedeného postupu.
2. Vytočte ju zo svojho systému alebo z ľubovoľného SIP softfónu (pri koncovom
   bode zadajte používateľské meno a heslo).
3. Po ukončení hovoru ho otvorte v časti **Hovory** na paneli alebo ho získajte
   pomocou `GET /v1/calls/{call_id}`. Zobrazí sa volajúci, cieľové číslo
   (pozrite si poradie v časti „Odovzdanie vytočeného čísla“) a prepis.

Podrobnosti API: [referencia API adries SIP](/api-reference/sip-addresses).
