IPP Notification Subscriptions Event Notification Subscription Operations CreatePrinterSubscription
IPP Notification • Subscriptions • Event Notification
Subscription Operations • Create-Printer-Subscription – creates a subscription for printer events • Create-Job-Subscription – creates a subscription for job events • Implicit Job-Subscription with Job creation – creates a subscription for job events
Subscription Request Attributes (Partial) • notify-recipient – the url of the notification recipient – the scheme specifies the delivery method • notify-events – one or more keywords that are event names • notify-format – a MIME media type -- the format of the event notification
Subscription Response Attributes (Partial) • subscription-id – integer for identifying a subscription • notify-lease-expiration-time – integer time at which subscription lease expires • notify-server-up-time – current integer time on Printer.
Event Notification • Event is delivered – when event in “notify-events” occurs – to “notify-recipient” – with contents • of “notify-format” • containing a fixed set of attributes
Event Notification Attributes Delivered (e. g. ) • • printer-uri subscription-id request-id (i. e. a sequence number) trigger-event trigger-time printer-state (for printer events) job-state (for job events)
Event Notification Delivery Methods • Three delivery methods to specified url – mailto: • mail the event notification – indp: • use ipp over http to send event notification – ipp: • use ipp to get (poll) accumulated event notifications
ipp: • The Printer – saves each event for a fix amount of time – supports the Get-Notifications operation – does not send events with this delivery method to anyone – expects clients to fetch event notifications with Get-Notifications
ipp: Get-Notifications Request • request – like Get-Printer-Attributes – specifies events by • notify-recipient url – events from all subscriptions with the specified url • job-id – events from all subscriptions associated with the job • subscription-id • Issue as to whether to support all 3
ipp: Get-Notifications Response • Response – operation attributes contains • event-lease-time-interval – number of seconds until future events start disappearing • recommended-time-interval – number of seconds a client should wait until next Get. Notifications request – one notification group per event • each group contains the fixed attributes
ipp: Issues • Should the scheme be “ipp”? Does using “ipp” for notification of Printer events conflict or complement its use for creating jobs on a Printer ? • Do the lease and recommended times make polling a reasonable substitute for notification?
ipp: Issues – Is it reasonable for Get-Notifications to have an option whereby the Printer does not send an immediate response? Rather it sends event notifications as they occur over several seconds in a strung out response? Does a client receive them spread out in time? Can proxies deal with this? Does putting each group of events in a separate Multipart MIME have any value?
indp: • The “notify-recipient” – acts like a Printer (http server) – receives an ipp request – operation is Send-Notifications • contains one notification attributes group per event • each group contains standard attributes • each group may also contain two optional attributes – human-readable-report-format
indp Issues • If a client prints to a Printer outside a corporate firewall, can a Printer notify a client inside the firewall with this delivery method?
mailto: • The Printer – sends email (smtp) to the specified url – the format may • human readable, e. g. text/plain with a recommendation that it contain the fixed attributes • machine readable, e. g. application/ipp • multi-part, an allowed default for a printer that wants to send multi-media event notifications.
mailto: Issues • Mailto is the most universal and the one that will go into a corporate firewall. Is it sufficient for notification, or should we support one or both of ipp and indp?
- Slides: 16