本文来源于:http://hi.baidu.com/sunwater007/blog/item/1892bbec26e5dd4478f05593.html
1. ISUP 作用
ISUP 提供了TUP 所提供的所有功能,同时针对ISDN 又扩展了一部分功能,所以现在基本上是使用ISUP 作为Call 控制协议。
ISUP 主要提供以下功能:
- Speech
- Fax
- 3.1k audio
- 64k preferred
- 64k unrestricted (?)
- Suspend and resume
- Access delivery information (?)
- Fallback capability (?)
- And so on.
ISUP 提供的对扩展业务支持的信令包括:
- Call forwarding on busy ( 呼叫忙转移)
- Call forwarding on no reply (呼叫无人应答转移)
- Call waiting (呼叫等待)
- Calling line identity, presentation, and restriction (?)
- Closed user group (?)
- Conference calling ( 电话会议)
- User-to-user signaling, ( 端到端信令)
- And so on.
图1-ISUP 功能层次图
在图中,蓝色模块是ISUP 里必须有的:
- ISUP protocol
- Call control interface
- MTP interface
- Device management and control
而还有一部分是可选部分,包括:
- User part screening
- Disturbance supervision and recording
- Unrecognized signaling information handling
- ISUP monitor
2. ISUP 的信令
ISUP 的信令主要分为两部分,1 )call 相关的信令,如承载,通信,扩展业务,如call 的建立与拆除等;2)trunk 的维护与管理部分,如电路的闭塞与解闭等。
2.1 Call 相关的信令
- To provide all exchanges involved with the information necessary for routing the call within the network.
- To allocate and through-connect a circuit used for a call.
- To deliver the information about the type of the connection to the B-subscriber.
- To monitor the call set-up.
图2-ISUP 信令在Call 建立与拆除中的用法
2.2 维护与管理电路信令
图3-ISUP 信令在trunk 管理的使用( 闭塞与解闭)
3. ISUP 消息格式
ISUP 是建立在MTP3 之上的协议( 也有一部分建立在sccp 之上提供端对端通信,此处暂不讨论). 所以ISUP 消息封装在MTP3 消息里的SIF 域里.
图4-ISUP 消息Overview
ISUP information is carried in the service information field (SIF) of an MSU. The SIF contains the routing label followed by a 14-bit (ANSI) or 12-bit (ITU) circuit identification code (CIC). The CIC indicates the trunk circuit reserved by the originating switch to carry the call.
The CIC is followed by the message type field - IAM, ACM, ANM, REL, RLC - which defines the contents of the remainder of the message.
Each ISUP message contains a mandatory part that includes fixed-length parameters. Sometimes the mandatory fixed part is comprised only of the message type field.
The mandatory fixed part may be followed by a mandatory variable part and/or an optional part. The optional part contains parameters which are identified by a one-octet parameter code followed by a length indicator ("octets to follow") field.
图5-ISUP 消息格式(ANSI 和ITU 两种)
4. Example: ISUP Call 建立与拆除过程
结合上述的MTP2,MTP3 的介绍,我们来看一下一个最普通的ISUP Call 的建立过程。由于TUP 的Call 建立和ISUP Call 建立过程类似,所以这里省略。
在下图中,W ,X 分别是交换机A ,B 的STP ,红色的是电话线,绿色代表承载语音的trunk ,蓝色的线代表承载信令的Link 。需要提醒的是交换机与终端之间的消息并不属于ISUP 消息。
(注释:Trunk 和Link 的区别仅仅是使用用途,而和底层物理介质无关。比如一个E1 的32 个时隙中第16 个时隙是作为传信令的,那么这个时隙就叫Link ,而1-14,16-31 这三十条走语音的都叫trunk 。)
图6-ISUP Call 建立与释放过程
- 当交换机A 侦测到终端电话摘机 (Off-Hook) ,就放出拨号音(Dial Tone) ,告知可以拨号,并启动收号程序,当用户一旦拨号(Digits) 完成,交换机作B-number 分析,确定被叫端的目的地址为B.
- 交换机A 选择一条A 与B 之间空闲的Trunk ,其CIC 编号为10 ,然后交换机便生成一条IAM 消息,里面包含了被叫号码,主叫号码,DPC ,OPC ,CIC 以及其他信息。IAM 消息是建立一个Call 的第一条消息,IAM 消息格式如下图所示:
图7-ISUP IAM 格式
- 然后交换机A 选择本地的STP W 用来路由转发IAM 消息到交换机B.
- STP W 接受到IAM 消息后,检查路由标签里的DPC ,然后它根据自己的路由表查找,得知转发给交换机B.
- 交换机B 收到IAM 消息后,查看被叫号码,并得到被叫处于Idle 状态。然后就发送“Setup” 指令给被叫.
- 被叫回“Alerting” 消息给交换机B ,然后交换机B 便生成ACM (Addressing Complete Message) 消息给主叫,表明成功地找到被叫。ACM 里包含有路由标签,以及CIC ,这里的CIC 是之前由交换机A 选择好的编号为10 的trunk.
图8-ISUP ACM 消息格式
- 交换机B 将ACM 消息交给本地STP X ,同时交换机B 通过CIC 的trunk 放回铃音,并让被叫振铃.
- 然后X 同样检查ACM 消息,根据路由标签,并根据自己的路由表决定转发给交换机A.
- 交换机X 收到ACM 消息后,就让主叫与选择的CIC=10 的trunk 连通,这样主叫便能听到被叫的振铃音.
- 被叫摘机,交换机B 生成ANM ,通知主叫被叫已经摘机。ANM 消息格式与ACM 消息格式类似。略。
- 交换机B 将ANM 消息并发送给STP X
- STP X 接收到ANM 消息后同样查看路由标签和自己的路由表,并转发此消息给交换机A.
- 交换机A 接收到ANM 消息后,它保证主叫已经正确连接到话路。此时通过进行。
- 假定主叫先挂机,交换机A 生成REL(Release Message) 消息给被叫。REL 消息格式如下
图9-ISUP REL 消息格式
- STP W 接收到REL 消息,转发给交换机B.
- 交换机B 收到REL 消息后,断开被叫的trunk ,并置CIC=10 的状态为Idle. 同时交换机B 生成RLC(Release Complete Message) 回给交换机A ,用来标示被叫端trunk 已经释放。
图10-ISUP RLC 消息格式
- STP X 转发RLC 消息给交换机A.
- 交换机A 收到RLC 消息后,置CIC=10 的trunk 为Idle 状态.