Open in
మీ స్వంత నంబర్లను తీసుకురండి (VoIP, API)
Twilio లేదా Telnyx, లేదా SignalWire, Vonage, Plivo మరియు ఇతర ఏ SIP ట్రంక్నైనా SIP ద్వారా కనెక్ట్ చేయండి, మీరు ఇప్పటికే కలిగి ఉన్న ఫోన్ నంబర్లను దిగుమతి చేసుకోండి, వాటిపై ThunderPhone ఏజెంట్లు కాల్లకు సమాధానం ఇవ్వడానికి మరియు కాల్లు చేయడానికి అనుమతించండి.
ఆమోదించబడిన ThunderPhone నంబర్లతో అవుట్బౌండ్ కాల్లు చేయవచ్చు మరియు క్యాంపెయిన్లను నిర్వహించవచ్చు. మీ స్వంత VoIP ప్రొవైడర్ ద్వారా మీకు చెందిన నంబర్లను ఉపయోగించాలనుకుంటే, ఈ గైడ్ కనెక్షన్ ఫ్లోలో మీకు మార్గనిర్దేశం చేస్తుంది: క్రెడెన్షియల్స్ పరీక్షించండి → కనెక్షన్ సృష్టించండి → నంబర్లను దిగుమతి చేయండి → ధృవీకరించండి.
మద్దతు ఉన్న ప్రొవైడర్లు
| ప్రొవైడర్ | provider id | గమనికలు |
|---|---|---|
| Twilio | twilio | ఖాతా SID + Auth Token; ప్రతి Twilio ఖాతా లేదా ఉపఖాతాకు ఒక కనెక్షన్ (Twilio ఉపఖాతాలు చూడండి) |
| Telnyx | telnyx | API కీ; గైడెడ్ ఆన్బోర్డింగ్ అందుబాటులో ఉంది (setup_method: guided_telnyx) |
| SignalWire | signalwire | స్థానిక ప్రొవైడర్ కనెక్షన్ లేదు; SignalWire SIP ప్రీసెట్తో దీన్ని manualగా కనెక్ట్ చేయండి |
| Vonage | vonage | స్థానిక ప్రొవైడర్ కనెక్షన్ లేదు; Vonage SIP ప్రీసెట్తో దీన్ని manualగా కనెక్ట్ చేయండి |
| మాన్యువల్ SIP | manual | SignalWire, Vonage, Plivo సహా ఏదైనా SIP ట్రంక్. మీరు డ్యాష్బోర్డ్లోని ఆ ప్రొవైడర్ టైల్స్లో ఒకదాని నుంచి ప్రారంభిస్తే, కనెక్షన్ ఇప్పటికీ manualగానే ఉంటుంది మరియు ఎంపికను sip_config.presetలో (signalwire, vonage లేదా plivo) నిల్వ చేస్తుంది |
1. క్రెడెన్షియల్స్ను పరీక్షించండి
నిల్వ చేయబడే VoIP కనెక్షన్ను సృష్టించే ముందు, అవి పనిచేస్తున్నాయని నిర్ధారించడానికి ప్రొవైడర్
క్రెడెన్షియల్స్ను పరీక్షించండి. ఇది ఒక
verification_evidence_idను అందిస్తుంది; దాన్ని మీరు సృష్టించే దశకు పంపాలి, తద్వారా
పరీక్ష కోసం క్రెడెన్షియల్స్కు రెండుసార్లు ఛార్జ్ చేయబడదు.
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" }
}'{
"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ను పంపండి:
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 ఆబ్జెక్ట్.
క్రెడెన్షియల్లు సర్వర్ వైపున నిల్వ చేయబడతాయి మరియు తదుపరి GETల ద్వారా ఎప్పుడూ
ప్లెయిన్ టెక్స్ట్లో తిరిగి ఇవ్వబడవు — మార్చడానికి, కొత్తగా test అమలు చేసి,
కొత్త ఎవిడెన్స్తో PATCH చేయండి.
Twilio సబ్అకౌంట్లు
Twilio కనెక్షన్లో ఉన్న Account SID మరియు Auth Tokenకు చెందిన ఒకే Twilio ఖాతాతో అది అనుసంధానించబడి ఉంటుంది. Twilio ప్రతి ఉపఖాతాలో ఫోన్ నంబర్లు మరియు SIP ట్రంక్లను ఉంచుతుంది కాబట్టి, పేరెంట్ ఖాతాతో చేసిన కనెక్షన్కు పేరెంట్కు చెందిన నంబర్లు మాత్రమే కనిపిస్తాయి; ఇప్పటికే ఉన్న కనెక్షన్ను తర్వాత వేరే ఉపఖాతాకు మార్చలేరు.
సబ్అకౌంట్లలో ఉన్న నంబర్లను చేరుకోవడానికి, ప్రతి సబ్అకౌంట్కు ఒక కనెక్షన్ను సృష్టించండి. డ్యాష్బోర్డ్ మీ కోసం దీన్ని చేస్తుంది: యాక్టివ్ సబ్అకౌంట్లు ఉన్న పేరెంట్ అకౌంట్ను మీరు కనెక్ట్ చేసినప్పుడు, సెటప్ డైలాగ్ వాటిని జాబితా చేస్తుంది, మీకు కావాల్సిన వాటిని మీరు టిక్ చేస్తారు, మరియు ThunderPhone ప్రతి దానిలో ఒక కనెక్షన్ను (మరియు ఒక SIP ట్రంక్ను) సృష్టిస్తుంది. ఇదే ఫ్లో API ద్వారా కూడా అందుబాటులో ఉంది:
# 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": "..."}}'{
"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 }
]
}# 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 ద్వారా ఎప్పుడూ తిరిగి ఇవ్వబడవు. తర్వాత ప్రతి కొత్త కనెక్షన్, మీరు మాన్యువల్గా సృష్టించిన కనెక్షన్లాగే నంబర్లను దిగుమతి చేసి ధృవీకరిస్తుంది. ప్రతి కొత్త కనెక్షన్ యొక్క SIP ట్రంక్కు కాల్ బదిలీలను కూడా ప్రారంభించడానికి "enable_transfers": true జోడించండి; అక్కడ వైఫల్యం ఉంటే అది ఆ కనెక్షన్ యొక్క test_result.transfer_enable_errorలో నివేదించబడుతుంది మరియు వరుస విఫలమైనదిగా పరిగణించబడదు.
3. నంబర్లను జాబితా చేసి ఇంపోర్ట్ చేయండి
ఇప్పటికే ThunderPhone ఆర్గ్లో లేని, మీ క్రెడెన్షియల్లకు కనిపించే నంబర్లను పరిశీలించండి:
curl https://api.thunderphone.com/v1/voip-connections/5/available-numbers \
-H "Authorization: Bearer sk_live_YOUR_API_KEY"తర్వాత మీకు కావాల్సిన వాటిని ఇంపోర్ట్ చేయండి:
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"]}'ప్రతి దిగుమతి మీ orgలో number_type="voip" మరియు status="provisioning"తో ఒక ఫోన్ నంబర్ వనరుగా మారుతుంది.
4. దిగుమతి చేసిన ప్రతి నంబర్ను ధృవీకరించండి
దిగుమతి చేయడం నంబర్ను అందుబాటులో ఉన్నదిగా నమోదు చేస్తుంది; కానీ దాని ద్వారా కాల్లను వాస్తవంగా రూట్ చేయడానికి ధృవీకరణ అవసరం. ప్రొవైడర్ కనెక్షన్లకు (Twilio, Telnyx), ఇది ప్రొవైడర్ క్రెడెన్షియల్లు మరియు SIP చేరుకోగల సామర్థ్యాన్ని మళ్లీ తనిఖీ చేస్తుంది. మాన్యువల్ SIP కనెక్షన్ కోసం, ఇది ముందుగా లూప్బ్యాక్ స్వీయ-కాల్ను ప్రయత్నిస్తుంది: ThunderPhone నంబర్ నుండి, మీ SIP ట్రంక్ ద్వారా, అదే నంబర్కు తిరిగి ఒక చిన్న ప్రోబ్ కాల్ చేస్తుంది. అది ఇన్బౌండ్ మార్గాన్ని ధృవీకరించకపోతే, అది నంబర్ నుండి, మీ SIP ట్రంక్ ద్వారా, ఒక ThunderPhone నంబర్కు చిన్న ప్రోబ్ కాల్ చేయడానికి మారుతుంది. ఈ పరీక్షలు ట్రంక్ యూజర్నేమ్, పాస్వర్డ్, ట్రాన్స్పోర్ట్, అవుట్బౌండ్ రూటింగ్ మరియు ఇన్బౌండ్ డెలివరీని తనిఖీ చేస్తాయి. మీ క్యారియర్ ఈ కాల్లకు ఇతర కాల్ల మాదిరిగానే బిల్లు చేస్తుంది.
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 ఖాతాలోని నంబర్కు పరీక్ష కాల్ విఫలమైనా లేదా అవుట్బౌండ్ ఇంకా సెటప్ చేయకపోయినా ఇన్బౌండ్ కాల్లు వస్తూనే ఉంటాయి: అది voip_verification_status
ను unverifiedగా సెట్ చేసి status="active"గా మారుతుంది, మరియు ఎందుకో ప్రతిస్పందన తెలియజేస్తుంది. విఫలమైనప్పుడు, ప్రతిస్పందన
ఏది విఫలమైందో స్పష్టంగా వివరిస్తుంది — మాన్యువల్ ట్రంక్ కోసం అది క్యారియర్ SIP సమాధానం, ఉదాహరణకు "ThunderPhone యొక్క క్రెడెన్షియల్స్ను తిరస్కరించింది (SIP 401)" లేదా "కాల్ను రూట్ చేయలేకపోయింది (SIP 404)" — దాన్ని సరిచేయండి (క్రెడెన్షియల్స్, అనుమతించిన సోర్స్ IPలు, ప్రొవైడర్ డ్యాష్బోర్డ్లో లేని ట్రంక్ అసైన్మెంట్) మరియు మళ్లీ కాల్ చేయండి.
అనుమతిజాబితాలో ఉన్న మాన్యువల్ SIP కనెక్షన్కు, ఆమోదిత మూల IPలు నిజమైన ఇన్బౌండ్ కాల్ను అడ్డుకుంటే ఇన్కమింగ్-కాల్ పరీక్ష కూడా విఫలమవుతుంది.
5. ఏజెంట్లను అసైన్ చేసి కాల్ తీసుకోండి
నంబర్ ధృవీకరించబడిన తర్వాత, మీరు ఇన్బౌండ్ / అవుట్బౌండ్ ఏజెంట్లను ThunderPhone నంబర్కు చేసే విధంగానే అసైన్ చేస్తారు. చూడండి ఇన్బౌండ్ కాల్లను నిర్వహించండి మరియు అవుట్బౌండ్ కాల్లు చేయండి.
క్రెడెన్షియల్ల రొటేషన్
ప్రొవైడర్ కీ రొటేట్ అయినప్పుడు, పరీక్షించి-ఆపై-అప్డేట్ చేసే ఫ్లోను మళ్లీ అమలు చేయండి:
# 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"
}'కనెక్షన్ అలాగే ఉంటుంది — నంబర్లను మళ్లీ దిగుమతి చేయాల్సిన అవసరం లేదు.