* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download module_42 - Faculty Personal Homepage
Server Message Block wikipedia , lookup
Distributed firewall wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Dynamic Host Configuration Protocol wikipedia , lookup
Internet protocol suite wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Deep packet inspection wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Remote Desktop Services wikipedia , lookup
Zero-configuration networking wikipedia , lookup
SIP extensions for the IP Multimedia Subsystem wikipedia , lookup
VoIP or IP Telephony K. Salah 1 Introduction Importance of VoIP Unification of data and voice networks It is easier to run, manage, and maintain. Existing IP networks are best effort and VoIP requires QoS M2E delay < 150ms Packet loss < 5 % K. Salah 2 VoIP Architecture and Protocols Uses one of the two multimedia protocols SIP (Session Initiation Protocol) by IETF H.323 by ITU K. Salah 3 VoIP Camps Conferencing Industry Netheads “IP over Everything” NGN H.323 SIP “Softswitch” ISDN LAN conferencing I-multimedia WWW Call Agent SIP & H.323 IP IP IP K. Salah 4 VoIP Components Sender Receiver Encoder Packetizer Network Depacketizer Decoder Playback Buffer Encoder periodically samples the original voice signal and assigns a fixed number of bits to each sample, creating a constant bit rate stream. The traditional sample-based encoder G.711 uses Pulse Code Modulation (PCM) to generate 8-bit samples every 0.125 ms, leading to a data rate of 64 kbps Packetizer encapsulates a certain number of speech samples into packets and adds the RTP, UDP, IP, and Ethernet headers. Playback Buffer absorbs variations or jitter in delay and provide a smooth playout. Depacketizer strips headers Decoder reconstructs the original voice signal. K. Salah 5 Internet Multimedia Protocol Stack K. Salah 6 RTP Real-Time transport Protocol is designed to handle real-time traffic on the Internet. RTP stands between UDP and application program. RTP supports timestamping, sequencing and mixing facilities. Transport layer protocol but encapsulated in a UDP user datagram. No well-known port. Port can be selected on demand with only one restriction [even number must be selected]. K. Salah 7 IP Telephony Protocols: SIP, RTP Session Initiation Protocol - SIP Contact “office.com” asking for “bob” Locate Bob’s current phone and ring Bob picks up the ringing phone Real time Transport Protocol - RTP Send and receive audio packets K. Salah 8 Internet Telephony Protocols: H.323 K. Salah 9 H.323 (contd) Terminals, Gateways, Gatekeepers, and Multipoint Control Units (MCUs) K. Salah 10 H.323 vs SIP Typical UserAgent Protocol stack for Internet Terminal Control/Devices Q.931 H.245 RAS TPKT TCP Terminal Control/Devices Codecs RTCP RTP Codecs SIP SDP RTCP RTP UDP Transport Layer IP and lower layers K. Salah 11 SIP vs H.323 Text based request response SDP (media types and media transport address) Server roles: registrar, proxy, redirect Binary ASN.1 PER encoding Sub-protocols: H.245, H.225 (Q.931, RAS, RTP/RTCP), H.450.x... H.323 Gatekeeper - Both use RTP/RTCP over UDP/IP - H.323 perceived as “heavyweight” K. Salah 12 Light-weight signaling: Session Initiation Protocol (SIP) IETF MMUSIC working group Light-weight generic signaling protocol Part of IETF conference control architecture: SAP (Session Announcement Protocol) for multicast announcements RTSP (Real-time Streaming Protocol) for media-on-demand SDP for describing media others: multicast, conference bus, . . . Network-protocol independent: UDP or TCP (or AAL5 or X.25) A great tutorial on VoIP, SIP, SDP at: http://www.geocities.com/intro_to_multimedia/tutorial_list.html K. Salah 13 SDP: Session Description Protocol Not really a protocol – describes multimedia data carried by other protocols Eg: v=0 o=g.bell 877283459 877283519 IN IP4 132.151.1.19 s=Come here, Watson! u=http://www.ietf.org [email protected] c=IN IP4 132.151.1.19 b=CT:64 t=3086272736 0 k=clear:manhole cover m=audio 3456 RTP/AVP 96 a=rtpmap:96 VDVI/8000/1 m=video 3458 RTP/AVP 31 m=application 32416 udp wb K. Salah 14 SDP format K. Salah 15 SDP parameter description - 1 K. Salah 16 SDP parameter description - 2 K. Salah 17 SIP functionality IETF-standardized peer-to-peer signaling protocol (RFC 2543): Locate user given email-style address You can reach the callee, no matter where the callee roams, no matter what IP device the callee is currently using. Setup session (call) (Re)-negotiate call parameters Manual and automatic forwarding Personal mobility: different terminal, same identifier Call center: reach first (load distribution) or reach all (department conference) Terminate and transfer calls K. Salah 18 SIP Services Setting up a call Provides mechanisms for caller to let callee know she wants to establish a call Provides mechanisms so that caller and callee can agree on media type and encoding. Provides mechanisms to end call. K. Salah Determine current IP address of callee. Maps mnemonic identifier to current IP address Call management Add new media streams during call Change encoding during call Invite others Transfer and hold calls 19 SIP Addresses Food Chain K. Salah 20 SIP components UAC: user-agent client (caller application) UAS: user-agent server may accept, redirect, refuse call redirect server: redirect requests proxy server: server + client registrar: track user locations user agent = UAC + UAS often combine registrar + (proxy or redirect server) K. Salah 21 IP SIP Phones and Adaptors 1 Are true Internet hosts • Choice of application Analog phone adaptor • Choice of server 2 • IP appliances Implementations 3 • 3Com (3) • Columbia University Palm control • MIC WorldCom (1) • Mediatrix (1) • Nortel (4) 44 5 • Siemens (5) K. Salah 22 Setting up a call to a known IP address Bob Alice 167.180.112.24 INVITE bob @193.64.2 10.89 c=IN IP4 16 7.180.112.2 4 m=audio 38 060 RTP/A VP 0 193.64.210.89 port 5060 port 5060 Bob's terminal rings 200 OK .210.89 c=IN IP4 193.64 RTP/AVP 3 3 75 m=audio 48 ACK port 5060 • Alice’s SIP invite message indicates her port number & IP address. Indicates encoding that Alice prefers to receive (PCM ulaw) • Bob’s 200 OK message indicates his port number, IP address & preferred encoding (GSM) m Law audio port 38060 GSM port 48753 time time K. Salah • SIP messages can be sent over TCP or UDP; here sent over RTP/UDP. •Default SIP port number is 5060. 23 Setting up a call (more) Codec negotiation: Suppose Bob doesn’t have PCM ulaw encoder. Bob will instead reply with 606 Not Acceptable Reply and list encoders he can use. Alice can then send a new INVITE message, advertising an appropriate encoder. K. Salah Rejecting the call Bob can reject with replies “busy,” “gone,” “payment required,” “forbidden”. Media can be sent over RTP or some other protocol. 24 Example of SIP message INVITE sip:[email protected] SIP/2.0 Via: SIP/2.0/UDP 167.180.112.24 From: sip:[email protected] To: sip:[email protected] Call-ID: [email protected] Content-Type: application/sdp Content-Length: 885 • Here we don’t know Bob’s IP address. Intermediate SIP servers will be necessary. • Alice sends and c=IN IP4 167.180.112.24 m=audio 38060 RTP/AVP 0 receives SIP messages using the SIP default port number 506. Notes: HTTP message syntax sdp = session description protocol Call-ID is unique for every call. • Alice specifies in Via: header that SIP client sends and receives SIP messages over UDP K. Salah 25 Name translation and user location Result can be based on: Caller wants to call time of day (work, callee, but only has home) callee’s name or e-mail caller (don’t want boss address. to call you at home) Need to get IP address of status of callee (calls callee’s current host: sent to voicemail when user moves around callee is already talking DHCP protocol to someone) user has different IP Service provided by SIP devices (PC, PDA, car servers: device) SIP registrar server SIP proxy server K. Salah 26 SIP Registrar When Bob starts SIP client, client sends SIP REGISTER message to Bob’s registrar server (similar function needed by Instant Messaging) Register Message: REGISTER sip:domain.com SIP/2.0 Via: SIP/2.0/UDP 193.64.210.89 From: sip:[email protected] To: sip:[email protected] Expires: 3600 K. Salah 27 SIP Proxy Alice sends invite message to her proxy server contains address sip:[email protected] Proxy responsible for routing SIP messages to callee possibly through multiple proxies. Callee sends response back through the same set of proxies. Proxy returns SIP response message to Alice contains Bob’s IP address Note: proxy is analogous to local DNS server K. Salah 28 Example Caller [email protected] with places a call to [email protected] SIP registrar upenn.edu SIP registrar eurecom.fr 2 (1) Jim sends INVITE message to umass SIP proxy. (2) Proxy forwards request to upenn registrar server. (3) upenn server returns redirect response, indicating that it should try [email protected] SIP proxy umass.edu 1 3 4 5 7 8 6 9 SIP client 217.123.56.89 SIP client 197.87.54.21 (4) umass proxy sends INVITE to eurecom registrar. (5) eurecom regristrar forwards INVITE to 197.87.54.21, which is running keith’s SIP client. (6-8) SIP response sent back (9) media sent directly between clients. Note: also a SIP ack message, which is not shown. K. Salah 29 SIP-based Architecture rtspd RTSP media RTSP server sipconf SIP conference server Telephone Telephone switch T1/E1 RTP/SIP Cisco 2600 gateway sipd SIP proxy, redirect server Quicktime RTSP clients sipum SIP/RTSP Unified messaging SQL database Web based configuration Web server e*phone Hardware Internet (SIP) phones sipc NetMeeting sip323 SIPH.323 convertor Software SIP user agents K. Salah H.323 30 Example Call • Bob signs up for the service from the web as “[email protected]” • He registers from multiple phones • sipd canonicalizes the destination to sip:[email protected] • sipd rings both e*phone and sipc • Bob accepts the call from sipc and starts talking • Alice tries to reach Bob INVITE ip:[email protected] Web based configuration sipd SIP proxy, redirect server Call Bob SQL database Web server e*phone Hardware Internet (SIP) phones sipc ecse.rpi.edu Software SIP user agents K. Salah 31 PSTN to IP Call PBX PSTN External T1/CAS 1 Call 9397134 Gateway Internal T1/CAS (Ext:7130-7139) 2 Call 7134 Ethernet Regular phone (internal) 5 3 SIP server sipc Bob’s phone K. Salah SQL database sipd 4 7134 => bob 32 IP to PSTN Call PBX PSTN External T1/CAS 5 Call 5551212 Gateway (10.0.2.3) Internal T1/CAS 4 Call 85551212 3 Ethernet 5551212 Regular phone (internal, 7054) 1 Bob calls 5551212 SIP server sipc 2 SQL database sipd Use sip:[email protected] K. Salah 33 Deployment VoIP in IP networks Related Issues What are the QoS requirements for VoIP? How will the new VoIP load impact the QoS of currently running network services and applications? Will my existing network support VoIP and satisfy the standardized QoS requirements? If so, how many VoIP calls can the network support before upgrading prematurely any part of the existing network hardware? K. Salah 34 Existing Tools Ample of commercial tools NetIQ Brix Networks Agilent Cisco Avaya Siemens Uses two common approaches for assessing the deployment of VoIP Take network measurements and then predict the readiness based on the health of network Inject real VoIP traffic and measure QoS K. Salah 35 A typical network topology Router Switch 1 Switch 2 7 Database server File server Floor 1 ... Floor 3 Floor 2 ... User PCs HTTP server ... Web & cache proxy Firewall Internet User PCs User PCs Workgroup Printer server server E-Mail server Workgroup Printer server server K. Salah Workgroup Printer server server 36 Practical steps Determine VoIP characteristics and requirements Determine VoIP traffic flow and call distribution Define performance thresholds and growth capacity Perform network measurements Early modifications to existing network Theoretical Analysis OPNET Simulation Final modifications to existing network K. Salah 37 VoIP Traffic Characteristics and Requirements Bandwidth for a single call The required bandwidth for a single call, one direction, is 64 kbps. G.711 codec samples 20ms of voice per packet. Therefore, 50 such packets need to be transmitted per second. Each packet contains 160 voice samples in order to give 8000 samples per second. Each packet is sent in one Ethernet frame. With every packet of size 160 bytes, headers of additional protocol layers are added. These headers include RTP + UDP + IP + Ethernet with preamble of sizes 12 + 8 + 20 + 26, respectively. Therefore, a total of 226 bytes, or 1808 bits, needs to be transmitted 50 times per second, or 90.4 kbps, in one direction. For both directions, the required bandwidth for a single call is 100 pps or 180.8 kbps assuming a symmetric flow. K. Salah 38 VoIP Traffic Characteristics and Requirements Gatekeeper Gateway IP phones M2E delay for a single call 150ms according to G.714 Sender: 50 ms Receiver: 45 ms Network: 80 ms Sender Receiver Encoder Packetizer Network Depacketizer Decoder Playback Buffer K. Salah 39 Define Performance Thresholds and Growth Capacity Network delay VoIP applications Or other sensitive Packet Loss Router and Switch Processing Link Utilization K. Salah 40 Perform Network Measurements K. Salah 41 Upfront Network Assessment and Modifications Router VoIP Gateway Gatekeeper PSTN Switch 1 Switch 2 7 Database server File server Floor 1 Floor 3 Floor 2 ... ... ... Multimedia PCs Multimedia PCs Multimedia PCs Workgroup Printer server server Workgroup Printer server server K. Salah E-Mail server HTTP server Web & cache proxy Firewall Internet Workgroup Printer server server 42 The analytical approach Bandwidth bottleneck analysis Delay analysis K. Salah 43 BW bottleneck analysis K. Salah 44 Network Delay Analysis Poisson VoIP Traffic Using Jackson Theorem Links: M/D/1 Router and Switches: M/M/1 K. Salah 45 Network Capacity Algorithm i. Add background traffic ii. Add one call based on distribution and flow iii. For each node calculate the new arrival rate – not all nodes are affected. iv. Compute packet network delay for all flows by summing up individual delays per node v. If network delay < 80 ms, go to ii, otherwise STOP. K. Salah 46 Analytical Tool Generic GUI Analytical engine BW bottleneck analysis Compute iteratively the network delay K. Salah 47 Validation Matlab code verifies results OPNET simulation gives very close results. K. Salah 48