প্রকল্প সম্পর্কে
jiofiber-bridge হল একটি টেমপ্লেট প্রকল্প যা যেকোনো জায়গা থেকে একটি সাধারণ SIP সফ্টফোনে JioFiber (Jio Fiber Voice / JioCall over broadband) ল্যান্ডলাইন ব্যবহার করার জন্য, আউটবাউন্ড এবং ইনবাউন্ড উভয় কলের জন্য। জিও তার IMS কোরের মাধ্যমে ভয়েস সরবরাহ করে একটি মালিকানাধীন ক্লায়েন্ট JUICE-এর মাধ্যমে যা সাধারণত শুধুমাত্র ISP রাউটার বা JioCall অ্যাপে চলে। এই প্রকল্পটি রাউটারের সাথে একই LAN-এ একটি ছোট হেডলেস ব্রিজ চালায়, প্রকৃত JioCall ডিভাইসের মতো IMS কোরের সাথে নিবন্ধন করে এবং লাইনটিকে একটি সাধারণ SIP ট্রাঙ্ক হিসাবে পুনরায় উপস্থাপন করে। সেই ট্রাঙ্কে Asterisk নির্দেশ করুন এবং Zoiper, Groundwire বা Linphone-এর মতো সফ্টফোনগুলি যেকোনো নেটওয়ার্ক থেকে ল্যান্ডলাইনে কল করতে এবং গ্রহণ করতে পারে।
স্থাপত্য: ব্রিজটি একটি B2BUA যা অবশ্যই হোম LAN-এ থাকতে হবে কারণ IMS কোর শুধুমাত্র রাউটারের সাথে কথা বলে এবং RTP অবশ্যই LAN ইন্টারফেস থেকে উদ্ভূত হতে হবে। একটি লেগ রাউটারের সাথে JUICE/IMS (TLS সিগন্যালিং, AMR/AMR-WB অডিও) কথা বলে; অন্যটি একটি সাধারণ SIP/PCMU ট্রাঙ্ক, pjproject-এর কনফারেন্স ব্রিজের মাধ্যমে AMR-থেকে-PCMU ট্রান্সকোডিং সহ। Asterisk একটি ছোট পাবলিক VPS-এ চলে যেখানে ফোন নিবন্ধন করে; এটি ডায়াল করা নম্বর স্বাভাবিক করে, ইনবাউন্ডে ফোন বাজায় এবং কলার-আইডি বহন করে। ব্রিজ এবং 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-এ একটি সর্বদা-চালু Linux মেশিন রুট সহ, Asterisk 18+ এর জন্য একটি ছোট পাবলিক VPS, একটি ওভারলে নেটওয়ার্ক, বিল্ড টুলস প্লাস AMR কোডেক ডেভ হেডার, IMS অ্যাকাউন্টের বিবরণ (পাবলিক আইডেন্টিটি, অথ ইউজারনেম, রিয়েলম, রেজিস্ট্রার/রাউটার ঠিকানা), এবং প্রদানকারীর ডিভাইস-অ্যাড 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 হেডারের মাধ্যমে ইনবাউন্ড কলার-আইডি, WAV ফরম্যাট এবং পরম-পাথ সতর্কতা সহ একটি ঐচ্ছিক ইনবাউন্ড IVR, অন্যান্য PBX যেমন Grandstream UCM এবং FreePBX-এর জন্য নির্দেশিকা (IVR-গুলিকে প্রাথমিক মিডিয়া বাজানোর পরিবর্তে উত্তর দিতে হবে), এবং একটি EARLY_ANSWER এস্কেপ হ্যাচও নথিভুক্ত করা আছে। একটি কুইর্কস বিভাগ লক্ষণগুলিকে কারণের সাথে ম্যাপ করে, যার মধ্যে নীরব REGISTER ড্রপ, এক থেকে দুই মিনিটে কল মারা যাওয়া, দীর্ঘ আপটাইমের পরে PJ_ETOOSMALL, মাল্টি-হোমড RTP থেকে একমুখী অডিও এবং অনুপস্থিত ফিচার ট্যাগের কারণে ইনবাউন্ড না বাজানো। সবকিছু একটি টেমপ্লেট যাতে কোনো প্রকৃত নম্বর, আইপি, পাসওয়ার্ড বা প্রদানকারী হোস্টনাম নেই; প্রকল্পটি MIT লাইসেন্সযুক্ত এবং একটি দাবিত্যাগ অন্তর্ভুক্ত করে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.