sip2go bilan tanishing!

Agar siz smartfoningizda SIP mijozidan foydalangan bo’lsangiz, ehtimol bu tajribaning barcha nozik jihatlari bilan tanishsiz… Va birinchi va ehtimol eng zerikarli narsa — bu doimiy fon ishlashi, busiz kiruvchi qo’ng’iroqlar ishlamaydi. Ushbu maqolada men sizga boshqa hech kimga o’xshamaydigan «sehrli» yumshoq telefon haqida gapirib beraman… Keling, boshlaymiz!

Agar siz mening qo’shiq matnlarimga qiziqmasangiz, bu qismni o’tkazib yuborib, asosiy masalaga o’tishingiz mumkin. ;)

Fon rejimi tufayli batareya quvvatining kamayishi tushunarli. Ba’zi dasturiy ta’minotlar esa yechim taklif qiladi: SIP hisobingizni o’z serverlari orqali ulash. Xo’sh, qandaydir… Birinchidan, ularning serverlari odatda Yevropaning biron bir joyida joylashgan va ular orqali ovozni yo’naltirish umuman qulay emas, xavfli emasligini aytmasa ham bo’ladi va har doim ham imkoni yo’q. Xususan, SIP trafikiga O’zbekistondan tashqarida ruxsat berilmaydi (yoki hatto ichkariga kirishga ruxsat berilmaydi), shuning uchun xorijiy serverdan foydalanish shunchaki foydasiz.

Yana bir variant — ochiq SIP mijozining manba kodini (masalan, linphone) olish va u yerga Firebase hisobingizni joylashtirish.
Va keyin yana bir savol tug’iladi: FCM bildirishnomalarini qanday yuboraman? Men buni Asterisk yordamida amalga oshirishga harakat qildim, lekin eng ahmoqona muammoga duch keldim. Qo’ng’iroq keladi, push-bildirishnoma skripti ishlaydi, lekin muammo shundaki, endi qo’ng’iroq SIP mijozi tiklanib, serverga ulanguncha qandaydir tarzda ushlab turilishi kerak va shundan keyingina INVITE yuborishim mumkin. Bu paytda men butunlay qotib qoldim. Keyin, push-bildirishnomalarni qo’llab-quvvatlaydigan eski SIP proksi-serverini o’rnatishga harakat qildim, ammo manba kodi nihoyatda eskirgan edi, ba’zi bog’liqliklar o’chirib tashlandi va u shunchaki kompilyatsiya qilinmadi. Men taslim bo’ldim va bir kungacha undan butunlay voz kechishga qaror qildim…

Rivojlanish

Bir kuni men Cursor obunamni yangiladim va aslida nimani yozmoqchi bo’lganim, lekin boshimda dasturlash moduli yo’qligi sababli yoza olmaganim haqida o’ylay boshladim. :) Men o’sha nog’ora bilan raqslarni esladim, SIP boshqa messenjerlar kabi qo’ng’iroqlarni qabul qila olmasligidan qanday g’azablangan edim. Keyin esa, nega SIPning barcha kamchiliklaridan xalos bo’lib, messenjerlarga o’xshash protokol yordamida ishlaydigan o’z dasturiy ta’minotimni yaratmasligim kerak, deb o’yladim. Boshimda taxminiy loyiha rejasini tuzib bo’lgach, kursor satrini ochdim va mana shu narsa chiqdi.
Loyiha veb-saytining manzili s2g.uz.

SIP2GO shlyuzi

Bu SIP serveri (mening holatimda, FreePBX) va mijoz (softfon) o’rtasida joylashgan server komponenti. U oddiy so’nggi nuqta yoki trunk kabi SIP serveriga ulanadi va veb-rozetka orqali SIPni TLS transportiga o’zgartiradi.

Shlyuz qo’ng’iroqni nazorat qiladi va mijozni uyg’otishga urinib, SIP serveriga 180 Ringing signalini yuboradi. Keyin hamma narsa oddiy SIPdagi kabi, faqat WSS orqali amalga oshiriladi. Agar shlyuzda bunday abonent bo’lmasa, qo’ng’iroq shunchaki rad etiladi.

Shlyuz veb-interfeys orqali konfiguratsiya qilinadi, uning paroli .env da ko’rsatilgan. U yerda mijozlarni ular uchun maxsus avtomatik konfiguratsiya havolasi yoki ro’yxatdan o’tish QR kodini yaratish orqali qo’shish mumkin. Bu jarayon eSIM-ni faollashtirishga o’xshaydi.

Ushbu yechimning yana bir yoqimli xususiyati — bu xususiy SIP server bilan uni dunyoga oshkor qilmasdan ishlash imkoniyati. Faqat shlyuzning o’zi umumiy manzilni talab qiladi va serveringiz tashqi tahdidlardan xuddi SBC ishlayotgandek himoyalangan bo’ladi.

Sip2go dasturiy ta’minoti

Smartfon mijoz ilovasi (hozirda faqat Androidda mavjud), server bilan maxsus protokol yordamida aloqa o’rnatadi. U aksariyat dasturiy ta’minot telefonlariga o’xshash ishlaydi, lekin push-bildirishnomalarni darhol qo’llab-quvvatlaydi va tarmoqlarni almashtirishda yoki vaqtinchalik tarmoq uzilishlari paytida qayta ulanishi mumkin. Ilova shuningdek, suhbatlarni to’g’ridan-to’g’ri smartfoningizga yozib olishi mumkin. Yozuvlarga qo’ng’iroqlar tarixidan kirish mumkin.

Havola yoki QR kodini skanerlash orqali tezkor sozlash korporativ foydalanish holatlarida xodimlarni telefon tarmog’iga qo’shish vazifasini ancha soddalashtiradi. Masalan, buxgalterga SIP mijozini qanday sozlashni tushuntirish ba’zan qiyin vazifa bo’lishi mumkin. ;)

Bir nuance…

Ilovani Google Play’dan yuklab olishingiz mumkin, lekin unda allaqachon mening Firebase o’rnatilgan, shuning uchun to’g’ridan-to’g’ri Push xabarlarini o’rnatish mumkin bo’lmaydi. Shu maqsadda men o’zimning xususiy push relay xizmatim orqali FCM dan foydalanish imkoniyatini qo’shdim, lekin bu, albatta, bepul emas. :) Aks holda, siz ilovani o’zingiz yaratishingiz va o’zingizning Firebase kalitlaringizni joylashtirishingiz kerak bo’ladi. Men dangasalar uchun obuna taklif qilaman. ;)