تخطَّ إلى المحتوى
التكامل مع Twilio

اربط SIP trunk من Twilio بـ Wixzel Voice

لتشغيل وكيل صوتي بالذكاء الاصطناعي على رقم من Twilio، اربط Elastic SIP Trunking من Twilio بـ Wixzel Voice: أضِف platform_ip الذي يُرجعه الـ trunk إلى IP Access Control List لكي تُقبل المكالمات الصادرة، واضبط Origination SIP URI على origination_uri الخاص به لكي تصل المكالمات الواردة. يواصل Twilio محاسبتك على الخط بأسعارك؛ ويحاسبك Wixzel Voice على محرك الصوت بالثانية من رصيد مسبق الدفع.

آخر تحديث

نُشر في

Twilio هو مزوّد الاتصالات؛ وWixzel Voice هو API الذكاء الاصطناعي الصوتي الذي يشغّل الوكيل فوقه. ويعملان معًا عبر SIP القياسي. Twilio علامة تجارية مملوكة لصاحبها، وWixzel Voice غير تابع لـ Twilio ولا يحظى بتأييده.

Twilio
Wixzel Voice
وكيلك

ما الذي تحتاجه قبل أن تبدأ؟

  • حساب لدى Twilio مع Elastic SIP Trunking، ومضيف الـ trunk وبيانات اعتماده.
  • رقم هاتف تملكه لدى Twilio، مربوط بذلك الـ trunk. لا يبيع Wixzel Voice الأرقام ولا ينقلها. إذا ربطت حسابك في Twilio من لوحة التحكم، يمكنك أيضًا شراء رقم على ذلك الحساب من صفحة أرقام الهاتف. ويحاسبك عليه Twilio بسعره.
  • مفتاح API من Wixzel Voice وبعض الرصيد المسبق الدفع. الحد الأدنى للشحن $5؛ ولا توجد خطة مجانية.
  • يشغّل Wixzel Voice افتراضيًا 5 مكالمات متزامنة لكل حساب، ويُرفع الحد عند الطلب؛ وتُحتسب جلسات الويب والتطبيقات ضمن الحد نفسه.

كيف تُنشئ trunk الخاص بـ Twilio في Wixzel Voice؟

عنوان Termination SIP URI الذي يعرضه Twilio على الـ trunk، وهو نفسه your-domain.pstn.twilio.com الظاهر في لوحة التحكم.

cURL
curl https://api.voice.wixzel.com/v1/sip-trunks \
  -H "Authorization: Bearer $WIXZEL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Twilio",
    "host": "your-domain.pstn.twilio.com",
    "transport": "udp"
  }'

أضِف username وpassword إلى جسم الطلب إذا كان Twilio يصادق ببيانات الاعتماد بدلًا من عنوان IP. تُخزَّن كلمة المرور مشفّرة، ولا يُرجعها API مرة أخرى أبدًا. وتحمل الاستجابة platform_ip وorigination_uri: القيمتين اللتين تحتاجهما الخطوة التالية.

ما الذي تضبطه لدى Twilio؟

الإعداداسمه لدى Twilioالقيمة
السماح بالمكالمات من Wixzel VoiceIP Access Control List187.126.120.231
توجيه المكالمات الواردة إلى Wixzel VoiceOrigination SIP URIsip:187.126.120.231:5090

القيمتان صالحتان اليوم: اقرأ platform_ip وorigination_uri من GET /v1/sip-trunks بدلًا من نسخهما من صفحة. ثم سجّل كل رقم على الـ trunk باستخدام POST /v1/phone-numbers وأعطه inbound_agent_id، ليرد عليه وكيل. تجد هذه الطلبات في الشرح التفصيلي لـ API المكالمات الهاتفية بالذكاء الاصطناعي، وتمر خطوات الإعداد الكاملة لـ Twilio على لوحة التحكم حقلًا حقلًا.

ما الذي يتعطل على Twilio؟

  • يصرّح Twilio بالمكالمات الصادرة بحسب عنوان IP المصدر ويرفض أي شيء آخر فورًا. غياب العنوان من IP ACL يظهر كرفض فوري، بعد نحو ثانية من إجراء المكالمة، مع failure_code بقيمة 21 (رُفضت المكالمة). لا يرن الهاتف ولا تنتهي المهلة.
  • تعمل المكالمات الصادرة دون Origination URI؛ أما الواردة فلا تعمل، ولا يظهر أي خطأ. الرقم مربوط، والوكيل معيّن، لكن المكالمة لا تصل إلى الوكيل أبدًا.
  • يتوقع Twilio وجود + في بداية الرقم المطلوب، لذلك اترك send_plus على قيمته الافتراضية true.

لماذا لم تتصل مكالمة عبر Twilio؟

رمز الفشل الأكثر ظهورًا على Twilio:

failure_codeما قاله مزوّد الاتصالاتالمعنىما يجب فعله
21403 / 407رفض مزوّد الاتصالات المكالمة مباشرة، قبل أن يحاول الاتصال بالرقم.بحسب الاحتمال: حساب المزوّد موقوف أو مغلق أو رصيده منتهٍ؛ أو اسم مستخدم الـ trunk أو كلمة مروره خاطئة؛ أو platform_ip غير مضاف إلى قائمة السماح؛ أو معرّف المتصل غير مصرّح به في الحساب. تحقّق من لوحة تحكم المزوّد أولًا.

المكالمة التي رفضها Twilio تحمل status: "failed"، وfailure_code (سبب Q.850 من مزوّد الاتصالات)، وfailure_reason يوضح ما يجب فعله، ولا تكلّف شيئًا. تجد كل رموز الفشل وكل حالات الرفض وطريقة تصحيح أخطاء الـ trunk في صفحة مزوّدي الاتصالات.

كم تكلّف مكالمة بالذكاء الاصطناعي عبر Twilio؟

يحاسبك Twilio على الخط بأسعارك؛ ولا يحاسبك Wixzel Voice إلا على محرك الصوت، بالثانية حسب الاستخدام الفعلي، من $0.0491 لكل دقيقة متصلة على gemini-live إلى $0.1851 على deepgram-agent. سعر كل محرك.

الأسئلة الشائعة

لماذا تُرفض مكالمتي على Twilio خلال ثانية؟

المكالمة التي تفشل خلال نحو ثانية مع failure_code بقيمة 21 ودون رنين رفضها Twilio قبل توجيهها. على Twilio يكون السبب في الغالب Termination IP Access Control List: أضِف إليها 187.126.120.231 (قيمة platform_ip التي يُرجعها الـ trunk الخاص بك). أما المكالمة التي تُقبل ثم تفشل بعد عدة ثوانٍ فمشكلتها مختلفة: التوجيه، أو صيغة الرقم، أو صلاحيات الحساب.

هل يمكنني استخدام Credential List من Twilio بدلًا من IP ACL؟

نعم. ضع اسم المستخدم وكلمة المرور من Credential List في الحقلين username وpassword في trunk الخاص بك على Wixzel Voice، وسيُستخدمان بدلًا من المصادقة بعنوان IP. تُخزَّن كلمة المرور مشفّرة، ولا يُرجعها API مرة أخرى أبدًا.

مزوّدو اتصالات آخرون

Telnyx

SIP Connection بمصادقة IP. أضِف عنوان IP المنصة كعنوان مصرّح به، واختر منطقة للمكالمات الواردة، وطابِق بروتوكول النقل.

Plivo

Zentrunk. trunk صادر يتضمن عنوان IP المنصة في IP ACL الخاصة به، وtrunk وارد منفصل يشير Primary URI فيه إلى المنصة.

Vonage

Programmable SIP. أضِف عنوان IP المنصة إلى ACL الخاصة بالـ trunk في SIP Dashboard، وأرسل المكالمات الواردة إلى origination URI.

Bandwidth

لا يوجد SIP REGISTER، لذلك يلزم عنوان IP ثابت. أضِف عنوان IP المنصة إلى الموقع (location)، واضبط Termination وOrigination كلًّا على حدة، أو استخدم بيانات اعتماد network bridge.

Exotel

Virtual SIP Trunking (vSIP)، لأرقام الهند، عبر TCP. عنوان IP المنصة مربوط بالـ trunk كـ ACL، وDestination URI موجّه إلى منفذ TCP الخاص بالمنصة للمكالمات الواردة.

Vobiz

نطاق SIP لكل trunk كمضيف، وعنوان IP المنصة في IP ACL الخاصة بالـ trunk، وعبارة «origination URI» تعني عكس ما تعنيه في Twilio.

Mobily

Saudi Arabia, ordered through Mobily Business sales and delivered over a private link. No one-step connect: your own SBC on the link relays calls, with G.711 A-law and a one-hour call cap.

أي مزوّد SIP

النمط واحد في كل مكان: أضِف عنوان IP المنصة إلى قائمة السماح، واضبط وجهة المكالمات الواردة على origination URI، وطابِق صيغة الرقم وبروتوكول النقل.

أحضر SIP trunk الخاص بك

كيف يعمل نصفا الـ trunk، وكل رموز الفشل، وكل أدلة مزوّدي الاتصالات في صفحة واحدة.