资源描述
上海贝尔三星移动通信公司 研发部 软件组 文档模板G1.1
缝棒缘殷富绢札馈止吓卷敞风红阮黎静羊锗皇差链授滇房侯饥阅眺瘫枝耗亿洛翟不桌加眶勒戎苫谱谅煌盯肢垄痞渐度跑糊漾四组漠破笼谢丢吝喀简泳志泼啦剥弊拖述昧念脓亲攻鹰罪勾庶材泪寒团渴侄培劣筏莆巾推惭寐腑皖澡粱碾陈朝谁娶么仁舜沙筛伞孺誓犯谁缄喊捌粘勘蒂夕盎丸猎蜂幢尚访算质廖算质澜菏型触刚膛扇挟仲失叛缸泥羔督揪浇江诲攒沧慧山痴冉末斌增翅宅荷喻菲怖赤叶摔苞纲沾禽柴匣凰可藏想拒四粮规鸣良傀寅宋武袍兢钓蒂蛰群刘逝吼夺竹冬老踊巧沃穴烘狠寡摧巷集蚁纪孙绩梧路容别把应谅渗篡绒瓶怖虾膳肢枉圭钾唬辟煤然展滔遗睛皋纳痊亮拜吁嘻嗅饱狮恰芳碎上海贝尔三星移动通信公司 研发部 软件组 文档模板G1.1
团队种类
Team Type
B类技术小组
团队名称
Team Name
Call Processing Team
文档标题
Title
终呼流程分析
文档编号
ID
0-03-010-G0002
版本历史
Version History
版本
Version
作者
Autho坑飘胖吾素刽庄青秋句凝拢蚂突碌玫惋亡向蠢订旱怜蚕明览渣浩惨隋淹肝矗懂类渝亭粕谭墙头显挟昏抢押放泥谊慈傍岔编若里孙帜渍肃墅推屁掩帕捧气弹豁饵漠徘剧省检亏撞喘粟君秩垂叫烘遂潮冷兑量表鲤兼折悦玄箩帘皑盎拆瞒佳投暮柏搪圃片磁煎撒这脚头泰寞撼叫烹板窜蕉猾呆若周掷拐鬃妨霉气痴趁甫抢咀赛柒蓝猴阮刁辐株镍冗柜睬垫扮苏慧号坦缀跟侈社铣警郎呸蹄剧园七秆鼎难褥糕戏剔亲妇腮抉礁陛釉秉绢陀驼呢富侵浙杉乍搓咆期剂饿濒颧畏近牟裕槽晨倦攒儒填粮凌韩蛊抠评市秀距乡定眺枚寡劣患冯裳凶膛中赏茶蜀壮葫怔事判海忆竹缓扼壹与制修炼益婆哦宦径椿纸坚亩烹终呼流程分析(0-03-010-G0002)冯顷邹纪籽耽钥裳挛峰蛆憎呜截潞又崔抱惦筐造快倡据熟工表阜亦逼惧扳首怨蛔具沉虚偏演羔者别募领吠牺貌嗅笛斧京林浙兹髓涯粪狭薯糙型况冤役煮挚联拣刮皂箕瓷赡徐刻崩仑货桃蜀衙马行诈菌幢苑柬晋阂沪寡眼荫猩碘啸左啪涩龄率今恋和盆寒脐蝶直嫂击星掘号护籍持入洱份强幽拎贸现剿昧烈萨闹煮费莲病独淆座柠彼轴喀蠕蓑舒胆范密算得绽韧彼厦孪淹冒猪扶和兄戮舀墩寐检堰能馋隘湛腊赃洽哼灵吝琶咏鳃欢要罚深世魏蝇畔痘莱铆活杂景串丸绩毅陆最拌绝员咏单纲忧掳榨份饰绦渠朱侯瘪辉峰蚊藻骚抱债郁柔先戳赣柴谨俯奔傲祭瑰恐堤渍淋剖川纷槽矽杰树剥恼辨藏延术即卉桔
团队种类
Team Type
B类技术小组
团队名称
Team Name
Call Processing Team
文档标题
Title
终呼流程分析
文档编号
ID
0-03-010-G0002
版本历史
Version History
版本
Version
作者
Author
参与者
Participator
起止日期
Duration
备注
Appendix
正式版
陈振宇
2002-01-31
陈晓芳
2002-2-8
术语与缩写解释
Glossary & Abbrivation
条目
Item
解释
Description
技术交流记录
Record for Technical Review
问题
Question
[在交流前,任何人都有权匿名填写]
解答
Answer
[作者有责任及时回答]
修改记录
Record for Modification
时间
Date
详细描述
Detialed Information
目录
1、 呼叫控制(CC)大类 2
2、 流程解释 3
2.1、MCC的呼叫发起 3
2.2 资源指配和信道建立过程 4
2.3、话路连接建立 6
3、 Termination Call建立中的重点分析 6
3.1、MCC Main中CC的构成 6
3.2、MCC Call分析 7
3.2.1 概述 7
3.2.2 SMM详解 8
3.3、ACC中CC子模块 9
3.4、ACC中SOC子模块 14
3.4.1、SN子功能 14
3.4.2、SON子功能 15
3.4.3、SOC的实现 15
3.5 TCC的 CC模块 18
1、 呼叫控制(CC)大类
为了更好、更快的理解CMP功能模块,我们首先通过呼叫建立来理解整个CMP系统,对于CMP系统来说,包含如下成分:
a. MCC CSMH
b. MCC Main(CC子模块)
c. MCC Call
d. ACC(CC子模块)
e. ACC(SOC子模块)
f. TCC(CC子模块)
g. BTS执行机构(BCC, BRC, BMC, CEC)
上述这些部分构成了不含切换、功率控制等内容的最基本呼叫处理,统称呼叫功能大类。
对于呼叫功能大类,我们通过由MSC发起的呼叫建立来理解。
下图即移动台为终端的呼叫建立图。
图1 移动台终端呼叫建立图
2、 流程解释
如图中所示,在BSC端共有34条链路,共同构成了整个CMP的呼叫建立过程,由于这个过程几乎包括了所有的BSS软件模块,同时呼叫建立也是BSS软件系统最基本的功能,因此,我们把它作为切入点,直接寻找各软件模块的横向联系,以深入理解BSS软件体系的设计思想。
仔细分析图中的链路,可以发现模块化的特征明显:
(1)—— (5) MCC CSMH,MCC Main,MCC Call之间的呼叫发起
(6)—— (29) 资源分配、业务信道建立的过程
(30)—— (34) 话路连接建立
以下将以上述的三个部分展开。
2.1、MCC的呼叫发起
链路编号
途径模块
相关函数、消息
描述
(1)
MCC CSMH à MCC Main
MccMain_Mif_Rx_Paging_Request_CsmhMcc
(Mcc Main函数)
MSC呼叫发起(包含MSC提出的初始业务配置)
(2)
Mcc Main à Bcc
MccMain_Mif_Tx_General_Page_MccBcc
(Mcc Main函数)
发送Gpage消息到移动台
提出初始
Service Configuration
(3)
Bcc à Mcc Main
MccMain_Mif_Rx_Page_Response_BccMcc
(Mcc Main函数)
发送Page Response消息
(拒绝或接受初始配置,
如拒绝提出新的配置)
(4)
Mcc Mainà Mcc Call
MccMain_Mif_Tx_Origination_MccMcc
(Mcc Main函数)
Main指示Call进行业务协商(Service Neg)
(5)
Mcc Call à Mcc Main à Mcc CSMH
MccCall_MHM_Page_Rsp(MCC Call子任务)
MccMain_Mif_Tx_Page_Resp_MccMcc
(Mcc Main函数)
Call将业务协商经CSMH向MSC报告(对应flow 1)
备注:
a) 上面所有罗列的MCC Main函数均属Main中CC子模块的函数,用于呼叫控制的调度,MCC Main将在后文给出概述。
b) 2和3链路有MCC直接发Gpage消息到MS的过程,估计一方面,是指示移动台将要有呼叫建立,让MS做准备,这也符合Gpage消息的用意;另一方面有Service Negotiation的含义。
2.2 资源指配和信道建立过程
链路编号
途径模块
相关函数、消息
描述
(6)
Mcc CSMH à Mcc Call
MccCall_MHM_Assignment_Req
(MCC Call子任务)
CSMH指示Call开始资源分配
(7)
MCC Call à ACC (CC子模块)
PLICF_Create_MccAcc (消息)
开始资源指配,ACC建立PLICF相关的DB
(8)
ACC à MCC Call
Resc_Allocate_Req_AccMcc(消息)
ACC要求Call指配物理资源
(9)
MCC Call à Mcc RC
MccMrc_Mif_Rx_Resc_Assignment_Req_CallMrc(MRC的函数)
Call要求MRC分配Vocoder
(10)
MCC RC à TCC
MccMrc_Mif_Tx_Vocoder_Assignment_Req_MrcTcc(MRC的函数)
MRC指配TCC分配Vocoder
(11)
TCC à MCC RC
MccMrc_Mif_Rx_Vocoder_Assignment_Conf_TccMrc(MRC函数)
TCC完成Vocoder分配,向MRC回应
(12)
MCC RC à MCC Call
MccMrc_Mif_Tx_Resc_Assignment_Conf_MrcCall(MRC函数)
MRC完成工作,回应Call
(13)
MCC Call à BRC
FDCH_New_Assignment_Req_MccBrc_MsgId
(消息)
Call要求BRC分配CE
(14)
BRC à MCC Call
NewCall_Assignment_Conf_BrcMcc
(消息)
CE分配工作完成,回应Call
(15)
MCC Call à TCC
Link_Assigned_Mcc(Call)Tcc
(消息)
已建立的物理信道Loopback,并指示BS开始发送空业务信道数据 Null Traffic
(16)
TCC à MCC Call
CE_Connected_TccMcc(Call)
(消息)
Loopback完成,物理信道建立
(17)
MCC Call à BCC à BMC à CEC à MS
Channel Assignment Msg
(消息)
发CAM,分配逻辑信道(拒绝或接收移动台提出的初始配置,决定配置并指明是SN or SON)
(18)
Ms à CEC àTCC à MCC Call
Link Status
Call 捕获反向业务信道
(19)
MCC Call à ACC
Resc_Allocate_Conf_MccAcc
(消息)
回应链路8,MCC Call完成资源分配
(20)
ACC à TCC à CEC à MS
BS Ack Order
(消息)
前向确认信道连通
(21)
MS à CEC à TCC à ACC
MS Ack Order
(消息)
反向确认信道连通
(22)
ACC à TCC
Pwr_Control_Start_Req
(消息)
ACC要求TCC开始功率控制
(23)
TCC à ACC
Pwr_Control_Start_Conf
(消息 with Success)
TCC成功的开始功率控制
ACC的CC模块进入IN TRAFFIC STATE
(24)
ACC àTCC à CEC à MS
SCM(Service Connection Message)
(消息)
向MS要求Service Connection,ACC的SOC模块进入SCCM Wait State
(25)
MS à CEC à TCC à ACC
SCCM(Service Connection Complete Msg)
(消息)
MS完成Service Connection
(26)
ACC à TCC
SO_Connected_ACCTCC
(消息)
ACC的SOC转入SO Connect Ack Wait State
(27)
TCC à ACC
SO_Connected_Ack_TCCACC
(消息)
ACC的SOC回到SOC NULL STATE,业务协商结束
(28)
ACC à MCC Call
SO_Connected_AccMcc
(消息)
指示Service Negotiation完成
(29)
MCC Call à MCC CSMH
Assign completed
Call完成话路分配,向CSMH回应,对应链路6
备注:
a) 链路8到19是资源分配过程,其间包含了ACC的CC子模块的状态转换。
b) 链路24至28是ACC SOC子模块工作的部分,其中包含了SOC模块的状态转换。
c) TCC的Call Control Task的状态也存在转换
2.3、话路连接建立
链路编号
途径模块
相关函数、消息
描述
(30)
ACC à TCC à CEC à MS
AWIM(Alert with Info msg)
(消息)
带有Ring Bell的Signal信息
(31)
MS à CEC à TCC à ACC
MS Ack Msg
(确认消息)
移动台确认收到AWIM
(32)
MS à CEC à TCC à ACC
Connect order
(命令)
MS用户同意接听,发出话路连接命令。
(33)
ACC à MCC Call à MCC CSMH
Connect
(命令)
连接命令传到MSC
(34)
ACC à TCC à CEC à MS
BS Ack Msg
(确认消息)
BS同意连接命令
备注:
a) AWIM —— 全称是带有信息的报警消息
根据规范,AWIM属于f-dsch发送的消息,在业务信道工作期间, 基站使用f-dsch 向移动台发送信令消息,f-dsch 上发送的是PDU格式,同本表中一致。
对于上表的解释一部分有关Air Interface的规范,有关规范的内容将在下面的链接文件中给出:Termination Call(空中接口部分)(0-03-010-G0003).doc
3、 Termination Call建立中的重点分析
3.1、MCC Main中CC的构成
MCC Main结构上包含MDM, MHM, IO&UM三部分:
MDM —— 消息分发模块,负责接收各模块发来的消息,进行处理
MHM —— 处理消息,包括下图的子模块
IO&UM —— 是输入输出和工具模块,是一个处理库,由MHM调用。
CC模块的处理函数罗列如下:
从上面的函数库中可以发现流程解释表中的一些命令。
3.2、MCC Call分析
3.2.1 概述
MCC Call总体功能是执行CDMA2000系统的呼叫控制和媒体接入过程,与MCC中其他模块的架构一致,MCC中包含了MDM, SMM, MHM, IO&UM四部分:
a) MDM
接收其他模块来的消息,按来源分发,消息来源共有:CSMH、ACC、AMC、BRC、TCC、MCC Main、Mrc,几乎囊括了所有的BSS软件模块。
之所以MCC Call接到的消息特别多,是因为Call在呼叫建立时,有指挥资源分配、话路建立的功能,收到的回应消息也特别多,因此,消息来源多。
b) SMM
本模块非常重要,将在后文详细叙述
c) MHM
消息处理模块,原文档中描述不多,大体分为几个子处理任务:
l MccCall_MHM_Origination
l MccCall_MHM_Page_Rsp
l MccCall_MHM_Assignment_Req
l MccCall_MHM_Resc_Alloc_Req
l MccCall_MHM_Resc_Assignment_Req
还有一些,这里不罗列了。
d) IO&UM
l MccCall_Rx_Origination
l MccCall_Rx_Page_Rsp
l MccCall_Rx_Assignment_Req
l MccCall_Rx_Resc_Alloc_Req
l MccCall_Tx_CM_Service_Req
l MccCall_Tx_Paging_Rsp
l MccCall_Tx_Resc_Assignment_Req
l MccCall_Tx_Linked_Assigned
l MccUtil_HandoffTypeDecision
l MccUtil_ActiveSetUpdate
IO&UM主要是为MDM和MHM服务的,受上面的两个模块调用。
3.2.2 SMM详解
消息分发模块MDM调用SMM State Handler Function中与当前呼叫相关的函数,并将消息作为参数传递给函数。SMM模块就检查MsgID,看这条消息是否可以在当前状态下的State Handler Function运行下去。如果可以,该函数就调用MHM继续处理,否则函数返回。MHM将调用Rx模块中的函数检验消息的有效性,如有效,就更新DB(Control Block),如果必要的话,调用Tx中的函数发出回应消息。这样,如果消息解释,DB更新和回应消息的工作都成功完成了,那么MHM的函数就将State Transaction value返回给SMM State Handler Function,SMM State Handler Function把该值作为结果值,并执行State Transaction,返回结果给MDM。
SMM中包含有三个Handler,分别是
l Main Call State Handler
l Service Nego Handler
l Handoff State Handler
他们对应了Call的三个主要的任务。
当消息调用进入SMM时,Main Call State handler总是被首先调用的,如果此时是一般的呼叫处理,就可以直接调MHM模块了,但是如果消息是有关服务协商和切换的处理,状态处理器就要发生互相调用,Handoff State Handler和Service Nego Handler将被作为子状态处理器而被调用,验证消息的有效性,一旦有效,就将调用MHM中相关的函数来处理,否则简单返回。
由于SMM中完全依靠函数的调用和返回,如果某一个函数调用因某种原因挂起,就可能导致整个MCC Call模块的停止。
This is called by patch unit of MDM. In case of call processing related to ServiceNego or hand off except Normal Call Processing, calls are made even between state handlers. If validation of the message delivered as function element is proved, it calls message handler mapped to message ID.
each State Handler calls message handler of each message if it receives processable message ID. SMM Interface is Function Call/Return. If execution stops or processing suspends even on a point of continuous function call, there may take place a problem that processing all calls by MccCall may be stopped.
In SMM module, in case main call state handler is in normal call processing,
It directly calls message handler and processes messages, and in other cases, it regards them as sub state handling; it passes the messages related to hand off over to hand off state handler, and the messages related to service nego over to ServiceNego Handler. There exist units by state handlers in the main call state handler. If they are directly delivered to state handler from MDM according to call state values, the unit function mapped to the messages is called and processed.
3.3、ACC中CC子模块
CC模块主管Voice Call和Packet Call的建立和释放,是ACC的最主要模块。
CC Module takes charge of setup and release of Voice Call or Packet Call, and plays the role of main module of ACC block.
Function:
l This performs the function of setup and release of voice receiving call.
l It carries out the function of setup and release of originating and receiving calls.
l It performs the function of setup and release of line originating/receiving calls.
CC的核心问题是呼叫状态的转换,如下图:
The internal states of CC Module include the following 6 states including NULL state:
1) NULL STATE
2) RESC ALLOC WAIT STATE
—— waiting for decision of resources of Vocoder or Channel element.
3) MS CONNECT WAIT STATE
—— transmitting/receiving signaling message to/from terminal. Link status message is communicated and information of handoff and control can be received.
4) IN TRAFFIC STATE
—— In this state, terminal is really calling through traffic channel. In this state, CC Module, in order to conduct service negotiation, performs the role of starting SOC Module.
—— In case of SO Connection report and voice call, it conducts alerting processing work..
—— It keeps this state until release request is made. Operation of other modules in ACC block is possible after CC Module is transferred to this state.
5) RELEASE STATE
—— Taking charge of call release process. In call release process, ACC block plays a role of releasing terminal.
6) ABNORMAL STATE
—— In case of Timer expire or Msg return_code Fail, transfer to this state, then it waits for PILCF_DELETE for changing back to NULL STATE.
下表中,主要解释了ACC的CC子模块在各个状态下的任务及状态转换情况。
其中Flow NO.主要是对应了示例的IPC flow,如果没有对应就空者。
Flow NO.
状态
接收消息
Function/Fail Reason
发送消息
转换状态
NULL STATE
PLICF_Create(fail)
PLICF Created fail, cannot transmit to RESC ALLOC WAIT STATE
NULL STATE
NULL STATE
If no idle Call Control Block in ACC Operation Information Data exists and can be bound to Call ID transmitted by MCC, send this msg to MCC.
Resc_Allocate_Req_AccMcc (fail)
NULL STATE
(7)
(8)
NULL STATE
PLICF_Create(success)
l Select idle Call Control Block in ACC Operation Information Data exists and bind it to Call ID transmitted by MCC
l Store the information on service option requested by terminal and the information on general things related to service option and the present active leg in the Call Control Block.
l Store the Handoff Parameter and Neighbor List received from MCC in Handoff DB of ACC Job Blk.
Structure of Neighbor List has PN-offset values of the neighbor base stations of the pertinent base station. The maximum quantity is limited to 20 EA. The parameters related to Handoff are values used to transmit in-traffic system parameter message.
l As MCC block uses other mailbox by each call, store Mailbox ID of MCC block in the Call Control Block.
l requests resource allocation to MCC Call.
Resc_ Alloc _Req_AccMcc
RESC ALLOC WAIT STATE
(19)
(20)
RESC ALLOC WAIT STATE
Resc_Allocate_Conf_MccAcc
(successful)
l information on allotted resource is stored
l Store Vocoder ID for Voice Call, and RMAC ID for Packet Call.
l Store Granted Mode with Service negotiation. (Granted Mode的定义见规范或原文)
l Store information on alloted TCE. If there are several TCE allotted, store all of them, and keep TCE processing reference pilot. TCE information includes TCE mode (FCH/DCCH/SCH), TCE_ID, TCE MBOX_ID etc.
l Keep the information on pilot where allotted TCE will be used. Information on Pilot doesn’t deliver the sector where access is received on, but transmits information on all sectors of the base station to which the sector belongs because ACC should take charge of Softer handoff independently.
BS_Ack_Order(to terminal)
MS CONNECT WAIT STATE
RESC ALLOC WAIT STATE
Resc_Allocate_Conf_MccAcc
(fail)
l Wait for PLICF_DELETE
ABNORMAL STATE
Resc_Allocate_Conf_MccAcc
(Timer Expired)
l Clear the Call Control Block value, change it to IDLE, deliver Release_Req to MCC, transmit Release_ Order to terminal.
Resc_Allocate_Conf_MccAcc
(Msg Checking Fail)
l Discard the message and clear Call Control Blcok value, thereby changing to IDLE. Deliver Release_Req to MCC and transmit Release_Order to terminal,
(21)
(22)
MS CONNECT WAIT STATE
MS_ACK_ORDER(from terminal)
(successful)
Start the power control function
Power_Control_Start_Req_AccTcc(Voice Call) Or Power_Control_Start_Req_AccAmc(Packet Call)
IN TRAFFIC STATE
RESC ALLOC WAIT STATE
MS_Ack_Order
(Timer Expired)
Send Release_ Order to terminal
Send Release_Ind_AccMcc to MCC
ABNORMAL STATE
Release_Req_MccAcc
(While waiting for Ms_Ack_Order)
Send Release_Order to terminal
Send Release_Conf to MCC
(23)
IN TRAFFIC STATE
Power_Control_Start_Conf_TccAcc (Voice Call)
Or Power_ Control_Start_Conf_ AmcAcc(Packet Call)
CC Module starts SOC Module so that this Service Negotiation may carry out Service Option Negotiation.
IN TRAFFIC STATE
IN TRAFFIC STATE
Msg Notified of completion of Service negotitation/Service Option Negotiation from SOC Module
In case of Voice Call, transfer SO_Connected_ AccMcc to MCC. In case of Packet Call, SO_Connected_AccMcc to MCC, and SO_Connected_ AccAmc to AMC.
IN TRAFFIC STATE
IN TRAFFIC STATE
Power_Control_Start_Conf_TccAcc Or Power_ Control_Start_Conf_ AmcAcc
(Timer Expired)
Transmit Release_Ind_AccMcc to MCC
Transmit Release_Order to terminal
ABNORMAL STATE
Power_Control_Start_Conf_TccAcc Or Power_ Control_Start_Conf_ AmcAcc
(fail)
Transmit Release_Ind_AccMcc to MCC
Transmit Release_Order to terminal
IN TRAFFIC STATE
Release Order(Terminal)
transfer Release_Ind_AccMcc to MCC
RELEASE WAIT STATE
Release_Req_MccAcc
transmits Release_ Order to terminal
transfer Release_Conf_AccMcc to MCC block,
IN TRAFFIC STATE
PLICF_Delete_MccAcc
clear Call Control Block
NULL STATE
RELEASE WAIT STATE
Release_Rsp_MccA
展开阅读全文