दृश्य ध्वनि मेल

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

एंड्रॉइड 7.0 ने विज़ुअल वॉइसमेल में निम्नलिखित कॉन्फ़िगरेशन पैरामीटर जोड़े:

  • KEY_VVM_PREFETCH_BOOLEAN द्वारा नियंत्रित वॉइसमेल की प्रीफ़ेचिंग
  • KEY_VVM_CELLULAR_DATA_REQUIRED_BOOLEAN द्वारा सेलुलर डेटा कनेक्शन की आवश्यकता है या नहीं इसका नियंत्रण
  • वॉइसमेल ट्रांसक्रिप्शन लाया जा रहा है
  • वॉइसमेल कोटा प्राप्त किया जा रहा है

यह आलेख इस बात का एक सिंहावलोकन देता है कि क्या प्रदान किया गया है, वाहक इसके साथ कैसे एकीकृत हो सकते हैं, और कार्यान्वयन के कुछ विवरण।

विज़ुअल वॉइसमेल (वीवीएम) क्लाइंट

एंड्रॉइड 6.0 और इसके बाद के संस्करण में एक ओएमटीपी वीवीएम क्लाइंट शामिल है, जो (सही कॉन्फ़िगरेशन के साथ प्रदान किए जाने पर) कैरियर वीवीएम सर्वर से कनेक्ट होगा और एंड्रॉइड ओपन सोर्स प्रोजेक्ट (एओएसपी) डायलर के भीतर दृश्य ध्वनि मेल संदेशों को पॉप्युलेट करेगा। वीवीएम क्लाइंट:

  • सेवा की स्थिति को सक्रिय/निष्क्रिय/पूछने के लिए उपयोग किए जाने वाले एसएमएस संदेशों और ग्राहक के मेलबॉक्स में घटनाओं की डिवाइस को सूचित करने के लिए उपयोग किए जाने वाले एसएमएस संदेशों को संभालता है।
  • मेलबॉक्स को IMAP सर्वर के साथ सिंक करता है
  • जब उपयोगकर्ता वॉइसमेल सुनना चाहता है तो उसे डाउनलोड करता है
  • वॉइसमेल प्रतिलेखन प्राप्त करता है
  • वॉइसमेल कोटा का विवरण प्राप्त करता है (कुल मेलबॉक्स आकार और व्याप्त आकार)
  • उपयोगकर्ता की कार्यक्षमता जैसे वापस कॉल करना, अपठित संदेशों को देखना, संदेशों को हटाना आदि के लिए डायलर में एकीकृत होता है।

वीवीएम क्लाइंट के साथ एकीकृत करें

कार्यान्वयन

कैरियर को ओएमटीपी वीवीएम विनिर्देशों को लागू करने वाला एक विज़ुअल वॉइसमेल सर्वर प्रदान करना होगा। एओएसपी वीवीएम क्लाइंट का वर्तमान कार्यान्वयन मुख्य सुविधाओं (वॉइसमेल पढ़ें/हटाएं, डाउनलोड/सिंक/सुनें) का समर्थन करता है लेकिन अतिरिक्त टीयूआई सुविधाएं (पासवर्ड परिवर्तन, वॉयसमेल ग्रीटिंग, भाषाएं) लागू नहीं की गई हैं। इस समय, हम केवल ओएमटीपी संस्करण 1.1 का समर्थन करते हैं और आईएमएपी प्रमाणीकरण के लिए एन्क्रिप्शन का उपयोग नहीं करते हैं।

ट्रांसक्रिप्शन का समर्थन करने के लिए, वाहकों को ओएमटीपी 1.3 विनिर्देश, आइटम 2.1.3 में निर्दिष्ट ट्रांसक्रिप्शन अटैचमेंट प्रारूप (एमआईएमई प्रकार सादा/पाठ) का समर्थन करना होगा।

ध्यान दें : डिवाइस पर सर्वर-उत्पन्न एसएमएस संदेश (जैसे स्टेटस या सिंक) डेटा एसएमएस संदेश होने चाहिए।

विन्यास

किसी वाहक को वीवीएम सेवा के साथ एकीकृत करने के लिए, वाहक को उस प्लेटफ़ॉर्म पर कॉन्फ़िगरेशन विवरण प्रदान करना होगा जिसे ओएमटीपी क्लाइंट उपयोग कर सकता है। ये पैरामीटर हैं:

  • एसएमएस के लिए गंतव्य संख्या और पोर्ट संख्या
  • वाहक द्वारा प्रदत्त विज़ुअल वॉइसमेल ऐप का पैकेज नाम (यदि कोई प्रदान किया गया है), ताकि वह पैकेज स्थापित होने पर प्लेटफ़ॉर्म कार्यान्वयन को अक्षम किया जा सके

ये मान कैरियर कॉन्फ़िग एपीआई के माध्यम से प्रदान किए जाते हैं। एंड्रॉइड 6.0 में लॉन्च की गई यह कार्यक्षमता एक एप्लिकेशन को विभिन्न प्लेटफ़ॉर्म घटकों को गतिशील रूप से टेलीफोनी-संबंधित कॉन्फ़िगरेशन प्रदान करने की अनुमति देती है जिन्हें इसकी आवश्यकता होती है। विशेष रूप से निम्नलिखित कुंजियों में मान परिभाषित होने चाहिए:

  • KEY_VVM_DESTINATION_NUMBER_STRING
  • KEY_VVM_PORT_NUMBER_INT
  • KEY_VVM_TYPE_STRING
  • KEY_CARRIER_VVM_PACKAGE_NAME_STRING
  • KEY_VVM_PREFETCH_BOOLEAN
  • KEY_VVM_CELLULAR_DATA_REQUIRED_BOOLEAN

कृपया अधिक विवरण के लिए कैरियर कॉन्फ़िगरेशन आलेख देखें।

कार्यान्वयन

ओएमटीपी वीवीएम क्लाइंट को packages/services/Telephony के भीतर, विशेष रूप से src/com/android/phone/vvm/ के भीतर कार्यान्वित किया जाता है।

स्थापित करना

  1. VVM क्लाइंट TelephonyIntents#ACTION_SIM_STATE_CHANGED या CarrierConfigManager#ACTION_CARRIER_CONFIG_CHANGED को सुनता है।
  2. जब कोई सिम जोड़ा जाता है जिसमें सही कैरियर कॉन्फ़िगरेशन मान होता है ( KEY_VVM_TYPE_STRING को TelephonyManager.VVM_TYPE_OMTP या TelephonyManager.VVM_TYPE_CVVM पर सेट किया जाता है), तो VVM क्लाइंट KEY_VVM_DESTINATION_NUMBER_STRING में निर्दिष्ट मान पर एक सक्रिय एसएमएस भेजता है।
  3. सर्वर विज़ुअल वॉइसमेल सेवा को सक्रिय करता है और STATUS एसएमएस के माध्यम से OMTP क्रेडेंशियल भेजता है। जब वीवीएम क्लाइंट को स्टेटस एसएमएस प्राप्त होता है, तो यह वॉइसमेल स्रोत को पंजीकृत करता है और डिवाइस पर वॉइसमेल टैब प्रदर्शित करता है।
  4. ओएमटीपी क्रेडेंशियल स्थानीय रूप से सहेजे जाते हैं और डिवाइस पूर्ण सिंक शुरू करता है, जैसा कि नीचे बताया गया है।

सिंक्रनाइज़ किए जा रहे

ऐसे कई तरीके हैं जिनसे वीवीएम क्लाइंट कैरियर सर्वर के साथ सिंक कर सकता है और इसके विपरीत भी।

  • प्रारंभिक डाउनलोड पर पूर्ण सिंक होते हैं। वीवीएम क्लाइंट दिनांक और समय जैसे ध्वनि मेल मेटाडेटा प्राप्त करता है; मूल संख्या; अवधि; ध्वनि मेल प्रतिलेखन, यदि उपलब्ध हो; और ऑडियो डेटा यदि KEY_VVM_PREFETCH_BOOLEAN सत्य है। पूर्ण सिंक को इसके द्वारा ट्रिगर किया जा सकता है:
    • नया सिम डालना
    • डिवाइस को रिबूट करना
    • सेवा में वापस आ रहा हूँ
    • VoicemailContract.ACTION_SYNC_VOICEMAIL प्रसारण प्राप्त हो रहा है
  • अपलोड सिंक तब होता है जब कोई उपयोगकर्ता ध्वनि मेल को पढ़ने या हटाने के लिए उसके साथ इंटरैक्ट करता है। अपलोड सिंक के परिणामस्वरूप सर्वर डिवाइस पर मौजूद डेटा से मेल खाने के लिए अपना डेटा बदल देता है। उदाहरण के लिए, यदि उपयोगकर्ता ध्वनि मेल पढ़ता है, तो इसे सर्वर पर पढ़ा गया के रूप में चिह्नित किया जाता है; यदि कोई उपयोगकर्ता ध्वनि मेल हटाता है, तो उसे सर्वर पर हटा दिया जाता है।
  • डाउनलोड सिंक तब होता है जब वीवीएम क्लाइंट को वाहक से "एमबीयू" (मेलबॉक्स अपडेट) सिंक एसएमएस प्राप्त होता है। एक SYNC संदेश में एक नए संदेश के लिए मेटाडेटा होता है ताकि इसे ध्वनि मेल सामग्री प्रदाता में संग्रहीत किया जा सके।

नोट : वॉइसमेल इनबॉक्स कोटा मान प्रत्येक सिंक के दौरान पुनर्प्राप्त किए जाते हैं।

वॉइसमेल डाउनलोड

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

वीवीएम को अक्षम किया जा रहा है

वीवीएम सेवा को उपयोगकर्ता के इंटरैक्शन, वैध सिम को हटाने, या वाहक वीवीएम ऐप द्वारा प्रतिस्थापन द्वारा अक्षम या निष्क्रिय किया जा सकता है। अक्षम का मतलब है कि स्थानीय डिवाइस अब दृश्य ध्वनि मेल प्रदर्शित नहीं करता है। निष्क्रिय का मतलब है कि ग्राहक के लिए सेवा बंद कर दी गई है। उपयोगकर्ता इंटरैक्शन सेवा को निष्क्रिय कर सकता है, सिम हटाने से सेवा अस्थायी रूप से अक्षम हो जाती है क्योंकि यह अब मौजूद नहीं है, और वाहक वीवीएम प्रतिस्थापन एओएसपी वीवीएम क्लाइंट को अक्षम कर देता है।

उपयोगकर्ता संपर्क

उपयोगकर्ता विज़ुअल वॉइसमेल को मैन्युअल रूप से सक्षम या अक्षम कर सकता है। यदि कोई उपयोगकर्ता दृश्य ध्वनि मेल अक्षम करता है, तो वे अपनी सेवा भी निष्क्रिय कर रहे हैं। जब वे विज़ुअल वॉइसमेल को अक्षम करते हैं, तो एक निष्क्रिय एसएमएस भेजा जाता है, वॉइसमेल स्रोत स्थानीय रूप से अपंजीकृत होता है, और वॉइसमेल टैब गायब हो जाता है। यदि वे विज़ुअल वॉइसमेल को पुनः सक्षम करते हैं, तो उनकी सेवा भी पुनः सक्रिय हो जाती है।

सिम हटाना

यदि डिवाइस की सिम स्थिति ( ACTION_SIM_STATE_CHANGED ) या कैरियर कॉन्फ़िगरेशन मान ( ACTION_CARRIER_CONFIG_CHANGED ) में परिवर्तन होते हैं, और दिए गए सिम के लिए वैध कॉन्फ़िगरेशन अब मौजूद नहीं है, तो ध्वनि मेल स्रोत स्थानीय रूप से अपंजीकृत है और ध्वनि मेल टैब गायब हो जाता है। यदि सिम बदल दिया जाता है, तो वीवीएम पुनः सक्षम हो जाएगा।

वाहक वीवीएम द्वारा प्रतिस्थापित

एक कैरियर विज़ुअल वॉइसमेल ऐप, यदि डिवाइस पर इंस्टॉल किया गया है, तो AOSP VVM क्लाइंट को अक्षम कर सकता है। यह जाँच करके प्राप्त किया जाता है कि क्या KEY_CARRIER_VVM_PACKAGE_NAME_STRING पैरामीटर से मेल खाने वाले नाम वाला पैकेज स्थापित है।

वीवीएम क्लाइंट को अभी भी उपयोगकर्ता इंटरैक्शन के माध्यम से सक्षम किया जा सकता है।

परिक्षण

वॉइसमेलप्रोवाइडर एपीआई के लिए सीटीएस परीक्षणों का एक मौजूदा (एंड्रॉइड 4.0 के बाद से) सेट है जो किसी ऐप को प्लेटफ़ॉर्म में वॉइसमेल डालने/क्वेरी/हटाने की अनुमति देता है। ये वही एपीआई हैं जिनका उपयोग वीवीएम वॉइसमेल जोड़ने/हटाने के लिए करता है ताकि कोई भी डायलर ऐप उन्हें यूआई में प्रदर्शित कर सके।

यह जांचने के लिए कि आपका कॉन्फ़िगरेशन एप्लिकेशन ओएमटीपी कॉन्फ़िगरेशन को सही ढंग से पास कर रहा है, आप अपने कोड का परीक्षण इसके साथ कर सकते हैं:

  • एक सिम जिसमें वैध प्रमाणपत्र हस्ताक्षर हो
  • एओएसपी फोन फ्रेमवर्क के असंशोधित संस्करण के साथ एंड्रॉइड 6.0 चलाने वाला एक उपकरण