منصوبے کے بارے میں
jiofiber-bridge ایک ٹیمپلیٹ پروجیکٹ ہے جو JioFiber (Jio Fiber Voice / JioCall over broadband) لینڈ لائن کو کہیں سے بھی عام SIP سافٹ فون پر استعمال کرنے کے لیے ہے، دونوں آؤٹ باؤنڈ اور ان باؤنڈ کالز کے لیے۔ Jio اپنے IMS کور کے ذریعے آواز فراہم کرتا ہے جس میں ایک ملکیتی کلائنٹ JUICE استعمال ہوتا ہے جو عام طور پر صرف ISP راؤٹر یا JioCall ایپ پر چلتا ہے۔ یہ پروجیکٹ راؤٹر کے ساتھ اسی LAN پر ایک چھوٹا ہیڈ لیس برج چلاتا ہے، IMS کور کے ساتھ اسی طرح رجسٹر ہوتا ہے جیسے ایک حقیقی JioCall ڈیوائس کرتی ہے، اور لائن کو سادہ SIP ٹرنک کے طور پر دوبارہ پیش کرتا ہے۔ اس ٹرنک کی طرف Asterisk کو پوائنٹ کریں اور Zoiper، Groundwire یا Linphone جیسے سافٹ فونز کسی بھی نیٹ ورک سے لینڈ لائن پر کال کر سکتے ہیں اور وصول کر سکتے ہیں۔
آرکیٹیکچر: برج ایک B2BUA ہے جسے ہوم LAN پر بیٹھنا ضروری ہے کیونکہ IMS کور صرف راؤٹر سے بات کرتا ہے اور RTP کا آغاز LAN انٹرفیس سے ہونا ضروری ہے۔ ایک ٹانگ راؤٹر سے JUICE/IMS (TLS سگنلنگ، AMR/AMR-WB آڈیو) بولتی ہے؛ دوسری ایک سادہ SIP/PCMU ٹرنک ہے، جس میں pjproject کے کانفرنس برج کے ذریعے AMR-to-PCMU ٹرانس کوڈنگ ہوتی ہے۔ Asterisk ایک چھوٹے عوامی VPS پر چلتا ہے جہاں فونز رجسٹر ہوتے ہیں؛ یہ ڈائل کیے گئے نمبروں کو نارمل کرتا ہے، ان باؤنڈ پر فونز بجاتا ہے اور کالر-ID لے جاتا ہے۔ برج اور Asterisk ایک نجی اوورلے نیٹ ورک (Tailscale یا WireGuard) پر جڑتے ہیں، تاکہ گھر سے کوئی SIP پورٹ بے نقاب نہ ہو اور VPS صرف فون کا سامنا کرنے والا رجسٹرار ظاہر کرتا ہے۔
README تین مشکل مسائل کو نمایاں کرتا ہے۔ پہلا، شناخت: JUICE رجسٹریشن RFC 5626 آؤٹ باؤنڈ کو +sip.instance کے ساتھ ایک مخصوص شکل میں استعمال کرتی ہے (بڑے حروف، urn:uuid: پریفکس کے بغیر)، نیز ایک گھومنے والا فی ڈیوائس پاس ورڈ اور OTP فلو کے ذریعے وائٹ لسٹ شدہ ڈیوائس؛ اسٹاک pjsua انسٹنس کو مختلف طریقے سے فارمیٹ کرتا ہے اور کور خاموشی سے REGISTER کو ڈراپ کر دیتا ہے۔ دوسرا، میڈیا: کور AMR/AMR-WB کو موڈ-سیٹ کے ساتھ پیش کرتا ہے اور توقع کرتا ہے کہ اسے SDP میں واپس ایکو کیا جائے، ورنہ کالیں تقریباً ایک سے دو منٹ بعد ختم ہو جاتی ہیں۔ تیسرا، ان باؤنڈ فورکنگ: کور صرف ان رابطوں کو بجاتا ہے جن کی رجسٹریشن نے مکمل RCS/MMTEL فیچر ٹیگ سیٹ اور JioCall جیسا User-Agent مشتہر کیا ہو؛ صرف mmtel کے ساتھ رجسٹر کرنے سے آؤٹ باؤنڈ کام کرتا ہے لیکن ان باؤنڈ کبھی نہیں بجتا۔
ضروریات میں ہوم LAN پر ایک ہمیشہ آن لینکس مشین جس میں روٹ ہو، Asterisk 18+ کے لیے ایک چھوٹا عوامی VPS، ایک اوورلے نیٹ ورک، بلڈ ٹولز کے ساتھ AMR کوڈیک ڈیول ہیڈرز، IMS اکاؤنٹ کی تفصیلات (عوامی شناخت، تصدیقی صارف نام، realm، رجسٹرار/راؤٹر ایڈریس)، اور فراہم کنندہ کے ڈیوائس-ایڈ OTP کو متحرک کرنے کی صلاحیت۔ ریپوزٹری ایک B2BUA سورس فائل، تین pjproject پیچ (AMR موڈ-سیٹ، +sip.instance فارمیٹ، contact_params جمع کرنے کی گارڈ)، ایک بلڈ کنفیگریشن، bridge.env.example، رجسٹریشن اور ہیلتھ چیک اسکرپٹ، جامد اپ اسٹریم IMS ڈائجسٹ پاس ورڈ کے لیے ایک کریڈینشل ریکوری ہیلپر، Asterisk pjsip/extensions/rtp کنفیگریشن، اور برج اور دو منٹ کے ہیلتھ ٹائمر کے لیے systemd یونٹس فراہم کرتی ہے۔
سیٹ اپ کے مراحل میں پیچ شدہ pjproject بنانا، bridge.env ترتیب دینا، ڈیوائس پروویژن کرنا (وائٹ لسٹ کے علاوہ ہر آغاز پر گھومنے والا پاس ورڈ لانا)، برج کو سروس کے طور پر چلانا، Asterisk اینڈ پوائنٹس اور ٹرنک ترتیب دینا، سافٹ فونز رجسٹر کرنا، اور ہیلتھ چیک کے ساتھ نگرانی کرنا شامل ہے جو برج کو دوبارہ شروع کرتا ہے اور ntfy الرٹ پوسٹ کر سکتا ہے۔ README میں نمبر نارملائزیشن (آف نیٹ موبائلز کو STD 0 پریفکس کی ضرورت ہوتی ہے ورنہ کور 484 Address Incomplete واپس کرتا ہے)، RFC 4733 DTMF ریلے، X-Jio-Caller اور P-Asserted-Identity/Remote-Party-ID ہیڈرز کے ذریعے ان باؤنڈ کالر-ID، WAV فارمیٹ اور مطلق پاتھ کی احتیاط کے ساتھ ایک اختیاری ان باؤنڈ IVR، دیگر PBXes جیسے Grandstream UCM اور FreePBX کے لیے رہنمائی (IVRs کو ابتدائی میڈیا بجانے کے بجائے جواب دینا چاہیے)، اور EARLY_ANSWER فرار ہیچ شامل ہے۔ ایک خرابیوں کا سیکشن علامات کو وجوہات سے جوڑتا ہے، بشمول خاموش REGISTER ڈراپ، ایک سے دو منٹ پر کالوں کا مرنا، طویل اپ ٹائم کے بعد PJ_ETOOSMALL، ملٹی ہومڈ RTP سے یک طرفہ آڈیو، اور فیچر ٹیگز کی کمی کی وجہ سے ان باؤنڈ نہ بجنا۔ سب کچھ ایک ٹیمپلیٹ ہے جس میں کوئی حقیقی نمبر، IP، پاس ورڈ یا فراہم کنندہ ہوسٹ نام نہیں؛ پروجیکٹ MIT لائسنس یافتہ ہے اور ایک ڈس کلیمر شامل ہے۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.