ipp notification subscriptions event notification
TRANSCRIPT
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 NotificationAttributes 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 NotificationDelivery 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
– 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?