Native iOS Printing via Wide-Area Bonjour
iOS printing enables end users to Print from your iPhone, iPad, or iPod touch. Print from iOS version 7 or later to any network printer on your organization's network.
Users select Print from within any application that supports the native print dialog. The user will see the “printerlogic” printer as an available printer to print to. The user selects the printer, signs in with their Active Directory credentials, and presses Print. The user can then release the print job to the desired printer.
How to Configure iOS printing
- Note: If your domain ends in .local, additional configuration is required to get the printerlogic printer to show up on iOS 7 and iOS 9 devices. Click here for instructions to follow before proceeding with the below instructions.
- Printer Installer Server configuration
- If a pull printer is not created within Printer Installer yet, create a pull printer. If a pull printer already exists, the following steps can use that pull printer.
- Navigate to Tools > Settings > Printing
- In the “Mobile Printing / Pull Printing” section, select the pull printer to use for mobile print jobs.
- In the “iOS Printing” section, check the box to “Enable Virtual Printer" for iOS printing. Save the page.
- Navigate to Tools > Settings > General
- In the LDAP Authentication Settings section verify that the Active Directory domain is listed.
- If the domain is not listed, click Add. Enter the domain information and specify an AD service account that has rights to query the LDAP server in the “Bind User” and “Bind Password” fields. Click Test Settings to verify the settings, then click Apply, then click Save.
- If the domain is listed, select it and click Modify. Verify that an AD service account with rights to query the LDAP server has been specified. Click Test Settings to verify the settings, then click Apply. If any changes have been made, click Save.
- Refresh the client on the Printer Installer host server. Check Task Manager for a process called “PrinterInstallerVirtualAirPrintPrinter.exe”.
- Server Firewall configuration
- Windows Firewall allows the required port communication (53 and 631) by default but if required, opening firewall ports can be completed through the user interface (UI) or by command line.
- UI: Control Panel > System and Security > Windows Firewall > Allow a program or feature through Windows Firewall > Allow another program: C:\Program Files (x86)\Printer Properties Pro\Printer Installer Client\AirPrint\PrinterInstallerVirtualAirPrintPrinter.exe. The program uses DNS (port 53) and IPP (port 631), so these ports will be opened by allowing the program through the firewall.
- Command Line:
rem Allow PrinterLogic PrinterInstallerVirtualAirPrintPrinter
netsh advfirewall firewall add rule name= "Allow AirPrint" dir=in action=allow program="C:\Program Files (x86)\Printer Properties Pro\Printer Installer Client\AirPrint\PriterInstallerVirtualAirPrintPrinter.exe"
rem Open TCP DNS 53 Inbound Outbound
netsh advfirewall firewall add rule name="DNS53PrinterLogic" protocol=TCP dir=out localport=53 action=allow
netsh advfirewall firewall add rule name="DNS53PrinterLogic" protocol=TCP dir=in localport=53 action=allow
rem Open TCP IPP 631 Inbound Outbound
netsh advfirewall firewall add rule name="IPP631PrinterLogic" protocol=TCP dir=out localport=631 action=allow
netsh advfirewall firewall add rule name="IPP631PrinterLogic" protocol=TCP dir=in localport=631 action=allow
- Network Firewall configuration
- If DNS Inspection is enabled for DNS requests that cross VLANs, that setting may block certain necessary and valid DNS requests generated by the iOS device. If this is the case, then the printer will not show up on the device.
- DHCP Server configuration
- Login to your DHCP server that distributes the wireless DHCP addresses and set the DHCP option 15 (may be referred to as search domain, domain name, or router domain name) to yourdomain.com.
- Make sure your DNS server is hosted on the server that yourdomain.com resolves to and you can ping yourdomain.com and it returns the IP address of the node of the DNS server that manages that domain.
- Confirm that the search domain value is set correctly on an iOS device by going to Settings > Wi-Fi and looking at the properties of the wireless connection, then viewing the Search Domain attribute. If the value is empty you can manually add a value, or override the existing value if desired.
- DNS Server configuration
- To set up wide area Bonjour, complete the following to create required DNS records:
- Open your DNS server configuration application.
- Select your domain listed under “Forward Lookup Zones”
- Right click the domain. Select Other New Records…
- Select Pointer (PTR).
- In the "Host IP Address:" field enter lb._dns-sd._udp
- In the "Host Name:" field enter airprint.yourdomain.com.
- Click OK.
- Click Done.
- Select your domain listed under “Forward Lookup Zones” (same domain as in step 2 above).
- Right cIick the domain. Select New Delegation…
- In the “Delegated domain:” field enter “airprint”
- Click Next.
- Click Add…
- Type airprint.yourdomain.com.
- Click on the and enter the IP address of the Printer Installer server.
- Click OK. (You may get a warning, ignore it.)
- Click Next.
- Click Finish.
Now an iOS device on the wireless network should be able to see and print to the printerlogic printer.
Troubleshooting iOS Printing
Problem: The printerlogic printer does not show up on the iOS device.
- Check to make sure the iOS device has the correct DNS server and search domain options configured. If these options need to be reconfigured, restart the iOS device after reconfiguring the options.
- From a computer on the same subnet as the iOS device open a command prompt, type nslookup -type=PTR lb._dns-sd._udp.yourdomain.com and press Enter. (Replace yourdomain with the the actual search domain). The reply should be airprint.yourdomain.com.
- From a computer on the same subnet as the iOS device open a command prompt, type ping airprint.yourdomain.com and press Enter. (Replace yourdomain with the actual search domain). A reply should be received.