⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 callctloverview.html

📁 JTAPI_html 用于JTAPI的HTML文档.
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<HTML><HEAD><TITLE>The Java Telephony API Call Control Package</TITLE><!-- Changed by: , 22-Sep-1996 --><! FRAMESET COLS="120%,*"></HEAD><BODY BGCOLOR=#ffffff><IMG SRC="images/jtapi-1.1.logo.gif" ALIGN="left"><BR><BR><BR><BR><H1><CENTER>Java Telephony API<BR>Call Control Extension Package</CENTER></H1><BR><BR><H2><CENTER>January 28, 1997<BR>Version 1.1</CENTER></H2><BR><BR><BR><H2>Introduction<HR></H2><P>This document provides an overview of the Call Control Extension Package tothe Java Telephony API. The Call Control Package extends the Core API byproviding more advanced features and more detailed information about thecall model. The more advanced features take the form of additional methodon the call control objects: Call, Connection, Terminal, Address, andTerminalConnection. The Call Control Package provides more detailed informationabout the call model in the form of an extended set of states on the Connectionand TerminalConnection objects.</P><P>The topics covered by the overview document are described below. Details aboutthe interfaces in the Call Control Package are found in the<A HREF="Package-java.telephony.callcontrol.html">Call Control Package Specification</A></P><OL><LI><A HREF="CallCtlOverview.html#METHODS">Call Control Package Methods</A>This section briefly summarizes the methods and features made available bythe Call Control Package. It provides this summary for each of the interfacesin this package.<BR><BR><LI><A HREF="CallCtlOverview.html#STATES">Call Control Package ExtendedStates</A> The more detailed set of states availabled in the Call ControlPackage are described in this section of the overview. The Call ControlPackage extends both the core Connection states and the core TerminalConnectionstates.<BR><BR><LI><A HREF="CallCtlOverview.html#CONNECT">Object and State Diagram forthe telephone calls</A> Similar to the presentation of the timelineof objects and states for the Call.connect() method in the overview documentfor the core API, this section presents an analysis of what applications mightexpect to see in terms of objects their states when a telephone call isplaced. It gives the most accurate and clearest view of when certain objectsare created and they likely state transitions.<BR><BR><LI><A HREF="CallCtlOverview.html#OUTCALL">OutCall.java Code Example</A>This section provides a code example of an application which places anoutgoing telephone call. Although it invokes Call.connect(), a core method,it monitors the advanced states associated with the Call Control Package.<BR><BR><LI><A HREF="CallCtlOverview.html#INCALL">InCall.java Code Example</A>This section provides a code example of answering a telephone call incomingto a Terminal. This example shows how an application uses the accept(),reject(), or redirect() methods in addition to the coreTerminalConnection.answer() method.</OL><H2><A NAME="METHODS">Call Control Package Methods</A><HR></H2><P>This section outlines, for each interface defined in the Call Control Package,the methods and features provided. It is meant to provide a general overviewof the additional features of each object so application developers mayascertain whether the Call Control Package satisifies their requirements.</P><H3><IMG SRC="images/magenta-ball.gif">The CallControlCall Interface</H3><P><OL>The CallControlCall interfaces provides additional methods extending thecore Call interface. The primary methods this extension interface providesare: conference(), transfer(), drop(), and consult(). This conference()method, as commonly known, conferences two calls together into a singlecall. As a result, all of the parties on each of the two individual callsare connected to one another. The transfer() method moves the parties ofone call to another call, where one party typically drops off of the call.The drop() method provides a convenience functionality for the coredisconnect()method located on Connections. The drop() method drops the entire callrather than an individual Connection. The consult() method begins aconsultation call from an existing call. Applications perform the consult()action in order to eventually conference() or transfer() the two calls.</OL></P><H3><IMG SRC="images/magenta-ball.gif">The CallControlAddress Interface</H3><P><OL>The CallControlAddress interface provides additional methods extending thecore Address interface. The primary methods this extension interface providesare: setForwarding(), setDoNotDisturb(), and setMessageWaiting(). Thesemethods do not pertain to an exsiting call, rather they provide instructionsto the Provider pertaining to the designated Address. The setForwarding()method instructs the switch to forward all incoming calls to that addressaccording to certain rules. The setDoNotDisturb() method instructs the switchnot to allow any incoming calls to that Address to alert at the Address. ThesetMessageWaiting() method informs the switch that a message is waiting atthis address.</OL></P><H3><IMG SRC="images/magenta-ball.gif">The CallControlConnection Interface</H3><P><OL>The CallControlConnection interface provides additional methods extending thecore Connection interface. The primary methods this extension interfaceprovides are: accept(), reject(), redirect(), and park(). The accept() methodaccepts an incoming call offered to this Address, resulting in the callalerting at the Address. Conversely, the reject() method rejects an incomingcall offered to this address. This rejected call never alerts at the Addressand dies. The redirect() method transfers an incoming call which is eitheroffered to an Address or alread alerting at an Address to another Address.The redirect() method is similar to the transfer() method on the CallControlCall interface, except the redirect() method is used on Connectionsbefore they are connected and active in a call. The park() method "parks" aConnection at another Address. "Parking" a Connection moves the Connectionfrom its current Address into a special "waiting" state to the other Address.</OL></P><H3><IMG SRC="images/magenta-ball.gif">The CallControlTerminal Interface</H3><P><OL>The CallControlTerminal interface provides additional methods extending thecore Terminal interface. The primary method this extension interface providesis the pickup() method. The pickup() method "picks up" a Connection from anumber of situations. Applications may use the pickup() method at a Terminalfor a Connection which was previously "parked". Applications may also usethe pickup() method to answer telephony calls which are not alerting at theirTerminal, but at a different Address entirely.</OL></P><H3><IMG SRC="images/magenta-ball.gif">The CallControlTerminalConnection Interface</H3><P><OL>The CallControlTerminalConnection interface provides additional methodsextending the core TerminalConnection interface. The primary methods thisextension interface provides are: hold(), unhold(), join(), and leave(). Thehold() method, as commonly known, places a TerminalConnection on hold withrespect to the telephone call it is part of. The unhold() method takes aTerminalConnection off hold and makes it active once again. The join() methodtakes a TerminalConnection which is bridged in a telephone call and makes itactive. The leave() method takes an active TerminalConnection in a telephonecall and returns it to the bridged state.</OL></P><BR><BR><H2><A NAME="STATES">Call Control Package Extended States</A><HR></H2><P>In addition to provided additional features to the Java Telephony API, theCall Control Package provides additional information about the current stateof telephone calls in the call model. This additional information takes theform of an expanded set of states for the Connection and TerminalConnectionobjects, above the set of states provided by the core package for each ofthese objects. The intent of these expanded set of states is for theimplementation to describe more accurately to the application what is goingon in a telephone call. Most of the methods in the package rely upon and aredefined in terms of these expanded states.</P><P>If an application wants to use the Call Control Package, it is expected thatit will only monitor the states provided by the Call Control Package, andnot monitor the core states. In several cases, the Call Control Packagedoes not expand upon a state and uses the exact states as in the core withthe same meaning.</P><P>As mentioned above, the Call Control Package expands upon the states in thecore Connection and TerminalConnection objects. Listed below are the statesfound in the CallControlConnection and CallControlTerminalConnection interfaceswhich expand upon their respective object's core states. With each state isa brief, real-world description of their meaning.</P><H3>CallControlConnection States</H3><IMG SRC="images/cyan-ball.gif">IDLE state<P><OL>The IDLE state carries the same meaning as the Connection's IDLE state. It isthe initial state for all Connections and is transitory in nature. MostConnections do not stay in the IDLE state for long.</OL></P><IMG SRC="images/cyan-ball.gif">INITIATE state<P><OL>The INITIATED state represents that an originating Connection is involved withplacing a telephone call, however the telephone corresponding to theoriginating side has not been taken off-hookyet.</OL></P><IMG SRC="images/cyan-ball.gif">DIALING state<P><OL>The DIALING state represents that an originationConnection is involved with placing a telephone call and has begun dialing thedigits of the destination address but has not yet completed.</OL></P><IMG SRC="images/cyan-ball.gif">ESTABLISHED<P><OL>The ESTABLISHED state represents that aConnection is actively part of a telephone call. This Connection's CONNECTEDstate most closely corresponds to this state, however Connection's CONNECTEDis more general than ESTABLISHED.</OL></P><IMG SRC="images/cyan-ball.gif">OFFERING state<P><OL>The OFFERING state indicates for a destinationConnection that a Call is being offered to an address. Typically, applicationseither accept of reject this offered call.</OL></P><IMG SRC="images/cyan-ball.gif">QUEUED state<P><OL>The QUEUED state indicates that a Connectionis waiting at an Address, however, is not actively part of a telephone call.Applications may send a Connection to another Address in theQUEUED state to wait to be picked up. Another example ofwhen Connections enter the QUEUED state is when thedestination is busy and a "queueing" feature is turned on allowing the incomingCall to wait until the destination is no longer busy.</OL></P> <IMG SRC="images/cyan-ball.gif">NETWORK_REACHED state<P><OL>The NETWORK_REACHED state indicates thata Call has reached the network on the destination end, however no confirmationthat the actual destination has been reached. This may be the last state reachedby a destination Connection and application often treat this as if theConnection is in the ESTABLISHED state.</OL></P><IMG SRC="images/cyan-ball.gif">NETWORK_ALERTING state<P><OL>The NETWORK_ALERTING state indicates that a Connection which was previously inthe NETWORK_REACHED state is now alerting at the destination.When the destination answers the telephone call, the Connection will moveinto the ESTABLISHED state from this state.</OL></P><IMG SRC="images/cyan-ball.gif">ALERTING state<P><OL>The ALERTING state has the same meaning as theConnection's ALERTING state. It implies that a telephone call is alerting atits destination.</OL></P><IMG SRC="images/cyan-ball.gif">DISCONNECTED state<P><OL>The DISCONNECTED state has the samemeaning as the Connection's DISCONNECTED state. It implies that a Connection isno longer active in a telephone call. It is the final state for Connectionsin the Call Control Package as well as in the core.</OL></P><IMG SRC="images/cyan-ball.gif">FAILED state<P><OL>The FAILED state has the same meaning as theConnection's FAILED state. It implies that a Connection has failed for somereasons and is no longer able to perform additional actions in the Call.</OL></P><IMG SRC="images/cyan-ball.gif">UNKNOWN state<P><OL>The UNKNOWN state has the same meaning as theConnection's UNKNOWN state. It implies that the state of a Connection is notknown to the Provider as the application cannot take any action on thisConnection.</OL></P><BR><H3>State Transitions for the CallControlConnection Interface</H3><P>In the overview of the core Connection states, a finite state machinedescribed the allowable transitions from one Connection state to the other.This state diagram provides insight to the application developer on howConnections may move from one state to another. The following diagram isthe analogous state diagram for the CallControlConnection states. Becausethe CallControlConnection interface possesses more states than the core, thestate diagram is more complex. Fortunately, applications which perform onlythe simple tasks provided by the core need not concern themselves with thismore complicated state diagram.</P><P>To make the state diagram more clear, the ESTABLISHED state has beenreplicated three times. All of the transitions into the ESTABLISHED statecan be viewed as the union of all of the transitions into each separateESTABLISHED state below. Similarly, all of the transitions out of theESTABLISHED state can be viewed as the unijon of all of the transitions outof each separate ESTABLISHED state below. The FAILED, DISCONNECTED, andUNKNOWN states are unique because they have transitions to and from virtuallyevery other state. The asterisk (*) next to the transition arrows denotethis. There are several exceptions, however. There are no transitions outof the DISCONNECTED state and the IDLE state may not transition into theDISCONNECTED state. All states may transition into the FAILED state exceptfor the DISCONNECTED state. Also, the FAILED state may transition only to theDISCONNECTED state and the UNKNOWN state.</P><IMG SRC="images/CallCtlConnStates.gif" align="middle"><BR><H3>Relationship between Connection and CallControlConnection States</H3>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -