أحضر SIP trunk الخاص بك: وكلاء ذكاء اصطناعي صوتيون على مزوّد الاتصالات الذي تستخدمه أصلًا
شغّل وكلاء الذكاء الاصطناعي الصوتيين على SIP trunk الذي تملكه أصلًا. تبقى أرقامك وأسعار مزوّد الاتصالات ملكك، دون أي هامش.
آخر تحديث
نُشر في . أسماء مزوّدي الاتصالات علامات تجارية مملوكة لأصحابها؛ ويتكامل Wixzel Voice معهم عبر SIP القياسي، وهو غير تابع لأي منهم ولا يحظى بتأييده.
أدلة مزوّدي الاتصالات
Twilio
Elastic SIP Trunking. أضِف عنوان IP المنصة إلى Termination IP ACL، واضبط Origination SIP URI للمكالمات الواردة.
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 الخاص بك؟
- تبقى أرقامك ملكك
- لا يبيع Wixzel Voice الأرقام ولا ينقلها أبدًا. والمغادرة تعني تغيير إعداد واحد لدى مزوّد الاتصالات.
- تبقى أسعارك كما هي
- يحاسبك مزوّد الاتصالات على الخط. ولا يحاسبك Wixzel Voice إلا على محرك الصوت، بالثانية.
- يبقى امتثالك في مكانه
- يبقى معرّف المتصل وKYC والتسجيلات لدى مزوّد الاتصالات الذي تثق به أصلًا.
- أي مزوّد SIP
- لثمانية من مزوّدي الاتصالات أدلة إعداد. ويعمل أي مزوّد لديه SIP trunk.
كيف يتصل SIP trunk الذي تُحضره؟
للـ trunk في Wixzel Voice نصفان، ويقع كل منهما في جزء مختلف من لوحة تحكم مزوّد الاتصالات. ويُرجَع العنوانان مع كل trunk، لذلك اقرأهما من API بدلًا من الاعتماد على أن تبقى صفحة ما محدّثة.
أضِف 187.126.120.231 إلى قائمة السماح بعناوين IP لدى مزوّد الاتصالات. يصرّح كل مزوّدي الاتصالات تقريبًا بالمكالمات الصادرة حسب عنوان IP المصدر، والـ trunk الصحيح من كل النواحي الأخرى يفشل رغم ذلك من دونه.
اضبط وجهة المكالمات الواردة لدى مزوّد الاتصالات على sip:187.126.120.231:5090. إذا فاتك ذلك فلن يرن الرقم أبدًا: لا يجد مزوّد الاتصالات مكانًا يسلّم إليه المكالمة، فلا يظهر شيء في أي سجل.
curl https://api.voice.wixzel.com/v1/sip-trunks \
-H "Authorization: Bearer $WIXZEL_API_KEY" \
| jq '.data[0] | {platform_ip, origination_uri}'أي مزوّدي الاتصالات لديهم دليل إعداد؟
لكل مزوّد اتصالات أدناه صفحته الخاصة: ما الذي تشتريه، وما الذي تضيفه إلى قائمة السماح، وإلى أين تذهب المكالمات الواردة، وطلب الـ trunk المناسب له، والمشكلات الخاصة به، مع رابط إلى خطوات لوحة التحكم الكاملة في التوثيق. يسمّي كل مزوّد الإعدادين بأسماء مختلفة؛ لكن الإعداد واحد.
| مزوّد الاتصالات | المنتج | اسم قائمة السماح | اسم وجهة المكالمات الواردة | بروتوكول النقل |
|---|---|---|---|---|
| Twilio | Elastic SIP Trunking | IP Access Control List | Origination SIP URI | udp |
| Telnyx | SIP Connections | authorised addresses on an IP-authenticated SIP Connection | لم يُذكر اسمه في الدليل بعد | udp |
| Plivo | Zentrunk | IP Access Control List | Primary URI | udp |
| Vonage | Programmable SIP | ACL (Access Control List) | لم يُذكر اسمه في الدليل بعد | udp |
| Bandwidth | - | Voice IP addresses / DNS hosts on a location | Origination | udp |
| Exotel | Virtual SIP Trunking (vSIP) | ACL mapped to the trunk | Destination URI | tcp |
| Vobiz | - | IP ACL | لم يُذكر اسمه في الدليل بعد | udp |
| Mobily | SIP Trunk | trusted peers on the SBC that holds your Mobily link | SBC route for inbound Mobily calls | udp |
| أي مزوّد SIP | - | IP ACL أو قائمة السماح أو العنوان المصرّح به | Origination URI، أو الاسم الذي يطلقه مزوّد الاتصالات عليه | udp |
ماذا يسمّي مزوّدو الاتصالات الإعدادين؟
| وظيفته | الأسماء التي يستخدمها مزوّدو الاتصالات |
|---|---|
| التصريح بالمكالمات من Wixzel Voice | IP ACL, IP Access Control List, Access Control List, allowlist, authorised address, network bridge |
| تسليم المكالمات إلى Wixzel Voice | Origination URI, Primary URI, Destination URI, termination point, destination SIP URI, host |
إعدادان آخران يحددان ما إذا كان trunk يبدو صحيحًا سيعمل فعلًا. صيغة الرقم: يتوقع Twilio وTelnyx وVobiz وجود + في البداية؛ ولا يستطيع كثير من مزوّدي الاتصالات بالجملة قراءتها فتنتهي المهلة مع 408، ويُصلح ذلك send_plus: false. بروتوكول النقل: UDP هو الافتراضي في كل مكان تقريبًا، لكن Exotel لا يقبل UDP، لذلك يعمل trunk الخاص بـ Exotel عبر TCP، وعدم التطابق يبدو كأن مزوّد الاتصالات يتجاهلك.
ماذا يحدث عندما لا تتصل المكالمة؟
المكالمة التي قبلها API ثم رفضها مزوّد الاتصالات تظهر بـ status: "failed" (أو busy للسبب 17 وno-answer للسبب 19) في GET /v1/calls/{id}، مع failure_code (سبب Q.850 من مزوّد الاتصالات، وهو القيمة الثابتة التي يُبنى عليها التفرّع) وfailure_reason (ما يجب فعله، بلغة واضحة). وتكون cost_micros بقيمة null: المكالمة التي لم تتصل أبدًا لا تكلّف شيئًا، ويُحرَّر الرصيد المحجوز لها.
اقرأ سجل المكالمات لدى مزوّد الاتصالات أولًا. إذا لم تكن المكالمة مدرجة، فهي لم تصل إلى مزوّد الاتصالات أصلًا: الخطأ في قائمة السماح، أو مضيف الـ trunk، أو جدار حماية. وإذا كانت مدرجة بصفر رد وصفر تكلفة، فقد قبل مزوّد الاتصالات طلب INVITE ثم ألغاه، وهذه مشكلة صلاحيات لدى مزوّد الاتصالات في أغلب الأحيان أكثر منها مشكلة إعداد: يجب أن يكون معرّف المتصل الذي تعرضه مصرّحًا به على الحساب، ويجب إكمال KYC وأي تسجيل للوجهة حيث تتطلبه السوق، ويجب تفعيل نطاق الوجهة، لا مجرد تمويله. هذه هي الأسباب التي يشرحها API:
كل رموز الفشل وحالات الرفض وطريقة تصحيح أخطاء الـ trunk
| failure_code | ما قاله مزوّد الاتصالات | المعنى | ما يجب فعله |
|---|---|---|---|
| 1 | 404 | مزوّد الاتصالات لا يتعرّف على الرقم. | تحقّق من صيغة الرقم. إذا كان المزوّد يحتاج إلى بادئة اتصال تقنية، فاضبط dial_prefix في الـ trunk. |
| 3 | - | لا يملك مزوّد الاتصالات مسارًا إلى هذه الوجهة. | الوجهة على الأرجح غير مفعّلة في حسابك لدى المزوّد. اطلب من المزوّد فتح المسار. |
| 16 | - | إنهاء عادي: أنهى الطرف الآخر المكالمة عمدًا. | في مكالمة لم يُرد عليها أبدًا، افهمها على أن شيئًا في المسار اختار إنهاء المكالمة، وليس على أنها مكالمة مكتملة. |
| 17 | 486 | الرقم مشغول. | - |
| 18 | 480 | لم تستجب الوجهة. | قد يكون الهاتف مغلقًا أو خارج التغطية. |
| 19 | - | رنّ الهاتف ولم يرد أحد. | لا شيء يحتاج إلى إصلاح: الـ trunk والرقم يعملان كلاهما. |
| 20 | - | المشترك غائب أو لا يمكن الوصول إليه. | - |
| 21 | 403 / 407 | رفض مزوّد الاتصالات المكالمة مباشرة، قبل أن يحاول الاتصال بالرقم. | بحسب الاحتمال: حساب المزوّد موقوف أو مغلق أو رصيده منتهٍ؛ أو اسم مستخدم الـ trunk أو كلمة مروره خاطئة؛ أو platform_ip غير مضاف إلى قائمة السماح؛ أو معرّف المتصل غير مصرّح به في الحساب. تحقّق من لوحة تحكم المزوّد أولًا. |
| 22 | - | تغيّر الرقم ولم يعد في الخدمة. | - |
| 27 | - | الوجهة معطّلة. | - |
| 28 | 484 | رفض مزوّد الاتصالات صيغة الرقم. | إذا كان المزوّد يحتاج إلى بادئة اتصال تقنية، فاضبط dial_prefix في الـ trunk. |
| 34 | - | لا توجد لدى مزوّد الاتصالات دوائر متاحة (ازدحام). | أعد المحاولة بعد قليل. |
| 38 | 500 / 501 / 502 | أرجع مزوّد الاتصالات خطأ خادم. | - |
| 41 | 503 | يمكن الوصول إلى مزوّد الاتصالات لكنه يرفض المكالمات. | السبب عادةً السعة، أو الرصيد، أو تعطّل مسار لدى المزوّد. |
| 42 | - | محوّل مزوّد الاتصالات مزدحم. | أعد المحاولة بعد قليل. |
| 58 | 488 | عدم تطابق الترميز: رفض مزوّد الاتصالات ترميزات الصوت المعروضة. | اعرض G.711 (PCMU أو PCMA) من جهة المزوّد. G.729 غير مدعوم. |
| 88 | 493 | رفض مزوّد الاتصالات المكالمة لعدم التوافق. | - |
| 102 | 408 | لم يستجب مزوّد الاتصالات في الوقت المحدد. | تحقّق من host وport في الـ trunk، ومن أن المزوّد يقبل SIP من platform_ip. إذا كان المزوّد يعرض المكالمة على أنها استُلمت ولم يُرد عليها، فاضبط send_plus على false. |
يرفض POST /v1/calls هذه الحالات قبل طلب أي رقم، ولا تكلّف شيئًا:
| حالة HTTP | code | المعنى |
|---|---|---|
| 400 | no_outbound_number | لا يوجد معرّف متصل: مرّر from_number_id، أو اضبط outbound_phone_number_id في الوكيل. |
| 400 | number_not_on_trunk | الرقم المتصل ليس له sip_trunk_id، فلا يوجد مكان لإرسال المكالمة إليه. |
| 400 | missing_idempotency_key | لم يتضمن طلب HTTP الخام Idempotency-Key. ترسله SDKs نيابة عنك. |
| 402 | insufficient_credits | لا يكفي الرصيد لتمويل أول 15 ثانية. اشحن رصيدك وأعد المحاولة. |
| 429 | rate_limit_exceeded | أكثر من 10 طلبات في الثانية على هذا المفتاح. انتظر Retry-After؛ والاستجابة 429 لا تُحتسب أبدًا. |
| 503 | - | محرك الصوت غير متاح، أو لدى الحساب بالفعل عدد من المكالمات الجارية يساوي حد المكالمات المتزامنة (5 افتراضيًا)، أو وصل مفتاح API إلى حد إنفاقه. توضّح الرسالة أيّها. |
يعرض GET /v1/sip-trunks/{id}/status ما إذا كان الـ trunk قابلًا للوصول الآن ويسرد آخر حالات الرفض من مزوّد الاتصالات؛ ويفحصه POST /v1/sip-trunks/{id}/test عند الطلب، ويُرجع GET /v1/sip-trunks/{id}/logs سجل SIP.
curl https://api.voice.wixzel.com/v1/sip-trunks/$TRUNK_ID/status \
-H "Authorization: Bearer $WIXZEL_API_KEY"الرقم الوارد الذي لا يرن أبدًا ليس فشلًا يمكنك البحث عنه: إذا لم يكن لدى مزوّد الاتصالات وجهة مضبوطة، فلن تغادر المكالمة مزوّد الاتصالات أبدًا، فلا توجد مكالمة فاشلة لفحصها. تحقّق من وجهة المكالمات الواردة، ومن أن الرقم مربوط بالـ trunk لدى مزوّد الاتصالات، ومن أن له inbound_agent_id. وإذا اتصلت المكالمات لكن لا أحد يسمع شيئًا، فالوسائط لا تمر: يجب أن يسمح أي جدار حماية في المسار بنطاق RTP، لا بمنفذ الإشارات وحده.
الأسئلة الشائعة
لماذا يحتاج Wixzel Voice إلى SIP trunk الخاص بي؟
أي مزوّدي الاتصالات يعملون مع Wixzel Voice؟
ما الإعدادان اللذان يحتاجهما الـ trunk؟
platform_ip (187.126.120.231 اليوم)، لكي يقبل مزوّد الاتصالات المكالمات من المنصة. والنصف الوارد هو وجهة المكالمات الواردة لدى مزوّد الاتصالات مضبوطة على origination_uri (sip:187.126.120.231:5090 اليوم)، لكي تصل المكالمات الموجّهة إلى أرقامك إلى المنصة؛ ومزوّد الاتصالات الذي يقبل مضيفًا ومنفذًا فقط، أو لا يرسل عبر UDP، يحتاج إلى صيغة مختلفة منه، يذكرها دليله. ويُرجَع الاثنان مع كل trunk عبر GET /v1/sip-trunks: اقرأهما من هناك بدلًا من نسخهما من صفحة.هل يمكنني الاحتفاظ برقم هاتفي الحالي؟
POST /v1/phone-numbers على ذلك الـ trunk وأعطه inbound_agent_id. لا ينقل Wixzel Voice الأرقام، لذلك يبقى الرقم لدى مزوّد الاتصالات.كيف تُخزَّن كلمة مرور مزوّد الاتصالات الخاصة بي؟
هل أحتاج إلى SIP trunk لتطبيق ويب أو جوال؟
POST /v1/realtime/sessions ويتحدث التطبيق إلى الوكيل عبر WebSocket، دون trunk ودون رقم.هل تحتاج تغييرات الـ trunk إلى إعادة تشغيل؟
هل أشتري أرقام الهاتف من Wixzel Voice أم من مزوّد الاتصالات؟
POST /v1/phone-numbers/purchase. ويحاسبك المزوّد عليه بسعره. مع Exotel وBandwidth، اشترِ الرقم من المزوّد. ومع أي مزوّد، يمكنك تسجيل رقم تملكه بالفعل عبر POST /v1/phone-numbers على الـ trunk الذي يعمل عليه.لماذا لا يرن رقمي لدى الوكيل أبدًا؟
origination_uri الذي يُرجعه الـ trunk الخاص بك (sip:187.126.120.231:5090 حاليًا)، ويجب أن يكون الرقم مربوطًا بذلك الـ trunk من جهة المزوّد، ويحتاج الرقم إلى inbound_agent_id في Wixzel Voice. ودون الشرط الأول، لا تغادر المكالمة المزوّد أبدًا ولا يظهر شيء في أي سجل.كم تكلّف مكالمة بالذكاء الاصطناعي عبر SIP trunk الخاص بي؟
ابنِ أول وكيل صوتي لك

