Title: H.323
1H.323
2Introduction
- We have learned
- IP, UDP, RTP
- The set-up and tear-down of the sessions
- Signaling
- In traditional telephony networks
- ISUP, Integrated Services Digital Network User
Part - A component of the Signaling System 7 (SS7)
3- H.323, ITU-T recommendation
- The 1st version, 1996
- Visual Telephone Systems and Equipment for Local
Area Network which Provide A Non-Guaranteed
Quality of Service - Version 2, 1998
- Packet-based Multimedia Communications Systems
- Widely implemented in VoIP solutions
- Version 4
4The H.323 Architecture
- Entities
- Terminals
- Gateways
- Gatekeepers
- MCUs
- Protocols
- Parts of H.225.0 - RAS, Q.931
- H.245
- RTP/RTCP
- Audio/video codecs
5H.323 Architecture
H.323 Network Architecture and Components
6(No Transcript)
7Terminals
- Endpoint on a LAN
- Supports real-time, 2-way communications with
another H.323 entity - Must support
- Voice - audio codecs
- Signaling and setup - Q.931, H.245, RAS
- Optional support
- Video
- Data
8(No Transcript)
9Gateways
- Interface between the LAN and the switched
circuit network - Mandatory Functions
- Transmission Format Translation
- Communication Procedure Translation
- Call Setup and Clearing On Both Sides
- Optional Function
- Media Format Translation
- Example IP/PSTN gateway
10(No Transcript)
11Gatekeepers
- Optional, but must perform certain functions if
present - e.g., Netmeeting does not use gatekeepers?
- Manage a zone (a collection of H.323 devices)
- Usually one gatekeeper per zone
- alternate gatekeeper might exist for backup and
load balancing - Typically a software application
- implemented on a PC, but can be integrated in a
gateway or terminal
12- Mandatory functions
- Address translation (routing)
- Admission control
- Minimal bandwidth control - request processing
- Zone management
- Optional functions
- Call control signaling - direct handling of Q.931
signaling between endpoints - Call authorization, bandwidth management, and
call management using some policy - Gatekeeper management information (MIB)
- Directory services
13MCUs
- MCU - Multipoint Control Unit
- Endpoint that supports conferences between 3 or
more endpoints - Can be stand-alone device or integrated into a
gateway, gatekeeper or terminal - Typically consists of multi-point controller (MC)
and multi-point processor (MP) - MC - handles control and signaling for conference
support - MP - receives streams from endpoints, processes
them, and returns them to the endpoints in the
conference
14 15Centralized Conference
- MCU handles both signaling (MC) and stream
processing (MP)
MCU (MCMP)
media stream (unicast)
control message
Terminal
Terminal
Terminal
16De-centralized Conference
- MCU handles only signaling
- streams go directly between endpoints
- In this case MCU functions without MP
MCU (MC)
media stream (multicast)
media stream (multicast)
control message
control message
Terminal
Terminal
media stream (multicast)
17Hybrid Multipoint Conference
Terminal
audio stream (unicast)
control message
MCU (MCMP)
video stream (multicast)
video stream (multicast)
audio stream (unicast)
control message
audio stream (unicast)
control message
Terminal
Terminal
video stream (multicast)
18Mixed Multipoint Conference
Decentralized side
Centralized side
Terminal
Terminal
MCU (MCMP)
Terminal
Terminal
Terminal
Terminal
multicast audio and video
unicast audio and video
19Overview of H.323 Singaling
- Audio codecs (G.711, G.723.1, G.728, etc.) and
video codecs (H.261, H.263) - Media streams transported on RTP/RTCP
- RTP carries actual media
- RTCP carries status and control information
- RTP/RTCP carried unreliably on UDP
- Signaling is transported reliably over TCP
- RAS - registration, admission, status (over UDP)
- Q.931 - call setup and termination
- H.245 - capabilities exchange
20H.323 Protocol Stack
21Overview of H.323 Protocols
- H.225.0, a two-part protocol
- A variant of ITU-T recommendation Q.931, the ISDN
layer 3 spec. - The set-up and tear-down of connections
- Call signaling or Q.931 signaling
- RAS signaling
- Registration, Admissions, and Status
- Between endpoints and gatekeepers
22- H.245, control protocols
- Used between two or more endpoints
- Manage the media streams of a session
- Capability exchange
- RAS, Q.931 and H.245
- RAS to obtain permission from a gatekeeper
- RAS channel
- Q.931 to establish communication and set up the
call - Call-signaling channel
- H.245 to negotiate media parameters
- H.245 control channel
- Media streams over logical channels
23H.323 Addressing
- An entity in the H.323 network
- A network address, an IP address
- URL, Uniform Resource Locator
- E.g., ras//GK1_at_somedomain
- A port number appended
- RAS, a default port number 1719
- The TSAP, Transport Service Access Point
- An id for a particular logical channel at a given
entity - GK UDP Discovery Port 1718
- GK UDP Reg and Status Port 1719
- Call-signaling TCP Port 1720
24- Terminal and gateways
- Have one or more aliases
- Can take any number of forms
- Must be unique within a zone
- E.164 number
- Codecs
- Video codec is optional
- H.261 QCIF
- G.711 (A-law and ?-law) is mandatory
25RAS Signaling
- Used between a GK and endpoints in its zone
- Since a GK is optional
- Defined in H.225.0
- GK Discovery
- Registration
- Unregistration
- Admission
- Bandwidth Change
- Endpoint Location GK (address translation)
- Disengage
- Status
- Resource Availability GW ? GK
- Non-standard
26Gatekeeper Discovery
- Find a suitably accommodating GK
- Several GKs, backup GK
- GRQ GK-request
- Known addresses, multicast 224.0.1.411718
- GK id if empty, soliciting GKs
- GCF GK-Confirm
- Optionally, indicating one or more GKs to try
- I cannot help you, but try the GK next door
- Only one GK can be choosed
- GRJ GK-Reject
- With a reason (e.g., a lack of resource)
27 28Endpoint Reg and Reg Cancellation
- To become controlled by a GK
- RegistrationRequest (RRQ)
- RAS signaling port is 1719
- Includes
- An address for RAS messages
- An address for call-signaling messages
- An alias
- One or more redundant addresses and aliases
- Optional TTL, keepAlive parameters
- RegistrationReject (RRJ)
- RegistrationConfirm (RCF)
- May assign an alias
29 - UnregistrationRequest (URQ)
- Cancel registration
- By endpoints
- By GKs
- UnregistrationConfirm (UCF)
- UnregistraionReject (URJ)
- For an unregistered endpoint
30Endpoint Location
- Request a real address of an alias
- LocationRequest (LRQ)
- To a GK or the GK discovery multicast address
- A GK can also send an LRQ
- LocationConfirm (LCF)
- A call-signaling address
- An RAS signaling address
- LocationReject (LRJ)
- The endpoint is not registered
31Admission
- Request permission from a GK to participate in a
call - AdmissionRequest (ARQ)
- The type of the call (e.g., two-party or
multi-party) - The endpoints own id
- A call identifier (a unique string)
- A call-reference value (an integer)
- Information of the other party
- Aliases
- Signaling address
- Bandwidth (mandatory)
- TransportQOS endpoint or GK to reserve the
resource
32- AdmissionConfirm (ACF)
- Many of the same parameters as ARQ
- A firm order from the GK
- callModel
- Optional in ARQ mandtory in ACF
- The endpoint sends call signaling directly or via
the GK - AdmissionReject (ARJ)
- With a reason
- Bandwidth, address translation, unregistered
endpoint
33 34 35- P regranted Admission
- to minimize call setup delay
- A GK provide an endpoint with admission in
advance - the RCF includes the parameter preGrantedARQ
36Bandwidth Change
- Request an increase or decrease in allocated
bandwidth - Can change without request if within the limit in
ACF - BandwidthRequest (BRQ)
- The new bandwidth, the call id
- BCF
- BRJ
- The GK can also request an endpoint to change
the bandwidth - The endpoint must comply
- Closely tied to H.245 signaling (for logical
channels) - A reduction in bandwidth
- Require an existing logical channel to be closed
and reopened
37- An example bandwidth change
38Status
- A GK be informed of the status of an endpoint
- InformationRequestResponse (IRR)
- Endpoint information
- The active call information
- Call id, call reference value, call type, the
bandwidth - RTP session information (CNAME, RTP/RTCP address,
etc.) - IRQ
- or ACF with an irrFrequency parameter
- willRespondToIRR parameter
- IACK
- INACK
- An IRR message in error
39Disengage
- The end of the call
- DisengageRequest (DRQ)
- Call id, call reference value, a disengage reason
(e.g., normalDrop) - DCF
- DRJ
- For an unregistered endpoint
- not a call party
- The GK might issue DRQ to an endpoint
- The endpoint must
- Close the session
- Respond to the GK with a DCF message
40- Resource Availability
- ResourceAvailableIndicate (RAI)
- An gateway sends to a GK
- The available call capacity and bandwidth for
each protocol - almostOutofResource parameter
- RseourceAvailableConfirm (RAC)
41- Service Control
- SCI (ServiceControlIndication)
- SCR (ServiceControlResponse)
- to enable advanced features
- Request in Progress
- RIP
- A given request takes longer the the timeout
period - The expected delay and the reason
- After timeout, the RAS message can be
retransmitted
42Call Signaling
- For the establishment and tear-down of calls
- Q.931 modified by rec. H.225.0
- Reuse some messages with few modifications
- Specify a number of rules regarding the usage of
information elements defined in Q.931 - E.g., no Transit Network Selection,
- Certain Q.931 mandatory information forbidden or
optional - A clever use of User-to-User information element
- Convey all of the extra information needed in
H.323 - E.g., H.245 addresses to be used for logical
channel
43- Setup
- The first call-signaling message
- Q.931 Protocol Discriminator
- A call reference
- Bearer Capability
- RTP information, such as payload type
- A gateway needs to perform the mapping
- User-to-User information element
- Mandatory Call id, call type, conference id, the
caller information - Optional source alias, destination alias, H.245
address, destination call-signaling address
44- Call Proceeding
- Optional
- call-establishment procedures are underway
- Mandatory
- Protocol discriminator, call reference, and
message type, user-to-user - User-to-user similar to the setup message
- Alerting
- The called user is being alerted
- The same parameters as Call Proceeding
45- Progress
- sent by a called gateway
- the Cause information in-band tones
- the User-to-User info. same as Call-Proceeding
- Connect
- The called party has accepted the call
- Must be sent if the call is to be completed
- Call Proceeding and Alerting are optional
- User-to-User information
- The same as Call Proceeding
- Plus Conference Identifier
- The same as Setup
46- Release Complete
- Terminate a call
- No Release message
- In ISDN, Release and Release Complete
- Cause information element, optional
- Otherwise, a Release reason in User-to-User
- Facility (Q.932)
- A call should be redirected
- Also be used for supplementary services
- User-to-User contains reason parameter
- E.g., routeCallToGatekeeper
47- Interaction between Call Signaling and H.245
- Call signaling call establishment and tear-down
- H.245 the negotiation and establishment of media
streams - When to begin the exchange of H.245 messages?
- Between the Setup and Connect messages
- Equipment dependent
48Call Scenarios
- Basic Call without GKs
- Reliable transport
49- Call with GKs and Direct-Endpoint Call Signaling
50- Gatekeeper routed/direct-endpoint call signaling
51- Gatekeeper-routed call signaling
- EP lt-gt GK lt-gt GK lt-gt EP
- ARJ with a cause code of routeCallToGatekeeper
- A Facility with a reason indicating the call be
rerouted
52(No Transcript)
53- Optional called-endpoint signaling
54H.245 Control Signaling
- To establish and control media streams
- Agree on the media formats and bandwidth
- Multiplexing multiple media streams
- No actual media
- A generic protocol for the control of media
streams - How it works in an H.323?
55H.245 Message Groupings
- Requests
- Require the recipient to perform some action and
response - Response
- In reply to Requests
- Commands
- Require the recipient to perform some action, but
no response is necessary - Indications
- Of an informational nature only
56The Concept of Logical Channels
- A Logical channel
- A unidirectional media path
- An IP address and port number
- Has a number
- A two-party conversation
- Two logical channels exist
- Potentially in different formats
- Or a bidirectional channel consists of two
logical channels - An endpoint issues Open Logical Channel
- Logical channel number and media information (RTP
payload type) - Far endpoint responds with Open Logical Channel
Ack - An RTP port
- Messages over H.245 Control Channel (channel
number 0) - Permanently open
57H.245 Procedures
- Capabilities Exchange
- Share information regarding receive and transmit
capabilities - Indicate a preference
- TerminalCabilitySet message
- A request message
- A sequence number plus the types of audio and
video formats - TerminalCapabilitySetAck
- Empty with a sequence number
- TerminalCapabilitySetReject
- With a reason for rejection
58- TerminalCapabilitySetRelease
- If no response within a timeout period
- SendTerminalCapabilitySet
- Request terminal Capability information
- Request to indicate all of its capabilities
- Or request confirmation about specific
capabilities - A command message that is replied
59Master-Slave Determination
- One of the endpoints needs to be the master
- Of particular importance for the setup of a
multi-party conference - Compare two pieces of information at each entity
- A terminal type value
- A terminal without an MC 50
- A gateway without an MC 60
- An MCU for audio, vedio 190
- An MCU managing a conference 240 (the highest)
- A random number (1..16,777,215)
- Master-Slave Determination message
- Master-Slave Determination Ack
- A master or slave indication
60- Establishing and Releasing Media Streams
- For media exchange
61Open Unidirectional Logical Channel
62- Open Bidirectional Logicl Channels
63- Closing Logic Channels and Ending a session
- CloseLogicalChannel, CloseLogicalChannelAck
- Only the initiator can issue
- Or the receiving end can humbly request
- A bidirectional channel can be closed by either
end - Once all logical channels are closed
- EndSession, EndSession commands
64Close a Logical Channel
65A Slow Start
Plus Capability exchange Master-slave
determination
66Fast-connect Procedure
- The Setup
- A faststart element
- OpenLogicalChannel requests
- No H.245 control channel
67- H.245 Message Encapsulation
- is encapsulated with Q.931 messages
- Set the element h245Tunneling true in the first
Q.931 message - The h245Control element contains the encapsulated
data - Conflict with the faststart element
- Use Facility
- when no Q.931 message can be used
- to start a separate H.245 control channel
68Conference Calls
- MC manage multi-point conference
- A Pre-Arranged Conference
- Establish a call with the MCU
- The MCU specifies the conference mode
- Communication Mode command (H.245)
- Specify all the sessions in the conference
- The transmit requirements of each endpoint, not
the receive requirements
69An Ad-Hoc Conference
- Expand an existing two-party call
- One the the endpoints must contain an MC
70New Features in H.323 Version 2
- H.235 - security and authentication, i.e.
passwords for registration with gatekeeper - H.450.x - supplementary services such as call
transfer and forwarding - Fast call setup
- Bypasses some setup messages
- Triggered by Q.931 Fast Start message that
contains basic capabilities
71New Features in H.323 Version 2 (cont.)
- Mechanism to specify alternative gatekeepers to
endpoints - Gatekeeper can request forwarding of Q.931
information on direct routed calls only RADCOM
can play back H.323 streams off a network a true
differentiation - Smoother integration of T.120 (optional standard
for data) - T.120 channel opened like any H.323 channel
72T.120 Data Channel
- Defined in T.120
- A Channel Between Endpoints
- A Reliable Channel
- Functions
- Transport Data
- Multipoint Delivery
- Internetworking
- PSTN, ISDN
- LAN (TCP/IP, IPX)
73The Future of H.323
- Inter-Gatekeeper Communication
- Current H.323 standards do not provide an
inter-zone model that scales well for large
networks - Inter-gatekeeper protocols being discussed to
enable gatekeepers to efficiently locate one
another to route calls to non-local address - Hierarchical arrangements with clearing house
gatekeepers have been proposed - This is critical for widespread interoperability
between VoIP service providers
74H.323 Version 3
- Modest improvements to H.323 version 2
- Maintaining and Reusing Connections
- Conference out of Consultation
- Caller ID
- Language Preference
- Usage of Annex E/H.323
- Remote Device Control
- Generic Capabilities
- Annex G/H.225.0 - Communication between
Administrative Domains
75- Annex E/H.323 - Protocol for Multiplexed Call
Signaling Transport - Annex F/H.323 - Simple Endpoint Type
- H.341 - H.323 Series MIB
- Supplementary Services
76H.323 Version 4
- Many new enhancements
- Gateway Decomposition
- Multiplexed Stream Transmission
- Supplementary Services
- Annex K/H.323
- Annex L/H.323
- H.450.8 - Name Identification Service
- H.450.9 - Call Completion
- H.450.10 - Call Offer
- H.450.11 - Call Intrusion
77- Additive Registrations
- Alternate Gatekeepers
- Usage Information Reporting
- Endpoint Capacity
- Caller Identification Service
- Tones and Announcements
- Mapping Aliases
- Indicating Desired Protocols
- Bandwidth Management
- Reporting Call Status
78- Enhancements to Annex D (Real-Time Fax)
- Call Linkage
- Tunneling
- QoS
- H.245 in Parallel with Fast Connect
- Generic Extensibility Framework
- H.323 URL
- Call Credit-Related Capabilities
- DTMF Relay via RTP
79The Decomposed Gateway
- Media gateway
- Media gateway controller