---
title: "Unganisha kupitia SIP (bila nambari ya simu)"
description: "Tuma simu kwa ejenti wa ThunderPhone moja kwa moja kutoka PBX, mtoa huduma au programu yako ya SIP, kwa kutumia SIP URI ya mara moja kwa kila simu au anwani ya kudumu ya SIP."
---

Ikiwa mfumo wako tayari unashughulikia namba za simu (PBX, jukwaa la kituo cha mawasiliano, au akaunti ya mtoa huduma ambapo unazungusha namba), unaweza kutuma simu kwa ejenti wa ThunderPhone kupitia SIP ya kawaida. Hauagizi au kununua namba kwenye ThunderPhone. Mfumo wako hupiga anwani ya SIP na ejenti hujibu.

Kuna aina mbili za anwani za SIP:

| | **URI ya SIP kwa kila simu** | **Kifikio cha SIP** |
|---|---|---|
| Huonekana kama | `sip:c-<token>@sip.thunderphone.com` | `sip:agent-<id>-<letters>@sip.thunderphone.com` |
| Huundwa kwa | `POST /v1/calls/register-sip`, mara moja kwa kila simu | `POST /v1/sip-endpoints`, mara moja |
| Uthibitishaji | Tokeni ya matumizi ya mara moja katika anwani | Jina la mtumiaji + nenosiri la SIP digest (na kwa hiari orodha ruhusu ya IP chanzo) |
| Inafaa kwa | Programu ambazo tayari hupiga API kabla ya kuhamisha simu; vigezo vya kila simu | PBX na watoa huduma wanaopaswa tu "kuelekeza trunk" kwenye ThunderPhone |
| Halali kwa | Dakika 5, simu moja | Hadi uifute |

Aina zote mbili huelekeza kwa ejenti mmoja katika shirika lako, na zote huonekana katika historia ya simu kama simu nyingine yoyote inayoingia.

## URI ya SIP kwa kila simu

### 1. Sajili simu

```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` (si lazima) ni namba ambayo mpigaji alipiga upande wako. Huhifadhiwa kama namba lengwa ya simu katika historia ya simu, na ejenti huiona kama namba yake mwenyewe.
- `variables` (si lazima) hujaza `{{placeholders}}` katika prompt ya ejenti, kwa namna sawa na [simu za kupiga](/sw/guides/call-variables).
- `call_id` ni kitambulisho ambacho simu itakuwa nacho katika historia ya simu
  (`GET /v1/calls/{call_id}`) mara tu inapounganishwa.

### 2. Piga URI

Tuma simu kwa `sip_uri` ndani ya dakika 5. URI hufanya kazi kwa simu moja pekee: simu ikishaitumia, haiwezi kutumika tena, hata kama simu hiyo itaisha haraka.

Kwa Twilio, kwa mfano, rudisha TwiML hii kwa simu unayotaka kuhamisha:

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

Kutoka kwenye PBX, piga URI kama lengwa la SIP. Hakuna jina la mtumiaji au nenosiri linalohitajika; tokeni ndiyo kitambulisho, hivyo ichukulie URI kama nenosiri hadi itakapotumika.

## Endpoint ya SIP (anwani ya kudumu)

### 1. Unda endpoint

```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` inarejeshwa mara moja tu, endpoint inapoundwa. Ihifadhi
  mara moja katika usanidi wa PBX au mtoa huduma wako. Ukiipoteza, ibadilishe
  kwa kutumia `POST /v1/sip-endpoints/{id}/rotate-password`.
</Warning>

### 2. Elekeza mfumo wako kwake

Sanidi trunk au lengwa la SIP kwa kutumia:

| Mpangilio | Thamani |
|---|---|
| URI ya SIP | `sip_uri` ya endpoint |
| Jina la mtumiaji / nenosiri | `username` / `password` (uthibitishaji wa digest; ThunderPhone hutoa changamoto kwa kila simu) |
| Usafirishaji | TCP kwenye porti 5060 au TLS kwenye porti 5061 (inapendekezwa), au UDP kwenye porti 5060 |
| Kodeki | G.711 (PCMU/PCMA) au G.722 |

<Note>
  Tumia TCP au TLS ikiwezekana. UDP hufanya kazi kutoka anwani za umma na NAT
  nyingi, lakini ukiwa nyuma ya NAT "sawia" (inayotumia porti mpya kwa kila
  lengwa), kukata simu na kuhamisha simu kwa ejenti huenda visifikie mfumo wako.
  Orodha ruhusu ya IP chanzi (hapa chini) pia inahitaji TCP au TLS. Kupitia TLS,
  uashiriaji wa SIP hubaki umesimbwa hata baada ya `sip.thunderphone.com`,
  hadi kwenye seva zinazoshughulikia simu.
</Note>

Mipangilio hii ya usafirishaji na kodeki pia inatumika kwa URI za kila simu.
Maelezo mawili ya mtandao ni muhimu kwa aina zote mbili za anwani:

- **Fuata Record-Route.** Baada ya INVITE ya kwanza, uashiriaji uliosalia wa
  simu (ACK, kukata simu, uhamishaji) huenda kwa seva mahususi ya ThunderPhone
  iliyojibu, ambayo imetajwa katika kichwa cha `Record-Route`
  (`sip-1.thunderphone.com` au `sip-2.thunderphone.com`, au anwani yake ya IP).
  Ukiwekea vikwazo SIP inayotoka, ruhusu hosti hizo pamoja na
  `sip.thunderphone.com`: `172.170.39.202` (`sip`), `13.86.104.121`
  (`sip-1`) na `20.80.98.90` (`sip-2`).
- **Sauti huenda kwingine.** `sip.thunderphone.com` hubeba uashiriaji pekee.
  Ruhusu media (RTP) kwenda kwenye anwani na porti zilizo katika jibu la SDP.

Kila simu kwenda kwenye anwani hufikia ejenti ya endpoint, bila kujali ni nambari
gani mpigaji wako alipiga kwa upande wako. Hutaingiza nambari kamwe, hivyo
kuzibadilisha kwa upande wako hakuhitaji mabadiliko yoyote kwenye ThunderPhone.

### Pitisha nambari iliyopigwa (si lazima)

Ili kurekodi ni nambari gani kati ya nambari zako mpigaji alipiga, itume kwenye
INVITE katika kichwa cha `X-Original-To` (kwa mfano `X-Original-To: +14155550142`) au
katika kichwa cha kawaida cha `Diversion`. ThunderPhone huihifadhi kama lengwa la simu.

Lengwa huchaguliwa kwa mpangilio huu: `to_number` iliyotolewa wakati URI ya
kila simu ilisajiliwa, kisha nambari katika `X-Original-To`, kisha nambari katika
`Diversion`. Ikiwa hakuna mojawapo inayotoa nambari, huonyeshwa kama
`sip:agent-12-jhxmginwjx` (anwani ya endpoint) kwa endpoint, au `sip:call` kwa
URI ya kila simu.

Ukitumia Twilio unaweza kuongeza kichwa kwenye URI ya SIP:
`sip:agent-12-jhxmginwjx@sip.thunderphone.com;transport=tcp?X-Original-To=%2B14155550142`.

### Weka vikwazo kwa IP za chanzo (si lazima)

Weka `allowed_source_cidrs` ili kukubali simu kutoka kwenye anwani zako za
uashiriaji pekee, pamoja na jina la mtumiaji na nenosiri:

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

Simu kutoka anwani nyingine yoyote hukataliwa kabla hazijafika kwa ejenti. Tumia
anwani ambazo mfumo wako hutuma uashiriaji wa SIP kutoka (kwa mtoa huduma kama
Twilio, safu zake za IP za uashiriaji zilizochapishwa), si anwani zako za media.

<Warning>
  Orodha ruhusu hukaguliwa kwa simu kupitia TCP au TLS pekee. Anwani ya chanzo
  ya UDP inaweza kughushiwa, hivyo endpoint yenye orodha ruhusu hukataa kila simu
  inayowasili kupitia UDP. Tuma simu kwake kwa `;transport=tcp` (porti 5060) au
  kupitia TLS (porti 5061).
</Warning>

## Kile ambacho wapigaji na mfumo wako wanaona

- **Kitambulisho cha mpigaji:** sehemu ya mtumiaji ya kichwa cha `From` huhifadhiwa kama mpigaji.
  Nambari ya simu (tarakimu, kwa hiari ikiwa na `+`, nafasi, vistari, nukta au
  mabano) hurekebishwa kuwa E.164; kitu kingine chochote, kama vile jina la
  mtumiaji la SIP, huhifadhiwa kama kilivyotumwa. Herufi zisizozidi 32
  huhifadhiwa, na mpigaji asiyepo huhifadhiwa kama `anonymous`.
- **Simu zilizokataliwa:** URI isiyojulikana au iliyokwisha muda wake kwa kila simu hupata SIP
  `404 Not Found`. URI ya kila simu ambayo tayari imetumika, endpoint iliyozimwa, au
  chanzo kilicho nje ya orodha ya kuruhusiwa (ikiwemo simu yoyote ya UDP kwenda kwenye endpoint yenye
  orodha ya kuruhusiwa) hukatwa kabla ejenti haijaanza: mfumo wako unaweza kuona
  simu ikishindwa, au ikiunganishwa kisha kuisha mara moja. Ukataaji huu hauundi
  ingizo la historia ya simu. Ikiwa shirika lako limeishiwa salio au limefikia
  kikomo chake cha matumizi, simu hukataliwa na huonekana katika historia ya simu kama
  simu iliyoshindwa bila malipo. Ili kujaribu tena jaribio la kila simu, sajili URI mpya.
- **Uhamisho:** uhamisho wa moja kwa moja wa ejenti hufanya kazi (ThunderPhone hutuma SIP
  `REFER`, ambayo mfumo wako lazima ukubali). Uhamisho wa kushauriana haupatikani kwa simu za anwani za SIP,
  kwa sababu hakuna nambari ya ThunderPhone ya kuonyesha kama kitambulisho cha mpigaji
  kwa sehemu ya pili. Ukiwa na Twilio, TwiML iliyo hapo juu huunganisha ejenti lakini
  haishughulikii uhamisho: ongeza `referUrl="https://YOUR_SERVER/sip-transfer"`
  kwenye `<Dial>`, na ufanye webhook hiyo isome `ReferTransferTarget` na irudishe
  TwiML inayopiga eneo la uhamisho (tazama mwongozo wa Twilio wa
  [SIP REFER](https://www.twilio.com/docs/voice/api/refer-to-twilio)).
- **Ujumbe wa maandishi:** anwani ya SIP na nambari iliyopigwa haziwezi kutuma ujumbe wa maandishi.
  Ejenti inaweza kutuma ujumbe wa maandishi wakati wa simu ya anwani ya SIP ikiwa tu ina nambari tofauti
  yenye uwezo wa SMS iliyowekwa kwa ajili ya kutuma ujumbe wa maandishi; vinginevyo zana yake ya SMS
  haipatikani.
- **Usajili:** ThunderPhone haikubali SIP `REGISTER`. Tuma simu kwenye
  anwani; usijisajili nayo.

## Bei

Simu za anwani za SIP hutozwa kwa kiwango cha kawaida cha ejenti kwa dakika. Hakuna
malipo ya nambari ya simu, kwa sababu hakuna nambari ya ThunderPhone inayobeba simu.
Mtoa huduma wako mwenyewe hutoza upande wake wa simu kama kawaida. Tazama
[Bei](/sw/guides/pricing).

## Ijaribu

1. Unda URI ya kila simu au endpoint kama ilivyo hapo juu.
2. Ipigie kutoka kwenye mfumo wako, au kutoka kwenye softphone yoyote ya SIP (kwa endpoint, weka
   jina la mtumiaji na nenosiri).
3. Baada ya kukata simu, fungua simu katika **Simu** kwenye dashibodi, au ichukue
   kwa `GET /v1/calls/{call_id}`. Inaonyesha mpigaji, lengwa
   (tazama mpangilio chini ya "Pitisha nambari iliyopigwa") na transkripti.

Maelezo ya API: [marejeleo ya API ya anwani za SIP](/api-reference/sip-addresses).
