基于CSTA模型的呼叫实现方法.doc

上传人:h**** 文档编号:138149 上传时间:2018-07-10 格式:DOC 页数:17 大小:294KB
下载 相关 举报
基于CSTA模型的呼叫实现方法.doc_第1页
第1页 / 共17页
基于CSTA模型的呼叫实现方法.doc_第2页
第2页 / 共17页
基于CSTA模型的呼叫实现方法.doc_第3页
第3页 / 共17页
基于CSTA模型的呼叫实现方法.doc_第4页
第4页 / 共17页
基于CSTA模型的呼叫实现方法.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

1、基于 CSTA 模型的呼叫实现方法 概述: 根据 CSTA 模型,对呼叫的过程可分两层进行管理,对呼叫的处理主要在Call 层(如连接,保持等), Device 层和通道的状态紧密结合。 Call 层和 Device层间通讯可以通过互发消息来实现。 Device 层可以接受外界发来的消息,如交换机通过 TComModule 报上来的消息、 CTServer 发来的消息、 IVR_Service 发来的消息等,并对它们进行处理。 Call 层也可以接受外界的消息如 IRoutServer 发来的消息,但主要是接受 Device 层发来的消息实现对呼叫的 处理控制。根据 CSTA模型, SC 暂不

2、支持同层内(即 Device 层内部、 Call层内部)的消息通讯。 以上所述的消息传递是由 Com 类来实现的。 Com 类把外部的发来的消息分发到 Device 层的相应 Device,或 Call 层相应的 Call 流程。 Device 层和 Call层间的消息也是由 Com类来转发的。 1.CSTA Service流程实现 1.0 说明 注:在流程图中用到的消息其具体定义详见“接口定义的章节”。 D Device C CallC 连接状态 h 保持状态 a 震铃状态 * 任意状态1.1 Answer Call D1 D2C1a c D1 D2C1c c(1) APP D1 C1 D2

3、 LNXCmdAnswerCallAnswerCallConnect(D1,D2)ConnectAckEstablishedEstablishedEstablished(2)RespAnswerCallAnswerRequestAPP D1 C1 D2 LNXCmdAnswerCall AnswerCallConnect(D1,D2)ConnectAckEstablishedEstablishedEstablished(3)AnswerRequestRespAnswerCallD2 是主叫, D1 是被叫。被叫通道 D1 的控制者向 D1 发 CmdAnswerCall,D1 再向 C1 发

4、AnswerCall。此时存在两种情况: ( 1) D1、 D2 还未连接, C1 收到 AnswerCall 后使 D1、 D2 连接,连接成功后分别向 D1、 D2 发 Established,并向 D2 发 AnswerRequest。(如图 2所视) ( 2) D1、 D2 已经连接, C1 收到 AnswerCall 后分别向 D2 发 AnswerRequest。(如图 3 所视) 1.2 ClearCall Service D1 D2C1* * D1 D2D3* D3(1) D1 C1 D2 D3 LNXClearCallCallClearedCallCleared(可加上原因)

5、ReleaseChannel(D2)ReleaseChannel(D3)CallClearedReleaseAck(D3)RespClearCallReleaseAck(D2)ReleaseCHannel(D1)ReleaseAck(D1)ClearCallChannelReleased(D1)ChannelReleased(D2)ChannelReleased(D3)(2)当 D1 的控制者向 D1 发出 ClearCall,或 D1 因为本身的原因要使呼叫清除时, D1 向 C1 发 ClearCall。 C1 向它所连的 Device 都报告一个 CallCleared 事件( Broa

6、dcastCallClearedEvent)。使各 Device 对应的通道释放,如果通道是ClearChannel 则将通道状态置为空闲,而不用释放通道。 1.3ClearConnection D1 D2C1* *D3*D1 D2C1* *D3(1) D1 C1 D3 LNX ClearConnctionClearConnectionConnectionClear edReleaseChannel( D3)ReleaseChannelA ckRespClearConnec tionConnectionClear edConnectionClear edChannelReleased(2)在会

7、议等多方连接的情况下, D1 为主控设备。若 D1 的控制者要清除跟 D3的连接,它要向 D1 发 ClearConnection 消息,其中包含着要被清除的 Connection:C1D3 的信息。 D1 再向 C1 发 ClearConnection。 C1 将 D3 和它的连接清除,并分别向 D1 和 D3 发 ConnectionCleared 事件, D1 收到 ConnectionCleared 后也向其控制者发 ConnectionCleared 事件,表示呼叫清除成功。 1.4MakeCall D1 D2C1* * D1 D2C1c *(1) D1 C1 D2 LNXMakeC

8、allReq uestMakeCallReq uestConnect(D1, D2)ConnectAckEstablishedRespMakeCal lRespMakeCal lDeliveredOutseizeAckAnswerCallEstablishedAddressComp leteRequestAddressComp leteRequestIndicateAdd ressCompleteTransfere dAnswerReque st(2)D1 的控制设备向 D1 发 MakeCallRequest, D1 向 C1 发 MakeCallRequest, C1在选择通道后向 D2

9、发 Delivered 消息。 D1 根据实际情况呼出或通知其控制设备。C1 收到 D2 的 地 址 全 信 号 AddressCompleteRequest 后向 D1 转发AddressCompleteRequest。 D1 收到 AddressComplete 后根据需要作相应的处理(如SS7 通道要向交换机发 PPLEventRequest,使交换机向对端发 ACM),处理完成毕后向 C1 发 IndicateAddressCompleteTransfered 以通知 C1。余下的过程跟AnswerCall 的过程一样。 1.5 HoldCall D1 D2C1c * D1 D2C1h

10、 *(1) D1 C1 D2 L NXHoldCallHoldCallParkChan nel(D1,D2)ParkChan nelAckHeldEven tRespHold CallHeldEven t ChannelP arkedHeldEven t(2) D1 C1 D2 原来处于连接状态, D1 的控制者 D1 发 HoldCall 消息。 D1 马上回响应 RespHoldCall,并向 C1 发 HoldCall。 C1 收到 HoldCall 后向交换机发ParkChannel 消息,使 D1、 D2 处于 Parked 状态。 C1 在收到 ParkChannelAck 后分别

11、向 D1、 D2 发 Held 事件。 D1 在再把 Held 事件转发给控制者,表示 HoldCall成功。 1.6 RetrieveCall D1 D2C1h * D1 D2C1c *(1) D1 C1 D2 L NXRetrieve CallRetrieve CallConnect( D1,D2)ConnectA ckEstablis hedEstablis hedRespRetr ieveCallRetrieve d(2) HoldCall 后 D1、 C1、 D2 的状态如图( 1)的左图所视。 D1 的控制者向 D1发 RetrieveCall 消息。 D1 将 RetrieveC

12、all 转发到 C1。 C1 向交换机发 Connect 命令。使 D1、 D2 重新连接。 C1 收到 ConnectAck 后分别向 D1、 D2 发 Established事件。 D1 收到 Established 后向控制 者发 Retrieved 事件,表示 RetrieveCall 成功。 1.7 ConsultationCall D1 D2C1 * D1cD3C2c *D2C1 *h(1) D1 C1 D2 C2 D3 HoldCall(D1C1 )ParkChannel(D 1,D2)ParkChannelAc kHeldEventMakeCallReque st(D3)Del

13、iveredConnect(D1,D3 )ConsultationC allRespMakeCallOutseizeAckAnswerCallConnectAckEstablishedHeldEventAnsweredHeldRespConsultat ionCallAppAddressComple teRequestAddressComple teRequestIndicateAddre ssCompleteTransferAnswerRequest(2)LNXEstablishedD1 C1 D2 原来已经处于连接状态, App 向 D1 发出 ConsultationCall 消息。 D

14、1 收到 ConsultationCall 消息后,向 C1 发 HoldCall 使 D1、 D2 处于 Parked状态。 D1 再进行 MakeCall 产生一个新的 Call: C2。 D1 收到 MakeCall 的响应RespMakeCall 后,向 App 发 RespConsultationCall 消息和 Held 事件(若RespMakeCall 为 失 败 的 响 应 时 , 则 D1 只向 App 发 表 示 失 败 的RespConsultationCall)。 C2 使 D1、 D2 处于 l连接状态( MakeCall 的具体过程参见 1.9 MakeCall)。

15、当 D1 收到 C2 发来的 AnswerRequest 后, D1 向 App 报告Answered 事件,表示 ConsultationCall 成功。 在 SC 的流程中 ConsultationCall 有两种形式:( 1)本端 ConsultationCall:App 为 D1 的控制 者。( 2)远端 ConsultationCall: App 为 D2 的控制者。这两种形式在内部流程上都是由 D1 发起 ConsultationCall的,区别是外部发起者的不同,( 1)的发起者为 D1 的控制设备;( 2)的发起者是 D3 的控制设备。 D1 向外界收发消息的对象也随之不同。

16、1.8AlternateCall 状态迁移如下图所视 : D1 D2D3C1C2hc*D1 D2D3C1C2hc *(1)ConsultationCall 后 D1、 D3 处于连接状态, D1、 D2 处于保持状态, D1 收到外界发来的 AlternateCall 命令后向 C2 发 HoldCall 命令, C3 使 D1、 D3 处于Parked 状态并向 D1 发 Held 事件, D1 收到 Held 事件后再向 C1 发 RetrieveCall命令,使 D1、 D2 重连,连接成功后 C1 向 D1 发 Established。 若 AlternateCall 失败则请求者会收

17、到失败的 RespAlternateCall,如果成功,请求者会收到成功的 RespAlternateCall 及 Established。 APP D1 C1 C2 D2 D3 LNXAlternateCallHoldCallParkChannel(D1,D3)ParkChannelAckHeldEventRetrieveCallHeldEventHeldEventConnect(D1,D2)ConnectAckEstablishedEstablished EstablishedChannelParkedRespAlternatCall(2)1.9 DivertCall D1 D2C1* D

18、1D3 *D2C1 *(1) Delivered(D1C1)D2 C1 D1 D3 MakeCallOutseizeRespMakeCallACKAddressCompleteRe questIndicateAddressCo mpleteTransferedAppAddressCompleteRe questDivertCallDivertCallDeliverCall(D3)OutseizeAckAddressCompleteRe questRespDivertCallRespDivertCallAddressCompleteRe questIndicateAddressCo mplete

19、TransferedAnswerCallConnect(D1,D3)ConnectAckEstablishedEstablishedAnswerRequest(2)LNXD2 为 主 叫 端 发 起 呼 叫 , D1 为 被 叫 端 。 D1 已 经 向 C1 发了AddressCompleteRequest 但还没发 AnswerCall。此时 D1 收到 App 发来的DivertCall消息,则 D1 向 C1 发 DivertCall。 C1 重新选择通道,向 D3 发 DeliverCall。当 C2 收到 D3 的 AddressCompleteRequest 后再向 D2 发 RespDivertCall。 D2 将RespDiverCall 转发给控制设备 App,表示 DivertCall 成功。之后, D2 释放回到空闲状态, C2 则按一般的呼叫 流程使 D1、 D3 连接。 1.10 InterventCall D3 发起强拆请求到 C1,连接标识是 C1D1, C1 根据连接标识向 D1 发送

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。