
تنفيذ بلغة C++ لبروتوكولات SIP وICE وTURN والبروتوكولات ذات الصلة.
يحتوي مستودع reSIProcate على مكتبات وتطبيقات C++ التالية:
يرجى الاطلاع على الويكي التالي للحصول على مزيد من المعلومات: www.resiprocate.org
ملاحظة: إصدار C++ الأدنى المطلوب حاليًا هو C++11.
لإنشاء بناء داخل الشجرة: انتقل إلى مجلد جذر git حيث يوجد ملف CMakeLists.txt العلوي
$ cmake .
$ make
لإنشاء بناء خارج الشجرة:
$ mkdir cmake_build # أو أي اسم آخر
$ cd cmake_build
$ cmake ..
$ make
بمجرد بنائه، يمكنك تشغيل اختبارات الوحدة باستخدام:
$ ctest
أو، لإخراج مفصل:
$ ctest -V
إذا كنت تريد البدء من جديد، فاحذف دليل البناء خارج الشجرة أو احذف ملف CMakeCache.txt.
$ cmake -DBUILD_QPID_PROTON=OFF .
يتطلب إطار اختبار TFM Netxx. حزمة libnetxx-dev القديمة لم تعد متوفرة على التوزيعات الحديثة، لذلك يتم بناء Netxx افتراضيًا من النسخة في مجلد contrib (USE_CONTRIB_NETXX=ON). إذا كان لديك نسخة نظام من Netxx تفضل استخدامها، فقم بتعطيل هذا وسيتم تحديد موقعها عبر find_package:
$ cmake -DUSE_CONTRIB_NETXX=OFF .
بدلاً من ذلك، يمكنك تعطيل إطار اختبار TFM بالكامل لتجنب الحاجة إلى Netxx تمامًا:
$ cmake -DBUILD_TFM=OFF .
انتقل إلى مجلد جذر git حيث يوجد ملف CMakeLists.txt العلوي.
> cmake .
أو لبناء recon مع دعم وسائط sipXtapi، عليك القيام بما يلي:
> cmake . -DUSE_SIPXTAPI=ON
أو إذا كنت تخطط لاستخدام واجهة VS الرسومية، فقد ترغب في تمكين ما يلي للحصول على مشاريع sipXtapi الكاملة في ملف حل resip:
> cmake . -DUSE_SIPXTAPI=ON -DSIPXTAPI_PROJS_IN_VS_GUI=ON
انتقل إلى مجلد جذر git حيث يوجد ملف CMakeLists.txt العلوي.
> cmake . -B _build
أو لبناء recon مع دعم وسائط sipXtapi، عليك القيام بما يلي:
> cmake . -B _build -DUSE_SIPXTAPI=ON
للبناء، انتقل إلى مجلد جذر git حيث يوجد ملف CMakeLists.txt العلوي.
> cmake --build _build --config Debug --parallel
لاختبارات الوحدة:
> cd _build
> ctest --build-config Debug --output-on-failure
تُستخدم متغيرات CMake "المخزنة مؤقتًا" لتحديد خيارات مثل ما إذا كان يجب استخدام c-ares أم لا. يمكنك الحصول على القائمة باستخدام:
$ cmake -LH
يمكنك تعيينها في سطر الأوامر مثل:
$ cmake -DWITH_C_ARES=true .
يدعم CMake rpm/deb?/NSIS لبناء حزم قابلة للتثبيت باستخدام CPack. إذا لم يمكن استخدام هذا الدعم المدمج، يمكننا دائمًا تحديد أهداف بناء داخلية تقوم بتشغيل أوامر خارجية لحزم الحزمة المناسبة حسب النظام الأساسي.