© 2016 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple.
System Frameworks
#WWDC16
Session 725
Deploying AirPrint in Enterprise
Todd Ritland AirPrint Engineer
AirPrint
AirPrint is an Apple technology !
that helps users create full-quality printed
output without the need to download !
or install drivers
To add printing to your app:
developer.apple.com/airprint
Printer manufacturers or print server
developers: airprint@apple.com
Printing in Enterprise
Printing in Enterprise
Fleet of printers across floors/buildings
Printing in Enterprise
Fleet of printers across floors/buildings
Complex network infrastructure
Printing in Enterprise
Fleet of printers across floors/buildings
Complex network infrastructure
Wireless and wired clients
Printing in Enterprise
Fleet of printers across floors/buildings
Complex network infrastructure
Wireless and wired clients
Physical location in building may not be
related to structure of the network
Printing in Enterprise
Fleet of printers across floors/buildings
Complex network infrastructure
Wireless and wired clients
Physical location in building may not be
related to structure of the network
Network requirements vary !
(no software update, no multicast packets,
ports blocked)
Printing in Enterprise
Fleet of printers across floors/buildings
Complex network infrastructure
Wireless and wired clients
Physical location in building may not be
related to structure of the network
Network requirements vary !
(no software update, no multicast packets,
ports blocked)
Accounting requirements
Printing in Enterprise
Fleet of printers across floors/buildings
Complex network infrastructure
Wireless and wired clients
Physical location in building may not be
related to structure of the network
Network requirements vary !
(no software update, no multicast packets,
ports blocked)
Accounting requirements
Security requirements
Top Requests from Enterprise
Top Requests from Enterprise
Create PDF
Security
Access Control and Accounting
Better Discovery
Demo
Create PDF
NEW
NEW
NEW
NEW
Security
End to End Encryption
Industry standard TLS encryption
Encrypted from device to printer
Requirement for all new AirPrint printers
and servers
PIN Release Printing
iOS and Mac OS support PIN release for
secure environments
PIN Release Printing
iOS and Mac OS support PIN release for
secure environments
PIN Release Printing
iOS and Mac OS support PIN release !
for secure environments
PIN Release Printing
iOS and Mac OS support PIN release !
for secure environments
Access Control and Accounting
Sign In
AirPrint has always supported username
and password to print
Username and password stored in keychain
iOS 10 now supports multiple sign ins !
for printing
iOS 10 and Mac OS now also support
password only
Sign In
AirPrint has always supported username
and password to print
Username and password stored in keychain
iOS 10 now supports multiple sign ins !
for printing
iOS 10 and Mac OS now also support
password only
Sign In
AirPrint has always supported username
and password to print
Username and password stored in keychain
iOS 10 now supports multiple sign ins !
for printing
iOS 10 and Mac OS now also support
password only
Accounting
Billing pages to an account
iOS and Mac OS support either optional
account ID or required account ID for each
print job
Accounting
Billing pages to an account
iOS and Mac OS support either optional
account ID or required account ID for each
print job
Accounting
Billing pages to an account
iOS and Mac OS support either optional
account ID or required account ID for !
each print job
Accounting
Billing pages to an account
iOS and Mac OS support either optional
account ID or required account ID for !
each print job
Better Discovery
Supported Discovery Methods
Supported Discovery Methods
Local Bonjour
Supported Discovery Methods
Local Bonjour
Wide-Area Bonjour
Supported Discovery Methods
Local Bonjour
Wide-Area Bonjour
Mobile Device Management (MDM) Profiles
Supported Discovery Methods
Local Bonjour
Wide-Area Bonjour
Mobile Device Management (MDM) Profiles
AirPrint Bluetooth Beacons—New in iOS 10
DNS-SD
Configuring a DNS Server
iOS Devices and Macs can have search domains and DNS Servers using DHCP !
or MDM profiles
A or AAAA Record for the printer (and a static IP address)
PTR Record
One PTR record for _ipps._tcp and one additional PTR Record with _universal._sub
SRV Record
TXT Record
// Using dns-sd Command Line
dns-sd -Z _tcp._ipps. local
_ipps._tcp ! ! ! ! ! ! ! PTR ! ! Office\032Printer._ipps._tcp
Office\032Printer._ipps._tcp SRV ! ! 0 0 443 AcmePrinter.local. ; Replace with unicast FQDN
of target host
Office\032Printer._ipps._tcp TXT "txtvers=1" "qtotal=1" "rp=ipp/print" "ty=Acme Printer"
"adminurl=http://AcmePrinter.local/administration" "kind=photo,document" "note=Second Floor"
"PaperMax=>isoC-A2" "priority=0" "product=(Acme Printer)" "Color=T" "Duplex=F" "Staple=F"
"Copies=T" "Collate=F" "Punch=0" "Bind=F" "Sort=F" "Scan=F" "Fax=F" "pdl=image/urf,image/
jpeg" “URF=W8,SRGB24,CP255,FN3-11,IS9,IFU0,MT1-2,OB10,PQ3-4-5,RS300-600,V1.4" "UUID=2193e070-
c558-3ce4-53bd-4d8c54755dcf" "TLS=1.2"
// Using dns-sd Command Line
_ipps._tcp ! ! ! ! ! ! ! PTR ! ! Office\032Printer._ipps._tcp
_universal._sub._ipps._tcp PTR ! ! Office\032Printer._ipps._tcp
Office\032Printer._ipps._tcp SRV ! ! 0 0 443 printer1.company.com
Office\032Printer._ipps._tcp TXT "txtvers=1" "qtotal=1" "rp=ipp/print" "ty=Acme Printer"
"adminurl=http://printer1.company.com/administration" "kind=photo,document" "note=Second Floor"
"PaperMax=>isoC-A2" "priority=0" "product=(Acme Printer)" "Color=T" "Duplex=F" "Staple=F"
"Copies=T" "Collate=F" "Punch=0" "Bind=F" "Sort=F" "Scan=F" "Fax=F" “pdl=image/urf,image/
jpeg" “URF=W8,SRGB24,CP255,FN3-11,IS9,IFU0,MT1-2,OB10,PQ3-4-5,RS300-600,V1.4" "UUID=2193e070-
c558-3ce4-53bd-4d8c54755dcf" "TLS=1.2"
MDM Profiles
AirPrint Payload has two parts
Host or IP address
Resource Path
Resource Path is “ipp/print for modern
AirPrint printers
If host is a server, the resource path !
will be the queue
AirPrint Bluetooth Beacon
NEW
How the AirPrint Bluetooth Beacon Works
How the AirPrint Bluetooth Beacon Works
IP 1.2.3.4
How the AirPrint Bluetooth Beacon Works
IP 1.2.3.4
How the AirPrint Bluetooth Beacon Works
How the AirPrint Bluetooth Beacon Works
Server !
IP 1.2.3.4
Queue ID 2
Server !
IP 1.2.3.4
Queue ID 1
Server !
IP 1.2.3.4
Queue ID 3
How the AirPrint Bluetooth Beacon Works
Server !
IP 1.2.3.4
Queue ID 2
Server !
IP 1.2.3.4
Queue ID 1
Server !
IP 1.2.3.4
Queue ID 3
How the AirPrint Bluetooth Beacon Works
Server !
IP 1.2.3.4
Queue ID 2
Server !
IP 1.2.3.4
Queue ID 1
Server !
IP 1.2.3.4
Queue ID 3
How the AirPrint Bluetooth Beacon Works
Server !
IP 1.2.3.4
Queue ID 2
Server !
IP 1.2.3.4
Queue ID 1
Server !
IP 1.2.3.4
Queue ID 3
AirPrint Bluetooth Beacon Format
Connection
Information
Server or
Resource Path
Port
IPv4 Address or IPv6 Address
Tx
Power
Header
AirPrint Bluetooth Beacon Format
Header
The same for every AirPrint Bluetooth Beacon
Connection
Information
Server or
Resource Path
Port
Tx
Power
Header
02 01 06 1B FF 4C 00 03 16 21 00 00 02 77 26 20 F5 64 00 04 19 03 AA 20 66 FF FE 50 4F 52 40
AirPrint Bluetooth Beacon Format
Whether IP address is an IPv4 or IPv6 Address
Whether this is a server or a standard printer
Whether Secure AirPrint (TLS encrypted connection) always on or not
Connection
Information
Server or
Resource Path
Port
Tx
Power
Header
02 01 06 1B FF 4C 00 03 16 21 00 00 02 77 26 20 F5 64 00 04 19 03 AA 20 66 FF FE 50 4F 52 40
AirPrint Bluetooth Beacon Format
A numeric printer ID for a server (server must support AirPrint Bluetooth Beacon)
A resource path index
Connection
Information
Server or
Resource Path
Port
Tx
Power
Header
02 01 06 1B FF 4C 00 03 16 21 00 00 02 77 26 20 F5 64 00 04 19 03 AA 20 66 FF FE 50 4F 52 40
AirPrint Bluetooth Beacon Format
Port of printer/server
631 is standard
443 is typical for TLS Connections
Connection
Information
Server or
Resource Path
Port
Tx
Power
Header
02 01 06 1B FF 4C 00 03 16 21 00 00 02 77 26 20 F5 64 00 04 19 03 AA 20 66 FF FE 50 4F 52 40
AirPrint Bluetooth Beacon Format
IP Address of the printer or server
If using non-updatable external beacon hardware, make sure printer has a static IP
Connection
Information
Server or
Resource Path
Port
IPv4 Address or IPv6 Address
Tx
Power
Header
02 01 06 1B FF 4C 00 03 16 21 00 00 02 77 26 20 F5 64 00 04 19 03 AA 20 66 FF FE 50 4F 52 40
AirPrint Bluetooth Beacon Format
Measured signal strength at 1 meter
Same methodology as Apple iBeacon Measured Power
Gives iOS Device better information about physical distance to printer
Connection
Information
Server or
Resource Path
Port
Tx
Power
Header
02 01 06 1B FF 4C 00 03 16 21 00 00 02 77 26 20 F5 64 00 04 19 03 AA 20 66 FF FE 50 4F 52 40
Similar to iBeacon
AirPrint Bluetooth Beacon Example
02 01 06 1B FF 4C 00 03 16 21 00 00 02 77 26 20 F5 64 00 04 19 03 AA 20 66 FF FE 50 4F 52 40
Similar to iBeacon
AirPrint Bluetooth Beacon Example
iBeacon Example
02 01 06 1B FF 4C 00 03 16 21 00 00 02 77 26 20 F5 64 00 04 19 03 AA 20 66 FF FE 50 4F 52 40
02 01 06 1B FF 4C 00 02 15 92 AF 3B C8 76 14 0A 05 64 B8 91 6D 31 E6 16 95 00 01 00 14 40
Summary
PDF
Security
Access Control and Accounting
Discovery
Let us know what your enterprise needs are:
www.apple.com/feedback
More Information
https://developer.apple.com/wwdc16/725
Related Sessions
What's New in Apple Device Management
Nob Hill
Wednesday 11:00AM
Taking Core Location Indoors
Marina
Wednesday 3:15PM
Labs
AirPrint Lab
Frameworks !
Lab D
Wednesday 12:00PM