Presentation is loading. Please wait.

Presentation is loading. Please wait.

VoIP / Internet Telephony

Similar presentations


Presentation on theme: "VoIP / Internet Telephony"— Presentation transcript:

1 VoIP / Internet Telephony
Peter Gradwell FBCS 26 Cheltenham St, Bath, BA2 3EX

2 Gradwell dot com Ltd Founded 1998 whilst an Undergrad
Now...30 Staff in Bath 3rd largest UK VoIP Provider for SMEs 30,000 lines on a VoIP platform gives us some interesting lessons to explore

3 Where does VoIP fit in?

4 Messaging + Talk

5 Different Types of VoIP

6 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

7 TCP/UDP/Ports Traffic is either TCP or UDP
MTU on Ethernet typically bytes 100 bytes of headers, bytes of data Lots of packet overhead Socket = IP Address + Port MTU = Max Transfer Unit/A Packet

8 Good book: If you're interested in more details
You can read most of it on amazon

9 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

10 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”

11 Skinny / SCCP Skinny is a lightweight protocol which allows for efficient communication with Cisco CallManager Not many other people use it, but there is a big Cisco install base Signalling via TCP, Media via RTP/UDP

12 SIP – Session Initiation Protocol
SIP is the dominant VoIP protocol It's a peer to peer protocol, unlike H.323

13 SIP Addressing SIP is very similar to Email and HTTP
URI Address format:

14 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.

15 SIP Registration Phone registers periodically to tell the SIP server where it is

16 SIP Call Flow

17 A Complete Call Often we'll draw SIP call path diagrams out like this for debugging

18 Debug using wireshark

19 You can also do redirects

20 SIP – Just for signalling
Register – Hello Invite – Ringing ACK – Please hold OK – Connecting you caller BYE – Nice to talk to you But no sound!

21 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  Codec BR        NEB  G.711      64 Kbps   87.2 Kbps  G.729       8 Kbps   31.2 Kbps  G.723.1   6.4 Kbps   21.9 Kbps  G.723.1   5.3 Kbps   20.8 Kbps  G.726      32 Kbps   55.2 Kbps  G.726      24 Kbps   47.2 Kbps  G.728      16 Kbps   31.5 Kbps  iLBC       15 Kbps   27.7 Kbps BR = Bit rate NEB = Nominal Ethernet Bandwidth (one direction)‏ Skype uses iLBC and ISAC

22 RTP RTP is used to send packets and re- assemble them What if?
Time stamp Sequence Payload type What if? They arrive out of order - Jitter Or not at all? - Packet Loss

23 Jitter “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

24 Packet Loss Typically, each packet is 20ms of voice
If we loose one packet, it's not a major problem Cisco implementation replays previous packet

25 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

26 QoS Example

27 Phone numbers Typically BT will route/transit the calls inbound from the world, to smaller Telcos Could buy the service from C&W/Kingston Call comes down an ISDN line (SS7 signalling) into a Server and we convert it to SIP BT network is statically routed Customer Intl Country Area Telco

28 ENUM Phone numbers as domain names
My VoIP server can now decide how to route the call becomes e164.arpa. When I look this up I find TEL: NNNNN SIP:

29 ENUM Conceptually Public ENUM is about publishing how you want to receive your phone calls Carrier ENUM is telcos getting a dynamic routing table

30 SRV Records Can you dial sip:peter@gradwell.com
Yes – just do a lookup for the ENUM Records on gradwell.com and make a call to “peter”. Peter =

31 Lets make a test call login: password: Jup5jojo sip proxy: newsip.gradwell.net Outbound proxy: natproxy.gradwell.net:5082 Display name: “test” Then call your mobile – cli should be Now dial inbound, everyones phone should ring! This demo uses an ActiveX control, so only works on windows

32 Conclusions SIP – Signalling, RTP – Audio
But SIP isn't the only game in town RTP is dependent on Network Quality Routing information can be stored in ENUM

33 Useful Resources www.trixbox.org www.voip-info.org
Great VoIP wiki Good Enum Primer Cisco Book


Download ppt "VoIP / Internet Telephony"

Similar presentations


Ads by Google