软交换呼叫中心网络是一个开放的、多协议的体系,软交换呼叫中心设备、媒体网关、信令网关.、终端之间采用标准协议进行通信,软交换呼叫中心体系的协议包括:
图2-27 呼叫建立流程
√ 媒体控制协议:H.248,MGCP、SIP等;
√ 呼叫控制协议:ISUP、TUP、BICC、PRI、BRI、V5.2、H.323等;
√ 传输控制协议:SCTP、UDP、TCP、M3UA等;
√ 业务应用协议:Parlay,JAIN、INAP、CAMEL、MAP、RADIUS等;
√ 维护管理协议:SNMP,Corba、COPS等。
在组网中,关键的协议包括软交换呼叫中心之间互通的SIP、与PSTN互通的SIGTRAN协议以及媒体网关控制协议。
2.6.1-2.6.3节对这三种主要协议分别进行介绍。
2.6.1媒体网关控制协议
H.323协议体系是为定义IP网络和PSTN互通的网关功能而出现的,在早期的H.323体系中,网关功能复杂,不但要执行媒体格式变换,控制网关的内部资源,为每个呼叫建立网关内部的话音通路,还要进行信令转换,执行ISDN信令和H.323的互通。
为解决H.323体系中协议转换复杂,使用户接入数受限,且协议转换不能完全继承PSTN/ISDN丰富业务功能等问题,提出了网关分离的概念,即将控制功能和媒体转换功能分离,分别封装在媒体网关控制器和网关之中。媒体网关和媒体网关控制器的功能如下:
(1)媒体网关(MG)负责媒体格式变换以及PSTN和IP两侧通路的连接。
(2)媒体网关控制器(MGC)负责根据收到的信令控制媒体网关的连接建立和释放,完成基于状态机的控制。MGC对信令消息进行分析和处理,并进行应用层的互通变换。
在这种分离式网关结构中,MGC要执行对网关MG的控制功能,它是一个独立的实体,该实体可有不同的名称,如呼叫代理、呼叫服务器、软交换呼叫中心机等。MGC和MG之间必须依靠一种主从控制协议来实现接口,这就是网关控制协议,相关组织定义了多种网关控制协议。而MGCP和H.248协议是其中主要两种。
两个协议相比,H.248协议加入了电信级设备的考虑因素,反映在协议的术语、功能都更为丰富、灵活,有更完善的体系架构和更强的扩展机制,媒体网关控制器对媒体网关有更强的控制管理能力。
H.248协议和MGCP都属于主从控制协议,用于媒体网关控制器控制媒体网关建立、拆除媒体连接,进行媒体转换、产生呼叫过程中的各种信号和处理各种呼叫相关的事件等,从而实现语音等媒体在分组网上传送。
媒体网关控制协议对于软交换呼叫中心体系的分层结构起到了至关重要的作用,使控制层和接入层得以分离,软交换呼叫中心设备和网关设备之间依靠网关控制协议紧密联系,实现业务接入和呼叫控制。软交换呼叫中心体系的网关设备主要有接入网关(AG)、中继网关(TG)、综合接入设备(IAD)和媒体资源服务器(MS),都通过网关控制协议和软交换呼叫中心设备接口。目前网上MGCP的IAD较多,但IAD将来会逐步向H.248协议过渡。
2.6.1.1MGCP
I.相关概念
MGCP主要涉及端点、连接、事件、信号和数字表等概念。
(1)连接模型MGCP连接模型的基本元素是端点(endpoint)和连接(conneticon)。
1) 端点:端点的类型可以是用户线、中继线、录音通知接入点、IVR接入点、会议桥接入点等。端点的标识分两部分,格式为
local-endpoint-name @ domain-name
网关域名 端点在网关内的名称
端点的标识可以引入通配符“*”或“$”,"*”代表所有符合指定条件的端点,“$”表示从符合相关条件的端点中任选一个。
2) 连接:连接由软交换呼叫中心凛体网关控制器基于端点控制建立,由网关为每个连接分配惟—的一个连接标识(ConnectionlD),为16进制字符串。ConnectionlD在使用时,按“3min原则”,即在某一个端点使用完某个ConnectionlD后,在至少3min内,在该端点上不辨为其他连接分配该ConnectionlD。
与连接相关联的属性之一是呼叫标识符(CalllD),与ConnectionlD不同的是,呼叫标识符由呼叫代理创建,呼叫标识符同样也要求在系统内的惟一性,至少在网关所从属的呼叫代理集合中是惟一的。在同一个呼叫中,所有的连接共享同一个呼叫标识符。
(2)其他相关概念
1)事件和信号:在MGCP的呼叫控制过程中,事件(Events)和信号(Signals)是非常重要的概念,这两个概念的意义和作用和H.248协议中的事件和信号基本相似。连接构成了MGCP中的呼叫,而对呼叫流向的控制是通过对端点和连接上的事件进行检测和判别,指示端点应该向用户发送或中止何种信号。大多数情况下,事件发生在端点上,但在视频会议的应用中,有时候会需要向不同的连接发送不同的待检测事件。
在MGCP中,事件和信号被定义在包(Package)中。
2)包(Package):MGCP同样采用包的概念来实现功能的扩展,可以对包括事件、信号、承载参数、原因码等一系列特性进行扩展。协议里给出了10个基本包:Generic Media Packageo DTMF Package、MFPackage、TrunkPackage、LinePackage、HandsetemulationPackage、RTPPackage,NetworkAccessServerPackage>AnnoucementServerPackage和ScriptPackage.
3) 数字表(Digitmap):MGCP和H.248—样采用数字表来提高收号的效率。数字串是根据网络编号计划确定的所有可能的被叫号码形式。
2.已命令
MGCP一共定义了9个基本命令:
(1) EndpointConfiguration(EPCF)
1)发送方向:软交换呼叫中心至网关设备。
2)命令功能:用于规定端点所收信号的编码方式。
(2) NotificationRequest(RQNT)
1)发送方向:软交换呼叫中心至网关设备。
2)命令功能:用于命令网关对指定端点上发生的事件进行监视/报告。
3)应用示例:软交换呼叫中心通过此命令要求网关设备对端点(用户线)上的摘机挂机事件进行监视,一旦用户线摘机挂机事件发生,网关设备通过Notify消息通知软交换呼叫中心。
(3) Notify(NTFY)
1)发送方向:网关至软交换呼叫中心设备。
2)命令功能:当被要求检测的事件发生时,网关用本命令上报软交换呼叫中心。
3)应用示例:当软交换呼叫中心通过NotificationRequest命令要求网关设备监视的事件发生后,网关设备通过本命令通知软交换呼叫中心设备。
(4) CreateConnection(CRCX)
1)发送方向:软交换呼叫中心至网关设备。
2)命令功能:用于命令网关对指定端点创建通话所需要的连接。
3)应用示例:软交换呼叫中心设备通过本命令要求网关设备为端点(包括用户线、中继线等)和收端网关的分组侧端口之间建立连接。
(5) ModifyConnection(MDCX)
1)发送方向:软交换呼叫中心至网关设备。
2)命令功能:用于改变连接特征,如修改分组侧的收发模式等。
3)应用示例:软交换呼叫中心设备通过本命令要求网关设备修改连接的端点收发模式,发端网关在建立连接时采用分组侧只收不发的模式,在软交换呼叫中心得到对端网关的SDP信息后,通过此命令把连接的分组侧收发模式改为双向。
(6) DeleteConnection(DLCX)
1)发送方向:软交换呼叫中心至网关设备或相反。
2)命令功能:用于删除连接。可以由软交换呼叫中心发出,也可以由网关发出。该命令有三种应用形式。
3)应用1:由软交换呼叫中心发向网关。
删除指定连接,返回删除后的统计值,如收包数、发包数等。
4)应用2:由网关发向软交换呼叫中心。
如果端点丢失与连接相关的资源或者不能进行媒体流的收发时可以向软交换呼叫中心发出DeleteConnection命令来删除连接。
5)应用3:由软交换呼叫中心发出同时删除多点连接。
用DeleteConnection命令可以同时删除对应同一CaUID的多个连接,也可以用来删除对应某个端点的所有连接。
(7) AuditEndpoint(AUED)
1)发送方向:软交换呼叫中心至网关设备。
2)命令功能:用于查询端点状态(status)。
3)应用示例:网关上电或重新向软交换呼叫中心注册后,软交换呼叫中心可通过发送此命令查询网关内端点的状态。
(8)AuditConnection(AUCX)
1)发送方向:软交换呼叫中心至网关设备。
2)命令功能:用于获取某个连接的相关参数。
3)应用示例:网关中的连接建立后,软交换呼叫中心可以通过此命令获取指定连接的相关参数。
(9)RestartInProgress(RSIP)
(9)RestartInProgress(RSIP)
1)发送方向:网关至软交换呼叫中心设备。
2)命令功能:通知软交换呼叫中心某个或若干个端点即将退出服务或进入服务。其中会告知呼叫代理端点进行重启的方法、时延、原因码等信息。
端点进行重启的方法有5:agraceful”、“forced”、"restart”、,"disconnected"和ucancel-graceful"。
3)应用示例:网关上电重启后,向软交换呼叫中心发送此命令重新向软交换呼叫中心注册。
3.呼叫控制流程示例
现以MG-MG呼叫为例说明利用MGCP建立呼叫的过程,网络结果如图2-26所示,MG1和MG2分别为用户1(主叫用户)和用户2(被叫用户)相连的接入网关设备,aaln/1@mgl.whatever.net和aaln/1@mg2.whatever.net分别是用户1和用户2对应的端点标识。为简单起见,假设它们受同一MGC控制。MG1和MG2与IP网络直接相连。
下面详细举例说明MGCP的呼叫建立及释放过程。
图2-26 呼叫控制l流程网络模型
(1)呼叫建立过程(见图2-27)
图2-27 呼叫建立流程
i.用户1摘机,假设MG1在之前收到过MGC要求其检测摘机事件的RQNT命令,MGI以NTFY命令通知MGC用户1的摘机事件。事件的请求标识(Requeslld)是“445678944”。
ntfy12 aaln/1@mgl.whatever.netmgcp 1.0
o:l/hd
x:445678944
MGC响应:
200 12 ok
ii.MGC向MG1发RQNT命令,下发号码表,请求送拨号音。
rqnt1057aaln/1@mg1.whatever.netmgcp1.0
r:l/hu(n),d/[0-9#*T](d)
s:1/dl
x:445678945
d:5xxx
MG1响应:
200 1057 ok
iii.MG1上报号码。
ntfy13aaln/1@mg1.whatever.netmgcp1.0
o:d/5,d/0,d/0,d/1
x:445678945
MGC响应:
200 13 ok
iv.MGC对MG1送RQNT要求检测挂机事件。事件的请求标识(Requestld)是“445678946”。
rqnt1058aaln/1@mg1.whatever.netmgcp1.0
r:l/hu(n)
x:445678946
MG1响应:
200 1058 ok
v.MGC命令MG1创建连接,规定本地(Local)的打包周期为20ms,编码格式为G711gμ率,分组侧收发模式为只收。
crcx1059aaln/1@mgl.whatever.netmgcp1.0
c:9876543210abcdef
1:p:20,a:PCMU
m:recvonly
MG1响应,建立新连接,连接标识为“456789fedcba5”,接着是空行,空行后是SDP。
200 1059 ok
i:456789fedcba5
i:456789fedcba5
v=0
o=-2345678998765432 IN IP4 192.168.5.7
s=-
c=INIP4192.168.5.7
t=00
m=audio6058 RTP/AVP 0
vi.MGC命令MG2创建连接,在CRCX消息中携带MG1的SDP信息。
crcx2052aaln/1@mg2.whatever.netmgcp1.0
c:9876543210abcdef
1:p:20,a:PCMU
m:sendrecv
v=0
o=-2345678998765432INIP4192.168.5.7
s=-
c=INIP4192.168.5.7
t=00
m=audio6058RTP/AVP0
MG2响应,创建连接,连接标识为“67890af54c9”,接着是空行,空行后是SDP。
200 2052 ok
i:67890af54c9
i:67890af54c9
v=0
o=-2345688998865432INIP4192.168.5.8
s=-
c=INIP4 192.168.5.8
t=00
m=audio6166RTP/AVP 0
vii.MGC向MG1发MDCX命令修改连接w456789fedcba5w,把被叫侧(MG2)的SDP带给MGl。
mdcx1060aaln/1@mgl.whatever.netmgcp1.0
c:98765432lOabcdef
i:456789fedcba5
c:98765432lOabcdef
i:456789fedcba5
1:p:20,a:PCMU
M:recvonly
v=0
o=-2345688998865432 IN IP4 192,168.5.8
s=-
c=INIP4192.168.5.8
t=00
m=audio6166RTP/AVP0
MG1响应:
200 1060 ok
200 1060 ok
viii.MGC发RQNT命令MG1对用户1放回铃音,检测挂机事件。
rqnt1061aaln/1@mgLwhatever.netmgcp 1.0
r:l/hu(n)
s:g/rt
x:445678947
s:g/rt
x:445678947
MG1响应:
200 1061 ok
200 1061 ok
ix.MGC发RQNT命令MG2对用户2振铃,检测摘机事件。
rqnt2053aaln/1@mg2.whatever.netmgcp1.0
r:l/hd(n)
s:1/rg
x:445678948
MG2响应:
200 2053 ok
200 2053 ok
x.用户2摘机,MG2上报MGC。
ntfy27aaln/1@mg2.whatever.netmgcp1.0
o:1/hd
x:445678948
o:1/hd
x:445678948
MGC响应:
200 27 ok
xi.MGC发RQNT命令MG2检测挂机事件。
rqnt2054aaln/1@mg2.whatever.netmgcp1.0
r:l/hu(n)
x:445678949
r:l/hu(n)
x:445678949
MG2响应:
200 2054 ok
xii.MGC发RQNT命令MG1检测挂机事件。
rqnt 1062 aaln/1@mgl.whatever.netmgcp1.0
r:l/hu(n)
x:445678950
r:l/hu(n)
x:445678950
MG1响应:
200 1062 ok
xiii.MGC发MDCX命令修改MG1的连接,将分组侧的收发模式改为双向。通话建立。
mdcx1063aaln/1@mgl.whatever.netmgq>1.0
c:9876543210abcdef
i:456789fedcba5
m:sendrecv
MG1响应:
200 1063 ok
(2)呼叫释放过程(见图2.28)
图2・28呼叫释放流程
i.用户2挂机,MG2上报MGC0
ntfy28 aaln/1@mg2.whatever.netmgcp1.0
o:1/hu
x:445678949
MGC响应:
200 28 ok
ii.MGC命令MG2删除连接。
dlcx2055aaln/1@mg1.whatever.netmgcp1.0
c:9876543210abcdef
c:9876543210abcdef
i:67890af54c9
MG2响应250,表示连接已删除。
250 2055 ok
iii.MGC命令MG1删除连接。
dlcx1064aaln/1@mgl.whatever.netmgq)1.0
c:9876543210abcdef
i:456789fedcba5
MG1响应250,表示连接已删除:
250 1064 ok
iv.MGC向MG2发RQNT命令要求检测挂机事件。
rqnt2056aaln/1@mg2.whatever.netmgcp1.0
r:l/hd(n)
x:445678951
MG2响应:
200 2056 ok
v.用户1挂机,MG1上报。
ntfy15aaln/1@mg1.whatever.netmgcp1.0
o:1/hu
x:445678950
MGC响应:
200 15 ok
vi.MGC命令MG1检测摘机事件.
rqnt1065aaln/1@mgLwhatever.netmgcp1.0
r:l/hd(n)
x:445678952
MG1响应:
200 1065 ok