Megérkezett a ThunderPhone 2.0.Önkiszolgálóan, már 2¢/perctől.Olvassa el a bejelentést

Developer cookbook

Csatlakozás SIP-en keresztül (telefonszám nélkül)

Hívásokat közvetlenül a PBX-rendszeréből, szolgáltatójától vagy SIP-alkalmazásából küldhet egy ThunderPhone ügynöknek, hívásonként egyszer használatos SIP URI-val vagy állandó SIP-címmel.

Ha saját rendszere már kezeli a telefonszámokat (PBX, kontaktközponti platform vagy szolgáltatói fiók, ahol számokat váltogat), a hívásokat egyszerű SIP-en keresztül ThunderPhone-ügynökhöz irányíthatja. Nem kell számot importálnia vagy vásárolnia a ThunderPhone-ban. A rendszere egy SIP-címet hív, és az ügynök fogadja a hívást.

Kétféle SIP-cím létezik:

Hívásonkénti SIP URISIP-végpont
Így néz kisip:c-<token>@sip.thunderphone.comsip:agent-<id>-<letters>@sip.thunderphone.com
LétrehozásPOST /v1/calls/register-sip, hívásonként egyszerPOST /v1/sip-endpoints, egyszer
HitelesítésA címben található egyszer használatos tokenSIP digest felhasználónév + jelszó (és opcionálisan forrás-IP engedélyezési lista)
AjánlottOlyan alkalmazásokhoz, amelyek már hívnak API-t a hívás átadása előtt; hívásonkénti változókhozOlyan PBX-ekhez és szolgáltatókhoz, amelyeknek csak a ThunderPhone-ra kell „irányítaniuk egy trunköt”
Érvényesség5 perc, egy hívásTörlésig

Mindkét típus a szervezetében található egy ügynökhöz irányítja a hívásokat, és mindkettő ugyanúgy megjelenik a híváselőzményekben, mint bármely más bejövő hívás.

Hívásonkénti SIP URI

1. Regisztrálja a hívást

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"}
  }'
{
  "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"
}
  • A to_number (opcionális) az a szám, amelyet a hívó az Ön oldalán tárcsázott. Ez a hívás célállomásaként lesz tárolva a híváselőzményekben, és az ügynök saját számaként látja.
  • A variables (opcionális) kitölti az ügynök promptjában található {{placeholders}} helyőrzőket, ugyanúgy, mint a kimenő hívásoknál.
  • A call_id az azonosító, amelyet a hívás a kapcsolódás után a híváselőzményekben kap (GET /v1/calls/{call_id}).

2. Tárcsázza az URI-t

Küldje a hívást a sip_uri címre 5 percen belül. Az URI csak egy híváshoz használható: miután egy hívás használta, elhasználódik, még akkor is, ha az a hívás gyorsan véget ér.

Twilióval például ezt a TwiML-t adja vissza az átadni kívánt híváshoz:

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

PBX-ből tárcsázza az URI-t SIP-célállomásként. Nincs szükség felhasználónévre vagy jelszóra; a token a hitelesítő adat, ezért az URI-t jelszóként kezelje, amíg fel nem használták.

SIP-végpont (állandó cím)

1. Hozza létre a végpontot

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

2. Irányítsa rá a rendszerét

Konfiguráljon egy SIP-trönköt vagy célhelyet a következőkkel:

BeállításÉrték
SIP URIa végpont sip_uri értéke
Felhasználónév / jelszóusername / password (digest hitelesítés; a ThunderPhone minden hívásnál hitelesítést kér)
ÁtvitelTCP az 5060-as porton vagy TLS az 5061-es porton (ajánlott), illetve UDP az 5060-as porton
KodekekG.711 (PCMU/PCMA) vagy G.722

Ezek az átviteli és kodekbeállítások a hívásonkénti URI-kra is vonatkoznak. Két hálózati részlet mindkét címtípusnál fontos:

  • Kövesse a Record-Route útvonalat. Az első INVITE után a hívás további jelzései (ACK, bontás, átadások) ahhoz a konkrét ThunderPhone-szerverhez kerülnek, amely válaszolt, és amely a Record-Route fejlécben szerepel (sip-1.thunderphone.com vagy sip-2.thunderphone.com, illetve annak IP-címe). Ha korlátozza a kimenő SIP-forgalmat, ezeket a gépeket is engedélyezze a sip.thunderphone.com mellett: 172.170.39.202 (sip), 13.86.104.121 (sip-1) és 20.80.98.90 (sip-2).
  • A hangforgalom máshová megy. A sip.thunderphone.com csak jelzést kezel. Engedélyezze a médiaforgalmat (RTP) az SDP-válaszban megadott címek és portok felé.

A címre érkező minden hívás eléri a végpont ügynökét, függetlenül attól, hogy a hívó az Ön oldalán melyik számot tárcsázta. Soha nem importál számokat, ezért azok saját oldali cseréje nem igényel módosítást a ThunderPhone-ban.

A tárcsázott szám átadása (opcionális)

Annak rögzítéséhez, hogy a hívó melyik számát tárcsázta, küldje el azt az INVITE üzenetben egy X-Original-To fejlécben (például X-Original-To: +14155550142), vagy egy szabványos Diversion fejlécben. A ThunderPhone ezt a hívás céljaként tárolja.

A cél kiválasztása ebben a sorrendben történik: a hívásonkénti URI regisztrálásakor megadott to_number, majd az X-Original-To fejlécben szereplő szám, végül a Diversion fejlécben szereplő szám. Ha ezek egyike sem ad meg számot, végpont esetén sip:agent-12-jhxmginwjx (a végpont címe), hívásonkénti URI esetén pedig sip:call jelenik meg.

A Twilio használatakor a fejlécet hozzáadhatja a SIP URI-hoz: sip:agent-12-jhxmginwjx@sip.thunderphone.com;transport=tcp?X-Original-To=%2B14155550142.

Forrás-IP-címek korlátozása (opcionális)

Állítsa be az allowed_source_cidrs értékét, hogy a felhasználónéven és jelszón felül csak a saját jelzési címeiről fogadjon hívásokat:

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

Minden más címről érkező hívást a rendszer visszautasít, mielőtt elérné az ügynököt. Azokat a címeket használja, amelyekről a rendszere SIP-jelzést küld (egy olyan szolgáltató esetén, mint a Twilio, annak közzétett jelzési IP-tartományait), nem pedig a médiacímeket.

Amit a hívók és az Ön rendszere lát

  • Hívóazonosító: a From fejléc felhasználói része lesz hívóként tárolva. A telefonszámot (számjegyeket, opcionálisan +, szóközökkel, kötőjelekkel, pontokkal vagy zárójelekkel) E.164 formátumra normalizáljuk; minden mást, például egy SIP-felhasználónevet, a küldött formában őrzünk meg. Legfeljebb 32 karaktert tárolunk, hiányzó hívó esetén pedig az anonymous értéket.
  • Elutasított hívások: egy ismeretlen vagy lejárt hívásonkénti URI SIP 404 Not Found választ kap. Egy már használt hívásonkénti URI, egy letiltott végpont vagy egy engedélyezési listán kívüli forrás (beleértve az engedélyezési listával rendelkező végpontra irányuló bármely UDP-hívást) az ügynök indulása előtt bontásra kerül: az Ön rendszere sikertelen hívást érzékelhet, vagy a hívás csatlakozhat, majd azonnal véget érhet. Ezek az elutasítások nem hoznak létre híváselőzmény-bejegyzést. Ha szervezeténél elfogyott az egyenleg, vagy elérte a költési limitet, a hívást elutasítjuk, és a híváselőzményekben díjmentes sikertelen hívásként jelenik meg. Egy hívásonkénti próbálkozás újrapróbálásához regisztráljon új URI-t.
  • Átirányítások: az ügynök hideg átirányításai működnek (a ThunderPhone SIP REFER üzenetet küld, amelyet az Ön rendszerének el kell fogadnia). A meleg átirányítások nem érhetők el SIP-címes hívásoknál, mert nincs ThunderPhone telefonszám, amely a második szakasz hívóazonosítójaként megjelenhetne. A Twilio esetében a fenti TwiML csatlakoztatja az ügynököt, de nem kezeli az átirányításokat: adja hozzá a referUrl="https://YOUR_SERVER/sip-transfer" értéket a <Dial> elemhez, és állítsa be, hogy ez a webhook kiolvassa a ReferTransferTarget értékét, majd olyan TwiML-t adjon vissza, amely tárcsázza az átirányítás célját (lásd a Twilio SIP REFER útmutatóját).
  • Szöveges üzenetek: a SIP-cím és a tárcsázott szám nem tud szöveges üzeneteket küldeni. Az ügynök csak akkor tud üzenetet küldeni SIP-címes hívás közben, ha külön, szöveges üzenetek küldésére beállított, SMS-képes számmal rendelkezik; ellenkező esetben az SMS-eszköze nem érhető el.
  • Regisztráció: a ThunderPhone nem fogad SIP REGISTER üzeneteket. Küldje a hívásokat a címre; ne regisztráljon rá.

Díjszabás

A SIP-címes hívások díjazása az ügynök szokásos percdíja szerint történik. Nincs telefonszám-díj, mert a hívást nem ThunderPhone telefonszám bonyolítja. A saját szolgáltatója a szokásos módon számlázza a hívás rá eső részét. Lásd: Díjszabás.

Tesztelés

  1. Hozzon létre egy hívásonkénti URI-t vagy egy végpontot a fentiek szerint.
  2. Tárcsázza azt a rendszeréből vagy bármely SIP-szoftvertelefonból (végpont esetén adja meg a felhasználónevet és a jelszót).
  3. A hívás befejezése után nyissa meg a hívást a vezérlőpult Hívások menüpontjában, vagy kérje le a GET /v1/calls/{call_id} végponttal. Itt látható a hívó, a célállomás (lásd a „A tárcsázott szám átadása” szakaszban szereplő sorrendet) és az átirat.

API-részletek: SIP-címek API-referenciája.