1 / 43

H.323

H.323. Clara Technical Meeting – Caracas 2005. Paulo Aguiar Tel. (0xx21) 2598-3165 e-mail: aguiar@nce.ufrj.br Núcleo de Computação Eletrônica e Departamento de Computação /IM da UFRJ. VoIP Call. Steps User location Find IP destination address based on E,164 number or alias

adrina
Download Presentation

H.323

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. H.323 Clara Technical Meeting – Caracas 2005 Paulo Aguiar Tel. (0xx21) 2598-3165 e-mail: aguiar@nce.ufrj.br Núcleo de Computação Eletrônica e Departamento de Computação /IM da UFRJ

  2. VoIP Call • Steps • User location • Find IP destination address based on E,164 number or alias • Negotiation of call parameters • Type of CODEC, etc • Establishment of voice media channels • UDP ports for sending RTP/RTCP

  3. VoIP Signaling Protocols • ITU-T H.323 • Standardized by the telecommunications community • Focus on interoperability and control • IETF SIP (Session Initiation Protocol) • Standardized by the Internet community • Focus on flexibility and easiness of Web integration • Others • Skype, MGCP/Megaco/H.248, SIGTRAN

  4. H.323 History • Beginning: ITU-T SG-16 (May 1995) • H.323 v1, June 1996 • H.323 v2, Feb 1998 • H.323: Packet-based multimedia communication systems • H.323 v3, Feb 2000 • H.323 v4, Mar 2001 • H.323 v5, Jul 2003

  5. PSTN Heritage Telephone numbering addressing ISDN signaling messages encapsulation Standardized longer Large number of products (especially among traditional telecommunications equipment manufacturers) H.323 Elements Gatekeeper: manages user registration, status and admission (RAS) Gateway H.323/PBX: translates transmission formats and communication procedures between H.323 and the telephone network H.323 Terminal: multimedia communication endpoint Conference server: supports conferences involving three or more terminals

  6. ITU-T H.323 • H.225 RAS • Call Establishment - Q.931/H.225 • Media Control - H.245 • Security - H.235

  7. H.225.0 - RAS • Requisitions for Registration/Admission/Status • Contemplates • GK discovery and registration • Destination location • Call admission and bandwidth changes • Status information for resources and calls • RAS functionality was introduced in H.323 sometime later and uses UDP to avoid TCP latency

  8. Q.931/H.225.0 • Uses some ISDN signaling messages: • Setup • Call Proceeding (optional) • Alerting • Connect • Release complete • Status, Status Enquiry (optional) • Facility (optional) • Messages are sent over a TCP connection

  9. H.245 • Media control • Media description and control • Terminal capabilities transfer and negotiation • Control of logical channels used for media transportation

  10. H.323 Gatekeeper • Server used for terminal registration and capable of: • RAS messages processing • Optionally route H.225/H.245 signaling • Optionally route media flows

  11. RAS Messages

  12. Once GK is found (thru RAS or statically configured), terminal registers sending RRQ (Registration Request) RRQ may contain a list of aliases or telephone number the terminal wants to be associated with, and current IP address Registration can be soft state and also indicate call signaling transport address for H.225 Terminal Registration RRQ (reg request) UDP port 1719

  13. Terminal Registration in GK

  14. GK sends a unique identifier to the terminal in a RCF (Registration Confirm) msg If field “CanMapAlias” is set, GK can alter associated aliases, returning changes in RCF GK can also redirect terminal to other GKs using RRJ (Registration Reject) to reject registration Terminal Registration RCF (reg confirm) RRJ

  15. ARQ contains Bidirectional bandwidth estimate, including audio and video if necessary Call signaling model (if direct or routed by GK) Destination information E.164 or alias Call ID (global and unique) Other information ACF returns bandwidth to be used , IP transport address and port for Q.931/H.225 signaling Q.931 Authorization to Start or Accept a Call ARQ (admission req) UDP port 1719 ACF (admission conf)

  16. Authorization • Terminal always asks for GK authorization when starting or receiving a call • GK performs basic admission control • Limit number of calls • Limit total bandwidth

  17. GK Signaling Models • Direct Signaling • GK acts redirecting communication to allow terminals to establish call directly (point-to-point)

  18. Direct Signaling Mode

  19. Token • Optional parameter, transparently transferred if H.323 entity unaware of it • Token can contain a digital signature with call information (destination, gw, etc) • Token is copied from LCF and sent in the SETUP msg, allowing gw or GK at the destination to verify its authenticity and authorize operation

  20. GK Signaling Models • GK Routed • H.225 and H.245 signaling go thru GK, which acts as a proxy • GK sees and participates in all signaling, being able to change it, without accessing media flows

  21. GK Routed Model

  22. TCP Connections • Q.931/H.225 connection or call signaling channel • Default port (1720) • H.245 connection for control and media negotiation • After has been established, the H.225 connection can be released • This connection has to be maintained till the end of call

  23. Terminal A : Cesar Terminal B : Bill Alias : Fone, Email ... Alias : Fone, Email ... Canal(is) de Dados Canal(is) de Dados Canal(is) de Áudio Canal(is) de Áudio Canal(is) de Vídeo Canal(is) de Vídeo Canal de Sinalização de Chamada TCP 1720 Canal de Sinalização de Chamada TCP 1720 Canal de Controle H.245 Canal de Controle H.245 Canal RAS Canal RAS Call Basic Flow H.225 : SETUPCall reference : 10Call Identifier : 45442345H.323 ID of A : cesar_labvoipSource Type : PCCallType : Point To PointDestinationAddress : bill_microsoft SETUP ALERTING CONNECT H.225 : CONNECTCall reference : 10Call Identifier : 45442345EndPointType : PCH.245 Address (Ex : 10.2.3.4:8741)

  24. SETUP Msg • Initial message for call establishment, sent in H.225 signaling TCP (default port 1720) • Examples of header fields follows H.225 : SETUPCall reference : 10Call Identifier : 45442345H.323 ID of A : cesar_labvoipSource Type : PCCallType : Point To PointDestinationAddress : Bill@dominio2.com.br

  25. SETUP Header (I) • Type of H.225 msg = (0x05) indicates SETUP • Call Reference Value (CRV) (2 bytes) • Local unique call reference value, copied in all subsequent messages related to this call • Call Identifier • 128 bits, globally unique, allowing TCP connection sharing among many calls • Sent in UUI field (User-to-user IE) of all H.225.0-Q.931 msg • CID – Conference ID • Unique for all elements of a conference (used by MCU) • Source Type • Indicates nature of calling terminal • Ex.:PC, Gateway, MCU

  26. SETUP Header (II) • Source Address • List of aliases of caller • If caller has only an E.164 number, this number will also appear in the Calling Party field • Types of aliases defined in H.323 • E.164 , a regular phone number using only characters from the set <<0123456789#*,” • H.323-ID, unicode string • url-ID • transport-ID (ex. 10.2.3.4:1720) • Email-ID (ex. Bill@dominio2.com.br)

  27. SETUP Header (III) • Destination Address • E.164 address of destination • Also appears in the Called Party Number Information Element • DestExtraCallInfo • Additional list of E.164 addresses • For a H.320 128 kbps connection, the first E.164 address is given in the Destination Address and the second E.164 goes here • RemoteExtesionAddress • alias(es) of called party

  28. SETUP Header (IV) • SourceCallSignalAddress • H.225 signaling transport address to be used by destination • Should not be used behind firewalls/NAT which change TCP ports and IP addresses in packet headers • If this field is absent, destination extracts the transport address for returning Q.932 responses from the headers of received packets, (point to NAT) • When NAT gets responses to its own address, it replaces headers and forwards them to the source of SETUP, as it should be • EndpointIndentifier • Used when signaling is GK routed • CriptoTokens • Used for authentication and message integrity

  29. CONNECT Msg • Most important parameter: transport address for H.245 TCP connection • Can be sent earlier (Call Proceeding msg) or even in the SETUP • Call Reference field (from SETUP) is copied to CONNECT H.225 : SETUPCall reference : 10Call Identifier : 45442345H.323 ID of A : cesar_labvoipSource Type : PCCallType : Point To PointDestinationAddress : Bill@dominio2.com.br H.225 : CONNECTCall reference : 10Call Identifier : 45442345EndPointType : PCH.245 Address (Ex : 10.2.3.4:8741)

  30. Call Proceeding, Alerting, Connect, or ReleaseComplete can be sent right immediately after receiving SETUP One of them has to be received by caller before SETUP timer expires (4s) After sending Alerting, user has 3 min to accept or reject call Setup Call Proceeding Alerting ReleaseComplete Connect H.225 Message Sequence

  31. H.245 Control Channel • H.245 TCP connection used for • Master/slave determination • Capabilities determination • Opening of unidirectional logical channels • Closing of logical channels • H.225 TCP can be closed after CONNECT, but H.245 channel must stay open along the whole call • H.245 channel is unique for a call between two terminals: known as logical channel 0

  32. H.245 Messages

  33. Opening Logical Channels • Logical channels are unidirectional: from source to receiver • Necessary 2 channels for a normal audio conversation and 4 channels for videoconferencing • Source sends OpenLogicalChannel with RTCP port for receiving reports • ACK from receiver specify UDP port for media and RTCP/UDP port (default next odd port) • Receiver Reports (RTCP RR) have to be sent back to source in advertised RTCP port from source

  34. Terminal A : Cesar Terminal A : Bill Alias : Fone, Email ... Alias : Fone, Email ... Canal(is) de Dados Canal(is) de Dados Canal(is) de Áudio Canal(is) de Áudio Canal(is) de Vídeo Canal(is) de Vídeo Canal de Sinalização de Chamada TCP 1720 Canal de Sinalização de Chamada TCP 1720 Canal de Controle H.245 TCP 8741 Canal de Controle H.245 TCP Canal RAS Canal RAS Opening Logical Channel from A to B H.245 : OpenLogicalChannel Logical Channel 1, RR RTCP 7771 g711Alaw 64k Session number, payload type RTP Supressão de silêncio OpenLogicalChannel OpenLogicalChannel OpenLogicalChannelAck OpenLogicalChannelAck H.245 : OpenLogicalChannelAck Logical Channel 1 SR RTCP 9345 / RTP 9344

  35. Terminal A : Cesar Terminal B : Bill Alias : Fone, Email ... Alias : Fone, Email ... Canal(is) de Dados Canal(is) de Dados Canal(is) de Áudio RTP : UDP RTCP : UDP 7771 RTCP : UDP Canal(is) de Áudio RTP : UDP 9344 RTCP : UDP RTCP : UDP 9345 Canal(is) de Vídeo Canal(is) de Vídeo Canal de Sinalização de Chamada TCP 1720 Canal de Sinalização de Chamada TCP 1720 Canal de Controle H.245 TCP Canal de Controle H.245 TCP Canal RAS Canal RAS Conversação Ativa H.323 Fluxo RTP vindo de A para B RTCP RR RTCP SR Mensagens de Controle : LogicalChannel1 (RequestMode, Call Transfer, ... )

  36. Call Ending • Close all logical channels with H.245 CloseLogicalChannel msg • Close H.245 channel with endSessionCommand • Close other TCP connections • Send H.225 ReleaseComplete • In practice, terminals close only H.245 TCP channel

  37. Question: Excessive Latency • Round trip time for each of the following interactions • ARQ/ACF • SETUP/CONNECT • H.245 Capability exchange • Master/Slave determination • Logical channel establishment • Additional latency to open H.225 and H.245 TCP connections

  38. FastStart Procedure • Send information for opening logical channels in Q.931 messages (Setup, Proceeding or Connect) • Allows: • Receiving audio before CONNECT • Reducing delays related to RTT • For calls interacting with PBX is necessary to keep H.245 channel open to get DTMF tones

  39. FastStart IN SETUP (number=+33 12345678, fastStart : OpenLogicalChannel 1 -> receive G.711 RTP port 4432, RTCP port 4433, OpenLogicalChannel 2 -> send G.711, RTCP port 3454 ) SETUP PROCEEDING PROCEEDING (fastStart : OpenLogicalChannel 1 -> send, RTCP port 6554 OpenLogicalChannel 2 -> receive, RTP port 5634 RTCP port 5635) Network messages (like “dial your code and destination number” can be sent thru logical channel 1 Can answer directly thru logical channel 2 CONNECT CONNECT Call was tranferred and answered, so charging can be started

  40. H.245 tunneling • It is the encapsulation of one or more H.245 msgs in h245Control fields of any Q.931 message • If called terminal has the capability of handling H.245 encapsulation, all H.245 msgs can be exchanged in this way without the need to open an H.245 separated channel • On the contrary, the H.245 channel is open on the normal way

  41. H.245 Tunneling Call Flow H.225 Facility can be used for sending encapsulation if no other H.225 msgs is ready to be sent (very useful when GK is operating as a signaling proxy) SETUP (number=+33 12345678, John’s terminal H245 capabilities) SETUP (number=+33 12345678, John’s H245 terminal capabilities) CALL PROCEEDING CALL PROC. (GW H.245 capabilities, OpenLogicalChannel GW to Terminal) FACILITY (GW H.245 capabilities, OpenLogicalChannel GW to Terminal) setup FACILITY (OpenLogicalChannelACK, OpenLogicalChannel Terminal to GW) FACILITY (OpenLogicalChannelACK, OpenLogicalChannel Terminal to GW) FACILITY (OpenLogicalChannel ACK) FACILITY (OpenLogicalChannel ACK) ALERTING ALERTING CONNECT CONNECT

  42. Directory Gatekeeper

  43. Can operate in GK-Routed mode and as a media proxy Can operate as a directory gatekeeper Manipulates E.164 addressing (rewriting rules) Supports users behind NAT Registration can be based on H.235, LDAP or IP address Ease block of calls to destinations starting with some forbidden digit (like mobile services) Simple call detail record (CDR) generated for each call Has a simple and efficient control mechanism acting on port 7000 that can be used for managing users and configurations GnuGK Gatekeeper http://www.gnugk.org

More Related