H.323 - 國立台北科技大學
Download
Report
Transcript H.323 - 國立台北科技大學
Speaker :
Hsuan-Ling Weng
Advisor :
Dr. Kai-Wei Ke
Date:
2015/11/05
1
VoIP
SIP
Features
Network elements
Operation
Messages
Message flow of calling procedure
Typical H.323 Stack
Network Elements
Zone
RAS
H.225 Call Signaling
H.245
Message flow of calling procedure
H.323
References
2
Voice over IP (VoIP) is a methodology and group of technologies for
the delivery of voice communications and multimedia sessions over
Internet Protocol (IP) networks, such as the Internet.
Other terms commonly associated with VoIP are IP telephony, Internet
telephony, broadband telephony, and broadband phone service.
3
Session Initiation Protocol (SIP) is the core protocol for initiating,
managing and terminating sessions in the Internet.
These sessions may be text, voice, video or a combination of these.
SIP sessions involve one or more participants and can use unicast or
multicast communication.
4
Find out IP Address(Location) of users
Session Initiation
Session Management
5
User agent:
A SIP user agent (UA) is a logical network end-point used to create or
receive SIP messages and thereby manage a SIP session.
A SIP UA can perform the role of a user agent client (UAC), which sends SIP
requests, and the user agent server (UAS), which receives the requests and
returns a SIP response.
6
Proxy server
The proxy server is an intermediary entity that acts as both a server and a
client for the purpose of making requests on behalf of other clients.
A proxy server primarily plays the role of routing, meaning that its job is to
ensure that a request is sent to another entity closer to the targeted user.
7
Registrar
A registrar is a SIP endpoint that accepts REGISTER requests and places the
information it receives in those requests into a location service for the
domain it handles.
8
Redirect server
A user agent server that generates 3xx (Redirection) responses to requests it
receives, directing the client to contact an alternate set of URIs.
The redirect server allows proxy servers to direct SIP session invitations to
external domains.
9
Redirect Server
2
3
Registrar
4
5
6
SIP Proxy Server
1
9
10
SIP Proxy Server
7
8
11
User Agent
Client
RTP Stream
User Agent
Server
10
There are two different types of SIP messages: requests and responses.
SIP request
REGISTER: Used by a UA to register to the registrar.
INVITE: Used to establish a media session between user agents.
ACK: Confirms reliable message exchanges.
CANCEL: Terminates a pending request.
BYE: Terminates an existing session.
OPTIONS: Requests information about the capabilities of a caller without the
need to set up a session. Often used as keepalive messages.
REFER: indicates that the recipient (identified by the Request-URI) should
contact a third party using the contact information provided in the request.
(call transfer)
11
SIP response
Provisional (1xx): Request received and being processed.
Success (2xx): The action was successfully received, understood, and
accepted.
Redirection (3xx): Further action needs to be taken (typically by sender) to
complete the request.
Client Error (4xx): The request contains bad syntax or cannot be fulfilled at
the server.
Server Error (5xx): The server failed to fulfill an apparently valid request.
Global Failure (6xx): The request cannot be fulfilled at any server
12
UAC
UAS
Proxy Server
INVITE
INVITE
100 Trying
180 Ringing
180 Ringing
200 OK
200 OK
ACK
ACK
Conversation
BYE
200 OK
13
H.323 was first approved in February 1996, the same month that the
first SIP draft was published.
Designed to operate over complex networks, such as the Internet.
First standards-based “Voice over IP”.
H.323 is a multimedia conferencing protocol, which includes voice,
video, and data conferencing, for use over packet-switched networks.
14
H.323 – “Umbrella” document that describes the usage of H.225.0,
H.245, and other related documents for delivery of packet-based
multimedia conferencing services.
H.225.0 – Describes three signaling protocols (RAS, Call Signaling, and
“Annex G”).
H.245 – Multimedia control protocol (common to H.310, H.323, and
H.324).
15
16
Terminal
T
Terminals are the client endpoints on the LAN that provide real-time, two-
way communications. All terminals must support voice communications;
video and data are optional.
All H.323 terminals must also support H.245, which is used to negotiate
channel usage and capabilities. Three other components are required:
Q.931 for call signaling and call setup, a component called
Registration/Admission/Status (RAS), which is a protocol used to
communicate with a Gatekeeper; and support for RTP/RTCP for sequencing
audio and video packets.
17
Gateway
GW
The Gateway is composed of a “Media Gateway Controller” (MGC) and a
“Media Gateway” (MG), which may co-exist or exist separately
The MGC handles call signaling and other non-media-related functions
The MG handles the media
Gateways interface H.323 to other networks, including the PSTN, H.320
systems, other H.323 networks (proxy), etc.
18
MCU
MCU
Responsible for managing multipoint conferences (two or more endpoints
engaged in a conference)
The MCU contains a Multipoint Controller (MC) that manages the call
signaling and may optionally have Multipoint Processors (MPs) to handle
media mixing, switching, or other media processing
19
Gatekeeper
GK
The Gatekeeper is an optional component in the H.323 system which is used
for admission control and address resolution
The gatekeeper may allow calls to be placed directly between endpoints or
it may route the call signaling through itself to perform functions such as
follow-me/find-me, forward on busy, etc.
20
A single Gatekeeper and all of the devices connected to it
There may be more than one physical Gatekeeper device that
provides the logical Gatekeeper functionality for a zone
GW
MCU
GK
T
There is no imposed limit
on the number or types of
devices in a zone
21
Registration, Admission, and Status
Used between the endpoint and its Gatekeeper in order to
Allow the Gatekeeper to manage the endpoint
Allow the endpoint to request admission for a call
Allow the Gatekeeper to provide address resolution functionality for the
endpoint
RAS signaling is required when a Gatekeeper is present in the network
(i.e., the use of a Gatekeeper is conditionally mandatory)
22
RAS messages generally have three types
Request (xRQ)
Reject (xRJ)
Confirm (xCF)
Exceptions are
Information Request / Response / Ack / Nak
The “nonStandardMessage”
The “unknownMessage” response
Request in Progress (RIP)
Resource Available Indicate / Confirm (RAI/RAC)
Service Control Indication / Response
23
Typically, RAS communications is carried out via UDP through port 1719
(unicast) and 1718 (multicast)
For backward compatibility sake, an endpoint should be prepared to
receive a unicast message on port 1718 or 1719
Only UDP is defined for RAS communications
GRQ and LRQ may be send multicast, but are generally sent unicast
All other RAS messages are sent unicast
24
Gatekeeper Request - GRQ
When an endpoint comes to life, it should try to “discover” a gatekeeper by
sending a GRQ message to a Gatekeeper
Address of a Gatekeeper may be provisioned
The endpoint may send a multicast GRQ
Address of a Gatekeeper may be found through DNS queries (Annex O/H.323)
There may be multiple Gatekeepers that could service an endpoint, thus an
endpoint should look through potentially several GCF/GRJ messages for a
reply
25
Gatekeeper Registration – RRQ
Once a Gatekeeper has been “discovered”, the endpoint will then register
with the Gatekeeper in order to receive services
Communication is exclusively via port 1719 (unicast)
Endpoint will send an RRQ and expect to receive either an RCF or RRJ
26
Admission Request - ARQ
Once registered with a Gatekeeper, the endpoint may only initiate or
accept a call after first requesting “admission” to the Gatekeeper via the
ARQ message
The Gatekeeper may accept (ACF) or reject (ARJ) the request to place or
accept a call
27
Location Request - LRQ
The LRQ message is sent by either an endpoint or a Gatekeeper to a
Gatekeeper in order to resolve the address of an alias address (e.g., to turn
a telephone number into an IP address)
While LRQs may be sent by endpoints, they are almost exclusively sent by
Gatekeepers
28
Bandwidth Request - BRQ
Subsequent to initial call setup, the endpoint may wish to use more or less
bandwidth than previously indicated via the BRQ
Note that, while it is syntactically legal for the GK to send a BRJ to a request asking
for less bandwidth, this makes no sense and should not be done
An endpoint must send a BRQ subsequent to initial call establishment if the
actual bandwidth utilized is less than initially requested
29
Disengage Request - DRQ
Once a call completes, the endpoint sends a DRQ message to the
Gatekeeper
The Gatekeeper may send a DRJ, but this is strongly discouraged… if an
endpoint is sending a DRQ, it means the call is over and cannot be
“rejected”!
The Gatekeeper may also send a DRQ to force the endpoint to disconnect
the call
30
Information Request - IRQ
The IRQ is sent by the Gatekeeper to the endpoint to request information
about one or all calls
There are many details about each call that are reported to the
Gatekeeper in the Information Response (IRR) message
31
H.225.0 Call Signaling is used to establish calls between two H.323
entities
It was derived from Q.931 (ISDN call signaling), but was modified to be
suitable for use on a packet based network
H.225.0 also borrows messages from Q.932
32
H.225.0 Call Signaling Messages
Setup
Progress
Call Proceeding
Status
Alerting
Status Inquiry
Information
Setup Acknowledge
Release Complete
Notify
Facility
Connect
33
34
H.245 provides “control” to the multimedia session that has been
established
Terminal capability exchange
Master/Slave determinations
Logical channel signaling
Closing the H.245 Control Channel
35
Four H.245 Message Types(and examples of each)
Request
masterSlaveDetermination
terminalCapabilitySet
Response
masterSlaveDeterminationAck
terminalCapabilitySetAck
Command
sendTerminalCapabilitySet
Indication
userInput
36
Capabilities Exchange
The capability exchange (or “caps exchange”) allows two endpoints to
exchange information about what media capabilities they possess, such as
G.711, G.723, H.261, and H.263
Along with the type of media, specific details about the maximum number
of audio frames or samples per packet is exchanged, information about
support for silence suppression, etc. are exchanged
Using this capability information, endpoints can select preferred codes that
are suitable to both parties
37
Master Slave Determination
Once capabilities are exchanged, the endpoints negotiate master and
slave roles
The master in a point to point conference really only has the power to
indicate when channels are in conflict (e.g., when one the other terminal
tries to open a channel that is not compatible)
The slave device must yield to the requests of the master device and
reconfigure channels appropriately
38
Logical Channel Signaling
Channels are opened by exchanging “openLogicalChannel” (OLC)
messages
The OLC will contain one of the capabilities that was previously advertised
by the other endpoint
Within the OLC, a “session ID” is assigned
Session 1 is the default audio session, 2 is the default video session, and 3 is
the default data session
39
Closing the H.245 Control Channel
H.323 specifies that, in order to close the H.245 Control Channel, the
endpoint must:
Close all open logical channels
Wait for all acknowledgement messages
Send an “endSession” command
Wait for an “endSession” from the other side
In reality, most endpoint vendors don’t bother– they just use the H.225.0
Release Complete command to terminate the call and close the H.245
Control Channel, as that is much more efficient
40
Caller PC
Callee PC
Gatekeeper
Gatekeepr Request
Gatekeeper Confirm
Registration Request
Registration Confirm
Gatekeep Request
Gatekeeper Confirm
RAS
Registration Request
Registration Confirm
Admission Request
Admission Confirm
Setup
H.225
Call Proceeding
Admission Request
RAS
Admission Confirm
Alerting
H.225
Connect
Master Slave Determination
H.245
Terminal Capability Set
Open Logical Channel
RTP or RTCP
Voice communication
.
.
.
RTP or RTCP
41
[1] Voice over IP, URL: https://en.wikipedia.org/wiki/Voice_over_IP
[2] Session Initiation Protocol,
URL:
https://en.wikipedia.org/wiki/Session_Initiation_Protocol#SIP_messages
[3] H.323 Papers and Presentations,
URL: https://www.packetizer.com/ipmc/h323/papers/
[4] 黃威穎著,「H.323網路電話音訊監控與錄製系統之研製」,碩士論文,國
立台北科技大學資訊工程系碩士班,台北,2008。
[5] 蔡家瑞著,「客製化H.323協定之至慧型網路電話監控語錄音系統」,碩士
論文,國立台北科技大學資訊工程系碩士班,台北,2009。
[6] 張以磊著,「分散式網路事件分析紀錄系統之研製」,碩士論文,國立台北
科技大學資訊工程系碩士班,台北,2013。
42
43