1460950523-eaddc2fa-fb41-4245-86cf-04e94c569d33

1. A virtual communication system for handling incoming calls directed to a virtual communication subscriber, the virtual communication subscriber being associated with a fixed communication device connected to a host Private Branch Exchange (PBX), the virtual communication subscriber being at a remote location and being connected to a communication network via a guest PBX not affiliated with the host PBX, the virtual communication system comprising:
a switch controller connected to a computer network for receiving contact information relating to the guest PBX; and further connected to the host PBX for controlling a call directed to the fixed communication device connected to the host PBX by directing the call to the guest PBX using the contact information; and
an integrated voice response (IVR) system connected to the switch controller for use in directing the call to the virtual communication subscriber via the guest PBX by providing at least a portion of the contact information to the guest PBX as speech.
2. The virtual communications system of claim 1, further comprising a Web server connected to the switch controller, the Web server being configured to receive from the subscriber the contact information.
3. The virtual communication system of claim 2, wherein the Web server is configured to authenticate the subscriber.
4. The virtual communications system of claim 2, wherein the Web server transmits a soft phone user interface providing PBX functionality.
5. The virtual communications system of claim 1, wherein the contact information includes a reach telephone number and the switch controller dials the reach telephone number to direct the call to the guest PBX.
6. The virtual communications system of claim 1, wherein contact information includes extension information for a communication device associated with the virtual communication subscriber, and the IVR provides the extension information as speech.
7. The virtual communications system of claim 6, wherein the extension information includes the subscriber’s name.
8. The virtual communications system of claim 6, wherein the extension information includes an extension number associated with the subscriber.
9. The virtual communications system of claim 6, wherein the extension information includes a room number associated with the subscriber.
10. The virtual communications system of claim 1, wherein the IVR comprises a text-to-speech converter and the portion of the contact information provided by the IVR as speech is received as text.
11. The virtual communications system of claim 1, further comprising a database for storing the contact information for retrieval by the switch controller.
12. A virtual communication system for handling incoming calls directed to a fixed address of a virtual communication subscriber, the virtual communication subscriber being connected to a communication network via a remote guest PBX, the virtual communication system comprising:
a switch controller connected to a network for receiving contact information relating to the guest PBX; and further connected to the communication network for receiving a call directed to the fixed address and directing the call to the guest PBX using the contact information; and
an integrated voice response (IVR) system connected to the switch controller for use in directing the call to the virtual communication subscriber via the guest PBX by providing at least a portion of the contact information to the guest PBX as speech.
13. The virtual communications system of claim 12, further comprising a Web server connected to the switch controller, the Web server being configured to receive from the subscriber the contact information.
14. The virtual communication system of claim 13, wherein the Web server is configured to authenticate the subscriber.
15. The virtual communications system of claim 13, wherein the Web server transmits a soft phone user interface providing PBX functionality.
16. The virtual communications system of claim 12, wherein the contact information includes a reach telephone number and the switch controller dials the reach telephone number to direct the call to the guest PBX.
17. The virtual communications system of claim 12, wherein contact information includes extension information for a communication device associated with the virtual communication subscriber, and the IVR provides the extension information as speech.
18. The virtual communications system of claim 17, wherein the extension information includes the subscriber’s name.
19. The virtual communications system of claim 17, wherein the extension information includes an extension number associated with the subscriber.
20. The virtual communications system of claim 17, wherein the extension information includes a room number associated with the subscriber.
21. The virtual communications system of claim 12, wherein the IVR comprises a text-to-speech converter and the portion of the contact information provided by the IVR as speech is received as text.
22. The virtual communications system of claim 12, further comprising a database for storing the contact information for retrieval by the switch controller.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A method comprising:
calibrating a drop detector to determine a location of a detection zone thereof relative to a carriage and to each of one or more fluid-ejection mechanisms disposed within the carriage;
acquiring drop detect data for a plurality of nozzles of each mechanism by indexing the carriage in relation to the detection zone and attempting to eject fluid from the nozzles, based on the location of the detection zone relative to the carriage and to each mechanism;
determining whether the drop detector remains properly calibrated, based on the drop detect data, and repeating the method at calibrating the drop detector where the drop detector is no longer properly calibrated; and,
determining which of the nozzles are properly ejecting fluid therefrom, based on the drop detect data, and attempting to recover the nozzles that are improperly ejecting fluid therefrom.
2. The method of claim 1, wherein calibrating the drop detector comprises:
ejecting fluid from a portion of the nozzles of each mechanism corresponding to a drop detector calibration index;
detecting the fluid as ejected from the portion of the nozzles of each mechanism via the drop detector to construct a drop detect profile;
determining whether the location of the detection zone relative to each mechanism is determinable, based on the drop detect profile;
in response to determining that the location of the detection zone relative to each mechanism is determinable;
determining the location of the detection zone relative to the carriage by determining a center position of the detection zone in relation to all the mechanisms; and,
determining the location of the detection zone relative to each mechanism by calculating an offset of a position of a start of the detection zone for the mechanism in relation to the center position of the detection zone.
3. The method of claim 2, wherein determining that the location of the detection zone relative to each mechanism is determinable comprises determining that the drop detect profile includes a pulse-like profile for each mechanism.
4. The method of claim 2, where calibrating the drop detector further comprises:
in response to determining that the location of the detection zone relative to each mechanism is not determinable,
where the carriage is not at a last position in relation to the drop detector;
advancing the carriage in relation to the drop detector by the drop detector calibration index;
repeating the method at ejecting the fluid from the portion of the carriage of each mechanism corresponding to the drop detector calibration index; and,

where the carriage is at the last position in relation to the drop detector, reporting an error.
5. The method of claim 4, wherein determining that the location of the detection zone relative to each mechanism is not determinable comprises determining that one or more of a number of conditions have occurred, for each of one or more of the mechanisms, the number of conditions comprising:
all of a plurality of points within the pulse-like profile for the mechanism are below a first threshold;
a plurality of low-to-high edges within the pulse-like profile for the mechanism exist;
a width of the pulse-like profile for the mechanism is below a second threshold;
the pulse-like profile for the mechanism has no leading edge; and,
the pulse-like profile for the mechanism has no trailing edge.
6. The method of claim 1, wherein acquiring the drop detect data for the plurality of nozzles of each mechanism comprises, where the nozzles of the mechanism are distributed over a plurality of dies:
setting a current die to a first die of the plurality of dies;
setting a current nozzle drop detect index of nozzles of the current die to a first nozzle drop detect index of nozzles of the current die;
repeating
advancing the carriage in relation to the drop detector so that the current nozzle drop detect index of the nozzles of the current die is incident to the detection zone;
firing the nozzles of the current nozzle drop detect index of the current die; and,
recording data as to whether each of the nozzles of the current nozzle drop detect index has properly ejected fluid,
advancing the current nozzle drop detect index of nozzles of the current die to a next nozzle drop index of nozzles of the current die unless the current nozzle drop detect index of nozzles of the current die is a last nozzle drop detect index of nozzles of the current die;

until all the nozzles of the current die have been fired,
advancing the current die to a next die unless the current die is a last die;

until all the nozzles of all the dies have been fired.
7. The method of 1, wherein acquiring the drop detect data for the plurality of nozzles of each mechanism comprises, for each mechanism:
a) a first thread receiving a call to acquire the drop detect data;
b) the first thread setting a current die to a first die of a plurality of dies of the mechanism over which the nozzles of the mechanism are distributed;
c) the first thread setting a current index to a first nozzle drop detect index of the nozzles of the current die;
d) the first thread advancing the carriage in relation to the drop detector so that the current nozzle drop detect index of the nozzles of the current die is incident to the detection zone;
e) the first thread firing the nozzles of the current nozzle drop detect index of the current die;
f) the first thread recording raw data provided by the drop detector as the nozzles of the current nozzle drop detect index are fired;
g) the first thread requesting a second thread to process the raw data;
h) the second thread processing the raw data to result in the drop detect data for the nozzles of the current nozzle drop detect index of the current die;
i) where the current index is not equal to a last nozzle drop detect index of the nozzles of the current die, the first thread advancing the current index to a next nozzle drop detect index of the nozzles of the current die and repeating at d);
j) where the current die is not equal to a last die of the plurality of dies, the second thread requesting that the first thread continue with a next die once the second thread has finished processing the raw data for the current die, such that the first thread advances the current die to a next die and repeats at c); and,
k) where the current die is equal to the last die, the second thread returning from the call to acquire the drop detect data once the second thread has finished processing the raw data for the current die.
8. The method of claim 7, wherein acquiring the drop detect data for the plurality of nozzles of each mechanism further comprises the second thread determining whether the drop detector remains properly calibrated at h), and repeats the method at calibrating the drop detector where the drop detector is no longer properly calibrated.
9. The method of claim 1, wherein determining whether the drop detector remains properly calibrated comprises determining that the drop detect data reflects that periodically occurring of the nozzles do not eject fluid onto the drop detector when being fired.
10. The method of claim 1, wherein determining whether the drop detector remains properly calibrated comprises, for each mechanism:
constructing a histogram of a number of the nozzles of the mechanism that did not eject fluid onto the drop detector when being fired;
determining a first slope of the histogram at a beginning of the histogram, corresponding to the rate of decrease of the number of the nozzles of the mechanism that did not eject fluid onto the drop detector when being fired at a beginning of a nozzle drop detect index;
determining a second slope of the histogram at an end of the histogram, corresponding to the rate of increase of the number of nozzles of the mechanism that did not eject fluid onto the drop detector when being fired at an end of a nozzle drop detect index; and,
where the first slope or the second slope is greater than a threshold, concluding that the drop detector is no longer properly calibrated.
11. The method of claim 1, wherein determining which of the nozzles are properly ejecting fluid and attempting to recover the nozzles that are improperly ejecting fluid comprises:
determining whether the drop detect data indicates that image formation quality resulting from fluid ejection by the nozzles is likely to be below a desired level of image formation quality; and,
in response to determining that the drop detect data indicates that the image formation quality is likely to be below the desired level of image formation quality:
performing one or more nozzle recovery service actions to recover the nozzles that are improperly ejecting fluid therefrom, and repeating the method at acquiring the drop detect data.
12. The method of claim 1, wherein determining which of the nozzles are properly ejecting fluid and attempting to recover the nozzles that are improperly ejecting fluid comprises:
determining whether the drop detect data indicates that image formation quality resulting from fluid ejection by the nozzles is likely to be below a desired level of image formation quality;
in response to determining that the drop detect data indicates that the image formation quality is likely to be below the desired level of image formation quality:
where no nozzle recovery service actions have yet been performed
advancing a current recovery service action to a first recovery service action;
performing the current recovery service action and repeating the method at acquiring the drop detect data;

where one or more nozzle recovery service actions have been performed and one or more other nozzle recovery service actions have not yet been performed;
advancing the current recovery service action to a next recovery service action; and,
performing the current recovery service action and repeating the method at acquiring the drop detect data.
13. The method of claim 12, wherein determining which of the nozzles are properly ejecting fluid and attempting to recover the nozzles that are improperly ejecting fluid further comprises:
where all of the nozzle recovery service actions have been performed, storing data as to which of the nozzles are still improperly ejecting fluid therefrom so that error hiding can be performed as to the nozzles that are still improperly ejecting fluid therefrom during image formation.
14. The method of claim 1, further comprising forming images on media by ejecting fluid from the nozzles of the fluid-ejection mechanisms as the media is advanced past the carriage and while the carriage remains stationary.
15. The method of claim 1, wherein the nozzles of each mechanism are organized along a number of columns and a number of rows, the number of rows greater than the number of columns, the detection zone having a size encompassing all the columns but just some of the rows, such that the not all of the nozzles of the mechanism are capable of simultaneously ejecting fluid within the detection zone.
16. The method of claim 1, wherein the fluid-ejection mechanisms are inkjet mechanisms, such that the fluid ejected from the nozzles thereof is ink.
17. A fluid-ejection device comprising:
one or more carriages, each carriage having one or more fluid-ejection mechanisms disposed therein, each fluid-ejection mechanism having a plurality of nozzles from which fluid is ejectable, the carriages remaining stationary while the nozzles eject fluid onto media;
one or more drop detectors, each drop detector having a detection zone within which the drop detector is to detect whether a portion of the nozzles are properly ejecting fluid; and,
a controller to calibrate the drop detectors to determine the location of the detection zone, to acquire drop detect data for the nozzles of each mechanism, and to recalibrate the drop detectors upon determining that the drop detectors are no longer properly calibrated.
18. The fluid-ejection device of claim 17, wherein the nozzles of each mechanism are organized along a number of columns and a number of rows, the number of rows greater than the number of columns, the detection zone having a size encompassing all the columns but just some of the rows, such that the not all of the nozzles of the mechanism are capable of simultaneously ejecting fluid within the detection zone.
19. The fluid-ejection device of claim 17, wherein the fluid-ejection mechanisms are inkjet mechanisms, such that the fluid ejected from the nozzles thereof is ink, and the fluid-ejection device is an inkjet-printing device.
20. A fluid-ejection device comprising:
one or more carriages, each carriage having one or more fluid-ejection mechanism disposed therein, each fluid-ejection mechanism having a plurality of nozzles from which fluid is ejectable, the carriages remaining stationary while the nozzles eject fluid onto media;
one or more drop detectors, each drop detector having a detection zone within which the drop detector is to detect whether a portion of the nozzles are properly ejecting fluid; and,
means for calibrating the drop detectors to determine the location of the detection zone, for acquiring drop detect data for the nozzles of each mechanism, and for recalibrating the drop detectors upon determining that the drop detectors are no longer properly calibrated.