Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Mail Systems
Eclipse Documentation

How To Guides
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Problem Solutions
Privacy Policy




System Administration Guide: Solaris Printing
Previous Next

Overview of the IPP Listening Service

The IPP Listening Service, also referred to as the listener, provides an IPP network protocol service that enables print client systems with a means of interacting with a print service on the system that is running the listener. This listener implements server-side IPP support, which includes a set of standard operations and attributes. The listener is implemented on Solaris as an Apache module and a series of shared libraries containing IPP operation and wire support. The IPP software stack is installed when the Solaris OS is installed on the system. The IPP listening service is an SMF service that depends on the print service to run. As a result, IPP is automatically enabled on a print server when the first print queue has been added . It is also disabled when the last print queue has been removed.

On the front end, IPP server support is layered on top of HTTP, Version 1.1. The server receives IPP operations through an HTTP POST request. The server then performs the requested operation and sends a response back to the client via HTTP. These operations include, but are not limited to, submitting and canceling a print job, and querying attributes of a printer, a print job, or all the print jobs that have been queued to a printer. On the back end, the IPP listener performs operations by communicating with a print spooler. In the Solaris OS, this spooler is currently the lpsched daemon.

How the IPP Listening Service Works

The IPP Listening Service implementation (server-side support) is embedded under the Apache web server. The web server receives IPP operations through HTTP POST requests. When an HTTP POST request is received, it is then passed on to the Apache IPP module ( Based on configuration, the Apache web service can also provide an authentication service and be used for encryption between print client and server. The listening service runs as it's own dedicated instance of Apache.

This process is as follows:

  1. An IPP request is sent from the client to the server.

  2. The Apache web server accepts the connection.

  3. The Apache web server then hands the connection to mod_ipp.

  4. mod_ipp passes the connection and configuration data to libipp-listener.

  5. libipp-listener reads the request by using lipipp-core.

  6. libipp-listener dispatches the request to the operation handler located in lipipp-listener.

  7. The operation handler converts the request to a PAPI call and then makes the call.

  8. The PAPI call is translated to a print service specific request by using psm-lpsched.

  9. The print service responds to the request.

  10. The psm-lpsched command converts the response to PAPI results.

  11. The libpapi operation returns to the libipp-listener operation handler.

  12. The libipp-listener operation handler passes results to dispatcher.

  13. The libipp-listener dispatcher writes results to client by using the libipp-core library.

  14. The dispatcher returns the mod_ipp entry point.

Previous Next

  Published under the terms fo the Public Documentation License Version 1.01. Design by Interspire