voip_training_2009_14_07
71
0
0
Full text
(2) IP Features Connectionless service -. Datagram/packet based. Data forwarding Addressing Fragmentation and reassembly Supports variable size datagrams Best-effort delivery -. Delay, out-of-order, corruption, and loss possible – higher layers should handle these. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 3. IPv4 Header Format. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 4. 2.
(3) IPv6 Header Format. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 5. What IP does not provide! End-to-end data reliability and flow control (done by TCP or application layer protocols) Sequencing of packets (like TCP) Error detection in payload (TCP, UDP or other transport layers) Error reporting (ICMP) Setting up routing tables (RIP, OSPF, BGP etc) Connection setup (it is connectionless!) Address/Name resolution (ARP, RARP, DNS) © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 6. 3.
(4) TCP Features I TCP ensures that IP datagrams are transferred in an orderly, efficient, and reliable manner Connection opening -. -. On the sending host, a process (such as web browser) issues a request to send data (such as a URL) to a destination host (such as a web server) TCP creates an initial segment designed to open the connection between the sender and the receiver. In this initial contact, the two systems exchange IP addresses and port numbers (to cerate a socket interface) and setup the flow control and sequencing. Flow control -. One of the parameters that the sending and receiving hosts exchange is the number of bytes each is willing to accept in at on time. This way, one system doesn't end up sending more data the other system can handle. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 7. TCP Features II Sequencing -. Every segment is assigned a sequence number to reassemble any segments that arrive out of order. Acknowledgement -. When TCP transmits a segment, it holds the segments a queue and if not receiving an acknowledgement it retransmits the segment.. Error detection -. A checksum value in the header lets the receiver test the integrity of an incoming segment.. Connection closing -. TCP sends a segment that tells the receiver that no more data will be sent and the socket should be closed.. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 8. 4.
(5) TCP Header Format. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 9. UDP Features There are two main attributes: simple and fast The only real goal of UDP is to serve as an interface between networking application processes and the internetworking capabilities of IP Like TCP, UDP layers on top of IP a method of transport-layer addressing (and hence, process identification) through the use of UDP port numbers In choosing to use UDP, the application writer takes it upon himself or herself to take care of issues such as reliability and retransmissions, if they are needed © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 10. 5.
(6) UDP/ICMP Header Format. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 11. IP … and Frequentis Separation of application and infrastructure User may access any application of any service provider (e.g. voice or data service) Intelligence and states remain in end-devices (host) No (or little) intelligence within the network (routing, forwarding) End-devices communicate via applications – there is no (or some) impact from the infrastructure Advantages: - Flexibility; new applications are easy integrated - Robust - Scalable; no state kept in network (keep it simple and stupid). Specializing: Infrastructure or Services (=FRQ) © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 12. 6.
(7) IP Multicast IP multicasting relies on two mechanisms: -. A group management protocol to establish and maintain groups Multicast routing protocols to route packets efficiently. Internet Group Management Protocol (IGMP) -. Manages packet communication between hosts and their local multicast router, letting them join or leave groups IGMP Version 3, supports source filtering (only receive packets from specified multicast sources, rather than all multicast sources). Switches and Multicast – IGMP snooping -. IGMP snoopers add a bridge table entry for each multicast group destination address (IGMP Join) to each switch port that has the interested member's unicast source address already on it When an IGMP Leave is received, the entries are removed Potential for heavy loading of the switch CPU. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 13. Agenda Basics – IP, UDP, multicast Basics – Quality of Service VoIP – Voice Transport VoIP – Signaling (SIP) Frequentis & VoIP Discussion. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 14. 7.
(8) What makes the Quality changing? Router implements two main functions -. Forward packets to corresponding output interface. -. Manage congestion. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 15. Router/Switch Interfaces Input interface -. Packet forwarding -. Decide which output interface to forward each packet based on the information in the packet header. Output interface -. Buffer management. -. Scheduler. -. Decide when and which packet to drop Decide when and which packet to transmit. Packet classification. © FREQUENTIS 2008 File: voip_training.ppt. -. Map each packet to a predefined flow/connection. -. Used to implement more sophisticated services. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 16. 8.
(9) FIFO Queuing FIFO: in order of arrival to the queue; packets that arrive to a full buffer are either discarded, or a discard policy is used to determine which packet to discard among the arrival and those already queued. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 17. Priority Queuing Classes have different priorities; class may depend on explicit marking or other header info, e.g. IP source or destination, IP TOS (DSCP), Port numbers, etc. Transmit a packet from the highest priority class with a non-empty queue Preemptive and non-preemptive versions. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 18. 9.
(10) Weighted Fair Queuing A generalized Round Robin in which an attempt is made to provide a class with a differentiated amount of service over a given period of time. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 19. Some Ideas … Link Layer (L2) QoS -. ATM. -. Ethernet (802.1p/Q) provided by Ethernet switch. -. Link Fragmentation and Interleaving (LFI). IP (L3) QoS -. IntServ/RSVP. -. DiffServ. -. MPLS (more or less L2.5). Queuing Techniques -. Layer 2/3 (router, switch) devices offer ways to prioritize traffic and handle congestion. -. WFQ, CBWFQ, LLQ, and WRED. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 20. 10.
(11) Link-Layer QoS: LFI Link Fragmentation and Interleaving (LFI) -. serialization delay. -. router technique for dealing with slow links. -. cuts the big packets into fragments. -. always combined with priority queuing Size [Byte]. Example -. 64kbit/s line speed. 48. 6.00. 1500. 187.50. Size [Byte]. -. © FREQUENTIS 2008 File: voip_training.ppt. 2048kbit/s line speed. Date: 21-10-2008 Author: wok@frq. Serialization delay [ms]. Serialization delay [ms]. 48. 0.19. 1500. 5.86. Rev.0.1 Page: 21. Link-Layer QoS: LFI Example. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 22. 11.
(12) Resource Reservation Protocol (RSVP) An architecture for providing QOS guarantees in IP networks for individual sessions Philosophy is similar to ATM -. Per flow. -. End-to-end. -. Signaling. Needs a signaling protocol; most often -. RSVP (Resource Reservation Protocol). The IntServ architecture is not tied to any particular signaling protocol © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 23. Flow based admission Session must first declare its QOS requirement and characterize the traffic it will send through the network -. R-spec: defines the QOS being requested. -. T-spec: defines the traffic characteristics. Routers will admit flows based on their R-spec and Tspec and based on the current resource allocated at the routers to other calls. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 24. 12.
(13) Differentiated Services Intended to address the difficulties with Intserv -. Scalability: maintaining states by routers in high speed networks is difficult due to the very large number of flows. -. Flexible service models to provide more qualitative service classes; want to provide ‘relative’ service distinction (Platinum, Gold, Silver, …). Simpler signaling (than RSVP) -. Many applications and users may only want to specify a more qualitative notion of service. Approach: -. Only simple functions in the core, and relatively complex functions at edge routers (or hosts). -. Do not define service classes, instead provide functional components with which service classes can be built. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 25. Edge Functions Classification - Edge node marks packets according to classification rules to be specified (manually by admin, or by some protocol) Traffic Conditioning - Edge node may delay and then forward or may discard. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 26. 13.
(14) MPLS – Multi Protocol Label Switching Switching: forwarding packets based on hardware that is a switching matrix Label: small simple entities that carry both forwarding and QoS information Label switching: use of labels, as opposed to the IP address-based routing Multi-Protocol: forwarding based on label switching is not specific to a particular network layer MPLS was originally proposed to increase efficiency of packet forwarding and to provide differentiated QoS © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 27. Agenda Basics – IP, UDP, multicast Basics – Quality of Service VoIP – Voice Transport VoIP – Signaling (SIP) Frequentis & VoIP Discussion. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 28. 14.
(15) Voice over IP Voice over IP begins with digital voice. A D Analog-to-digital conversion -. speech sampling (8kHz, 16kHz) 64 kbit/s speech. Removing redundancies from sample stream -. compression techniques/characterization of compressed speech. Extracting inactive periods -. silence/activity detection. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 29. Codecs Mathematical models used to digitally encode (and compress) analog audio information G.711 is the fundamental codec of PSTN (µ-law: North America, A-law in the rest of the world) iLBC (Internet Low Bitrate Codec) – well suited to sustaining reasonable quality on lossy network links Introduce some delay. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 30. 15.
(16) Codec Delays Algorithmic delay -. look-ahead delay (sample N+1) for sample N. -. G.723.1: 7.5ms. Coder delay -. coding and compression delay. -. can be significant and depend on DSP power and complexity. Packetization delay -. function of sample block size required and the. -. number of blocks placed in a single frame. Decoding delay (~10% of coding delay) © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 31. Audio Transport Audio (A). Audio (A). RTP. RTP. IP. UDP. UDP. RTP. Payload. UDP. IP. IP A. A. A. A. RTP Stream © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 32. 16.
(17) Real-time Transport Protocol (RFC 3550) Designed specifically for real-time data Functions independently of underlying protocols RTP Provides -. Payload Type Identification – exploiting the encoding. -. Sequence Numbering. -. Time Stamping. RTCP Provides -. Feedback on quality of data distribution. -. Information on participants. -. Control of its own bandwidth consumption. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 33. RTP Header RTP header fields -. V ... Version: 2 bits (actual value is 2). -. P ... Padding: 1 bit, if set, the packet contains padding bytes. -. X ... Extension: 1 bit, if set the header is followed by header extension. -. CC ... CSRC count: 4 bits, contain the number of CSRC identifiers. -. M ... Marker: 1bit. -. PT ... Payload Type: 7 bit payload type code. 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7. V=2 P X. CC. M. PT. sequence number timestamp. synchronization source (SSRC) identifier contributing source (CSRC) identifiers ..... © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 34. 17.
(18) RTP Header Extension Extension mechanism to allow implementations of payload independent functions -. FRQ: PTT and Squelch for radio communication. -. No relative voice delay. -. Real-time transport. -. Continuous signaling. 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7. defined by profile. length header extension …. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 35. Real-time Transport Control Protocol RTCP is based on the periodic transmission of control packets to all participants in the session RTCP performs four functions as follows -. Providing feedback on the quality of the data distribution. Can be used by the participants and third-party monitors. -. RTCP carries transport-level identifier for an RTP source called the canonical name (CNAME). This is necessary to associate multiple data streams in a session. -. Controlling the RTCP packet rate to scale up to a large number of participants. -. Conveys optionally minimal session control information. Has own header © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 36. 18.
(19) Systematic Delay. 20ms. network. systematic. conversion coding compression. transmission (RTP containing 20ms audio payload). packet processing. jitter buffer decoding. t. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 37. Delay Budget Delay occurs on transmitting side, network and receiving side -. Delay on the transmitting side is due to the codec. -. In the network, delay stems from. -. -. Transmission (serialization and propagation). -. Queuing. Delay on the receiving side is added by -. Jitter buffer depth. -. Decoding and processing and audio device. ITU delay limits (one-way) -. 0-150ms ~ toll quality. -. 150-400ms ~ acceptable. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 38. 19.
(20) Jitter Speech is a constant bit-rate service (isochronal) -. Packets might have varying transmission time. -. Variable delays must be removed at the receiving end. Jitter-buffer transforms variable delay into constant delay -. Ensures smooth and continuous playback. -. Adds delay to the overall delay budget. Jitter buffer can be adaptive, but maximum delay is fixed -. © FREQUENTIS 2008 File: voip_training.ppt. E.g. derived from RTCP information. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 39. Jitter buffer … fixed play-out delay. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 40. 20.
(21) Packet Loss Losses occur due to -. bit errors (no error correction in packet voice networks). -. discarding packets at (i) intermediate nodes (ii) destination. Packet losses up to 5% are tolerable if -. losses occur at random time instants. -. packets (=speech segments) are relatively short (~10ms). -. places of lost packets are „filled in”. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 41. Echo Two types of echo can deteriorate speech quality -. Network echo, and. -. acoustic echo. -. if one-way delay exceeds 25ms. Network echo (impedance mismatch in PSTN hybrids). Acoustic echo -. Commonly in hands-free equipment. -. Loudspeaker’s sound reflects back to the microphone. Canceling echo is essential to maintaining high quality © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 42. 21.
(22) Agenda Basics – IP, UDP, multicast Basics – Quality of Service VoIP – Voice Transport VoIP – Signaling (SIP) Frequentis & VoIP Discussion. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 43. SIP Session Initiation Protocol IETF standardized Text-based protocol Similar to HTTP and SMTP Headers and MIME bodies Request-response (bi-directional). © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 44. 22.
(23) SIP Only signaling For session negotiation: SDP (Session Description Protocol): - media streams - codec. Different media protocols - RTP (Real-time Transport Protocol): audio, video - MSRP (message streaming protocol): IM (session mode), file transfer - UDPTL: Fax with T.38 - TCP: file sharing, whiteboard sharing, .... © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 45. SIP UA (User Agents) - Softphones, Hardphones - Application Servers - SIP Servers. }. - SIP Proxy - SIP Registrar - SIP Redirect Server. often one piece of software. - Gateways. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 46. 23.
(24) SIP UA (User Agents) - User Agent Client (UAC) - Sends Requests - Receives Responses - User Agent Server (UAS) - Receives Request - Sends Response. every user agent consists of a UA client AND a UA server. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 47. SIP User Agents - Software X-Lite: eyeBeam. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 48. 24.
(25) Direct Call. INVITE 100 trying 180 ringing. 200 OK ACK. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 49. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 50. Wireshark. © FREQUENTIS 2008 File: voip_training.ppt. 25.
(26) SIP Request INVITE sip:[email protected] SIP/2.0 Via: SIP/2.0/UDP 10.10.0.51:60178;branch=z9hG4bK-d8754z-;rport Max-Forwards: 70 Contact: <sip:[email protected]:60178;transport=udp> To: "8000"<sip:[email protected]> From: “joe"<sip:[email protected]>;tag=43684b60 Call-ID: Y2FkNzhiMDA2ZDc3OGIyZGU1MGQ2ZTZiN2YyMjk3ZmM. CSeq: 2 INVITE Allow: INVITE, ACK, CANCEL, OPTIONS, BYE Content-Type: application/sdp Content-Length: 233 v=0 o=0 2 IN IP4 10.10.0.51 s=CounterPath eyeBeam 1.5 c=IN IP4 10.10.0.51 t=0 0 m=audio 12732 RTP/AVP 0 101 a=fmtp:101 0-15 a=rtpmap:101 telephone-event/8000 a=sendrecv © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 51. SIP Request INVITE sip:[email protected] SIP/2.0 Via: SIP/2.0/UDP 10.10.0.51:60178;branch=z9hG4bK-d8754z-;rport Max-Forwards: 70 Contact: <sip:[email protected]:60178;transport=udp> To: "8000"<sip:[email protected]> From: "joe"<sip:[email protected]>;tag=43684b60 Call-ID: Y2FkNzhiMDA2ZDc3OGIyZGU1MGQ2ZTZiN2YyMjk3ZmM. CSeq: 2 INVITE Allow: INVITE, ACK, CANCEL, OPTIONS, BYE Content-Type: application/sdp Content-Length: 233 v=0 o=joe 0 2 IN IP4 10.10.0.51 s=CounterPath eyeBeam 1.5 c=IN IP4 10.10.0.51 t=0 0 m=audio 12732 RTP/AVP 0 101 a=fmtp:101 0-15 a=rtpmap:101 telephone-event/8000 a=sendrecv. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. request line: method and target. Rev.0.1 Page: 52. 26.
(27) SIP Request INVITE sip:[email protected] SIP/2.0. Via: SIP/2.0/UDP 10.10.0.51:60178;branch=z9hG4bK-d8754z-;rport Max-Forwards: 70 Contact: <sip:[email protected]:60178;transport=udp> To: "8000"<sip:[email protected]> From: "joe"<sip:[email protected]>;tag=43684b60 Call-ID: Y2FkNzhiMDA2ZDc3OGIyZGU1MGQ2ZTZiN2YyMjk3ZmM. CSeq: 2 INVITE Allow: INVITE, ACK, CANCEL, OPTIONS, BYE Content-Type: application/sdp Content-Length: 233 v=0 o=- 0 2 IN IP4 10.10.0.51 s=CounterPath eyeBeam 1.5 c=IN IP4 10.10.0.51 t=0 0 m=audio 12732 RTP/AVP 0 101 a=fmtp:101 0-15 a=rtpmap:101 telephone-event/8000 a=sendrecv. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. message headers CRLF. Rev.0.1 Page: 53. SIP Request INVITE sip:[email protected] SIP/2.0 Via: SIP/2.0/UDP 10.10.0.51:60178;branch=z9hG4bK-d8754z-;rport Max-Forwards: 70 Contact: <sip:[email protected]:60178;transport=udp> To: "8000"<sip:[email protected]> From: "joe"<sip:[email protected]>;tag=43684b60 Call-ID: Y2FkNzhiMDA2ZDc3OGIyZGU1MGQ2ZTZiN2YyMjk3ZmM. CSeq: 2 INVITE Allow: INVITE, ACK, CANCEL, OPTIONS, BYE Content-Type: application/sdp Content-Length: 233. v=0 o=- 0 2 IN IP4 10.10.0.51 s=CounterPath eyeBeam 1.5 c=IN IP4 10.10.0.51 t=0 0 m=audio 12732 RTP/AVP 0 101 a=fmtp:101 0-15 a=rtpmap:101 telephone-event/8000 a=sendrecv. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. MIME body (optional). Rev.0.1 Page: 54. 27.
(28) SIP Request . INVITE: set up a session. . CANCEL: cancel the session setup. . ACK: acknowledge the response (the only request without response). . BYE: terminate a session. . REGISTER: SIP client registers to the SIP proxy. . SUBSCRIBE, NOTIFY, PUBLISH: presence. . MESSAGE: instant messaging. . REFER: call transfer. . OPTIONS: SIP “Ping”. . INFO: DTMF, SS7 tunneling. . UPDATE: update pending INVITE transaction. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 55. SIP Response 1 request 0..n provisional responses (1xx) 1 final response - 2xx: Success - 3xx: Redirect - 4xx: Client Error - 5xx: Server Error - 6xx: Global Failure. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 56. 28.
(29) SIP Response SIP/2.0 200 OK Via: SIP/2.0/UDP 10.10.0.51:60178;received=1.2.3.4;branch=z9hG4bK-d8754zRecord-Route: <sip:1.2.32.160;ftag=43684b60;nat=caller;lr=on> From: "joe"<sip:[email protected]>;tag=43684b60 To: "8000"<sip:[email protected]>;tag=as6769381d Call-ID: Y2FkNzhiMDA2ZDc3OGIyZGU1MGQ2ZTZiN2YyMjk3ZmM. CSeq: 2 INVITE User-Agent: Asterisk PBX Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER Contact: <sip:[email protected]:5061> Content-Type: application/sdp Content-Length: 289 v=0 o=root 9239 9239 IN IP4 1.2.32.164 s=session c=IN IP4 1.2.32.163 t=0 0 m=audio 37298 RTP/AVP 0 8 3 101 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-16. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 57. SIP Response SIP/2.0 200 OK Via: SIP/2.0/UDP 10.10.0.51:60178;received=1.2.3.4;branch=z9hG4bK-d8754zRecord-Route: <sip:1.2.32.160;ftag=43684b60;nat=caller;lr=on> From: "joe"<sip:[email protected]>;tag=43684b60 To: "8000"<sip:[email protected]>;tag=as6769381d Call-ID: Y2FkNzhiMDA2ZDc3OGIyZGU1MGQ2ZTZiN2YyMjk3ZmM. CSeq: 2 INVITE User-Agent: Asterisk PBX Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER Contact: <sip:[email protected]:5061> Content-Type: application/sdp Content-Length: 289 v=0 o=root 9239 9239 IN IP4 1.2.32.164 s=session c=IN IP4 1.2.32.163 t=0 0 m=audio 37298 RTP/AVP 0 8 3 101 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-16. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. status line: status code and reason phrase. Rev.0.1 Page: 58. 29.
(30) SIP Response SIP/2.0 200 OK Via: SIP/2.0/UDP 10.10.0.51:60178;received=1.2.3.4;branch=z9hG4bK-d8754zRecord-Route: <sip:1.2.32.160;ftag=43684b60;nat=caller;lr=on> From: "joe"<sip:[email protected]>;tag=43684b60 To: "8000"<sip:[email protected]>;tag=as6769381d Call-ID: Y2FkNzhiMDA2ZDc3OGIyZGU1MGQ2ZTZiN2YyMjk3ZmM. CSeq: 2 INVITE User-Agent: Asterisk PBX Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER Contact: <sip:[email protected]:5061> Content-Type: application/sdp Content-Length: 289 v=0 o=root 9239 9239 IN IP4 1.2.32.164 s=session c=IN IP4 1.2.32.163 t=0 0 m=audio 37298 RTP/AVP 0 8 3 101 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-16. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. message headers. CRLF. Rev.0.1 Page: 59. SIP Response SIP/2.0 200 OK Via: SIP/2.0/UDP 10.10.0.51:60178;received=1.2.3.4;branch=z9hG4bK-d8754zRecord-Route: <sip:1.2.32.160;ftag=43684b60;nat=caller;lr=on> From: "joe"<sip:[email protected]>;tag=43684b60 To: "8000"<sip:[email protected]>;tag=as6769381d Call-ID: Y2FkNzhiMDA2ZDc3OGIyZGU1MGQ2ZTZiN2YyMjk3ZmM. CSeq: 2 INVITE User-Agent: Asterisk PBX Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER Contact: <sip:[email protected]:5061> Content-Type: application/sdp Content-Length: 289 v=0 o=root 9239 9239 IN IP4 1.2.32.164 s=session c=IN IP4 1.2.32.163 t=0 0 m=audio 37298 RTP/AVP 0 8 3 101 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-16. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. MIME body (optional). Rev.0.1 Page: 60. 30.
(31) SIP Addressing URI - sip:[email protected] - sip:[email protected]:6060;transport=TLS - sips:[email protected] - tel:+431505641636 (hardly supported) - sip:1.2.3.4 - foobar:/anyuriformat.com. Request URI (target), From URI, To URI Address-of-Record (AoR): public SIP URI. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 61. SIP Transaction A SIP transaction consists of - 1 request - 0..x provisional responses - 1 final response - one exception: ACK after INVITE-200 (no response). request UAC. UAS response. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 62. 31.
(32) Direct Call Setup SIP Client:. SIP Client:. Caller, A-party. Callee, B-party INVITE 100 trying. UAC. UAS 180 ringing 200 OK ACK audio, video ... BYE. UAS. UAC 200 OK. works only if clients have a static IP address © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 63. Message, Transaction, Dialog transactions. out-of-dialog transaction. messages. INVITE 100 trying UAC. UAS. 180 ringing 200 OK ACK audio, video ... BYE. UAS. UAC 200 OK. in-dialog transactions © FREQUENTIS 2008 File: voip_training.ppt. dialog (call) Date: 21-10-2008 Author: wok@frq. messages. Rev.0.1 Page: 64. 32.
(33) Stateless vs. stateful Proxies stateless INVITE. - receive, react, forget - fast. 100 trying. - easy HA-setups. 180 ringing. transaction stateful - stateful during a single transaction - can handle retransmissions - request forking. 200 OK ACK. - memory for current transactions. dialog stateful. BYE. - slowest - best security - memory for current dialog. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. 200 OK. Rev.0.1 Page: 65. SIP registration The SIP client registers to the SIP proxy Address for relaying incoming requests is announced in “Contact” header Registration has a timeout (Expires) Multiple contacts are supported. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 66. 33.
(34) SIP REGISTER Request SIP URI of SIP registrar. SIP AoR which should be registered. REGISTER sip:example.com SIP/2.0 Via: SIP/2.0/UDP 10.10.0.51:60178;branch=z9hG4bK-d8754zTo: "joe"<sip:[email protected]> From: "joe"<sip:[email protected]>;tag=4521db7b Call-ID: MjJhYjkyNmQ3Y2YyMzQ2MDA5YjllYjcxOGY2MGM4ZjM. CSeq: 108 REGISTER Contact: <sip:[email protected]:60178>. party which performs contact address where the the registration, may differ during 3rd party user can be reached registration lifetime of registration (seconds). Expires: 120. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 67. SIP REGISTER Response SIP/2.0 200 OK Via: SIP/2.0/UDP 10.10.0.51:60178;branch=z9hG4bK-d8754zTo: "joe"<sip:[email protected]>;tag=89c3783 From: "joe"<sip:[email protected]>;tag=4521db7b Call-ID: MjJhYjkyNmQ3Y2YyMzQ2MDA5YjllYjcxOGY2MGM4ZjM. CSeq: 108 REGISTER Contact: <sip:[email protected]:5060>;expires=2418 Contact: <sip:[email protected]:60178>;expires=120. registered contacts. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. lifetime of registrations. Rev.0.1 Page: 68. 34.
(35) REGISTER Variants registration REGISTER sip:example.com SIP/2.0 Contact: <sip:[email protected]:60178> Expires: 120. de-registration of a single contact REGISTER sip:example.com SIP/2.0 Contact: <sip:[email protected]:60178> Expires: 0. de-registration of all contacts REGISTER sip:example.com SIP/2.0 Contact: * Expires: 0. retrieve registration details REGISTER sip:example.com SIP/2.0. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 69. Registration Storage and Lookup Caller. Proxy store contact in DB. REGISTER sip:enum.at To: sip:[email protected] Contact: sip:[email protected]. Callee. 200 OK user | location [email protected] | [email protected] [email protected] | [email protected]. fetch contact from DB. INVITE sip:[email protected]. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. INVITE sip:[email protected]. Rev.0.1 Page: 70. 35.
(36) Intra-domain Call Setup Caller. Proxy. Callee REGISTER 200 OK. INVITE. INVITE. 100 trying. 100 trying 180 ringing. 180 ringing. 200 OK 200 OK ACK. works also with mobile clients further requests can bypass proxy © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 71. Interdomain Call Setup alice@atlanta. atlanta proxy. biloxy proxy. bob@biloxy. REGISTER sip:biloxy To: sip:bob@biloxy Contact: sip:[email protected]. INVITE sip:bob@biloxy From: sip:alice@atlanta To: sip:bob@biloxy. 200 OK INVITE sip:bob@biloxy From: sip:alice@atlanta To: sip:bob@biloxy. domain atlanta © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. INVITE sip:[email protected] From: sip:alice@atlanta To: sip:bob@biloxy. domain biloxy. Rev.0.1 Page: 72. 36.
(37) Interdomain Call Setup Caller. Proxy A. Proxy B. Callee REGISTER 200 OK. INVITE INVITE 100 trying. INVITE. 100 trying. 100 trying 180 ringing. 180 ringing. 200 OK. 200 OK. 180 ringing. 200 OK. ACK © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 73. Locating SIP Servers . SIP URI: sip:[email protected] 1.. NAPTR: find preferred protocol. 2.. SRV: found hostname+port for protocol. 3.. A/AAAA: found IP address of host. biloxy.com.. NAPTR. 50 50 "s" "SIPS+D2T" "" _sips._tcp.biloxy.com.. biloxy.com.. NAPTR. 90 50 "s" "SIP+D2T". "" _sip._tcp.biloxy.com.. biloxy.com.. NAPTR 100 50 "s" "SIP+D2U". "" _sip._udp.biloxy.com.. _sips._tcp.biloxy.com.. SRV. 0 0 6061 sip-tls.biloxy.com.. _sip._tcp.biloxy.com.. SRV. 0 0 6060 sip.biloxy.com.. _sip._udp.biloxy.com.. SRV. 0 0 6060 sip.biloxy.com.. sip.biloxy.com.. A. sip.biloxy.com.. AAAA. sip-tls.biloxy.com.. A. © FREQUENTIS 2008 File: voip_training.ppt. 1.2.3.4 2001:500:2f::f. 5.6.7.8. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 74. 37.
(38) Record Routing SIP proxy wants to relay also in-dialog messages useful for NAT traversal, accounting, security … the proxy adds “Record-Route” header to the “dialog-creating” request the UAC adds “Route” header to in-dialog requests. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 75. Dialog without Record-Routing Caller. Proxy. Callee. INVITE INVITE 200 OK 200 OK ACK. BYE 200 OK. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 76. 38.
(39) Dialog with Record-Routing Caller. Proxy. Callee. INVITE INVITE 200 OK 200 OK ACK. ACK. BYE. BYE 200 OK. 200 OK. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 77. Record-Routing Details Caller. Proxy INVITE. Callee. INVITE. INVITE sip:[email protected]:5061 SIP/2.0 Record-Route: <sip:1.2.32.160;lr=on> Via: SIP/2.0/UDP 1.2.32.160;branch=z9hG4bKd7f3.57f78a55.0 Via: SIP/2.0/UDP 1.2.33.3;branch=z9hG4bK-d8754z-;rport=60178 Max-Forwards: 69 Contact: <sip:[email protected];transport=udp> To: "8000"<sip:[email protected]> From: "joe"<sip:[email protected]>;tag=43684b60 Call-ID: Y2FkNzhiMDA2ZDc3OGIyZGU1MGQ2ZTZiN2YyMjk3ZmM. CSeq: 2 INVITE Allow: INVITE, ACK, CANCEL, OPTIONS, BYE Content-Type: application/sdp Content-Length: 236 © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 78. 78. 39.
(40) Record-Routing Details Caller. Proxy. Callee. 200 OK 200 OK SIP/2.0 200 OK Via: SIP/2.0/UDP 1.2.32.160;branch=z9hG4bKd7f3.57f78a55.0 Via: SIP/2.0/UDP 1.2.33.3;branch=z9hG4bK-d8754zRecord-Route: <sip:1.2.32.160;lr=on> From: "joe"<sip:[email protected]>;tag=43684b60 To: "8000"<sip:[email protected]>;tag=as6769381d Call-ID: Y2FkNzhiMDA2ZDc3OGIyZGU1MGQ2ZTZiN2YyMjk3ZmM. CSeq: 2 INVITE Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER Contact: <sip:[email protected]:5061> Content-Type: application/sdp Content-Length: 289. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 79. Record-Routing Details Caller. Proxy. Callee. BYE BYE. BYE sip:[email protected]:5061 SIP/2.0 Via: SIP/2.0/UDP 10.10.0.51:60178;branch=z9hG4bK-d8754z-;rport Max-Forwards: 70 Route: <sip:1.2.32.160;lr> Contact: <sip:[email protected];transport=udp> To: "8000"<sip:[email protected]>;tag=as6769381d From: "joe"<sip:[email protected]>;tag=43684b60 Call-ID: Y2FkNzhiMDA2ZDc3OGIyZGU1MGQ2ZTZiN2YyMjk3ZmM. CSeq: 3 BYE Content-Length: 0. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 80. 40.
(41) More Important Header Fields Main headers have long and compact representation, which are identical Case insensitive - To: = t: = to: = tO: - From: = f: = frOM: = FROM:. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 81. Request Line INVITE sip:[email protected] SIP/2.0 Request URI (R-URI, RURI) Address of the target Out-of-dialog request: - public SIP AoR, e.g: sip:[email protected] - should be identical to To-URI. In-dialog-request - specific address of the other party, e.g: sip:[email protected]:7765;transport=udp. Not only SIP URIs - tel:+431234567. Request URI is used for routing !!! © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 82. 41.
(42) To: Header To: “Joe"<sip:[email protected]>;tag=as6c24a3d2. Specifies the desired "logical" recipient - display name - optional. - to-uri - required. - to-tag -. header parameter generated by UAS (callee) needed for dialog matching local tag vs. remote tag. this URI MUST NOT be used for routing !!!. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 83. From: Header From: “Johnny"<sip:[email protected]>;tag=7c755807 Indicates the logical identity of the initiator of the request - display name - optional (often untrusted/unscreened) - often used by UAS to signal incoming calls to user - from-uri - required - from-tag - header parameter - generated by UAC (caller) - needed for dialog matching. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 84. 42.
(43) Call-ID: Header Call-ID: NmYyNzBhODk2ZGNhZGYyNTkTUxZmExNjk Call-ID: [email protected]. Unique identifier to group together a series of messages - often contains the local IP address of the client - in-dialog requests MUST have the same call-id - re-registrations SHOULD have the same call-id. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 85. CSeq: Header CSeq: 2 INVITE. Serves as a way to identify and order transactions - sequence number and a method - sequence number strictly increasing - same sequence number and method identifies retransmissions - local CSeq and remote CSeq. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 86. 43.
(44) Max-Forwards: Header Max-Forwards: 69. The number of hops a request can transit - decremented by one at each hop - if value reaches 0 before the request reaches its destination: 483 Too Many Hops - may be reset at gateways and B2BUA. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 87. Via: Header Via: SIP/2.0/UDP 83.136.32.160;branch=z9hG4bK101b.b.0. Indicates the transport used for the transaction and identifies the location where the response is to be sent - protocol used for request/response - socket for receiving the response - branch parameter to identify transactions. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 88. 44.
(45) Contact: Header Contact: <sip:[email protected]:9488;transport=udp>. SIP(S) URI that can be used to contact that specific instance of the UA for subsequent requests. - often contains username (privacy!). © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 89. Record-Route: Header Record-Route: <sip:1.2.32.160;nat=yes;lr=on>. SIP(S) URI to which in-dialog requests should be sent too - optional - inserted in out-of-dialog request - lr parameter indicates loose-routing as specified in RFC 3261 (in contrast to strict-routing according to RFC 2543) - RR URI-parameters often be used by stateless elements as cookie (insecure!). © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 90. 45.
(46) Route: Header Route: <sip:1.2.32.160;nat=yes;lr=on>. SIP(S) URI that addresses an intermediate hop (proxy) - 1:1 copy of Record-Route header - all route URIs define the “route set” - usually only in in-dialog-requests - when present in out-of-dialog request: “pre-loaded route set”. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 91. P-Asserted-Identity, Privacy, Remote-Party-ID: Header Remote-Party-ID: <sip:[email protected]>;party=calling;idtype=subscriber;screen=yes. P-Asserted-Identity: “joe bow" <sip:[email protected]> P-Asserted-Identity: tel:+431234567 Privacy: id. Used to signal asserted identities to trusted nodes - RPID: old, obsolete draft but still often used (Cisco 5300 gateways) - PAI: for IMS, but also used by many SIP/PSTN gateways - screening indicater, Privacy header: CLIR © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 92. 46.
(47) Routing Headers Comparison Request URI - current target. Via - used for response routing. Record-Route - indicate intermediate hops to clients. Route - client indicates intermediate hops. Contact - address of a specific user agent. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 93. SIP Architecture SIP does not provide services SIP is a protocol which provides building blocks An application can use these building blocks to build services/features Building blocks: the request methods (INVITE, BYE …). © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 94. 47.
(48) SIP Services: Example 1 A voice call - INVITE - ACK - BYE. Put a call on hold - INVITE (reINVITE). © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 95. SIP services: Example 2 Transfer a call - REFER - BYE. SIP does not define the transfer, but defined methods which can be used to implement a call transfer. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 96. 48.
(49) Call Transfer 1 A. B. A calls B. B transfer A to C. C. INVITE 200 OK ACK REFER Refer-To: C 200 OK BYE 200 OK INVITE 200 OK ACK. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 97. Call Transfer 2 A. A calls B. B. B transfer A to C. C. INVITE 200 OK ACK. REFER Refer-To: A 200 OK. BYE 200 OK. INVITE 200 OK ACK. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 98. 49.
(50) SIP Services: Example 3 Presence - SUBSCRIBE - NOTIFY - PUBLISH. But above methods can also be used for other features (e.g. indication if a call transfer was successful, message waiting indication). © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 99. SIP Proxy vs. SIP B2BUA SIP Proxy - is just a proxy – forwards SIP messages - no body manipulation - adds/removes certain headers - changes request URI (retargeting). B2BUA (back to back user agent) - two SIP user agents mounted back-to-back - does not forward requests, but terminates incoming call and creates a second (outgoing) call. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 100. 50.
(51) SIP Proxy vs. SIP B2BUA. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 101. SIP Forking (branches) request gets forwarded to multiple targets parallel forking sequential forking transaction has multiple “branches”. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 102. 51.
(52) Parallel Forking Caller. Proxy. Target 2. Target 1. INVITE INVITE. INVITE. branch 1 branch 2. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 103. Sequential Forking Caller. Proxy. Target 2. Target 1. INVITE INVITE. branch 1. 408 Timeout, 603 Declined, 486 Busy Here, ... INVITE. branch 2. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 104. 52.
(53) SIP Transport Protocols SIP is independent of the used transport protocol From SIPit 20 summary: Implementations using each transport for SIP messages: -. UDP 100% TCP 82% TLS 46% (server auth only) TLS 24% (server or mutual auth) SCTP 7% DTLS 0%. NAPTR/SRV lookups for protocol detection Proxies will do protocol conversion. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 105. Authentication user-to-user user A. proxy A. proxy B. user B. proxy A. proxy B. user B. proxy A. proxy B. user B. user-to-proxy. user A. proxy-to-proxy. user A. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 106. 53.
(54) Authentication SIP level: HTTP digest authentication - UAC authenticates to a UAS. Transport layer: TLS, DTLS (datagram transport) - hop-by-hop - authenticates TLS server to TLS client or mutual. IP layer: - IPsec - transparent to SIP application - hop-by-hop - mutual authentication. - IP based authentication - hop-by-hop - dangerous with UDP (can be easily spoofed) - either in application or firewall. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 107. SIP using HTTP authentication mostly used in a user-to-homeproxy authentication scenario user A. proxy A. proxy B. user B. challenge response method Caller. Proxy. Callee. INVITE w/o credentials 407 ACK INVITE with credentials. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. INVITE. Rev.0.1 Page: 108. 54.
(55) HTTP Digest Authentication 1. INVITE INVITE sip:[email protected] SIP/2.0 Via: SIP/2.0/UDP 10.10.0.51:14838;branch=z9hG4bK-d8754z.... 2. request authentication SIP/2.0 407 Proxy Authentication Required Via: SIP/2.0/UDP 10.10.0.51:14838;branch=z9hG4bK-d8754zProxy-Authenticate: Digest realm="example.com", nonce="470f1e0a1d9db141898a0c2d98e167ce1c9be785" .... © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 109. HTTP Digest authentication 3. INVITE with credentials INVITE sip:[email protected] SIP/2.0 Via: SIP/2.0/UDP 10.10.0.51:14838;branch=z9hG4bK--d8754zProxy-Authorization: Digest username="joe.bow",realm="example.com",nonce="470f1e0a1d9d b141898a0c2d98e167ce1c9be785",uri="sip:[email protected]",r esponse="52281571a1badee79a51f0875aa5f660",algorithm=MD5 .... © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 110. 55.
(56) Chained HTTP Digest Authentication HTTP authentication against multiple proxies/clients Hardly used. user A. © FREQUENTIS 2008 File: voip_training.ppt. proxy A. Date: 21-10-2008 Author: wok@frq. proxy B. user B. Rev.0.1 Page: 111. Chained HTTP Digest Authentication Caller. Proxy A. Proxy B. Callee. INVITE w/o cred. 407 INVITE + cred. 1. INVITE 407. 407 INVITE + cred. 1+2. INVITE + cred. 2. INVITE. 401. 401. INVITE + cred. 2+3. INVITE + cred. 3. 401 INVITE + cred. 1+2+3. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 112. 56.
(57) Chained HTTP Digest Authentication Different authenticating parties? realm INVITE sip:[email protected] SIP/2.0 Via: SIP/2.0/UDP 10.10.0.51:14838;branch=z9hG4bK--d8754zProxy-Authorization: Digest username="joe.bow",realm=“proxy1",nonce="470f1e0a1d9db1418 98a0c2d98e167ce1c9be785",uri="sip:[email protected]",respon se="52281571a1badee79a51f0875aa5f660",algorithm=MD5 Proxy-Authorization: Digest username=“darilionk",realm=“proxy2",nonce=“asdf34gdras5fdf s",uri="sip:[email protected]",response="a51f0875aa5f660522 81571a1badee79",algorithm=MD5 .... Usually the domain is used as realm too, but can be any string. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 113. HTTP Authentication Characteristics SIP AoR username may be different than authentication username INVITE sip:[email protected] SIP/2.0 From: "joe"<sip:[email protected]>;tag=7c755807 Proxy-Authorization: Digest username=“joeb",realm="example.com",nonce="470f1e0a1d9db14 1898a0c2d98e167ce1c9be785",uri="sip:[email protected]",resp onse="52281571a1badee79a51f0875aa5f660",algorithm=MD5. Useful to have multiple SIP URIs but only 1 username/password: • sip:[email protected] • sip:[email protected]. joeb/password. • sip:[email protected]. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 114. 57.
(58) Proxy-Proxy Authentication Authentication on IP address Authentication with TLS and certificates Authentication with IPsec No authentication at all (SMTP style). © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 115. Agenda Basics – IP, UDP, multicast Basics – Quality of Service VoIP – Voice Transport VoIP – Signaling (SIP) Frequentis & VoIP Discussion. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 116. 58.
(59) VoIP Initiatives 3020IP, COMSYS, Gate-X Frequentis IP Interface. IP Server. Working Positions (iPos, PC Disp.) Native IP VCS Networking VCS IP. VCS IP. VCS VCS Access. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 117. Services Networked environments allow services being located at almost any place - Host processing power - Network infrastructure. Example: Radio site is able to connect 2 clients – extension to 3 and more clients. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 118. 59.
(60) Radio Service Elements Service entities to describe ATC radio services. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 119. Radio Communication Relations. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 120. 60.
(61) Service Sessions Client has a configuration file containing SIP URIs describing services needed by the application (1) The session setup (2) establishes a number of service specific data trunks (e.g. UDP for keep-alive check, UDP/RTP for audio transmission and TCP for data transfer) (3). © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 121. Session Setup Example (SDP only) Service interface definition (SIP, SDP and RTP content) for G/G and A/G communication - FRQ EUROCAE WG67 activities m=audio 10500 RTP/AVP 0 8 m=application 32456 udp heartbeat a=timeout:200 m=application 43210 TCP met-data c=IN IP4 192.0.2.1 a=setup:passive a=connection:new a=encoding:XML. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 122. 61.
(62) Gate-X 1 HU 19” chassis (media gateway) - low delay (17ms; 10ms audio packet, 2ms jitter buffer) - 622Mbit/s fiber expansion port (stackable) - powerful signal processing capabilities - integrated 22 port Fast Ethernet. VCS. - integrated 8E1/T1 (G.703) ports Radio. - standard RTP/RTCP and SIP VCS. - redundant power supply. IP. Working Position. Other applications. Radio Site. - radio site/base station equipment - IP conf./phone/radio server - TDM/IP gateway © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 123. Gate-X - Features Standardized signaling - RTP/RTCP - SIP. In-packet radio signaling (RTP header extension) - RFC 3550 - 8 Byte per packet (4 Byte header + 4 Byte information) - RTP Payload Type. QoS-DiffServ (use of DSCP and optimized processing) - internal audio processing <1ms. Multicast support Adjustable packetizer and jitter buffer - 5-30ms/1ms audio frame - 0-60ms/1ms jitter buffer © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 124. 62.
(63) VCXi / iRIF … Very low internal latency based on fast packet engines and streamlined voice stream paths Enhancement of legacy systems by features provided by the Frequentis iRIF-gateway Future-proof design according EUROCAE Working Group 67 outcomes, EU-Interoperability Regulation 552 and expected SESAR design constraints Two 4/6/8-wire interfaces for radio equipment or MFC RS232/RS485 (9.6 -115.2 KBit/s) interfaces for remote control 100 MBit/s Fast Ethernet, full duplex Digital I/O. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 125. SIP PC Dispatcher Basic Architecture PC Dispatcher. (GUI) Client. CAD.NET PC Dispatcher Server I/O Protocol Module. TAPI Protocol Module. http. Tetra Protocol Module. COM. COM. SIP TSP. TAL. COI Protocol Module. TCP/IP. COI Server. SIP. VoIP Digital Radio © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Frequentis VCS. Rev.0.1 Page: 126. 63.
(64) SIP Trunk (3rd party integration). © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 127. ISDN E1 (3rd party integration). © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 128. 64.
(65) WAN Gateway (Firecontrol). © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 129. WSA Bremen. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 130. 65.
(66) Deployable CRC. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 131. EUROCAE WG-67 Konstituierung: 03. 03. 2004 Ziele (bis 2006!): -. Analyse: operationelle Anforderungen, Standards, Servicequalität, … G/G und A/G Kommunikation: Definition von Komponenten (VCS, GRS …), Interoperabilität zwischen diesen Komponenten. Teilnehmer (Wunschliste): -. ANSPs, ATM Industrie, RTCA, ICAO, Eurocontrol, ITU, ETSI. Vienna Agreement: 13. 09. 2004 (Meeting #4) Plugtest #1: 14. 04. bis 18. 04. 2008 Akzeptierte Dokumente: 02/2009 (EUROCAE Approved) Plugtest #2: 30. 3. bis 03. 04. 2009 Plugtest #3: 09/2009 – SIP/MFC, SIP/ATS-QSIG Gateways © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 132. 66.
(67) Arbeitsgrundlage. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 133. Bedeutung des WG-67 Resultats WG-67 definiert keine Architektur sondern legt Anforderungen fest, identifiziert Komponenten und harmonisiert deren Schnittstellen - VCS - Radio (Funkgerät oder Gateway zum Funkgerät) - Recorder (aktives Recording) - Gateways (MFC, ATS-QSIG). Interpretationsspielraum innerhalb der Komponentendefinition - Das Vienna Agreement beschreibt eindeutige Schnittstellen - Bedingt durch die heterogene Gruppe und den Wunsch einiger ANSPs ein VoIP VCS zu definieren entstanden verschiedene Ansichten. Es bleiben Definitionslücken … - Zwanghafter Abschluss der Dokumente Ende 2008 - Mangelhafte Beiträge (auch aus strategischen Gründen) © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 134. 67.
(68) WG-67 Definitionslücken Syntax und vor allem Semantik der Schnittstellenbeschreibung - Keine klaren Aussagen zu bestimmten (von bestehenden Standards abweichenden) Parametern (hoher Interpretationsspielraum) - Keine Definitionen für Fehlerfälle (etwa Verbindungsabbruch) - Keine eindeutige Aufgabenverteilung speziell bei A/G Kommunikation zwischen Komponenten (wer legt Parameter fest). NICHT als Designdokument anwendbar - Vorteil für die Industrie – Schutz vor „newbies“ am Markt und USPs für Hersteller (durch besseres Verständnis der Inhalte) - Allgemein gibt es wenig WG-67 Know-how träger (im wesentlichen die Autoren selbst) - Hoher Testaufwand (pre-plugtests …) notwendig. Komplexe Fähigkeiten (Radiofeatures) sind nicht beschrieben - Erfordert die Definition einer Architektur!. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 135. Eurocae Dokumente (1) - veröffentlicht ED-136 – Operational and Technical Requirements - Eurocontrol, ANSPs, tlw. Industrie - (+) gemeinsame Initiative europäische ATC Anforderungen zu finden - (-) daraus wurde beinahe ein VoIP basiertes VCS. ED-137-1 – Interoperability Standards / Radio - Industrie (VCS, Radio) - (+) einheitliche Schnittstelle zwischen VCS und Radio (lückenhaft) - (-) keine konsolidierten Inhalte (zwanghafter Abschluss). ED-137-2 – Interoperability Standards / Telephony - ANSPs, Industrie (VCS) - (+) einheitliche Schnittstelle zwischen VCS A und VCS B (fast vollständig) - (-) viele Referenzen auf bestehende RFCs, trotzdem offene Punkte. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 136. 68.
(69) Eurocae Dokumente (2) - veröffentlicht ED-137-3 – Interoperability Standards / Recording - Industrie (VCS, Recorder: ATIS UHER) - (+) gute Dokumentation einer Architektur für aktives Recording - (-) geringe Wertschätzung des Themas innerhalb WG-67. ED-137-4 – Interoperability Standards / Supervision - Industrie (VCS, Radio) - (-) mangelhaftes Dokument (beschreibt OIDs für Komponenten) - (-) geringe Wertschätzung des Themas innerhalb WG-67. ED-138 – Network Design Guide / Network Specification - ANSPs, tlw. Industrie (CISCO!) - (+) Themen wie Servicequalität und Sicherheit werden angesprochen - (-) Tutorialcharakter, keine klaren Aussagen sondern Optionen. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 137. WG-67 Zukunft Folgemeeting am 21. 4. 2009 - Änderungsvorschläge, Rückmeldungen vom Plugtest im März, weitere Vorgangsweise - Fortschritte bei ED-139 (Qualification Tests) - Field-trial Aktivitäten in Europa (DFS, DSNA, FRQ). Eine allgemeine Überarbeitung der EDs ist notwendig - Schon während des Implementierens wurden Schwächen erkannt - Tests 2009 (März, September) werden weitere Diskussionen starten - Ein bestimmter Qualitätsstandard ist erforderlich um den ICAO Ansprüchen zu genügen (siehe auch Reviewkommentare von Eurocontrol). Es besteht der allgemeine Wunsch das Thema innerhalb SJU weiter zu verfolgen. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 138. 69.
(70) Frequentis, WG-67 und Plugtests Internes Ziel 2004: - WG-67 Mitarbeit mit dem Ziel die inhaltliche Gestaltung der Dokumente nach unseren zukünftigen Architekturen zu beeinflussen, ohne dabei FRQ USPs zu veröffentlichen. Inhalte sind: - die Darstellung eines Pradigmenwechsel weg von Plattformen und hin zu Serviceentitäten und deren Schnittstellen - für Schnittstellen, einfach betrachtet, die Anwendung von SIP und der gemeinsame Transport von Sprachdaten und PTT durch RTP. Interner Status 2009: - Wir verwenden SIP (comsys, isecom, dcrc, iccs …) und RTP mit PTT - Der Paradigmenwechsel ist innerhalb von WG-67 und innerhalb von FRQ nicht bzw. noch nicht vollständig gelungen - Es ist leider innerhalb FRQ nicht möglich auf eine sich stetig weiter entwickelnde Basissoftware zurückzugreifen - Neuentwicklung für Plugtests 2008 - Neuentwicklung für Plugtests 2009 ... - FRQ präsentiert einzelne Komponenten (Prototypen) und kein Produkt © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 139. Frequentis, WG-67 und Field Trials DSNA, DFS testet mit FRQ und vier Radioherstellern VoIP im Weitverkehrsnetz - DSNA – Entscheidungsgrundlage für zukünftige Ausschreibungen - Hohes „öffentliches“ Interesse (Eurocontol Workshop, WG-67 …) - Chancen für FRQ - erster Nachweis von VoIP Technologie im operationellen Umfeld mit unseren besten Kunden - Verständnis der Auswirkungen von „cross-border“ Kommunikation - Risiken für FRQ - Misserfolg hat weitreichende Auswirkungen die nicht allen innerhalb FRQ bewusst sind - Eingeschränktes Budget (FRQ als Partner und nicht als Lieferant) erhöht das Risiko eines Misserfolges. Komponenten sind nicht Teil des Plugtest #2, der Kunde erwartet jedoch uneingeschränkte Kompatibilität. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 140. 70.
(71) Agenda Basics – IP, UDP, multicast Basics – Quality of Service VoIP – Voice Transport VoIP – Signaling (SIP) Frequentis & VoIP Discussion. © FREQUENTIS 2008 File: voip_training.ppt. Date: 21-10-2008 Author: wok@frq. Rev.0.1 Page: 141. 71.
(72)
Related documents