D-Modem - مودم برمجي لنقل البيانات عبر VoIP

تم نشر النصوص المصدرية لمشروع D-Modem، الذي ينفذ مودم برمجي لتنظيم نقل البيانات عبر شبكات VoIP بناءً على بروتوكول SIP. يتيح D-Modem إمكانية إنشاء قناة اتصال عبر VoIP، على غرار الطريقة التي تسمح بها أجهزة مودم الطلب الهاتفي التقليدية بنقل البيانات عبر شبكات الهاتف. وتشمل مجالات تطبيق المشروع الاتصال بشبكات الاتصال الهاتفي الحالية دون استخدام شبكة الهاتف في الطرف الآخر، وتنظيم قنوات الاتصال السرية، وإجراء اختبار الأمان للأنظمة التي يمكن الوصول إليها فقط عبر الطلب الهاتفي. كود المشروع مكتوب بلغة C ويتم توزيعه بموجب ترخيص GPLv2.

يتم تنفيذ دعم بروتوكول SIP باستخدام مكتبة اتصالات PJSIP، ولضمان عمل المودم، يتم استخدام مكونات برنامج تشغيل المودم slmodem، الذي تم توفيره في الأصل لأجهزة مودم Smart Link الناعمة. على عكس أجهزة المودم التقليدية، التي تستخدم معالج الإشارة الرقمية (DSP) لمعالجة الإشارات والتعديل الذي يتم إجراؤه بواسطة وحدة تحكم دقيقة، فإن أجهزة المودم الناعمة تحتوي فقط على معالج الإشارة الرقمية (DSP)، ويتم تنفيذ جميع الوظائف الأخرى في البرنامج على جانب برنامج التشغيل.

يقدم مشروع D-Modem مودمًا برمجيًا كاملاً، حيث يتم تنفيذ وظيفة DSP في البرنامج. يتم استبدال مكونات الأجهزة المستخدمة في أجهزة المودم الناعمة بمكدس SIP وبدلاً من استخدام DSP لنقل الصوت عبر خطوط الاتصال التناظرية، يتم نقل صوت D-Modem عبر تدفقات الوسائط المتعددة مثل RTP أو SRTP المستخدم في مكالمات VoIP الصوتية.

يتم استعارة آليات معالجة الإشارات ودعم أوامر AT، بالإضافة إلى تنفيذ بروتوكولات V.32bis (14.4 كيلوبت في الثانية) وV.34 (33.6 كيلوبت في الثانية)، من برنامج تشغيل kernel slmodemd الجاهز، والذي تم توسيعه وتقليصه مع مراعاة مراعاة تفاصيل المشروع. معظم كود slmodemd مغلق المصدر، ولا يتم توفير كود المصدر، ويستخدم BLOB dsplib.o؛ تمت إعادة تصميم برنامج التشغيل الخاص ليعمل بشكل منفصل كتطبيق وليس كوحدة نمطية للنواة. للتفاعل مع التطبيقات الخارجية، يتم تنفيذ القدرة على تبادل البيانات عبر مآخذ الشبكة. لإدارة slmodemd، تم إعداد الوظيفة الإضافية d-modem، والتي توفر الواجهة النهائية وتتضمن أدوات لإدارة التدفقات الصوتية والمكالمات الصوتية بناءً على بروتوكول SIP.

أثناء التشغيل، يتم إنشاء جهاز /dev/ttySL*، والذي يمكنك من خلاله التفاعل مع المودم وإرسال أوامر AT وتبادل البيانات، على غرار الطريقة التي تعمل بها مع مودم عادي (على سبيل المثال، يمكنك استخدام pppd لإنشاء IP قناة). يتم الربط بحساب SIP باستخدام متغير البيئة SIP_LOGIN. يمكن أيضًا استخدام المشروع للاتصال بشبكات الطلب الهاتفي الموجودة، في ظروف لا يوجد فيها مودم كلاسيكي (يمكن إعادة توجيه مكالمات SIP إلى شبكة هاتف عادية).

المصدر: opennet.ru

إضافة تعليق