BroadNet
المجلةهندسة
هندسة

E.164 والتحقق من صحة رقم الهاتف: التنسيق، وتوحيد MSISDN، ولماذا هو مهم للتسليم.

E.164 هو التنسيق الذي يجب تخزين كل رقم هاتف به. كيف يعمل توحيد MSISDN، وكيفية التحقق من صحة الأرقام، ولماذا يؤدي التنسيق السيئ إلى فشل التسليم.

9 دقائق قراءة
هندسة · العدد 17
9 دقائق قراءة

ُعدّ معيار E.164 معيارًا من معايير الاتحاد الدولي للاتصالات (ITU-T) لكتابة أرقام الهواتف للاستخدام الدولي: علامة زائد في البداية، رمز الدولة من رقم إلى ثلاثة أرقام، والرقم الوطني، بدون فواصل وبحد أقصى 15 رقمًا. إن تخزين كل رقم بهذا الشكل القياسي - وهو رقم MSISDN الذي تُوجّه إليه الشبكة - هو ما يُتيح التحقق من صحة الرقم وضمان وصوله بشكل موثوق.

هل ترغب بتحويل رقم الآن؟ الصق رقمًا في أداة تنسيق أرقام الهواتف (phone number formatter) لعرض تنسيقه بصيغة E.164، أو استخدم أداة التحقق من صحة قوائم الأرقام (number list validator) لمعالجة قائمة كاملة. يشرح هذا الدليل آلية عمل هذه الأدوات.

ما هو نظام الترقيم الدولي E.164؟

E.164 هو توصية الاتحاد الدولي للاتصالات (ITU-T) E.164، وهي خطة ترقيم الاتصالات العامة الدولية. يمنح هذا النظام كل هاتف في العالم عنوانًا فريدًا عالميًا، مما يسمح بتوجيه المكالمات والرسائل من أي شبكة إلى أخرى. يتكون رقم E.164 من ثلاثة أجزاء: رمز الدولة (CC) من رقم إلى ثلاثة أرقام، ورمز الوجهة الوطني (NDC، وهو غالبًا رمز المشغّل أو المنطقة)، ورقم المشترك. يجب ألا يتجاوز مجموع أرقام هذه الأجزاء 15 رقمًا.

السلسلة المتعارف عليها هي علامة "+" في البداية متبوعة بأرقام فقط - على سبيل المثال ⁦+971500000000⁩. تُستخدم علامة "+" كرمز لبادئة الوصول الدولية التي تستخدمها الشبكة الأصلية (00 في معظم دول العالم، و011 في أمريكا الشمالية)؛ ويُعدّ تخزين علامة "+" بدلاً من بادئة خاصة بكل دولة هو ما يُحافظ على قابلية نقل الرقم بين الشبكات والدول. لا توجد مسافات أو شرطات أو أقواس أو أصفار بادئة داخل رقم E.164: فهذه اصطلاحات عرض، وليست جزءًا من الرقم.

MSISDN: الرقم الذي تقوم الشبكة بتوجيه المكالمات إليه فعليًا

يشير اختصار MSISDN إلى رقم دليل المشترك الدولي لمحطة الهاتف المحمول، وهو رقم E.164 قابل للاتصال يُستخدم لتحديد هوية مشترك الهاتف المحمول. يُستخدم هذا الرقم لتخزينه والاتصال به وإرسال رسائل SMS إليه. وهو منفصل عمدًا عن IMSI، وهو الرقم المُخزّن على شريحة SIM بموجب معيار ITU-T E.212 (رمز الدولة بالإضافة إلى رمز شبكة الهاتف المحمول وهوية المشترك). يقوم سجل موقع المشترك (HLR) لدى المشغّل بربط MSISDN برقم IMSI الحالي وشبكة الخدمة، وهو ما يضمن وصول الرسالة المُوجّهة إلى رقم E.164 إلى الهاتف الصحيح حتى بعد تجوال المشترك أو نقله لشبكة أخرى.

الخلاصة العملية: رقم MSISDN هو ببساطة رقم E.164 لخط الهاتف المحمول. عندما يُقال "توحيد الرقم إلى MSISDN"، فإن المقصود هو "تخزين رقم الهاتف المحمول بصيغة E.164 القياسية". إن الحصول على هذا التمثيل الصحيح عند نقطة التسجيل هو الفرق بين رقم يتم توجيهه بسلاسة وآخر يفشل دون أي تنبيه في المراحل اللاحقة.

التطبيع: تخزين كل رقم في شكل معياري واحد

يكتب المستخدمون الأرقام بجميع الأساليب الممكنة - مع المسافات، والأقواس، ورمز الاتصال المحلي (صفر)، والبادئة الدولية (00 أو 011)، أو بدون أي منها. تُدمج عملية التوحيد كل هذه الأساليب في سلسلة E.164 موحدة، بحيث يتم تخزين نفس الخط المادي دائمًا بشكل متطابق. بدونها، لا يمكنك إزالة الأرقام المكررة من قائمة جهات الاتصال، أو مطابقة رقم مع قائمة الحظر، أو التحقق من صحة البيانات بشكل موثوق قبل إنفاق المال على الإرسال.

يقوم مُعَدِّل قوي بتطبيق هذه القواعد بالترتيب التالي:

  • قم بإزالة جميع أحرف التنسيق: المسافات، والشرطات، والنقاط، والأقواس.
  • قم بتحويل بادئة الوصول الدولية - 00 (الاتحاد الدولي للاتصالات) أو 011 (أمريكا الشمالية) - إلى علامة "+".
  • إذا كان الرقم يبدأ بالفعل بعلامة "+"، فاحتفظ برمز البلد كما هو.
  • إذا كان بتنسيق وطني (بدون رمز دولة)، فقم بإزالة البادئة الوطنية الرئيسية - عادةً ما تكون صفرًا واحدًا في البداية - وأضف رمز الدولة للمنطقة الافتراضية.
  • ارفض أي شيء ليس علامة "+" متبوعة برقم من 1 إلى 15 رقمًا، مع رقم أول من 1 إلى 9.
  • قم بتخزين علامة الجمع (+) والأرقام فقط؛ وأعد إنشاء نماذج عرض جميلة أثناء عرض الرقم.

تُعدّ خطوة حذف الصفر من رمز الاتصال الدولي هي التي تُسبب المشاكل للفرق. ففي معظم الدول، يُعتبر الصفر الذي يُطلب محليًا بادئة اتصال تُحذف عند الاتصال الدولي - على سبيل المثال، يُصبح رقم جوال إماراتي مكتوبًا ⁦050 000 0000⁩ هو ⁦+971 50 000 0000⁩، وليس ⁦+971 050⁩. يؤدي تطبيق رمز الدولة دون حذف هذا الصفر إلى رقم غير صالح يبدو منطقيًا. يجب أن يعرف نظام التوحيد المنطقة الافتراضية لحلّ مشكلة إدخال البيانات بتنسيق وطني؛ فالأرقام نفسها تعني خطوطًا مختلفة في دول مختلفة.

snippet
دالة toE164(raw, defaultRegion) {
/ 1. إزالة المسافات والشرطات والنقاط والأقواس
let s = raw.trim().replace(/[\s().\-]/g, '');
/ 2. البادئة الدولية 00 (ITU) أو 011 (NANP) -> +
s = s.replace(/^(00|011)/, '+');
/ 3. هل هو بالفعل بالصيغة الدولية؟ احتفظ برمز الدولة
if (s.startsWith('+')) return assertE164(s);
/ 4. الصيغة الوطنية: احذف الصفر، وأضف رمز المنطقة
s = s.replace(/^0/, '');
return assertE164('+' + defaultRegion.dialCode + s);
}
// تقبل الدالة assertE164 فقط /^\+[1-9]\d{1,14}$/ (أي، زائد، ثم أقل من أو يساوي 15 رقمًا)

إليكم نفس المنطق المطبق على أمثلة حقيقية من دول مجلس التعاون الخليجي ودول أخرى. لاحظوا كيف تتجمع المدخلات المتنوعة في رقم هاتف واحد واضح (MSISDN):

البلد (الرمز)المدخلات كما هي مكتوبةCanonical E.164 (MSISDN)
الإمارات العربية المتحدة (⁦+971⁩)050 000 0000 / 00971 50 000 0000⁦+971500000000⁩
المملكة العربية السعودية (⁦+966⁩)0500000000⁦+966500000000⁩
مصر (⁦+20⁩)0100 123 4567⁦+201001234567⁩
المملكة المتحدة (⁦+44⁩)(07911) 123 456⁦+447911123456⁩
الولايات المتحدة (⁦+1⁩)011 1 202 555 0143⁦+12025550143⁩

لإجراء عمليات فحص لمرة واحدة، يعرض منسق رقم الهاتف أشكال العرض الوطنية والدولية للرقم إلى جانب مخرجات E.164 الخاصة به؛ لتنظيف عملية تحميل كاملة قبل الحملة، يقوم مدقق قائمة الأرقام بتوحيد البيانات وإزالة التكرارات ووضع علامة على الصفوف غير الصالحة في المتصفح بحيث لا تغادر البيانات الأولية جهازك أبدًا.

لا تعني الصلاحية النحوية إمكانية الوصول

تُخبرك عمليات التحقق من التوحيد والطول بأن الرقم سليم البنية - الشكل الصحيح، رمز الدولة الصحيح، ضمن نطاق 15 رقمًا. لكنها لا تُخبرك ما إذا كان الرقم مُخصصًا لمشترك فعلي. قد يكون رقم E.164 سليم البنية تمامًا غير مُخصص، أو مُعطل، أو مُحوّل إلى مشغّل آخر غير المُشار إليه في بادئته. إرسال المكالمات إليه لا يزال مُكلفًا، ويُؤثر سلبًا على معدل التسليم.

يتطلب التأكد من إمكانية الوصول الفعلية الاستعلام من قاعدة بيانات المشتركين لدى المشغّل. يُعيد أمر HLR lookup معلومات حول ما إذا كان الرقم مُخصصًا ونشطًا حاليًا، وشبكته الأصلية الحقيقية (رمز البلد/رمز الشبكة المتنقلة الخاص بأي رقم مُحوّل)، وحالة تجواله - وهي معلومات دقيقة لا يُمكن الحصول عليها من خلال بناء الجملة وحده. تتمثل الخطوات المنطقية في: توحيد البيانات إلى E.164 أولًا، ثم تجاهل الصفوف غير الصالحة نحويًا بسرعة، ثم إجراء عمليات بحث HLR على الصفوف المتبقية قبل إرسال بيانات كبيرة أو ذات قيمة عالية.

لماذا تتسبب أخطاء التنسيق في خسارة الرسائل المرسلة والمال؟

تُحاسب خدمة رسائل SMS من التطبيقات إلى الأشخاص (A2P) على أساس كل جزء عند الإرسال، وليس عند التسليم. الرقم غير الصحيح هو رسالة تدفع مقابل محاولة إرسالها ولا تصل أبدًا، وتتضاعف هذه الإخفاقات عند التعامل مع قوائم كبيرة. كما أن التنسيق السيئ يُخفي الرسائل المكررة (يتم احتساب نفس السطر المخزن بثلاث طرق ثلاث مرات)، ويُفسد مقاييس معدل التسليم، وقد يُفعّل فلاتر المشغّل عندما تتلقى البوابة أرقامًا لا يمكنها تحليلها.

يكمن الحل الأرخص في جانبك من واجهة برمجة التطبيقات (API): توحيد البيانات عند نقطة الالتقاط، والتحقق من صحة شكل E.164 قبل إضافتها إلى قائمة الانتظار، وحجز عمليات البحث في سجل مواقع المشتركين (HLR) للأرقام التي تستوفي الشروط. يمكن للفرق التي تُدمج هذه الميزة في بنيتها الخاصة ربطها مرة واحدة بواجهة برمجة تطبيقات المراسلة - راجع وثائق المطورين - بحيث يكون كل رقم موحدًا قبل احتساب تكلفته. كما أن التعامل مع الأرقام الوطنية مقابل الدولية ليس حالة استثنائية في منطقة الشرق الأوسط وشمال أفريقيا: إذ يتلقى مُرسلو دول مجلس التعاون الخليجي بشكل روتيني أرقامًا من الإمارات العربية المتحدة والمملكة العربية السعودية ومصر بصيغتها المحلية، ويحتاج كل منها إلى قاعدة بادئة خاصة به لتوحيد البيانات بشكل صحيح.

أدخل أرقامًا نظيفة، وأرسل رسائل مُسلّمة. قم بتوحيد أي رقم والتحقق منه باستخدام أداة تنسيق أرقام الهواتف (phone number formatter)، ثم تأكد من أن الأجهزة المتبقية تعمل باستخدام أداة البحث عن سجل موقع المشتركين (HLR lookup) قبل الإرسال. قامت BroadNet بتوجيه حركة رسائل متعددة القنوات إلى أكثر من 200 دولة عبر أكثر من 1000 اتصال مع مشغّلي الشبكات منذ عام 2003، بنسبة نجاح 99.99% وفقًا لاتفاقية مستوى الخدمة (SLA) الخاصة بالمنصة.

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

ما هو تنسيق E.164؟

E.164 هو معيار الترقيم الدولي لأرقام الهواتف الصادر عن الاتحاد الدولي للاتصالات (ITU-T). يتكون الرقم في هذا المعيار من علامة "+" في البداية، ورمز الدولة المكون من رقم واحد إلى ثلاثة أرقام، والرقم الوطني مكتوبًا بالأرقام فقط دون مسافات أو فواصل، وبحد أقصى 15 رقمًا - على سبيل المثال ⁦+971500000000⁩. وهو الشكل القياسي لتخزين أي رقم هاتف، مما يتيح توجيه المكالمات دوليًا.

كيف يمكنني التحقق من صحة رقم هاتف دولي؟

يتم التحقق من صحة البيانات على مرحلتين. أولاً، التحقق من صحة البنية: يتم توحيد المدخلات وفقًا لمعيار E.164 (إزالة التنسيق، وتحويل البادئات 00/011 إلى علامة "+"، وإزالة أي صفر في رمز الاتصال الدولي، وتطبيق رمز الدولة) والتأكد من أنها علامة "+" متبوعة برقم يتراوح بين 1 و15 رقمًا. ثانيًا، التحقق من إمكانية الوصول: يتم إجراء بحث في سجل موقع المشترك (HLR) للتأكد من أن الرقم مُخصص بالفعل وفعّال. لا تُثبت صحة البنية وحدها قدرة الرقم على استقبال الرسائل.

ما هو توحيد أرقام MSISDN؟

تُعدّ عملية توحيد رقم MSISDN عملية تحويل رقم الهاتف المحمول المكتوب بأي نمط محلي أو منسق إلى رقمه القياسي E.164 MSISDN - وهو الرقم الدولي القابل للاتصال الذي توجه إليه الشبكة. وتقوم هذه العملية بإزالة الفواصل، وحلّ بادئة الخط الرئيسي وبادئة الوصول الدولي، وتطبيق رمز الدولة الصحيح، بحيث يتم تخزين الخط نفسه دائمًا بشكل متطابق لأغراض إزالة التكرار والتحقق من الصحة والتسليم الموثوق.

مراجع

  • توصية ITU-T E.164 — خطة ترقيم الاتصالات العامة الدولية: itu.int
  • توصية ITU-T E.212 - خطة التعريف الدولية للشبكات والاشتراكات العامة (IMSI، MCC/MNC): itu.int
  • BroadNet — منسق أرقام الهواتف ومدقق قائمة الأرقام لتطبيع E.164.
  • BroadNet — HLR lookup لتأكيد إمكانية الوصول الحقيقية بما يتجاوز صحة التركيب النحوي.
هل كان هذا مفيداً؟

كيف نكتب المحتوى ونراجعه

بقلم

فريق التحرير في BroadNet

ينشر فريق التحرير مدونة BroadNet. تُكتب المقالات مع فرق BroadNet للشؤون التنظيمية والمنتجات والهندسة وأبحاث الصناعة وحلول المشغّلين، وتُراجَع وفق معاييرنا التحريرية.

تابع القراءة

ثلاثة أخرى من المجلة.

اطلع على جميع المقالات
ك
منتج

كيف يوفر البحث عن سجل موقع المشترك (HLR Lookup) نسبة 18% على حملة رسائل SMS النموذجية.

يُعد تنظيف قوائم المستلمين باستخدام أداة HLR Lookup قبل الإرسال هو الشيء الوحيد الذي يحقق أعلى عائد على الاستثمار في معظم حملات رسائل SMS.

فريق التحرير في BroadNet
4m
س
منتج

سمعة الرقم ومعلومات الهاتف: الحد من الاحتيال وتحسين إمكانية التسليم.

يتم تقييم سمعة رقم الهاتف بناءً على نوع الخط، وشركة الاتصالات، وعمر الرقم، وسجل الاحتيال، مما يسمح لك بحظر عمليات التسجيل السيئة، وحظر رموز التحقق لمرة واحدة، وإيقاف إرسال الرسائل إلى الأرقام غير النشطة.

فريق التحرير في BroadNet
10m
ن
منتج

نقدم لكم MobileValidate: التحقق من أرقام الهواتف والبريد الإلكتروني قبل الإرسال، من BroadNet

تُعد MobileValidate علامة تجارية جديدة تابعة لـ BroadNet: وهي API تقوم بالتحقق من مشغّل رقم الهاتف ونوع الخط، وما إذا كان الرقم مسجلاً في تطبيقات المراسلة، وما إذا كان صندوق بريد إلكتروني موجوداً، وذلك قبل إرسال أي شيء. الخدمة حالياً في مرحلة المعاينة الخاصة. إليكم ما تقوم بالتحقق منه، وكيفية فوترته، وكيفية معالجته للبيانات الشخصية، ومدى توافقه مع مراسلات BroadNet.

فريق التحرير في BroadNet
7m
المجلة، عبر البريد الإلكتروني

مقال واحد شهرياً. لا شيء آخر.

اشترك وسنرسل لك المقال التالي - سواءً كان هندسيًا أو تنظيميًا أو صناعيًا - في يوم شحنه. لا حملات تسويقية عشوائية، ولا عروض منتجات، ولا مشاركة مع جهات خارجية. يمكنك إلغاء الاشتراك بنقرة واحدة.

نرسل رسالة واحدة شهريًا. يمكنك إلغاء الاشتراك في أي وقت. اطّلع على سياسة الخصوصية.

ما ستحصل عليه
  • مقال مطوّل، وليس مجرد رابط لجذب الانتباه.
    من ست إلى إحدى عشرة دقيقة من الكتابة المركزة حول موضوع واحد.
  • كتبه مشغّلون
    مهندسون، ومسؤولون عن الشؤون التنظيمية، وكتابة المنتجات داخل الشركة.
  • مدرك للمنطقة
    نظرة متعمقة من منطقة الشرق الأوسط وشمال أفريقيا حول الجهات التنظيمية والمشغّلين ومزيج القنوات.
  • مرة واحدة في الشهر
    لا حملة ترويجية بالتنقيط. مقال واحد فقط عندما يكون هناك مقال واحد للمشاركة.
توقف عن القراءة. ابدأ الشحن.

معظم ما نكتبه تعلمناه أثناء الإنتاج.

إذا لاقت هذه المعلومات استحسانك، فلنتحدث. أخبرنا عن حالة الاستخدام، والأحجام، والأسواق - وسنعود إليك بمعلومات عن التوجيه والتسعير، وعميل مرجعي يمكنك الاتصال به.

$ curl -X POST https://api.broadnet.me/sms/sendSms