---
title: "Povežite se putem SIP-a (bez telefonskog broja)"
description: "Usmjeravajte pozive glasovnom agentu ThunderPhone izravno sa svojeg PBX-a, od operatera ili iz SIP aplikacije, uz jednokratni SIP URI za svaki poziv ili trajnu SIP adresu."
---

Ako vaš sustav već upravlja telefonskim brojevima (PBX, platforma kontakt-centra
ili račun kod operatera na kojem rotirate brojeve), pozive možete slati
glasovnom agentu ThunderPhonea putem standardnog SIP-a. Ne uvozite niti kupujete broj
u ThunderPhoneu. Vaš sustav bira SIP adresu, a agent se javlja.

Postoje dvije vrste SIP adresa:

| | **SIP URI po pozivu** | **SIP krajnja točka** |
|---|---|---|
| Izgleda kao | `sip:c-<token>@sip.thunderphone.com` | `sip:agent-<id>-<letters>@sip.thunderphone.com` |
| Stvara se pomoću | `POST /v1/calls/register-sip`, jednom po pozivu | `POST /v1/sip-endpoints`, jednom |
| Autentikacija | Jednokratni token u adresi | SIP digest korisničko ime + lozinka (i po želji popis dopuštenih izvornih IP adresa) |
| Prikladno za | Aplikacije koje već pozivaju API prije preusmjeravanja poziva; varijable po pozivu | PBX-ove i operatere koji trebaju samo „usmjeriti trunk” prema ThunderPhoneu |
| Vrijedi | 5 minuta, za jedan poziv | Dok je ne izbrišete |

Obje vrste usmjeravaju prema jednom agentu u vašoj organizaciji, a obje se u
povijesti poziva prikazuju kao svaki drugi dolazni poziv.

## SIP URI po pozivu

### 1. Registrirajte poziv

```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` (neobavezno) je broj koji je pozivatelj birao na vašoj strani. Sprema se
  kao odredište poziva u povijesti poziva, a agent ga vidi kao
  svoj broj.
- `variables` (neobavezno) popunjavaju `{{placeholders}}` u promptu agenta,
  na isti način kao za [odlazne pozive](/hr/guides/call-variables).
- `call_id` je ID koji će poziv imati u povijesti poziva
  (`GET /v1/calls/{call_id}`) nakon povezivanja.

### 2. Birajte URI

Pošaljite poziv na `sip_uri` u roku od 5 minuta. URI vrijedi samo za jedan poziv:
nakon što ga poziv iskoristi, više ne vrijedi, čak i ako taj poziv brzo završi.

S Twiliom, primjerice, vratite ovaj TwiML za poziv koji želite preusmjeriti:

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

S PBX-a birajte URI kao SIP odredište. Korisničko ime ni lozinka nisu
potrebni; token je vjerodajnica, stoga URI tretirajte kao lozinku dok ne
bude iskorišten.

## SIP krajnja točka (trajna adresa)

### 1. Izradite krajnju točku

```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>
  `password` se vraća samo jednom, pri izradi krajnje točke. Odmah ga spremite
  u konfiguraciju PBX-a ili pružatelja usluge. Ako ga izgubite, promijenite ga
  s pomoću `POST /v1/sip-endpoints/{id}/rotate-password`.
</Warning>

### 2. Usmjerite svoj sustav na nju

Konfigurirajte SIP trunk ili odredište sa sljedećim postavkama:

| Postavka | Vrijednost |
|---|---|
| SIP URI | `sip_uri` krajnje točke |
| Korisničko ime / lozinka | `username` / `password` (digest autentifikacija; ThunderPhone provjerava svaki poziv) |
| Transport | TCP na priključku 5060 ili TLS na priključku 5061 (preporučeno), odnosno UDP na priključku 5060 |
| Kodeci | G.711 (PCMU/PCMA) ili G.722 |

<Note>
  Prednost dajte TCP-u ili TLS-u. UDP radi s javnih adresa i iz većine NAT-ova,
  ali iza „simetričnog” NAT-a (koji upotrebljava novi priključak za svako
  odredište) prekidi poziva i preusmjeravanja glasovnog agenta možda neće stići
  do vašeg sustava. Popis dopuštenih izvornih IP adresa (u nastavku) također
  zahtijeva TCP ili TLS. Putem TLS-a SIP signalizacija ostaje šifrirana i nakon
  `sip.thunderphone.com`, sve do poslužitelja koji obrađuju poziv.
</Note>

Ove postavke transporta i kodeka primjenjuju se i na URI-je po pozivu. Dva
mrežna detalja važna su za obje vrste adresa:

- **Slijedite Record-Route.** Nakon prvog INVITE-a ostatak signalizacije poziva
  (ACK, prekid poziva, preusmjeravanja) ide na određeni ThunderPhone poslužitelj
  koji je odgovorio, a naveden je u zaglavlju `Record-Route`
  (`sip-1.thunderphone.com` ili `sip-2.thunderphone.com`, odnosno njegova IP
  adresa). Ako ograničavate odlazni SIP, dopustite te hostove uz
  `sip.thunderphone.com`: `172.170.39.202` (`sip`), `13.86.104.121`
  (`sip-1`) i `20.80.98.90` (`sip-2`).
- **Zvuk ide drugdje.** `sip.thunderphone.com` prenosi samo signalizaciju.
  Dopustite medijski promet (RTP) prema adresama i priključcima u SDP odgovoru.

Svaki poziv na tu adresu dolazi do glasovnog agenta krajnje točke, bez obzira na
broj koji je pozivatelj birao na vašoj strani. Nikada ne uvozite brojeve, pa
njihova promjena na vašoj strani ne zahtijeva nikakvu promjenu u ThunderPhoneu.

### Proslijedite birani broj (neobavezno)

Da biste zabilježili koji je od vaših brojeva pozivatelj birao, pošaljite ga u
INVITE-u u zaglavlju `X-Original-To` (na primjer `X-Original-To: +14155550142`)
ili u standardnom zaglavlju `Diversion`. ThunderPhone ga sprema kao odredište
poziva.

Odredište se odabire ovim redoslijedom: `to_number` zadan pri registraciji URI-ja
po pozivu, zatim broj u `X-Original-To`, a zatim broj u `Diversion`. Ako nijedna
od tih opcija ne navede broj, za krajnju točku se prikazuje
`sip:agent-12-jhxmginwjx` (adresa krajnje točke), odnosno `sip:call` za URI po
pozivu.

S Twiliom možete dodati zaglavlje u SIP URI:
`sip:agent-12-jhxmginwjx@sip.thunderphone.com;transport=tcp?X-Original-To=%2B14155550142`.

### Ograničite izvorne IP adrese (neobavezno)

Postavite `allowed_source_cidrs` tako da prihvaća pozive samo s vaših vlastitih
adresa za signalizaciju, uz korisničko ime i lozinku:

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

Pozivi s bilo koje druge adrese odbijaju se prije nego što stignu do agenta.
Upotrijebite adrese s kojih vaš sustav šalje SIP signalizaciju (za pružatelja
usluge kao što je Twilio, njegove objavljene raspone IP adresa za signalizaciju),
a ne svoje medijske adrese.

<Warning>
  Popis dopuštenih adresa provjerava se samo za pozive putem TCP-a ili TLS-a.
  Izvorna UDP adresa može se krivotvoriti, stoga krajnja točka s popisom
  dopuštenih adresa odbija svaki poziv koji stiže putem UDP-a. Šaljite pozive na
  nju s pomoću `;transport=tcp` (priključak 5060) ili putem TLS-a (priključak
  5061).
</Warning>

## Što vide pozivatelji i Vaš sustav

- **ID pozivatelja:** korisnički dio zaglavlja `From` pohranjuje se kao pozivatelj.
  Telefonski broj (znamenke, prema potrebi s `+`, razmacima, crticama, točkama ili
  zagradama) normalizira se u E.164; sve ostalo, poput SIP korisničkog imena,
  zadržava se kako je poslano. Zadržavaju se najviše 32 znaka, a nedostajući
  pozivatelj pohranjuje se kao `anonymous`.
- **Odbijeni pozivi:** nepoznati ili istekli URI po pozivu prima SIP
  `404 Not Found`. URI po pozivu koji je već iskorišten, onemogućena krajnja točka ili
  izvor izvan popisa dopuštenih (uključujući svaki UDP poziv na krajnju točku s
  popisom dopuštenih) prekida se prije pokretanja agenta: Vaš sustav može vidjeti
  neuspješan poziv ili povezivanje nakon kojeg poziv odmah završava. Ta odbijanja ne
  stvaraju zapis u povijesti poziva. Ako Vaša organizacija nema dovoljno kredita ili
  je dosegnula ograničenje potrošnje, poziv se odbija i u povijesti poziva prikazuje
  kao neuspješan poziv bez naplate. Za ponovni pokušaj poziva po URI-ju registrirajte
  novi URI.
- **Preusmjeravanja:** agentova hladna preusmjeravanja rade (ThunderPhone šalje SIP
  `REFER`, koji Vaš sustav mora prihvatiti). Topla preusmjeravanja nisu dostupna za
  pozive na SIP adrese jer nema ThunderPhone broja koji bi se prikazao kao ID
  pozivatelja za drugi dio poziva. Uz Twilio, gornji TwiML povezuje agenta, ali ne
  obrađuje preusmjeravanja: dodajte `referUrl="https://YOUR_SERVER/sip-transfer"`
  u `<Dial>`, a zatim neka taj webhook pročita `ReferTransferTarget` i vrati TwiML
  koji bira odredište preusmjeravanja (pogledajte Twiliov
  [vodič za SIP REFER](https://www.twilio.com/docs/voice/api/refer-to-twilio)).
- **Tekstne poruke:** SIP adresa i birani broj ne mogu slati tekstne poruke.
  Agent može slati tekstne poruke tijekom poziva na SIP adresu samo ako ima zaseban
  broj s podrškom za SMS postavljen za slanje poruka; u suprotnom njegov SMS alat nije
  dostupan.
- **Registracija:** ThunderPhone ne prihvaća SIP `REGISTER`. Šaljite pozive na
  adresu; nemojte se registrirati na nju.

## Cijene

Pozivi na SIP adrese naplaćuju se prema uobičajenoj cijeni agenta po minuti. Ne
naplaćuje se telefonski broj jer nijedan ThunderPhone broj ne prenosi poziv. Vaš
vlastiti operater naplaćuje svoju stranu poziva kao i obično. Pogledajte
[Cijene](/hr/guides/pricing).

## Testirajte

1. Izradite URI po pozivu ili krajnju točku kako je navedeno gore.
2. Birajte ga iz svojeg sustava ili s bilo kojeg SIP softfona (za krajnju točku unesite
   korisničko ime i lozinku).
3. Nakon prekida poziva otvorite poziv u odjeljku **Pozivi** na nadzornoj ploči ili ga
   dohvatite putem `GET /v1/calls/{call_id}`. Prikazuje pozivatelja, odredište
   (pogledajte redoslijed pod "Proslijedite birani broj") i transkript.

Pojedinosti API-ja: [referenca API-ja za SIP adrese](/api-reference/sip-addresses).
