Title: Tema 5: Voz sobre IP VoIP
1Tema 5 Voz sobre IP (VoIP)
- SIP y H.323 Establecimiento y gestiĂłn de
sesiones multimedia - Asterisk
Thanks to RADCOM technologies H.
Shulzrinne Paul. E. Jones (from packetizer.com)
2Voice-over-Data (VoD) Enables New Applications
- Click to talk web sites for e-commerce
- Digital white-board conferences
- Broadcast audio and video over the Internet or a
corporate Intranet - Integrated messaging check (or leave) voice mail
over the Internet - Instant messaging
- Voicemail notifications
- Stock notifications
- Callback notification
- Fax over IP
- Etc.
3Sesion Initiation Protocol
- SIP is end-to-end, client-server session
signaling protocol - SIPs primarily provides presence and mobility
- Protocol primitives Session setup, termination,
changes,... - Arbitrary services built on top of SIP, e.g.
- Redirect calls from unknown callers to secretary
- Reply with a webpage if unavailable
- Send a JPEG on invitation
- Features
- Textual encoding (telnet, tcpdump compatible).
- Programmability.
- Post-dial delay 1.5 RTT
- Uses either UDP or TCP
- Multicast/Unicast comm. support
4Wheres SIP
- Application
- Transport
- Network
- Physical/Data Link
SDP
codecs
RTSP
SIP
RTP
DNS(SRV)
TCP
UDP
IP
Ethernet
5IP SIP Phones and Adaptors
2
1
- Are true Internet hosts
- Choice of application
- Choice of server
- IP appliances
- Implementations
- 3Com (3)
- Columbia University
- MCI WorldCom (2)
- Mediatrix (1)
- Nortel (4)
- Siemens (5)
Analog phone adaptor
3
Palm control
4
5
4
6SIP Components
- User Agents
- UAC (user agent client) Caller application that
initiates and sends SIP requests. - UAS (user agent server) Receives and responds to
SIP requests on behalf of clients accepts,
redirects or refuses calls. - Server types
- Redirect Server
- Accepts SIP requests, maps the address into zero
or more new addresses and returns those addresses
to the client. Does not initiate SIP requests or
accept calls. - Proxy Server
- Contacts one or more clients or next-hop servers
and passes the call requests further. Contains
UAC and UAS. - Registrar Server
- A registrar is a server that accepts REGISTER
requests and places the information it receives
in those requests into the location service for
the domain it handles. - Location Server
- Provides information about a caller's possible
locations to redirect and proxy servers. May be
co-located with a SIP server. - Gateways
- A Sip Gateway service allows you to call 'real'
numbers from your software or have a dedicated
'real' telephone number which comes in via VoIP
7SIP Trapezoid
DNS Server
Location Server
DNS
Registrar
SIP
Outgoing Proxy
Incoming Proxy
SIP
SIP
SIP
SIP
Originating User Agent
Terminating User Agent
RTP
8SIP Triangle?
DNS Server
Location Server
DNS
Registrar
Incoming Proxy
SIP
SIP
SIP
SIP
Originating User Agent
Terminating User Agent
RTP
9SIP Peer to Peer!
SIP
Originating User Agent
Terminating User Agent
RTP
10SIP Methods
- INVITE Requests a session
- ACK Final response to the INVITE
- OPTIONS Ask for server capabilities
- CANCEL Cancels a pending request
- BYE Terminates a session
- REGISTER Sends users address to server
11SIP Responses
- 1XX Provisional 100 Trying
- 2XX Successful 200 OK
- 3XX Redirection 302 Moved Temporarily
- 4XX Client Error 404 Not Found
- 5XX Server Error 504 Server Time-out
- 6XX Global Failure 603 Decline
12SIP Flows - Basic
13SIP INVITE
- INVITE sipe9-airport.mit.edu SIP/2.0
- From "Dennis Baron"tag1
c41 - To sipe9-airport.mit.edu
- Call-Id call-1096504121-2_at_18.10.0.79
- Cseq 1 INVITE
- Contact "Dennis Baron"
- Content-Type application/sdp
- Content-Length 304
- Accept-Language en
- Allow INVITE, ACK, CANCEL, BYE, REFER, OPTIONS,
NOTIFY, REGISTER, SUBSCRIBE - Supported sip-cc, sip-cc-01, timer, replaces
- User-Agent Pingtel/2.1.11 (WinNT)
- Date Thu, 30 Sep 2004 002842 GMT
- Via SIP/2.0/UDP 18.10.0.79
14Session Description Protocol
- IETF RFC 2327
- SDP is intended for describing multimedia
sessions for the purposes of session
announcement, session invitation, and other forms
of multimedia session initiation. - SDP includes
- The type of media (video, audio, etc.)
- The transport protocol (RTP/UDP/IP, H.320, etc.)
- The format of the media (H.261 video, MPEG video,
etc.) - Information to receive those media (addresses,
ports, formats and so on)
15SDP
- v0
- oPingtel 5 5 IN IP4 18.10.0.79
- sphone-call
- cIN IP4 18.10.0.79
- t0 0
- maudio 8766 RTP/AVP 96 97 0 8 18 98
- artpmap96 eg711u/8000/1
- artpmap97 eg711a/8000/1
- artpmap0 pcmu/8000/1
- artpmap8 pcma/8000/1
- artpmap18 g729/8000/1
- afmtp18 annexbno
- artpmap98 telephone-event/8000/1
16CODECs
- GIPS Enhanced G.711
- 8kHz sampling rate
- Voice Activity Detection
- Variable bit rate
- G.711
- 8kHz sampling rate
- 64kbps
- G.729
- 8kHz sampling rate
- 8kbps
- Voice Activity Detection
17SIP Flows - Registration
18SIP REGISTER
- REGISTER sipmit.edu SIP/2.0
- From "Dennis Baron"tag4
561c4561 - To "Dennis Baron"tag324
591026 - Call-Id 9ce902bd23b070ae0108b225b94ac7fa
- Cseq 5 REGISTER
- Contact "Dennis Baron"LINEID05523f7a97b54dfa3f0c0e3746d73a24
- Expires 3600
- Date Thu, 30 Sep 2004 004653 GMT
- Accept-Language en
- Supported sip-cc, sip-cc-01, timer, replaces
- User-Agent Pingtel/2.1.11 (WinNT)
- Content-Length 0
- Via SIP/2.0/UDP 18.10.0.79
19SIP REGISTER 401 Response
- SIP/2.0 401 Unauthorized
- From "Dennis Baron"tag4
561c4561 - To "Dennis Baron"tag324
591026 - Call-Id 9ce902bd23b070ae0108b225b94ac7fa
- Cseq 5 REGISTER
- Via SIP/2.0/UDP 18.10.0.79
- Www-Authenticate Digest realm"mit.edu",
nonce"f83234924b8ae841b9b0ae8a92dcf0b71096505216"
, opaque"regchange4" - Date Thu, 30 Sep 2004 004656 GMT
- Allow INVITE, ACK, CANCEL, BYE, REFER, OPTIONS,
REGISTER, NOTIFY, SUBSCRIBE, INFO - User-Agent Pingtel/2.2.0 (Linux)
- Accept-Language en
- Supported sip-cc-01, timer
- Content-Length 0
20SIP REGISTER with Credentials
- REGISTER sipmit.edu SIP/2.0
- From "Dennis Baron"tag4
561c4561 - To "Dennis Baron"tag324
591026 - Call-Id 9ce902bd23b070ae0108b225b94ac7fa
- Cseq 6 REGISTER
- Contact "Dennis Baron"LINEID05523f7a97b54dfa3f0c0e3746d73a24
- Expires 3600
- Date Thu, 30 Sep 2004 004653 GMT
- Accept-Language en
- Supported sip-cc, sip-cc-01, timer, replaces
- User-Agent Pingtel/2.1.11 (WinNT)
- Content-Length 0
- Authorization DIGEST USERNAME"6172531000_at_mit.edu
", REALM"mit.edu", NONCE"f83234924b8ae841b9b0ae8
a92dcf0b71096505216", URI"sipmit.edu",
RESPONSE"ae064221a50668eaad1ff2741fa8df7d",
OPAQUE"regchange4" - Via SIP/2.0/UDP 18.10.0.79
21SIP Flows Via Proxy
User A
22SIP Flows Via Gateway
23SIP INVITE with Record-Route
- INVITE sip37669_at_18.162.0.25 SIP/2.0
- Record-Route b07e28aa8f94660e8545313a44b9ed50
- From \"Dennis Baron\"tag
2c41 - To sip37669_at_mit.edu
- Call-Id call-1096505069-3_at_18.10.0.79
- Cseq 1 INVITE
- Contact \"Dennis Baron\"9
- Content-Type application/sdp
- Content-Length 304
- Accept-Language en
- Allow INVITE, ACK, CANCEL, BYE, REFER, OPTIONS,
NOTIFY, REGISTER, SUBSCRIBE - Supported sip-cc, sip-cc-01, timer, replaces
- User-Agent Pingtel/2.1.11 (WinNT)
- Date Thu, 30 Sep 2004 004430 GMT
- Via SIP/2.0/UDP 18.7.21.1185080branchz9hG4bK2c
f12c563cec06fd1849ff799d069cc0 - Via SIP/2.0/UDP 18.7.21.118branchz9hG4bKd26e44d
fdc2567170d9d32a143a7f4d8 - Via SIP/2.0/UDP 18.10.0.79
- Max-Forwards 17
24SIP Standards
- Just a sampling of IETF standards work
- IETF RFCs http//ietf.org/rfc.html
- RFC3261 Core SIP specification obsoletes
RFC2543 - RFC2327 SDP Session Description Protocol
- RFC1889 RTP - Real-time Transport Protocol
- RFC2326 RTSP - Real-Time Streaming Protocol
- RFC3262 SIP PRACK method reliability for 1XX
messages - RFC3263 Locating SIP servers SRV and NAPTR
- RFC3264 Offer/answer model for SDP use with SIP
25SIP Standards (cont.)
- RFC3265 SIP event notification SUBSCRIBE and
NOTIFY - RFC3266 IPv6 support in SDP
- RFC3311 SIP UPDATE method eg. changing media
- RFC3325 Asserted identity in trusted networks
- RFC3361 Locating outbound SIP proxy with DHCP
- RFC3428 SIP extensions for Instant Messaging
- RFC3515 SIP REFER method eg. call transfer
- SIMPLE IM/Presence - http//ietf.org/ids.by.wg/sim
ple.html - SIP authenticated identity management -
- http//www.ietf.org/internet-drafts/draft-ie
tf-sip-identity-02.txt
26NATs Hole Punching - Peers tras distinto NAT
27Elements of an H.323 System
- Terminals
- Multipoint Control Units (MCUs)
- Gateways
- Gatekeeper
- Border Elements
Referred to as endpoints
28Terminals
- Telephones
- Video phones
- IVR devices
- Voicemail Systems
- Soft phones (e.g., NetMeeting)
29MCUs
- 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
30Gateways
- 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, and other
H.323 networks (proxy)
31Gatekeeper
- The Gatekeeper is an optional component in the
H.323 system which is primarily 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 and forward
on busy
32Border Elements and Peer Elements
- Peer Elements, which are often co-located with a
Gatekeeper, exchange addressing information and
participate in call authorization within and
between administrative domains - Peer Elements may aggregate address information
to reduce the volume of routing information
passed through the network - Border Elements are a special type of Peer
Element that exists between two administrative
domains - Border Elements may assist in call
authorization/authentication directly between two
administrative domains or via a clearinghouse
33The Protocols (cont)
- H.323 is a framework document that describes
how the various pieces fit together - H.225.0 defines the call signaling between
endpoints and the Gatekeeper - RTP/RTCP (RFC 3550) is used to transmit media
such as audio and video over IP networks - H.225.0 Annex G and H.501 define the procedures
and protocol for communication within and between
Peer Elements - H.245 is the protocol used to control
establishment and closure of media channels
within the context of a call and to perform
conference control
34The Protocols (cont)
- H.450.x is a series of supplementary service
protocols - H.460.x is a series of version-independent
extensions to the base H.323 protocol - T.120 specifies how to do data conferencing
- T.38 defines how to relay fax signals
- V.150.1 defines how to relay modem signals
- H.235 defines security within H.323 systems
- X.680 defines the ASN.1 syntax used by the
Recommendations - X.691 defines the Packed Encoding Rules (PER)
used to encode messages for transmission on the
network
35Registration, Admission, and Status - RAS
- Defined in H.225.0
- Allows an endpoint to request authorization to
place or accept a call - Allows a Gatekeeper to control access to and from
devices under its control - Allows a Gatekeeper to communicate the address of
other endpoints - Allows two Gatekeepers to easily exchange
addressing information
36Registration, Admission, and Status RAS (cont)
RRQ
T
GK
RCF
(endpoint is registered)
ARQ
ACF
(endpoint may place call)
DRQ
(call has terminated)
DCF
37The H323 stack
38H323 Clients
You can find a bigger list at http//www.openh323
.org/h323_clients.html
39Tema 5 Voz sobre IP (VoIP)
- SIP y H.323 Establecimiento y gestiĂłn de
sesiones multimedia - Asterisk
40ASTERISK
- AplicaciĂłn de software libre que implementa los
servicios de una centralita telefónica de VoIP. - Permite conectar teléfonos de VoIP (que también
pueden ser programas de ordenador o
softphones), fax, lĂneas RDSI, lĂneas
telefĂłnicas analĂłgicas convencionales - Inicialmente desarrollada para Linux pero
actualmente existen versiones para casi todas las
plataformas. - Â trixbox (con t minĂșscula) es una distribuciĂłn
Linux (en concreto de CentOS) que incluye
Asterisk y FreePBX que es un entorno grĂĄfico
basado en WEB para una configuraciĂłn cĂłmoda y mĂĄs
sencilla de Asterisk.
41ASTERISK
- Soporta SIP, H.323, MGCP, IAX
- Se obtiene de ftp//ftp.digium.com
- Integra casi todos los codecs de audio
- Soporte de TelefonĂa Tradicional
- Soporte de TelefonĂa por Voz IP
- APIs para desarrollo de nuevos servicios y
aplicaciones - IntegraciĂłn con Bases de Datos
- IntegraciĂłn con Aplicaciones ya desarrolladas
- CĂłdigo Abierto sw libre
42IAX (Inter-Asterisk eXchange)
- Â Actualmente en la versiĂłn 2 (IAX2) es un
protocolo que aborda el problema de los NATs. - Utilizar el mismo puerto UDP para la señalización
y para la transmisiĂłn de los datos (RTP). - Simplifica el nĂșmero de agujeros
(hole-punching) a realizar en el NAT para que el
interlocutor en la intranet sea alcanzable desde
Internet. - Algunos autores abogan porque IAX serĂĄ el futuro
de VoIP y otros plantean que la regulaciĂłn en
tema de NATs, o incluso su desapariciĂłn con la
entrada de IPv6 dejaran a SIP en su posiciĂłn de
liderato.
43ConfiguraciĂłn bĂĄsica
44ConfiguraciĂłn bĂĄsica (2)
45ConfiguraciĂłn bĂĄsica (3)
46- IMPLEMENTACIĂN DE TELEFONĂA IP EN UNA
ORGANIZACIĂN - INTEGRACIĂN CISCO-ASTERISK
47CARACTERISTICAS CISCO CALL MANAGER
- SoluciĂłn de TelefonĂa IP de Cisco
- Distribuible
- Escalable (30000 lineas/servidor)
- Soporta muchos usuarios
- Sobre Windows o linux
- Soporta gran variedad de teléfonos
48PROTOCOLOS
- Sip
- H323
- MGCP (Megaco Protocol)
49OBJETIVO FINAL
50FUNCIONAMIENTO DE CALL MANAGER
51CONFIGURACIĂN CM
- Interfaz Web
- https//xxxxxx/CCMAdmin/Main.asp
52PARTITIONS
- Dividen el conjunto de route patterns en
subconjuntos de destinos alcanzables
identificados por un nombre. - Una particiĂłn contiene una lista de Route
Patterns - Facilitan el enrutado de llamadas dividiendo el
route plan en subconjuntos lĂłgicos que se pueden
basar en la organizaciĂłn, localizaciĂłn y tipo de
llamada
53Partitions
54SEARCH SPACES
- Es una lista ordenada de rutas de particiĂłn.
Estas rutas se asocian a los dispositivos
(teléfonos). - Determinan las particiones que los dispositivos
que hacen una llamada buscan para que esta
llamada se realice
55ROUTE PATTERNS
- String de digitos y un conjunto de acciones
- La llamada al destino se hace solo si se marca la
secuencia correcta definida en el route pattern - Se pueden usan caracteres especiales (x) para
hacer rangos, etc - Definir route patterns para diferentes tipos de
llamadas nacionales, sin salida.
56ESQUEMA DE NUMERACIĂN
- 67xxx Teléfonos IP HW (Vera)
- 68xxx SoftPhones
- 69xxx Teléfonos SIP
- 7xxxx Teléfonos analógicos (fuera del Call
Manager) - 11xxx Teléfonos móviles
57Route patterns
58GATEWAYS
- Debe haber uno por cada campus
- Otro que serĂĄ el router de salida general.
- Coste 3500-4000 euros
59Gateways
60TRUNK CON ASTERISK
- Es un enlace desde
- el Call Manager
- al Asterisk
- se enrutan llamadas
- de uno al otro
- Se define mediante
- la IP del Asterisk
61Trunk
62TELEFONOS
- un identificador, el Device Name (3 caracteres
mĂĄs la direcciĂłn MAC ) - una descripciĂłn (ej . la persona asociada)
- el pool al que corresponde
- su estado (registrado o no)
- la dirección IP del teléfono sólo se muestra si
el teléfono estå registrado
63Teléfonos
64Teléfonos II
65Teléfonos III
Teléfono Cisco
Teléfono SIP 300 Euros
45-50 Euros ConfiguraciĂłn desde el CM
http//x.y.z.w9999/
SIP_ADDITIONAL.CONF
66Teléfonos IV
- 69001
- username69001
- typefriend
- record_outAdhoc
- record_inAdhoc
- qualifyno
- port5060
- natnever
- mailbox666_at_testmail asociado (en el voicemail.conf)
- hostdynamic
- dtmfmodeinfo
- contextfrom-internal
- canreinviteno
- calleriddevice
- languagees
67Teléfonos V
Softphone Cisco IP Communicator