Friday, February 9, 2007

RAS Protocol

Overview of RAS

RAS is a part of H.225.0, which is used between endpoint and GK, and implements management function. It includes the following seven categories of procedures:

I. GK discovery

An endpoint uses multicast mode to discover the homed GK. Afterwards, all RAS messages will be transmitted between the endpoint and its homed GK.

II. Terminal and GW registration

It is used by an endpoint to register its information with the GK, including alias and transmission layer address of call control channel. This procedure also includes deregistration procedure.

III. Location request

It is used by endpoint or GK to request from corresponding GK the transmission layer address of the call control channel of a certain endpoint.

IV. Terminal to GK admission

It is the first operation when a call is initiated, to request the GK whether the call can be originated.

V. Disengage

After a call is over, this procedure is used to notify the GK that the endpoint exits the call and resumes free.

VI. Terminal to GK requests for changes in bandwidth

During a call, the endpoint can request to GK for changes in bandwidth, and the GK determines whether to change.

VII. Status request

It is used by GK to request the power on/off status of terminal.

VIII. GW resource availability

It is used to report the available resources of a gateway to the GK.

RAS Messages

I. RAS message abbreviations

Table 4-1 Terminal and GK discovery messages

Message name

Message description

Message type

GRQ

Gatekeeper Request

Request

GCF

Gatekeeper Confirm

Response

GRJ

Gatekeeper Reject

Response

Table 4-2 Terminal and GW registration messages

Message name

Message description

Message type

RRQ

Registration Request

Request

RCF

Registration Confirm

Response

RRJ

Registration Reject

Response

Table 4-3 Terminal/GK unregistration messages

Message name

Message description

Message type

URQ

Unregistration Request

Request

UCF

Unregistration Confirm

Response

URJ

Unregistration Reject

Response

Table 4-4 Terminal to GK admission messages

Message name

Message description

Message type

ARQ

Admission Request

Request

ACF

Admission Confirm

Response

ARJ

Admission Reject

Response

Table 4-5 Location request messages

Message name

Message description

Message type

LRQ

Location Request

Request

LCF

Location Confirm

Response

LRJ

Location Reject

Response

Table 4-6 Disengage messages

Message name

Message description

Message type

DRQ

Disengage Request

Request

DCF

Disengage Confirm

Response

DRJ

Disengage Reject

Response

Table 4-7 Status request messages

Message name

Message description

Message type

IRQ

Info Request

Request

IRR

Info Request Response

Response

IACK

Info Acknowledgement

Response

INAK

Information Negative Acknowledgement

Response

Table 4-8 Terminal to gatekeeper requests for changes in bandwidth

Message name

Message description

Message type

BRQ

Bandwidth Request

Request

BCF

Bandwidth Confirm

Response

BRJ

Bandwidth Reject

Response

Table 4-9 GW resource availability messages

Message name

Message description

Message type

RAI

Resource Availability Indication

Request

RAC

Resource Availability Confirmation

Response

II. RAS message format

A RAS message is in text format, and consists of message name and some mandatory and optional parameters. These parameters vary in different messages. Figure 4-6 illustrates a generic architecture of RAS message.

Figure 4-6 Generic architecture of RAS message

III. RAS common message elements

This section describes ASN.1 structures that are used in more than one RAS messages.

1) RequestSeqNum

All RAS messages include requestSeqNum. It is assigned by the request party and increments by 1. Any associated response messages (success or failure) shall have the corresponding requestSeqNum returned with it. Retransmitted messages shall have the same requestSeqNum. For instance, GRQ message and the triggered GCF or GRJ share the same requestSeqNum.

2) ProtocolIdentifier

The protocolIdentifier “determines the vintage of the implementations involved”. It defines the version number of the H.225 Recommendation used.

3) NonStandardData

It carries the non-standard information such as proprietary data that is not defined in H.225 Recommendation.

4) RasAddress

This is the registration and status transport address for this endpoint. RAS messages are transmitted on top of UDP in well-known port 1719.

5) EndpointType

It specifies the type of the endpoint—terminal, GW or MCU. If the H.323 element has an MC, then the mc Boolean would be true.

6) GatekeeperIdentifier

For RAS request messages, it identifies the GK that will respond to the request. If it is not supplied, the request message is valid to all reachable GKs.

For RAS response messages, it identifies the GK that returns the response message.

7) CallServices

It provides information on support of optional Q-series protocols to GK and called terminal.

8) EndpointAlias

It is a list of alias addresses, by which other terminals may identify this terminal. An alias address can be an E.164 address or an H.323 identifier. An E.164 address contains access code and telephone number, the latter of which identifies the GW. An H.323 identifier is a string of subscriber name, E-mail name or other identifier name. One endpoint can have multiple alias addresses corresponding to PRQ messages. All these alias addresses are sent to GK in the PRQ messages, and are translated to the same transport-layer address.

9) AlternateEndpoints

When an endpoint calls another or an alias, GK returns a prioritized endpoint as called party. Alternatively, the GK can also return a sequence of prioritized endpoint alternatives for rasAddress, endpointType, or endpointAlias. This parameter is used to improve call connection rate.

10) DiscoveryComplete

It is included in RRQ message. Set to TRUE if the requesting endpoint has preceded this message with the gatekeeper discovery procedure; set to FALSE if registering only.

11) CallSignalAddress

This is the registration and status transport address for this endpoint. Q.931 messages are transmitted on top of TCP in well-known port 1720.

12) VendorIdentifier

The VendorIdentifier structure allows a vendor to identify a product. The vendor element allows identification in terms of country code, extension, and manufacturer code. productId and versionId are text strings that can provide product information.

For instance:

VendorIdentifier

Vendor

T35CountryCode:82

T35Extension:0

manufacturerCode:2290

productId:Cns H.323v2

versionId:2.0

13) TimeToLive

TimeToLive is a number seconds that a registration is to be considered valid. The parameter is included in PRQ and PCF messages.

14) KeepAlive

An endpoint can send a lightweight RRQ consisting of only rasAddress, keepAlive, endpointIdentifier, gatekeeperIdentifier, tokens and timeToLive. A gatekeeper in receipt of RRQ with a keepAlive field set to TRUE should ignore fields other than endpointIdentifier, gatekeeperIdentifier, tokens and timeToLive.

15) EndpointIdentifier

16) WillRespondToIRR

When it is set to True, the Gatekeeper will send an IACK or INAK message in response to an unsolicited IRR message with its needsResponse field set to TRUE.

17) RejectReason

It is included in RRJ message, and identifies the reason for the rejection of the registration.

18) CallType

Using this value, called party's GK can attempt to determine 'real' bandwidth usage. The default value is pointToPoint for all calls.

19) CallModel

H.323 Recommendation defines two transmission models for end-to-end (E2E) call signaling. When the callModel is gatekeeperRouted, the endpoint is requesting the GK mediated model. Either end knows the address of the other end, thus protecting the privacy of subscribers. The GK participates in the call signaling procedure. When the callModel is direct, the endpoint is requesting the direct terminal to terminal call model. After GK provides the transport-layer address of the called party, it no longer involves in the call signaling procedure.

20) EndpointIdentifier

It is a GK-assigned terminal identity string, such as E.164 addresses or H323_IDs.

21) DestCallSignalAddress

It is the translated call signaling transport address of destination terminal or GK itself. It includes IP address and port number of Q.931 messages.

22) SrcInfo

It is a sequence of alias addresses for the source endpoint, such as E.164 addresses or H323_IDs.

23) SrcCallSignalAddress

It is the transport address used at the source for call signaling.

24) BandWidth

The parameter is used by GK to control the number of H.323 terminals accessing PBN at the same time. The GK can reject a call when there is not enough bandwidth to support the call.

In ARQ and ACF messages, BandWidth is the number of 100 bits requested for the bidirectional call. For example, a 128 kbit/s call would be signalled as a request for 256 kbit/s. The bandwidth defined by GK in ACF can be less than the one defined in ARQ.

25) CallReferenceValue (CRV)

It is the CRV cited from Q.931. The call reference value is chosen at the side originating the call and has to be locally unique. This is used by a GK to associate the ARQ with a particular call. For instance: The call model in gatekeeperRouted, CRV at the two signaling segment—source terminal-GK and GK-destination terminal—are different. GK establishes the association between two CRVs, and ensures accurate transmission of signaling messages. Nevertheless, in the same signaling segment, all H.225.0 messages of a particular call, such as call admission, call establishment, supplementary service, bandwidth change, and call termination share the same CRV.

26) ConferenceID

It is the unique identification of the conference to which the call belongs. CID consists of three parts—endpoint network address, conference initiation time and protocol version. Each call of a particular conference has its own call ID. All calls shares the same conferenceID, which is adopted for all H.225.0 messages in the conference.

27) Call ID

It identifies a call. Unlike CRV, the call ID is a global parameter. In other words, from source endpoint to GK, from source endpoint to destination endpoint, and from destination endpoint to GK, all RAS messages and call signaling messages of a particular call share the same call ID. The call ID serves for E2E message transmission. It can be encapsulated and transmitted in the Q.931 user-to-user messages. It can be used in supplementary services. The call ID is assigned by the source endpoint.

28) ActiveMC

It defines whether the source endpoint has an active MC.

29) AnswerCall

If the answerCall flag is TRUE then the GK has pre-granted permission to the endpoint to answer calls without first sending an ARQ. If the answerCall flag is FALSE, the endpoint shall always send ARQ to get permission to answer a call.

30) WillSupplyUUIEs

If it is set to TRUE, it indicates that the endpoint will supply Q.931 message information in IRR messages if requested by the Gk.

IV. A typical example of RAS message

This is an example of RRQ message.

registrationRequest

requestSeqNum: 969

protocolIdentifier: 0.0.8.2250.0.3

discoveryComplete: True

callSignalAddress (TransportAddress)

Item 0 (ipAddress)

ipAddress

ip: 191.169.200.31 (191.169.200.31)

port: 1720

rasAddress (TransportAddress)

Item 0 (ipAddress)

ipAddress

ip: 191.169.200.31 (191.169.200.31)

port: 1719

terminalType (EndpointType)

terminal (TerminalInfo)

mc: False

undefinedNode: False

terminalAlias (AliasAddress)

Item 0 (h323_ID)

h323_ID: 666302

Item 1 (e164)

e164: 666302

endpointVendor (VendorIdentifier)

vendor (H221NonStandard)

t35CountryCode: 82

t35Extension: 0

manufacturerCode: 2290

productId: CnS H.323v2

versionId: 2.0

timeToLive: 3600

keepAlive: True

endpointIdentifier: 24-3

Line 1 indicates that the message is RRQ.

Line 2 indicates that the request sequence number is 969. The requestSeqNum is the same as the ones in the response messages RCF and RRJ, and is used to associate RRQ, RCF and RRJ.

Line 3 is protocolIdentifier, which defines the version number of the H.225 Recommendation used.

Line 4 is discoveryComplete, which is included in RRQ only. It is set to TRUE, which indicates that the requesting endpoint has preceded this message with the GK discovery procedure;

Line 5 to line 9 list the information of the endpoint that is transmitting Q.931 messages. IP address: 191.169.200.31; port number: 1720.

Line 10 to line 14 list the information of the endpoint that is transmitting RAS messages. IP address: 191.169.200.31; port number: 1719.

Line 15 to line 18 specify the type of the endpoint that is registering. In this example, it is an H.323 terminal.

Line 19 to 23 are content of the terminalAlias. It can be an E.164 address or an H.323 identifier. Here, the E.164 address is a telephone number 666302, and the H.323 identifier is also 666302.

Line 24 to 30 specify information about the endpoint vendor. Here, the country code is 82, extension is 0 and manufacturer code is 2290. productId and versionId are text strings that can provide product information.

Line 31 indicates that the registration is valid for 3600 seconds.

Line 32 has the following implications. An endpoint can send a lightweight RRQ consisting of only rasAddress, keepAlive, endpointIdentifier, gatekeeperIdentifier, tokens and timeToLive. A gatekeeper in receipt of RRQ with a keepAlive field set to TRUE should ignore fields other than endpointIdentifier, gatekeeperIdentifier, tokens and timeToLive. Therefore, keepAlive is set to False in the first RRQ message, and True for all the subsequent ones.

Line 32 is endpointIdentifier.

Basic Procedures

I. Overview of basic procedures

This section introduces three procedures:

l GK discovery

l Terminal registration and unregistration

l Terminal to GK admission and disengagement

Each procedure is explained with a generic example of several events. Each process step represents an individual event.

II. GK discovery

Figure 4-7 Message flow diagram of GK discovery procedure

Here is the generic process of a GK discovery procedure:

1) When the endpoint initiates, it sends a GRQ message, searching for GK.

The GRQ message includes parameters endpointType, rasAddress, and gatekeeperIdentifier.

2) GK analyzes the endpoint information, determines that it is a local endpoint, and returns a GCF message. Alternatively, GK rejects the registration request of the endpoint, and returns a GRJ message with cause of rejection.

III. Terminal registration and unregistration

An endpont must register itself in the GK discovery procedure before it can start and receive calls. The registration of endpoint to the GK includes the former under the control of the latter.

Figure 4-8 Message flow diagram of terminal registration and unregistration

Here is the generic process of a terminal registration and unregistration procedure:

1) The endpoint sends a RRQ message to the RAS address of GK. The RRQ message includes two important parameters: endpontAlias and callSignalAddress.

2) The GK analyzes the endpoint information, determines that it is a local endpoint, and returns a GCF message. The endpoint then informs the GK of its call signaling transport address. The GK will then record the endpointAlias and callSignalAddress in translation table. When the GK finds that the endpoint is not a locla one, it returns an RRJ message to reject the call.

3) When the endpoint is to end the service, or change the mapping relation between alias and address, it sends a URQ message to GK and requests for unregistration.

4) In normal cases, GK returns a URF message for confirmation. When GK finds no registration information of the endpoint, it returns a URJ message.

IV. Terminal to GK admission and disengagement

ARQ/ACF and DRQ/DCF are the first and last pair of messages in the whole call control procedure. The first pair indicates the start and the last pair indicates the end of the call.

Figure 4-9 Message flow diagram of terminal to GK admission and disengagement

1) When the endpoints initiates a call, it sends an ARQ message to GK for authentication and address resolution. In the ARQ message, the endpoint specifies the destination information and required bandwidth.

2) If the GK admits the call, it returns an ACF message. The ACF message includes two key parameters—bandWidth which specifies the allowed maximum bandwidth for the call, and destCallSignalAddress, which might be an endpoint or GK address depending on the call model in use. Alternatively, the GK rejects the call with an ARJ message.

3) When the call completes, the endpoint sends a DRQ message to the GK, requesting to disengage the call.

4) In normal cases, GK returns a DCF message for confirmation. If the GK refuses the request, it returns a DRJ message.

Tuesday, February 6, 2007

H.323 Overview

4.1 Overview of H.323

4.1.1 What is H.323

H.323 is an ITU-T Recommendation which covers the technical requirements for multimedia communications systems in a packet based network (PBN). H.323 entities (call control for instance) might be used in point-to-point sessions and multipoint conferences. The latest version of H.323 is Version 4 (V4).

H.323 describes the components of an H.323 system, including gateway (GW) between switched circuit network (SCN) and PBN, gatekeeper (GK) for address translation and access control, multipoint controller (MC) for controlling participation of terminals in multipoint conferences, multipoint processor (MP) for the centralized processing of audio, video, and/or data streams in a multipoint conference, and multipoint control unit (MCU) for providing the capability for terminals and gateways to participate multipoint conferences.

4.1.2 Definition of Terms

I. AAA

AAA stands for authentication, authorization, and accounting. Authentication is the process of checking whether the user has certain permission. Authorization is the process of granting the permission to the user, and allowing the user to access certain network resources. Accounting is the process of recording information when the subscriber is using a certain service. Such information is used to generate bills.

II. H.323 entity

An H.323 entity is any H.323 component, including terminals, gateways, gatekeepers, MCs, MPs, and MCUs. Terminals, gateways and MCU are known as endpoints. An endpoint can generate and terminate calls. It can generate and terminates media streams.

III. H.323 terminal

An H.323 terminal is an endpoint on the network which provides real-time, two-way communications with another H.323 terminal, gateway, or MCU. It can be integrated in a personal computer, or can be an independent device, such as Ethernet-phone or video phone.

An H.323 entity interacts with an end user directly. It can call and be called. It can also process media streams.

IV. Gatekeeper

The gatekeeper (GK) is an H.323 entity on the network that manages the H.323 terminals, gateways, and MCUs in a zone. A zone includes at least one terminal, and may or may not include GWs or MCUs. A zone has one and only one GK.

The GK provides the following services and features for the H.323 endpoints:

l Access control: Permitting the use of network resources after identity check.

l Address translation: Translating between alias and network address.

l Bandwidth management: Applying for initial bandwidth; controlling bandwidth variation.

l Charging management: Providing basic charging data to the billing center.

l Zone management: Managing terminals, GWs and MCUs in the zone.

l Call control: Providing supplementary services.

V. Gateway

An H.323 Gateway (GW) is an endpoint on the network which provides for real‑time, two-way communications between H.323 terminals on PBN and other ITU Terminals on an SCN or to another H.323 gateway. Conceptually, a GW performs conversions of media streams and signaling. The latter means that the GW serves as a terminal to convert the between user signaling and H.323 control signaling. If the GW connects two different networks, PBN and SCN for instance, it needs to convert between H.323 control signaling and signaling of the other type of network.

An H.323 GW interconnects different types of network, converts the format and content of signaling messages, and also the communication protocol procedures and media stream format.

VI. Multipoint conference

The components of multipoint conference are MC, MP, and MCU. They all serve for conferencing purpose.

The multipoint controller (MC) provides for the control of three or more terminals participating in a multipoint conference. The MC provides for capability negotiation with all terminals to achieve common levels of communications. It may also control conference resources such as who is multicasting video. When a terminal joins or leaves the conference, the MC will adjust the capability set sent to all terminals.

The multipoint processor (MP) processes the audio, video, and data streams in a multipoint conference, and returns the processed streams to each terminal. Therefore, the MP can implement the codec algorithms of all types of media streams.

The MC and MP are functional entities rather than physical ones.

The multipoint control unit (MCU) is an endpoint on the network which provides the capability for three or more terminals and GW to participate in a multipoint conference. It controls and manages the multipoint conference and all attended terminals, and performs mixing or switching of audio, video and data. The MCU consists of two parts: a mandatory MC and optional MPs.

There are two types of multipoint conferences:

l Centralized multipoint conference

A centralized multipoint conference is one in which all participating terminals communicate in a point-to-point fashion with an MCU. The terminals transmit their control, audio, video, and/or data streams to the MCU. The MC within the MCU centrally manages the conference. The MP within the MCU processes the audio, video, and/or data streams, and returns the processed streams to each terminal. Figure 4-1 shows a typical networking model of centralized multipoint conference.

Figure 4-1 A networking model of centralized multipoint conference

l Decentralized multipoint conference

A decentralized multipoint conference is one in which the participating terminals multicast or multi-unicast their audio and video to all other participating terminals without using an MCU. The MCU manages the control messages and data messages only. Figure 4-2 shows a typical networking model of decentralized multipoint conference.







Figure 4-2 A networking model of decentralized multipoint conference

l Hybrid multipoint conference

A hybrid multipoint conference is a mixture of centralized and decentralized multipoint conference. Figure 4-3 shows a typical networking model of hybrid multipoint conference.

Figure 4-3 A networking model of hybrid multipoint conference

VII. Radius

Radius stands for Remote Authentication Dial-In User Service. It is an AAA protocol widely in use. Radius specifies the format of the authentication, authorization and accounting messages interacting at Radius server and client.

4.1.3 Structure of H.323 Protocol Stack

Figure 4-4 shows the structure of H.323 protocol stack. The three layers at the bottom of the stack are bottom-layer protocols of PBN. In LAN, the physical layer is MAC-IPX. In IP network, the network layer is IP. There are two types of transport-layer protocols. One is unreliable transmission protocol like User Data Protocol (UDP), which transmits audio-visual signals in real time, and sends registration messages to GK. The other is reliable transmission protocol like Transmission Control Protocol (TCP), which transmits data signals, call signaling and media control messages.

Figure 4-4 H.323 protocol stack

The H.323 protocol processing software includes the following parts:

l All H.323 terminals shall have an audio codec. All H.323 terminals shall be capable of encoding and decoding speech according to Recommendation G.711. G.711 for PCM is mandatory and other G series Recommendations are optional. The most frequently-used Recommendations in IP telephony are G.729A and G.723.1.

l H.260 Recommendation series, such as H.261 and H.263 specify the video codec.

l The real-time audio and video encoded signals are all encapsulated in Real-time Transport Protocol (RTP) packets to provide timing information and datagram serial number for the receiving end to re-organize the signal. RTCP (Real-time Transport Control Real-time Transport Control Protocol (RTCP) is a part of RTP, and provides QoS monitoring feature.

l Recommendation T.120 is the default basis of data interoperability in multimedia conferences.

l H.225.0 is the core of H.323 protocol stack. It defines call signaling protocols and media stream packetization for packet-based multimedia communication systems. H.225.0 serves for call control. The principal function of H.225 is to establish call connections and H.245 control channel between H.323 endpoints before starting a call. H.225.0 also covers two other features: specifying the use of RTP/RTCP for media stream packetization and synchronization; defining RAS.

l RAS, which stands for Registration, Admission and Status, specifies a type of message used between endpoint and GK. The RAS signaling function uses H.225.0 messages to perform registration, admissions, bandwidth changes, status, and disengage procedures between endpoints and GKs.

l Recommendation H.225.0 is drafted based on Q.931 and Q.932. ITU-T Recommendation Q.931 is ISDN user-network interface layer-3 specification for basic call control.

l Recommendation H.245 is the control protocol for multimedia communication. It is designed for conference communication. H.245 is the control protocol in H.323 stack, and controls the establishment, maintenance and release of channels.

l RAS, H.225.0 and H.245 are used in SoftX3000. The network protocol is IP, and the transport protocol is UDP and TCP. RAS is borne over UDP; while H.225.0 and H.245 are borne over TCP.

RAS, H.225.0 and H.245 will be detailed in the following sections.

4.1.4 H.323 Applications in SoftX3000

SoftX3000 implements multimedia communication services in H.323. Figure 4-5 shows the H.323 applications in SoftX3000. SoftX3000 provides two H.323 interfaces.

1) One is called SoftX3000 H.323 domain, which is the interface of H.323 terminals under direct control of SoftX3000. SoftX3000 can serve as an H.323 GW and an H.323 GK at the same time.

2) The other is called H.323 domain, which interfaces the external H.323 network. SoftX3000 serves as an H.323 GW.

Figure 4-5 H.323 Applications in SoftX3000

I. SoftX3000 H.323 domain

l SoftX3000 services as an H.323 GK in the domain. All H.323 terminals in the domain must register at SoftX3000 before using any services provided by SoftX3000.

l SoftX3000 serves as an H.323 GW, and provides SIP, ISUP and MGCP interfaces to other networks.

l The H.323 interfaces support signaling and protocol of RAS, Q.931 and H.245.

l SoftX3000 verifies the username and password retrieved from the H.323 terminal.

II. H.323 domain

l SoftX3000, as an H.323 GW, must register at an external H.323 GK before using the services provided in the H.323 domain.

l The H.323 interfaces support signaling and protocol of RAS, Q.931 and H.245.

l SoftX3000 registers the addresses of all terminals connecting through itself to the external GK, including all H.323 terminals in the domain.

Search For Telecommunication

Google

JobServe Search Results - huawei role

List Portocol

 
template by free-web-template.blogspot.com