रेंजिंग: आउट-ऑफ़-बैंड स्पेसिफ़िकेशन वर्शन 3

Android 16 में, रेंजिंग मॉड्यूल को पेश किया गया है. इस प्रोटोकॉल और पेलोड स्पेसिफ़िकेशन में, मैसेज के क्रम और आउट-ऑफ़-बैंड (ओओबी) कम्यूनिकेशन के पेलोड के बारे में बताया गया है. इसका इस्तेमाल, रेंजिंग कॉन्फ़िगरेशन को शेयर करने के लिए किया जाता है. साथ ही, रेंजिंग शुरू करने और बंद करने के लिए, रेंजिंग में शामिल होने वाले डिवाइसों के बीच किया जाता है. Android 17 में, इस स्पेसिफ़िकेशन का वर्शन 3 पेश किया गया है.

इस पेज पर, Android डिवाइसों के अलावा अन्य डिवाइसों के लिए सेवाएं देने वाली कंपनियों को इस स्पेसिफ़िकेशन को लागू करने की सुविधा मिलती है. इससे उनके डिवाइस, Android डिवाइसों के साथ काम कर पाते हैं.

Google की पैकेट डिस्क्रिप्शन लैंग्वेज (पीडीएल) में इस स्पेसिफ़िकेशन को लागू करने का तरीका GitHub पर उपलब्ध है. इस लागू करने की प्रोसेस से, PDL कंपाइलर, इस स्पेसिफ़िकेशन में तय किए गए मैसेज के लिए, क्रम से लगाने और क्रम से हटाने का कोड जनरेट कर सकता है. यह स्पेसिफ़िकेशन, C++, Rust, और Java जैसी कई टारगेट भाषाओं के साथ काम करता है.

वर्शन 3 में नया क्या है

OOB स्पेसिफ़िकेशन के तीसरे वर्शन में ये बदलाव किए गए हैं:

  • मोशन की सूचना: यह एक ऐसा मैसेज होता है जिसका इस्तेमाल विज्ञापन देने वाले व्यक्ति या कंपनी का डिवाइस, मोशन में हुए बदलाव के बारे में सूचना देने वाले डिवाइस को सूचना देने के लिए करता है.
  • रेंजिंग कॉन्फ़िगरेशन: इसमें एक नया Motion support फ़ील्ड शामिल है. इससे अनुरोध करने वाले व्यक्ति को यह सूचना मिलती है कि जवाब देने वाले व्यक्ति की ओर से, पेरीफ़ेरल डिवाइस की गतिविधि में हुए किसी भी बदलाव के बारे में उसे सूचना देनी है.
  • रेंजिंग की सुविधा और रेंजिंग कॉन्फ़िगरेशन में, वाई-फ़ाई पीडी टेक्नोलॉजी के लिए नई सुविधा जोड़ी गई है.
  • Wi-Fi NAN RTT Ranging Capability में Supported Bandwidth और Supported number of Receive chains फ़ील्ड को बंद कर दिया गया है.

एंडियननेस

जब तक अलग से जानकारी नहीं दी जाती, तब तक मैसेज में मौजूद सभी मल्टी-बाइट न्यूमेरिक फ़ील्ड, लिटिल-एंडियन ऑर्डर में होते हैं.

मैसेज और मैसेज का क्रम

इस सेक्शन में, मैसेज और मैसेज एक्सचेंज के क्रम के बारे में बताया गया है.

नीचे दी गई टेबल में, OOB एक्सचेंज में मौजूद सभी मैसेज दिखाए गए हैं:

मैसेज मैसेज की आईडी
Ranging Capability Request 0x0
Ranging Capability Response 0x1
Ranging Configuration 0x2
Ranging Configuration Response (वैकल्पिक) 0x3
Stop Ranging 0x6
Stop Ranging Response (वैकल्पिक) 0x7
Motion Notification 0x8

पहले और दूसरे डायग्राम में दिखाया गया है कि अलग-अलग कम्यूनिकेशन चैनल के लिए, मैसेज एक्सचेंज की सुविधा कैसे ट्रिगर होती है.

कनेक्शन पर आधारित कम्यूनिकेशन चैनल, जैसे कि BLE GATT के लिए, मैसेज का आदान-प्रदान तब शुरू होता है, जब शुरू करने वाला डिवाइस, जवाब देने वाले डिवाइस को Ranging Capability Request भेजता है. जवाब देने वाला डिवाइस, Ranging Capability Response भेजकर जवाब देता है. इसे पहली इमेज में दिखाया गया है:

कनेक्शन के आधार पर कम्यूनिकेशन चैनल का फ़्लो

पहली इमेज. कनेक्शन पर आधारित कम्यूनिकेशन चैनल का इस्तेमाल करके, ओओबी मैसेज एक्सचेंज करना.

विज्ञापन दिखाने वाले कम्यूनिकेशन चैनलों के लिए, जवाब देने वाला डिवाइस Ranging Capability Response का विज्ञापन दिखाना शुरू करता है. इस मामले में, डिवाइस Ranging Capability Request नहीं भेजता है. इसके बजाय, विज्ञापन का पता चलने के बाद, जब विज्ञापन शुरू करने वाला डिवाइस (शुरुआती स्कैनर) तैयार हो जाता है, तो वह Ranging Configuration को पहले मैसेज के तौर पर भेजता है. इसे इमेज 2 में दिखाया गया है:

विज्ञापन पर आधारित कम्यूनिकेशन चैनल का फ़्लो

दूसरी इमेज. विज्ञापन के आधार पर कम्यूनिकेशन का इस्तेमाल करके, OOB मैसेज एक्सचेंज करना.

दोनों मामलों में, मैसेज के बाकी हिस्से में कोई बदलाव नहीं होता. Ranging Configuration मैसेज मिलने के तुरंत बाद, जवाब देने वाला डिवाइस रेंजिंग शुरू कर देता है. Stop Ranging मैसेज मिलने या उसका पता चलने के बाद, जवाब देने वाले डिवाइस की रेंजिंग बंद हो जाती है.

कनेक्शन पर आधारित फ़्लो में, जवाब देने वाला डिवाइस सिर्फ़ उन रेंजिंग टेक्नोलॉजी की क्षमताओं को दिखाता है जिनके लिए Ranging Capability Request मैसेज में अनुरोध किया गया है. वहीं, विज्ञापन फ़्लो में, जवाब देने वाले डिवाइस को अपनी सभी क्षमताओं को दिखाना होता है, क्योंकि क्षमताओं के लिए अनुरोध करने वाला कोई मैसेज नहीं होता.

अनुरोध भेजने वाला डिवाइस यह मानकर चलता है कि उसे भेजे गए किसी भी अनुरोध के लिए सिर्फ़ एक जवाब मिलेगा. जवाब देने वाले डिवाइस को इस तरह का कोई अनुमान नहीं लगाना चाहिए, ताकि वह किसी भी क्रम में किसी भी अनुरोध का जवाब दे सके. इससे यह पुष्टि होती है कि जवाब देने वाला डिवाइस, शुरू करने वाले डिवाइस से मिले लगातार कई Ranging Capability Request मैसेज या क्रम से बाहर के किसी अन्य मैसेज का जवाब दे सकता है.

टेक्नोलॉजी में बदलाव

OOB वर्शन की मदद से, डिवाइस किसी सेशन के दौरान अलग-अलग रेंजिंग टेक्नोलॉजी के बीच डाइनैमिक तरीके से ट्रांज़िशन कर सकते हैं. इसके लिए, लाइव स्ट्रीम शुरू करने वाला व्यक्ति ये काम कर सकता है:

  • नई टेक्नोलॉजी को शुरू करने के लिए, एक से ज़्यादा Ranging Configuration मैसेज भेजें.
  • चालू टेक्नोलॉजी को बंद करने के लिए, Stop Ranging को कई मैसेज भेजें.

इन मैसेज का क्रम, जवाब देने वाले सिस्टम की ओर से इस्तेमाल की जा रही ट्रांज़िशन स्कीम के हिसाब से अलग-अलग होता है:

  • ब्रेक-बिफ़ोर-मेक: शुरू करने वाला व्यक्ति, नई टेक्नोलॉजी पर सिर्फ़ तब स्विच कर सकता है, जब वह पहली टेक्नोलॉजी को Stop Ranging मैसेज के साथ बंद कर दे और दूसरी टेक्नोलॉजी को Ranging Configuration मैसेज के साथ शुरू कर दे.
  • मेक-बिफ़ोर-ब्रेक: शुरू करने वाला व्यक्ति, Ranging Configuration मैसेज का इस्तेमाल करके नई टेक्नोलॉजी शुरू कर सकता है. इसके बाद, Stop Ranging मैसेज का इस्तेमाल करके मौजूदा टेक्नोलॉजी को बंद कर सकता है.

जवाब देने वाले को, इन ट्रांज़िशन स्कीम में से किसी एक के लिए सहायता लागू करनी होगी. ऐसा, supported technology transitioning फ़ील्ड की वैल्यू के हिसाब से करना होगा. यह वैल्यू, supported technology transitioning में मौजूद होती है.Ranging Capability Response

रेंजिंग टेक्नोलॉजी के आईडी

रेंजिंग टेक्नोलॉजी के आईडी यहां दी गई टेबल में दिए गए हैं:

रेंजिंग टेक्नोलॉजी आईडी
यूडब्ल्यूबी 0x0
CS 0x1
वाई-फ़ाई एनएएन आरटीटी 0x2
RSSI 0x3
Wi-Fi PD 0x4
RFU 0x5 - 0xFF

इन आईडी का इस्तेमाल यहां दी गई टेबल में किया जाता है. इनमें रेंजिंग टेक्नोलॉजी आईडी की ज़रूरत होती है. रेंजिंग टेक्नोलॉजी bitfield वाले फ़ील्ड के लिए, टेक्नोलॉजी के आईडी के इंडेक्स से मेल खाने वाला बिट सेट किया जाता है. ऐसा तब होता है, जब उस टेक्नोलॉजी को बिटफ़ील्ड में शामिल किया जाता है.

उदाहरण के लिए, आरएसएसआई की आईडी वैल्यू 3 है. हालांकि, अगर आरएसएसआई को रेंजिंग टेक्नोलॉजी बिटफ़ील्ड में शामिल किया जाता है, तो आईडी (3) की पोज़िशन वाला बिट चालू होना चाहिए (पहला बिट पोज़िशन 0 पर होता है). इससे बिटफ़ील्ड की वैल्यू 0x8 हो जाती है. अगर यूडब्ल्यूबी और आरएसएसआई, दोनों को शामिल किया जाता है, तो बिटफ़ील्ड की वैल्यू 0x0A होती है. इसका मतलब है कि दोनों बिट 0 और 3 चालू हैं.

मैसेज का फ़ॉर्मैट

हर मैसेज में एक हेडर और एक पेलोड होता है.

मैसेज का फ़ॉर्मैट

तीसरी इमेज. मैसेज का फ़ॉर्मैट.

साइज़: 2 बाइट

ब्यौरा: हेडर, सभी मैसेज में एक जैसा होता है. यह मैसेज का पहला हिस्सा होता है. हेडर में, मैसेज टाइप का वर्शन और आईडी होता है. वर्शन फ़ील्ड से, इस स्पेसिफ़िकेशन के उस वर्शन के बारे में पता चलता है जिसके मुताबिक मैसेज का कॉन्टेंट है. अलग-अलग वर्शन वाले डिवाइसों के बीच वर्शनिंग का इस्तेमाल कैसे किया जाता है, इस बारे में ज़्यादा जानने के लिए वर्शनिंग देखें. हेडर, अलग-अलग वर्शन के साथ काम करता है. इसका मतलब है कि इस्तेमाल का तरीका, वर्शन और मैसेज के आईडी का पता लगाने के लिए हमेशा इसे पार्स कर सकता है.

हेडर के बारे में यहां दी गई टेबल में बताया गया है:

ऑक्टेट डेटा टाइप ब्यौरा मान
0 uint8 वर्शन
  • 0x1 - V1
  • 0x2 - V2
  • 0x3 - V3
1 uint8 मैसेज की आईडी
  • 0x0 - Ranging Capability Request मैसेज
  • 0x1 - Ranging Capability Response मैसेज
  • 0x2 - Ranging Configuration मैसेज
  • 0x3 - Ranging Configuration Response मैसेज (ज़रूरी नहीं)
  • 0x6 - Stop Ranging मैसेज
  • 0x7 - Stop Ranging Response मैसेज (ज़रूरी नहीं)
  • 0x8 - Motion Notification मैसेज
  • 0x4-0x5, 0x9 - 0xFF RFU

पेलोड

साइज़: अलग-अलग होता है (मैसेज के टाइप पर निर्भर करता है)

जानकारी: पेलोड, मैसेज का आखिरी हिस्सा होता है. यह हेडर के बाद आता है. पेलोड, मैसेज के टाइप पर निर्भर करता है. हर मैसेज टाइप के पेलोड का फ़ॉर्मैट, यहां दिए गए सेक्शन में बताया गया है.

रेंजिंग की सुविधा के लिए अनुरोध करने वाले मैसेज का पेलोड

साइज़ (इसमें हेडर का साइज़ शामिल नहीं है): 2 बाइट

ब्यौरा: मैसेज एक्सचेंज शुरू करने के लिए, इसे शुरू करने वाले डिवाइस से भेजा जाता है. अगर बातचीत का चैनल विज्ञापन पर आधारित है, तो यह मैसेज दिखाना ज़रूरी नहीं है. ऐसे में, जवाब देने वाले डिवाइस को पहले चरण के तौर पर Ranging Capability Response मैसेज का विज्ञापन दिखाना होगा. शुरुआत करने वाला डिवाइस (शुरुआती स्कैनर), विज्ञापन को पढ़ता है और सीधे तौर पर Ranging Capability Request मैसेज भेजता है. इससे इस मैसेज की ज़रूरत नहीं पड़ती.

Ranging Capability Request मैसेज के पेलोड के बारे में यहां दी गई टेबल में बताया गया है:

ऑक्टेट डेटा टाइप ब्यौरा मान
0 uint8*2 रेंजिंग टेक्नोलॉजी के लिए अनुरोध किया गया बिटफ़ील्ड
  • 0x01 - यूडब्ल्यूबी
  • 0x02 - बीएलई चैनल साउंडिंग
  • 0x04 - वाई-फ़ाई एनएएन आरटीटी
  • 0x08 - बीएलई आरएसएसआई
  • 0x10 - वाई-फ़ाई पीडी
  • RFU

रेंजिंग की सुविधा से जुड़े जवाब के मैसेज का पेलोड

साइज़ (हेडर का साइज़ शामिल नहीं है): अलग-अलग होता है (कॉमन पार्ट 2 बाइट के साथ-साथ, शामिल की गई हर रेंजिंग टेक्नोलॉजी के बाइट का साइज़)

ब्यौरा: यह मैसेज, फ़ॉर्म का जवाब देने वाले व्यक्ति ने Ranging Capability Request मैसेज के जवाब के तौर पर भेजा है. इस मैसेज पेलोड में, सामान्य हिस्सा और रेंजिंग टेक्नोलॉजी के हिसाब से अलग-अलग हिस्से (बीएलई सीएस, वाई-फ़ाई एनएएन आरटीटी, बीएलई आरएसएसआई) शामिल होते हैं. इन्हें यहां दी गई टेबल में दिखाया गया है. रेंजिंग टेक्नोलॉजी से जुड़ा हर हिस्सा सिर्फ़ तब जोड़ा जाना चाहिए, जब जवाब देने वाले डिवाइस पर वह रेंजिंग टेक्नोलॉजी काम करती हो और Ranging Capability Request मैसेज में उसका अनुरोध किया गया हो. विज्ञापन के लिए इस्तेमाल किए जाने वाले कम्यूनिकेशन चैनल में, रेंजिंग की सभी टेक्नोलॉजी शामिल होनी चाहिए.

Ranging Capability Response मैसेज के सामान्य पेलोड के बारे में यहां बताया गया है:

ऑक्टेट डेटा टाइप ब्यौरा मान
0 uint8*2 रेंजिंग की सुविधा के साथ काम करने वाली टेक्नोलॉजी का बिटफ़ील्ड. इससे रेंजिंग टेक्नोलॉजी की उन क्षमताओं के सेट के बारे में पता चलता है जो पेलोड के बाकी हिस्से में शामिल हैं.
  • 0x01 - यूडब्ल्यूबी
  • 0x02 - बीएलई चैनल साउंडिंग
  • 0x04 - वाई-फ़ाई एनएएन आरटीटी
  • 0x08 - बीएलई आरएसएसआई
  • 0x10 - वाई-फ़ाई पीडी
  • RFU
2 बाइट अरे टेक्नोलॉजी की क्षमता के हिसाब से बाइट की रेंज. हर टेक्नोलॉजी के हिसाब से तय किए गए स्ट्रक्चर के दोहराए गए ब्लॉक.
भिन्न uint8 इससे टेक्नोलॉजी ट्रांज़िशन के लिए सहायता मिलती है.
  • 0x00 - ब्रेक-बिफ़ोर-मेक की सुविधा काम करती है.
  • 0x01 - मेक-बिफ़ोर-ब्रेक की सुविधा उपलब्ध है. जवाब देने वाला मॉडल, एक साथ कई टेक्नोलॉजी का इस्तेमाल कर सकता है.
भिन्न uint16 इससे जवाब देने वाले व्यक्ति के डिवाइस के टाइप का पता चलता है.
  • 0x00 - Unknown
  • 0x01 - फ़ोन
  • 0x02 - टैबलेट
  • 0x03 - टैग
  • 0x04 - पहने जाने वाले डिवाइस
  • 0x05 - कान में पहनने वाला स्मार्ट डिवाइस
  • RFU

UWB Ranging Capability Response मैसेज के पेलोड की खास जानकारी, यहां दी गई टेबल में दी गई है:

ऑक्टेट डेटा टाइप ब्यौरा मान
0 uint8 रेंजिंग टेक्नोलॉजी आईडी 0x0 - यूडब्ल्यूबी
1 uint8 साइज़ यूडब्ल्यूबी की क्षमताओं का साइज़, बाइट में. इसमें टेक्नोलॉजी आईडी और साइज़ फ़ील्ड शामिल हैं.
2 uint8*2 यूडब्ल्यूबी पता यह डिवाइस का यूडब्ल्यूबी पता है. इसकी लंबाई 2 बाइट होती है.
4 uint8*4 सहायता देने वाले चैनलों का बिटफ़ील्ड यह बिटफ़ील्ड, उन चैनलों के बारे में बताता है जिन पर यह सुविधा काम करती है. बिट को 0 पर सेट करने का मतलब है कि सुविधा काम नहीं करती. वहीं, 1 पर सेट करने का मतलब है कि सुविधा काम करती है. बिट 0, चैनल 0 से मेल खाती है.
LSB == channel 0
MSB == channel 31
8 uint8*4 प्रीऐंबल इंडेक्स बिटफ़ील्ड के साथ काम करता है प्रीऐंबल के इंडेक्स का बिटफ़ील्ड. बिट को 0 पर सेट करने का मतलब है कि सुविधा काम नहीं करती. वहीं, 1 पर सेट करने का मतलब है कि सुविधा काम करती है. बिट 0, प्रीऐंबल इंडेक्स 1 से मेल खाता है.
LSB == preamble index 1
MSB == preamble index 32
12 uint8*4 कॉन्फ़िगरेशन आईडी बिटफ़ील्ड, जिन्हें इस्तेमाल किया जा सकता है यह बिटफ़ील्ड, काम करने वाले यूडब्ल्यूबी कॉन्फ़िगरेशन आईडी के बारे में बताता है. बिट को 0 पर सेट करने का मतलब है कि यह सुविधा मौजूद नहीं है, वहीं, बिट को 1 पर सेट करने का मतलब है कि यह सुविधा काम करती है.
LSB == config Id 0
MSB == config Id 31
16 uint8*2 रेंजिंग के लिए कम से कम इंटरवल इससे पता चलता है कि रेंजिंग के लिए सबसे कम समय कितना है. यह समय मिलीसेकंड में होता है. इस्तेमाल की जा सकने वाली वैल्यू (मिलीसेकंड में):
  • 96
  • 120
  • 240
  • 600
18 uint8 स्लॉट की कम से कम अवधि इससे पता चलता है कि स्लॉट की कम से कम अवधि कितनी होनी चाहिए. यह अवधि मिलीसेकंड में होती है. उदाहरण के लिए, अगर डिवाइस 1 मि॰से॰ का समय दिखाता है, तो यह माना जाता है कि यह 2 मि॰से॰ या इससे ज़्यादा समय के स्लॉट के साथ भी काम करता है. इस्तेमाल की जा सकने वाली वैल्यू (मिलीसेकंड में):
  • 1
  • 2
19 यूडब्ल्यूबी डिवाइस की भूमिका के लिए बिटफ़ील्ड यह UWB की उन भूमिकाओं का बिटफ़ील्ड है जिन्हें इस्तेमाल किया जा सकता है. उदाहरण के लिए, अगर दोनों में फ़ाइनल फ़ील्ड वैल्यू 0x3 है.
  • 0x1 - शुरू करने वाले की भूमिका के लिए काम करता है
  • 0x2 - जवाब देने वाले की भूमिका के लिए उपलब्ध है

BLE CS Ranging Capability Response मैसेज के पेलोड की खास जानकारी, यहां दी गई टेबल में दी गई है:

ऑक्टेट डेटा टाइप ब्यौरा मान
0 uint8 रेंजिंग टेक्नोलॉजी आईडी 0x1 - BLE CS
1 uint8 साइज़ बीएलई सीएस की क्षमताओं का साइज़, बाइट में. इसमें टेक्नोलॉजी आईडी और साइज़ फ़ील्ड शामिल हैं.
2 uint8 सुरक्षा के टाइप के लिए इस्तेमाल किया जा सकने वाला बिटफ़ील्ड यह बीएलई सीएस के लिए, इस्तेमाल किए जा सकने वाले सुरक्षा टाइप का बिटफ़ील्ड है.
  • 0x01 - CS_SECURITY_LEVEL_UNKNOWN
  • 0x02 - CS_SECURITY_LEVEL_ONE
  • 0x04 - CS_SECURITY_LEVEL_TWO
  • 0x08 - CS_SECURITY_LEVEL_THREE
  • 0x10 - CS_SECURITY_LEVEL_FOUR
3 uint8*6 डिवाइस का पता BLE CS के लिए इस्तेमाल किए गए डिवाइस का पता; बिग-एंडियन क्रम में.

Wi-Fi NAN RTT Ranging Capability Response मैसेज के पेलोड की खास जानकारी यहां दी गई टेबल में दी गई है:

ऑक्टेट डेटा टाइप ब्यौरा मान
0 uint8 रेंजिंग टेक्नोलॉजी आईडी 0x2 - वाई-फ़ाई एनएएन आरटीटी
1 uint8 साइज़ बाइट में, बीएलई आरएसएसआई की क्षमताओं का साइज़. इसमें टेक्नोलॉजी आईडी और साइज़ फ़ील्ड शामिल हैं.
2 uint8 इस्तेमाल की जा सकने वाली सुविधाओं का बिटफ़ील्ड इस्तेमाल की जा सकने वाली सुविधाओं का बिटफ़ील्ड.
  • 0x01 - 11mc की सुविधा उपलब्ध है
  • 0x02 - 11az की सुविधा उपलब्ध है
3 uint8 समय-समय पर रेंजिंग की सुविधा उपलब्ध है
  • 0x0 - समय-समय पर रेंजिंग करने की सुविधा मौजूद नहीं है
  • 0x1 - समय-समय पर रेंजिंग की सुविधा उपलब्ध है
4 uint8 बैंडविड्थ की सुविधा DEPRECATED इस जानकारी से, वाई-फ़ाई एनएएन का इस्तेमाल करके रेंजिंग की सटीक जानकारी मिलती है. साथ ही, इससे ऐप्लिकेशन को यह तय करने में मदद मिलती है कि रेंजिंग के लिए, यूडब्ल्यूबी, बीएलई सीएस, बीएलई आरएसएसआई या वाई-फ़ाई एनएएन का इस्तेमाल करना है या नहीं.
  • 0x00 - 20 मेगाहर्ट्ज़
  • 0x01 - 40 मेगाहर्ट्ज़
  • 0x02 - 80 मेगाहर्ट्ज़
  • 0x03 - 160 मेगाहर्ट्ज़
  • 0x04 - 80+80 मेगाहर्ट्ज़
  • 0x05 - 320 मेगाहर्ट्ज़
  • RFU
5 uint8 मिलने वाली चेन की संख्या DEPRECATED इस जानकारी से, वाई-फ़ाई एनएएन का इस्तेमाल करके रेंजिंग की सटीक जानकारी मिलती है. साथ ही, इससे ऐप्लिकेशन को यह तय करने में मदद मिलती है कि रेंजिंग के लिए, यूडब्ल्यूबी, बीएलई सीएस, बीएलई आरएसएसआई या वाई-फ़ाई एनएएन का इस्तेमाल करना है या नहीं.
  • 0x00 - तय नहीं है
  • 0x01 - 1 RX चेन
  • 0x02 - 2 RX चेन
  • 0x03 - 3 RX चेन
  • 0x04 - 4 RX चेन

बीएलई आरएसएसआई Ranging Capability Response मैसेज पेलोड के बारे में यहां दी गई टेबल में बताया गया है:

ऑक्टेट डेटा टाइप ब्यौरा मान
0 uint8 रेंजिंग टेक्नोलॉजी आईडी 0x3 - बीएलई आरएसएसआई
1 uint8 साइज़ BLE RSSI की क्षमताओं के बाइट का साइज़. इसमें टेक्नोलॉजी आईडी और साइज़ फ़ील्ड शामिल हैं
2 uint8*6 डिवाइस का पता बीएलई आरएसएसआई के लिए इस्तेमाल किए गए डिवाइस का पता; बिग-एंडियन क्रम में

वाई-फ़ाई पीडी Ranging Capability Response मैसेज के पेलोड की खास जानकारी, यहां दी गई टेबल में दी गई है:

ऑक्टेट डेटा टाइप ब्यौरा मान
0 uint8 रेंजिंग टेक्नोलॉजी आईडी 0x4 - वाई-फ़ाई पीडी
1 uint8 साइज़ Wi-Fi PD की क्षमताओं का साइज़, बाइट में. इसमें टेक्नोलॉजी आईडी और साइज़ फ़ील्ड शामिल हैं
2 uint8 साथ काम करने वाली सुविधाएं बिटमैप
  • b0 - 11mc के साथ काम करता है
  • b1 - 11az की सुविधा उपलब्ध है
3 uint8 PansMode बिटमैप
  • b0 - बिना पुष्टि किया गया PASN मोड
  • b1 - पुष्टि किया गया PASN मोड
4 uint8*6 डिवाइस का पता वाई-फ़ाई पीडी के लिए इस्तेमाल किए गए डिवाइस का पता; बिग-एंडियन क्रम में.
10 uint8*2 802.11mc के लिए रेंजिंग का कम से कम इंटरवल 11mc के लिए, बिग-एंडियन फ़ॉर्मैट में रेंजिंग का कम से कम इंटरवल
12 uint8*2 802.11az के लिए रेंजिंग का कम से कम इंटरवल 11az के लिए, बिग-एंडियन फ़ॉर्मैट में रेंजिंग का कम से कम इंटरवल
14 uint8 प्रीऐंबल का ज़्यादा से ज़्यादा टाइप
  • 0 - PREAMBLE_LEGACY
  • 1 - PREAMBLE_HT
  • 2 - PREAMBLE_VHT
  • 3 - PREAMBLE_HE
  • 4 - PREAMBLE_EHT
मान लें कि सभी छोटे प्रीऐम्बल काम करेंगे.
15 uint8 चैनल की ज़्यादा से ज़्यादा चौड़ाई
  • 0 - CHANNEL_WIDTH_20MHZ
  • 1 - CHANNEL_WIDTH_40MHZ
  • 2 - CHANNEL_WIDTH_80MHZ
  • 3 - CHANNEL_WIDTH_160MHZ
  • 4 - CHANNEL_WIDTH_80MHZ_PLUS_MHZ
  • 5 - CHANNEL_WIDTH_320MHZ
मान लें कि चैनल की सभी छोटी चौड़ाई काम करेंगी.
16 uint8*2 चैनल की फ़्रीक्वेंसी
  • b0 - चैनल 1
  • b1 - चैनल 11
  • b2 - चैनल 36
  • b3 - चैनल 40
  • b4 - चैनल 44
  • b5 - चैनल 48
  • b6 - चैनल 153
  • b7 - चैनल 157
  • b8 - चैनल 161
  • b9 - चैनल 165
  • b10-b15 - RFU

रेंजिंग कॉन्फ़िगरेशन मैसेज पेलोड

साइज़ (इसमें हेडर का साइज़ शामिल नहीं है): अलग-अलग होता है (कॉमन पार्ट 4 बाइट और इसमें शामिल हर रेंजिंग टेक्नोलॉजी बाइट का साइज़).

जानकारी: यह मैसेज, रेंजिंग की प्रोसेस शुरू करने वाला व्यक्ति भेजता है. इसमें वे कॉन्फ़िगरेशन होते हैं जिनकी मदद से, रेंजिंग की प्रोसेस शुरू की जा सकती है. इस मैसेज को पाने के बाद, जवाब देने वाले डिवाइस को रेंजिंग की हर बताई गई टेक्नोलॉजी के साथ रेंजिंग शुरू करनी होगी. इस मैसेज पेलोड में, सामान्य हिस्सा और रेंजिंग टेक्नोलॉजी के हिसाब से अलग-अलग हिस्से (यूडब्ल्यूबी, बीएलई सीएस, वाई-फ़ाई एनएएन आरटीटी, बीएलई आरएसएसआई) शामिल होते हैं. इन्हें यहां दी गई टेबल में दिखाया गया है.

Ranging Configuration मैसेज के सामान्य पेलोड के बारे में यहां बताया गया है:

ऑक्टेट डेटा टाइप ब्यौरा मान
0 uint8*2 रेंजिंग टेक्नोलॉजी के कॉन्फ़िगरेशन सेट का बिट फ़ील्ड रेंजिंग टेक्नोलॉजी का बिटफ़ील्ड, जिसके लिए इस मैसेज में कॉन्फ़िगरेशन डेटा शामिल है और जिसके लिए कॉन्फ़िगरेशन पैरामीटर सेट किए जाने चाहिए.
  • 0x01 - यूडब्ल्यूबी
  • 0x02 - बीएलई चैनल साउंडिंग
  • 0x04 - वाई-फ़ाई एनएएन आरटीटी
  • 0x08 - बीएलई आरएसएसआई
  • 0x10 - वाई-फ़ाई पीडी
  • RFU
2 uint8*2 बिटफ़ील्ड RFU. इसे Ranging technologies configuration set bitfield फ़ील्ड की वैल्यू के बराबर सेट किया जाना चाहिए.
4 बाइट अरे रेंजिंग टेक्नोलॉजी के कॉन्फ़िगरेशन बाइट हर टेक्नोलॉजी के हिसाब से तय किए गए स्ट्रक्चर के दोहराए गए ब्लॉक
बदलता रहता है uint8 मोशन सिकनेस होने पर मदद पाने की सुविधा Motion Notification ने अनुरोध किया
  • 0x0 - इससे पता चलता है कि अनुरोध करने वाले डिवाइस को मोशन डेटा की ज़रूरत नहीं है.
  • 0x1 - इससे पता चलता है कि शुरू करने वाले डिवाइस को, पीयर डिवाइस से मोशन डेटा की ज़रूरत है.

UWB Ranging Configuration मैसेज के पेलोड के बारे में यहां दी गई टेबल में बताया गया है:

ऑक्टेट डेटा टाइप ब्यौरा मान
0 uint8 रेंजिंग टेक्नोलॉजी आईडी 0x0 - यूडब्ल्यूबी
1 uint8 साइज़ बाइट में, यूडब्ल्यूबी कॉन्फ़िगरेशन का साइज़. इसमें टेक्नोलॉजी आईडी और साइज़ फ़ील्ड शामिल हैं
2 uint8*2 यूडब्ल्यूबी पता डिवाइस का यूडब्ल्यूबी पता (2 बाइट)
4 uint8*4 सेशन आईडी जनरेट किया गया सेशन आईडी. सेशन आईडी, फ़ोन और पेरिफ़रल के बीच रेंजिंग सेशन के लिए यूनीक आइडेंटिफ़ायर होता है.
8 uint8 चुना गया कॉन्फ़िगरेशन आईडी चुने गए कॉन्फ़िग आईडी की पूर्णांक संख्या. कॉन्फ़िगरेशन आईडी, टाइमिंग पैरामीटर और सुरक्षा के उस टाइप के बारे में बताता है जिसका इस्तेमाल यूडब्ल्यूबी रेंजिंग सेशन के लिए किया जाना चाहिए.
9 uint8 चुना गया चैनल UWB रेंजिंग सेशन के लिए चुना गया चैनल
10 uint8 चुना गया प्रस्तावना इंडेक्स UWB रेंजिंग सेशन के लिए चुना गया प्रीऐंबल इंडेक्स
11 uint8*2 चुना गया रेंजिंग इंटरवल चुने गए रेंजिंग इंटरवल की दर, मिलीसेकंड में. इस्तेमाल की जा सकने वाली वैल्यू (मिलीसेकंड में):
  • 96
  • 120
  • 240
  • 600
13 uint8 चुने गए स्लॉट की अवधि चुने गए स्लॉट की अवधि, मिलीसेकंड में. इस्तेमाल की जा सकने वाली वैल्यू (मिलीसेकंड में):
  • 1
  • 2
14 uint8 सेशन के लिए कुंजी की लंबाई सेशन कुकी की लंबाई, बाइट में
15 बाइट अरे सेशन की कुकी सेशन के लिए कुंजी. अगर S-STS का इस्तेमाल किया जाता है, तो पहले दो बाइट वेंडर आईडी होते हैं और अगले छह बाइट स्टैटिक STS IV होते हैं. अगर P-STS का इस्तेमाल किया जाता है, तो यह 16 बाइट या 32 बाइट की सेशन कुकी होती है. इस्तेमाल की गई सुरक्षा का टाइप, कॉन्फ़िगरेशन आईडी से तय होता है.
बदलता रहता है uint8*2 देश का कोड ISO 3166-1 alpha-2 देश का कोड, जिसे दो ASCII वर्णों से दिखाया जाता है
बदलता रहता है uint8 चुनी गई डिवाइस की भूमिका
  • 0x01 - चर्चा शुरू करने वाला
  • 0x02 - जवाब देने वाला व्यक्ति
बदलता रहता है uint8 चुना गया डिवाइस मोड
  • 0x01 - कंट्रोलर
  • 0x02 - कंट्रोल किया जाने वाला डिवाइस

BLE CS Ranging Configuration मैसेज के पेलोड की खास जानकारी, यहां दी गई टेबल में दी गई है:

ऑक्टेट डेटा टाइप ब्यौरा मान
0 uint8 रेंजिंग टेक्नोलॉजी आईडी 0x1 - BLE CS
1 uint8 साइज़ बाइट में, BLE CS कॉन्फ़िगरेशन का साइज़. इसमें टेक्नोलॉजी आईडी और साइज़ फ़ील्ड शामिल हैं
2 uint8 चुनी गई सुरक्षा का टाइप चुनी गई सुरक्षा का टाइप. इस्तेमाल की जा सकने वाली वैल्यू:
  • 0x0 - CS_SECURITY_LEVEL_UNKNOWN
  • 0x1 - CS_SECURITY_LEVEL_ONE
  • 0x2 - CS_SECURITY_LEVEL_TWO
  • 0x3 - CS_SECURITY_LEVEL_THREE
  • 0x4 - CS_SECURITY_LEVEL_FOUR
3 uint8*6 डिवाइस का पता BLE CS के लिए इस्तेमाल किए गए डिवाइस का पता; बिग-एंडियन क्रम में

वाई-फ़ाई एनएएन आरटीटी Ranging Configuration मैसेज के पेलोड की खास जानकारी, यहां दी गई टेबल में दी गई है:

ऑक्टेट डेटा टाइप ब्यौरा मान
0 uint8 रेंजिंग टेक्नोलॉजी आईडी 0x2 - वाई-फ़ाई एनएएन आरटीटी
1 uint8 साइज़ बाइट में, वाई-फ़ाई एनएएन आरटीटी कॉन्फ़िगरेशन का साइज़. इसमें टेक्नोलॉजी आईडी और साइज़ फ़ील्ड शामिल हैं
2 uint8 सेवा के नाम की लंबाई सेवा के नाम वाले फ़ील्ड की लंबाई बाइट में. Wi-Fi Aware Specification v4.0 के सेक्शन 1.3.3 में दी गई टेबल 1 देखें. परिभाषाएं.
3 बाइट अरे सेवा का नाम सेवा का नाम. Wi-Fi Aware Specification v4.0 के सेक्शन 1.3.3 में दी गई टेबल 1 देखें. परिभाषाएं.
बदलता रहता है uint8 डिवाइस की भूमिका
  • 0x0 - जवाब देने वाला (एनएएन सेवा पब्लिशर)
  • 0x1 - इनीशिएटर (एनएएन सेवा का सदस्य)
बदलता रहता है uint8 समय-समय पर रेंजिंग की सुविधा का इस्तेमाल करना
  • 0x0 - समय-समय पर रेंजिंग की सुविधा बंद है
  • 0x1 - समय-समय पर रेंजिंग की सुविधा चालू है

बीएलई आरएसएसआई Ranging Configuration मैसेज पेलोड के बारे में यहां दी गई टेबल में बताया गया है:

ऑक्टेट डेटा टाइप ब्यौरा मान
0 uint8 रेंजिंग टेक्नोलॉजी आईडी 0x3 - बीएलई आरएसएसआई
1 uint8 साइज़ बाइट में, बीएलई आरएसएसआई कॉन्फ़िगरेशन का साइज़. इसमें टेक्नोलॉजी आईडी और साइज़ फ़ील्ड शामिल हैं
2 uint8*6 डिवाइस का पता बीएलई आरएसएसआई के लिए इस्तेमाल किए गए डिवाइस का पता; बिग-एंडियन क्रम में

वाई-फ़ाई पीडी Ranging Configuration मैसेज के पेलोड की खास जानकारी, यहां दी गई टेबल में दी गई है:

ऑक्टेट डेटा टाइप ब्यौरा मान
0 uint8 रेंजिंग टेक्नोलॉजी आईडी 0x4 - वाई-फ़ाई पीडी
1 uint8 साइज़ बाइट में, वाई-फ़ाई एनएएन पीडी कॉन्फ़िगरेशन का साइज़. इसमें टेक्नोलॉजी आईडी और साइज़ फ़ील्ड शामिल हैं
2 uint8 सुविधा
  • 0x01 - 11mc
  • 0x02 - 11az
3 uint8*6 Mac पता इनिशिएटर का मैक पता
9 uint8*2 रेंजिंग इंटरवल रेंजिंग इंटरवल (मिलीसेकंड में)
11 uint8 चुनी गई प्रस्तावना
  • 0 - PREAMBLE_LEGACY
  • 1 - PREAMBLE_HT
  • 2 - PREAMBLE_VHT
  • 3 - PREAMBLE_HE
  • 4 - PREAMBLE_EHT
12 uint8 चुने गए चैनल की चौड़ाई
  • 0 - CHANNEL_WIDTH_20MHZ
  • 1 - CHANNEL_WIDTH_40MHZ
  • 2 - CHANNEL_WIDTH_80MHZ
  • 3 - CHANNEL_WIDTH_160MHZ
  • 4 - CHANNEL_WIDTH_80MHZ_PLUS_MHZ
  • 5 - CHANNEL_WIDTH_320MHZ
13 uint8 चुना गया चैनल
  • 0 - चैनल 1
  • 1 - चैनल 11
  • 2 - चैनल 36
  • 3 - चैनल 40
  • 4 - चैनल 44
  • 5 - चैनल 48
  • 6 - चैनल 153
  • 7 - चैनल 157
  • 8 - चैनल 161
  • 9 - चैनल 165
14 uint8 PASN मोड चुना गया
  • 0x01 - बिना पुष्टि किया गया PASN मोड
  • 0x02 - पुष्टि किया गया PASN मोड
ध्यान दें: यह फ़ील्ड, बिना पुष्टि किए गए PASN मोड के लिए पैकेट का आखिरी हिस्सा होता है.
15 बाइट अरे डिवाइस की पहचान करने वाली कुंजी 16 बाइट का फ़िक्स्ड ऐरे
ध्यान दें:यह फ़ील्ड सिर्फ़ पुष्टि किए गए PASN मोड के लिए मान्य है. इसे पुष्टि नहीं किए गए PASN मोड के लिए सेट नहीं किया जाना चाहिए
31 uint8 पासवर्ड की लंबाई पासवर्ड की लंबाई.
ध्यान दें: यह फ़ील्ड सिर्फ़ पुष्टि किए गए PASN मोड के लिए मान्य है. इसे पुष्टि नहीं किए गए PASN मोड के लिए सेट नहीं किया जाना चाहिए.
बदलता रहता है बाइट अरे पासवर्ड बाइट ऐरे के तौर पर पासवर्ड.
ध्यान दें: यह फ़ील्ड सिर्फ़ पुष्टि किए गए PASN मोड के लिए मान्य है. इसे पुष्टि नहीं किए गए PASN मोड के लिए सेट नहीं किया जाना चाहिए.

रेंजिंग कॉन्फ़िगरेशन के जवाब वाले मैसेज का पेलोड

साइज़ (इसमें हेडर का साइज़ शामिल नहीं है): 2 बाइट

ब्यौरा: यह मैसेज, जवाब देने वाले व्यक्ति ने Ranging Configuration मैसेज के जवाब के तौर पर भेजा है. यह मैसेज देना ज़रूरी नहीं है. यह सिर्फ़ तब ज़रूरी होता है, जब इस्तेमाल किए गए कम्यूनिकेशन चैनल के लिए, हर अनुरोध का जवाब देना ज़रूरी हो.

Ranging Configuration Response मैसेज के पेलोड की खास जानकारी, यहां दी गई टेबल में दी गई है:

ऑक्टेट डेटा टाइप ब्यौरा मान
0 uint8*2 रेंजिंग टेक्नोलॉजी के कॉन्फ़िगरेशन के लिए बिट फ़ील्ड सेट किया गया रेंजिंग टेक्नोलॉजी का बिटफ़ील्ड, जिन्हें सेट किया गया है. अगर टेक्नोलॉजी का अनुरोध किया गया था और उसे सेट कर लिया गया है, तो बिटफ़ील्ड, रेंजिंग टेक्नोलॉजी बिट को 1 पर सेट करता है. ऐसा न होने पर, इसे 0 पर सेट करता है.
  • 0x01 - यूडब्ल्यूबी
  • 0x02 - बीएलई चैनल साउंडिंग
  • 0x04 - वाई-फ़ाई एनएएन आरटीटी
  • 0x08 - बीएलई आरएसएसआई
  • 0x10 - वाई-फ़ाई पीडी
  • RFU

Stop Ranging message payload

साइज़ (इसमें हेडर का साइज़ शामिल नहीं है): 2 बाइट

ब्यौरा: यह मैसेज, रेंजिंग की प्रोसेस शुरू करने वाले डिवाइस से तब भेजा जाता है, जब रेंजिंग की प्रोसेस को बंद करने का समय आ जाता है.

Stop Ranging मैसेज के पेलोड के बारे में यहां दी गई टेबल में बताया गया है:

ऑक्टेट डेटा टाइप ब्यौरा मान
0 uint8*2 बिटफ़ील्ड को रोकने के लिए रेंजिंग टेक्नोलॉजी रेंजिंग टेक्नोलॉजी का बिटफ़ील्ड, जिसे रेंजिंग बंद करनी होगी. बिट को 1 पर सेट करने का मतलब है कि रेंजिंग टेक्नोलॉजी को रेंजिंग बंद करनी होगी. वहीं, 0 पर सेट करने का मतलब है कि रेंजिंग टेक्नोलॉजी या तो शुरू से रेंजिंग नहीं कर रही थी या अगर वह पहले से रेंजिंग कर रही थी, तो उसे रेंजिंग जारी रखनी होगी. कुछ रेंजिंग टेक्नोलॉजी (जैसे कि सीएस) के लिए, यह कोई कार्रवाई नहीं है, क्योंकि रेंजिंग की सुविधा सिर्फ़ शुरू करने वाले व्यक्ति के डिवाइस पर शुरू और बंद की जाती है.
  • 0x01 - यूडब्ल्यूबी
  • 0x02 - बीएलई चैनल साउंडिंग
  • 0x04 - वाई-फ़ाई एनएएन आरटीटी
  • 0x08 - बीएलई आरएसएसआई
  • 0x10 - वाई-फ़ाई पीडी
  • RFU

Stop Ranging Response मैसेज पेलोड

साइज़ (इसमें हेडर का साइज़ शामिल नहीं है): 2 बाइट

ब्यौरा: यह मैसेज, जवाब देने वाले व्यक्ति ने Stop Ranging मैसेज के जवाब के तौर पर भेजा है. यह मैसेज देना ज़रूरी नहीं है. इसकी ज़रूरत सिर्फ़ तब पड़ती है, जब इस्तेमाल किए गए कम्यूनिकेशन चैनल के लिए, हर अनुरोध का जवाब देना ज़रूरी हो.

Stop Ranging Response मैसेज के पेलोड के बारे में यहां दी गई टेबल में बताया गया है:

ऑक्टेट डेटा टाइप ब्यौरा मान
0 uint8*2 रेंजिंग टेक्नोलॉजी को रोकने से जुड़ा बिटफ़ील्ड रेंजिंग टेक्नोलॉजी का बिटफ़ील्ड, जिसने रेंजिंग को सफलतापूर्वक रोक दिया है. अगर टेक्नोलॉजी को बंद करने का अनुरोध किया गया था और वह बंद हो गई है, तो बिटफ़ील्ड, रेंजिंग टेक्नोलॉजी बिट को 1 पर सेट करता है. ऐसा न होने पर, वह इसे 0 पर सेट करता है.
  • 0x01 - यूडब्ल्यूबी
  • 0x02 - बीएलई चैनल साउंडिंग
  • 0x04 - वाई-फ़ाई एनएएन आरटीटी
  • 0x08 - बीएलई आरएसएसआई
  • 0x10 - वाई-फ़ाई पीडी
  • RFU

मोशन इवेंट की सूचना के मैसेज का पेलोड

साइज़ (इसमें हेडर का साइज़ शामिल नहीं है): 1 बाइट

ब्यौरा: जवाब देने वाला डिवाइस, इस मैसेज को भेजता है. इससे, अनुरोध करने वाले डिवाइस को मोशन की स्थिति में हुए किसी भी बदलाव के बारे में सूचना मिलती है.

ऑक्टेट डेटा टाइप ब्यौरा मान
0 uint8 मोशन
  • 0x0 - पता नहीं चला
  • 0x1 - हल्की-फुल्की गतिविधि
  • 0x2 - सामान्य मूवमेंट
  • 0x3 - बड़ी गतिविधि
  • RFU
ऐक्सेसरी के किसी भी दो ऐक्सिस के साथ ±X° के ओरिएंटेशन में बदलाव का पता लगाने के लिए, मोशन थ्रेशोल्ड को कॉन्फ़िगर किया जाना चाहिए.
  • पता नहीं लगाया जा सका: < 5°
  • थोड़ी हलचल: 5° - 7°
  • सामान्य हलचल: 7° - 10°
  • ज़्यादा मूवमेंट: > 10°

वर्शन

स्पेसिफ़िकेशन का वर्शन, हर मैसेज के हेडर में मौजूद होता है. इस सेक्शन में बताया गया है कि जब दोनों डिवाइसों में से कोई एक डिवाइस, दूसरे डिवाइस के मुकाबले पुराने वर्शन पर काम कर रहा हो, तो कम्यूनिकेशन कैसे किया जाता है.

पहला केस: कनेक्शन पर आधारित कम्यूनिकेशन चैनल

इस सेक्शन में, कनेक्शन पर आधारित कम्यूनिकेशन चैनल का इस्तेमाल करने वाले उदाहरणों के बारे में बताया गया है. इनमें Ranging Capability Request, शुरू करने वाले डिवाइस से भेजा गया पहला मैसेज है.

केस 1.a: अनुरोध करने वाला, नए वर्शन के साथ काम करता है. जवाब देने वाला, स्पेसिफ़िकेशन के पुराने वर्शन के साथ काम करता है.

शुरुआत करने वाला डिवाइस, नए वर्शन के साथ Ranging Capability Request मैसेज भेजता है. जवाब देने वाले डिवाइस पर सिर्फ़ पुराना वर्शन काम करता है. इसलिए, वह उसी वर्शन में जवाब देता है. इसके बाद, मैसेज के बाकी लेन-देन के लिए, जवाब देने वाले डिवाइस के पुराने वर्शन का इस्तेमाल किया जाता है. इसका मतलब है कि Ranging Capability Request मैसेज को पुराने सिस्टम के साथ काम करना चाहिए.

केस 1.b: अनुरोध करने वाला डिवाइस, पुराने वर्शन के साथ काम करता है और जवाब देने वाला डिवाइस, नए वर्शन के साथ काम करता है.

जवाब देने वाले डिवाइस को पता चलता है कि शुरू करने वाला डिवाइस, नए वर्शन का इस्तेमाल नहीं कर सकता. इसलिए, वह सिर्फ़ पुराने वर्शन का इस्तेमाल करके मैसेज भेजता है. यह वही वर्शन होता है जिसके लिए शुरू करने वाले डिवाइस ने शुरुआत में अनुरोध किया था.

दूसरा उदाहरण: विज्ञापन पर आधारित कम्यूनिकेशन चैनल

इस सेक्शन में, विज्ञापन पर आधारित कम्यूनिकेशन चैनल का इस्तेमाल करने के उदाहरण दिए गए हैं. इनमें जवाब देने वाला डिवाइस, शुरुआती अनुरोध के बिना सीधे तौर पर Ranging Capability Request विज्ञापन दिखाता है.

केस 2.a: अनुरोध करने वाला, नए वर्शन के साथ काम करता है और जवाब देने वाला, स्पेसिफ़िकेशन के पुराने वर्शन के साथ काम करता है.

Ranging Capability Response विज्ञापन में सेट किए गए पुराने वर्शन का इस्तेमाल, बाकी के कम्यूनिकेशन के लिए किया जाता है.

दूसरी स्थिति (b): अनुरोध करने वाला डिवाइस, पुराने वर्शन के साथ काम करता है और जवाब देने वाला डिवाइस, नए वर्शन के साथ काम करता है.

Ranging Capability Response विज्ञापन का नया वर्शन, पिछले वर्शन के साथ काम करने वाला होना चाहिए, ताकि शुरू करने वाला डिवाइस मैसेज को पढ़ सके. भले ही, वह नए वर्शन का इस्तेमाल कर रहा हो. इसके बाद, शुरू करने वाला डिवाइस, Ranging Configuration मैसेज को उस पुराने वर्शन का इस्तेमाल करके भेजता है जो उसके साथ काम करता है. इस वर्शन का इस्तेमाल, बाकी के कम्यूनिकेशन के लिए किया जाता है.

यह पक्का करने के लिए कि Ranging Capability Response पुराने सिस्टम के साथ काम करता है, Ranging Capability Response मैसेज पेलोड में इस स्पेसिफ़िकेशन के अगले वर्शन में जोड़े गए किसी भी नए फ़ील्ड को पेलोड के आखिर में जोड़ना होगा. साथ ही, मौजूदा फ़ील्ड में से किसी को भी बदला नहीं जा सकता. कॉन्फ़िगरेशन पार्स करते समय, अगर बताया गया साइज़ उम्मीद से ज़्यादा है, तो अतिरिक्त फ़ील्ड को उन सभी डिवाइसों को अनदेखा करना होगा जो सिर्फ़ स्पेसिफ़िकेशन के पुराने वर्शन को समझ सकते हैं.

फ़्रैगमेंटेशन

यह स्पेसिफ़िकेशन, कम्यूनिकेशन चैनल के हिसाब से नहीं बनाया गया है. इसलिए, यह नहीं बताता कि मैसेज पेलोड को कैसे फ़्रैगमेंट किया जाए. ऐसा तब होता है, जब कोई मैसेज इतना बड़ा हो कि इस्तेमाल किए गए कम्यूनिकेशन चैनल के ट्रांसफ़र पैकेट में फ़िट न हो पाए. रेंजिंग मॉड्यूल को हर मैसेज, पूरे फ़ॉर्म में मिलता है. ओओबी कम्यूनिकेशन चैनल को लागू करने वाले व्यक्ति की यह ज़िम्मेदारी है कि वह फ़्रैगमेंटेशन की समस्या को ठीक करे.

Ranging-technology-specifics

इस सेक्शन में, रेंजिंग टेक्नोलॉजी के बारे में खास जानकारी दी गई है.

अल्ट्रा-वाइडबैंड (यूडब्ल्यूबी) की खास बातें

इस सेक्शन में, अल्ट्रा-वाइडबैंड से जुड़ी खास जानकारी दी गई है.

कॉन्फ़िगरेशन आईडी

UWB के लिए एक्सचेंज किए गए OOB कॉन्फ़िगरेशन डेटा में, कॉन्फ़िगर किए जा सकने वाले सभी पैरामीटर का पूरा सेट मौजूद नहीं है. UWB को UWB रेंजिंग सेशन शुरू करने के लिए, इन पैरामीटर की ज़रूरत होती है. ऐसा इसलिए है, क्योंकि चुने गए कॉन्फ़िगरेशन आईडी के हिसाब से कुछ पैरामीटर अपने-आप चुने जाते हैं.

हर कॉन्फ़िगरेशन आईडी, पहले से तय किए गए यूडब्ल्यूबी कॉन्फ़िगरेशन पैरामीटर का एक सेट होता है. इसके बारे में UwbRangingParams में बताया गया है. जवाब देने वाला डिवाइस, उन सभी कॉन्फ़िगरेशन आईडी की सूची भेजता है जिन्हें वह सपोर्ट करता है. यह सूची, supports_technology_transitioning एट्रिब्यूट के साथ भेजी जाती है. इससे ओओबी के दौरान, कॉन्फ़िगरेशन पैरामीटर का छोटा सेट शेयर किया जा सकता है. यह यूडब्ल्यूबी के साथ रेंजिंग के लिए इस्तेमाल किए जा सकने वाले पैरामीटर के संभावित कॉम्बिनेशन की संख्या को भी सीमित करता है. इससे, पैरामीटर के सिर्फ़ उन कॉम्बिनेशन की टेस्टिंग की जा सकती है जिनकी अनुमति है.

हर यूडब्ल्यूबी सेशन के बाद, सुविधाओं के लिए अनुरोध करना

मौजूदा यूडब्ल्यूबी सेशन को रोकने और नया यूडब्ल्यूबी सेशन शुरू करने से पहले, सेशन शुरू करने वाले डिवाइस को सेशन में शामिल होने वाले डिवाइस की क्षमताओं का अनुरोध करना होगा. साथ ही, कॉन्फ़िगरेशन पैरामीटर को फिर से सेट करना होगा. ऐसा इसलिए, क्योंकि मौजूदा रेंजिंग सेशन के खत्म होते ही, यूडब्ल्यूबी पते में बदलाव हो सकता है.

BLE चैनल साउंडिंग (सीएस) की खास बातें

इस सेक्शन में, चैनल साउंडिंग के बारे में खास जानकारी दी गई है.

डिवाइसों के बीच बॉन्ड होना ज़रूरी है

चैनल साउंडिंग का इस्तेमाल करके रेंजिंग की सुविधा काम करने के लिए, अनुरोध करने वाले और जवाब देने वाले डिवाइस के बीच मौजूदा बॉन्ड होना ज़रूरी है. इस स्पेसिफ़िकेशन में, डिवाइसों के बीच बॉन्ड बनाने का कोई तरीका नहीं बताया गया है. रेंजिंग एपीआई का इस्तेमाल करने वाले व्यक्ति को, डिवाइसों के बीच यह कनेक्शन बनाना होगा.

सीएस के लिए, जवाब देने वाले पक्ष को कार्रवाई करनी होगी

UWB में, दोनों डिवाइसों को UWB स्टार्ट रेंजिंग और स्टॉप रेंजिंग एपीआई को साफ़ तौर पर कॉल करना होता है. इसके उलट, सीएस के लिए, सिर्फ़ शुरुआत करने वाले डिवाइस को ब्लूटूथ (बीटी) स्टैक को कॉल करके, सीएस रेंजिंग शुरू करने की ज़रूरत होती है. जवाब देने वाले डिवाइस पर, बाकी की शुरुआत BT के ज़रिए होती है. इसका मतलब है कि CS के लिए Ranging Configuration या Stop Ranging मैसेज मिलने पर, अगर BT चालू है, तो जवाब देने वाले डिवाइस को कुछ भी करने की ज़रूरत नहीं है. जवाब देने वाला डिवाइस, उन मैसेज का इस्तेमाल यूज़र इंटरफ़ेस (यूआई) को अपडेट करने के लिए ट्रिगर के तौर पर कर सकता है. उदाहरण के लिए, डिवाइस के एलईडी को ब्लिंक करने के लिए.