---
title: "તમારા પોતાના નંબર લાવો (VoIP, API)"
description: "Twilio અથવા Telnyx — અથવા કોઈપણ SIP trunk — કનેક્ટ કરો, તમારા પહેલાથી માલિકીના ફોન નંબરો આયાત કરો અને ThunderPhone એજન્ટોને તે નંબરો પર કૉલનો જવાબ આપવા અને કૉલ કરવા દો."
---

ThunderPhone નંબરો ઇનબાઉન્ડ કૉલ આવરી લે છે, પરંતુ આઉટબાઉન્ડ કૉલ અને
કેમ્પેઇન માટે તમારા પોતાના VoIP પ્રોવાઇડર મારફતે તમારા માલિકીના નંબરો જરૂરી છે. આ માર્ગદર્શિકા
તમને ત્રણ-પગલાંની પ્રક્રિયામાંથી પસાર કરે છે: **ક્રેડેન્શિયલ્સ ચકાસો → કનેક્શન
બનાવો → નંબરો ઇમ્પોર્ટ કરો → વેરિફાય કરો**.

<Note>
  ડૅશબોર્ડમાં આ સમગ્ર પ્રક્રિયાનું માર્ગદર્શિત વર્ઝન
  **કનેક્શન્સ → VoIP** (`/dashboard/voip-connections`) હેઠળ ઉપલબ્ધ છે: એક Telnyx
  માર્ગદર્શિત સેટઅપ જે એકાઉન્ટ બનાવવાની પ્રક્રિયા અને API કી દ્વારા માર્ગદર્શન આપે છે, એક
  હાલના એકાઉન્ટને કનેક્ટ કરવાનો વિકલ્પ, અને AI
  સેટઅપ-ગાઇડ જનરેટર સાથેનું મેન્યુઅલ SIP ફૉર્મ.
</Note>

## સપોર્ટેડ પ્રોવાઇડર્સ

| પ્રોવાઇડર | `provider` id | નોંધો |
|----------|---------------|-------|
| Twilio | `twilio` | એકાઉન્ટ SID + Auth Token; દરેક Twilio એકાઉન્ટ અથવા સબએકાઉન્ટ માટે એક કનેક્શન ([Twilio સબએકાઉન્ટ્સ](#twilio-subaccounts) જુઓ) |
| Telnyx | `telnyx` | API કી; માર્ગદર્શિત ઑનબોર્ડિંગ ઉપલબ્ધ (`setup_method: guided_telnyx`) |
| SignalWire | `signalwire` | **ટૂંક સમયમાં ઉપલબ્ધ** — આજે મેન્યુઅલ SIP મારફતે કનેક્ટ કરો |
| Vonage | `vonage` | **ટૂંક સમયમાં ઉપલબ્ધ** — આજે મેન્યુઅલ SIP મારફતે કનેક્ટ કરો |
| મેન્યુઅલ SIP | `manual` | કોઈપણ SIP ટ્રંક — તમારી પોતાની કૉન્ફિગ લાવો |

## 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`
દર્શાવશે કે કયું પગલું નિષ્ફળ ગયું. પ્રોવાઇડર-સાઇડ કૉન્ફિગ (ટ્રંક
અસાઇનમેન્ટ, 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..."
  }'
```

પ્રતિસાદ `status="connected"` સાથેનો [VoipConnection ઑબ્જેક્ટ](/api-reference/voip-connections#connection-object) છે. ક્રેડેન્શિયલ્સ સર્વર-સાઇડ પર સંગ્રહિત થાય છે અને પછીની GET વિનંતિઓ દ્વારા ક્યારેય સાદા ટેક્સ્ટમાં પરત અપાતા નથી — રોટેટ કરવા માટે, નવું `test` ચલાવો અને નવા પુરાવા સાથે PATCH કરો.

### Twilio સબએકાઉન્ટ્સ

Twilio કનેક્શન તે એક જ Twilio એકાઉન્ટ સાથે જોડાયેલું હોય છે, જેનું Account SID અને Auth Token તેમાં હોય છે. Twilio દરેક સબએકાઉન્ટમાં ફોન નંબરો અને SIP ટ્રંક્સ રાખે છે, તેથી પેરન્ટ એકાઉન્ટથી બનાવાયેલ કનેક્શન ફક્ત પેરન્ટના પોતાના નંબરો જ જોઈ શકે છે અને હાલના કનેક્શનને પછીથી બીજા સબએકાઉન્ટ પર સ્વિચ કરી શકાતું નથી (અપડેટ નકારવામાં આવે છે કારણ કે કનેક્શનનો 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 દ્વારા પરત અપાતા નથી. પછી દરેક નવું કનેક્શન તમે હાથથી બનાવેલા કનેક્શનની જેમ જ નંબરો આયાત કરે છે અને ચકાસે છે.

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

દરેક આયાત તમારા ઑર્ગમાં `source="voip"` અને `status="provisioning"` સાથેનો [ફોન નંબર રિસોર્સ](/api-reference/phone-numbers) બને છે.

## 4. દરેક આયાત કરેલા નંબરની ચકાસણી કરો

આયાત કરવાથી નંબર *ઉપલબ્ધ* તરીકે નોંધાય છે; તેના દ્વારા કૉલને વાસ્તવમાં રૂટ કરવા માટે ચકાસણી જરૂરી છે. પ્રોવાઇડર કનેક્શન્સ (Twilio,
Telnyx) માટે તે પ્રોવાઇડર ઓળખપત્રો અને SIP પહોંચની ફરી ચકાસણી કરે છે.
**મેન્યુઅલ 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"` માં પ્રવેશે છે. નિષ્ફળતા પર, પ્રતિસાદમાં શું નિષ્ફળ
થયું તે સ્પષ્ટ જણાવવામાં આવે છે — મેન્યુઅલ ટ્રંક માટે તે કેરિયરનો SIP જવાબ હોય
છે, ઉદાહરણ તરીકે *"ThunderPhoneના ઓળખપત્રો નકારવામાં આવ્યા (SIP 401)"* અથવા *"કૉલ રૂટ કરી શકાયો નહીં (SIP 404)"* — તેને ઠીક કરો (ઓળખપત્રો, માન્ય સ્રોત
IP, પ્રોવાઇડર ડેશબોર્ડમાં ગુમ થયેલ ટ્રંક અસાઇનમેન્ટ) અને ફરી કૉલ કરો.

## 5. એજન્ટ્સ અસાઇન કરો અને કૉલ લો

નંબર ચકાસાઈ ગયા પછી, તમે ThunderPhone નંબરની જેમ જ ઇનબાઉન્ડ / આઉટબાઉન્ડ
એજન્ટ્સ અસાઇન કરો છો. જુઓ
[ઇનબાઉન્ડ કૉલ હેન્ડલ કરો](/gu/guides/handle-inbound-calls) અને
[આઉટબાઉન્ડ કૉલ કરો](/gu/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="/gu/guides/place-outbound-calls">
    હવે જ્યારે નંબર તમારો છે, ત્યારે આઉટબાઉન્ડ કૉલ કરવાનું શરૂ કરો.
  </Card>
</CardGroup>
