---
title: "הביאו מספרים משלכם (VoIP, API)"
description: "חברו את Twilio, Telnyx, SignalWire, Vonage, Plivo וכל trunk SIP אחר דרך SIP, ייבאו את מספרי הטלפון שכבר בבעלותכם, ואפשרו לסוכני ThunderPhone לענות לשיחות ולבצע שיחות באמצעותם."
---

מספרי ThunderPhone מאושרים יכולים לבצע שיחות יוצאות ולהריץ קמפיינים. אם
אתם מעדיפים להשתמש במספרים שבבעלותכם דרך ספק ה-VoIP שלכם, מדריך זה
מלווה אתכם בתהליך החיבור: **בדיקת אישורי גישה → יצירת חיבור
→ ייבוא מספרים → אימות**.

<Note>
  בלוח הבקרה יש גרסה מודרכת של כל התהליך הזה תחת
  **חיבורים → VoIP** (`/dashboard/voip-connections`): תחילה מסלול לחיבור חשבון קיים (Twilio ו-Telnyx באמצעות מפתח API; SignalWire,
  Vonage, Plivo וכל trunk אחר באמצעות טופס SIP ידני עם
  שלבים ייעודיים לספק ומחולל מדריכי הגדרה מבוסס AI), ולאחר מכן
  הגדרה מודרכת שפותחת חשבון Telnyx חדש.
</Note>

## ספקים נתמכים

| ספק | מזהה `provider` | הערות |
|----------|---------------|-------|
| Twilio | `twilio` | מזהה חשבון SID + אסימון אימות; חיבור אחד לכל חשבון או תת-חשבון של Twilio (ראו [תת-חשבונות Twilio](#twilio-subaccounts)) |
| Telnyx | `telnyx` | מפתח API; תהליך הצטרפות מודרך זמין (`setup_method: guided_telnyx`) |
| SignalWire | `signalwire` | אין חיבור ספק מקורי; חברו אותו כ-`manual` באמצעות הגדרת SIP המוגדרת מראש של SignalWire |
| Vonage | `vonage` | אין חיבור ספק מקורי; חברו אותו כ-`manual` באמצעות הגדרת SIP המוגדרת מראש של Vonage |
| SIP ידני | `manual` | כל trunk של SIP, כולל SignalWire, Vonage ו-Plivo. אם תתחילו מאחד מאריחי הספקים האלה בלוח הבקרה, החיבור עדיין יהיה `manual` וישמור את הבחירה ב-`sip_config.preset` (`signalwire`, `vonage` או `plivo`) |

## 1. בדיקת אישורי גישה

לפני שאתם יוצרים חיבור VoIP שנשמר, בדקו את אישורי הגישה של הספק
כדי לוודא שהם פועלים. פעולה זו מחזירה
`verification_evidence_id` שתעבירו לשלב היצירה, כדי שלא תחויבו
פעמיים על הבדיקה.

```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
  }
}
```

אם בדיקה כלשהי נכשלת, ערך `status` בתגובה יהיה `fail` ו-`checks`
יציג את השלב שנכשל. תקנו את התצורה בצד הספק (הקצאת trunk,
רשימת כתובות IP מורשות, הרשאה לשיחות יוצאות) ונסו שוב.

## 2. צרו את החיבור

העבירו את `verification_evidence_id` שקיבלתם זה עתה:

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

התגובה היא [אובייקט VoipConnection](/api-reference/voip-connections#connection-object)
במצב `status="connected"`. פרטי גישה וערכי חיבור סודיים אחרים נשמרים בצד השרת ולעולם אינם
מוחזרים כטקסט גלוי בבקשות GET עוקבות — כדי לבצע רוטציה, הריצו `test` חדש
ובצעו PATCH עם הראיות החדשות.

### חשבונות משנה של Twilio

חיבור Twilio מקושר לחשבון Twilio היחיד שפרטי ה־Account SID וה־Auth Token שלו שמורים בו. Twilio שומרת מספרי טלפון ועורקי SIP בתוך כל חשבון משנה, לכן חיבור שנוצר באמצעות חשבון האב רואה רק את המספרים של חשבון האב עצמו, ולא ניתן להעביר חיבור קיים לחשבון משנה אחר בהמשך.

כדי לגשת למספרים שנמצאים בחשבונות משנה, צרו חיבור אחד לכל חשבון משנה.
לוח הבקרה עושה זאת עבורכם: כאשר אתם מחברים חשבון אב שיש לו חשבונות משנה
פעילים, תיבת הדו-שיח של ההגדרה מציגה אותם, אתם מסמנים את אלה הרצויים,
ו-ThunderPhone יוצרת חיבור (וערוץ SIP) בכל אחד מהם. אותו תהליך זמין גם
באמצעות ה-API:

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

התשובה כוללת שורה אחת לכל חשבון משנה, עם `status` של
`created`, `skipped` (כבר מחובר) או `failed`, וכן `error`
שאפשר לפעול לפיו. השורות עצמאיות, לכן כשל בחשבון משנה אחד
לעולם אינו חוסם את האחרות, ו-`discovery_id` נשאר תקף למשך 30
דקות, כך שאפשר פשוט לנסות שוב שורה שנכשלה. אסימוני חשבונות המשנה
נקראים מ-Twilio בזמן הגילוי ונשמרים בחיבור החדש;
הם לעולם אינם מוחזרים על ידי ה-API. לאחר מכן, כל חיבור חדש מייבא
ומאמת מספרים בדיוק כמו חיבור שיצרתם ידנית.
הוסיפו `"enable_transfers": true` כדי להפעיל גם העברות שיחות עבור
תא המטען SIP של כל חיבור חדש; כשל בכך מדווח ב-
`test_result.transfer_enable_error` של אותו חיבור ואינו מכשיל את
השורה.

## 3. הציגו וייבאו מספרים

בדקו את המספרים הגלויים לפרטי הכניסה שלכם שעדיין אינם נמצאים בארגון
ThunderPhone:

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

לאחר מכן, ייבאו את המספרים הרצויים:

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

כל ייבוא הופך ל[משאב מספר טלפון](/api-reference/phone-numbers)
בארגון שלכם עם `number_type="voip"` ו-`status="provisioning"`.

## 4. אמתו כל מספר שיובא

הייבוא רושם את המספר כ-*זמין*; נדרש אימות כדי לנתב בפועל שיחות
דרכו. בחיבורי ספקים (Twilio,
Telnyx), האימות בודק מחדש את פרטי הכניסה של הספק ואת נגישות ה-SIP.
עבור חיבור **SIP ידני**, המערכת מנסה תחילה שיחת בדיקה עצמית בלולאה:
ThunderPhone מבצעת שיחת בדיקה קצרה *מהמספר*, *דרך* קו ה-SIP
שלכם, *בחזרה לאותו מספר*. אם פעולה זו אינה מאמתת את הנתיב הנכנס, המערכת
עוברת לשיחת בדיקה קצרה *מהמספר*, *דרך* קו ה-SIP שלכם,
*אל* מספר של ThunderPhone. בדיקות אלה בודקות את שם המשתמש של הקו,
הסיסמה, התעבורה, הניתוב היוצא ומסירת השיחות הנכנסות. המפעיל שלכם
מחייב אתכם עבור שיחות אלה כמו עבור כל שיחה אחרת.

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

במקרה של הצלחה, `voip_verification_status` משתנה ל-`verified` והמספר עובר למצב `status="active"`. מספר בחשבון Telnyx שלכם ממשיך לקבל שיחות נכנסות גם אם שיחת הבדיקה שלו נכשלת או שהגדרת השיחות היוצאות עדיין לא הושלמה: הוא עובר למצב `status="active"` כאשר `voip_verification_status` מוגדר ל-`unverified`, והתגובה מסבירה מדוע. במקרה של כישלון, התגובה מפרטת
מה נכשל — עבור trunk ידני, זו תשובת ה-SIP של הספק, למשל *"נדחו פרטי הכניסה של ThunderPhone ‏(SIP 401)"* או *"לא ניתן היה לנתב שיחה ‏(SIP 404)"* — תקנו זאת (פרטי כניסה, כתובות IP מקור מורשות, שיוך trunk חסר בלוח הבקרה של הספק) והתקשרו שוב.

עבור חיבור SIP ידני ברשימת היתרים, בדיקת השיחה הנכנסת נכשלת גם אם
כתובות ה-IP המותרות הללו היו חוסמות שיחה נכנסת אמיתית.

## 5. הקצו סוכנים וקבלו שיחה

לאחר שהמספר אומת, הקצו סוכנים נכנסים / יוצאים באותו אופן כמו עבור מספר ThunderPhone. ראו
[טיפול בשיחות נכנסות](/he/guides/handle-inbound-calls) ו-
[ביצוע שיחות יוצאות](/he/guides/place-outbound-calls).

## החלפת אישורים

כאשר מפתח ספק מוחלף, הפעילו מחדש את תהליך הבדיקה ולאחריה העדכון:

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

החיבור נשאר במקומו — אין צורך לייבא מחדש מספרים.

---

## השלבים הבאים

<CardGroup cols={2}>
  <Card title="הפניה לחיבורי VoIP" icon="phone-volume" href="/api-reference/voip-connections">
    כל שדה בתגובות של החיבור, הראיות והייבוא.
  </Card>
  <Card title="הפניה למספרי טלפון" icon="phone" href="/api-reference/phone-numbers">
    הקצו סוכנים, העבירו בין ארגונים ושחררו מספרים.
  </Card>
  <Card title="ביצוע שיחות יוצאות" icon="arrow-up-right" href="/he/guides/place-outbound-calls">
    כעת, כשהמספר בבעלותכם, התחילו לבצע שיחות יוצאות.
  </Card>
</CardGroup>
