Universal Print Proxy Questions

Copper Contributor

Hi, I'm just getting started on developing a proxy for our MFPs to support Universal Print. Specifically, the application (in Java) will run on an MFP and proxy it's capabilities to UP and route jobs from UP to the hardware.


I've read through the PWG document on proxies and have also looked through the MSGraph APIs. I have some questions that I hope will point me in the right direction.


  1. Is there overlap between IPP operations and MSGraph? It seems that the UP server should be responding to requests and operations per PWG specs but also seems that some (all?) of these requests can also be done through MS Graph. If there is overlap, when should each be used?
  2. Using MS Graph from Java, it seems that I should be able to pass the raw IPP packets I receive from the printer (for example, Printer Attributes) directly to the UP server via a MS graph API call. For example, I would call UpdatePrinter on startup but there is no example of passing the IPP payload (though it describes that it is possible). See https://docs.microsoft.com/en-us/graph/api/printer-update?view=graph-rest-beta&tabs=java

I have many more questions but I think I need to understand these basic things before I get too bogged down. Any guidance or example code would be appreciated.




Matt Cecile

3 Replies
So, is this not the right spot for manufacturers to ask these kinds of questions? Please direct me to where we get support for writing software to support your platform.


Matt Cecile
Ricoh Corp. Ltd.

@MCecile how are you? 

Regarding which API to use:


Yes there is some overlap. In fact Graph APIs support content-type as application/ipp payloads through which you can send IPP encoded payloads that may support more options than the JSON option. IPP protocol is primarily targeted for printer firmware. From an app perspective, you should consider your scenarios and ease of use to decide which API may be more meaningful. For e.g. if your app requests the jobs by either polling or when user is at the printer (swiped badge/logs in), then Graph API may be okay, whereas if you want to set up a notification channel using IPP Notifications, then IPP APIs may be beneficial.


We are working on providing examples of IPP payload and it should be available in some time.




Thanks @Saurabh_Bansal! A couple things are still not clear to me:
1) How do you obtain the URI for the IPP calls? Is this through the Print Service graph APIs?
2) How is authentication handled for these IPP calls?