Internet Technology – Voice over IP Peter Gradwell www.gradwell.com | 01225 800 800 | info@gradwell.com BT Advert from 1980s Page | 2 http://www.youtube.com/v/o0H65_pag04 www.gradwell.com | 01225 800 800 | info@gradwell.com Welcome to Gradwell Gradwell provides technology for every line on your business card Every product we sell solves a problem we had Page | 3 www.gradwell.com | 01225 800 800 | info@gradwell.com The TCP/IP Stack Where does VoIP fit in? Page | 4 www.gradwell.com | 01225 800 800 | info@gradwell.com Different Types of VoIP VoIP Comes in Many Flavours Page | 5 www.gradwell.com | 01225 800 800 | info@gradwell.com Voice Protocols All systems use some kind of application protocol to communicate - SIP - H323 - IAX (Inter Asterisk eXchange) - Skinny (Cisco Protocol) Audio is transported as RTP www.gradwell.com | 01225 800 800 | info@gradwell.com TCP/UDP/Ports Traffic is either TCP or UDP MTU on Ethernet typically 1500 bytes 100 bytes of headers, 1400 bytes of data Lots of packet overhead Socket = IP Address + Port MTU = Max Transfer Unit/A Packet www.gradwell.com | 01225 800 800 | info@gradwell.com Good book: If you're interested in more details You can read most of it on amazon www.gradwell.com | 01225 800 800 | info@gradwell.com H.323 Point to Point Protocol H.323 is actually a family of protocols H.323 is used a lot on trunk routes, as it's signalling reflects ISDN, but is becoming obsolete Modem over IP Conferencing Fax 9 www.gradwell.com | 01225 800 800 | info@gradwell.com Inter-Asterisk eXchange Asterisk is a major OpenSource phone system IAX was invented by Mark Spencer/Digium Single UDP stream – port 4569 Handles the Media inband on the same socket - Can support multiple RTP streams - Single signalling link - Far more bandwidth efficient - Also much friendlier for firewalls - Pronounced “eeks” 10 www.gradwell.com | 01225 800 800 | info@gradwell.com SIP – Session Initiation Protocol SIP is the dominant VoIP protocol It's a peer to peer protocol, unlike H.323 11 www.gradwell.com | 01225 800 800 | info@gradwell.com SIP Addressing SIP is very similar to Email and HTTP URI Address format: - sip:peter@gradwell.com - sip:100@sip.gradwell.net:5060 - sip:441225800800@sip.gradwell.net 12 www.gradwell.com | 01225 800 800 | info@gradwell.com Types of SIP Message INVITE—An INVITE method indicates that the recipient user or service is invited to participate in a session. ACK - An ACK request confirms that the UAC has received the final response to an INVITE request. - ACK is used only with INVITE requests. ACK is sent end to end for a 200 OK response. OPTIONS—A UA uses the OPTIONS request to query a UAS about its capabilities BYE—A UA uses BYE to request the termination of a previously established session. CANCEL—The CANCEL request enables UACs and network servers to cancel an in-progress request, such as INVITE. This does not affect completed requests in which the UAS had already sent final responses. REGISTER—A client uses a REGISTER request to register its current location information corresponding to the AOR of the user with SIP servers. 13 www.gradwell.com | 01225 800 800 | info@gradwell.com SIP Registration Phone registers periodically to tell the SIP server where it is 14 www.gradwell.com | 01225 800 800 | info@gradwell.com SIP Call Flow 15 www.gradwell.com | 01225 800 800 | info@gradwell.com A Complete Call Often we'll draw SIP call path diagrams out like this for debugging 16 www.gradwell.com | 01225 800 800 | info@gradwell.com Debug using wireshark 17 www.gradwell.com | 01225 800 800 | info@gradwell.com You can also do redirects 18 www.gradwell.com | 01225 800 800 | info@gradwell.com Codecs “Nyquist theorem states that if you sample an analog signal at twice the rate of the highest frequency of interest, you can accurately reconstruct that signal back into its analog form” Audio is sampled at 8k or 16k times per second (Hertz) – Pulse Code Modulation Codecs trade off quality, bandwidth and CPU to produce an RTP data packet Narrow Band (8k) or Wide Band (16k) We waste loads of Bandwidth on packet overhead Audio transmitted as RTP Codec G.711 G.729 G.723.1 G.723.1 G.726 G.726 G.728 iLBC BR 64 Kbps 8 Kbps 6.4 Kbps 5.3 Kbps 32 Kbps 24 Kbps 16 Kbps 15 Kbps NEB 87.2 Kbps 31.2 Kbps 21.9 Kbps 20.8 Kbps 55.2 Kbps 47.2 Kbps 31.5 Kbps 27.7 Kbps BR = Bit rate NEB = Nominal Ethernet Bandwidth (one direction) Skype uses iLBC and ISAC www.gradwell.com | 01225 800 800 | info@gradwell.com Jitter & Packet Loss “Jitter is the variation of packet interarrival time” Jitter is a major problem - The internet is asymmetrical - Manage the problem with a Jitter buffer ~ 20ms www.gradwell.com | 01225 800 800 | info@gradwell.com Quality of Service QoS is needed if a network link is congested Routers need to enforce traffic prioritisation across their links How do they decide? - Trust the user? - DiffServ, Expedited Forwarding and Low Delay bits in IP header - Trust the network – all traffic on port X or from IP address Y is special 21 www.gradwell.com | 01225 800 800 | info@gradwell.com Shift Change in the handset industry What about Mobile Handsets? SIP over WiFi has a very bad user experience – Still difficult to setup GSM Calls “Just work” Costs of calling can be fixed commercially – e.g. All inclusive call plans Operators are not keen on offloading voice minutes onto their data networks iPhone & Google Voice are changing things Page | 22 www.gradwell.com | 01225 800 800 | info@gradwell.com Which Mobile App Should I run? Page | 23 www.gradwell.com | 01225 800 800 | info@gradwell.com Google Voice Video Page | 24 http://www.youtube.com/v/m4Q9MJdT5Ds www.gradwell.com | 01225 800 800 | info@gradwell.com What is ENUM User ENUM - Allows users to define how calls should be routed to their numbers - Stores telephone numbers in DNS and routing records ENUM = E.164 NUmber Mapping (E164 is an ITU standard) Needs a new ‘root’ - .e164.arpa - Managed by RIPE Numbers stored in reverse - +44 1865 332211 becomes - 1.1.2.2.3.3.5.6.8.1.4.4.e164.arpa www.gradwell.com | 01225 800 800 | info@gradwell.com What is ENUM DNS uses a special form of record - Name Authority Pointer (NAPTR) - RFC2915 NAPTR contains a URI - Information on how to route call - Can specify multiple ways to call - VoIP (SIP/H323) - Email - Tel(ephone) - Fax NAPTR records can be very sophisticated - Can contain time of day and other information - Can contain regular expressions so say a SIP record relates to the ENUM data - (Generic ENUM records for a telco) www.gradwell.com | 01225 800 800 | info@gradwell.com What is ENUM $ORIGIN 2.1.2.1.5.5.5.0.7.7.1.e164.arpa. IN NAPTR 100 10 "u" "E2U+sip" "!^.*$!sip:information@pbx.example.com!i" . IN NAPTR 102 10 "u" "E2U+email" "!^.*$!mailto:information@example.com!i" This is a record for +1 770 555 1212 100 / 102 is priority - Lowest number, highest priority 10 is a preference level - Can be ignored here as both records 10 “u” is a user record i.e. stop processing E2U+sip is the way of writing it’s a SIP record Regular expression and the final destination www.gradwell.com | 01225 800 800 | info@gradwell.com ENUM call Company A Dials +44 987 654321 Company B PSTN +44 123 456789 +44 987 654321 SIP:25@compB.co.uk SIP:01@A.co.uk Internet No ENUM www.gradwell.com | 01225 800 800 | info@gradwell.com ENUM call Company A Dials +44 987 654321 Company B PSTN +44 123 456789 +44 987 654321 SIP:25@compB.co.uk SIP:01@A.co.uk +1.2.3.4.5.6.7.8.9.44.164.arpa ENUM Internet D N S +44 987 654321 SIP:25@compB.co.uk www.gradwell.com | 01225 800 800 | info@gradwell.com ENUM in production Asterisk supports ENUM “out the box” OpenSIPS has an ENUM module Various PBX suppliers can support ENUM though may require special configuration Nominet have developed an Android application Enumdroid - Integrated into dialer ENUM in the UK is currently looking for users - www.nominet.org.uk/enum/ www.gradwell.com | 01225 800 800 | info@gradwell.com Enumdroid – real life app • Developed by Nominet’s Ray Bellis – published as open source. – Available on the Android Marketplace • Dial the number of your contact • Application performs an ENUM query and Presents the user the options available • Caller make decision of call method and places the call. • Presents a number of options – Has flexibility to turn off GSM if necessary www.gradwell.com | 01225 800 800 | info@gradwell.com Enumdroid – real life app • Developed by Nominet’s Ray Bellis – published as open source. – Available on the Android Marketplace • Dial the number of your contact • Application performs an ENUM query and Presents the user the options available • Caller make decision of call method and places the call. • Presents a number of options – Has flexibility to turn off GSM if necessary www.gradwell.com | 01225 800 800 | info@gradwell.com Enumdroid – real life app • Developed by Nominet’s Ray Bellis – published as open source. – Available on the Android Marketplace • Dial the number of your contact • Application performs an ENUM query and Presents the user the options available • Caller make decision of call method and places the call. • Presents a number of options – Has flexibility to turn off GSM if necessary www.gradwell.com | 01225 800 800 | info@gradwell.com Enumdroid – real life app • Developed by Nominet’s Ray Bellis – published as open source. – Available on the Android Marketplace • Dial the number of your contact • Application performs an ENUM query and Presents the user the options available • Caller make decision of call method and places the call. • Presents a number of options – Has flexibility to turn off GSM if necessary www.gradwell.com | 01225 800 800 | info@gradwell.com ENUM Conclusions Story so far ENUM allows interoperability between carriers More than just voice Most applications can be completed without “ENUM”, if you control the network & devices It needs a lot of end user applications Page | 35 www.gradwell.com | 01225 800 800 | info@gradwell.com Voice Over IP? Where are we at with VoIP? Protocols and services are well established & here to stay Lines (no pun intended) are bluring Network convergence is actually happening No one wants a desk phone Some of the mobile problems will be fixed commercially Some problems by changes in end user behaviour and open access to networks The desktop environment is quickly unifying Telcos still like building islands of subscribers Regulator is looking at mobile number portability ENUM gives end-user control, but no applications or drive for it Page | 36 www.gradwell.com | 01225 800 800 | info@gradwell.com Any Questions? Peter Gradwell T: E: Page | 37 01225 800 810 peter@gradwell.com www.gradwell.com | 01225 800 800 | info@gradwell.com