Connection State Transitions [JTAPI1.2文档图] IDLE state:空闲状态,稍纵即逝的状态!所有新创建的Connection对象的初始状态。 INPROGRESS state :一个呼叫过程已经在到达目的终点状态。 ALERTING state:被叫端响铃。 CONNECTED state :接通电话。开始说话。 DISCONNECTED state :断开通话。挂机。不作为呼叫过程中的一部分存在。没有核心方法验证Connections为这种状态。 FAILED state:呼叫失败。例如:对方正在通话中,这是Connection关联的被叫端为FAILED状态。 UNKNOWN state :未知状态。不可预知的状态。Provider对象无法判断当前Connection的状态就为UNKNOWN。Connection可能随时变为UNKNOWN状态,除了DISCONNECTED和FAILED状态。 TerminalConnection: 描述了Terminal对象和Connection对象之间的关系。在以前提到的呼叫模型中TermianlConnection对象是将Terminal终端对象连接到Call呼叫过程当中。和Connection一样,TerminalConnection也有自己的不同状态。
TerminalConnection state transitions [JTAPI1.2文档图] IDLE state:同Connection的IDLE状态。初始,必先创建的状态。 ACTIVE state:意味着Terminal对象已经连接到呼叫过程中。例如,拿起话机,此时为ACTIVE状态。 RINGING state:Terminal来电响铃...... DROPPED state:从呼叫过程中挂机的状态。是所有TerminalConnection的最终状态(Game Over)。 PASSIVE state :被动的状态。不活跃的状态(英文不好,不太理解)。Terminal对象已经在呼叫过程中使用。在PASSIVE状态时提供了多种方法将Terminal对象加入到呼叫过程中。 UNKNOWN state :同Connection的UNKNOWN状态。 这两是2个非常重要的核心包对象,对于电话的控制就看它们俩的了!!!! 介绍一个完整的电话呼叫过程。 前面的文章中主要说的是JTAPI呼叫模型的主要对象,核心包中的方法以及Connection和TerminalConnection的不同状态。这篇中通过电话呼叫中的一般场景,把前面的内容连贯起来。对呼叫模型的全部状态有一个连贯的认识。 下面的图表是一个电话呼叫时序图。x轴只表示一个时间顺序,并不代表实际时间。这个图表给出了应用程序调用Call.connect()方法后的主要对象状态的改变。