VPN पर प्रिंट करने के लिए आपको Bonjour खोज की जरूरत नहीं है
AirPrint पेलोड प्रिंटर को पता, पथ और पोर्ट से नाम देता है, इसलिए खोज को सुरंग पार करने की जरूरत नहीं है। रूट, वह पोर्ट और TLS को अभी भी काम करना होगा।
आपको शायद बताया गया होगा कि VPN के जरिए iPhone से प्रिंट करने के लिए Bonjour खोज को सुरंग पार करना जरूरी है। यह विश्वास लोगों को TAP ब्रिज और multicast रिले की ओर धकेलता है, जो कुछ भी ठीक नहीं करते। AirPrint स्पष्ट गंतव्य स्वीकार करता है: एक कॉन्फ़िगरेशन प्रोफ़ाइल फ़ोन को प्रिंटर का पता, संसाधन पथ और पोर्ट दे सकती है। प्रिंट शीट में उस प्रविष्टि के दिखने के लिए खोज को कभी होना ही नहीं है। पेलोड जो नहीं करता, वह है रूट बनाना, गैर-AirPrint प्रिंटर से IPP बुलवाना या कार्य को अधिकृत करना।
यह मिथक एक सच्चे अवलोकन से शुरू होता है
Bonjour अपने डिज़ाइन से लिंक-लोकल multicast है। रूटेड पॉइंट-टू-पॉइंट सुरंग उन समूहों को नहीं ले जाती, इसलिए VPN पर मौजूद फ़ोन दूर के LAN के प्रिंटर ब्राउज़ नहीं कर सकता, और उसी सुरंग पर मौजूद लैपटॉप भी नहीं। सही निष्कर्ष यह नहीं है कि प्रिंटिंग को ब्रिज चाहिए; सही निष्कर्ष यह है कि ब्राउज़िंग को अलग डिलीवरी तंत्र चाहिए, और स्पष्ट सूची वही तंत्र है।
multicast रिले मौजूद हैं और कुछ नेटवर्क उन्हें अच्छी तरह चलाते हैं, लेकिन वे ऐसी खोज आवश्यकता हल करते हैं जो आपके पास न हो। अगर परिनियोजन को केवल एक स्वीकृत डिवाइस पर प्रिंट करना है, तो उस डिवाइस को प्रकाशित करना छोटा, परीक्षणयोग्य और सुरंग के पार broadcast डोमेन बढ़ाने से कहीं आसान है।
पेलोड वास्तव में क्या ले जाता है
पेलोड com.apple.airprint में प्रिंटर शब्दकोशों की एक सरणी होती है। हर शब्दकोश एक IPAddress लेता है, जो शाब्दिक पता या होस्टनाम हो सकता है, एक ResourcePath, वैकल्पिक Port और वैकल्पिक ForceTLS। Apple iOS 11 से Port और ForceTLS का दस्तावेज़ीकरण करता है, इसलिए मिश्रित फ़्लीट को रोलआउट से पहले यह स्पष्ट करना होगा।
पथ वह फ़ील्ड है जिसका लोग अनुमान लगाते हैं। ResourcePath प्रिंटर के _ipps._tcp या _ipp._tcp Bonjour रिकॉर्ड में rp मान को दर्शाता है। आधुनिक ड्राइवर-रहित प्रिंटरों पर यह अक्सर ipp/print होता है और पुराने प्रिंटरों पर अक्सर निर्माता-विशिष्ट। किसी दूसरे मॉडल से पथ कॉपी करने पर ऐसी कतार बनती है जो दिखती है और फिर हर कार्य अस्वीकार कर देती है।
सरणी में एक आइटम ऐसा दिखता है, प्लेसहोल्डर मानों के साथ जो परीक्षित एंडपॉइंट नहीं हैं:
<dict>
<key>ResourcePath</key>
<string>ipp/print</string>
<key>IPAddress</key>
<string>printer-07.office.example</string>
<key>Port</key>
<integer>8631</integer>
<key>ForceTLS</key>
<true/>
</dict>
वह अंश प्रोफ़ाइल नहीं है। यह पेलोड के भीतर AirPrint सरणी का एक तत्व है, और पेलोड को अभी भी अपना मेटाडेटा तथा हस्ताक्षर या MDM डिलीवरी चाहिए। फ़ील्ड के अर्थों के लिए AirPrint प्रिंटर शब्दकोश संदर्भ है।
मान प्रिंटर से इकट्ठा करें, किसी खोज परिणाम से नहीं
जो Mac पहले से डिवाइस पर प्रिंट करता है, उस पर ippfind या dns-sd -B _ipp._tcp विज्ञापित इंस्टेंस दिखाता है, और प्रिंटर का अपना वेब इंटरफ़ेस आमतौर पर IPP पथ और पोर्ट सूचीबद्ध करता है। परिनियोजन नोट में चारों मान लिखें ताकि अगले व्यक्ति को उन्हें स्क्रीनशॉट से फिर से निकालना न पड़े।
फिर TLS के बारे में सोच-समझकर निर्णय लें। ForceTLS सही होने पर फ़ोन को प्रिंटर द्वारा प्रस्तुत प्रमाणपत्र पर भरोसा करना होगा, और स्व-हस्ताक्षरित प्रमाणपत्र तब तक विफल होता है जब तक आप ट्रस्ट एंकर भी परिनियोजित न करें। कतार को काम कराने के लिए TLS बंद करना नेटवर्क पथ का निर्णय है, असुविधाजनक प्रमाणपत्र का रास्ता नहीं।
डिलीवरी, फिर दो विपरीत विफलताएँ
जहाँ डिवाइस प्रबंधन चैनल हो वहाँ उसके जरिए पेलोड डिलीवर करें, और कार्य फ़ोन पर हाथ से इंस्टॉल की गई प्रोफ़ाइल को वह अपवाद मानें जो वह है। इंस्टॉल होने के बाद प्रिंटर को बिना किसी खोज ट्रैफ़िक के प्रिंट शीट में दिखना चाहिए। वही दिखना एकमात्र चीज है जिसकी गारंटी पेलोड को देनी थी।
जो प्रिंटर दिखता है पर हर कार्य में विफल होता है, उसमें रूट, पोर्ट, पथ या TLS की समस्या है, और इनमें से कोई भी पेलोड से नहीं सुलझती।
जो प्रिंटर कभी नहीं दिखता, उसमें इसके बजाय डिलीवरी या पेलोड की समस्या है: प्रोफ़ाइल इंस्टॉल नहीं हुई, सरणी विकृत है, या कोई मान डिवाइस से मेल नहीं खाता। VPN को छूने से पहले मान और लक्ष्य डिवाइस फिर से पढ़ें। सूची की समस्या ठीक करने के लिए खोज रिले जोड़ना महँगी भूल है, क्योंकि सूची शुरू से ही खोज पर निर्भर नहीं थी।
प्रविष्टि को रखरखाव-योग्य रखें
जहाँ आप ज़ोन नियंत्रित करते हैं वहाँ शाब्दिक पते के बजाय होस्टनाम पसंद करें, ताकि पता बदलने से हर इंस्टॉल की गई प्रोफ़ाइल अमान्य न हो। वह होस्टनाम सुरंग चालू रहते हुए फ़ोन से हल होना चाहिए, जो उसे प्रिंटिंग बातचीत के बजाय split-DNS बातचीत में लौटा देता है।
प्रिंटर का स्वामी और प्रोफ़ाइल का स्वामी परिनियोजन रिकॉर्ड में लिखें। जब कतार हटे, तो प्रकाशित गंतव्य को जानबूझकर अपडेट करें, क्योंकि पुरानी प्रविष्टि अपने आप समाप्त नहीं होती और उपयोगकर्ताओं को सेवानिवृत्त डिवाइस की ओर निर्देशित करती रहती है।
इनमें से कोई भी प्रिंटर को AirPrint-सक्षम नहीं बनाता। पेलोड एक गंतव्य प्रकाशित करता है, और डिवाइस को अभी भी IPP बोलना होता है।