Subject: [IPP] Some questions about eSCL can someone please help sort this out?

From: Mark DM via ipp <[email-masked]>
Date: Tue, 28 May 2019 20:03:28 -0500

I am trying to make an embedded app for a small portable sheetfeed scanner
that I want eSCL/AirScan compatibility from.

I have some questions about eSCL scanning communication that I can not seem
to find the answers to. I was just looking at more docs but  there are so
many , they all make my head spin. The only eSCL scanner I have access to
is in another city and will not be there for months. I hoped to have this
done long before that.

Of course some wireshark traces would go a long way if anyone has some, or
can make some.

question 1, but first some background
eSCL scan job looks something like this, first from Mopria, but just
discovered OSX Mojave behaves the same as Mopria
*-------------------------------------------------------------------------------*
*Mopria (OSX Mojave is similar)                    Scanner*

GET  /eSCL/ScannerCapabilities  >

 <ScannerCapabilities XML
GET /eSCL/ScannerStatus >
                                                            <ScannerStatus
*Idle" in xml
POST /eSCL/ScanJobs >
                                                            < 201 Created,
Location: /eSCL/path
Processing takes a few seconds here

GET /eSCL/ScannerStatus >
                                                            <ScannerStatus
*Processing" in xml
GET /eSCL/ScannerStatus >
                                                            <ScannerStatus
*Processing" in xml
GET /eSCL/ScannerStatus >
                                                           (should there be
a new status here that document is ready? If so what is it?)
                                                            <ScannerStatus
*Idle" in xml

*At some point the Mopria client reports "Scan Failed" *

===============================================================================

*VueScan                                                    Scanner*

GET  /eSCL/ScannerCapabilities  >

 <ScannerCapabilities XML
GET /eSCL/ScannerStatus >
                                                           < ScannerStatus
*Idle" in xml
POST /eSCL/ScanJobs  >
                                                            < 201 Created ,
Location: /eSCL/path

Seems to just wait a few seconds and no further quieres until

GET  /eSCL/path/NextDocument
                                                              <Document
delivery

*SUCCESS the image is loaded in VueScan*
--------------------------------------------------------------------------------------------------------------------

I suspect as VueScan is reverse engineered, it is not looking at
/eSCL/ScannerStatus before GETing the image as Mopria and OSX Mojave do.

I need to know what "<pwg:State>XXX</pwg:State>" condition is required to
tell the client that the document is ready.
The only Status fileds I hae seen are; Idle, Processing, and Stopped. There
has to be another status for pwg:State that says that the document is ready.

2nd question
in the PWG standard I have seen the following sources in a
eSCL/ScannerCapabilities files (some may have been <scan:XXX> and not
<pwg:XXX>
Platen
Feeder (this is an ADF???)
ADFOption
Is there an option, for a single Sheet feed scanner? I know that while
looking at the many of these files I have seen "Feeder" and something like
"ADFOption". I can not seem to locate all of the files particularly the one
that I saw "feeder" in so I may have seen it on the Internet.

3rd question
Is there a standardized method to tell the client that there is no flatbed
preview? I know probably in eSCL/ScannerCapabilities. OSX Mojave just seems
to work from an actual Scan from what I saw . If a client requires a
preview I prefer to send a generic image that says somehing like "No
Preview Available, Click scan to start." OSX Mojave seems to start a
Preview on selection of the scanner. I later discovered however I do not
have "Preview" in the ScanIntent option. Had this option been there perhaps
OSX would have sent "preview" in place of "300"????

Thanks, I could really use some advice and figure perhaps someone here
knows and be kind enough to share a little.

Mark de Leon
_______________________________________________
ipp mailing list
[email-masked]
https://www.pwg.org/mailman/listinfo/ipp

---

From: "Kennedy, Smith \(Wireless & Standards Architect\) via ipp" <[email-masked]>
Date: Wed, 29 May 2019 03:21:59 +0000

Hi Mark,

The PWG was not the creator of eSCL, and due to intellectual property restrictions, the PWG doesn't have access to the eSCL specifications. PWG members may also be members of Mopria, and they may reply to you privately. If they don't I suggest you try engaging Mopria or Apple's developer technical support to see what they might be able to offer.

Smith

/**
    Smith Kennedy
    Chair, IEEE ISTO Printer Working Group
    HP Inc.
*/

> On May 28, 2019, at 7:03 PM, Mark DM via ipp <[email-masked]> wrote:
> 
> I am trying to make an embedded app for a small portable sheetfeed scanner that I want eSCL/AirScan compatibility from.
> 
> I have some questions about eSCL scanning communication that I can not seem to find the answers to. I was just looking at more docs but  there are so many , they all make my head spin. The only eSCL scanner I have access to is in another city and will not be there for months. I hoped to have this done long before that. 
> 
> Of course some wireshark traces would go a long way if anyone has some, or can make some.
> 
> eSCL scan job looks something like this, first from Mopria, but just discovered OSX Mojave behaves the same as Mopria
> -------------------------------------------------------------------------------
> Mopria (OSX Mojave is similar)                    Scanner
> 
>                                                             <ScannerStatus *Idle" in xml
> POST /eSCL/ScanJobs >          
>                                                             < 201 Created, Location: /eSCL/path
>                                                             <ScannerStatus *Processing" in xml
>                                                             <ScannerStatus *Processing" in xml
>                                                            (should there be a new status here that document is ready? If so what is it?)
>                                                             <ScannerStatus *Idle" in xml
> 
> At some point the Mopria client reports "Scan Failed" 
> 
> VueScan                                                    Scanner
>                                                            < ScannerStatus *Idle" in xml
> POST /eSCL/ScanJobs  >        
>                                                             < 201 Created , Location: /eSCL/path
> 
>                                                               <Document delivery
> SUCCESS the image is loaded in VueScan
> I suspect as VueScan is reverse engineered, it is not looking at /eSCL/ScannerStatus before GETing the image as Mopria and OSX Mojave do. 
> 
> 
> I need to know what "<pwg:State>XXX</pwg:State>" condition is required to tell the client that the document is ready. 
> The only Status fileds I hae seen are;  Idle, Processing, and Stopped. There has to be another status for pwg:State that says that the document is ready.
> 
> 2nd question
> in the PWG standard I have seen the following sources in a eSCL/ScannerCapabilities files (some may have been <scan:XXX> and not <pwg:XXX>  
> Platen
> Is there an option, for a single Sheet feed scanner? I know that while looking at the many of these files I have seen "Feeder" and something like "ADFOption". I can not seem to locate all of the files particularly the one that I saw "feeder" in so I may have seen it on the Internet.
>  
> 
> 
> 3rd question
> Is there a standardized method to tell the client that there is no flatbed preview? I know probably in eSCL/ScannerCapabilities.  OSX Mojave just seems to work from an actual Scan from what I saw . If a client requires a preview I prefer to send a generic image that says somehing like "No Preview Available, Click scan to start." OSX Mojave seems to start a Preview on selection of the scanner. I later discovered however I do not have "Preview" in the ScanIntent option. Had this option been there perhaps OSX would have sent "preview" in place of "300"????
> 
> Thanks, I could really use some advice and figure perhaps someone here knows and be kind enough to share a little.
> 
> Mark de Leon
> https://protect-us.mimecast.com/s/kLAcCxk5D5f1JG6wDS8ShLJ?domain=pwg.org