CA2130112A1 - Telephone network application platform for supporting facsimile applications - Google Patents

Telephone network application platform for supporting facsimile applications

Info

Publication number
CA2130112A1
CA2130112A1 CA002130112A CA2130112A CA2130112A1 CA 2130112 A1 CA2130112 A1 CA 2130112A1 CA 002130112 A CA002130112 A CA 002130112A CA 2130112 A CA2130112 A CA 2130112A CA 2130112 A1 CA2130112 A1 CA 2130112A1
Authority
CA
Canada
Prior art keywords
facsimile
command
fax
commands
nap
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
CA002130112A
Other languages
French (fr)
Inventor
Bruce Goldhagen
Michael S. Recant
David W. Heileman, Jr.
Frederick C. Kruesi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Unisys Corp
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Publication of CA2130112A1 publication Critical patent/CA2130112A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32358Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using picture signal storage, e.g. at transmitter
    • H04N1/324Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using picture signal storage, e.g. at transmitter intermediate the transmitter and receiver terminals, e.g. at an exchange
    • H04N1/32406Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using picture signal storage, e.g. at transmitter intermediate the transmitter and receiver terminals, e.g. at an exchange in connection with routing or relaying, e.g. using a fax-server or a store-and-forward facility
    • H04N1/32411Handling instructions for routing or relaying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/53Centralised arrangements for recording incoming messages, i.e. mailbox systems
    • H04M3/5307Centralised arrangements for recording incoming messages, i.e. mailbox systems for recording messages comprising any combination of audio and non-audio components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00281Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a telecommunication apparatus, e.g. a switched network of teleprinters for the distribution of text-based information, a selective call terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32358Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using picture signal storage, e.g. at transmitter
    • H04N1/324Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using picture signal storage, e.g. at transmitter intermediate the transmitter and receiver terminals, e.g. at an exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32561Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using a programmed control device, e.g. a microprocessor
    • H04N1/32566Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using a programmed control device, e.g. a microprocessor at the transmitter or at the receiver

Abstract

A voice Telephone Network Application Platform (NAP) (10) is enhanced to manage facsimile messages, as well as voice messages, by the addition of facsimile functionality (103, 104) to the platform actuatable by high-level facsimile commands (160) from applications supported on the platform. The commands include sending and receiving facsimile messages. A PC facsimile processor (FP) (104), interfacing between the platform and the telephone network (12), stores facsimile messages received from the network and facsimile messages for transmission to the network on hard disk (181). A
facsimile command (160) from an application is expanded into NAP
commands (162) for controlling the platform and FP commands (161) for controlling the facsimile processor so as to perform the facsimile functionality associated with the facsimile command. A
recovery process utilizing a Recovery Token prevents facsimile messages from becoming lost between receipt at the FP and storage in the platform.

Description

`- 2130112 TELEP~ONE NES~ORR APPLICATION PLATFORM FOR
. SVPPORTING FACSIMILE APPLICATIONS

P~E~'A OE
1 References in this Description to S.N. 521,210 are published in U.S. Patent 5,133,004 issued July 21, .
992.
References~in this Description to S.N. 514,783 : ~ 5 are published in U.S. Patent 5,138,710 issued August 1992. : :
R;eferences in this Description to S.N. 503,195 ~:: :are~attached hereto~ as APPENDIX I and are now published in U.S. Patent~:5,255,371 issued October 19, 1993.

"~ BAC~GROUND~OF ~ INVENTI~N
Fleld of~the:~ nvention The invention relates to providing facsimile ax~ servlces~over~the~telephone network via application 5~ sof:tware~f~or~such~services and involves a telephone ne`twork~dig:ital~omputer platform for-supporting such application software.: ~ :

Sa`id~S.~NL 521,2iO covers the~baslc Network Appli~ati'on~Plat:form (NAP) for supp~rt~ng voice oriented 20:`applLcatiqns and~which has been enha~ced:and extended to support~facsimi;le~oriented appl~cations as described hereinb ~ ow. 'Sa~id~S.N. 5t4,783 discloses the NAP voice file ~VMMM:) for~storing vo~-ce data and which is utilized for~storing facsimile data as described hereinbelow.

,:,2~5:~Said~S.N.~503,1~95 discloses the:Yoice:~int rface between the~:telephone network and the NA*.~ The interface has ,been;~enhanced and ex~ended for facsimile communication.
, :Said S.N. 521,210; 514,783; and 503:,195 are :referred to herein as NAPSNs.

~: -:, r~ t , 1 2. Des~ription of the_Prior Art The facslmile machine has become ubiquitous in present day communication for transmission of documents.
Facsimile transmission over the Public Switched Telecommunications Network (PSTN~ annually generates billions of dollars in toll revenues. A variety of facsim~le related servlces and enhanced servlces are currently available, such as Call Asswer, Fax Store and Forward, Fax Mallbox, and the like. Generally, such t0 services are provided by dedicated systems speciflcally' designed for the service and for the hardware environment in which the system will be deployed. Such systems tend to lack flexibillty, in that desired changes in functlonality often require extensive, and hence : 15 expensive, modifications to the applicatlon software.
Additionally, applicatlon software for prsviding such ; services are not portable ln that a change in hardware environment usually requir~s substantial appllcation software re-wr1t1ng. Al~hough such systems are usually 20: computer based~, such systems can only perform the funotlons for whlch they were designed and, thus, cannot also be utillzed to perform general purpose data processing:. Also, such systems generally do not have aceess to data ~ases stored on general purpose cc~puters.
Addltionally,~;lf it is deslred to~provlde a-wide ~ariety of services, utllization of a large number of dedlcated :: :systems tends~to be prohibitively~expensive.
: Since the divestiture, the Bell Operatlng Companles (80Cs) and In~ependent Telephone Companies (Telcos) have~been seeklng ways to increa~e the return on their prlmary asset; viz, the ~nstalled network.`
One source of:increased revenue would be to offer new facsimile related services that lntegrate into, or : interface wlth the existing network, resulting in greater ~- 35 utilization thereof. It is generally diffi~ult for BOCs and Telcos to proYide new services because network swltches are deslgned to swltch calls, not support data W093/1861~ PCT/US93/02005 1 ba~e or ~pecial servlce related functionality. Each Central Office (CO) utllizes a predetermined set of function~ provlded by the switch manufacturer. Only the manufacturer could add new services to the switching system which usually involves substantial lead times, such as t*o years or more. Additionally, the sw~tch manufacturers have been particularly slow in responding to the needs of the BOCs and Telcos for enhanced service pro~isioninc ~ A major Iimiting factor to providing new fac lmlle related~services is a dependence on the telephone swltch provider for implementing the capabilities required by these new servlces.
In a~ddition to the above dlsadvantages, it is ~believed that~currently avallable facslmlle service systems do~;not~have~the~capabillty of ~endlng and recelving facsimile~transmissions over a currently establ~shed~voice~connection. Pre~ent day systems are believed~to termlnate~a voice connection and then re-d~al a~fax~machlne~for the facslmlle tran~mission. It i~
20 ~furthermore~bellèved;that present day systems do not the~capabllity of common storage of voice and fax images~ln~the~same data base. Separa~e facllitles are bell ed~to be requlred. It is furthermore believed cthat pre~ent~day facslmlle~systQms effect fax 25~ t ~ s-lon~ln~an~lnefflclent lnt-ractlve mode utilizlng flow control~-uch a~transmlttlng one page at a tlme.
Although~the~system~of~sa~d~S.N.~52t,210 overcomes th-~dl~adYAnt~g s~descrlbed above~wlth~re~pect to volce co~unlcation, the ad~antages realized by~the platform 30~ of sala S.~. 521,210 for volce has t, prlor to the ;pr-~ent~lnventlon,~been achleved;for fax.

;; S~ARY OF TE~ I~VBNTION
The present~invention overcomes the 35~ above-de~crlbed~dlsadvantages of tbe prlor art by provldlng, for the first tlme, a Telephone Network Applicatlons Platform that lnterfaces wlth the telephone :
~ . , :: ~ :

WO93/18610 PCT/US93~0200S
2131~112 1 n~twork and supports facslmile oriented appllcation software that provides facsim~le oriented services.
The present invention is an enha~cement and exten~ion of the Telephone Network Applications Platform di~closed in said S.N. 52t,210. The NAP interfaces between the telephone network and a facsimlle appll~ation program and comprtses a dig~tal computer programmed to perform fa~simile orlented telephone network functionality in response to facslmile oriented co~arla~ ~sued ~y the facslmile applicatio~ program. The f~simile o~iente~
telephone network funct~onality resldes in the computer independent of the facslmile application program and is actuatable in response to the commands. The commands include a Send Fax command and a Recelve Fax command, the telephone network fac~imile functionality includlng send~ng a facsimile message to the network and recelving a facsimile;message from the network ln re~ponse to the Send Fax command and the Receive Fax co~mand, respectlvelyO An appllcation interface coupled between 20: the~facsimile appllcation program and the computer responds to the eo~mandq from the application for actuating the telephone network fac~lmlle functlonality ln~re~ponse:to and in accordance with the command~.
The application lnterface 1~ re3po~sive to the Send Fax 2s~ com~nd a~d~the:~Recelve.Fax com~and from the application for actl~atl~g the telephone network fac~lmile fu~ctlonallty~by causing a fac~lmlle me~s~ge to be sent to th~ network and cau~i~g a facsimile mesQage to be ~; recelved from the network in response to the Send Fax com~and and the R-ceive F~x co~and, respectively. A
: network fac~imlle interface coupled bet~een the network ~: ~and the computer conveys the facsim~le mes~age~
therebetween.
A~ descr1bed ln sald S.N. 521,210, the NAP
lncludes a data ba~e and voice flle for ~toring ~oice me~sages. The fax messages are al30 ~tored in the voice : f~le and managed by the data base. The computer also WO g3/18610 2 1 3 ~ 1 1 2 PCT/US93/02005 1 include~ the telephone network functionality relatlng to volce me~ages and call connectivi~y actuatable by AIM commands as described in ~aid S.N. 521,210. The network facsimile interface preferably includes a Fax - 5 Processor for acceptlng facsimile messag.~s from and deliverlng fac~imile message to the network. The facsimlle extensions of NAP preferably ~nclude a Fax Server for interpretlng and expandlng the facsimile commænds into FP coi-~ands for controlling the Fax Procec;sor and into ~IM commands for performing the NAP
functlonallty requlred to execute the facs~mlle co~mands.
In the preferred embodiment, communicatlon means : interposed between the applicatlon and the applicatlon interface directs AIM commands to NAP to be executed in the manner~described in aid S.N. ~21,210 and fac3lmile ; co~mands to t~e Fax Server for exe~ution. Alternatively, ~ the Fax Server:ana communlcation mea~s can be integrated ; lnto NAP wlth AIM commands and facslmlle comma~ds : : appropriately directed and executed.
: Additlonally, a recovery proce~s is utillzed ~wlth re~pect to a Recovery ~o~en for a~urlng that no : faxes~:are l03t~between recelpt at the FP and entry into the NAP ~torage file.

25 : : ~
Figure 1 iQ a ~chematic block diagr~m lllu~tratlng t~-:ovorall architecture of thQ ~AP wlth Fax Æxten~ons ~: (NaPFE) in accordance wlth the present ln~entlon and the ~n~ironment in which the NAPFE l~ deployed.
Flgure 2 i~ a dlagr~m lllustratlny the format ~ of the NAPFE co.-r~i~nd and response common header utilized : wlthin the NAPFE of Flgure 1. The ~ommand body i~.also lllustrated.
Flgure 3 18 a schematlc block diagram illu~trating 3S functlonal detal1~ of the COMS interface of the NAPFE
of ~igure 1.
Plgure 4A l~ a diagram illu~tratl~g the format 2130112 "

1 of the FS to FP command.
Figure 4B is a diagram illustratlng the format of the FP flle ~ransfer command.
Figure S is a schematic block dl~gram illustrating S functional details of the Fax Server (FS) of the NAPFE
of Figure 1.
Flgure 6 is a schematic block dlagram illustrating .functlona~ details of the Fax Proceqsor (FP~ of the NAPFE

of Figur~ 1.
Figure 7 is~a schematic block diagram whlch -~
describes the;Voice Interface ~lodule (vIr1) protocol, Figure~8 is~a diagram illustrating the for~ats of the commands of the Data Transfer Command Set.

'~: ~ : , ~ESCl~IPTION OF 1~1!; PREFERRED EMBODIME~T
1 - Raferring to Figure 1, a NA~ 10 and disk system 23 is illustrated with the NAPFE components utilized to ` extend the NAP 10 to provide facsimile oriented functionality. Reference numerals below 1~0 refer to NAP and reference numerals above 100 refer to NAPFE.
The NAP 10 with the disk system 23 is preferably implemented on~an A-Series digital computer system commercially available.~from Unisys Corporation of Blue : Bell, Pennsylvania,:and is described in detail in said 10 NAPSNs. The NAP ~10~ will be briefly described herein f or: continui ty . ~: :
: : The NAP 10 interfaces between telephone networ~
: application programs 100 and a telephone networ~ 12~
The:~applications:~10~may comprise voice oriented programs 1s~- that~are~managed~by~the:NAP 10 ~n the manner described in~sàid:~NAPS~s,~facslmil~e oriented:applications, and à:~combination o~:voi~ce and facsimile. The applications 10~0~communicate~.w:ith the NAP 10 through mess~ge passing communi~at1on apparatus 101 such as the ~-Series COMS.
2~0~ As~`de~scribea in~said S.N. 521,210, the NAP 10 ls~:~comprised of~an~Application Interface~Module (AIM) t5~ a~Voice~Message~Management Module (VMMM) 16, an Network Interface~Untt~Manager (NIUM)~17, and Network Interface Units~ NIUs)~1:9. The ap~lications 100 ~5~ communiate~with~the~AIM 15 via dialogs comprising e~uences~:~o~ NAP~commands and r~sponse~s:which are also referred to::herein and in said S.N. 521,210 as AIM
~ r. . ~ , ~
commands and responses, as well as NAP AIM command~ and responses.~ NAP~-protocol requires that the commands and ::30~ responses occur in pairs with a response returned by :the AIM 15 to the appli~cation for each co~ and issued : : , ~, 35 ~:

W~ 93/l8610 PCI`/US93~02005 2130112 8- ' by the appllcatlon to the AIM lS. In the manner descrlbed wlth respect to S.t~. 521,210, the COMS 101 directs NAP
commands received from an application 100 to the AIM 15 along a path 13 and recelves NAP responses from the AIM t5 5 along the path 13. In a manner to be desGribed with respect to the present invention, the COMS tOl conceptually:intercepts NAPFE commands from the appllcations 100 and send~ the NAP~E co~mands along a path 102 to a Fax Server (FS) 103 LOt' int~rp.atdtlon :~: 10 and :processing. NAPFE: responses retuined to the Fax ~: ~ : Server tO3 in ~response to a NAPFE command are tran~mitted back to the ~applications 100 through COMS tOt via the path 102. ~ -~ All of the AIM protocols described ln said S.N.
15 52:t,21Q with respect~to dialogs, c:ommands and responses apply to the~NAPFE of~ the present lnventlon. Thus, co -unicatlon 1~ vla~the exchange of command and response më~saqes.: For ~every command, there wlll be only one response. The~:appllcatlons:lOO cannot spontaneously 20~gen-rate a col~ and. The applications 100 can only issue a~con~mand after ~recelpt of~ a response from NAP or NAPFE.
;After is~ulng~:a ~command, the appllcatlons 100 wait untll a~ reJponse i~ reoeiv-d before is'suing:~another command.
;The~ NAPE'E~ of the preQent inventlon includes a 5~''plur-l~;` of ~c Proc--~ors (FP) 104 which are utillzed for dellverlng ~facslmile Dlessages to the network 12 and for-:recel~ing;~facsimlle me~sages therefrom via ports tO5.
facslmlle~ co ,unicatlon between the Fax ProcesQors 104 : and the network~ can:~ be. d~rect to a Central Office 27, :30~ via~a link 1~06,~:or via~ the NIU 19 through: NIU port~ 20.
Each Fax Processor 104 performs all of the functions assoclated wlth~sending and receivlng fac~imile meqsages in accordance~: wlth: pre~ent day facslmile me~aglng protocol. For example, the Fax Proce~sors 104 are :~ 35 compatlble wlth~ Group III CCITT speclficatlons T.4, T.30, -and V.29. The Fax Processors 104 coalmunlcate with the . Fax Server 103 through ports 113 vla a path tO7 and a - : ' , WO93t18610 PCT/US93/02005 .
9 21:30112-`

1 hlgh-speed parallel l~nk 108 through Fax Processor Data Link Processors (FP DLP) 109. Each Fax Proces~or 104 communlcates with the Fax Server 103 via a respect~ve FP DLP 109.
As de~cribed above, a fax comm~n~ from an application 100 is transmitted by COMS 10t along the path t02 to the Fax Server 103. The Fax Server 103 interprets ea~h fax command as a sequence of FP commands for the Fax Processors 104 ~nd normal NAP AIM commands :10 to be pro~essed by the NAP 10. The FP commands are issued : to t.he Fax Processors 104 vla the path 107, the FP D~P 109 and the high-~peed ltnk t08. The Fax Processors 104 return FP~responses~to the Pax Server 103 via the path comprising the components 107, 1Q8 and 109. Facslmile data is also~communicated between the Fax Proce~ors 10 and the Fax~server 103 v~a this path. The NAP AIM
commands that form part of the fax com~and3 are transmitted~by~the Fax Server 103 to the AIM 15 through :the COMS 101~via~a~path 110. Concomitant NAP responses 20~ are returned:;~to the: Fax Server 103 through the ~OMS 101 vla the path :1~10. ~:~
In operation, COMS 101 intercepts the ~AP and NAPFE.co .ands;:from:the~àppli~atlons 100 ahd the FS 103 and~the reJponses ~rom AIM 15 and FS 103 and call~ a .25~- proc-~slng lte~ fro~ FS~103~, func~ionally lllu~trated ln~;:Flgure-3, to~approprlately dlr~ct the me~sages. The NAP AIM co ~ ands from the applications and the NAP AIM
co aAnds used in-NAPFE proces~ing are forwarded to the A~M 15. The~NAPFE eommands from the applications are proces~ed by FS~103. ReQponses~re~ultln~ from ~P AIM
comm ~ ds from an:application 100 are returned to the : appllcation. ~Re~pon~es re~ultlng ~ro~ NAP AIM ~o~and~
:used in:NAPFE proce~slng are returned to FS t03.
.
` The Fax Server 103 malntal~s temporary ~torage ;35 flles t l S on t~e~disk ~ystem 23 through the A-Ser~e~
I~O proce~or 24. Fax data i8 wrltten to and read from thl~ file by the Fax Server 103 vla a path t11 utll~zlng WO93/1861~ . PCT/US93/02005 21301~ 2 10 t ~tandard A-Series file access mechan~sms. Addlt~onally, o~her A-Series flles 50, su~h as appllcat~on files, are maintained on the disk system 23.
As described in said S.N. 521,210 and said S.N.
- 5 514,783, the VMMM 16 under direction of the A~M 15 main~ains a data base voice file 40 on the dlsk ~ystem 23 for storlng voice:messages that are rec~i~ed from and ~ sent to the network 12. The NAP 10 assigns a unique : Message Number (MN) t~ h voi~e me~æge ln the file.
In a manner to be ~t~x ~escr1bed, f~; me~sag~s that 4 are recelved from and transmitted by the Fax Proce~sors 104 are also maintalned in the NA~ data base file 40. .
The NAP 10 al o a s1~ns unique MNs to the fax me~sagès stored ln the NAP data base 40 on the d~k system 23.
~ The AIM 15 csntrols the swltchln~ of the ports 20 of the NIU~19 through the NIUM 17 and manages the call s~lgnalllng~ as~d-3crlbed in said S.N. 521,210.
: Furthermore,~ as:de~cribed in sald ~APSN~, the VIM DLPs 25 m~anage the co ~ unication of voice me~age~ to and from 20:~the~network 12;through the NIUs 19 under control of commands~:from~the voice channel command queue 26 as deJcrlbed ln~further detail in said S. N. 503,195~
As descrlbed ln said S.N. 521,210, t~e NAP 10 is~program~ed~wlth telephone network functional1ty 1~voked 25~ by~AIM co~ nd~from the appllcatlons. ~The~e com~ands include~D ~ m VO~ OE MESSA5E, CONNEC~ C~, TERMINATE
DIALOG,~ COLLECT~DIGITS, I~ITIArE CALL, TERMINATE CALL, I~SSAGE NUMBERS, GET YOICE MESSAGI~:, CREATE VOI OE
:MESS~GE, and~Pl~OT CALL~ The datail~ of the~e commands 30 and the invok-d functional1ty are set forth ~n sa1d $.N~
S21,2tO. BrIefly, the DELETE VOICE MESSAGE command deletes a named:message from the NAP data ~aQe- The :CONNECT CALL command sw1tches the ~ncoming NIU port of the call from the current outgoing p~rt to a new outgolng - 35 port. The TERMINATE DIALOG command terminate~ the dialog represented by the dlalog ID. With respect to the CO~LE~T
DIGI~S command, it i~ appreclated that NAPFE doe~ not WO93/18610- 1 ~ PCT/US93/02005 , 21~01 1 proce~ dlqit~. The command is utlllzed by NAPFE a~
a time-out. ~The INITTATE CALL command initlates a call to the network. ~The TERMINATE CALL command termlnates a call. The GET MESSAGE NUMBERS command causes the NAP 10 to provlde to~the~appllcatlon all of the ~essage Numbers of~the messages stored in the NAP data base flle that are associated with the~applicatlon. This command ls usea for mèssage reconcillation as described in said S.N. 521,21~0~ and~;~sald S.N. ~51~,783. The GET VOI~ SAGE
0 co o and controls~the~NAP -0 to place the dc'~ named message in~the~NXP~data base file into a named A-Series dlsk~file.`~ The~CREATE~VOICE MESSAGE command copie~ a mes;sage~from~a;~named~`A-Serles fiIe into the NAP data base~ ~lle. The PIVOT CALL co ~ and changes the outgolng 1`5~ NIU port~to~an~lnco-lng~port and establlshes a new outgoing port.~
The~Fax~Proce~sors 104~send~to and receive ~-om the~network~àx~mes;sages~ over a~currentl~y~exlstlng conn-ctlon~upon~recelpt~of a~NAPFE~co~rand. ~In order a ll~h-~ h c nectlon ,~the a ~ llc tlons`l00 ut ~ lze~the~ ~ lowlng AIM co mands:~;CO~E~ ~LL, INITIATE
CAL~ and~PIV~OT~CA~L.~ ~he NAPFE~utllizes the followlng ands~as~part~of~the~NAPFE commands: NNNECT CA~L, COLLECT~DIGrTS,~ ~ ~VOICE MESSA OE ,~ and CREATE VOICE
25~HESSAGE~ ~ CO~LECT~DIGITS comr~na lQ utlllzed a~ a t~to get~an-~-on-hook~notlflc~tlon~from the NIU 20, a~ r o~bé~d lbed.~ VOI OE ~ SSAGE and CRSAT~VOICE MESSAGE~co - ànds are~;~utll~lzed by the Fax Server 103 to transfer fax~me~sageQ between the Fax 30 ~Processor~ 1~04~and;~the~NAP data base mes age flle ln-a~mann-r to~-~be~eYplaln-d~
The~NAP~ 0;establlshes~a platform to pro~lde baslc volce~management ~ervlces~to~an appllcat~on. N~PFE
provides a;~ llar set~ of fax~mànagement~;services by 35 ~the~addltlon~of~élements 10?~ and the~modlficatlon o~COMS 101 to~d$rect fax command~ to the Fax Server t03.
The~Fax Servér 103`adds a ~et of fax orlented co~mands . .

WO 93/18610 PCI`~US93/02005 2130112 `
: 12 1 to the AIM command set of the AIM 15 thereby provlding extensions to the AIM command set. NAPPE performs four basic facsl-$1e oriented functions as follows:
Answer and Recelve a Fax. This function is basic :5 to facsimi1e~machines. NAPFE wl~l answer an : lncoming:call and receive a fax message. The oall~-ay be answered directly or a voice dialog first performed.
n wer_and~Send a Fax. NAPFE supports the capability~of:answering an incoming call and trans-ltting~a:fax at the orlglnator's request.
In:a~fax:~mail~:application, after a voice dialog, the sub~crlber~can request that the exlstln~
: connèction be used to send a fax to the 5:~ subs~criber~s~fax machine. Thi~s;~;function can al o~be:u~ed durlng~polling where~a fax machine pol~ls`NAPFE~ovèr the network to rqcelve:a fax Fax. Thls~;b~ic fax~:~machine 20 ~ appllcatl~on diallng èr;~a~t lephone~lin ,: connectlng~to~a remote :f~x~:m~achln ~and::transmitting~a~:~fax:image~thereto.
Orl ~ è and:~Recelve a Fax.~ This functlon ls = f :~achlne to ~ ivè~:faxe~that:~reslde~ther at~for:~pic~-up.
to:Flgure 2,~ the~NAP~ :co _ and and r~ h~v~a~common;~header,~ the~format:of: whlch Is m~ illU~tr~t d~ a~ 20~ The co~ and~and~response~ od also~dep~cted~at~:121.: ~The header 120 lncludes a Message 30~ ypé~fleld~1:22~ for~containlng::a numerlcal:representatlon of~the~com~and or~;response type~ A~Dlalog }D field 123 ldentifles~th~e~NAP~or NAPFE~dlalog~wlth;whlch~the command :or~:response ls~:a~soclated.:~:Tbe header~t20 Is:
substa:ntlally~the~Jame a~ the~AIM~command`;and response 35: co~on~header~d--crlbed ln sald S.R. 521~,210~ The body 121 of the command or response lncludes~:any or all of the followlng:~a Recovery~Token fleld~ 2~4,~a Data~Base WO~3J18610 PCT/US93/02~5 213~112 1 Number field 125, a MesQage Number fleld 12S and a Fax F~le N~me field 127 for ~onveylng a RecoYery Token, a Data Ba~e Nwmber, one or more NAP Message Numbers ~M~), and an A-Series fil~ title, respectively~ The Recovery Token is utillzed ln a recovery proce~s, to be de~crlbed, to receive potentlalIy lo~t faxes. The Data Ba$e Number ldentlfies the appllcatlon assoclated with the command or response. Ea~h NAP and NAPFE application has a unique Data Base Num~c~ ass~-gned by NAP. The MN iden~fies fax message~ 8~) involved ln the command or respon~e.
The Fax File Name identifie~ a file c~ntainlng a fax message.
Referrlng to Figure 3, functional details of the COMS 101 are illu~trated. The COMS 101 utillze~
a NAPFE proces~lng item ~ompri~ed of a Fax Commands and ;~ ~ Responses block 130 aDd a NAP Command~ ana Re ponse3 block 13t. Standard NAP com~ands from th~ applica~lon~
100 are direct~d by the block 131 to the AIM 15 along the path 13. Similarly, ~tandard NAP commands th~t form 20~ p rt of the fax commands are al~o tran~mltted by the block 131 from the path 110 to the AIM 15 ~la the path 13.
: ~ ~
Th~ fax commandQ lntercepted by the block 130 are tran~mltt-d to ths Fax SerYer 103 along ths path 102.
25~ All~t~ndard~NAP com~a~d~ and r~ponse~ and all ~ax co~nds~nd~r-~pon~ have unlque ~ ge Typ~ number~
tor~d in the~leld 122 of the command headQr IFlguxe 2).
he blocks 130 and 131 dlr~ct the co~mands from the applicatlons 100 elther to the Fax Server 103 or to AIM 15 on the ba~ 8 of the Message Iype ~u~bers.
Fax re~pon~e~ received at the blo~k 130 fro~
the~Fax ~erver 103 along the path 102 are tran~ltted - ~ back to the ~pplicntlon~ 100. AIM re~pon~es rec~lved at~the block 131 from AIM 15 along the path 13 th~t belong to non-fax dlalog~ are tran~mitt~d ba~k to the appllcat~on~ 100 ln the manner de~cr1bed ln ~aid S.N. 521,210. AIM re~pon e3 rece~Yed at the block 131 W093/l8610 ' PCT/US93/02005 1 along the path 13 that belong to fax dialogs are tran~mltted back to the Fax Server 103 along the path 110.
The separation between fax and non-fax responses ls based on the unlque Mes age Type numbers or on the dlalog ID
stored ln the fields 122 or t23, respectiyely, of the re~ponse headers (Figure 2). A dlalog table (not shown) malntalned by NAPFE (Fax Server 103), and avallable to COMS 101, identlfies the fax and non-fax dialogs.
It is~appreclated from the foregoing, that ';h~
Fax Server t03 appears as an application to the AIM ~;
communlcating~ther-wlth through the COMS portlon 131 utilizing the standard AIM protocols described herein and ln said~S~.N.~521,210. The COMS 101 also include~
a co -and trap~l32 for reason~ to be explalned.
~ As di~cussed above, the Fax Server 103 sends Fax Proce~or (FP~ ~o, ands to the Fax Proce~ors 104 and receive~FP~r -pon~es~therefrom. The FP command are of- two typ~`s; vlz., FP command~ for sendlng and receiving faxe~ and FP commands for flle tran~fers between 20~ t~he;Fax~Procé~sors 104~and~NAP dlsk. Referring to Flgure~4A, the for~at~of~the FP command and respon~e lnYolv d ln~fax~ cou~unlcatlon l lllustrated. A Message 'Typè~f~ield~ 0~de~'1gnate- the typ~of command or re~pon~e.
An~FP nusber fleld~l~l de-lgn-te~ the Fax Proce~or 2s~ J~lectea~ln th-~dla~log. ~A~port nu~ber~fleld t42' d Jign~te~; the~PP~port ~elected in the dlalog. A fax na ~;fl-ld~143 ld-ntifle~ the file~`wlth whlch the com~and ls ~ln~olved~and~a~phone number fleld 144 de~lgnate~ a phone number to be~out-dlaled by the Fax Proce~or in performance~of the co~mand.
Referring to ~igure 4B, the format of the FP
file tran~fer~com~and and respon~e~ illu~trated. A
Me~age ~yp-~f~-ld 150 deslgnates the command or re~ponse typ~. A fax name field tS1 identlfles the fax files with which the co ~and or respon~e is lnvalv~d and a port number;f~eld 152 denotes the FP port wlth which ~ the flle tran~fer iJ assoclated.

::: : :

WO 93/18610 PCT/~S93/02005 ~ 2l:3all2 1 Referring to Figure 5, with contlnued raferen~e to Figure 1, functional detalls of the Fax Server ~FS) t03 are lllu~trated. A fax command set 160 is conceptually illustrated as comprising ~P commands 161 and AIM
S commands t62. The fax commands are recelv~d from the applicatlons 100 through the COMS portl'on t30 along the path 102. As pre~iously described, the FP comma~d~ 161 are transmltted along the path 107 ~o the Fax Processors 104 via the FP DLP 109. FP re~ponses from the Fax Proce~or~ 104 are~recelved at the FS 103 along the p~th 107 a~ conceptually indlcated at 163. The FP re~pon~s are utilized by the FS 103 in performlng the step~ znd ~ommands comprising each fax command in the fax command ~et 160.
15The:~AIM command 162 are trans~itted to AI~ 1 (Flgure 1):through the COMS portion 131. The NAP
;~ ~ re~ponse to~the AIM commands 162 ar~ received at the FS::103 through the COMS portlon 131 a~ conceptually - lllu~trated ~t 164~ The FS 103 utllize~ the NAP
0~respon~es 164~ln ~x~cutlng the various ~teps a~d com~ands that comprl~e e~ch:fax command in the fax co~2and set 160.
Addltlonally, the NAP respon~es 164, as well as the ~P
;re-ponses 63, are~utll~zed by the FS 103 to form the fax~re~ ~ se for~e~ch recelved fax cow~and as con~ptually 25~ lu~trat~d a~t~ 65. The fax respo~e~ 165 ar~ tran~mltted back~to~ th~ appllcatlon t00 ~(Flgure 1) through the COMS
portlon 130 . ~ ~ It ~ appreclated that when a ~PFE c:oDullaxsd lJ-~ u-d by~the appll~a'clon, lt 4y result ~n lssuance of ~ultlpl~ AIM and FP co~ands and re~pon~e~.
, :: ;30~ The ~AP 10 maintaln~ fax and volce ~essage~ ~tored in~ the NAP dæta base f~le on the dl~c 23. Addltlonally, th-: ~FS 103 maintaln~ A-Serl~ flle~ for t~mporary storage on ~ the al8k sy~tem 23 and, a~ di~cussed ln sald ~: S.N. ~ 521,210, the applicatlon~ 100 may m~lntain A-Series :: ~ 3s ~flles thereon.~ Furthermora, the Fax Proces~ors 104 store ax meQ~age flles for transmlssion to the network 12 or after receipt therefrom. There are dlff~rence~ in W093/18610 PCT/USg3/02005 ~. .

1 tho flle fonmats of the appllcation flle~, the FS files, the NAP data base files, and th~ FP f$1e that may require conver~lon The FS 103 recelves fax data from the Fax ` 5 Processors 104 along the path 107 and temporarily holds `~ the data as ~chematically indicated at 166 Requisite ; flle converslon~ are~performed at t67 and the FS 103 transmits the converted fax file to the I/O processor 24 along-the path;1t1 for ~torc~ h~ t^m~ora y A-Serles : :
dlsk file of~the~FS 103 'ii~ t~ vrarlly stored file ' 1s transferred~to the NAP data base message file utilizlng the NAP CREATE~VOICE MESSAGE command in the manner descrlbed 1n~sald~5 N~ 521,210 ConversQly~ a fax mes~ge to the network~ls provldea along the path 107 fro~ the 15~ fax data storage~block 166 after approprlate flle conver~ion 167 is performed The FS 103 obtalns thls fax~data~from~lts temporary A-Serle~ flle via the I/O
procès-or 2~-1Ong;~the path 111 In the ~anner de~crlbed ln~sald~S N ~521,210, thls flle may be obta~ned from 2~0~ the~NAP~data~ba~e~message flle lnto the FS temporary dl~k~flle vl~a~a~NAP GET~VOI OE MESSAGE co~mand The Fax server 103 a1so lnclud-~a Reco~ery Table 168 utlllzed~ln~a~fax message recovery proce~s to be 25~ 'Re~rrlng;~'to Figure 6, wlth contlnued reference to~lF ~ ~ 'funct~onal det'ails of thé Fax Proce~or ,104~ar- lllu-tr~t~d~ ~The F x Proce~or 10~
conv ntlona1~ATlPC~wlth co~erol~l1y a~allable fac~lmlle cards ln~talled ln the~AT slot thereof A CPU 180 ';30 ~control- th-~port-~105 for dlrect connectton to the , n-twork vla~th~ path~106~ and for connectlon to the network vla the NIUs 19 as~illustrated The Fax Proces~or 104 ' lncludes a;~hard dlsk~181, controll-d by ~he CPU 180, ;for~temporarl~ly ~torlng the fac~1-lle ~ssages after ;35 recelpt from, or before transmls~lon to, a f~cslmlle achlne v~a the network or CO 27 The fax communlcatlon , through fax;cad~ t82 and the portB tos.

:
~ : :

.~ ~
` ` 21~0112 , 17 , 1 The fax card~ 182 are lnstalled ln the AT ~lot~
and communicate wlth the ports 105 under control of the CP,U 180. Tbe fax cards are commercially procurable and may, for ex~mpIe, be implemented by GammaLlnk PC fac~lmlle cards available from GammaLink Corporation of Sunnyvale, Callfornia.:
.
: , The fax cards 182 communlcate wlth the hard disk 18t under control of the CPU 180, as conceptually lustrated at:185:. It ls appreclated that the fax cards 182 access~:the~dlsk 181 through the CPU 180 via z sof~ware interface (not;shown~) procurable wIth the cards and :: installed on the~fax card~ 182 and the CPU 180.
Functionally, the hard dlsk 181 communlcates :~ : through;the ports 113, as controlled by the CPU 180, 15~ to:th~ link ~1:08~for~intra~-system file transfers ln a man,ner to be~:~descrl~ed. It is apprecl~ted that disk coGmunlc~tlon;~ls~eff~ected through the PC DOS operatlng em~ln a~wel~l~known manner.
The~Fax~Proce~sor 1:04 recelves the FP commands 20~from~ithe~FP:DLP~109 over the llnk 108 through the ports 1,13 as~:conceptua:lly lndlcated at 183. The Fax Proce~sor .send-~FP--responses back over the Ilnk 108 through `", ,~the~,~' ~ ts 11:3~as~conceptual~ly:1ndlcated at 184.
",.;~ The~CPU~180~may, for:example, be lmplemented :25.~-~ ~,8028C~12,~'~ z~pro e or~ ~ d:.~ ~ e~Fax P ocessor 104 r~f~rably~of~.~n~lndustrlallzed:rack-mounted hardware `co~lguratlon,~bù~ a conventlon~ 286~class PC runnlng standard Pa~DO8 from the hard dlsk l81. The FP 104 can dlal out to~:the~phon-~number in the phone number fleld 144 30~ (Flgure~ 4A)~vla::~:t~he fax card~ 182:.:
Wlthi~ref-rence to Figure 1~ lt ls appreclated th-t~.the Fax,~:;Processor 104 operate ~ asynchronously wlth :re pe,ct:to;th-~Fax~Server t03. After~:the Fax Proce~or 10S"i ,~commanded by the~F~x:Server 103 to : :35 ~recelve a fax~from`the network,~the~fax~e~sag~ 18 completely r-celved~and atored on:the~dl~k~:181 wlthout NAPFE lnterventlon. Slmllarly,: after a fax ls stored , .: :

`:~

WO 93/18610 PCI`/USg3/0200S
2130'~

1 from the Fax S-rver 103 on the dl~k 181 for tran~mi~lon to the network and the Fax Proce~sor 104 ls commanded by the Fax Server 103 to effect the tran~mission, the fax message is sent by the Fax Proces~or 104 wlthout ` 5 lnterventlon from NAPFE.
The followlng table provldes a li~t of the NAPFE
Command Set 160 (Flgure 5), whlch commands are expected from an appllcation ln a dlalog. Command~ are sent from an aprllc~t~j~n 100 to NAPFE when the appllcation want~
NAP~.~to perform a~facsimlle orlented functlon. Wlthl~
each dia}og;there i8 ~a one-to-one relatlon~hlp between commands and responses;; i~.e., for each command ~ent by the appllcatlon 1;00,~ NAPFE wlll return a re~ponse and for each respon~e returned by NAPFE, the appllcatlon 15~ 100 wlll l~ ue a co~ and.
NAPFE COMNANDS AND VALID RESPONSES
*e~sa~e ; ~ ~Command Valld R~P~n~e~
23 ~ RecvFax t14 24 ~ SendFax 115 ~ 25~ PollandRecvFax 114 m~ 26 ~ SendFaxafterPoll 115 27 ~ Cr~ateFax ~ 116 28~ GetFax 1t~
29~ RecoverFax 114 30~ SendFaxfromFlle t15 25~
`7d~ h~ followlng^tab}e pro~ide a ll~t of the fax r~-pon~ 165~ Figure 5).

NAPFE RESPONS~S
Re~Pon~e TvPe Re~Ponse 114 ~ FaxRe~el~ed 115 ~ FaxSent 116 ~ FaxCreated 117 ~ ~ FaxObtalned The followlng table ~et~ forth the FP Command Set 161 ~Flgure 5) and the FP Re~pon~e~ 18~ (Flgure 6) with the precedlng number representing the M~sage Type.
;~,' ' ' :
, -WO 93~18610 PCI`/US93/02005 0 1 1 ~2 . 19 .

FP COMMANDS AN VAl:.ID RESPONSES
FP ~ommand~
01 AnswerRecv 5 0 FaxPortReady 02 Orlglnat~ReGv 5~1 Receiv~Done 03 OrlginateXmit ~2 TransmitDone 04 AnswerXm~t 52 TransmltDone 05 RemoveFile 54 FlleRemoved 0 6 PcrtState 55 PortStatus 08 PortInitialize 57 Inltialized 11 OrigX~a~tNIU 50 Fax~:ortRead~
12 WaltCompleted 51 Recei~eDorle ~
52 Tran~mitDone 90 SendFlle 91 F~ leXfered 92 ~ecelveFile 91 FileXfered It is appre~iated that commands 01-12 control fi~c~imlle mes~age transmi~slon and receptlon funetions, wherea comman`d~ 90 and ~2 control functions relatinc to tran~ferrlng ~iles betw~en the I~AP dl~k 23 and the ~?P
dl~k 181~ ~AIthoug~ file transfer i5 ~pec:lfled ~n terms o~ ~S~nd l?ll~ a~d ~eceivs File command~, A Serle~ file tra~f~ar ~ech~ s may be utilized t:h~t ~eparat~ly tran~f-r E~e~d~r~ ~, Block and RecQrd~.
Da~ of the FP commands and re~pç~nses ~ent from: the FS 1103 to the FP 104 and ~rom the FP 10~ ~o the~FS ~103, r-spectl~rely, will now be de~crlbed. The P~ co~a~d~ repr~e~t the total Punctlonallty ~h~t the : r-qulr~ from the ~P 104 ~o th~ th~ ~AP~ can 5~ pr~l~l~ th~fao~i~ile or~ented eapab~Llltle ~ required by~ t~ appll~:atlon3 100. All FP co~mand~ ~e~ult i~ a sI~gl- r~po~e. ~he~e command~ are u~:d to ~ontrol th~ ac:tu~l fax operations that th0 FP 104 ~u81: execut~.
~ ~_~ . Th~s ~ ~ ~ 30~ ~ command plac-s th~ c~fled FP port into a mode wh~r~
: it ~111 wa~t ~for rl~ an~wer ths phone and recei~e an : incoming f~x. ThQ co~ nd yenerates an ~mm@dla1:~ re~pon3e of FaxPortRQady (~qe~sage Type 50 ) that ~rlll ind~:ate th~t the FP port i~ ready and the call can be rout~d thereto. Two a~thods can be u~ed to determln~ when the WOg3/18610 PCT/US93/0200S
2130i12 1 fa~ reeeptlon ls complete. A PortState (Me~ age Type 06) , eommand ean be lssued to the FP port on a perlodie basls.
This permlts the Fax Server 103 to determlne the state of the fax operation. Alternatively, the Fax Server 103 ean i~sue a WaltCompleted ~Mes~age Type,12) command eausing a Reeelv-Done ~Message Type 5t r response to be generated when the fax reeeptlon ls eomplete.
Oriqlnate and Reeeive (Messaqe TYPe 02~. Thls eommand is u~ed~to cause~the speeifled fax port to 10;~ origlnate a~eall~to~t~e speeifled phone number and po~ll the an~werlng maehlne for a,fax. Thus, the FP 103 dlals out through the~speelfied fax port to poll for an lneomlng fax. The response to thls command i~ a ReeeiveDone' (Message Type~51) whioh ls is ued when the operation 5~ is eompleted.~ ~
Orlqinate~and Transmit (Messaqe T~pe 03). This ~ ,eo _ and eau~es~the deslgnated FP port to eall the m~ spe,elfled phone nu~ber and to tran~mlt the de~ignated faxes.; The~FP~103 dials out through the ~peeified fax ''20~ port~and~sends~the~faYe The response to thl~ eommand a~Tran~mitDone ~Message Type 52~ whleh i~ i~sued at the~ eompletlon of~the fax operatlon.~ ' Answer then Transmit (Mes~aqe TYPe 04). This eo _ and'eau~'es~ the FP port to go into a ~tate where it , ,25~ wlll~wa~t for~an~ineomlng-eall,~an-wer~the~-~phone and tr-nJmit-~th~ pecifled fax-~ when a po}l i~ reeeived fro ~the~other~fax~maehine~ The FP prepares to an~wer th~lneom$ng e~ll;on~the ~peelfled fax por~, be polled and then tr~n~-lt~the faxe~. The re~pon~e to thls eommand ;30, is a TransmltDone ~(Message Type 52) whleb i~ rseeived when the~fax operation i~ eomplete.
Re~ove Flle (Mes-aqe~TYpe 05). Thl~ eommand eau~es the named flles to be re~oved from the hard dlsk drlve 181 of the FP~. The eo~mand generate~ an 1 _ ediate ,35 response of FlleRe~oved (Mes~age~Type 54).
Port State (Messa~e TYPe 06). Tbi~ command ls .:
~ ~ u~ed to inquire of the current statu~ of the ~peelfled :. ~
, ~ ~

WO 93/18610 PCT/US93/02~5 "`` 2130112 1 port and the results of the last f~x operation of that port. Th~ eommand generates an lmmediate result of PortStatus (MeJsage Type 55) whieh detalls the current status of the port.
:. S Port Inltlalize (Message TYpe 08). Thls eommand causes the speelfled fax port to be ini'tlàllzed. The port:~tate ls lnltlallzed to an Idle state. Thls command inelude~ a~fteld for a RemoveFile Flag whleh, if set, causes the F? 1~4;to;.-~move all flles on the FP hard dlsk 181~a oelated with.the`dçslgnated fax port. The : eommand generates an i~mmediate respon~e of Inltialized (Message Type~:57)~
: Orialnate and Transmlt throuqh NIU ~Messaqe' TY~e 11). Thi :eommand eause~ the designated FP port 15;~to orlglnate~a~eall through the NIU 19. The eommand g~enerates~an~lmmedlate respon~e of FaxPortReady ~Mes~age Type~;5.0)~denotlng:that the:FP port 1Q ready and a eall wlll be~:lnlélat-d to the NIU 19 through a predetermined port~;20.:~:Two:~m-thod~ean be:utillzed to determlne when 2~0~ the~:fax: tran mls,~lon is eomplete. A PortState ~Message Type~:~06)~eom~and~eah~:be lssued by the~Fax~Server 103 .-on'a.~perlodie'b~sls~ :Thls~permit~ the Fax Server to ;~ t-r~lne~the~;~tate;:of the~fax~operatlon.~ Aitexnatively, 't~e,~ e~n,~ ue~a~ WaltCo~plQted~(Me~sage Type 12) ,25:~e ~ d.~ ~Thl~ eau~eJ~ Tran~ml ~ ne~ age~ ~ e 51) ;,. ~ n~e~:to-~b~ genérated when:the~ fax tran~mlsslon ls :Walt~for~ComPleted Fa% ~Mes~aq~e TYPe 12). Thl~
;eoa~and i~ utll:lzed::on~the seleeted fax port that has 30:~:`;had a fax~operatlon lnltlated u~lng the An~werRecv (Més~age Type~01-):or the OrlglnateXmltNIU ~Mes~age Typ~ oo_and~. Whlle the port i- ln an Inuse ~tate, ;thl~ co _ and~c~uses a RecelveDone (Mes~age Type 51) or ;a~:Tr-ns-mitDone:(Me~sage Type:52) re~porse to be generated 35 ~:when the~f-x oper-tlon l~ complete. If th- port i~ ln a~Completed state,~the RecelveDone and TransmltDone wlll be l~sued lmmedlately.

,, 213~1:12 22 1 Receive Flle (Messa~e Type 92). Thls com~and tran~ferQ the named file from the PC hard disk 181 to the NAP memory disk system 23. When the operatlon is completed, the FileXfered response tMessage Type 91) is issued.
Send File ~Message Tvpe 90). TXis command transfers the named file from the NAP memory d~sk system 23 to the PC hard disk 181. ~..en the operation is complete, the FileXfered (Message Type 91 response is issued.
It is apprec~ated from the above, that file transfer is accomplished utllizing the file transfer message types 90 and 91O The file transfers are initlated by the File Server 103 (Figure 1). The Fax Proce~30r 10 never inltiates~ flle transfer operatlon.
~: The FP 104 has a speclfic respon~e for each of the~above-de~crlbed FP co _ ands as:conceptually lllustrated at 184 of Flgure 6. The responses are aR
follows~
20 ~ Fax Por~Ready (Messa~_~ype 50). Thi~ re~ponse :
ls~ the result of ~ an AnswerR~v command (Message Type 01 ) or ::an: Originat Xmi:tNIU (Mes~age Type 11 ) comm~nd~ The response lndlcates that the deslgnated fax port is ready to ~ récelve or trarlsmlt a f ax in an a~ynehronous fash~on.
25~ Rec~lYe Ds)ne (~essaqe ~ 51 ) . Thls response the r~ult of ~ an Orlglnate}~cv ~om~aand (Mes~age Typ-: 02). The response lnd~cate hat a fax ha~ been u~ ully ~or unsucce~sfully reoei~ed. A R~ult fleld of tha re~pon~e lnd~cates the ~ucce~ or failure of the ; ~ 30 received fax proce~slng.
~ ~ Thl~ iq a re3porlse to elther the OrlginateXmlt ~ Me~sage Typ~ 03 ) or the An~werXmit (Message Type 04) command~. The :~ : response inaicates the results o~ the fax tran~it :~ 35 operation. A Status fieId of the re~pon~e indicates the succe~ or fallure o~ the tr~nsmit f2x proce~sing.
Flle Removed ~Messa~ TvPe 54~. Thi~ is the WO 9~/18610 2 1 3 ~ 1 1 2 PCr/US93/02005 1 re~pon~e to the RemoveFlle command (Me~sage Type 05).
The r~spon~e indlcates the reYult~ of the RemoveFlle request. The fax name field designates the names of the flles ,re oved from the FP hard di~k t81.
Port Status (Me~aqe Tvpe 55). Thls ls the respon~e to the PortState command (Mes~age Type 06).
It lndlcates the current state of the fax port speclfied by the Port Number fleId of the response. The re~ponse aiso lnclude~ a R~esult fleld lndlcating the success or failure of~the last command's fax proce~slng. A Port State fleld~of the re~pon e lndlcates the current state of~the port.~ The Por~t State fleld may lndlcate Idle, ` Inuse or Completed. A Flle Name fleld of the re~ponse llsts the FP,flle name~ of the flles of the current Send/Receive~Fax co,,and.
Initlallz-d (Me~saqe TYpe 57). Thl~ is the re ponse to~the~PortInitlallze ~Message Type 08) command.
The~re~pon~e~;~indicate~ the re~u~t~ of the lnltlalize op~ration. ~
20~ Flle~Transferred ~Mes aqe TYpe 91J. Thl~ ls the,~re~pon~e~to~the SendFlle (Me~age Type 90) and ReceiveFlle~(Me~sage Type 92) commands. The response ndlcate~t~e~res~ults,~of the la~t flle transfer request.
'"'~ A~di~cu~ed above, when a~fax ~p~clflc command 2S~ 1J~ SU ~by~-thé,`appllcatlon 100, the~PS 103 wlll Dt rpre t lt~-nd;execute lt as a serl-s of NAP commands a-~oc~àt~d wlth~a~erles of FP co -and When the co nds~are~proce~ ed, the Fax Serv~r 103 wll} generate a~fax respon~e 165 ~Flgure 5) and the COMS portion 130 ;30~ Flgure 3) wlll~re~pond to the appl~lcatlon 100. There m 1~ a one-to-one correJpondence between co~mands and re~pon~e~. ~All ~tandard NAP functlonallty is avallable to a fax applicatlon. ~The pri~ary d~fference between a NAP fax appllcatlon and a standard NAP appllcatlon 35~ ls the addltlonal~NAPFE command~ that are availabie.
Thus, the NAPPE co _ and~ sent from the appllcatlons 100 ;' to NAP~E are lnterpreted by the Fax Server tO3 and :: :

WO93/18610 . PCT/US93/02005 2130112 ~-~

1 con~erted into the approprlate NAP and FP commands ne~essary to execute the ~esired function. Speciflcs of the NAPFE commands and responses wil~ now be described.
Rece~ve Fax (Messaqe Ty~e 23).
This command is sent by the app,l~.~ation to the Fax Server 103 of`NAPFE to request that the FP recelve a fax from a fax machine. The connection associated with the specified Dialog ID is used for the ax .eception. In response to the Receive Fax command, the Fax Server 103 lssues the AnswerRecv FP command to the : Fax Processor which responds with FaxPortReady back to the Fax~Server indicatlng tbat FP is ready to receive :an:incoming call from the NIU. The Fax Server then issues the NAP command Connect Call to switch the current NIU
~15 call connectlon of ~he speclfied dlalog ID to the NIW
: port for the ~elected FP port. Thus, the in~oming call .
is~swttched.to:the selected fax port. The NAP returns the Call Connected:response to the Fax Server. The Fax Server l~sues the Collect Dlgits command to the NAP as 20~ a~tlmeout wa~ting to receive on-hook notlfication from the~NIU. ~ollect:~Dlglt is set to ~pecify 50 diglts and~;a maxl~um timeout~ The lncoming l~ne to the NIU
is~ now connected to FP whtch, like a fax mach~ne, receives the:~data ~nd-~then~hangs up. Upon-receipt of the On-Nook, 5~ the~NAP~returns~th- Command Executed:response to the F-x~Server.~ The Fax Server then checks the Fax Processor :to~determ~ne:the:receive status by::i~u~ng a PortState :FP com~and ~na receiving a return of:the PortStatus respon~e from the FP. Alternati~ely, the Fax Server ~:: 30 ~can i8sue the WaltCompleted command to the FP after-receivi~g Call Connected from the NAP and then awalt : -recelpt of ReceiveDone from the:FP. RecaiveDone provldes notificatlon when the fax re~elpt has been accompli~hed by the FP.
~ 35 The Fax Server thsn is~ue~ a file tran~fer command : to the Fax Proce~or to ~oYe the fax from the PC hard dl~k 181 to the A-Serle dl~k 23. To accompll3h thls, , . ., . , . , ,, , ., , .. , = .... ..... ..

WO 93/18610 2 1 ~ I 1 " PCr/VS93/~2~05 .. O h 1 the FS lssues the ReceiveFile command to the FP which tran~fers ~he fax flle to the FS l~u~ng a FileXfered response The FS converts the flle, lf necessary, to A-Serles format utlllzing the flle converslons 167 ~Flgure 5) The FS~stores the converted file ln ~ts temporary A-Serles dlsk~flle~ 115 through the I~O processor 24 (Figure 1) The FS then transfers the temporarily stored A-Serles disk flle to the VMMM data base 40 and removes it from the~FP hard dlsk 181 This ls accompll~led by 10~ the FS lssulng the~Create Volce Message comma~d t~ ~P
to store the~converted file in the VMMM data base NAP
responds`to FS~wlth the, NAP Message Created response The~FS then~ssues RemoveFile to the FP *hlch re~ponds wlth FlleRemoved ~;Al~ternatively, the FS issues the FP
15~ co,,mand PortInltl~al~ize settlng the RemoveFile flag The~FS~then~notlfles the appllc~tion of the ucoe~sful;recelpt~of~the fax and the new fax'~ Me3sage Nu ber.;~ Thi ls~accomplished ~y th- PS l~suing the NAPFE
'~ x~Xecelved~(Me~-age~Typ~ ) respon~e~through;the 20~COMS~portlon~ 30;~Flgure~3) back to the applicat~on The~Fax~Recelved`~r-s~n~e from the FS to the appllcatlon con~ummate~the~Rece ve Fax command orig~nally recelved by~ the~FS~from,;the;appl;icatlon ~ ~
"~ The ~ceive~ ix com~and has a~R~covery Token 2~5~ f~old~t~at~ ,'u~ed~in~th~case of~a system~ COMS~ NAP
or~a M llcatlon~ outage ~Durlng th- r-covery processing, to b~de~crlb d,~the~ppl~catlon u~e~;thls tok~n to r-co~ir a;f~ that~wa~in~proc-ss at~the tlme of an outag~. Th- R celve~Fax co~mand al~o lnclude~ a DB Number ;30;~fleld~for cont~inlng~th- NAP appllcation number for the ;cur~ent~appllcation ~The DB~Number;l~ utlllzed to unlquely ~dontlfy~the~appllcatlon!s Recovery Tokens A ~tandard~NAP~Ter~lnate Dlalog co ~and 1SJUOa by the appllcatlon to NAP,~càn~cIo~e out;the dl~log~
scna Fax ~Me~qa~e TYPe 24) Thls~co nd l~ ~ent by the appll ~tion to the Fax Server t03 of NAPFE to reque~t that the Fax Proces~or W093~18610 PCT/US93/02005 1 send a fax to a fax machlne.- The connectlon associated wlth the ~peclfled~Dlalog ID ls used for the fax transml~slon. ~The command ldentlfles the fax message or messages to be sent by Message Number utlllzing the S Message Number fleld 126 (Flgure 2). The FS retrleves the message from VMM~ and has lt transferred to the FP
hard~dlsk. Thls is accompllshed by the FS f~rst lssulng to NAP the NAP~Get Volce Message command for each message to be sent and~ waltlng for the response from ~.~P of Command Executed for~each Get Volce Me~age lssued.
The FS selects~the ;FP port through whlch the fax ; ; trans-l~ss10n~wl11 occor. ~Thls can elther be a port connected dlrectly to the~CO 27 or a port connected to th- NIU 19 (Flgure ~ . The FS l~sues the FP SendFile 15~ co"m~nd to the~Flle~Processor lIstlng the flle name~
of~;the~flles~bu11t~by the NA~` Get Volce Message commandq.
;Thu~ the~fax~flles;;obtalned by FS from~NAP VMMM are transf~erred~to~the~FP~hard di~k for transmlsslon. In ,this~process~FS~convèrts the fll-~, lf~necessary, from 20~ A-Serles format~lnto the approprlate format for ;tran~ml slon ~uch~as~PC text. ~The FS 103 utillze~'F~le r~lons~l67 (Figure S~to effect the converslon.
The~FS~then walt~ for the F11eXfered re~pon~e from the FP.
,If requlred,~the FS 103 ~wltche~ tbe incomlng ,25~ t`the~IU~l;9 ~from the VIM~DLP~25 to the ~elected ~``port.~Thl-~ls~accomp11~hed by the FS i~sùing the ,NAP~Conn~ct C~ll command to NAP and recelvlng the Call Conn cted r--pon-e~from NAP;. Thus, the NAPFE u~es the Connect ~all co _ and to ~wltch the exlstlng connectlon 30~`~ to~the ~peclfled~-FP port. The FS then lssue~ the FP-command OrlglnateXmlt to the FP ~p~clfying the phone n ~ r derlved from the dialog speclfled ln the ~APFE
command. The OrlglnateXm$t co _ and l~ ~ent to the FP
port ~peclfled~ln the FP command. The FS then waits , 35~for the Trans~ltDone command from the FP lndlcatlng that , thé fax has been ~ent.
The FS then removes the flle from the FP hard :~ :

WO 93/186tO 21 ~ O I 1 2 PCT/US93/02005 :

1 dl~k. In a manner slmllar to that described above wlth re~pect to Receive Fax, two procedures may be utilized to remove the flle from FP dlsk. The FS l-~ues the RemoveFile command to the FP namlng the file and the S FP responds to;FS wlth FlleRemoved. Al~ernatlvely, FS
can issue the PortInl~lallze command to the FP setting the Removefi~le flag~and receivlng the Inltlallzed response from the FP after the flle has been deleted.
The~FS then is~ues the NAPFE Fax Sent ~Message 10 ~Type 115) response baok to~the appllcatlon through the : COMS portlon~130 (Flgure 3) consummatlng the Send Fax command orlg~lnally sent by the appllcatlon. At the dlscretlon of the~applicatlon, the transmltted fax may be deleted from the NAP VMMM data ba~e. Thls l~
accompllshed~by~th- applicatlon lssulng the standard NAP command;Delete~Volce Mes age and'recel~lng from NAP
th ~corre~pondlng NAP respon~e Me~age Deleted. A
tandard~NAP~Termlnate Dialog command ls~ued by the ,appllcatlon to NAP~can close out the dialog.
20~ ,Poll and Recelve Fax (Messaqe TYPe 25).
h~ command~ls~ent by the appllcat~on to the FS~of~NAPFE~to~request that the;FP poll a fax machlne to~dete'rmfne~if that machlne has an`outgoing fax pendlng.
lf~the~fax achlne,~does hav -n outgolng fax, then the 25~ f~x ls recelved by~the-~FP. The~connèctlon a~oclated ;wlth~the~p~clfled Dlàlog ID l~ u~ed for the fax polllng aDd~Uhe~fax~recel~pt. ; If required,~the FS uses a Connect C~ll`;~NAP co _ nd to ~wltch the exl~tlng NIU connectlon to the approprlate fax port. The FS l~ue~ the FP command 30~0rlginateRcv~to the;FP speclfylng the phone number of the~fax machlne to be polled, a~ derlved from the current h ~ dlalog. The'FP returns the RecelveDone respQnse. ~he FS then lssue~the ReceiveFlle co~, and to the FP for ;transferrlng the~flle from FP dlsk to the FS A-Serie~
3~s~ di~k ftle. ;Th- flle is converted, lf necessary, to the ; A-Serles Fax,Format ~y the Flle Conver~lons 167 (Flgure 5). The FP returns the FlleXfered respon~e to :~ : : ' WO93/18610 PCT/USg3/0200s 21~0112 ``

1 th~ FS.
The F5 then i~sues the NAP command Create Voice Me~age to the NAP to store the ~onverted file in the VMMM data ~ase 40 as descr~bed above wlth respect to Recelve Fax (Message Type 23). The FS ~hen remove~ the file from the FP hard di~k in the manner d~scrlbed above wlth respect to Rece1ve ~ax and thereafter is~ues the NAPFE response Fax Received back to the applieation consummatlnq the original Poll and Rece~ve Fax command.
The command includes Recovery To~en and DB Number flelds :for the reasons discussed above with respect to Re~eive Fax~ :
The above:operations of Poll and Recelve Fax re~ult~ in the ~S having the FP dial-out, poll the designated fax~mach~ine and-recelve the fax. The network : ~ connectlon may~be e~fected by the NIU but the FP performs the dial-out procedure. The fax is then etored ln the VMMM~da~ta base~and the~appllcation is not~fied of lt~
Me~;sage Number. A:standard NAP Termlnate Dialog co~mand 20 ~from~the appllcation~can close out the sequence.
Send~Fax a~ter Po}l (Messa~e TyDe:261.
: Thi~ command i~ ~ent by the appl-catlon to the - ~ ~
PS:~of:~NAPFE to lnaicate that a f~x ~achlne~wlll be polling the~-FP.~When~the poll i~ rec~lved~ the s~pe~ified fax 25~ ls:~transmltt~d~;~by the~F~ to the fax ~achine.~-~Thè~
conn ctlo~ ociated wlth the ~pec~flQd Dialog ID i5 u- d::for th~poll reception and ~ax tran~mi~ion. The NAPFD u~e- the Connect Call NAP command to::~witoh the existing connect~on to the FP. ~hls NAPPE~co~mand re~ults ln~:a Fax Sent (MeB age Type 115)~re;~ponse.:~ The command 1n~1udes a M~Qage NumberQ fleld 126 (Flgure:2) to specify :: :which fax me~3ages~are to be proces~ed. The FS use3 elther the OrlginateXmlt FP command:or the OriqXm~tNIU
FP command dependlng on the connection protocol utilized~
Creat~ ~ax:~ssa~e ~Mes~a~e TyPe 27).
~hl8 comm~nd, ~ent from the appllcation to the :~ FS, lnfor~s NAPFE that a fax me~Qage 1~ to be copted .

WO93/18610 2 1 ~ O 1 1 2 PCT/US93/02005 ; . . .

1 fro~ a file and placed in the fax file maintained by NAP. Thus, the command create~ a NAP fax me~sage from the contents of a spectf1ed A-Series disk file. The FS convert~ the speclf~ed flle to NAP VMMM format S utillzing File Con~ersions 167 (Figure S). The co~mand includes a Fax File Name field 127 (Figure 2) containing an A-Series file tltle which will ~e used to ldentlfy the file c`ontaining the fax message. The command al~o includes th~ Recovery Token and DB Num~er fields for the reasons dls~ussed above with resp2ct to Recelve Fax.
Thl~:command 18 utilized to orlginate a fax wi~hout havlng a fax machine. SlnGe the fax card^~ 182 :~Flgure 6) support direct conver~lon of text to fax images, a f~le created on a main frame computer or o~
:~ ~15 a PC can be sent a~ a fax. The protocol of thl~ co~mand utlllzed by the application to externally introduce such:a file into the NAP ~y~tem. After converslon, the da~ta ls stored in the VMMM data ba~e a~d the appllcat~on : ~ is:notifled of tbe new Me~sage Number.
20~ In re~pon3e to the Create ~x MQ~age command, the~ FS conve~ts the~file and is~ues a NAP Create Volce Message:command to NAP whlch transfers the flle lnto the _ data base. NAP re~ponds to the FS wlth the NAP-Message Creat~d:re~ponse and the FS 18~U~q the NAPPE
25~ Fas~Cxeat~d re~ponse back to tha ~ppllcatlon.
: G t F~x M~s~a~e (Messa~e Type ?8 ? .
Thl~ comGa~d, lssued by the ~pplicatlo~ to the PS, lnform~ NAPF~ to copy the lndlcated fax ~essage into the ~pe~if~ed A-Series flle for stora~e therein. Thu~, 30 once a fax has been recelvea or created, the command -::
:provides a way to`store the fax other than ~n the VMMM
data ba~e. The ~pplication can then manage the resultant flle ln the same ~anner a~ a normal A-Serle~ disk file.
The applicatlon 188u~ the co~mand specifying the ~MMM
Messag~ Nu~ber and the name of the A-Serle~ d~k flle to contaln the me~sage. The FS retrleve~ the fax from ::the VMMM data base and ~opies lt into the ~pecifl~d ~ .

WO93~18610 PCT/US93/02005 .

1 A-Series flle The Fax Flle Name fleld 127 (Figure 2) eontalns an A-Serles file tltle whieh will be used to ereate the file eontalning the fax message The command also lneludes Message Number fleld t26 (Flgure 2) whlch S eontalns the Message Number representlnglthe fax message to be plaeed ln the~speelfled dis~ flle In order to obtain the file from the VMMM, the FS issues the NAP Get Voiee Message eommand to NAP
speeifying tbe~Message Numbe~ NAP returns the NAP
10~ Message Created~resrorlse to FS FS eonverts the VMMM ' f~lle to an approprlate format sueh as a-Series Fax Format thus ereating the~file specified ln the Get Fax command FS~then issues~the NAPFE Fax Obtained response back to the applleatLon ~ Reeo~-r Fax~Messa~e (Messaqe TYpe 29) ;Thls~NAPFE~eommand sent from the applieation to~;FS~ls~utlllzed by the applleatlon to inltlate a fax reeovery~proeo~s to~be deseribed below Both the ;applleation a~nd~NAPFE malntaln tables of Reeo~ery Tokens 20~ Th-~eo and ls~utlllz~-d by the applleatlon to reeover any~faxes that~were reeelved by the FP when an outage oeeurred~The-`NAPFE~earehes lt~ table for the Reeovery Token~speelfled~ln~the command If the~token l~ found, a~-F~Rèeel~ed~(M-ssage Type 114) respon~e 18 returned Z5~ to ~ ~ppllcatlon along~wlth the~as~oclatëd~fax Message Nu b r. a~lag l~s-t ln NAPFE so that when the~next NaP~-eo nd l~r-e-lv-d (of any typo),~the~-ntry l~
r-~o~ d~fro~-tb- NAPFE;r-eovery t~bl- ~ Th- eommand lneludes the~Reeovery Token fleld 124~and~the Data Ba~e 30~Number fleld~1~25 to~unlquely ldentlfy ;the~applieatlon's Reeov~ery~Tokens whleh ldentlfy fax reeeptlons~th t were in~proeess at`~th-;tlme of a system~or applleation outage S-nd~Pax from Fll- Messaqe (M-ss w e~TYpe 30) ~-Thi~eo~and sent by the applleatlon~to FS, 35~ lnforms NAPFE that a fax mes~age 1 to b~ eopled from ~a flle and th-n sent to a fax maehlne The eonneetlon assoelated wlth the speelfled Dlalog ID will be used :
': ~

,- ^ .
` 2130112 1 for the fax transmission. The command result~ in a Fax Sent (Mes~age Type 11 5) response. The FS utiliz0s a Connect Call NAP command to switch the existing connection to the FP. The command contains the Fax Flle Name field t27 containing the A-Series flle tltle utilized to identlfy the file containing the fax message.
The NAPFE provide~ one of the followlng four responses for all NAPFE commands that execute properly.
The NAPFE responses are conceptually illustrated ~n Figure 5 at 165 as described above~ ' Fax Received (Me sa~e TYpe 114). Thls response i5 generated by FS and returned to the appllcation thrQugh : the COMS portion 130 ~Figure 3) for any NAPFE co~mand that recelves a fax message. The response includes the 15: Message Number fleld 126 (Figure 2) for contalnlng the :NAP Me~sage~Number of the reeeived fax ~essage. The response also:returns the results of the fax reception.
: Fax Sent ~Messa~e TYPe tlS~. Thls re~pon~e i~
generated by FS and returned to the appllcation through : ~20:~the COMS portton 130 for any NAPFE command that tran~mit~
a~fax mesJage. The response returns the result~of the ; fax transmlsslon.
Thl~ respon~e : is generated by FS and returned to the appl~cation through ;25~:~ the~COMS port~-on 130 for the NAPFE Cre~te Fax ~Me~eage : Typ~ 27) command. :The respon~e lndlcates that a ~P
fax me~age was ~sucoessfully created from the contents : : of an external A-Serle~ di~k flle. The re~pon~e lnclude~
the Me~age N ~ r fleld 126 (Figure 2) for contalning the Me~age Number of t~e cseated fax ~es~age.
Fax Obta~ned ~Me~sase TYPe 117). Thi~ re~pon~e is generated by FS and returned to the appllc~tio~ through the COMS portlon 130 for the NAPF~ Get Fax ~essage Type 28) command. The response indlcate~ that a NAP
fax me~age was successfully retrieved and placed into an external A-Serle3 di~k file.
It l~ appreclated from the foregolng, that fax W093/186~0 ,;~ PCT/US93~02005 21~0112 `

1 funetionality is added to the NAP system of said S.N. 521,210 by the lnsertion of the COMS 101~ as expla~ned wlth respeet to Figures 1 and 3, between the NAP 10 and the applieation 100 and the addition of the Fax Server 103 and Fax Proeessors 104. A fax applieation is deslgned to run as a normal NAP applieatlon ln that the applleation ls eoded to use the exlstlng AIM
speelfle2tion,~as~d~scribed in said S.N. 521,210, to eommu;icate with~NAP 10. COMS 101 and the Fax Server 103 adds the addltional NAPFE command and responses to the~
existing AlM eommand/response set. COMS 101 transmlt~
all of the NAP;and NAPFE commands and re~ponqes between the;~;appl~leation and the~platform a~ described above.
It is further appreeiated that the funetions attrlbuted 5~ her-Ln to COMS~101 and :the Fax Server 103 may be integrated lnto~NAP~(preferably lnto~AIM 15) to perform the~:~aescribed:~funt:tlons. : ~ :
The NAPFE~eommands and~r-Jponse~ add addltlonal unetlonallty~to~p-rm1t~the applleatlon to manage the 20~transmlssion~and reeeption of faxes in the manner that the standard~NAP manages~the tran~mlssion and reeeption m ~ of~volee messages. ~Faxes are stored within NAP ln exaetly th~e Jame~way~that volee~messages;are stored as deser$bed ln~ ald-~5.~ ;521,~210.; All NAPFE~eommands r-ferenee faxes ~5~ by~i~M ~ag~ Nu~ber;~ust as NAP commands referènce Volee ~ges-~by Me~ag-;~Number. A fax~appl~leatlon ean use ral~stand~rd~:NAP~ message processlng eo ~ and~ on fax me~ageJ. ~T~hese~eommands are DEL~TE~MESSA OE (Me~Jage Type 03) and GET MESSAGE NUMBERS (Me~sage Type 12).
30~ Thus ~t l ~appreelated,~that an applleatlon ean intermix voloe and fax funetionality over a eurrently e~tabllshed network~eonneetlon.~Prior to lssulng~a NAPFE eo~mand, the~applleatlon~oan eonduet a volee dlalog~wlth NAP over the eonneetlon.
;~ 35 9eeauJe of the eapabilltles d-serlbed in said S.N. 521,210 and the capabilltles d~eribed herein, the NAP ean swlteh the NIU 19 between volce and facslmlle :: :

WOg3/18610 PCT~US93/02005 `~i 213011~ ~

1 ports. Thu~, all NAP and NAPFE commands and responses are avallable to the appllcation through a common interface. In thi~ way, the applicatlon can blend fax and voice functionality. The FP 104 has the S responslbllity to physically send and recelve faxes.
The NIU 19 swltches lncomlng fax llne~ over to the FP
so that the fax can be received. Outgoing faxes are sent directly~ out over the CO llnes 106 ~FlguFe 1) or through the NIU~19. The ~P har~ d~s~. drl~e 181 (Flgure 6) ls used to stage the incoming and outgoing faxes~ ' As dlscussed above, the fax functions that NAP
with NAPFE can lnvoke~are: Recelve Fax where the FP
receives the~;fax over the current connection; Send Fax and Send Fax from Flle where the FP sends a fax over lS~ the current~connection~or over a newly orlglnated donnectlon;~Poll and Recelve Fax where the FP polls a fax~machine~over;the current ~onnect~on or over a newly origln-ted connectlon to recelve a fax; and Send Fax aft~er Poll where~the FP recelves a poll over the current 0~connectlon~and~then~transmits the speclfied fax. Before suing any of these commands, lt i9 the re~ponslblllty of~the~appllcation~to establi~h a network~connectlon to the fax machlnë.~ Thi~ can~be done in two ways:
In~re~ponse to detectlng rlng at hn NIU port, 25~ th~ appl~catlon~recelve~an~Incomlng Call response fro~ NAP.~ n~accordance wlth~NAP~ protocol, the appllcatlon~then issues a Connect Call command to~NAP.~ Optlonally, a volce dlalog can occur prlor to;the~fax operatlon. The ~lgnalling accompanylng~the lncomlng call identifle~ that a fax~transactlon ls requlred. For example, ; lf the~call was tran~ferred by the Centra1 Office to the NAP from a bu~y fax machlne, ~he Called Number Identlflcatlon permlts the NAP to determine 3S that a fax appllcatlon l~ lnvolved from the appllcat~on tables malntalned in NAP.
2. The appllcatlon 1s~ue~ an Inltlate Call :: :

wr) 93~18~10 PCl~USg3/02~05 i., , ~
21~0112 comm~nd followed by a PlYot Call command. The appl~catlon places the phone numb~r for the outgoing call in the body of the Initiate Call command. The call is out-dialed by the ~aAP and plvoted to an NIU port connected~ to an FP port.
Th~ FP c:ommand, i~su13d as part of the ~APPE
- comloand, includes a code in the phone number ft eld 90 that the fax port connect~ with the NIU port to which 'che cal~. ~.,~ pivoted.
Al ernatively, the Initiate Call and Pivot Cal'l ~ommands are interc~pted by the trap 132 (Fi~ure 3 ) and the phone number fQr the outgoing c~ll is transferred to the phone number field of the ~P command that form~ par~ of the NAPFE
com~and. When the NAPFE co~nand i~ l~sued includlng an FP command of Ori~inat~3Rcv or Originat~ t, the FP then ou~-dl~l~ the call., The al~ove eqt:abli3hes a call a~soçlated wil:h the current dialog. When the NAPFE comm~nd l~ issued, 2û the ~equested fax action is performed utl llz~ng the ~etwork connec tion a~sociated with the Dialog ID in the .
co~and he~derO It i~ appr2ciated fro~ the foregoing ~;
de~c:ription~ of the NAPE~: eommands, that a l~AP Conn~ct ~ :
Call: eommand i~ ut~l~zed to c:o~eet the exi~ting eall 25 ~w~th th- ~3~l~et~d~ E'P port. Aft~r :the fax ~unetion is ~;eo~pl~t~, th~ F~ go~8 o~hook eau~ the aormeetion ~: ~o Jb4 term~tlat2d,, The applieation then elo~e~ out the : di~log wlth a Tsr~nate Dialog eommand. ~-The de~eribed approaeh allow~ th~ application 30 to ha~e full eontrol of the fax operations. Fax funç~tlons esn be performed over any network eonne~tion that an applieation ean eotabl~ sh using NAP. The de~G:rlb~d deslgn r~nde~ th~ NAP~E funetionally lndep~ndent of, find eompatlble with, N~P eapab~lltles. A~ di~cu~ed above, 35 'ch~ ~xeeutlon of 2~APFE eommand~ often require~ th. t ~tandard NAP eommands be u~ed as par~ of the pro~ram ~teps to perorm the deslred f ax f unetion. When a program WO93~18610 PCT/US93/020~5 2~112 3~
1 step in a fax transaction causes a NAP command to be issued, a flag (not shown) is set for that Dialog ID
to inter~ept the next response for that dialog and utilize it to trigger execution of the remaining program steps.
When an application has answereq an incomlng call to the NIU, it may be desirable for the applica~ion to transmlt a fax over that connectlon. The OriginateXmitNIU FP command and the WaitCompleted FP
command are utllized. The OrlginateXmitNIU provides 10 an immediate re~ponse to the Fax Servlces software. ~ -~
The ~aitCompleted command only responds when the s~lected fax port completes its current receive or transmit~
Specifically, the NAP receives Ring Detect from the NIU
i~coming ca~l and responds to the application with the unso11clted response Incoming Call. The application ~:is ues Connect Call to the NAP and the NAP respond~ to the applicatlon w1th Call Connected. A volce dialog may now occur~between~the application ~nd NAP. After ~: the volce dialcg, the application lss~e~ the NAPFE co~mand : 20~ Send Fax~to the FS. ~:The FS obtains the fax me~sage by issulng the NAP c~mand Get Voice Message to the NAP ~-which:;responds to the:FS with Command Executed. The FS~transmlts the fax obtalned from NAP to the FP by issulng~th- FP~command SendFlle. When the file has been 25~rec-ived~by the FP~ the FP responds to the FS with F11eXfered. The FS then co~mands the FP to dial-out to~th~ ~IU and:traAsmlt the fax thereto by ~s~uing the PP~co ~and OrlgXmitNIU. The FP respond~ back to the FS w~th F~xPortReady. The FS then i ues Connect Call 30~ to the NAP wh~ch respond~ with Call Connected. ~he F$
: ::then lssues WaltCompleted to the FP which ln response to detecting On-Hook from the N~U lssues TransmitDone to the FS. The FS then removes the file from the FP
hard d~sk ~y issuing RemoveFile thereto which responds : 35 back to the FS wlth FileRemoved. The FS then consummates the Send Fax command from the applicatlon by returnlng Fax Se~t thereto. The appllcation may delete the me ~age W093/18610 ~ ~ PCT/US93/02005 2l3nll'2 ' ' '' `" '' . .

1 from the NAP data base by i~suing the NAP command Delete Volce Me~sage to the NAP which responds to the applicatlon with Message Deleted. The dlalog is closed out by the application by issuing Terminate Dialog to the NAP~
It may also be desirable for NAPFE,to be able to lnltiate a call through the NIU and to then transmit a fax over that outgoing connection. A procedure for -, accomplishlng this utillzes the trap 132 (Figure 3).
The applic~tlon~issues Initiate Call to the FS which responds~to the appllcation with Call Connected. The application ~ssues~a~Plvot,Call to the FS which re~ponds to the appli Q tion~with Call Connected. NAPFE traps the Initlate~Call ln the trap 132 and saves off the ~ outgolng port speclfication. NApFE al~o traps the Pivot : 1:5~: Call ~co~mrand.~
he application then is~ues a Send Fax co~mand '-to,FS and~NAPFE~downloads the fax to the FP disk'and ' has,th-~fax port go off-hoo~. Thi~ coopllshed by ', FS~l~su~ng Get~Voice Message to NAP which responds back ,;20~ to~FS~wlth Comm,ànd Executed. FS then lssue~ S-ndFile "to,~FP whlch responds~back to~FS with FlleXfered. FS
th~en,~lssu-s Origlnat-Xm1t to~FP which goes off-hook to the NIU.;~NAPFE~traps this Incomlng Call ln the trap 132 a~ l~sueQ:~a ~Connect'Call ùslng the saved outgolng port 2~5~sp~c1f1cat~on.';~ hl~ cau~es an outgo1ng call to the n~tror~,and conn cts the~fax port to the outqoing 'conn ctlon.~ Nor~a;l~fax transmlsslon then occur~.
; It l~ appre~clated that when the fax port goe~
off-hook~ the;Incomlng Call initiates a new Dlalog ID.
30~5pe,c1flcally,~after th-~fil- is on FP dlsk and after th-~FP go-~ off-hook to the NTU, NAP sends the un~ollcited re~ponse IncomIng Call to FS whlch responds to NA~ with thé~Connect ~all command. NAP re~pond b~ck to the FS
wIth Call Connected~and the FS i ues Coilect Dlglts 35~ to ~the NAP as~ a tlme-out. When FP goes on-hook to the NIU, the NAP re~ponds to FS wlth Co~mand Executed and FS send~ the Termlnate Dlalog command to NAP for the ~: : : ~ :

`

~` 2130112 1 new dialog.
The F~ then responds to FS wlth TransmitDone and FS commands FP with RemoveF~le. FP responds to FS
with FileRemoved. The or$ginal Send Fax command from S the appllcat~on to FS is consummated b~!FS responding to the application with Fax Sent.
The fax may then be deleted from NAP by the appl~cation issuing Delete Voice Message thereto. NAP
responds to the application with Messaa~ ~eleted and the application termlnates the orig~nal dialos ~y issuing Termlnate Dialogue to NAP. The Incoming Call unsoliclted response from NAP to FS and the subsequent new dialog therebetween, was performed in the capacity of the FS
as an application with respect to ~AP.
1:5 It is appreciated from the foregolng that becau~e of the~sophlsticated NIU call conne~tivity control by : NAP, the appllcation can establlsh appsopr~ate network connections for receptlon and tran~mis~ion of fax messages~ For cal:ls coming into the NAP, elther for :
: ~20~ the~purpose of sendlng a fax thereto or for polling the NAP for a fax, the NAP isBues an unsolicited Incoming ::
Call:~respon~e to the applicatlon. Because of ~lgnalling :accompanying the call, the NAP determines that a fax tran~ctlon i desired. AIM commands;such a~ Con~ect 25;~:Call~and Plvot Call can be utillzed to effec~ the ppxopriate connectlons between FP, NIU and the network.
For calls inltlated by the NAP, elther for ~e~dlng a fa~ or for polllng a fax machlne, the Initiate Call command i~ utillzed followed by approprlat~ AIM call ~witching co~mands~ -For the purpose of appropriately routln~ fax mes~ages and calls to appropriate NIU ports, ~APFE
command~ utllize a predetermined outpul~e rule that ls detected by NAPFE to provide di~crimlnatlon between fax and non-fax transactions. In this reqard, the Fax Pro~es~or 104 can connect directly with the C~ntral Offlce or wlth the network through the NIU 19. The trap 132 WOg3/18610 ' ` PCT/US93/02005 21301 12 ~``

1 c~n optlonally be utlllzedr as descrlbed above.
It 18 noted that the call connect~ity AIM
commands, such as Pivot Call, as set forth in sald S.N. 521,210, may not provide preclsely the switching functionallty requ~red for NAPFE commanqs. The trap 132 (Flgure 3) 18 utilized in the manner déscrlbed above to effect the appropriate conne~tions. Alternatlvely, the reguislte swltchlng functionality can be added to : the AIM command~set by~the In luslon of a new appropriate ~AP command, thus obviating the need for the trap 132 ;Referring agaln to Figure 1, the FP DLP 109 and the hlgh-speed parallel link i os comprise a commercially procurable A-Series~computer to PC data transfer :~
connection avallable, for example, from Express-Link, 15 ~Inc~.,.of Rlchmond, Vlrg~lnia. The FP ~LP 109 ls lmplemented by:~the Expres~-~ink D~P and ls a well known type:of A-Series:communication lnterfa~e. The FP DLP
10~9 app~ars to the~A-Series syst ~ llke a GCR tape DLP.
As dlscussed above, the FP operatss i~dependently 20~ from the A-Serle~host on which NAP and NAPFE are ins~talled. Once an FP command is issued to receive a fax~ the;FP wi~ll, ln the:absenca of a hardware failure or~powerdown,~receive~the fax. The FP~receptlon process ;confirm~ to t~he~:fax machine that the FP received the ;25~ fax~:and~has lt~tored~on lts hard di~k.
A tl~lng wlndow,~howev-r, exl~ts b~tw~en the llcation,::NAPFE and the FP where an lncoming fax mo-~ge:can g-t lost. ~APFE utlllze~ a recovery mechanlsm . :: that guarante-s fax receptlon. Tho ~ech~nl3m en~ureq ~30 that the application wlll be aware of all faxes received by the FP ~o that~fax messages wlll not get lo~t. The tlming wtndow~results, for example, when a ~y~tem or ~an application interrupt occur~ between the tlme a fax : ~ ls rece~ved on the FP dlsk and the tlmè the fax Me~age ,, ; 35 Number ls ente~ed lnto the appllcatlon~data base.
The bas~ of the NAPFE guaranteed:fax receptlon l~ the Recovery Token and the NAP appllcation Dat~ Base 1 Nu~ber stored in fields 124 and 125 of the N~PFE command body 121, as illustrated in Figure 2. The Recovery Token ls specifled on all com~ands where faxes are recel.ved or created. The applicat~on assigns a new and un~que Recovery Token to each Receive Fax, Pol~~and Recei~e Fax and Create Fax command. The Recovery Token combined with the applicatlon Data Base Number creates a unique -~
ID ~or each fax reception. This unique ID is util~zed by NAPFE to ensure t~e complete receptlon and archiving of all incoming faxes.
The recovery information is maintained in the : Recovery Table 168 illustrated in F~gure 5. The Recovery Table 168 stores, inter alia, the applicatlon's N~P Data Ba~e Number and the defined application Recovery Token.
The application al80 maintalns a list of issued Recover~
: Tokens and lnformation pertinent thereto~ The applicatlon : places a new Recovery Token in ~t~ Recovery Token list for commands that have not been completed. The application issues a deslred NAPFE command specifylng ~:~ 20~ the assoclated Recovery Token. When the FS i~sues the ;FP file transfer command ReceiveF~le (Mes~age ~ype 92), PS records the a so~lated Recovery Token and Data Base -~ Number in the R~covery Table 168, as well as the aJ~oc~ated FP ~ rt nu~ber. The port number i8 in the : 25~ field 1:52 of the FP command t~lgure ~B)o ~ .
f the~receipt of the file by FS and the archiving ~:VMMM 1~ not 3uccessful, the involved FP port remains : Inuse and cannot be u~ed for reception or tran~mlsslon of further f~x:~es~ages until cleared by, for example~
In~tialization. Thus, the entry ln th~ Recovery Table 168 uniquely identlfies received faxe~ until reception ~nd archivlng is complete. Created faxe~ are alsp un1quely identified by the lnformatlon ln the Recovery Table 168 because of the manner in which the Create Fax Me~age protocol f unctions .
When a recelved or created fax message ls completely transferred from FP dlsk and archived ln the WO93/18610 ~ 1 PCT/US93/02005 1 VMMM data base, the associated entries tn the applicatlon Recovery Token 11st and the Recovery Table 168 of NAPFE
are deleted. The recovery process involves the application issuing the NAPFE Recover Fax command for èach token remaining on the application 11st w1th the entries from the appllcation 11st and NAPFE Recovery Table 168 being deleted upon successful transfer of the fax. When the Recover Fax command i3 issued by the application, the FP is checked for faxes that wer~
received but never moved to the VkU~M. If such faxes are found, they are transferred utlllzlng the flle transfer protocol discus ed above wlth respect to the : .
NAPFE~'Recelve Fax command. When the recovered fax ls successfully transferred and archlved, the entry l~
15~ removed from the Recovery Table.
When a;~;Recelve Fax, Poll and Receive Fax or Create Fax~command is~ lssued to FS, the Recovery Table entry is~allocated. After~FS lssues a Fax Received response (resu}tlng from~a Recelve Fax, Poll and Recelve Fax or ZO~aecovery Fax command~ NAPFE conslders the next recelved NAP~or~NAPFE command a~ a posltlve acknowledgment from the-application~that the applicatlon has saved the fax Me~sage~Number and~$nformation to di~k and that the appllcation has archived the data ln VMMM. In response 25~ hereto~NAPF~ clears~the Recovery Token entry assoclated wlth the~pr- 1Ous Fax Received response from the Re~overy Reco~ery may;be executed a~ part of appl~catlon inltlallzat~on. The appllcatlon performs the recovery 30~proces~ing as~fo11Ows:~
1. Is~ue~à~Recover Fax command for the flrst token~;in the appllcatlon Recovery Token l~st.
Thls causes the fax to be tran~ferred from the , F~ to the VMMM resulting ln a normal Fax Recelved response specifying the Message Number and lnformatlon for the assoclated fax.
2. Log the Mes~age Number for the fax in the :

W~ 93/1~6~0 2 1 3 0 1 1 2 PCI/US~3/020~5 appllcation data base.
3. Delete the Recovery Token from the appllcation list .
4. Is~ue the next NAP or NAPFE command. This - 5 clèar~ the Recovery Token entry from the NAPFE
Recovery Table.
5. Repeat the above steps 1-4 for each Recovery Token in the application list.
6 . Perform normal NAP message reconcil ~ ation utilizing the Get Message Numbers ~on~mand as ' desc:ribed in ~aid S.N. 521, 210 and S .N. 514, 783 .
It is apprec~ ated from the foregoing wlth respect to ~Figure 1, that although the Fax Server 103 is illustrated as a separate block for convenlence of description, the Fax 5erver 103 is part :of NAl? tO and ~:
resides in main memory 1 B. FS 103 may be con~idered as an ~xt~nsion of AIM 15. The physical a~vices such as phone lines~ swltche~ or fax machines, as well as the actu21 volce o~ fax data, are not vi~ible to the 20 ~appllcation. The application makes high ~ ~vel requests Send Fax, Res:eive Fax) referencing the fax image by , Message ~umbe~ and referencing- th~ destlnation by phone :~
umb~r ~ or othe~ appxoprlate identiflcat~on ~uGh as u~crlbe~ 3:D.~ 2n thls manner, the applic:ation 25~ cQ~a~ltrate~ on Dana~ye~ent Qf the faxes, as th~y flow ~-: t~ough~he:sy~tem, and avoids tha d~ta~ls of handling h~ hard~areO
The abo~e-described embodiment ~as ~xplained irl ter~ s~f utll~zl~g file conver~ion wlth res~ct to 30 file format ~n transferring fil~ between the ~P hard.
dlsk and t~e ~ M. I~ ls appreciated that the fax me~age data from a f~cslm~le statlon can be recelv~d and stored ln the VMMM me~sage data base without convers~on ~s, for example, a Group III image in accordance wlth the - 35 CCITT T.4 and T.30 recommendations. The stored mes~age data can alss be ~ent to a fac~lmlle qtation by NAP
without conversion. Thu~, no conversion 1~ required 213()112 1 ln the process of storage or retrieval of Group III
compressed fax me~sage data.
The Fax Processors 104 are integrated into the NAP architecture using the NIU 19 which provides the FP with lnterfaces to the network. The ~IU also provldes the capability to swltch between an incomin~ or outgoing telephone line~and a facsimile or Yoice port. This allows the same call to carry voice prompts, DTMF responses~
voice annotatlons, and facsimile messages. Basically, NAP has been~ extended to send fax messages to a ~a.~ ~
: ~tation, recelve fax messages from a fax station, send fax messages to a polling fax station, and receive fax messages~from~a polled fax statlon. These commands can be u~ed on a caIl that was either origlnated or an~wered :15 by the system.:
t is appreclated from the foregoing, that the NAP has been extended to ~upport the transmission and reception of:~facsimile message document~. This was , accomplished by adding the addltional co~mands and 20:~-responses descr~ibed herein to those supported by NAP
: a~s~ dlsclosed :ln said NAPSNs~ The~exten~lons allow an enhanced servlce on NAP that provides f~r the storage and~retrieval of:facs:imlle document~ between a facsimlle machlne~lGroup III compllant, or example~ and NAP~
2;5~ he~present~lnvention allows NAP to provlde fa~imile ssaging servlces together with the voice messaging `: :
;s-rvlces de~crlbed in sa~d NAPSNs~ ~oice prompts, DTMF
r-spon~es, ~olce~storage and retrleval, and fa~simile storage and retrleval are combined ln a slngle ~ervice.
~It ls apprec~ated that the FP can store the entire fax lmage prlor:to trsnsmisslon to the network and can also ~ store the entlre fax lmage after reception from the ; ~ network prlor to sending it up to the ~MMM. Initiating tran~missio~ to the network one page at a time after 3S s~o~age of everal pages of a fax ln FP l~ al~o contemplated:within the scope of the present invention.
I_ is further appreclated that if NAPFE i9 ~ ., 43 `
integrated into NAP, COMS will no longer be the agent that directs commands. AIM will then determine whether the incoming command is a fax or voice type command and will direct the command accordingly.
For the purposes of the appended claims, the term t'telephone network facsimile functionality" refers to the functlonality described above with respect to each of the facsimile co~mands in the table entitled ~APF~ COMMANDS AND VALID RESPON~ES as Message Types 23-30, ~10 As explained above, these NAPFE commands are expanded into the FP (Fax~Processor) commands listed in the above FP COMMANDS AND VALID RESPONSES table as FP Commands 01-06, 08, 11, 12,~90 and 92. The functionality associated with these FP commands, as described above, is~ denoted in the appended claims as "FP functionality".
The~"FP functiona}ity" is therefore included within the "telephone network facsimile f~nctionality".
While the in~ention has been described in its preferred~ embodiment, it is to be understood that the words~which have been used are words of description rather than~1~imitation and~that changes may be made within the pur~iew of the appended claims without departing from thé~true~scope and spirit of the invent~on in its broader aspects~

~: , . ~ .
~: : :: ~ : : .
~; ~ : ,.

.

~ 35 WO93/18610 . PCT/US93/0~005 ~ 1301 12 44 APPENDIX

1 Referring to Figure 7, a Data ~ransfer Command ~-(DTC) Interface 510 ~mplemented ln accord~nce with the present invention is illustrated. The Interfaoe 5~ :
couples a Da~a Link (DL) 511 with a host computer system generally ind~cated~at 512. The DL 511 i5 a communication link on ~hlch data of interest is ~ent/received and may bQ of any conven~ional form including one or more of :~ the follow$ng: a~ynchrono~ or ~ynchronou~ data ~tream, full/half/s~mplex connect~vity and w~th or:wlthout :~tO embedd~d protocol. The host 5t2 lnclude~ an Instruction Psooes~or (IP) 513 and a Central iata Storage (CDS) 514.
::: : :
The IP 513~ is a data processlng entlty that performs : tasks or applications utillzin~ data transferred over , ' ~ the DL Stl~. The IP 513 schematically.lnclude~ a set 5~ 515~of Data:~Transfer Commands (DTC) to be further des~crlbed with respect to Figure 8. The hos~ 512 is lllustrated~running an applicat~on 516 that exerc~ses ,ultlmate control over the data transf~rred between the hos:t~51:2 and:the Data Link 511. The application 516 "~ 20~ s respons:$ve to ex~ernal stimuli schematically represented~at;517. For example, if thé D~ 511 links to a telephone;~etwork and the appl~cation ~16 ls a Call Answer program, the stimuli 517 may comprise off-hook and~ bu~y or rlng~-no-answer wlth the telephone system 25:~ central of~ce::swltch connecting the calling party to the~Data~Llnk 511. The application 516 may instruct ~: . 'the IP 513 to~lssue ~.sequence of DTC~ that will result ' in -qendinq a voice prompt to the caller that the caller : :may }eave a me~age at the tone, sending a tone over the DL 511;and:recelvlng the voice message from the caller.
: The Interface 510 ~ncludes a Command Queue (CQ) ;:
520 that rscei~es and stscks a sequence 3f DTCs lss~ed from the IP 513~ An Interface Control Processor (ICP) 521 sequentlally receives the queued DTCs from t-he CQ 520 ;

WO93/18610 PCT/US~3/~2005 1 as schemat~cally repre~ented at 522. The CQ 520 is a FIFO queulng arrangement in which th~ IP 513 i6sues a ~equenca of DTCs that are executed by the ~CP 521 indlvidually without intervention of the IP 513. The ICP 52t also r~c~l~es a TERMINATE DTC directly from the IP 513 bypaYsing the CQ 520. The T RMINATE DTC is recei~ed by the ICP 5~1 as schematically ~ndicated at 523. The ICP 521 is~ues Data Transfer Result~ ~DTR) to the C~S 514 as schematically indicated at 524. The }P 513 is appropriately notlf~ ed when the ICP 521 ~SUQS
the DTR to the C~S 5~4. The TCP 52t $ssues a DTR
-- corre~pondlng to each of the DTC types; viz, SEND~ GET, ~AG and ~ IRA~E to be described below in further detAii.
- The ICP 521 also includes a buffering strategy control 525 to be fur~her explained below.
- The ~nterface 510 lncludes Interface Da~a Storage tIDS) 526 which comprlses a data storage device where : ~ data:to/from:the D~ 511 is buffered. The IDS 526 lncludes : ~ r~ce~ve buffers 527 for buffering data received from ~ 20 the~DL 5i1 to be ~tored in the CDS 514 and tran3mit :~ ~ buf~fers: 528 for buffering data to be sent from t~e CDS
5;14 to the~ 511. The amount of stora~e prov~ded by the~.receiYe buffers 527 and the transmit buffer~ 528 ~ must be adequate~to malntain a buffering strategy, as 25: controlled by the bufferlng strategy control 525, between the CDS 514 and the IDS 526 which prevents star~ing the DL 511 when sending data or overrunning the IDS 526 when recéiv$ng data.
The Interface 510 further lncludes a Data T lnk 3Q I~terface ~DLI~ 529 comprising an entity wh~ch provides interface capability betwe~n the D~ 511 and the IDS 526 The DL~--5'29 may include one or more of th~ followlng techniques: serial/parallel conversion, D~ pr~tocol~
coding technlque and electrlcal convers~on. The coding te~hniques may, for example, compr~e Pulse Code Modulation (PC~) and the electrlcal conversion ~ay co~prl~e ~uch techn~ques as dlgital-to-analog and .

1 analog-to-digital conversion.
The CDS 514 comprises a da~a storage devlce from wh~ch the IP 513 utllizes data received from the DL 511, genQrates data to be sent over the DL 511, or examines the DTR of DTC~ issued to the ICP 521. The ICP 521 comprises a control entity which receives, performs, and ~cknowledge6 DTCs from the IP 513; coordinates data trans~er between the CDS 514 and the IDS 526; and performs data tran~fer between the D~I 529 and the IDS 526. The CDS 514 and IDS 526 are responsive to the bufferlng strategy~:oontrol S~5 to effe~t data transfer Goord$natlon therebetween.
The ob~ective of data transfer to/from the CDS
.
514 over:the DL 511 through the DTC interface 510 ls ~: 15 accompli~hed through the use of DTC~ issued from the IP 513 to:the ICP 521. The four commands of the DTC
~: ., :
comma~nd 3et 515~ (SET-TAG, SEND, GET, and TERMI~ATE~
: provide capabillty~for the IP 513 to communicate over : the DL 511 while remainin~ decoupled from the operatlng 2~ details of the DL 511. ~
, ~
All~DTC, except TERMINATEj are sent to the ICP
:521 through the CQ 520. If the I~P 521 l~ nQt already execu'c$ng a DTC~, a DTC is transferred from the CQ 520 t`o the ICP 521:. When the I~P 521 completes processing 25~:of any DTC,~a~ Data Transfer Result (DTR) is issued ~nd ;stored ln the~CDS:~St4 as status informatlon which the - IP 513:can~examine after be~ng notified. In this manner, ;the ICP 52~1~ is sequentially and continuously process~ng single DTCC from the .~Q 520 as long as DTCs re~ain in the CQ 520~
' The TERMINATE DT~ is not 6ent to the ICP 521 through the CQ 520. In~tead, TERM~NATE i5 sent directly from the IP~513 to the ICP 521 as an ~mmediate command.
: ; The ICP 521 continuously awaits the~direct arr~val of -the TERMINATE DTC from the IP 513 notwithstand~ng : concurrent execution of a DTC from the CQ 520. The ~: funct~on~ ~f T~MINATE, to be descr~bed below, are :
' :

WO93/18610 2 1 3 0 1 1 2 PCT/US93/~2005 1 performed ~mmediately with process~ng of a DTC issued from the CQ 520 be1ng suspended, a DTR for th~ TERMINATE
command being returned to the CD5 514 and the IP 51 3 being notif ~ ed.
As discus~ed above, the DTC set 5t5 is compr~sed of S~ND~ GET, SE~-TAG, and TERMINATE. Referring to ~igure 8, the formats of the DTCs are illu trated. Each of the DTCs has`an:op code field 540 and parameter fields ~ 541 that contain the parameters assoc~ated with the :10 command.
Referrlng to Figures 7 and 8,ithe SEND D~C
transfers~data~stored ~n the CDS 514 to the DL 511.
Thé SE~D DTC has four associated param~ters: ~INX, TAG~
~ LAST, and~ ~RECEIVE . The I.INX parameter provides 15 ~ rlformation to t~e ICP 52'~ on appropr~ ate use of the CDS 514~ ~The LIN~ parameter may conta1n a C~S pointer : prov~ding~an address in the CDS 514 at whi~h information may be~found~ such as the address in th~ C~S 514 of the data~to be~:~sent~,~the amount of the data to be sent, and 20 ~the~:~address~1n:~the CDS 514 for stor$ng ~he DTR.
Alternatively~the~L1nk parameter itself may conta~n the information.~ The TAG parameter provid~s informatlon to the ~CP 521~with respect to grouping separate DTC
operations into loglcal:entitles. The LAST parameter, WhiCh i8 boolean, informs the ICP 521 that the data associated~:with the current SEND DTC completes transmission actLvity to the DL 511. The RECEIVE
parameter,~ which: i5 boolean,~d~irects the ICP 521 to begin rece1ving data from the D~ 511 ~ft~r the data a~oclated : : 30 with the c1~rrent SEND DTC completes transmission to the DL 5Jt~
During a SEND operat~on, the transmlt buffer~
528 in the~IDS 5Z6 wil- be mainta~ned as full as possible accordlng to a buffering strategy,~to:~be~described below, 35 ~etween the CDS 514 and the IDS 526 as controlled by the buff~ring strategy controI 525. Maintaining the IDS tran~mi~ion buffers ~28 full allows the IE)S buffering : :
-, to absorb latency antlcipated ln implementtng thebuffering stra~egy. To avoid transmisslon underrun, the buffering strategy must be able to ab~orb anticipated latency and susta~n an average transml3sion rate - 5 equi~alent to the transmlssion rate of the DL 511.
When a SEND completes the trans~ex of a~sociated data from the CDS 514 with the ~AST and RECEIVE parameters : FA~SE, a ~END DTR from the DTR ~lo~k 524 is l~ued by the ICP 521 :while the buffered data continues to be s~nt ~ 10 over the DL 511c This allows for the next ~END DTC in : ~ th~ C~ 5?0 to be pro~essed by the ICP 521 so a~ to ~ ~ continue transm~tt~ng da~a over the D~ 5t1 without : interruption.
:: : When a 5END comple~es the transfer of a~soGiated data from the CDS 514 with the LAST parameter TRUE and th~ RECEIVE para~eter FALSEr the DTR i~ not issued until all bu~fered data has been sent over the DL 511. This allows for th~ SEND DTR to prov~de ~ynchronizatlon o~, :and to indicate conflrmat~on of, data transmi~ ion 20~ cOmpletion.~: ~
: : Wh~n a:SEND completes the transfer of associated data from the CDS 514 with the R~CEIVE parameter TRUE, the DTR ls not issued until all buffered data has ~een ::
ent over the D~511. Once the ~TR 1s issued, data 5~ rece1ved from the DL 51~ will begin to be buff~red in Lhe rece~ve~buffers 527 of the IDS 526. ~hi~ technique proY1des~the ability to initiate receivlng data from :-: the DL 511 wlthou~ introducing large proces~lng or communi~ation delays between the termination of s2nding 30 ~data~over the DL ar.d recelving data from the DL~
The operation of a SEND DTC in progress can be moaified by a TERMINATE DTC or an:internal termlnating : condltion, such as DL protocol, ~ a manner to be d~scr~bed ln furth~r detail below.
The GE~ DTC transfers to the CDS 514 receive data buf~ered ~rom the DL 5~1 in the receive buffers 527 oP the ~DS 526. Receptlon is only lniti~ted as the WO93/1~6t~ 2 l 3 al l 2 PCT/US93/0200 1 result of the RECEIVE parameter of a previous SEND DTC
be$ng ~et to TRUE. The GET D~C has three as~oclated parameters: LINK, TAG, and LAST. The LINK parameter pro~ides information to the ICP 521 on appropriate use of the CDS 514. The LINK paramet~r may contaln a CDS
po~nter to a location in the CDC 514 containing such information as the address in the CDS 514 of the location to sto~e the receive data, the maximum amount of data to store~ and the address for storing the DTR.
0~ Alternatively,~the LIN~ parameter lt elf may contain the informatlon. The TA~ parameter provldes information to the ICP~5~21 wlth respect to grouplng ~eparate D~
operations:into loglcal-entities. The LAS~ parameter, which ~ boolean, directs the ICP 521 that DL reception : 15 and buf~ering must~ conclud~ with the current GET DTC.
During a GET operation ~nd after data recsption has been initiated pursuant to a p~evious RECE~VE, the rece~ve buffers 527 in the` IDS 526 will be maintained as~:empty as poss~ble according to the buf~ex~g strategy ~-20~ between the Cn, 514 and th~ IDS 526 to be further described below. The buffering strategy l~ controlled by the buffering strategy control 525~ Maintalning the receive buffers~527 of the IDS 526 a~ empty as possl~le, :
allows the IDS:buffering to absorb latency ant~cipated 5 ~ln implement~ng the buffer~ng strat~gy. To a~oid recelve buffer overrun, the buffering ~trategy must absorb ~ anticipated::latency and sustain an average trahsfer rate - ; equl~alent to:the DL recep~ion rate.
When a GET completes ~he transfer of associated data~ om the I~S 526, and the LAST para~ter is FALSE, ~, ~ a GET DTR is l sued fro~ the DTR b~ock 524 of the ICP
; ~ 521 and recelve data continues to be buffered from the . : DL 511~ This allows for addi~ional buffered data to be received rom the DL 511 by the next GET DTC in the CQ 52~ wlthout interruption.
When a ~ET completes the transfer of as~oc~ated data from th~ IDS 526 and .~e ~AST parameter is TRUE, W~93/1$610 PCT~S93/02005 213~112 1 rece~ng buffering is stopped (if not already stopped by TERMINATE) and a DTR is issued. The DTR inc~udes the add.~tlonal status information that the receive opera~iQn was completed by the ~AST par~met~r.
A RE OE IVE opera~lon ln progra~s can be modifled by a TERMI~ATE D~C or an internal termlnating condition, ~uch as D~ protocol, ~n a manner to be described below.
The SXT-T~G DTC establishes a working TAG
~dentifier for a followin~ sequence or group of SEND
~ 10 and GET D~Cs.~ he SET-T~G DTC has two a~so~iated :: ~ paramet~rs~ NX and TAG~ The LINK parameter provides : ~ in~ormation;to the ICP 521 with respect to approprlate use o~ the CDS 514~ The LINK parameter could include such information (or a pointer to such ~nformation) ~s ~t5 the addre~s for storing the DTR. The TAG parsmeter indl~ates t~e spe~l~ic working TAÇ identifier associated with the SEND and GE~ DTCs that follow the SET-TAG DTC.
The TERMINA~E DTC causs~ th~ ICP 521 to possibly modi~y the behavior of the currently processing SEN~

~TC or data;:reception operation. The TER~INATE DTC has :~: two associated:parameters: LINX and T~G. The LINK
parameter provides information to the ICP 521 wi~h re~pect : : to the appropriate use of the CD5 514. The LINK parameter could include uch information (or a pointer to such 25~ inform~tlon) as the addre~s ~or storing the DTRo The : TAG parameter indicates the specific group of DTCs that the TERMINATE DTC should addre~.
If a SEND DTC is currently ~n progress by the ICP ~21 and the w~r~ing TAG does ~ot ~.atch the TAG

parameter of the TERMINATE, the TERMINATE DTR is i~ued by the ICP 521 from the block 524.

If a SE~D DTC is currently in progres~ by the ICP 521 and the work~ng TAG match~s the TAG parameter of the TERMINATE, the following sequence of act~ons ar~
con~rolled by the ICP 521:
1) ~he TERMINATE DTR-i~ i3sued.
2) The transmission of data through the DL

2 1 !~ O I 1 2 1 511 from the IDS 526 is immediately stopped and all data buffered in the I~S 526 is dis~arde~.
3~ The SEND ~TR is issued~ Status information in th~ SEND DTR can include informat~n ~egarding the state of transml~sion such as the amount of data transmltted and ~ ~ the term~ation rea~on~
: : 4) All other DTCs ~n the CQ 520 with a TAG
~:; 10 : - parameter which matches ~he working TAG
will c~us~ an immediate D~R to b~ ~ssuea without perform.ing any commun~catio~
a~tivity. The status lnformation in the : DTR lnd~ ca~es this cor~d~tion. :
If :a data reception operation l~ currently in :~
progres6 by the ICP 521 and ~he workln~ ~AS; do~s not match the TAG~parameter of the TERMINATE, the T~RMINATE
TR ~ sued. ~ ;
If a data reception cperation ls current~y ln 20 ~ progre s by:the ICP 521 and the working TAG mat he;s ~che : -: ~ TAG parameter of the TERMINATEJ the following se~uence o f aations are con:trolled by t~e ICP 52 1: :
The TERMINATE DTR ls 1ssued.
: 2) The recept~on of additional da~a from 25~ the~DL 511 to the IDS 526 is immediately stopped.
3) The transfer to the CDS ~14 of recei~e data:already buffered $~ the receive : bu~fers 527 of the IDS 526 con~inues through : 30 ~-, the ~urrent and po~sibly ~ollowing GET
: DTC(~). This operation ls referred to : as a receive buffer purge.
4) When the re~eive bu~f~r purg~ is omplate, a}l following DTC~ with a TAG parameter 3~ that matches the working T~G will cau5e an i~mediate DTR to:be lssued without performing any communicatlon activity.

WO93/18610 PCT/US93/~2005 213011~ 52 1 The D~R status information will indicate this condition.
As described above, external stlmull 517 may be detected and interpreted by the application 51S as - 5 requlrlng the termlnation of data being sent out over the DL 511 or;being received ther~from. The appli~ation : 516 ~nstructs the IP 513 to issue ~ TERMInATE DTC with the TAG set ~or the currently execut~ng sequence of SEND
. and:~ET D~C~ in the C~ 520. Alternatively~ an internal 0 t~rminat~on~:may be effec'ced by the ICP~ 521 recognlzing onditions~of D~ communication, such as DL protocol, which regul~re the~pro~essing of SEND and GET DTCs to b~e modified.~ For example, in a t~lephone network environment, a DTMF diglt entered by a caller over the t~5:~: DL~;5~11 may be reooqnized by the ICP 521 as requiring immed~ate~termin~tion of voice~data tran mlssion~
: Act~ons ~xecuted ln respons~:t~ ~nternal termlnati~on~:conditiQns are exactly~equivalent to those that:zre:performed for a TERM~NATE ~TC w~th a TAG value 20 ~ equ~ to;~the DTC currentIy being~ executed~ except that no TERMINATE: DTR is issuea.
Wlth: contlnued reference to:Figure 7, a ~uffering strategy implemented by the buf~ering strategy control 52~ to minimize~ underrun of the transmit buffers 528 5~ during a dàta:~t~ransmitting operation and ovarru~ of the receive buffers 52? during a data receiYing operation~
w~ll now be~dascribed. The rece~ve buffers 527 and transmlt buffers ~28 sach comprises a set of indivi~ually ~:: actuatable~buffer~ At the start of:a SEND operation, 3;0 ~the b~u~forlng strategy control:525 prefetches the number of byteg of: SEND data to fill the transmit buffers 528 :: or the number of the bytes of availabl~: SEND data, wh~che~rer i~s le~s. Whsn the currerlt buffer e~nptles, th~ buff~r~ng fitrategy control 525 rotàtes the buffers 35: such that:~the next buffer becomes the current buffer.
::
: After a predeterm~ ned number of buffers ar~ empty, the buffering stra~egy contrc:>l 525 connects the IDB 526 to :~:
`

WO93/1~610 2 1 3 0 1 1 2 PcT/usg3/n2oos 1 the CDS 514 to fetch further data to refill the emptied buffers. When recelving data, with respect to RECEIVB, after the current receive buffer is fllled, buffer rotat~on occurs and the next receive buffer becomes the - 5 current buffer~. After a predetermlned number of buffers : are filled, the buffering ~trategy control 525 controls the IDS 526 to send the data to the CDS 5141 rendering : the filled receive buffers empty and again available.
An example of a system u~ilizing the interface 10 of the present ~nvention w~ll now be de~cribed. The : example comprise~ a ~oice messag~ng scheme where data ; tran~mitted and received over the DL 51t i9 a full duplex, PCM representation of the volce band signals. T~e IP
5t3 maintains:a data base of voice storage wholly or 15; ~partially ~n the CDS 514~ and gen~rates DTC-4 to control : the play~ack from and recording to this data ba~e. The following sc~nario details a series of events whereby a~ voice prompt ~ls played out and a rnessage is recc~rded:

: 2 0 ~ xessing~
G: (~"al', TAG=1 ) q~his SET-~ establ~shes the ~eglnning of a gr~up of ~ m~ which tran~nits the a pt da~a ~or reoordislg a message.
25~ 5Er3D (~'~", TAG=1, IAsT~EaIsE:~ RE~VE F2~SE~
: :: : ~is SEND tran~nIts 'che first po~i~n of , the v~ice prclpt~ lo. ~ s is John . ~ th~ I'm out of ~ offioe right now.
: Pla~".
; 3 0 ~ -~END: (Ll~--"c", TAG~ Sq~, RE~ryE~A~) mis æND t=~S the s~ond portion of the voioe Exranpt: ~ "~te me~sage after the tone, when f~shed ~th y~vr'l.
SEND tI~ "d", ~1, }AST ~ , REOE~CVE~ FAI~) This ~D tra~ts ~ s ~ rd port~on the vDioe ~pt~ ssage plea~e press p~
key~"

WO 93/18610 . PCr/US93/02005 213011~

~G ~L;tt~-"e", I~Gs2) : mis ~-TAG establishes the ~ of a ~alp of DIC whic~h tran~ni~ a to~, initlates record~ , and reoeives th~ recor~3ed voioe data.

l~his SENO o~r~espo~s to tl~ ~npt tone:
'beep", and the initiation of recelvin~
- ~ ice data for recording.

This OE~ re~ the seoond port1on of 15 ~ received ~ice data.

mis OE~ retums ~e third pc)rtion of mis æI-TAG esta~lishes the b~g~ng of a gr~p of DIC whlch~ transmlts a final 2): qhe ICP ~zes that the t~Q iS~ ~ty, dequeu2s 30~ . ~ the 'flr~t~, ær-q~. I~is DTC est~lls~s a :n~ rklng tag, ~ ; for m~ ~rocessir~. q~ ratun~s a Dq~R ~or 3) q~ ICP dequeue~ ~e ~ct DTC~ ÆND. qt}e ~TC ills th~ IDS
h ~ta fn:~n ~ CDS to b~ nltted~.
: 3~ ~e tr~ils~ of data ov~ W~e ~ is 3t~. ~ rs . ~ :: wiff}ln the IDS are ~tied~ addit~srlal data~fran t~e CDS is transferred to the ms lceeping the tr~t ~uffers of t~e , WO ~3/18610 2 1 3 0 ~ 1 2 P~r/U~93/0~û05 ms as fL21l a~ possible. Because IA~, ~n all data ICP th~n re~ a D~ for iir~c "b" and ~ontin~es to ~ansfer 5 4) ~he ~:CP deqaeues 'ehe n~ct ~, 5END. ~e ~ ~nt~nues to k6e~ the IDS tran~mlt data buffers filled with addit$~nal data to ~e ~tted~
5) q~he ~all~hy pOEso~ f~mil~ar wit~ t~e ~rQi~ messa~ng s~rstem and ~ desiring to h~ ~he renaind~ o~
0 ~s~s a ~? k~y to skip fon~, 6) qh~ ICP d~s the ~ digit as a D~ rent a~
inltia~s "~ernal te~mination'l actionsD ~be transmission o~ the data bufr'ersd in the IDS over the ~ is stopped and data h~fered ln the :D~S is d~s~a~dedO ~K~ lirik ~lc~
is rsturne~ f~r the curr~nt 5E~. m~ eues the r~xt DrCf ~. l~ecau~ t~e q~G mat~hes th~ rking tag ~'l"
an ~3iate D~eR is returr~ed for li~ "d'1 withou~ any ~n~missi~.

2~ a new w~rking tag, "2", fo~ ~TC ~ooes~gO Ihe ICI? 1:hen :: returns a DTR for l~ J~e~.
8i The ICP dequ~ues the next DTC~ ~END. me ~ then fill~ tha ~ ~t da~a buffers ~ith data fmm the a:)S to be t~an~mi~ed. l~he tran~3sion of t~he dat~ over the DI, i~
25 s~ted. As ~f~s wit~ the ~S a~e snpti~d, addlt~onal data frc~n the CDS is transferred to the IDS ke~ping the tran~nlt h~ffers of ~ IDS as full as ~ss~ble. 13ec~use ~R~E, ~ a}l data as~cia~d with 5END h~s been trs~er~d tc) the IDS and this data has be~ ~ent o~r the 30 Il~~~e ICP ~nltiates reo~rding and returns a ~R for f~ receiv~d from t~ L is buffered in the :CDS.
9) ~he ICP dequeues the r~t: DT~ ~ As the ~lg of v~oe ~roceads and buffers ~thisl the ms a*~ fill~d, ~se IDS
buffers are ~nptied fmn ~e IDS to the CDS. Because 35 L~F~, when all data a~soc~ated with ~ GEr has b~n t:ransferrad to the CDS, the ICP returr~s a D~R for lir~ "g'~.

Wo 93/1~610 PCI/US93/02~05 c~ t~ , aaditional IDS hlffers are en~tied to the CDS~
Because ~, wh~ all data associated w~ ls OE~
has beerl tran~f~ to the CDS, ffle ICP returns a L~k for 511 ) The ~CP degueues the n~t DTC, OE~. As the recording oontin~les, additl~ IDS buffe~s are emptied t~ the CDS.
2j ~rhe use~ re~rdlr~g 'che message ~letes t}~e mes~age and as dlrected presses t~e "#" :D~ key. ;~
13) ~ detects~the "~Y" ~fF dlgit as ~ ~L F~tocol ev~nt 10 ~ :lnlt~ates "~t~rnal tennlnatlonl' actlos~ he receptiot a~eady ~f~ered in ~e IDE fx~n~nues to be ~nptied to 'che ~DS. After all buffered data is empti~d, the ICP returns a :~ for l~ik "i". me ICP clequ~ues the next~ r.
15 ~ : Becau8e ~ b~fers are ~ty and the I~G mat~hes the ~lcing tag~ medlate DTR is relturnd for lir~ "~
P :as the ~r~ct ~TC, SEr-l~G. Ihis ~TC establi hes :anew~rldngtag, "3", forDT~ sing. I~eI~P:ffi~n 20~t5)`~ he -r~ queues the r~xt 1~, SEND. me D'I~ fills the IDS
tr ~ nlt data buf~ers with data fr~n ~he CDS ~o ~e tr ~ ltted.
The~transmission of da~a over the D~ is s~arted~ As buffers wtthin the~IDS~are cmpti~d, additional~data frcm the CD6 is transferred~bo~the IDS keeping the trans~Lt buffers of the 25~ : IDS as~u11 as poss~ble. ~esause ~PSTeTRUE~ when all data associabed~ith thi~ SEND h2~e been transf~rred to the IDS
:all dats~has ~een sent ffver ~he D~, the ICP then r~kurns : a DTR for link "l". ~ ~ :
16) The C2 now empty, the ICP waits new DTC to arri~e.
3~0 ~ ~, Although: SET-TAG i~ described ab w e as a separate DTC, it is ;appreciated that the SET-TAG ~TC can be : : el~minated~and in~orporated as an additional parameter . :
: to the SEND DTC. Generlcally~ ~the SET-TAG functlon is performed by any means for groupin~ :the ~ueued DTCs ~nto 35~ log~cal or re}ated sequences ~f; commands.
: ~ :The tnvention, as described above~ provldes an abstract ~nterface between the computer 9yst8m and the `

WO93~18610 2 1 ~ ~ 1 1 2 PCT/US93/02~05 1 D~. This a~straction plac~s the burden of interface details on the ICP/IDS/DLI lmplemen~at~on~ Th~s permits IP software to be structured ~round this high level abstract interface, providing software which is ea~i~r -~ ~ to develop and ~aintai~. Additiona~ly, the ICP/IDS/D~I
implementation provides the capabil~ty of distributing DL or~e~ted processinc into elements that operate in parallel with the computer system~ Thi is very : slg~ificant:when multiple DLs are utilized.

~, ~ ::
.
~ .
~ 25 ~ ~
t ~ , :

~ .

~`' ~ ; :

~ 35 :. ~

Claims (32)

1. A telephone network application platform for interfacing between a telephone network and at least one facsimile application program, said platform characterized by:
digital computer means programmed to be operative to perform telephone network facsimile functionality in response to facsimile commands issued by said facsimile application program, said telephone network facsimile functionality residing in said computer means independent of said facsimile application program and actuatable in response to said facsimile commands, said facsimile commands including a Send Fax command and a Receive Fax command, said telephone network facsimile functionality including sending a facsimile message to said network and receiving a facsimile message from said network in response to said Send Fax command and said Receive Fax command, respectively, application interface means coupled to receive said facsimile commands from said facsimile application program and responsive to said facsimile commands for actuating said telephone network facsimile functionality in response to and in accordance with said facsimile commands, said application interface means being responsive to said Send Fax command and said Receive Fax command from said facsimile application program for activating said telephone network facsimile functionality by causing a facsimile message to be sent to said network and causing a facsimile message to be received from said network in response to said Send Fax command and said Receive Fax command, respectively, and facsimile interface means coupled between said network and said computer means for conveying said facsimile messages therebetween.
2. The platform of Claim 1 characterized in that said facsimile commands include a Poll and Receive Fax command, and said telephone network facsimile functionality includes sending a poll to a facsimile machine through said network and, in response to said poll, receiving a facsimile message from said facsimile machine through said network in response to said Poll and Receive Fax command.
3. The platform of Claim 1 characterized in that said facsimile commands include a Send Fax after Poll command, and said telephone network facsimile functionality includes receiving a poll from a facsimile machine through said network and, in response to. said poll, sending a facsimile message to said facsimile machine through said network in response to said Send Fax after Poll command.
4. The platform of Claim 1 further including platform data storage means coupled to said computer means for storing said facsimile messages.
5. The platform of Claim 4 characterized in that said facsimile commands include a Create Fax command, and said telephone network facsimile functionality includes creating a facsimile message for storage in said platform data storage means in response to said Create Fax Message command by copying a message residing in a file of said facsimile application program into said platform data storage means.
6. The platform of Claim 4 characterized in that said facsimile commands include a Get Fax command, and said telephone network facsimile functionality includes getting a facsimile message from said platform data storage means into a file of said facsimile application program in response to said Get Fax command by copying a message residing in said platform data storage means into a file of said facsimile application program.
7. The platform of Claim 4 characterized in that said facsimile commands include a Send Fax from File command, and said telephone network facsimile functionality includes sending a facsimile message from a file external to said platform data storage means to said network in response to said Send Fax from File command.
8. The platform of Claim 4 characterized in that said facsimile interface means comprises facsimile processor (FP) means including FP storage means for storing said facsimile messages to be sent to said network and said facsimile messages received from said network, said facsimile processor means being programmed to be operative to perform FP functionality in response to FP commands, said FP functionality including transmitting a facsimile message stored in said FP storage means to.
said network and storing a facsimile message received from said network in said FP storage means.
9. The platform of Claim 8 characterized in that said application interface means includes facsimile server (FS) means responsive to said facsimile commands and operative to expand said facsimile commands into said FP commands and to issue said FP commands to said facsimile processor means for execution of said FP functionality in accordance therewith.
10. The platform of Claim 9 characterized in that said FP functionality includes answering an incoming call to said facsimile processor means and originating an outgoing call from said facsimile processor means.
11. The platform of Claim 10 characterized in that said FP commands indlude an AnswerRcv command, and said FP functionality includes, in response to said AnswerRcv command, answering an incoming call to said facsimile processor means, receiving an incoming facsimile message over said incoming call and storing said incoming facsimile message in said FP storage means.
12. The platform of Claim 10 characterized in that said FP commands include an OriginateRcv command, and said FP functionality includes, in response to said OriginateRcv command, originating a call to a specified phone number, polling over said originated call for a facsimile message, receiving a facsimile message over said originated call and storing said received facsimile message in said FP storage means.
13. The platform of Claim 10 characterized in that said FP commands include an OriginateXmit command, and said FP functionality includes, in response to said OriginateXmit command, originating a call to a specified phone number and transmitting a facsimile message from said FP storage means over said originated call.
14. The platform of Claim 10 characterized in that said FP commands include an AnswerXmit command, and said FP functionality includes, in response to said AnswerXmit command, answering an incoming call and transmitting a facsimile message over said incoming call from said FP storage means when a poll is received over said incoming call.
15. The platform of Claim 10 characterized in that said FP commands include a RemoveFile command, and said FP functionality includes deleting a specified facsimile message from said FP storage means in response to said RemoveFile command.
16. The platform of Claim 10 characterized in that said FP commands include a SendFile command, and said FP functionality includes transferring a specified facsimile message from said facsimile server means to said FP storage means in response to said SendFile command.
17. The platform of Claim 10 characterized in that said FP commands include a ReceiveFile command, and said FP functionality includes transferring a specified facsimile message from said FP storage means to said facsimile server means in response to said ReceiveFile command.
18. The platform of Claim 9 wherein said facsimile processor means comprises a personal computer, and said FP storage means comprises a personal computer hard disk drive.
19. The platform of Claim 10 wherein said facsimile processor means includes FP ports through which said facsimile messages conveyed between said FP storage means and said network are transmitted.
20. The platform of Claim 19, said platform interfacing between said telephone network and one or more application programs requiring voice functionality, facsimile functionality and call connectivity functionality, characterized by network interface means (NIU) having NIU ports coupled to said network, to said computer means and to said FP ports, said digital computer means being programmed to be operative to perform telephone network functionality in response to commands issued by said application programs, said telephone network functionality residing in said computer means independent of said application programs and actuatable in response to said commands, said application interface means being coupled between said application programs and said computer means and responsive to said commands from said application programs for actuating said telephone network functionality in response to and in accordance with said commands, said commands including NAP call connectivity commands, NAP voice commands and said facsimile commands, said telephone network functionality comprising NAP telephone network call connectivity functionality, NAP telephone network voice functionality and said telephone network facsimile functionality actuatable in response to said NAP call connectivity commands, said NAP voice commands and said facsimile commands, respectively, said NAP call connectivity commands and said NAP voice commands denoted as NAP commands, said NAP telephone network call connectivity functionality and said NAP telephone network voice functionality denoted as NAP functionality, and said NAP telephone network call connectivity functionality being operative to activate and interconnect said NIU ports.
21. The platform of Claim 20 characterized in that said application interface means includes said facsimile server means for actuating said facsimile functionality in response to said facsimile commands and further includes an AIM portion for actuating said NAP functionality in response to said NAP commands.
22. The platform of Claim 21 characterized in that said facsimile server means is further operative to expand said facsimile commands into said FP commands and said NAP commands and to issue said NAP commands to said AIM portion for actuation of said NAP
functionality in accordance with said NAP commands.
23. The platform of Claim 22 further including communication means (COMS) interposed between said applications and said application interface means for directing said facsimile commands to said facsimile server means and said NAP commands to said AIM portion.
24. The platform of Claim 23 characterized in that said facsimile server means is further operative to issue said NAM commands to said AIM portion through said COMS.
25. The platform of Claim 22 wherein said application interface means is operative to provide Responses to said application program, said Responses including an Incoming Call response engendered by said platform receiving a telephone call from said network, said NAP commands include a CONNECT CALL command and said NAP functionality includes switching said NIU
ports in response to said CONNECT CALL command, said NAP commands include an INITIATE CALL command and said NAP Functionality includes initiating a telephone call to said network in response to said INITIATE CALL
command, said NAP commands include a CREATE VOICE MESSAGE
command and said NAP functionality includes creating a message for storage in said platform data storage means in response to said CREATE VOICE MESSAGE command by copying a message residing in a file external to said platform data storage means into said platform data storage means, and said NAP commands include a GET VOICE MESSAGE
command and said NAP functionality includes getting a message from said platform data storage means into a file external to said platform data storage means in response to said GET VOICE MESSAGE command by copying a message residing in said platform data storage means into a file external to said platform data storage means.
26. The platform of Claim 25 characterized in that said facsimile server means is further operative to expand said facsimile commands to include said CONNECT
CALL command for switching said NIU ports so as to connect an NIU port with an FP port.
27. The platform of Claim 25 characterized by FS storage means, said facsimile server means being operative to temporarily store facsimile messages in said FS storage means.
28. The platform of Claim 27 characterized in that said facsimile commands include facsimile sending commands for sending facsimile messages to said network and facsimile receiving commands for receiving facsimile messages from said network, said Send Fax command and said Receive Fax command being a facsimile sending command and a facsimile receiving command, respectively, said facsimile server means is operative to expand a facsimile sending command into said GET VOICE MESSAGE
command for transferring a facsimile message from said platform data storage means to said FS storage means and into an FP command for transferring said facsimile message from said FS storage means to said FP storage means, and said facsimile server means is operative to expand a facsimile receiving command into an FP command for transferring a facsimile message from said FP storage means to said FS storage means and into said CREATE VOICE
MESSAGE command for transferring said facsimile message from said FS storage means to said platform data storage means.
29. The platform of Claim 20 characterized in that said application interface means communicates with said application program in dialogs, voice messages and facsimile messages are conveyed through said NIU over a common connection currently established during a dialog, NIU ports are switched between voice ports and facsimile ports, and voice messages and facsimile messages are commonly stored in said platform data storage means.
30. The platform of Claim 9 characterized in that said facsimile commands include at least one command operative to transfer a facsimile message from said FP storage means to said platform data storage means, said facsimile message having been received from said network, said application program is operative to assign a unique Recovery Token to a facsimile message to be received from said network pursuant to a facsimile command, said application program having an application Recovery Token table for storing said Recovery Tokens, said Recovery Token being passed to said facsimile server means as part of a facsimile command issued thereto, said facsimile server means includes an FS
Recovery token table for storing said Recovery Tokens passed thereto from said application program, and said facsimile server means is operative to notify said application program of a successful transfer of a facsimile message from said FP storage means to said platform data storage means and further operative to remove from said FS Recovery Token table, a Recovery Token associated with a facsimile message successfully transferred from said FP storage means to said platform data storage means.
31. The platform of Claim 30 characterized in that said FS is operative to remove said Recovery Token from said FS Recovery Token table upon receipt by said platform from said application program of a next command following notification of said application program by said facsimile server means of said successful transfer of a facsimile message.
32. The platform of Claim 30 characterized in that said facsimile commands include a Recover Fax command, said Recover Fax command conveying a Recovery Token therewith, and said telephone network facsimile functionality includes transferring a facsimile message identified by said Recovery Token from said FP storage means to said platform data storage means and notifying said application program of said transfer.
CA002130112A 1992-03-05 1993-03-05 Telephone network application platform for supporting facsimile applications Abandoned CA2130112A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/847,150 US5323450A (en) 1992-03-05 1992-03-05 Telephone network application platform for supporting facsimile applications
US07/847,150 1992-03-05

Publications (1)

Publication Number Publication Date
CA2130112A1 true CA2130112A1 (en) 1993-09-16

Family

ID=25299896

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002130112A Abandoned CA2130112A1 (en) 1992-03-05 1993-03-05 Telephone network application platform for supporting facsimile applications

Country Status (5)

Country Link
US (1) US5323450A (en)
EP (1) EP0629329A1 (en)
JP (1) JPH07504553A (en)
CA (1) CA2130112A1 (en)
WO (1) WO1993018610A1 (en)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2070731B1 (en) * 1993-04-05 1997-10-16 Telelinea S L RECEIVING SYSTEM OF INFORMATION WRITTEN THROUGH A FAX, FROM A DATABASE.
US5590339A (en) * 1993-08-23 1996-12-31 Macronix International Co., Ltd. Input device interface with power connect state and serial data channel enabling power to the device from time to time
US5828836A (en) * 1993-10-08 1998-10-27 International Business Machines Corporation Networked information communication system
JPH07210475A (en) * 1994-01-14 1995-08-11 Fujitsu Ltd Method and device for data transmission processing
JPH07288630A (en) * 1994-04-20 1995-10-31 Canon Inc Image processor
US5633916A (en) * 1994-12-30 1997-05-27 Unisys Corporation Universal messaging service using single voice grade telephone line within a client/server architecture
JP3471988B2 (en) * 1995-09-19 2003-12-02 株式会社リコー Facsimile machine
US5826026A (en) * 1995-11-09 1998-10-20 Connect-One, Ltd. Internet message communicator with direct output to a hard copy device
US7898675B1 (en) * 1995-11-13 2011-03-01 Netfax Development, Llc Internet global area networks fax system
US5695331A (en) * 1996-01-18 1997-12-09 Btu International Multiple width boat carrier for vertical ovens
US5937029A (en) * 1996-08-02 1999-08-10 Nice Systems, Ltd. Data logging system employing M N +1! redundancy
AU4390697A (en) * 1996-09-25 1998-04-17 British Telecommunications Public Limited Company Apparatus for communications service provision
US6473404B1 (en) 1998-11-24 2002-10-29 Connect One, Inc. Multi-protocol telecommunications routing optimization
US6016307A (en) 1996-10-31 2000-01-18 Connect One, Inc. Multi-protocol telecommunications routing optimization
US6046824A (en) * 1997-02-06 2000-04-04 Nice Systems, Ltd. Facsimile long term storage and retrieval system
US6317485B1 (en) * 1998-06-09 2001-11-13 Unisys Corporation System and method for integrating notification functions of two messaging systems in a universal messaging system
US6430177B1 (en) 1998-06-09 2002-08-06 Unisys Corporation Universal messaging system providing integrated voice, data and fax messaging services to pc/web-based clients, including a content manager for receiving information from content providers and formatting the same into multimedia containers for distribution to web-based clients
US6148329A (en) * 1998-07-20 2000-11-14 Unisys Corporation Method and system for maintaining the format of messages in a messaging system database
US6504915B1 (en) 1998-09-25 2003-01-07 Unisys Corporation Multiple node messaging system wherein nodes have shared access to message stores of other nodes
AU5333200A (en) 1999-06-14 2001-01-02 Wilshire Cellular, Inc. Method and apparatus for selectively establishing communication with one of plural devices associated with single telephone number
US7292858B2 (en) 1999-06-14 2007-11-06 Ascendent Telecommunications, Inc. Method and apparatus for communicating with one of plural devices associated with a single telephone number during a disaster and disaster recovery
US7162020B1 (en) 1999-06-14 2007-01-09 Ascendent Telecommunications, Inc. Method and apparatus for selectively establishing communication with one of plural devices associated with a single telephone number
US7680511B2 (en) 2000-06-14 2010-03-16 Ascendent Telecommunications Inc. Method and apparatus for communicating via virtual office telephone extensions
US7095828B1 (en) 2000-08-11 2006-08-22 Unisys Corporation Distributed network applications platform architecture
US7116764B1 (en) 2000-08-11 2006-10-03 Unisys Corporation Network interface unit having an embedded services processor
US7327832B1 (en) 2000-08-11 2008-02-05 Unisys Corporation Adjunct processing of multi-media functions in a messaging system
US7965825B1 (en) 2005-05-02 2011-06-21 Callwave, Inc. Methods and systems for transferring voice messages and faxes over a network

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4827349A (en) * 1985-04-30 1989-05-02 Canon Kabushiki Kaisha Communication terminal device
JPS62227269A (en) * 1986-03-28 1987-10-06 Ricoh Co Ltd Facsimile communication system
US4935955A (en) * 1988-06-03 1990-06-19 Neudorfer Julius N Facsimile PBX with storage and security
JPH0813075B2 (en) * 1988-07-01 1996-02-07 村田機械株式会社 Facsimile communication system
US4994926C1 (en) * 1988-09-22 2001-07-03 Audiofax Ip L L C Facsimile telecommunications system and method
US4922348B1 (en) * 1989-02-10 1994-10-11 Bell Telephone Labor Inc Facsimile service
US4974254A (en) * 1989-05-10 1990-11-27 Perine Michael C Interactive data retrieval system for producing facsimile reports
WO1991003115A1 (en) * 1989-08-18 1991-03-07 The Complete Pc A system and method for forwarding facsimile messages
US5133004A (en) * 1990-05-07 1992-07-21 Unisys Corporation Digital computer platform for supporting telephone network applications

Also Published As

Publication number Publication date
WO1993018610A1 (en) 1993-09-16
EP0629329A1 (en) 1994-12-21
JPH07504553A (en) 1995-05-18
US5323450A (en) 1994-06-21

Similar Documents

Publication Publication Date Title
CA2130112A1 (en) Telephone network application platform for supporting facsimile applications
US5181239A (en) Call tagging user information in a telephonic environment
US5487103A (en) Enhanced wide area audio response network
US5193110A (en) Integrated services platform for telephone communication system
CA2154464C (en) A method and apparatus for audio teleconferencing a plurality of phone channels
AU729882B2 (en) Work at home ACD agent network with cooperative control
US5046088A (en) Converter for in-band routing and/or origination information
US5155761A (en) Automatic call back system and method of operation
EP0762763B1 (en) Video messaging arrangement
US4949373A (en) Host load balancing
US5517556A (en) Call processing system with facsimile processing
USRE37073E1 (en) Automatic call back system and method of operation
US6608887B1 (en) Voice messaging system with ability to prevent hung calls
EP0852874B1 (en) System for incremental redistribution of telephony applications computing workload
EP0901297B1 (en) Method and device for call transfer to an agent station
JPH11317817A (en) Distributed call center, local site and remote site
US20090175437A1 (en) Call transfer between differing equipment
US7206400B2 (en) Method and system for data field reuse
EP0470415B1 (en) Call tagging user information in a telephonic environment
EP0571345B1 (en) Centralised telefax reception
CN1286864A (en) Device and method for informing subscriber of call informing during data communication service
JP2897518B2 (en) Incoming call distribution control method
JPH098986A (en) Facsimile information management system
GB2390181A (en) Method for storing data received over a telephone network
GB2326057A (en) Application call routing

Legal Events

Date Code Title Description
FZDE Discontinued