Sinch SIP ट्रंकिंग

Sinch Elastic SIP Trunking को ElevenLabs Agents से कनेक्ट करें।

इस गाइड को अपनाने से पहले, ElevenLabs SIP ट्रंकिंग गाइड और Sinch Voice SIP ट्रंकिंग गाइड पढ़ने पर विचार करें।

परिचय

इस गाइड में बताया गया है कि Sinch Voice एप्लिकेशन को सीधे ElevenLabs Agents से कैसे कनेक्ट करें। इस इंटीग्रेशन से आप अपने Sinch नंबर और रूटिंग बनाए रख सकते हैं, जबकि ElevenLabs AI वॉइस एजेंट का अनुभव संभालता है।

Sinch के साथ SIP ट्रंकिंग कैसे काम करती है

Sinch SIP ट्रंक, Sinch नेटवर्क और ElevenLabs प्लेटफ़ॉर्म के बीच दो-तरफ़ा कनेक्शन है:

  1. इनबाउंड कॉल: आपके Sinch Voice एप्लिकेशन को असाइन किया गया DID एक कॉल प्राप्त करता है। Sinch, ट्रंक की इनबाउंड सेटिंग्स में स्टैटिक एंडपॉइंट के रूप में कॉन्फ़िगर किए गए ElevenLabs ऑरिजिनेशन पते पर INVITE भेजता है।
  2. आउटबाउंड कॉल: ElevenLabs द्वारा शुरू की गई कॉल आपके एप्लिकेशन के fully qualified domain name (FQDN) SIP पते पर भेजी जाती हैं, जिसे Sinch PSTN तक रूट करता है।
  3. प्रमाणीकरण: Sinch के लिए आउटबाउंड प्रमाणीकरण (SIP क्रेडेंशियल्स) ज़रूरी है और ट्रंक पर आने वाले ट्रैफ़िक के लिए ACL प्रमाणीकरण (IP allowlisting) समर्थित है।

ज़रूरी शर्तें

शुरू करने से पहले, पक्का करें कि आपके पास ये हैं:

  1. एजेंट कॉन्फ़िगर किया हुआ सक्रिय ElevenLabs अकाउंट
  2. Sinch Build डैशबोर्ड में बनाया गया वॉइस एप्लिकेशन वाला Sinch अकाउंट
  3. Sinch में खरीदा गया और एप्लिकेशन को असाइन किया गया कम-से-कम एक फ़ोन नंबर (DID)

इनबाउंड कॉल कॉन्फ़िगर करना (Sinch से ElevenLabs)

अपने एप्लिकेशन का कॉल फ़ॉरवर्डिंग ElevenLabs SIP पते पर पॉइंट करें।

1

Sinch Build डैशबोर्ड में साइन इन करें

अपने Sinch अकाउंट में लॉग इन करें और उस एप्लिकेशन पर जाएं जिसे आप कनेक्ट करना चाहते हैं।

2

ElevenLabs के लिए स्टैटिक एंडपॉइंट जोड़ें

एप्लिकेशन की कॉल फ़ॉरवर्डिंग सेटिंग्स में, call events handler को SIP Forwarding पर अपडेट करें और ElevenLabs ऑरिजिनेशन पते को लक्षित करने वाला एक स्टैटिक SIP URI जोड़ें:

  • DID: वह Sinch फ़ोन नंबर जिस पर आप कॉल करना चाहते हैं
  • पता: sip.rtc.elevenlabs.io
  • पोर्ट और ट्रांसपोर्ट: 5061/TLS, 5060/TCP

उदाहरण के लिए: sip:15551234567@sip.rtc.elevenlabs.io:5061;transport=tls।

अगर आपका ElevenLabs वर्कस्पेस अलग डेटा रेज़िडेंसी क्षेत्र या स्टैटिक IP SIP इन्फ़्रास्ट्रक्चर का इस्तेमाल करता है, तो sip.rtc.elevenlabs.io के बजाय संबंधित एंडपॉइंट इस्तेमाल करें। उपलब्ध क्षेत्रों के लिए डेटा रेज़िडेंसी देखें।

3

अपने DID को एप्लिकेशन को असाइन करें

उस फ़ोन नंबर को इस एप्लिकेशन को असाइन करें, जिस पर कॉल आपके एजेंट तक पहुंचनी चाहिए।

आउटबाउंड कॉल कॉन्फ़िगर करना (ElevenLabs से Sinch)

आउटबाउंड कॉल के लिए, ElevenLabs आपके Sinch एप्लिकेशन को SIP INVITE भेजता है और उसके विरुद्ध प्रमाणीकरण करता है।

1

अपने Sinch क्षेत्र का FQDN नोट करें

अपने Sinch क्षेत्र का SIP FDQN प्राप्त करें। यही टर्मिनेशन पता आप ElevenLabs में दर्ज करते हैं। केवल hostname दर्ज करें, sip: प्रीफ़िक्स नहीं।

2

SIP क्रेडेंशियल्स दर्ज करें

अपने Sinch एप्लिकेशन की key और secret को सुरक्षित रूप से कॉपी करें। इन्हें ElevenLabs में आपके यूज़रनेम और पासवर्ड के रूप में इस्तेमाल किया जाएगा।

3

फ़ॉरवर्डिंग नंबर

आपका Sinch एप्लिकेशन कॉल को उसके फ़ॉरवर्डिंग पते पर फ़ॉरवर्ड करेगा। आउटबाउंड कॉल अनुरोध में दिए नंबर पर आउटबाउंड कॉल करने के लिए, अपनी एप्लिकेशन सेटिंग्स में यह फ़ील्ड खाली छोड़ दें।

ElevenLabs में सेटअप पूरा करें

1

SIP ट्रंक फ़ोन नंबर इंपोर्ट करें

इन सेटिंग्स के साथ अपना Sinch नंबर इंपोर्ट करने के लिए SIP ट्रंकिंग गाइड अपनाएं:

सेटिंगवैल्यू
फ़ोन नंबरआपका Sinch DID, उदाहरण के लिए 15551234567
ट्रांसपोर्ट टाइपTLS
मीडिया एन्क्रिप्शनTCP के लिए Disabled; जब ट्रंक TLS और SRTP के लिए सेट हो, तो Allowed या Required
पताआपका Sinch ट्रंक FQDN, केवल hostname
SIP ट्रंक यूज़रनेमSinch एप्लिकेशन key
SIP ट्रंक पासवर्डSinch एप्लिकेशन secret

ट्रांसपोर्ट और एन्क्रिप्शन सेटिंग्स दोनों ओर एक जैसी रखें।

2

एजेंट असाइन करें

फ़ोन नंबर्स डैशबोर्ड में नंबर को एक एजेंट असाइन करें। DID पर आने वाली कॉल अब उस एजेंट तक पहुंचेंगी।

3

आउटबाउंड कॉल टेस्ट करें

फ़ोन नंबर मेन्यू या आउटबाउंड-कॉल api के ज़रिए अपने Sinch एप्लिकेशन से एजेंट द्वारा कॉल करें:

curl -X POST https://api.elevenlabs.io/v1/convai/sip-trunk/outbound-call \
-H "xi-api-key: $ELEVENLABS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"agent_id": "agent_7101k5zvyjhmfg983brhmhkd98n6",
"agent_phone_number_id": "phnum_8901k4t9z5defmb8vh3e9361y7nj",
"to_number": "+15551234567"
}'

पूरा रिक्वेस्ट स्कीमा देखने के लिए SIP ट्रंक के ज़रिए आउटबाउंड कॉल देखें और आउटबाउंड कैंपेन चलाने के लिए बैच कॉल्स देखें।

ट्रांसफ़र कॉन्फ़िगर करना

एजेंट transfer_to_number सिस्टम टूल का इस्तेमाल करके कॉल किसी व्यक्ति को सौंपते हैं।

Sinch ट्रंक पर केवल कॉन्फ़्रेंस ट्रांसफ़र काम करते हैं। SIP REFER और ब्लाइंड ट्रांसफ़र विफल हो जाते हैं।

कॉन्फ़्रेंस ट्रांसफ़र

ElevenLabs आपके Sinch ट्रंक के ज़रिए गंतव्य को कॉल करता है, दोनों पक्षों को कॉन्फ़्रेंस में जोड़ता है, फिर एजेंट को हटा देता है।

इसके बजाय Sinch Voice API v2 इस्तेमाल करना

ऊपर दिया सेटअप ElevenLabs को पूरा वॉइस पाथ देता है। अगर आपको कॉल कंट्रोल Sinch के पास रखना है, तो Sinch Voice API v2 कॉल का जवाब दे सकता है, अपना लॉजिक लागू कर सकता है, और बिना रिले सर्वर के SVAML का उपयोग करके आपके ElevenLabs एजेंट को दूसरी लेग से ब्रिज कर सकता है। यह मॉडल तब बेहतर है, जब आप एजेंट के जुड़ने से पहले answering machine detection, call recording या number masking जैसे Sinch फ़ीचर्स जोड़ना चाहते हैं, या जब एजेंट किसी बड़े Sinch कॉल फ़्लो का एक चरण हो।

अन्य सामान्य स्थितियों के लिए Sinch का SIP के ज़रिए ElevenLabs AI एजेंट इंटीग्रेट करें ट्यूटोरियल देखें।

समस्या निवारण

  • पुष्टि करें कि ट्रंक का स्टैटिक इनबाउंड एंडपॉइंट उस पोर्ट और ट्रांसपोर्ट पर sip.rtc.elevenlabs.io को लक्षित करता है, जिसका आप इस्तेमाल करना चाहते हैं।
  • पुष्टि करें कि DID उस ट्रंक को असाइन किया गया है।
  • जांचें कि ElevenLabs में नंबर, Sinch द्वारा भेजे गए नंबर से मेल खाता हो, जिसमें शुरुआती + भी शामिल है।
  • एंडपॉइंट या ACL बदलने के बाद कम-से-कम 60 सेकंड इंतज़ार करें, फिर दोबारा टेस्ट करें।
  • पुष्टि करें कि आपका फ़ायरवॉल TCP के लिए 5060 या TLS के लिए 5061 पर SIP सिग्नलिंग की अनुमति देता है और RTP को ब्लॉक नहीं करता।
  • पुष्टि करें कि ElevenLabs में SIP ट्रंक यूज़रनेम और पासवर्ड, Sinch ट्रंक के क्रेडेंशियल्स से मेल खाते हैं।
  • जांचें कि पता फ़ील्ड में केवल ट्रंक FQDN हो, sip: प्रीफ़िक्स न हो।
  • पुष्टि करें कि गंतव्य देश के लिए ट्रंक पर देश अनुमतियां चालू हैं।
  • पुष्टि करें कि जो caller ID आप भेज रहे हैं, वह ऐसा नंबर है जिसे Sinch उस ट्रंक पर स्वीकार करता है।
  • अगर आप ACL प्रमाणीकरण पर निर्भर हैं, तो याद रखें कि ElevenLabs सिग्नलिंग पतों के वितरित पूल से आती है। digest प्रमाणीकरण पर स्विच करें या स्टैटिक IP इन्फ़्रास्ट्रक्चर पर जाएं।
  • पुष्टि करें कि आपका फ़ायरवॉल दोनों दिशाओं में UDP पर RTP की अनुमति देता है और विशिष्ट स्टैटिक पतों तक सीमित नहीं है।
  • जांचें कि मीडिया एन्क्रिप्शन मेल खाता है: TLS Sinch ट्रंक को SRTP चाहिए, इसलिए ElevenLabs में मीडिया एन्क्रिप्शन को Allowed या Required पर सेट करें।
  • समस्या TLS या SRTP से जुड़ी है या नहीं, यह अलग से जांचने के लिए TCP और बंद मीडिया एन्क्रिप्शन के साथ टेस्ट करें।
  • पुष्टि करें कि ट्रंक पर G711 ऑफ़र किया गया है। ElevenLabs G711 और G722 को सपोर्ट करता है।

BYE के लिए 481 रिस्पॉन्स का आमतौर पर मतलब है कि रिक्वेस्ट उस SIP सर्वर तक पहुंची, जिसके पास उस कॉल की dialog state नहीं है। साझा sip.rtc.elevenlabs.io पते के बजाय 200 OK में लौटाए गए Contact URI पर in-dialog रिक्वेस्ट भेजें। अगर TLS पर BYE या REFER का certificate validation विफल होता है, तो जिस FQDN के लिए आपके ट्रंक का certificate जारी किया गया है उसे फ़ोन नंबर सेटिंग्स के रिमोट डोमेन्स फ़ील्ड में जोड़ें।

अक्सर पूछे जाने वाले सवाल

प्रोडक्शन के लिए 5061 पर TLS इस्तेमाल करें, जिसे Sinch ट्रंक पर SRTP मीडिया के साथ जोड़ा गया हो। वैलिडेशन के लिए 5060 पर TCP एक अच्छा शुरुआती विकल्प है। ElevenLabs पर UDP एक्सपेरिमेंटल है और इसे प्रोडक्शन ट्रैफ़िक के लिए इस्तेमाल नहीं करना चाहिए।

ElevenLabs G711 (8 kHz) और G722 (16 kHz) को सपोर्ट करता है। सामान्य आधार के रूप में Sinch ट्रंक पर G711 ऑफ़र करते रहें।

इनबाउंड INVITE पर कस्टम X- हेडर dynamic variables के रूप में उपलब्ध होते हैं। उदाहरण के लिए, X-Contact-ID, {{sip_contact_id}} बन जाता है। X-Call-ID और X-Caller-ID, system__call_sid और system__caller_id से मैप होते हैं। सामान्यीकरण के पूरे नियमों के लिए SIP ट्रंकिंग देखें।

उपयोगी लिंक