sip协议以及其编码标准

IP电话、传真业务总体技术要求

前 言

本标准对不同IP电话运营者之间的互通、IP电话的网络体系结构、协议、编号、网络性能等多方面内容作出了明确规定。

从国际标准化的符合程度和互通方面考虑,目前我国IP电话/传真网的建设应以ITU-T H. 323 建议为基础。本标准主要参照见H.323v2 随着VoIP技术的不断发展.需要对本标准进行补充和完善。

IP电话业务包括电话到电话、 PC到电话、电话到PC和 PC 和PC,本标准对电话到电话和 PC到电话作了明确的规定,电话到PC的业务有待进一步研究,故仅对编号作了规定,PC到PC业务不属于本标准规定的范畴。 IP实时传真业务(简称 IP传真)包括传真机到传真机、IAF(Internet Aware Fax) 到传真机、传真机 到 IAF和 IAF到 IAF 4种,目前只开放传真机到传真机的业务。

本标准为我国IP电话/传真网络的规划、设备研制、工程设计和运营维护提供技术依据。

本标准的附录A为标准的附录。

本标准由信息产业部电信研究院提出并归口。

本标准起草单位:信息产业部电信传输研究所

深圳市华为技术有限公司

上海贝尔有限公司

本标准主要起草人:蒋林涛 叶冠华 叶华 陈忠 杨昆 沈群 谢玮

1 范围

本标准规定了开展IP电话/传真业务的网络体系结构、协议、编号、计费、用户认证、地址解析、网络性能和不同运营者的IP电话之间的互通等要求。

本标准适用于国内IP电话/传真网络的规划、设备研制、工程设计和运营维护。

2 引用标准

下列标准所包含的条文,通过在本标准中引用而构成为本标准的条文。在标准出版时,所示版本均为有效。所有标准都会被修订,使用本标准的各方应探讨使用下列标准最新版本的可能性。

ITU- T H.323:1998 用于提供不保证质量的业务本地网上的可视电话系统和终端设备

ITU- T H.225.0: 1998用于不保证质量的业务本地网上的可视电话系统的媒体流的打包与同步

ITU-TH245:1998 多媒体通信的控制协议

RFC2138:1997 RADIUS协议

RFC2139:1997 RADIUS计费协议

ITU-T T.30:1998 文件传真在公用电话交换网上的传输规程

ITU- T T.38:1998 三类终端间通过 IP网络的实时通信的规程

TU-T G.711:1988 话音频率的脉冲编码调制

ITU- T G729:1996 运用共轭结构代数码线形预测激励的 8kbit/s语音编码

ITU-T G.728:1992 采用线形预测激励的低时延码在 16kbit/s速率上的语音编码

ITU-T G.723.1:1996 以5.3kbit/s和6.3kbit/s 为速率的多媒体通信的双速语音编码器

3 定义

本标准采用下列定义:

IP电话(IP Telephony):在 IP网上传送的具有一定服务质量的语音业务。

IP实时传真业务(IP Fax):在 IP网上传送的具有一定服务质量的实时传真业务

网关(Gateway):网关是IP电话网的接入设备,它位于电路交换网与IP网之间,为用户提供IP电话业务。 网守( Gatekeeper):网守是提供地址解析和接入认证的设备。

RADIUS:网守与认证和计费中心之间授权( Authorization)、认证( Authentication)和计费(Accounting)的标准协议。

SNMP(Simple Network Management protocol):是 IP网络的网络管理的标准协议。

4 缩略语

本标准使用下列缩略语。

GW Gateway 网关

GK Gatekeeper 网守

IAF Internet Aware Fax 能直接连在 IP网上的三类传真机

IFP InternetFacsimile Protocol IP传真协议

UDPTL UDP Transport Layer UDP传送层

RRQ Registration Request 注册请求

RCF Registration Confirm 注册确认

RRJ Registration Reject 拒绝注册

URQ Unregistration Request 注销请求

UCF Unregistration Confirm 注销确认

URJ Unregistration Reject 注销拒绝

ARQ Adrmission Request 接入请求

ACF Admission Confirm 接入确认

Am Adndssion Reject 接入拒绝

BRQ Bandwidth Request 带宽请求

BCF Bandwidth Confirm 带宽确认

BRJ Bandwidth Reject 带宽请求拒绝

DCF Dlsengase Confirm 退出确认

DRJ DisengageReject 退出拒绝

RRQ Disengage Request 退出请求

RIP Request in Progress 进展请求

IRQ InfoRequest 信息查询

IRR InfoRequest Response 信息查询响应

LACK InfoRequestAck 信息查询确认

INAK InfoRequestNak 信息查询否认

RAI Resource Availability Indication 资源可用性指示

RAC Resources Available Confirmation 资源可用性确认

TCS Tenminal Capacitv Set 终端能力集

TCS Terminal Capacity Set Acknowledge 终端能力集确认

TCSR Terminal Capacity Set Reject 终端能力集拒绝

OLC Open Logical Channel 打开逻辑通道

OLCA Open Logical Channel Acknowledge 打开逻辑通道确认

OLCR Open Logical Channel Reject 打开逻辑通道拒绝

CLC Close Logical Channel 关闭逻辑通道

CLCA Close Logical Channel Acknowledse 关闭逻辑确认

CLCR Close Logical Channel Reject 关闭逻辑通道拒绝

ESC End Session Command 结束会话命令

5 IP电话/传真业务

5.1 IP电话业务

根据IP电话的记帐方式,IP电话分为两种:记帐卡方式的IP电话和主叫号码方式的IP电话。

记帐卡方式IP电话允许用户在任何一部DTMF电话机、PC机或数字移动终端上进行电话呼叫,并把费用记在规定的帐号上。使用记帐卡方式的用户必须有一个唯一的个人卡号(Card Number)。用户使用本项业务时,按规定输入接入码、卡号和密码。当网络对输入的卡号和密码进行确认且向用户发出确认指示后,持卡用户可像正常通话一样拨打被叫用户号码进行呼叫。

主叫号码方式IP电话允许用户在任何一部已经申请该业务的电话机上进行电话呼叫,并根据主叫号码进行计费。使用主叫号码方式IP电话业务的用户必须提前到电信业务受理部门申请。用户使用该业务时可以按规定直接输入接入码和被叫用户的电话号码;也可以按规定直接输入接入码,当网络对主叫号码进行确认且向用户发出确认指示后,可像正常通话一样拨打被叫用户号码进行呼叫。

5.2 IP(实时)传真业务

根据业务的计费方式,IP传真业务分为两种:记帐卡方式的IP传真和主叫号码方式的IP传真。

记帐卡方式IP传真允许用户在任何一部G3传真机上进行传真呼叫,并把费用记在规定的帐号上。使用记帐卡方式的用户必须有一个唯一的个人卡号(Card Number)。用户使用本项业务时,按规定输入接入码、卡号和密码。当网络对输入的卡号和密码进行确认且向用户发出确认指示后,持卡用户可像正常传真通信一样拨打被叫传真号码进行通信。

主叫号码方式IP传真允许用户在任何一部已经申请该业务的传真机上进行传真呼叫,并根据主叫号码进行计费。使用主叫号码方式IP传真业务的用户必须提前到电信业务受理部门申请。用户使用该业务时可以按规定直接输入接入码和被叫用户的号码;也可以按规定输入接入码,当网络对主叫号码进行确认且向用户发出确认指示后,可像正常传真通信一样拨打被叫传真号码进行通信。

6 IP电话/传真网的网络体系结构及网络组织

6.1 概述

我国IP电话/传真网总体框架见图1,主要包括IP承载网络、IP电话网关、IP电话网络的管理设备(如网守、计费/认证中心等)和传统电路交换网的接入部分。

6.2 IP电话传真网的网络体系结构

IP电话/传真网采用两级体系结构,见图2,即顶级网守和一级网守。在业务量大的地区可根据需要再增加第三级结构,即二级网守。

其中顶级网守云可以包含多个顶级网守。顶级网守之间的连接、一级网守与顶级网守之间的连接以及不同运营者之间的连接由各运营者根据各自的情况自行确定其具体的连接方式。当IP电话运营者的网络规模不是很大时,顶级网守的功能可由其中一个一级网守完成。

6.2.1顶级网守的主要功能

顶级网守负责管理属于该运营者的所有一级网守,主要负责一级网守之间的地址解析;完成不同运营者IP电话/传真网之间的互通和地址交换;负责管理国际业务,即国际呼叫的建立与拆除均需经过顶级网守。

6.2.2一级网守的主要功能

一级网守主要负责管理该一级网守所管辖的全部二级网守间的地址解析工作。在两级网的情况下,二级网守的功能全部归入一级网守。

6.2.3二级网守的主要功能

二级网守所管辖范围称为一个区域,二级网守主要负责所属区域内用户的地址解析和认证,防止非法用户的接入和非法网关的登记;负责向所属网关提供路由信息,包括被叫网关的端口信息等;负责完成PC到电话业务的呼叫建立、释放和计费信息的采集。

6.3 IP电话/传真系统的参考模型

IP电话/传真系统的组成单元主要包括网关、网守、计费中心和结算中心。

参考点A:H.323终端或网关与最低级网守间的参考点,采用RAS协议,主要完成终端用户的地址解析和认证信

息的传送。

参考点B:H.323终端或网关与H.323终端或网关间的参考点,采用H.225和H.245协议,主要完成用户之间的呼叫建立、释放和语音流传送等功能。

参考点C:计费/认证中心之间的参考点,采用RADIUS协议,主要传送漫游用户的计费/认证信息。 参考点D:本级网守与上一级网守间的参考点,采用RAS协议,主要传送用户地址解析信息。

参考点E:网关与电路交换网间的参考点,可采用ISUP、TUP、DSSI以及中国1 号信令,完成至电路交换网的呼叫或接收来自电路交换网的呼叫。

参考点F:本级网守与本级计费/认证中心间的参考点,采用RADIUS协议,向计费/认证中心传送计费采集信息和认证信息。

参考点G:计费中心与结算中心间的参考点,传送结算信息。

参考点H:本级结算中心与上一级结算中心间的参考点,传送不同区域之间的结算信息。

参考点I:受理终端与计费/认证中心间的参考点,传送用户的注册、修改和注销等信息。

6.3 PSTN/ISDN侧的网络组织

原则上,我国IP电话业务应实现IP电话来、去话全覆盖,即未设置IP电话网关地区的用户能够接收来自IP电话网的呼叫,也能拨打IP电话,进行IP电话呼叫。

目前,IP电话/传真网应能够与现有的PSTN、 ISDN和GSM互通,其接口信令优选NO.7 ISUP信令(信令点编码采用24位),在条件不具备的情况下也可采用中国1号或DSSI等其他信令。

6.3.1 PSTN/SDN至IP电话/传真网的网络组织

发端IP电话网关应与网关所在电话本地网内的PSTN/ISDN汇接局间设置直达电路,当某些端局的业务量相对比较大时,也可在端局和网关之间设置直达电路。当该本地网内存在多个汇接局时,可根据话务量大小的情况确定是否需要在所有汇接局与网关之间设置直达路由。

汇接局至网关的连接主要用于疏通网关所在本地网内用户发起的IP电话业务,同时也可以传送其他未设置IP电话网关的本地网用户通过长途电路和市话电路至该网关后所进行的IP电话业务。

终端长途局至网关的连接用于未设置网关的本地网通过长途网接至网关的IP电话业务的疏通。

当网关所在本地网的端局的业务量相对比较大时,可在该端局与网关之间设置直达路由,立即疏通端局的IP电话业务。

6.3.2 IP电话/传真网至PSTN/ISDN的网络组织

终端IP电话网关应与网关所在电话本地网内的PSTN/ISDN汇接局和终端长话局间设置直达电路,也可在端局和网关之间设置直达电路。当该本地网内存在多个汇接局时,可根据话务量大小的情况确定是否需要在所有汇接局与网关之间设置直达路由。

网关至发端长途局的连接的目的是完成IP电话来话全覆盖,传送至未设置网关的本地网用户的IP电话呼叫业务。 网关至汇接局的连接主要完成IP网至网关所在本地网的IP电话业务的疏通,也可以通过汇接局完成IP电话来话全覆盖的功能。

网关至端局的连接的目的是当至网关所在本地网的某个端局的IP电话业务量比较大时能够快速疏通业务,该连接方式也可以完成IP电话来话全覆盖功能。

IP电话网与PSTN/ISDN互通的网络组织涉及到IP电话运营者与PSIN/ISDN网络运营者之间的结算、网络组织、业务量的大小等问题,双方可根据实际情况选择相应的方式进行互通。

6.4 GSM侧的网络组织

从技术成熟度考虑,目前IP电话与GSM的互通采用通过GMSC的方式比较合适,今后能否采用其他互通方式有待进一步研究。IP电话与GSM互通的详细网络组织见图6,网关与网关所在本地网内的GMSC之间设置电路,从而保证来自GSM网的IP电话呼叫立即进入IP网,IP网至移动用户的呼叫立即进入GSM网。

6.5 IP电话国际业务的网络组织

为有效地管理我国IP电话国际业务,国际IP电话来话业务和去话业务(包括协议和信息流)均由顶级网守负责

管理,如认证、呼叫建立和释放等。详细网络组织见图7。开放IP电话国际业务有多种方案,如在国外新建网关、与其他国家合作,利用他国已经建立的IP电话网络开放国际业务、加入国际组织等,IP电话运营者可根据自己的实际情况进行选择。

7 编号

IP电话/传真的业务类型有4种方式:电话/传真到电话/传真、PC到电话/传真、电话/传真到PC和PC到PC。本标准重点考虑前三种方式的编号,本标准对于第四种方式不加讨论,它可以利用IP网的原有机制来完成寻址。

7.1 IP电话业务接入码

根据信息产业部的相关规定,同时考虑到我国IP电话网合出现多个运营者,需要通过接入码区分不同的运营者,因此我国IP电话业务的接入码采用6位编码,具体格式规定如下:179X1、X2、X3。

其中X11X2 X3 可由各运营者向信息产业部申请,各IP电话业务运营者可根据自己业务开放情况,申请一个或多个X1X2 X3 。X1X2X3 可以区分不同运营者,也可以表示一个运营者内的多种业务。

7.2 普通电话/传真用户的编号

当被叫用户为普通电话用户或传真时,被叫用户号码的编号方式与现有电话网用户的编号方式相同,即E.164的编号方式。

7.3 PC用户的编号

有待进一步研究。

7.4 卡号

记帐卡方式的IP电话卡号的编号方式原则上可由IP电话运营者自己确定。本标准推荐以下编号方式。 我国IP电话记帐卡卡号的长度为18位,具体格式如下:

8986X1X2YZ1 Z2 Z3 Z4 Z5 Z6 Z7 Z8 Z9 Z10 Z11

89:电话业务标志。

86:中国国家代码。

X1 X2 :发行机构识别码,以区别不同IP电话运营者。

Y:业务类别码。

Z1 ~Z11:用户个人帐号。其中,Z1~Z3 是地区识别码,具体分配方案由IP电话业务运营者决定。

7.5 拨号程序

7.5.1 记帐卡方式的电话到电话业务

记帐卡方式IP电话的拨号程序如下:

用户拨" 179X1 X2 X3 。

按照录音提示选择提示语言(至少应提供普通话和英文两种选择)。

按录音提示拨卡号。

技录音提示进行密码操作:

1)按提示要求输入自己的密码。

2) 按录音提示拨被叫用户号码。

7.5.2 主叫号码方式电话到电话业务

以:二次拨号为例,主叫号码方式电话到电话的拨号程序如下:

用户拨"179 X1 X2 X3".

按照录音提示选择提示语言(至少应提供普通话和英文两种选择)。

按录音提示拨被叫用户号码。

当主叫用户完成拨号等待被叫应答时,可听到让主叫用户等待的录音通知。

7.5.3 未设置网关地区的用户的拨号程序

以二次拨号为例,主叫号码方式电话到电话的拨号程序如下:

用户拨"0十长途区号十179X1 X2 X3 "。

按照录音提示选择提示语言(至少应提供普通话和英文两种选择)。

按录音提示拨被叫用户号码。

当主叫用户完成拨号等待被叫应答时,可听到让主叫用户等待的录音通知。

8 接入认证和地址解析

8.1 接入认证体系结构

IP电话的接入认证体系包括以下三个部分:网关(GW)、网守(GK)和RADIUS服务器。

参考点A:位于网关和二级网守之间,两者之间的认证过程采用RAS消息。

参考点I: 位于二级网守和二级计费/认证中心之间,两者之间的认证过程采用RADIUS协议。

参考点J:位于二级计费/认证中心和一级计费/认证中心之间,两者采用RADIUS协议进行通信,解决不同二级网守之间的用户的漫游认证。

参考点K:位于一级计费/认证中心和一级计费/认证中心之间,两者采用RADIUS协议进行通信,解决不同一级网守所辖区域用户的漫游认证。

参考点L:位于一级计费/认证中心和其他运营者的一级计费/认证中心之间,两者采用RADIUS协议进行通信,解决跨运营者的用户的漫游认证。

参考点M:位于一级网守(若无二级网守)和一级计费/认证中心之间,两者采用RADIUS协议进行通信。 二级计费/认证中心只包含它对应的二级网守所辖区域的用户信息。一级计费/认证中心应包含一级网守所辖区域全部用户的信息,对于单个运营者来说,顶级网守不参与用户的认证过程,用户的漫游认证由一级计费/认证中心完成。对于不同运营者经营的IP电话网,用户漫游认证也是如此。

本标准暂不考虑国际用户的漫游认证。

8.2接入认证与授权流程

系统采用分散受理、集中管理的接入认证和授权管理体系。用户数据由各营业管理点录入,数据集中存放在计费/认证中心( RADIUS服务器)的数据库中,用户的接入认证由各自的网关向网守请求,网守向相连的计费/认证中心进行用户认证;对于卡号用户,计费/认证中心利用RADIUS协议进行漫游处理。

流程如下:

a) 网守收到网关或PC用户发来的"请求用户接入认证"(ARQ)消息,如果用户数据由计费中心控制,则利用"接入请求"(Access-Request)消息将用户主叫号码、被叫号码发送到RADIUS服务器,如果是卡号用户,还需要将用户卡号,密码等发送到RADIUS服务器。

b)计费中心进行用户认证,如通过,向网守回送"接入认可("Access-Accept)消息;否则,回送"接入拒绝(" Access-Reject)消息。对于卡号用户,在RADIUS服务器无法进行接入认证的时候,还需要向其他RADIUS服务器进行漫游处理。

c)处理同b)。

d)对于有实时卡断要求的卡号用户,如果被叫号码已经给定,还需要将用户最大通话时长放在"接入认可"消息中。

e) 网守收到RADIUS服务器来的"接入认可"或"接入拒绝"消息后,向网关/PC用户发送ACF或ARJ消息。

8.3 地址解析流程

在网关可以有地址解析表的缓冲区,电话/传真到电话/传真的地址解析可以在网关中完成。如果不能完成,则向网守请求地址解析,并将新的地址解析数据存放在缓冲区里。

对于卡号用户,网关可以一次性收集用户帐号、密码、被叫号码等,利用ARQ一次性进行接入认证和地址解析,也可以分两次进行。图10所示为地址解析流程。

对于PC用户,本标准要求PC一次性将用户信息、被叫号码利用ARQ发送到网守。

9 计费与结算

9.1 计费与结算系统的体系结构

IP电话/传真网的计费和结算系统由结算中心、计费中心、计费采集点组成。单个运营者的IP电话/传真网的结算

中心体系原则上采用两级结构,即顶级结算中心、一级结算中心。根据不同地区的业务需要也可增设二级结算中心。 注:因本节与认证过程无关,故将计费/认证中心简称为计费中心。

顶级结算中心的功能如下:

a) 接受一级结算中心递交的漫游用户资费清单,并转至其开户地所在一级结算中心。

b)负责所辖各一级结算中心之间的资费结算。

c)完成与传统电话网的结算。

d) 完成不同运营者之间的结算。

e) 负责整网的国际业务结算。

一级结算中心的功能如下:

a) 一级结算中心负责对所辖各二级结算中心之间的资费结算。

b)将在本区发生的异地开户的漫游用户资费清单交至顶级结算中心。

c)接收顶级结算中心转交的其他一级结算中心提供的本地区开户的漫游用户的异地资费清单。

d)完成与传统电话网的结算。

二级结算中心完成与传统电话网的结算。

二级计费中心的功能如下:

a) 二级计费中心接收计费采集点发送的用户使用IP电话的起始和终止时间等计费信息,生成原始记录数据 CDR(Call Detail Record),根据费率生成帐单。

b)对于记帐卡用户,二级计费中心还要根据用户帐号,将余额转换成用户使用IP电话的最大时长并送到计费采集点,以免用户透支。

c)二级计费中心还要负责将本区发生的漫游用户资费清单交至二级结算中心。

一级计费中心的功能同二级计费中心的功能。

计费采集点的功能如下:

在"电话到电话"的情况下计费采集点设在发端网关,在" PC到电话"的情况下,计费采集点设在相应的网守。 计费采集点(主叫)负责采集用户使用IP电话的起始时间和终止时间等信息送给相应的计费中心。对于记帐卡用户,计费采集点还要接收相应计费中心送来的用户使用IP电话的最大时长,并实时监测用户的通话时间,以免用户透支。

9.2 计费方式

普通IP电话实行对主叫方计费。IP电话的费用包括普通电话网的使用费和IP电话网的使用费。IP电话以时长(对普通用户)或流量(如对专线用户)来收费。

IP电话的费用一一费率×时长(或流量)对于费率,各运营商可以根据实际需要,在不违反其他法规的前提下灵活调节。

9.3 计费和结算流程(针对二级结构的结算系统)

9.3.1 主叫号计费用户的计费流程

在用户通过接入授权认证并开始通话时,由计费采集点启动计费计数器,在用户拆线或网络拆线时终止计费计数器,并将计费采集点采集的数据送到一级计费中心。由一级计费中心生成原始记录数据CDR(Call Detail Record),根据费率生成帐单。并汇总上交给一级结算中心。

9.3.2 记帐卡用户的计费流程(针对二级结构的结算系统)

记帐卡用户要求实时计费,并能实时断线。对于有余额限制的情况时,计费结算系统应具备计费监视功能。 在用户通过接入授权认证后,一级计费中心应从用户数据库(漫游用户应在其开户地计费中心查找)提取余额信息共折算成最大可通话时间传给计费采集点,计费采集点启动相应的定时器以免用户透支。开始通话时由计费采集点启动计费计数器,在用户拆线或网络拆线时终止计费计数器。由计费采集点将采集的数据送到一级计费中心,由一级计费中心生成原始记录数据CDR(Call Detail Record),一级计费中心根据费率生成用户帐单,从记帐卡用户的余额中扣除(对漫游用户应将帐单送到其开户地一级计费中心,由它负责从记帐卡用户的余额中扣除),并汇总上

交给一级结算中心。

9.3.3 计费结束流程

9.3.3.1 电话用户发起呼叫的计费结束指示的通信流程

l)网关收到PSTN侧来的REL消息,或IP侧来的Release Complete消息时,停止计费计数器,收集计费信息,利用"脱离请求"(DRQ)消息发送到网守;

2)网夺利用"计费请求"(AccountRequest)消息将计费信息发送Radius服务器。如果是漫游用户,处理步骤3),否则处理步骤4)。

3)RADIUS服务器利用"计费请求"将计费信息发往远端RADIUS服务器,等待接收"计费响应"( Account-Response)消息。

4)RADIUS服务器向网守回送"计费响应。"

9.3.3.2 PC用户发起呼叫的计费结束指示的通信流程

l) PC用户向网守发送的"释放结束"( Release Complete)消息。

2)网守利用"计费请求"(ACCOulltRCquCSt)消息将计费信息发送RadiuS服务器,如果 是漫游用户,处理步骤3),否则处理步骤4)。

3)RADIUS服务器利用,"计费请求"将计费信息发往远端RADIUS服务器,等待接收"计费响应(Account-Response)消息。

4)RADIUS服务器向网守回送"计费响应"。

实际上,被叫方的计费结束指示的通信流程和PC用户发起呼叫的计费结束指示的通信流程是一致的,只需要将图13的PC换为网关即可。

9.4 计费内容

9.4.1 主叫号码方式的一级计费中心(若无二级计费中心)计费清单的主要内容

内容如下:

--日期;

--开始时间;

--终止时间;

--通话时长;

--主叫用户号码;

--被叫用户号码;

--接入号码;

--入字节数;

--出字节数;

--业务类别;

--传真页数(对应IP传真);

--主叫网守的IP地址;

--主叫网关的IP地址;

--被叫网守的IP地址(如果不能得到,该项可以省略);

--被叫网关的IP地址;

--通话终止原因;

--编码方式等。

9.4.2 记帐卡方式的一级计费中心(若无二级计费中心)计费清单的主要内容

内容如下:

--日期;

--开始时间;

--终止时间;

--通话时长;

--卡号;

--接入号码;

--被叫用户号码;

--入字节数;

--出字节数;

--业务类别;

--传真页数(对应IP传真);

--主叫网守的IP地址;

--主叫网关IP地址;

--被叫网守的IP地址(如果不能得到,该项可以省略);

--被叫网关IP地址;

--通话终止原因等。

9.4.3单个运营者内结算中心之间的结算信息

结算中心之间的结算信息应至少包括以下内容:

--日期;

--开始时间;

--终止时间;

--通话时长;

--卡号(对于主叫用户,该项可以省略);

--主叫用户号码(对于卡号用户,如果不能得到主叫号码,该项可以省略): --接入号码;

--被叫用户号码;

--入字节数;

--出字节数;

--业务类别;

--传真页数(对应IP传真);

--主叫网守的IP地址;

--主叫网关的IP地址;

--被叫网守的IP地址(如果不能得到,该项可以省略);

--被叫网关的IP地址;

--通话终止原因;

--计费免费标志。

9.4.4 不同运营者之间的结算信息

结算中心之间的结算信息应至少包括以下内容:

--日期;

--开始时间;

--终止时间;

--通话时长;

--卡号(对于主叫用户,该项可以省略);

--主叫用户号码(对于卡号用户,如果不能得到主叫号码,该项可以省略); --接入号码;

--被叫用户号码;

--入字节数:

--出字节数;

--业务类别;

--传真页数(对应IP传真);

--主叫网守的IP地址;

--主叫网关的IP地址;

--被叫网守的IP地址;

--被叫网关的IP地址(如果不能得到,该项可以省略);

--通话终止原因;

--主叫号码的地址性质;

--被叫号码的地址性质;

--计费免费标志;

--运营者标识。

10 语音编码和传真的帧结构

10.1 概要

所有IP电话网的终端都应具有G.7if编解码器,并具备传送和接收A律和 律的能力。终端编解码器的算法可以采用 G.729和 G.723.l等,并通过H.245能力协商来决定。作为几种标准的音频编解码,也可用RTP中分组类型(PT)来定义。如果支持G.723.l,则其编解码器既要支持5.3k算法也要同时支持6.3k 算法。鉴于编解码压缩比和算法时延对IP电话系统都十分重要,本标准建议优选G.729。

10.2 音频打包结构

10.2. 1标准音频载荷类型(PT-PayloadWPe)

PT 编码名 时钟(Hz) 信道

0 PCMU 8000 1

8 PCMA 8000 1

9 G.722 8000 1

4 G.723 8000 1

15 G.728 8000 1

18 G.729 8000 1

10.2.2 对于fTU-T标准编码的打包结构

1) G.723.l

IP电话可以选用 G.723.l编码。 G.723.l的帧长有 3种情况: 24byte(6.3k/s) 20byte(5.3k/s)和 4byte。4byte为SID(插入静音描述帧)帧,它主要用在语音的静音段,用以发送比较舒适的噪声的参数描述。这3种帧可以用任意方式混合使用。第一个八位组的最低二个比特确定了帧的长度和编码类型。在30ms的帧边界上,这两种速率可以进行任意切换,以获得最佳的音质。所有编码比特流都是从最低有效位开始传送,直至最高有效位。 G.723.l打包特征为:

--用在RTP报头的标记住的置位方法,来表示该报文是静育以后第一个包。

--抽样频率为8000Hz。

--帧长为30ms。

--在一个包中,编解码器可以编解码几个连续的恢。

--接收机必须要能连续接收0~180ms的音频数据。

2) G.729

这是一种8kbit/s的编码算法,该种编码抗随机比特错误的能力与抗随机突发消失帧的能力相同。在噪声较大的

环境下,它能有更好的语音质量。 G.729 annex A算法是G.729算法降低了复杂度后的版本,二者能完全互操作,因而不必对这两种算法进行区分。

在 G.729 annex B中,建议声音激活检测器(VAD)和舒适噪声发生器(CNG)用于数字模拟声音和数字应用,可以和 G.729、G.729 annex A结合使用。 G.729帧长为 10个八位组(octet),静音(annex B)为 2个八位组。

有声段帧格式为:

--一帧为10ms。

--帧长10个八位组。

--一个 RT包可以放零个、一个或多个 G.29和 G.729 annex A帧,后随 G.729 annex B的有效载荷。舒适噪声帧的存在可以减小RTP载荷的长度。

--静音后的第一个有声包在RTP报头中标记位置位。

--抽样率8000Hz。

--缺省打包时间段20ms。

--编解码器可以进行单一包中连续l~10帧的编解码。

--接收方必须能接收0-200ms的用户语音数据。

3) G.728

帧的打包特征如下。

一个G728帧由4个10bit的矢量组成,它被装载成5个byte。

VI为最早的矢量,V4为最迟的矢量。在一帧中B1的最高特征位为该帧的最高特征位,BS的最低特征位为该帧的最低特征位。当打包在RTP中时,B1先被打包,B5最后打包。

多帧打包特征如下:

由于G.728帧过小,一包一帧则报头开销太大,因而G.728采用多帧打入一个包中。帧打包的方法如下: --G.728包可以打入多帧,但预设整数帧。

--最早的帧(最先播放的帧)第一个打入RTP包中。

-- 时戳为该包中第一帧第一个矢量的捕获时间。

4) G711

这是一种非压缩的编码方法,其数据直接来自PCM,采样率8000,其编码方法采用A律和μ 律表。 10.3 传真的帧结构

10.3.1使用 TCP协议的数据帧结构

TCP协议的数据帧结构如图16所示,其中IFP分组由两个字段组成。这两个字段是类型(TYPE)字段和数据(DATA)字段。

10.3.2 使用UDP协议的数据帧结构。

11 网络管理

11.1 网络管理方式

网络管理采取集中管理方式,设置全网网管中心,负责完成各项管理功能。

11.2 网络管理对象

网管中必着重进行设备管理,其管理对象为各节点设备(网关和全国中心省中心等)。

管理的设备列表如下:

1)网关:

2)网守;

3 ) 计费/认证中心;

4)管理终端;

5)结算中心。

11.3 网管接口协议

由于目前大部分与IP有关的设备只支持SNMP协议,所以网管接口选择SNMP协议。11.4 网管接口信息模型 网管中心和被管设备之间的网管信息模型采用一致的MIB库,其内容至少包括系统信息、配置信息、告警信息、性能统计信息等。详细内容可参见H.341协议。

11.5 网络管理功能

网管中心应实现的管理功能为配置管理、性能管理、故障管理和安全管理等。

11.5.1 配置管理

配置管理具有下列功能:

--配置管理数据库。创建并维护一个数据库,其中包含网络设备、软件、操作级别、负责维护设备的人员等信息。 --管理设备的配置文件。可以访问被管理设备的配置文件,并在必要时分析和编辑。

--网络节点设备部件端口配置。

--网络节点设备系统软件的配置。

--网络业务配置。网络节点各种数据的初始配置与修改,网络各种业务政策的配置与管理。

--对配置操作过程的记录统计。

11.5 性能管理

配置管理具有下列功能:

--自动获取网络拓扑结构及网络的配置,实时监控设备的状态。

--通过对被管理设备的监控和轮询,获取有关网络运行的信息及统计数据;并能在所收集的数据的基础上,提供网络的性能统计,例如:

·网络节点设备的可利用率;

·网络节点设备的CPU利用率;

·网络节点设备的故障率;

·网络延时统计;

·带宽统计利用率等。

--对历史统计数据的分析功能。

--优化网络性能,消除网络中的瓶颈,实现网络流量的均匀分布。

--提供手工设置性能的功能,如流量、压缩方法等。

11.5.3 故障管理

故障管理具有下列功能:

--生成错误日志,对日志进行维护并形成故障统计;

--针对错误检测报告作出反应;

--跟踪、辨认错误;

--执行诊断测试;

--手动或者自动纠正错误、排除故障等。

11.5.4 安全管理

安全管理应包括数据安全和系统安全,具有如下功能:

--系统安全

网管系统采取高级别、多层次的安全防护措施;

网管系统应提供严格的操作控制和存取控制;

自动记录非法信息,并将系统的状态自动记录,以便系统出现安全问题时能够容易地找到原因。

--数据安全

对各种配置数据、统计数据采取备份、保护措施;

采用多级别的方法,备份用户数据。

--人工或手工修复

当网络系统出现故障时,能自动及人工恢复正常工作,不影响网络的正常运行等。

11.5.5业务管理

a)用户数据管理

主要包括:

--用户数据的录入(增);

--用户数据的删除(删);

--用户数据的修改(改);

--用户数据的查询(检索)。

b)网关数据的管理

主要功能包括:

--网关数据的录入(增);

--网关数据的删除(删);

--网关数据的修改(改);

--网关数据的查询(检索)。

c)统计

统计的内容主要有:

--呼叫频度;

--有效呼叫数;

--呼损率;

--通话中断频度;

--接通率;

--各向平均时延;

--网络通信量(流量和流向);

--不同目的的用户使用次数;

--用户平均每一次使用时长。

12 IP电话/传真网络的主要设备及功能

IP电话/传真网络除IP网外主要由六大部分组成,它们是网关、网守、受理终端、计费/认证中心、结算中心和网管。

12.1 网关

网关是跨接在电路交换网和IP网之间的设备,它的主要功能为:

--完成PSTN、ISDN、GSM侧的呼叫建立和释放,以及IP网络侧的呼叫建立和释放。

--完成语音编码和打包、回声消除、静音检测并提供收端缓存等功能。

--完成语音编码方式的转换和信令协议的转换。

--能够在通话开始时采集计费信息,并在通话结束时或定期向计费/认证中心传送计费信息。

--能够自动识别语音、传真业务。

--实现T.30和T.38通信规程。

--实现H.323、H.225、H.245、RTh、RTCP、ISUP、TUP、DSSI、中国1号信令等协议。

--能够支持多种语音编码,包括 G.711、G.723和G.729。

--提供用户交互信息和查询。

--具有与网管设备的接口,完成配置、统计、故障查询、告警等功能。

--具有外同步接口,与现有同步网连接。

--网络 QoS的测试。

12.2 网守

网守的主要功能为:

--地址解析,地址映射可以在网守处实现,也可以在网关处实现。

--支持 H.323、 H.225、 H.245协议和 RADIUS协议。

--带宽管理(任选)。

--呼叫控制。

--提供安全性管理。

--提供路由管理。

--具有与网管设备的接口,完成配置、统计、故障查询、告警等功能。

12.3 受理终端

IP电话/传真系统采用分散管理集中受理的模式。因而在系统中受理终端数量是较多的。一个营业点至少有一台受理终端,受理终端是营业受理点的营业员与计费/认证中心的接口,营业受理点的营业员通过受理终端完成用户帐号登记和注销的管理。

受理终端与计费/认证中心以B-S模式工作,受理终端为 Browser(浏览器),计费/认证中心为 server(服务器)。用户数据的增删改用Web来实现。

12.4 计费/认证中心

计费/认证中心负责接收计费采集点采集的用户计费信息,根据费率生成帐单,接受由网守发起的用户接入认证请求,对用户使用IP电话的权限进行认证并支持卡号用户的漫游认证。

12.5 结算中心

见第9章

12.6 网管

见第11章。

13 通信协议和流程

13.1 消息定义

13.1.IRAS消息

RAS消息主要遵循H.323v2协议,所有的RAS消息均采用ICV加密。具体内容如下。

13.1.1.1注册登记消息

a)MRQ(Registration Request)

本标准规定网关向网守以及受理终端向计费/认证中心发送注册信息时采用RRQ消息,具体内容如表8所示。网关必须定期(小于RCF的timetolive确定的时间)向网守发送RRQ消息,以表明网关仍然存活,具体的超时和重发次数要求见RAS消息的定时器及重发次数。

注:网关在首次注册时应将RRQ消息中的discovnycomplete置0,其余报告其存活的RRQ消息的discoerycomplete置1。

b) RCF(Registration Confirm)

RCF是对RRQ消息的确认回答。

c)RRJ(Registration Reject)

RRJ是对RRQ消息的拒绝回答。

13.1.1.2 注销消息

a) URQ(Unregistrtion Request)

网关向网守发送的或PC向网守发送和请求注销注册登记的命令。

b) UCF(Unergistrtion Confirm)

网守向网关或PC发送的关于网关或PC的URQ的确认回答。

c) URJ(Unregistrtion Rject)

网守向网关或PC发送对URQ的拒绝回答。

13.1.1.3 修改消息

修改消息MRQ/MCF/MRJ是受理终端与计费/认证中心交互的信息,本标准只对其至少应具有的功能作了限制,至于其具体实现方式,则不在本标准的范围之内。

aMRQ(Modification Request)

受理终端向计费/认证中心发送修改用户数据的请求。

b)MCF(Midification Confirm)

计费/认证中心向受理终端发送的对修改用户数据请求消息。消息内容至少有表15所示的内容。

d) MRJ(Midification Reject)

计费/认证中心向受理终端发送的对修改用户数据请示的拒绝消息。消息内容至少有表16所示的内容。 13.1.1.4 接入认证

a) ARQ

ARQ是网关向网守发送的用户接入认证、地址解析和修改密码请求消息,在非标准参数中我们添加了三项,第一为主叫控制方式,适用于主叫号码用户,第二为卡控制方式,对应于它分为三步,step1用于接入认证,step2用于地址解析,step3用于卡号用户在线修改密码。

b) ACF

网守对ARQ的确认回答,对于卡号用户,还需要给出用户余额或最长通话时长。

c) ARJ

网守对ARQ的拒绝回答,并给出拒绝原因。

13.1.1.5 地址解析请求消息

a) LRQ(Location Rquest)

网守向上一级网守发送的地址解析请求。

b) LCF(Location Confirm)

上一级网守对LRQ的确认回答,并经出地址解析结果。

c) LRJ( Location Reject)

上一级网守对LRQ的拒绝回答,并给出拒绝原因。

13.1.1.6 呼叫脱离消息

a)DRQ(Disengage Request)

网关与网守之间的呼叫脱离请求命令。当该命令由网关发起时.本消息应同时传递计费信息。计费信息放在"非标准数据"( NonstandardData)中。若是网守向网关传送DRQ消息,该消息不包含计费 费信息,并且网关必须回应DCF。

c) DCF(Disengage Confirm)

对DRQ的确认回答。

d) DRJ (Disengage Reject)

网守对DRQ的拒绝回答,并给出拒绝原因。

13.1.1.7 状态消息

a) IRQ

网守向网关发的询问某一话路或所有话路的状态请求消息。消息的主要内容如表26所示。若callReference Value为0,则网关需要在同一条IRR消息中报告所有呼叫的状态信息。CallRferenceValue为0的IRQ 的发送间隔应>10s。 b) IRR

网关根据ACF命令设定的间隔或IRQ 请求向网守发送的状态消息。

c) IACK

对IRR的证实消息。

d) INAK

对于IRR的拒绝消息。

13.1.1.8 带宽改变消息

a) BRQ

网关与网守之间的带宽改变的请求的消息,当网守具备带宽管理能力时,则带宽管理消息是有实用意义的。由于ARQ消息的bandwidth所取的值总是大于每一话路实际占用的带宽,因此为了能使网守掌握网关的带宽利用情况,网关应根据实际带宽利用情况利用BRQ消息改变带宽,以便释放多余的带宽或请示增加带宽。若是利用BRQ消息增加带宽,则网关必须等待网守的确认。

b) BCF

网关或PC与网守之间带宽改变的确认的消息。

c) BRJ

网关或PC与网守之间的带宽改变的拒绝的消息。

13.1.1.9 网关资源可利用性消息

a) RAI

b) RAC

13.1.1.10 RAS的请求进展消息( RIP)

RIP消息是当终端收到一个请求消息后,如果判断在相应的超时(timeout)时间内不能及时返回回答消息,则该终端可通过发送RlP,消息以延长对方等待时间,这个等待时间由RIP消息的delay域决定。对端在timeout加 delay的时间内若没有收到回应则作超时处理。

13.1.2 顶级网守间消息

13. 1.2. 1业务请求( Service Request)

顶级网守间建立业务关联关系的请求。

13. 1.2 业务确认( Service Confirmation)

收到业务请求的顶级网守对 SerVice Request的确认回答。

13.1.2.3 业务拒绝(Service Rgection)

顶级网守对 Service Request的拒绝回答,并给出拒绝原因。

13.1.2.4 描述器ID请求( DescriptorI DRequest)

顶级网守向别的顶级网守请求描述器ID的请求。

13.1.2.5 描述器ID确认( Descnptor IDConfirmation)

顶级网守对Descriptorl DRequest消息的确认回答,并给出该顶级网守的描述器ID列表。

13.1.2.6 描述器ID拒绝(Descnptor IDRejection)

顶级网守对 Descriptor IDRequest消息的拒绝回答,并给出拒绝原因。

13.1.2.7 描述器请求( Descriptor Request)

顶级网守向另一个顶级网守请求特定描述器的内容。

13. 1.2.8 描述器确认( Descriptor Confirmation)

顶级网守对Descriptor Request的确认回答,并给出描述器的具体内容。

13. 1.2.9 描述器拒绝( Descriptor Rejection)

顶级网守对 Descriptor Request的拒绝回答,并给出拒绝原因。

13.1.2.10 地址解析请求(AccessRequest)

顶级网守间的地址解析请求。

13. 1.2.11 地址解析确认( Access Confimatlon)

顶级网守对地址解析请求的确认回答。

13. 1.2. 12 地址解析拒绝( Access RCJectlon)

顶级网守对地址解析请求的拒绝回答。

13. 1.3 Q.931消息

Q.931的消息具体内容参见附录A,目前可使用以下的Q.931消息。各消息的主要内容见表48~表 58。 a) 呼叫建立(Setup)

b) 呼叫进程(Call Proceeding)

C)提醒( Alerting)

d)进展(Progress)

e)连接(Connet)

F)通知(Notify)

g)状态(Status)

h)状态询问(Status Inquiry)

i) 用户信息(User Information)

j)释放完成(Release Complete)

k)设施(Facility)

13.1.4 H.245消息

13.1.4.1 终端能力设定

a) TCS(Terminal Capability)

b) TCSA(Terminal Capability Set Acknowlege)

c) TCSR(Terminal Capability Set Reject)

13.1.4.2主从决定

在建立H.245通道过程中,可以使用主从决定,也可以不使用,对于IP电话,本标准建议不采用此流程。 a) MSD(Master Slave Determination)

b) MSDA(Master Slave Deterlmnatlon Acknowlege)

c) MSDR(Master Slave Deternunatlon叫ect)

13.1.4.3 打开逻辑通道

a)OLC( Open Logical Channel)

b) OLCA( Open Logical Channel Acknowledge)

c) OLCR( Open Logical Channel Reject)

13.1.4.4结束会话

13.1.4.5关闭逻辑通道

a) CLC(Close Logical Channal)

b) CLCACK(Close Logical ChannelAck)

13.1.5 RADIUS

13.1.5.1 RADIUS数据格式定义

a) 数据格式定义

b) 编号定义

13.1.5.2 属性定义

a) 属性数据格式定义

b) 类型定义

13.2 通信流程

13.2.1 呼叫流程

对于呼叫流程,要标准暂时只考虑到电话到电话和PC到电话两种业务方式.

13.2.1.1 呼叫建立流程

a) 电话到电话的呼叫建立流程

本标准建议采用快速呼叫建立过程(fastStart),对于无法做到的情况下,也可以采用非快速建立方式。发送快速呼叫建立请求时,如果对方不支持快速呼叫,发端必须能够倒成非快速连接。发端网关可以设定有接入认证和地址映射表的缓冲区,也可以不设定,如果设定有,则需要先利用缓冲区的数据进行接入认证和地址解析,失败时需再向管理中心发出接入认证或地址解析请求。

--快速呼叫建立流程

1) 用户拨打IP电话,输入卡号密码;

2) 网关1向网守发送ARQ消息,进行接入认证,其中就应包含主叫号码或卡号(主叫号码采用E.164编码);

3) 网守回送ACF,接入认证通过;

4) 用户输入被叫号码;

5) 网关1向网守发送ARQ进行地址解析;

6) 地址解析通过后,网守发送ACF;

7) 网关1向被叫网关2发起呼叫建立请求" Setup",里面包含有H.245的通道消息;

8) 网关2向网关互发送"呼叫进展"( Call Proceeding)消息,里面可以包含有H.245的通道信息,也可以没有;

9)网关2同时向网守发送ARQ消息;

10)网守向网关2发送认证通过消息ACF;

11)网关2向被叫发送呼叫建立请求消息;

12)被叫振铃;

13)网关2向网关1发送Alertng消息,该消息中,可以包含H245的通道信息,也可以不包含,网关1需要识别这两种不同情况;

14)网关1收到Alerting消息后,产生回铃音;

15)被叫摘机;

16)网关2向网关1发送"连接"(Connect)消息,里面可以包含有H.245的通道信息,也可以不包含,网关1需要识别这两种不同情况;

17)网关1收到Connect消息,接通主叫。

注:在快速呼叫过程中,网关1只有在收到Connect消息后才能开始发送媒体信息。

--非快速呼叫建立流程

1) 用户拨打IP电话,输入电话密码;

2) 网关1向网守发送ARQ消息,进行接入认证;

3) 网守回送ACF,接入认证通过;

4)用户输入被叫号码;

5) 网关1向网守发送ARQ进行地址解析;

6)地址解析通过后,网守发送ACF;

7) 网关1向被叫网关2发起呼叫建立请求Setup消息;

8)网关2向网关1发送"呼叫进展"( Call Proceeding)消息,里面可以包含有H.245的通道信息,也可以没有;

9)网关2同时向网守发送ARQ消息;

10)网守向网关2发送认证通过消息ACF;

11)网关2向被叫发送呼叫建立请求消息;

12)被叫振铃;

13)网关2向网关 1发送 Alerting消息,该消息中可以包含H.245的通道信息,也可以不包含,网关1需要识别这两种不同情况;

14)网关1收到Alerting消息后,产生回铃音;

15)被叫摘机;

16)网关2向网关1发送"连接"(Connect)消息,里面可以包含有n.2'5的通道信息,也可以不包含,网关1需要识别这两种不同情况,被叫开始计费(建议被叫网关在Connect消息中携带H.245地址)。

17)网关1收到Connect消息,接通主叫,主叫开始计费。

18)网关之间进行能力交换;

19)打开逻辑通道。

注:在非快速连接中,不再作主从判决,约定主叫为主,被叫为从。若在Connect消息后,H.245能力交换或打开逻辑通道失败,网关可将 DRQ消息的 tendnalCause置为 establishedFailed,网守可以根据它不对用户进行计费。

b)PC到电话的呼叫建立流程

本标准规定PC到电话需要经过网守。呼叫建立流程如图25所示,以快速呼叫为例描述PC到电话的呼叫建立流程( PSTN侧信令以ISUP为例)。

l) PC用户向网守发送"请求用户接人认证"(ARQ)消息;

2)网守接收到来自网关1的ARQ消息后,检查用户合法性,确定用户权限,并进行地址翻译,将接入认证通过和授权( ACF)或拒绝( ARJ)消息发送到PC用户,PC用户在收到ACF消息后,作进一步处理,收到AIU消息后,做拆线处理;

3)PC用户向网守发起呼叫建立请求setup消息,里面包含有H.245的通道信息;

4)网守向被叫网关发起呼叫建立请求Setup消息,里面包含有H.245的通道信息;

5)被叫网关向网守发送 Call Proceeding消息,里面可以包含或不包含 H.245的通道信息;

6)网守向 PC发送 Call Proceeding消息,里面可以包含或不包含 H.245的通道信息;

7)被叫网守向被叫用户发送IAM;

8)被叫网关收到PSTN发回的ACM信号时,被叫振铃;

9)当网守收到来自被叫网关的ALERT后,向PC发送ALERT消息;

10)被叫摘机,被叫网关收到ANM消息。向网守发送"连接"(Connect)消息;

11/12)网守收到Connect消息,启动计费计数器,同时向PC用户发送Connect消息,里面可以包含或不包含H.245的通道信息(建议被叫网关在Connect消息中携带H.245地址)。

13.2.1.2 国际呼叫建立流程

国际呼叫需要经过顶级网守进行呼叫建立。

13.2.1.3通话

在完成了呼叫建立过程以后,双方就进入通话状态。

在通信过程中,通过PSTN发送端用户将语音不断传送到发送端网关,发送端网关对语音进行压缩、编码,然后将编码后的语音打包,送入IP网。接收端网关接收来自IP网的语音包,拆包,然后对语音进行解码处理,通过PSTN网传送到接收方。

通话过程要面向连接的,对每一个话路建立一个RTP连接。

在通话过程中,网关1和网关2之间相互发送RTCP包,以测试网络环境情况(如网络丢包率,通断情况等)。 13.2.1.4呼叫释放流程

呼叫释放应采用互不控方式,分两种情况:

l)主叫用户先挂机;

2)被叫用户先挂机。

当计费采集点收到以下3类消息的时候,开始进行停止计费处理。

l)收到PSTN网侧来的REL消息;

2)收到 IP网侧发来的 Release Complete消息;

3)收到底侧的网络故障消息。

以主叫用户先挂机为例描述呼叫释放流程。

1) 主叫挂机;

2) 如果已打开H.245通道,则网关之间要先关闭逻辑通道;

3) 如果已打开H.245通道,则关闭逻辑通道后,网关间互送End Session Command;

4) 网关1向网关2发送Rlease complete消息;

5) 网关2挂断被叫;

6) 网关1向网守发送DRQ;

7) 网守向网关1发送DCF;

8) 网关2向网守发送DRQ;

9) 网守向网关发送DCF.

注:6)、7)、8)、9)的顺序无严格要求。

13.2.2 IP传真的呼叫流程

CED(被叫终端标识): 2100Hz信号,标识收端传真机。

CSI(被叫用户标识):本信号选用,可用来传送收端传真电话号码。

DIS(数字标识信号):表征该设备是ITU标准性能的,即收端传真能力信号(包括纸张大小、扫描密度等参数)。 TSI(发送用户标识):本信号选用,标识发端传真机。

DCS(数字命令信号):数字建立命令,发端根据收端DIS中的能力集合,协商出的最终通信能力集合。 TCF(训练检验):用于通信电路的训练。

CFR(可以接收的证实):证实全部报文前过程已经完成,并可开始报文传输。

EOP(过程结束):表示一页传真协议的结束。

MCF(报文证实):表示已经收到完整的报文,并可继续收另外的报文。

注:本流程应在主叫网关收到CONNECT命令之后进行。

13.2.3 设备登录和注销流程

13.2.3.1网关设备的登录流程

网关设备在运行初期需要向受理终端登记,由受理终端向网守登记注册。

13.2.3.2 网关设备的注销流程

13.2.3 用户登记和注销流程

13.2.4.1 用户登记流程

13.2.4.2 用户注销流程

13.2.5 顶级网守之间进行描述器交换流程

14系统安全性

IP电话的安全性包括以下4个方面:

l)网络安全;

2)身份认证及接人控制;

3)音频数据流的完整性保护;

4)音频数据流的加密。

14.1网络安全

对网管中心、计费/认证中心、结算中心、网守和重要数据库设置防火墙保护。网络的重要设备要有冗余备份。 14.2身份认证和接入控制的安全

二级网守应支持基于RAS协议的用户认证方式,当用户漫游认证时,二级网守和一级网守的通信可采用RADIUS协议。

网关和网守之间的身份认证利用 ARQ/ACF信息:

网关向网守发送ARQ信息,网关需要填充ARQ信息中的安全域。收到ARQ信息,网守根据以下的规则验证认

证因子:

l)时戳的有效性;

2)序列号的有效性;

3)网守计算的认证因子与收到的认证因子是否匹配。

如果以上条件满足,则网守向端点发送ACF信息,否则发送ARJ。

14.3 音频数据流的加密

14.3.1 方法一

1)采用"TLS/IPSEC"机制建立安全的呼叫信令信道(H.225)。

2)在此安全信道中,根据H.225的呼叫建立信息(Setup),协商建立H.245控制信道的安全机制(加密算法、密银)。

3)利用H.225呼叫信令信道中,协商的安全机制建立H.245安全控制信道。

4)在H245能力集合中,把加密看作一种编码方式,增加加密编码的能力。通过能力协商得到 媒体流信道的安全信息。

5)加密媒体流,不对RTP头加密。

14.3.2方法二

l)利用" TLS/IPSEC"机制在呼叫信令信息交换之前,建立安全的呼叫信令信道。

对利用" TLS/IPSEC"机制打开安全的逻辑信道,在此逻辑信道中得到共享的会话密钥和加密算法。

3)加密媒体流,不对RTP头加密。

在加密方法一中,对H.225和H.245的信息中都做了一定的补充,增加了安全功能。而在加密 方法二中,利用现有的密码机制[TLS/IPSEC]来实现,对现有的H.225和H.245中的信息不做改动。

14.4访问记录

系统必须完整地记录用户注册时间、重要操作、访问信息条目。

15 IP电话/传真的性能要求

15.1 时延要求

15.1.1 呼叫建立时间

--呼叫建立时间包括:

--呼叫信令穿过IP网络的时间;

--与GK进行呼叫建立的时间;

--认证、目录服务等呼叫处理时间;

--GW间呼叫建立时间。

呼叫建立时间的计算方法分两种情况。

情况1:当认证与地址解析过程是分两步时,即认证通过后再进行地址解析时,呼叫建立时间等于从网关发送包含认证信息的 ARQ开始,至网关收到通过认证的 ACF为止的间隔时间,加上从网关发送包含地址解析的 ARQ开始,至主叫用户收到 ALERT为止的间隔时间。

情况2:当认证与地址解析过程同时进行时,呼叫建立时间等于网关发送包含认证和地址解析信息的 ARQ至主叫用户收到 ALERT为止的间隔时间。

本标准要求呼叫时间在5s以内(不包括PSTN段的呼叫建立时间)。

15.1.2 语音传输时延

造成语音传输时延的因素有:

1)发端PSTN网络传输时延;

2)发端IP网关语音编码时延;

3)IP网络传输时延;

4)收端IP网关语音解码时延;

5)收端PSTN网络传输时延;

6)为防止时延抖动设定缓冲区引起的时延。

其中,IP网络传输是造成时延的最主要因素,PSTN网络的时延可以忽略。因此可把时延分为IP网络传输时延和网关处理时延两部分。

IP网络传输时延主要来自IP包所经过的各路由器的处理时延、包排队时间。这与经过的路由器个数和路由器的忙闲程度有关(在Internet中,经过的路由器可以有2~30个甚至更多),因与是可变的。这于IP电话的承载网络设计也有很大关系。

网关处理时延主要取决于网关所采用的语音编解码方法,以及为防止抖动设置的缓冲区大小。 一般目前两侧网关处理时延都在 120ms左右。

ITU-T G.114建议提出对于语音通信,单向的时延门限为400ms。因此本标准要求端到端的时延必须在400ms以内。其中当采用G.723算法时,IP网络传输时延在200ms以内,两侧网关处理时延之和在200ms以内;当采用G.729算法时,IP网络传输时延在250ms以内,两侧网关处理时延之和在150ms以内。

15.1.3 时延抖动

本标准要求网络时延抖动必须在80ms以内。

15.2 丢包率要求

造成网络丢包的因素有以下两种:

--网络传输中丢包;

--网络拥塞时网关设备主动丢包。

对于IP包的丢失,典型的语音编码可以允许包丢失率为3%,采取一些特殊措施后,包丢失率到8%~10%尚可容忍。

测量网络丢包率需要分忙时和闲时两种情况进行。在我国,一般以下午3:00和上午7:00作为忙时和闲时标准。 本标准要求丢包率<10%。

15.3 IP电话的语音质量要求

影响话路话音的因素有:

--同时通过网关的数据流量;

--采样和纠错技术;

--语音的延时;

--IP包在网络上的丢失:

--语音数据包抖动;

--传统问题:话音输入输出设备质量、电平、噪声、回损和 ECHO PATH延迟(产生于 PSTN段)。

目前一般采用平均意见得分法(MOS)衡量话音质量,评定者以4~0的五级评分标准对语音质量进行评定。五级评分标推见表82。

本标准要求网络丢包率<5%时的话音质量在3.5级以上,网络丢包率在5%~10%时的语音质量在3级以上。 15.4 IP传真对时延和丢包的要求.

附录A

(标准的附录)

H.323消息的ASN.1语言的描述

H323-MESSAGES DEFINlTIONS AUTOMATIC TAGS ::=

BEGIN

IMPIRTS

SIGNED{ },

ENCRYPTED{ },

HASHED{ },

ChallengeString,

TimeStamP,

RandomVal,

Password,

EncodedPwdCertToken,

ClearToken,

CryptoToken,

AuthenticationMechanism

FROM H235-SECURITY-MESSAGES

Capability,

MultiplexCapability,

OpenLogicalChannel

FROM MULTIMEDIA- SYSTEM-CONTROL;

H323-UserInformation f::= SEQUENCE

{

h323-uu-pduH323-UU-PDU,

user-data SEQUENCE

{

protocol--discriminator INTEGER (0..255),

user-information OCTET STRlNG (SIZE(l..l3l)),

} OPTIONAL,

}

H323-UU-PDU::= SEQUENCE

{

h323-message-body CHOICE

setup Setup-UUIE,

callProceeding CallProceeding-UUIE,

connect Connect-UUIE,

alerting Alerting-UUIE,

userInformation UI-UUIE,

releaseComplete ReleaseCompl ete -UUIE,

facility Facility-UUIE,

…,

progress Progress-UUIE,

empty NULL

},

nonStandardData NonStandardParameter OPTIONAL,

h450lSuPPlementmpServiceSEQUENCE OF OCTET STRING OPTIONAL }

Alerting-UUIE ::= SEQUENCE

{

protocolIdentifier ProtocolIdentifief,

destinationInfo EndPointrype,

h245Address TransportAddress OPTIONAL,

callIdentifier CallIdentifier,

h245SecurityMode H245Security OPTIONAL,

tokens SEQUENCE OF ClearToken OPTIONAL,

cryptoTokens SEQUENCE OF CryptoH323Token OPTONAL, fastStart SEQUENCE OF OpenLogicalChannel OPTONAL, fastCaP FastCaP OPTONAL

}

CallProceeding-UUIE :::= SEQUENCE

{

protocolIdentifier ProtocolIdentifief,

destinationInfo EndpointType,

h245Address TransportAddress OPTIONAL,

callIdentifier CallIdentifier,

h245SecurityMode H245Security OPTIONAL,

tokens SEQUENCE OF ClearToken OPTONAL,

cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL, fastStart SEQUENCE OF OPenLogicalChannel OPTONAL, fastCap FastCap OPTIONAL

Connect--UUIE ::= SEQUENCE

{

protocolIdentifier ProtocolIdentifief,

h245Address TransportAddress OPTIONAL,

deshnationInfo EndPointType,

conferenceID ConferenceIdentiflef,

callIdentifier CallIdentifier,

h245SecurityMode H245Security OPTIONAL,

tokens SEQUENCE OF ClearWn OPTIONAL,

cryptoTokens SEQUENCE OF CryptOH323TOken OPTIONAL, fastStari SEQUENCE OF OPenLogicalChannel OPTIONAL, fastCap FastCaP OPTIONAL

}

UI-UUIE:.=SEQUENCE

{

protocolIdentifier ProtocolIdentifier,

}

ReleaseComPlete-UUIE::= SEQUENCE

{

protocolIdentifier Protocolldentifief,

reason ReleaseCompleteReason OPTIONAL,

callIdentifier CallIdentifier

}

ReleaseComPleteReason ::= CHOICE

{

noBandwidth NULL,

gatekeeperResources NULL,

unreachaleDestinati on NULL,

destinationRejection NULL,

invalidRevision NULL,

noPendssion NULL,

unreachableGatekeeper NULL,

gatewayResources NULL,

badFormatAddress NULL,

adaPtiveBusy NULL,

inConf. NULL,

undefinedReason NULL,

facilityCallDeflection NULL,

securityDenied NULL,

calledPartyNotRegistered NULL,

callerNotRegistered NULL

}

' Setup--UUIE ::== SEQUENCE

{

protocolIdentifier ProtocolIdentifief,

h245Address TransportAddress OPTIONAL,

sourceAddress SEQUENCE OF AliasAddress OPTIONAL, --- (必备) sourceInfo EndpointType,

destinationAddress SEQUENCE OF AliasAddress OPTIONAL,-- (必备) destCallSignalAddress TransportAddress OPTIONAL,

destExtraCallInfo SEQUENCE OF AliasAddress OPTIONAL, destExtraCRV SEQUENCE OF CallReferenceVaue OPTIONAL, activeMC BOOLEAN,

conferenceID ConferenceIdentifier,

conferenceGoal CHOICE

{

create NULL,

join NULL,

invite NULL,

caPability-negotiation NULL,

callIndependentSupplementaryService NULL

},

callServices QseriesOptions OPTIONAL,

callType CallType,

sourceCallSignalAddress Tran sportAddress OPTIONAL,

re moteExtensionAddress AliasAddress OPTIONAL,

callIdentifier CallIdentifier,

h245SecurityCapability SEQUENCE OF H245Security OPTIONAL, tokens SEQUENCE OF ClearToken OPTIONAL,

cryptoTokens SEQUENCE OF CryptOH323Token OPTIONAL, fastStart SEQUENCE OF OpenLogicalChannel OPTIONAL, fastCaP FastCap OPTIONAL,

canOveriaPSend BOOLEAN

Facility-UUIE ::= SEQUENCE

{

protocolIdentifier Protocolldentifler,

altemativeAddress TransportAddress OPTIONAL,

altemativeAliasAddress SEQUENCE OF AliasAddress OPTIONAL, conferenceID ConferenceIdentifier OPTIONAL,

reason FacilityReason,

callIdentifier CallIdentifier,

destExtraCaIlInfo SEQUENCE OF AliasAddress OPTIONAL, remoteExtensionAddress Alias Address OPTIONAL,

tokens SEQUENCE OF ClearToken OPTIONAL,

cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL, conferences SEQUENCE OF ConferenceList OPTIONAL }

ConferenceList ::= SEQUENCE

{

conferenceID ConferenceIdentifier OPTIONAL,

conferenceAlias AliasAddress OPTIONAL,

nonStandardData NonStandardParameter OPTIONAL,

}

FacilityReason: := CHOICE

{

routeCallToGatekeeper NULL, ---- call must use gatekeeper model --- gatekeeper is altemativeAddress

callForwarded NULL,

routeCallToMC NULL,

undefinedReason NULL,

conferenceListChoice NULL

}

Progress-UUIE::= SEQUENCE

{

protocolIdentifier ProtocolIdentifief,

destinationInfO EndPointfype,

h245Address TransportAddress OPTIONAL,

callIdentifier CallIdentifier,

h245SecurityMode H245Security OPTIONAL,

tokens SEQUENCE OF ClearToken OPTIONAL,

cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL, fastStart SEQUENCE OF OpenLogicalChannel OPTIONAL, fastCaP FastCaP OPTIONAL

}

Transpondddress::= CHOICE

{

ipAddress SEQUENCE

{

ip OCTET STRING (SIzs(4)),

port INTEGER(0..65535)

},

ipSourceRoute SEQUENCE

{

ip OCTET STRING (SlzE(4)),

port INTEGER(0..65535),

route SEQUENCE OF OCTET STRING(SIZE(4)),

routing CHOICE

{

strictNULL,

loose NULL,

},

},

ipxAddress SEQUENCE

{

node OCTET STINGG (SIZE(6)),

netnum OCwr STRING (SIZE(4)),

port OCTET STRING (SlzE(2))

},

ip6Address SEQUENCE

{

ip OCTET STING (SIzs(16)),

port INTEGER(0..65535),

},

netBios OCTET STRING (SIZE(l6)),

nsaP OCTET STRING (SIZE(l..20)),

nonStandardAddress NonStandardParametef,

}

EndpointType::= SEQUENCE

{

nonStandardData NonStandardParameter OPTIONAL, vendor VendorIdentifier OPTONAL,

gatekeeper GatekeeperInfo OPTIONAL,

gateway GatewayInfO OPTIONAL,

mcu McuInfo OPTIONAL, -- mc must be set as well terminaI TerminalInfo OPTIONAL,

mc BOOLEAN, -- shall not be set by itself

undefinedNode BOOLEAN,

}

GatewayInfo:;= SEQUENCE

{

protocol SEQUENCE OF SupportedProtocols OPTIONAL, nonStandardData NonStandardParameter OPTIONAL, }

SupportedProtOcols ::= CHOICE

{

nonStandardData NonStandardParametef,

h3l0 H3l0Caps,

h320 H320Caps,

h32l H32lCaps,

h322 H322Caps,

h323 H323Caps,

h324 H324Caps,

voice VoiceCaps,

tl20-only Tl20OnlyCaps,

nonStandardProtocol NonStandardProtocol

}'

H3l0Caps::= SEQUENCE

{

nonStandardData NonStandardParamter OPTONAL,

dataRatesSupported SEQUENCE OF DataRat OPTIONAL, supportedPrefixes SEQUENCE OF SupportedPrflx }

H320Caps::= SEQUENCE

{

nonStandardData NonStandardParameter OrnONAL,

dataRatesSupported SEQUENCE OF DataRate OPTIONAL, supportedPrefixes SEQUENCE OF SupportedPrefix }

H321Caps::= SEQUANCE

{

nonStandardData NonStandardParameter OPTONAL,

dataRatesSupPOrted SEQUENCE OF DataRate OPTIONAL, supportedPrefixes SEQUENCE OF SupportedPrefix }

H322Caps::= SEQUENCE

{

nonStandardData NonStandardParameter OPTIONAL,

dataRatesSupported SEQUENCE OF DataRate OPTIONAL, supportedPrefixes SEQUENCE OF SupportedPrefix }

H323Caps::= SEQUENCE

{

nonStandardData NonStandardParamter OPTIONAL,

dataRatesSupported SEQUENCE OF DataRate OrvIONAL, supportedPrefixes SEQUENCE OF SupportedPrefix }

H324Cavs ::= SEQUENCE

{

nonStandardData NonStandardParameter OPTIONAL,

dataRatesSupported SEQUENCE OF Datallate OPTIONAL, supportedPrefixes SEQUENCE OF SupportedPrefix }

VoiceCaPs::= SEQUENCE

{

nonStandardData NonStandardParameter OPTIONAL,

dataRatesSupported SEQUENCE OF DataRate OPTIONAL, supporteMfixes SEQUENCE OF SupportedPrefix }

H323caps::= SEQUENCE

{

nonStandardData NonStandardParameter OPTIONAL,

dataRatesSupported SEQUENCE OF DataRate OPTIONAL, supportedPrefixes SEQUENCE OF SupportedPrefix }

NonStandardProtocol::= SEQUENCE

{

nonStandardData NonStandardParameter OPTIONAL,

dataRatesSupported SEQUENCE OF DataRat OPTIONAL, supportedPrefixes SEQUENCE OF SupportedPrefix, }

McuInfo::=SEQUENCE

{

nonStandardData NonStandardParameter OPTIONAL, }

TerminalInfo::=SEQUENCE

{

nonStandardData NonStandardParamter OPTIONAL, }

GatekeeperInfo::=SEQUENCE

{

nonStandardData NonStandardParameter OPTIONAL,

}

vendorIdentifier::= SEQUENCE

{

vendor H221NonStandard,

productId OCTET STRING (SIZE(l ..256)) OPTIONAL, -- pervendor versionId OCTET STRING (SIZE(l ..256)) OPTIONAL, -- perproduct }

H22lNonStandard ::= SEQUENCE

{ t35CountryCode INTEGER(0..255), -- country, as per T.35 t35Extension INTEGER(0..255), -- assigned nationally

manufacturerCode INTEGER(0..65535), -- assigned nationally }

NonStandardParameter::= SEQUENCE

{

nonStandardIdentifier NonStandardIdentifier,

data OCTET STRING

}

NonStandardIdentifier::=CHOICE

{

object OBJECT IDENTIFIER,

h22lNonStandard H22lNonStandard,

}

AliasAddress ::= CHOICE

{

el64 IA5String (SIZE (l..l28)) (FROM ("0l23456789#*,,,)), h323-ID BMPString (SIZE (1..256)),

url-ID IA5String (SIZE(l..512)),

transportID TransportAddress,

email-ID IA5String (SIZE(l..5l2)),

partyNumber PartyNumber

}

PartyNumber ::= CHOICE

{

publicNumber PublicPartyNumber,

-- the numbering plan is accordng to

-- Reconunendations E. l63 and E. l64.

dataPartyNumber NumberDigits,

-- not used, value reserved.

telexPartyNumber NumberDigits,

-- not used, value reserved.

privateNumber PrivatePartyNumber

nationalStandardPartyNumber Numbetoigits,

--- not used, value reserved.

}

PublicPwtyNumber::= SEQUENCE

{

publicTypeOfNumber PublicTypeOfNumber,

publicNumberDigits Numbetoigits

}

PrivatePartyNumber ff= SEQUENCE

{

PrivateTypeOfNeumber PrivateTypeOfNumber,

privateNumberDigits NumberDigits

}

NumberDigits::= IA5String (SIZE (l .. 128)) (FROM ("0l23456789#*,,,)) PublicTypeOfNumber tt= CHOICE

{

unknown NULL,

--- if used number digits carry Prefix indicating type

-- of number according to national recommendations.

InternationalNumber NULL,

nationalNumber NULL,

networkSpecificNumber NULL,

--- not used, value reserved

subscriberNumber NULL,

abbreviatedNumber NULL,

---- valid only for called paty number at the outgoing

-- access, network substitutes aPpropriate numbeL

}

PrivaterypeOfNumber::= CHOICE

{

unknown NULL,

level2RegionalNumber NULL,

level1RegionalNumber NULL,

pISNSpecificNumber NULL,

localNumber NULL,

abbreviatedNumber NULL,

}

EndPoint::= SEQUENCE

{

nonStandardData NonStandardParameter OPTIONAL,

aliasAddress SEQUENCE OF AliasAddress OPTIONAL,

callSignalAddress SEQUENCE OF TransportAddress OPTIONAL, rasAddrss SEQUENCE OF TransportAddress OPTIONAL,

endpoinnype Endpoinrwpe OPTIONAL,

tokens SEQUENCE OF ClearToken OPTIONAL,

priority INTEGER(0..l27) OPTIONAL,

destinationInfo SEQUENCE OF AliasAddress OPTIONAL, destExtraCallInfo SEQUENCE OF AliasAddress OPTIONAL, }

AltemateGK::= SEQUENCE

{

rasAddress TransportAddress,

gatekeeperIdentifier GatekeeperIdentifier OPTIONAL, needToRegister BOOLEAN,

priority INTEGER (0..l27),

}

SecurityServiceMode::= CHOICE

{

nonStandard NonStandardParametef,

none NULL,

default NULL,

... -- can be extended with other specific modes

}

SecurityCaPabilities::= SEQUENCE

{

nonStandard NonStandardParameter OPTIONAL,

encryption SecurityServiceMode,

authenticaton SecurityServiceMode,

integrity SecurityServiceMode,

}

H245Security::= CHOICE

{

nonStandard NonStandardParameter,

noSecurity NULL,

tls SecurityCaPabilities,

ipsec SecurityCaPabilities,

}

FastCaP::= SEQUENCE

{

caps SEQUENCE OF CaPability OPTIONAL,

-- Capability structure from H.245

multiplexCaP MultiplexCaPability OPTIONAL,

-- MultiplexCaPability strUctUre from H.245

}

QseriesOptions::= SEQUENCE

{

q932Full BOOLEAN, -- if true, indicates full support for Q.932 q95lFull BOOLEAN, -- if true, indicates full support for Q.95l q952Full BOOLM, -- if true, indicates full support fOr Q.952

q953Full BOOLEAN, --- if true, indicates full support for Q.953 q955Full BOOLEAN, -- if true, indicates full support for Q.955 q956Full BOOLEAN, -- if true, indicates full support for Q.956 q957Full BOOLEAN, -- if true, indicates full support for Q.957 q954Info Q954Details,

}

Q954Details ::= SEQUENCE

{

conferenceCalling BOOLEAN,

threePartyService BOOLEAN,

}

GloballyUniqueID ::= OCTET STRING (SIZE(l6))

ConferenceIdentifier::= GloballyUniqueID

RequestSeqNum ::= INTEGER (l..65535)

GatekeeperIdentifier ::= BMPString (SIZE(l..l28))

BandWidth::= INTEGER (0.. 4294967295)-- in l00s of bits

CallReferenceValue::= INThGER (0..65535)

EndpointIdentifier ::= BMPString (SIZE(l..l28))

ProtocolIdentifier::= OBJECT IDENTIFIER

-- shall be set to

-- {itu-t (0) recommendation (0) h (8) 2250 version (0) 2}

TimeToLive ::= INTEGER (l..4294967296) -- in seconds

CallIdentifier ::= SEQUENCE

{

guid GloballyUniqueID,

}

EncryptIntAlg::= CHOICE

{

nonStandard NonStandardParametef,

isoAlgorithm OBJECT IDENTIFIER, -- defined in ISO/IEC 9979 }

NonI soIntegrityMechanistt = CHOICE

{

hMAC-MD5 NULL,

hMAC-iso101l8-2-s EncryptIntAlg, -- accordng to ISO/IEC l0ll8-2 using -- EncryptIntAlg as core block encryption algorithm

-- (short MAC)

hMAC-isol0l l8-2-l EncryptIntAlg, -- according tO ISO/IEC 10ll8-2 using -- EncryptIntAlg as core block encryption algorithm

-- (long MAC)

hMAC-iso101l8-3 OBJECT IDENTIFIER, --- according to ISO/IEC 10ll8-3 using -- OID as hash function (OID is SHA-l, RIPE-MDl60,

-- RIPE-MDl28)

}

IntegrityMechanism f t= CHOICE

{

nonStandard NonStandardParametef,

digSig NULL, --- indicates to apply a digital signature

iso9797 OBJECT IDENTIFIER, ---- accordng to ISO/IEC 9797 using OID as

-- core encryption algorithm (X-CBC MAC)

nonIsoIM NonIsoIntegrityMechanism,

}

ICV::= SEQUENCE

{

algorithmOID OBJECT IDENnFIER,

icv BIT STRING

-- or signatUre

}

FastStartToken::= ClearToken (WITH COMPONENTS { ..., timeStamP, dhkey, generalID }) EncodedFastStartTken:f= TYPE-IDENTIFIER. &TyPe (FastS tartTOken)

CryptOH323Token::= CHOICE

{

cryptoEPPwdHash SEQUENCE

{

alias AliasAddress, -- alias of entity generating hash

timeStamP TimeStamp, -- timestamp used in hash

token HASHED{ EncodedPwdCCrtToken a- generalID set to 'alias' -- }

},

cryptoGKPwdHash SEQUENCE

{

gatekeePerId G ate keeperIdenti fi er,

timeStamP TimeStamp, -- timestamP used in hash

token HASHED { EncodedPwdCertToken -- }

},

cryptoEPPwdEncr ENCRYPTED

{ EncodedPwdCertTOken - generalID set to Gatekeeperid -- },

cryptoGKPwdEncr ENCRYPTED

{ EncodedPwdCertTken - generalID set to GatekeePerid ---- },

cryptoEPCert SIGNED { EncodedPwdCertToken },

cryptoGKCert SIGNED { EncodedPwdCertToken },

cryptoFastStart SIGNED { EncodedFastStartToken },

nestedcryptoToken CryptoH323Token,

}

DataRate:f= SEQUENCE

{

nonStandardData NonStandardParameter OPTIONAL, channelRatC BandWidth,

channelMultiplier INTEGER (l..256) OPTONAL, }

SupportedPrfix:f= SEQUENCE

{

nonStandardData NonStandardParameter OPTIONAL, prefix AliasAddress,

}

RasMessage::= CHOICE

{

gatekeeperRequest GatekeePethequest,

gatekeeperoonfirm GatekeePerConfirm,

gatekeeperReject GatekeePempect,

registf8tionRequest RegistrationRequest,

registrationConfirm Registr8honConfirm,

registrationReject RegistrationReect,

unregistrationRequest UnregistrahonRequest,

unregistrationConfirm UnregistrationConfirm,

unregistrationReject Unregistf8tionReect,

adndssionRequest AdmissionRequest,

adndssionConfirm AdmissionConfirm,

adndssionReject AdmissionReject,

bandwidthRequest BandwidthRequest,

bandwidthConfirm BandwidthConfirm,

bandwidthReject BandwidthReject,

disengageRequest DisengageRequest,

disengageConfirm DisengageConfirm,

disengageReject DisengageRriect,

locationRequest LocationRequest,

locationConfirm LocationConfirm,

locationReject LocationReject,

infoRequest InfoRequest,

infoRequestResponse InfoRequestResponse,

nonStandardMessage NonStandardMessage,

uhaownMessageResponse UnknownMes sageResponse, requestInProgress Requestbogress,

resourcesAvai lableIndicate Re sourc e sAvailab leIndic ate, resourcesAvailableConflrm Re source sAvai lableConfirm, infoRequestAck InfoRequestAck,

infoRequestNak InfoRequestNak

l

GatekeeperRequest ::= SEQUENCE -- (GRQ)

}

requestSeqNum RequestSeqNum,

protocolIdentifier ProtocolIdentifier,

nonStandardData NonStandardParameter OPTIONAL,

rasAddress TransportAddress,

endPointType EndpointType,

gatekeeperIdentifier GatekeeperIdelltifier OPTIONAL,

callServices QseriesOptions OPTIONAL,

ndPointAlias SEQUENCE OF AliasAddress OPTIONAL,

alternateEndpoints SEQUENCE OF Endpoint OPTIONAL,

tokens SEQUENCE OF ClearToken OPTIONAL,

cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,

authenticationCaPability SEQUENCE OF Authentic ationMechani sm OPTIONAL, algorithmOIDs SEQUENCE OF OBJECT IDENTIFIER OPTIONAL,

integrity SEQUENCE OF IntegrityMechanism OPTIONAL,

integrityCheckValue ICV OPTIONAL

}

GatekeeperConfirm::= SEQUENCE -- (GCF)

{

requestSeqNum RequestSeqNum,

protocolIdentifier ProtocolIdentifief,

nonStandardData NonStandardParameter OPTIONAL,

gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,

rasAddress TransportAddrss,

altemateGatekeeper SEQUENCE OF AltemateGK OPTIONAL,

authenticationMode AuthenticationMechanism OPTIONAL,

tokens SEQUENCE OF ClearToken OPTIONAL,

cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,

algorithmOID OBJECT IDENTIFIER OPTIONAL,

integrity SEQUENCE OF IntegrityMechanism OPTIONAL,

integrityCheckValue ICV OPTIONAL

GatekeeperReject::= SEQUENCE -- (GRJ)

{

requestSeqNum RequestSeqNum,

protocolIdentifier ProtocolIdentifief,

nonStandardData NonStandardParameter OPTIONAL,

gatekeePerIdentifier GatekeePerIdentifier OPTIONAL,

rejectReason GatekeePerRej ectReason,

alternateGatekeeper SEQUENCE OF AltemateGK OPTIONAL,

altGKisPermanent BOOLEAN OPTONAL,

tokens SEQUENCE OF ClearToken OPTIONAL,

cryptoTokens SEQUENCE OF CryptoH323TOken OPTONAL, integrityCheckValue ICV OPTIONAL

}

GatekeeperRejectReason::== CHOICE

{

resourceUnavailable NULL,

tetrinalExcluded NULL, -- perInission failure, not a resource failure invalidRevision NULL,

undefinedReason NULL,

securityDenial NULL

}

RegistrationRequest::= SEQUENCE -- (RRQ)

{

requestSeqNum RequestSeqNum,

PfotocolIdentifier ProtocolIdentifier,

nonStandardData NonStandardParameter OPTIONAL,

discoveryComPlete BOOLEAN,

callSignalAddress SEQUENCE OF TransportAddress,

rasAddress SEQUENCE OF TransportAddress,

terminalType EndPointrype,

terminalAlias SEQUENE OF AliasAddress OPTONAL, gatekeeperIdentifier GatekeePerIdentifier OPTONAL,

endpointVendor VendorIdentifier,

altenateEndpoints SEQUENCE OF EndPoint OPTONAL, timeToLive TimeToLive OptONAL,

tokens SEQUENCE OF CIearToken OPTIONAL.

cryptoTokens SEQUENCE OF CryptoH323TOken OPTONAL, integrityCheckValue ICV OPTIONAL,

keepAlive BOOLEAN,

endpointIdentifier EndpointIdentifier OPTIONAL,

willSupplyUUIEs BOOLEAN

}

RegistrationConfirm ::= SEQUENCE -- (RCF)

{

requestSeqNum RequestSeqNum,

protocolIdentifier ProtocolIdentifief,

nonStandardData NonStandardParameter OPTlONAL,

callSignalAddress SEQUENCE OF TransportAddress,

terminalAlias SEQUENCE OF AliasAddress OPTIONAL, gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,

endpointIdentifier EndpointIdentifier,

altemateGatekeeper SEQUENCE OF AlternateGK OPTIONAL, timeToLive TimeToLive OPTIONAL,

tokens SEQUENCE OF ClearToken OPTIONAL,

cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL, integrityCheckValue ICV OPTIONAL,

willRespondToIRR BOOLEAN,

preGrantedARQ SEQUENCE

{

makeCall BOOLEAN,

useGKCallSignalAddressTOMakeCall BOOLEAN,

answeICall BOOLEAN,

useGKCallSignalAddressToAnswer BOOLEAN,

} OPTIONAL

}

RegistrationReject::= SEQUENCE ---- (RRJ)

{

requestSeqNum RequestSeqNum,

protocolIdentifier ProtocolIdentifief,

nonStandardData NonStandardParameter OPTIONAL, rejectReason RegistrationRejectReason,

gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,

alternateGatekeeper SEQUENCE OF AltemateGK OPTIONAL, altGKisPermanent BOOLEAN OPTIONAL,

tokens SEQUENCE OF ClearToken OPTIONAL,

cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL, integrityCheckValue ICV OPTONAL

}

RegistrationRejectReason:: = CHOICE

{

discoveryRequired NULL, -- registrtion pendssion has aged invalidRevision NULL,

invalidCa1lSignalAddress NULL,

invalidRASAddress NULL, --- supplied address is invalid duplicateAlias SEQUENCE OF AliasAddress,

,

-- alias registered to another endpoint

invalidTerminalrype NULL,

undefinedReason NULL,

transportNotSupportCd NULL, -- one or more of the tr8nsports tran sportQOSNotSupported M, - - endPoint Qo S not suPPorted resourceUnavailable N'ULL, -- gatekeePer resources exhausted invalidAlias NULL, -- alias not consistent with gatekeeper rules securityDenial NULL

}

UnregistrationRequest::= SEQUENCE --- (URQ)

{

requestSeqNum RequestSeqNum,

callSignalAddress SEQUENCE OF TransportAddress, endpointAlias SEQUENCE OF AliasAddress OPTONAL, nonStandardData NonStandardParameter OPTIONAL, endPointIdenti fier EndPoi ntIdentifier OPTIONAL,

alternateEndPoints SEQUENCE OF Endpoint OPTIONAL, gatekeePerIdentifier GatekeeperIdentifier OPTONAL, tokens SEQUENCE OF ClearToken OPTIONAL,

cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL, integrityCheckValue ICV OPTONAL,

reason UnregRequestReason OPTONAL

}

UnregRequestReason ::= CHOICE

{

reregistrationRequired NULL,

ttlExpired NULL,

securityDenial NULL,

undefinedReason NULL,

}

' UnregistrationConfirm::= SEQUENCE -- (UCF)

{

requestSeqNum RequestSeqNum,

nonStandardData NonStandardParameter OPTIONAL, tokens SEQUENCE OF ClearToken OPTIONAL,

cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL, integrityCheckValue ICV OPTIONAL

}

UnregistraionReject::= SEQUENCE -- (URJ)

{

requestSeqNum RequestSeqNum,

rejectReason UnregRejectReason,

nonStandardData NonStandardParameter OPTIONAL,

alternateGatekeePer SEQUENCE OF AltemateGK OPTIONAL, altGXisPermanent BOOLEAN OPTIONAL,

tokens SEQUENCE OF ClearTOken OPTIONAL,

cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL, integrityCheckValue ICV OPTIONAL

}

UnregRejectReason::= CHOICE

{

notCurrentlyRegistered NULL,

callInProgress NULL,

undefinedReason NULL,

pennissionDenied NULL, --- requesting user not allowed to unregister -- specified user

securityDenial NULL

}

AdInissionRequest::= SEQUENCE -- (ARQ)

{

requestSeqNum RequestSeqNum,

callrype CallType,

callModel CallModel OPTIONAL,

endpointIdentifier EndPointIdentifier,

destinationInfo SEQUENCE OF AliasAddress OPTIONAL, destCallSignalAddress TransportAddress OPTIONAL,

destExtraCallInfo SEQUENCE OF AliasAddress OPTIONAL, srcInfo SEQUENCE OF AliasAddress,

srcCallSignalAddress TransportAddress OPTIONAL,

bandWdth BandWdth,

callReferenceValue CallReferenceValue,

nonStandardData ARQsNonStandardParameter OPTIONAL, callServices QseriesOptions OPTIONAL,

conferenceID ConferenceIdentifier,

activeMC BOOLEAN,

answerCall BOOLEAN,

canMapAlias BOOLEAN,

callIdentifier,

srcAltematives SEQUENCE OF Endpoint OPTIONAL,

destAltematives SEQUENCE OF EndPoint OPTIONAL,

gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,

tokens SEQUENCE OF ClearToken OPTIONAL,

cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL, integrityCheckValue ICV OPTIONAL,

transportQOS TransportQOS OPTIONAL,

willSupplyUUIEs BOOLEAN

}

ARQsNonStandardParameter:: = CHOICE

{

callerControl SEQUENCE

{

},

cardControl CHOICE

{

stepl SEQUENCE

{

cardNumber LA5STmNG(SIZE (l..l28)) (FROM ("0l23456789#*,,,)), password OCTET STRING(SIZE (l..32)),

userName OCTET STRING(SIZE (1..32)) OPTIONAL,

},

cI

{

},

step2 SEQUENCE

{

newPassword OCTET STRING(SIZE (l..32)),

},

},

}

CallType::= CHOICE

{

pointToPoint NULL,

oneToN NULL,

nToOne NULL,

nTON NULL,

}

CallModel::= CHOICE

{

direct NULL,

gatekeeperRouted NULL,

}

TransportQOS::= CHOICE

{

endpointControlled NULL,

gatekeeperoontrolled NULL,

noControl NULL,

}

AdndssionConfirm::= SEQUENCE -- (ACF)

{

requestSeqNum RequestSeqNum,

bandWidth BandWidth,

callModel CallModel,

destCallSignalAddress TransportAddress,

irrFrequency INTEGER (1..65535) OPTIONAL,

nonStandardData ACFsNonStandardParamter OPT ONAL, destinationInfo SEQUENCE OF AliasAddress OPTONAL, destExtraCallInfo SEQUENCE OF AliasAddress OPTIONAL, destinationType EndPointType OPTIONAL,

remoteExtensionAddress S EQUENC E OF AJ iasAddress OPTONAL,

altemateEndPoints SEQUENCE OF EndPoint OPTIONAL, tokens SEQUENCE OF ClearWn OPTONAL,

cryptoMns SEQUENCE OF CryptoH323Token OPTIONAL, integrityCheckValue ICV OPTONAL,

transportQOS TransportQOS OPTIONAL,

willRespondToIRR BOOLEAN,

uuiesRequested UUIEsRequested

}

ACFsNon StandardParameter:: = CHOICE

{

callerControl SEQUENCE

{

},

cardControl CHOICE

{

stepl SEQUENCE

{

remainMoney INTEGER (0..4294967295) OPTIONAL, },

step2 SEQUENCE

{

remainTime INTEGER (0.. 4294967295 ) OPTONAL, },

step3 SEQUENCE

{

},.

},

}

UUIEsRequested ((= SEQUENCE

{

setup BOOLEAN,

callProceeding BOOLEAN,

connect BOOLEAN,

alerting BOOLEAN,

userInformation BOOLEAN,

releaseCompletC BOOLEAN,

facility BOOAN,

progress BOOLEAN,

empty BOOLEAN,

}

AdmissionReject ::= SEQUENCE --- (ARJ)

{

requestSeqNum RequestSeqNum,

rejectReason AdmissionRejectReason,

nonStandardData ARJsNonStandardParameter OPTIONAL, alternateGatekeeper SEQUENCE OF AltemateGK OPTIONAL, altGKisPermanent BOOLEAN,

tokens SEQUENCE OF ClearToken OPTIONAL,

cryptoTokens SEQUENCE OF CryptoH323TOken OPTIONAL, integrityCheckValue ICV OPTIONAL

}

ARJsNonStandardParameter:: = SEQUENCE

{

errorReason ARJsErrorReason OPTIONAL,

}

ARJsErrorReason::= CHOICE

{

invalidUser NULL,

noexistUser NULL,

passwordError NULL,

systCInError NULL,

cardOnline NULL,

userForbiddened NULL,

reserved NULL,

passwordChangeInvalid NULL,

outofMoney NULL,

}

AdndssionRejectReason ::= CHOICE

{

calledpartyNotRegi stered NULL, - -- can'translate address invalidPermission NULL, --- pendssion has expired

requestDenied NULL, -- no bandwidth available

undefinedReason NULL,

callerNotRegistered NULL,

routeCallToGatekeeper NULL,

invalidEndPointldentifier NULL,

resourceUnavailable NULL,

securityDenial NULL,

qosControlNotSupported NULL,

incomPleteAddress NULL

}

BandwidthRequest::= SEQUENCE -- (BRQ)

{

requestSeqNum RequestSeqNum,

endPointIdentifier EndPointIdentifier,

conferenceID ConferenceIdentifier,

callReferenceValue CallReferenceValue,

callTyPe CallType OPTIONAL,

bandWidth BandWidth,

nonStandardData NonStandardParameter OPTIONAL, callIdentifier CallIdentifier,

gatekeeperIdentifier GatekeePerIdentifier,

tokens SEQUENCE OF ClearToken OPTIONAL,

cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL, integrityCheckValue ICV OPTIONAL,

answeredCaIl BOOLEAN

}

BandwidthConfirm ::= SEQUENCE -- (BCF)

{

requestSeqNum RequestSeqNum,

bandWidth BandWidth,

nonStandardData NonStandardParameter OPTIONAL, tokens SEQUENCE OF ClearToken OPTIONAL,

cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL, integrityCheckValue ICV OPTIONAL

}

BandwidthReject::= SEQUENCE -- (BRJ)

{

requestSeqNum RequestSeqNum,

rejectReason BandRejectReason,

allowedBandWidth BandWidth,

nonStandardData NonStandardParameter OPTIONAL,

alternateGatekeeper SEQUENCE OF AlternateGK OPTIONAL, altGKisPermanent BOOLEAN,

tokens SEQUENCE OF ClearToken OPTIONAL,

cryptoTokens SEQUENCE OF CryptOH323Token OPTIONAL, integrityCheckValue ICV OPTIONAL

}

BandRejectReason::= CHOICE

{

notBound NULL, --- discovery permission has aged

invalidConferenceID NULL, -- possible revision

invalidPermission NULL, - - true permi s sion violation insufficientResources NULL,

invalidRevision NULL,

undefinedReason NULL,

securityDenial NULL

}

LocationRequest:;= SEQUENCE -- (LRQ)

{

requestSeqNum RequestSeqNum,

endPointIdentifier EndpointIdentifier OPTIONAL,

destinationInfo SEQUENCE OF AliasAddress,

nonStandardData NonStandardParameter OPTIONAL,

replyAddress TransportAddress,

sourceInfo SEQUENCE OF AliasAddress OPTIONAL,

canMaPAlias BOOLEAN, -- can handle alias address

gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,

tokens SEQUENCE OF ClearToken OPTIONAL,

cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL, integrityCheckValue ICV OPTONAL

}

LocationConfirm:t= SEQUENCE -- (LCF)

{

requestSeqNum RequestSeqNum,

callSignalAddress TransportAddrss,

rasAddress TransportAddress,

nonStandardData NonStandardParameter OPTIONAL,

destinationInfo SEQUENCE OF AliasAddress OPTONAL, destExtraCallInfo SEQUENCE OF AliasAddrss OPTIONAL, destinationType EndPointType OPTIONAL,

remo teExtensionAddress SEQUENCE OF AliasAddrss OPTIONAL, altemateEndPoints SEQUENCE OF Endpoint OPTIONAL, tokens SEQUENCE OF ClearToken OPTIONAL,

cryptoTokens SEQUENCE OF CryptoH323TOken OPTIONAL, integrityCheckValue ICV OPTIONAL

}

LocationReject::= SEQUENCE -- (LRJ)

{

requestSeqNum RequestSeqNum,

rejectReason LocationReectReason,

nonStandardData NonStandardParameter OPTIONAL,

altenateGatekeeper SEQUENCE OF AltemateGK OPTIONAL, altGKisPermanent BOOLEAN,

tokens SEQUENCE OF ClearToken OPTIONAL,

cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL, integrityCheckValue ICV OPTIONAL

}

LocationRejectReason:;= CHOICE

{

notRegistered NULL,

invalidPermission NULL, -- exclusion by adndnistratOr or featUre

requestDenied NULL, -- can't find location

undefinedReason NULL,

securityDenial NULL

}

DisengageRequest::= SEQUENCE --- (DRQ)

{

requestSeqNum RequestSeqNum,

endpointIdentfier EndPointIdentifier,

conferenceID ConferenceIdentfier,

callReferenceValue CallReferenceVaiue,

disengageReason DisengageRCason,

nonStandardData D RQ sNo n S tand ardParameter OPTIONAL, callIdentifier CallIdentifier,

gatekeeperIdentifier GatekeeperIdentifier

tokens SEQUENCE OF ClearToken OPTIONAL,

cryptoTokens SEQU'ENCE OF CryptoH323Token OPTIONAL, integrityCheckValue ICV OrnONAL,

answeredCall BOOLEAN

}

DRQsNonStandardParameter:: = SEQUENCE

{

srcCallSignalAddress TransportAddress,

destCallSignalAddress TransportAddress,

acctStartTime INTEGER (0..4294967295), -- in seconds acctSessionTime INThGER (0..4294967295), -- in seconds serviceType DRQsServiceType,

inBytes INTEGER (0..4294967295) OPTIONAL, --- in bytes outBytes INTEGER (0..4294967295) OPTIONAL, -- in bytes encodecType AndioCaPability OPTIONAL,

decodecfype AudioCaPability OPTIONAL,

terminalCauge DRQsTerminalCause,

}

DRQsServiceType::= CHOICE

. {

phone NULL,

ipFax NULL,

}

DRQsTerminalCause::= CHOICE

{

callerHookOn NULL,

calledHookOn NULL,

networkError NULL,

establishedFailed NULL,

}

DisengageReason ::= CHOICE

{

forcedDrop NULL, -- gatekeeper is forcing the drop

normalDrop NULL, -- associated with normal drop

undefinedReason NULL,

}

DisengageConfirm::= SEQUENCE -- (DCF)

{

requestSeqNum RequestSeqNum,

nonStandardData NonStandardParameter OPTIONAL, tokens SEQUENCE OF ClearToken OPTIONAL,

cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL, integrityCheckValue ICV OPTIONAL

}

DisengageReject::= SEQUENCE -- (DRJ)

{

requestSeqNum RequestSeqNum,

rejectReason Di sengageRe ectReason,

nonStandardData NonStandardParameter OPTIONAL,

alternateGatekeeper SEQUENCE OF AlternateGK OPTIONAL, altGKisPermanent BOOLEAN,

tokens SEQUENCE OF ClearToken OPTIONAL,

cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL, integrityCheckValue ICV OPTIONAL

}

DisengageRejectReason::= CHOICE

notRegistered NULL, -- not registered with gatekeeper requestToDropOther NULL, -- -

securityDenial NULL

}

InfoRequest::== SEQUENCE -- (IRQ)

{

requestSeqNum RequestSeqNum,

callReferenceValue CallReferenceValue,

nonStandardData NonStandardParameter OPTIONAL, replyAddress TransportAddress OPTIONAL,

callIdentifier CallIdentifier,

tokens SEQUENCE OF ClearToken OPTIONAL,

cryptoTokens SEQUENCE OF CryptoH323TOken OPTIONAL, integrityCheckValue ICV OPTIONAL,

uuiesRequested UUIEsRequested OPTIONAL

}

InfoRequestResponse ff= SEQUENCE -- (IRR)

{

nonStandardData NonStandardParameter OPTIONAL, requestSeqNum RequestSeqNum,

endpointType EndpointType,

endpointIdentifier EndPointIdentifier,

rasAddress TransportAddress,

callSignalAddress SEQUENCE OF TransportAddress, endPointAlias SEQUENCE OF AliasAddress OPTIONAL, perCallInfo SEQUENCE OF SEQUENCE

{

nonStandardData NonStandardParameter OPTIONAL, callReferenceValue CallReferenceValue,

conferenceID ConferenceIdentifier,

originator BOOLEAN,

audio SEQUENCE OF RTPSession OPTIONAL,

video SEQUENCE OF RTPSession OPTIONAL,

data SEQUENCE OF TransportChannelInfo OPTIONAL, h245 TransportChannelInfo,

callSignaling TransportChannelInfo,

calltype CallType,

bandWidth BandWdth,

callModel CallModel,

..',

callIdentifier CallIdentifier,

tokens SEQUENCE OF ClearWn OPTIONAL,

cryptoTokens SEQUENCE OF CryptoH323TOken OPTIONAL, substituteConflDs SEQUENCE OF ConferenceIdentifier, pdu SEQUENCE OF SEQUENCE

{

h323pdu H323-UU-PDU,

sent BOOLEAN -- TRUE is sent, FALSE is received } OPTIONAL

} OPTIONAL,

tokens SEQUENCE OF ClearToken OPTIONAL,

cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL, integrityCheckValue ICV OPTIONAL,

needResponse BOOLEAN

}

TransportChannelInfo::= SEQUENCE

{

sendAddress TransportAddress OPTONAL,

recvAddress TransportAddress OPTIONAL,

}

RTPSession:= SEQUENCE

{

rtpAddress TransportChannelInfo,

rtcpAddress. TransportChannelInfo,

cname PrintableString,

ssrc INTEGER (1..4294967295),

sessionId INTEGER (l..255),

associatedSessionIds SEQUENCE OF INTEGER (1.. 25 5 ), }

InfoRequestAck::= SEQUENCE -- (IACK)

{

requestSeqNum RequestSeqNum,

nonStandardData NonStandardParameter OPTIONAL, tokens SEQUENCE OF ClearToken OPTIONAL,

cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL, integrityCheckValue ICV OPTIONAL,

InfoRequestNak:;= SEQUENCE -- (INAK)

{

requestSeqNum RequestSeqNum,

nonStandardData NonStandardParameter OPTIONAL, naxeason InfoRequestNaxeason,

alternateGatekeeper SEQUENCE OF AlternateGK OPTIONAL, altGKisPermanent BOOLEAN,

tokens SEQUENCE OF ClearToken OPTIONAL,

cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL, integrityCheckValue ICV OPTIONAL,

}

InfoRequestNakReason ::= CHOICE

{

notRegistered NULL,

securityDenial NULL,

undefinedReason NULL,

}

NonStandardMessage::= SEQUENCE

{

requestSeqNum RequestSeqNum,

nonStandardData NonStandardParametef,

tokens SEQUENCE OF ClearToken OPTIONAL,

cryptoTokens SEQUENCE OF CryptoH323Tokn OPTIONAL, integrityCheckValue ICV OPTIONAL

}

UnknownMessageResponse::=SEQUENCE-(XRS)

{

requestSeqNum RequestSeqNum,

tokens SEQUENCE OF ClearTok6n OPTIONAL,

cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL, integrityCheckValue ICV OPTlONAL

}

RequestInProgress::= SEQUENCE -- (RIP)

{ requestSeqNum RequestSeqNum,

nonStandardData NonStandardParameter OPTIONAL, tokens SEQUENCE OF ClearToken OPTIONAL,

cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL, integrityCheckValue ICV OPTIONAL,

delay INTEGER(l..65535),

}

Resource sAvail ableIndicate:: = S EQUENCE -- - (RAI) {

requestSeqNum RequestSeqNum,

protocolIdentifier ProtocolIdentifief,

nonStandardData NonStandardParameter OPTIONAL, endpointIdentifier EndpointIdentifier,

protocols SEQUENCE OF SupportedProtocols,

almostOutOfResources BOOLEAN,

tokens SEQUENCE OF ClearToken OPTIONAL,

cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL, integrityCheckValue ICV OPTIONAL,

}

ResourcesAvailableConfirm :: = SEQUENCE - - (RAC ) {

requestSeqNum RequestSeqNum,

protocolIdentifier ProtocolIdentifier,

nonStandardData NonStandardParameter OPTIONAL, tokens SEQUENCE OF ClearToken OPTIONAL,

cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL, integrityCheckValue ICV OPTIONAL,

}

END -- of ASN. l

消息编码算法参见X.680和X.691