SMSWithoutBorders Gateway Server
Gateway-servers کاربران را قادر می سازد تا با ماژول ناشر همگام سازی و ارتباط برقرار کنند
:::
نکته آنچه یاد خواهید گرفت
- نحوه راه اندازی و استفاده از Gateway Server
جدیدترین نسخه این راهنما را می توان در مخزن github
پیدا کرد.
فرانت اند با این خدمات یکپارچه می شود. ممکن است لازم باشد بسته به قسمتی که روی آن کار می کنید آنها را تنظیم کنید.
:::
الزامات
- پایتون 3
امکانات
-
سرور کارگزار پیام برای Gateway-Client (_به SMSWithoutBorders-OpenAPI مراجعه کنید )
-
همگام سازی SMSWithoutBorders-App برای ارتباط با [Publisher] (https://github.com/smswithoutborders/SMSWithoutBorders-Publisher)
این باید در همان مکان Publisher میزبانی شود، زیرا Publisher مستقیماً در معرض وب نیست.
-
ارسال درخواست انتشار از Gateway-Client به Publisher
-
درخواست Gateway-Client's را برای پیوستن به Publisher تأیید می کند.
نصب و راه اندازی
https://github.com/smswithoutborders/SMSWithoutBorders-Gateway-Server.git
git submodule update --force --recursive --init --remote
cd SMSWithoutBorders-Gateway-Server
python3 -m virtualenv venv
. venv/bin/activate
pip3 install -r requirements.txt
در صورت تمایل، «make» را برای نصب git hook اجرا کنید
ساختار دایرکتوری
/gateway_server
شامل جلسات Gateway server websocket است که برای همگامسازی کاربران لازم است.
پیکربندی
پیکربندی API دروازه
- فایل های کانفیگ را کپی و ویرایش کنید
cp confs/example.conf.ini confs/conf.ini
پیکربندی سرور دروازه
- فایل های کانفیگ را کپی و ویرایش کنید
cp gateway_server/confs/example.conf.ini gateway_server/confs/conf.ini
استفاده
Gateway API
Gateway API را به صورت دستی شروع کنید
. venv/bin/activate
python3 main.py
- لیست گره های موجود را دریافت کنید
/seeds
مثلا
curl localhost:6969/seeds -H "Content-Type: application/json"
برمی گرداند
[
{
"IMSI": "sample_IMSI",
"LPS": 1648206122.81431,
"MSISDN": "sample_MSISDN",
"seed_type": "seed"
}
]
- Gateway را به Gateway های فعال اضافه کنید
/ping
مثلا
curl -X POST \
localhost:6969/seeds/ping \
-d '{"IMSI":"sample_IMSI", "MSISDN":"sample_MSISDN", "seed_type":"seed"}' \
-H "Content-Type: application/json"
LPS جلسه جاری را برمی گرداند. LPS = آخرین جلسه پینگ
هماهنگ سازی
برای اینکه کاربران بتوانند کلیدهای امنیتی، پلتفرمها و دروازههای موجود را بدست آورند، همگامسازی لازم است.