This is an introductory (toe in the water) course for SIP. The idea is to touch lightly on some of the many facets of a technology which is revolutionising the field of communications. The idea is to stir the imagination – let you see some of the opportunities (and pitfalls) of the latest ‘new fangled’ technology to assault our peaceful engineering lives.
So batten back your ‘lugs’ pay attention and SWITCH YOUR PHONES OFF!!!!!
The Agenda for today; 1/. To test your tolerance to PowerPoint while you are introduced to SIP 2/. Look at the necessary hardware 3/. Look at the signalling 4/. Look at how we can debug SIP 5/. Finally to build a SIP PBX 6/. Program the PBX 7/. Configure some handsets 8/. Place a few calls 9/. Review some of the new opportunities…………………..
WOW!!!! – That’s GREAT!!!!!! Slide number 6 and Its time to turn my brain off already!!!!!!! OK – so you walk up to a voice engineer point to the limp of plastic on his desk and says ‘What’s that?’ You will get an answer like ‘It’s me phone!’ Now – ask the same question of a data guy And the reply will be along the line of…. Ah – that would be a user endpoint capable of originating and terminating analogue audio streams, providing SMPFT/OC (Simple Management Protocol For Terminating and Originating Calls) – (hanging up / picking up) – a rich feature set of call deliver sub systems based upon a multi selection user interface (its got a keypad) which complies to multinational standards. (Its BT approved!!) which facilitates full user portability (its got a plug!!!) What both guys MEAN is it’s a Statesman KT1 Welcome to the world of ‘Data Speak’ - That’s great news for the data guys – unfortunately for us voice guys what it means is that (if you are lucky) you might see something on someone's desk that resembles a telephone – other than that its ALL CHANGE!!!!!!! No longer are we circuit switching voice – gone are the days of Voice over IP. Welcome to the days of everything over IP which terminates on a thing that might look like a telephone Alexander Graham Bell's notebook entry of March 10, 1876, describes the first successful experiment with the telephone, during which he spoke through the instrument to his assistant, Thomas A. Watson, in the next room. Bell writes, &quot;I then shouted into M [the mouthpiece] the following sentence: 'Mr. Watson--come here--I want to see you.' To my delight he came and declared that he had heard and understood what I said.“ Never again will Watson have to come charging through the house just so that the Master can see him!!!!!!!!!!!! So, what are they REALLY saying; SIP is a way to make, transfer and cleardown calls – but not just voice calls – multimedia calls. WICKED!!!!! – now you can conference your mates into your latest porn film!!!!!!!!
And that’s just for starters…………………… The Session Initiation Protocol (SIP) is a signalling protocol with great significance to the telecommunications industry. Chances are you're already using SIP (Session Initiation Protocol). It is one of the key innovations driving the current evolution of communications systems. Its first major use has been signalling in Internet telephony. Large carriers have been using SIP inside their networks for interconnect and trunking across long distances for several years. If you've made a long-distance call, part of that call probably used SIP. More recently, SIP has made it into the hands of the end user through a variety of devices that look and act a lot like telephones (but have only an Ethernet jack) and service providers such as iptel/FWD/VoIPTalk that offer telephony over any existing Internet connection. The next generation of mobile phones will use SIP as the primary signalling technology. SIP's utility does not end with telephony: it is already employed as a basic technology for IM (instant messaging) and presence.
SIP solves two fundamental problems in establishing real-time communication sessions. First, it helps two parties wanting to communicate find each other. Then it allows those parties to negotiate how they are going to communicate (session negotiation). The majority of these negotiations in systems running today result in voice sessions, but nothing prevents negotiating an IM session or even an online game. SIP is an open standard developed by the IETF (Internet Engineering Task Force). SIP provides a framework for developing communications systems. It is not just a simple telephony application protocol. It is being used to construct peer-to-peer systems, residential telephony services, PBX replacement systems, and large-scale carrier next-generation networks, such as the IMS (IP Multimedia Subsystem) of the 3GPP (Third Generation Partnership Project)
SIP carries routing information for both signalling and media in several fields scattered throughout the messages. For media in particular, these fields frequently carry explicit IP addresses and ports. A SIP endpoint behind a NAT will send messages with its private address and unmapped port, each of which will be useless to other endpoints not behind the same NAT. Furthermore, most NATs (and firewalls) will prevent incoming TCP connections and UDP traffic that doesn't line up with a temporary pinhole that outgoing UDP traffic establishes. As a result, SIP endpoints that implement only the base protocols will not work without external help when behind a NAT. Work on extensions to make NAT traversal easier for the endpoint is well under way. The STUN (Simple Traversal Underneath NATs) protocol has been available for a few years and is widely used by SIP endpoints to discover what their IP address and port look like on the other side of a NAT (the endpoint can then put its external addresses in all the right places, sacrificing talking to other endpoints behind the same NAT). We will see this later when we configure out SIP PBX and handsets. In the worst case, an endpoint might find itself behind a firewall or NAT that prevents all incoming traffic. Only packets belonging to a TCP stream that the endpoint opened will make it through. Incorrectly configured routers Quote from Cisco ‘ The causes of one-way audio in IP Telephony can be varied, but the root of the problem usually involves IP routing issues. This section takes a look at some of the scenarios and solutions that have been found in the field. ‘
SIP Users Agents (Some People Might call them phones?????
User Agents An application that initiates receives and terminates calls. User Agent Clients (UAC) – An entity that initiates a call. User Agent Server (UAS) – An entity that receives a call. Both UAC and UAS can terminate a call. Proxy Server An intermediary program that acts as both a server and a client to make requests on behalf of other clients. Requests are serviced internally or by passing them on, possibly after translation, to other servers. Interprets, rewrites or translates a request message before forwarding it. Location Server A location server is used by a SIP redirect or proxy server to obtain information about a called party’s possible location(s). Redirect Server A server that accepts a SIP request maps the address into zero or more new addresses and returns these addresses to the client. Unlike a proxy server, the redirect server does not initiate its own SIP request. Unlike a user agent server, the redirect server does not accept or terminate calls. Registrar Server A server that accepts REGISTER requests. The register server may support authentication. .
All you have to remember is that before we let the data guys joint the party we needed two phones and a PBX…………. Data guys like it to be in lots of little boxes – so now we have what they call the SIP trapezoid!!!!!!! This is what happens when you let the rif raf in!!!!!!!!!!
Is SIP Significant? It's been said that what HTTP did for the Web, SIP will do for telecommunications. SIP has colossal repercussions in the telecommunications industry. Cellular-technology companies have decided to standardize on SIP for all future applications. VoIP (Voice over IP) vendors, Internet telephony, and instant messaging applications (for example, Microsoft MSN Messenger) are all standardising on SIP. Some signalling protocols as well as peer-to-peer technology already exist. This begs the question, what advantage does SIP have over them? SIP offers some definite advantages: Stability: The protocol has been used for years now and is rock-solid. Speed: This UDP-based tiny protocol is extremely efficient. Flexibility: This text-based protocol is easily extensible. Security: Features like encryption (SSL, S/MIME) and authentication are available. Extensions to SIP offer other security features. Standardisation : With the entire telecommunications industry moving to it, SIP is rapidly becoming the standard. Other technologies may have some advantages over SIP, but they lack global adoption.
Basic Peer to Peer (P2P) SIP Communication
Each time a user turns on the SIP user client (SIP IP Phone, PC, or other SIP device), the client registers with the proxy/registration server. Registration can also occur when the SIP user client needs to inform the proxy/registration server of its location. The registration information is periodically refreshed and each user client must re-register with the proxy/registration server. Typically the proxy/registration server will forward this information to be saved in the location/redirect server.
However – in reality – we all like to have a PBX to control things so it would be best to have a server to deal with registering users and directing calls.
And as we have let the Data Guys join the party they will need to add a few servers so that they don’t feel left out…………………….. SIP is a lightweight, extensible, request/response protocol for starting communication sessions between two end-points. Does this sound familiar? SIP was inspired by HTTP and SMTP conceptually, although its intent is different. You can compare SIP messages to the CB lingo 10-codes, and Q-signals. Belle to Pete, do you copy, over Roger this is Pete, over Buy some bread on the way home Pete. Over OK 10-4 Over and Out In this example, the real message is surrounded with special call negotiation messages – Well so is SIP!!!!
Anatomy of a SIP Call Let's now look more closely at the technology. SIP is usually transported over UDP although TCP must also be supported by SIP tools. A SIP message contains two parts: An envelope that describes a request or the result of a request (response) in the form of header fields. An optional payload or content that contains data about the request. The envelope is text, but the content may be text or binary. As an example, let's dissect a typical SIP call. In this scenario, User A wants to call User B.
1. User Agent A sends a SIP request &quot;INVITE&quot; to User Agent B to indicate User A's wish to talk to User B. This request contains the details of the voice streaming protocol. The Session Description Protocol (SDP) is used in the payload for this purpose. The SDP message contains a list of all media codecs supported by User A. (These codecs are using RTP for transport.)
2. User Agent B reads the request and tells User Agent A it has been received.
3. While the phone rings, User Agent B sends provisional messages (ringing) to User Agent A just so it doesn't time out and give up
4. Eventually User B decides to accept the call. At this point User Agent B sends an OK response to User Agent A. In the payload of the response, there's another SDP message. It contains a set of media codecs that are supported by both user agents. At this point both parties are officially in the call. All types of SIP requests are accepted using 200-type responses.
5. User Agent A finally confirms with an ACK message. There are no retries and no response messages for this request type, even if the message is lost. ACK is only used in the case of an INVITE message.
6. Both user agents are now connected using the method selected in the last SDP message.
7. At the end of the communication session, one of the users hangs up. At this point this user's user agent sends a new request BYE. This message can be sent by any of the parties.
8. The other user's user agent accepts the request and replies with an OK message. The call is disconnected.
SIP response codes, class 1: Provisional messages These are sent within a SIP dialogue 100 Trying 180 Ringing 181 Call Is Being Forwarded 182 Queued 183 Session Progress
SIP Response codes, Class 2 : Success Messages The 2xx class of responses indicates a success 200 OK 202 accepted: Used for referrals
SIP response codes, Class 3 : Redirection Messages The 3xx class of responses indicates a redirection of the call 300 Multiple Choices 301 Moved Permanently 302 Moved Temporarily 305 Use Proxy 380 Alternative Service
SIP response codes, Class 4: Request Failures 400 Bad Request 401 Unauthorized: Used only by registrars. Proxys should use proxy authorization 407 402 Payment Required (Reserved for future use) 403 Forbidden 404 Not Found: User not found 405 Method Not Allowed 406 Not Acceptable 407 Proxy Authentication Required 408 Request Timeout: Couldn't find the user in time 409 Conflict 410 Gone: The user existed once, but is not available here any more. 413 Request Entity Too Large 414 Request-URI Too Long 415 Unsupported Media Type 416 Unsupported URI Scheme 420 Bad Extension: Bad SIP Protocol Extension used, not understood by the server 421 Extension Required 423 Interval Too Brief 480 Temporarily Unavailable 481 Call/Transaction Does Not Exist 482 Loop Detected 483 Too Many Hops 484 Address Incomplete 485 Ambiguous 486 Busy Here 487 Request Terminated 488 Not Acceptable Here 491 Request Pending 493 Undecipherable: Could not decrypt S/MIME body part
SIP response codes, Class 5: Server Failures 500 Server Internal Error 501 Not Implemented: The SIP request method is not implemented here 502 Bad Gateway 503 Service Unavailable 504 Server Time-out 505 Version Not Supported: The server does not support this version of the SIP protocol 513 Message Too Large
SIP response codes, Class 6: Global Failures 600 Busy Everywhere 603 Decline 604 Does Not Exist Anywhere 606 Not Acceptable
Other similar protocols are; TURN ICE
To try out this dialog, a small capture file containing a VoIP call can be found the pcap traces folder on this disk (sip-rtp-g711.cap) The VoIP calls list shows the following information per call: Start Time: Start time of the call. Stop Time: Stop time of the call. Initial Speaker: The IP source of the packet that initiated the call. From: For H323 and ISUP calls, this is the calling number. For SIP calls, it is the &quot;From&quot; field of the INVITE. For MGCP calls, the EndpointID or calling number. For UNISTIM the Terminal ID. To: For H323 and ISUP calls, this is the called number. For SIP calls, it is the &quot;To&quot; field of the INVITE. For MGCP calls, the EndpointID or dialled number. For UNISTIM the dialled number. Protocol: Any of the protocols listed above Packets: Number of packets involved in the call. State: The current call state. The possible values are CALL SETUP: call in setup state (Setup, Proceeding, Progress or Alerting) RINGING: call ringing (only supported for MGCP calls) IN CALL: call is still connected CANCELLED: call was released before connect from the originated caller COMPLETED: call was connected and then released REJECTED: call was released before connect by the destination side UNKNOWN: call in unknown state Comment: An additional comment, this is protocol dependent. For H323 calls it shows if the call uses Fast Start or/and H245 Tunnelling. Filtering a call To prepare a filter for a particular call, just select the desired call and press &quot;Prepare Filter&quot; button. This will create a filter in the Main Wireshark windows to filter the packets related to this call.
To Graph analysis one or multiple calls from the VoIP List, select them from the list and then press the &quot;Graph&quot; button. The Graph will show the following information: Up to Ten columns representing an IP address each one. All packets that belong to the same call are colorized with the same colour An arrow showing the direction of each packet in the calls The label on top of the arrow shows message type. When available, it also shows the media codec. The RTP traffic is summarized in a wider arrow with the corresponded Codec. Shows the UDP/TCP source and destination port per packet. The comment column has protocol dependent information: H323: Fast Start and H245 Tunnelling ON/OFF for the packet. The SETUP message shows the calling and called number The RELEASE message shows the Q.931 Release cause code SIP: Shows if the packet is a &quot;Request&quot; or a &quot;Status&quot; message. The INVITE message also shows the &quot;From&quot; and &quot;To&quot; fields ISUP: The format is as follows: NetworkID-Originating Point Code -> NetworkID-Destination Point Code, CIC MGCP: The MGCP Endpoint ID, and if the packet is a &quot;Request&quot; or &quot;Response&quot; message. UNISTIM: Details of the message, and the sequence #. RTP: Number of RTP packets in the stream, the duration in seconds and the SSRC field. When clicking a packet in the Graph, the selected frame will be selected in the Main Wireshark window. NOTE All available communications protocols are shown in the original ‘invite’ G711A law, G711u Law, GSM etc stc. Lower down the stack the negotiated protocol is shown
Playing VoIP calls Is this a security issue? Damn right!!!!!!! Note: For the moment, this feature works only for G711 A-Law and G711 u-Law RTP streams (other codecs not implemented). To play the RTP audio stream of one or multiple calls from the VoIP List, select them from the list and then press the &quot;Player&quot; button:
Choose an initial value for the jitter buffer and then press the &quot;Decode button&quot;. The jitter buffer emulated by Wireshark is a fixed size jitter buffer and can efficiently be used to reproduce what clients can effectively hear during the VoIP call. You can now see all RTP streams available for the calls that you selected: Note that all RTP packets that are dropped because of the jitter buffer are reported (&quot;Drop by Jitter Buff&quot;), as well as the packets that are out of sequence (Out of Seq). Pressing the &quot;Play&quot; button plays the RTP stream from within Wireshark. A progress bar indicates the position in the stream and is synchronized amongst all RTP streams that are played.
RTP stream analysis If you want to analyze an RTP stream, there are two ways to select the one to analyse: use the menu entry &quot;Statistics->RTP->Show All Streams...&quot; and select a stream in the upcoming &quot;RTP Streams&quot; dialog select an RTP packet in the Packet List Pane and use &quot;Statistics->RTP->Stream Analysis...&quot; Both ways will lead to the same &quot;RTP Stream Analysis&quot; dialog. You can get the Delay, jitter, bandwidth, etc. of that RTP stream. Also get general statistics like Packet Loss, max delay and sequence errors. Use the &quot;Graph&quot; button to see the jitter and difference between packets over the time.
Please Note SKYPE does not use SIP Microsoft LCS is based on SIP Mitel 3300 and Dual Mode Phones Avaya SIP Application Server and 4600 Series Phones Cisco SIP proxy servers and phones D-Link SIP Phones Polycom SIP Phones
These are sites of general interest / reference for SIP and Debug Tools
These are the best sites to set up your own SIP PBX or just to get yourself your own SIP trunk and save a few quid!!!!!!
Support documentation on this CD The Wireshark document details how to diagnose SIP faults using Wireshark
3CX PBX and SIP Server: The SIP PBX built during this course Audacity Audio Editing Software FWD Communicator Free World Dialup SIP Phone HoverIP Diagnostic Software (Includes IP Config / NSLookup / Route Table / Ping / Traceroute / Port Scanner JMF Plays back RTP Streams Netcheck Quick and easy SIP connectivity testing tool
aaa.pcap - Part of the wirshark document Audio and Video over SIP - This is a trace of sending audio and video to a softphone. Video over SIP - This is a trace of sending just video to a softphone. IP Invite to Busy End Point - Here is a SIP call flow to an endpoint that is busy. SIP Unknown URI - A sample trace that demonstrates the call flow for a SIP INVITE with a URI that is not know by the System Under Test (SUT). SIP RTP G711 - This trace is a SIP call flow using RTP and the g711 codec. ISUP over SIP - UK Initiator Responder - This trace captures a send receive call flow of call between two phones using the UK format of ISUP over SIP
As a demonstration we will build a 3CX SIP PBX. In REAL life I would use Asterisk – however as Asterisk runs on a Linux Enterprise Server and as this is a one day course………………………….. If, however anybody wants to take this further then have a look at http://www.asterisk.org for the software and http://www.voiptalk.org/products/Asterisk+PBX+Cards for cards, http://www.voiptalk.org/products/Asterisk+PBX+Cards for handsets and http://www.counterpath.com/xlitedownload.html for a softphone. AND while we are on the subject of Counterpath and Softphones – lets have a look at some of their other options Bria EyeBeam Quick Conference DA90 Anybody recognise anything…………………………………
Ok – So, most of you are familiar with the concept but here is the schematic anyway……………….. Today we will NOT be connecting to the PSTN (we've all done that before) and we only have a limited amount of time and this is a SIP course not a PSTN course. However there is more than one way to connect to PSTN. So what we are going to do is to connect our PBX to a SIP carrier. Then we will dial in and via the wonder of ENUM the PSTN call will arrive at our PBX and from there to whichever UA or group you want it to go to (or maybe voicemail or we could be REALLY smart and configure an auto attendant……………………..)
Default = 3
Default = mail.mycompany.com [email_address] These would be changed to suite the customers requirements. This would be provided (no doubt incorrectly) by their IT Department
Here we go!!!!!
Now was not that easy!!!!!
Log on with the credential you entered during the installation process
Management Console On the top segment of the screen click ‘Click here to add an extension’
Add a few extensions – one each would be good – then we will need a few for the other devices!!!!!
At the end of each extension installation screen you will be presented with the information you will need to configure the ‘telephone’ and also a set of help files…………
Next – Lets set up a trunk Go to Lines Add Voip
Leave EVERYTHING on default (you did the hard work on the last screen!!)
External Number = 05601048333 Authorisation ID = 844105170 Password = 75XCzf Everything else on default
For the demo leave this as it is – but you have to watch out for rules like this!!! You’ll see why in a bit????????
Extensions Done – we just need a quick test………………….
Click on ‘Line Status’ top of the screen Great – Lines working – No phones – Guess we do the phones next!!!!!!
From the folder on your CD install X-Lite onto your lap top
Once started right click on the X-Lite phone screen to access the setup menu Click Add and enter the information from the 3CX PBX at the end of the extension setup screens
Apply / Ok They you should get something like this
Back to the PBX – you should see something like this
Dial 0 9 0 2 That’s ‘0’ for an outside line – remember the dialling rule!!!!!!!!!!!!!!
Dial 999 (another strange rule) To access your voicemail NOTE THE PADLOCK – this is NOT secure!!!!!! Secure requires SRTP
If someone would care to dial 0560 104 8333 from their mobile…………….. And a few internal test call between extensions Think about the possibilities……………… Lets check out www.counterpoint.com to help Effects on traditional PBX’s (pricing) New skill required by installation/maintenance engineers How do you know which server in a comms room of 100 servers is the one running the phones??????? Why buy applications like YA when this is virtually FREE!!!!!! Check out http://www.voiptalk.org/products/Asterisk+PBX+Cards for card prices Also try http://www.iptelephones.co.uk/ for handsets http://www.voiptalk.org/products/VoIP+Phones again for handsets
Benefit #1: Much easier to install & configure than a proprietary phone system: An IP PBX runs as software on a computer and can use the processing power of the computer and user interface as well as Windows’ features. Anyone proficient in networking and computers can install and maintain an IP PBX. By contrast a proprietary phone system often requires an installer trained on that particular proprietary system! Benefit #2: Easier to manage because of web/GUI based configuration interface: An IP PBX can be managed via a web-based configuration interface or a GUI, allowing you to easily maintain and fine tune your phone system. Proprietary phone systems have difficult-to-use interfaces which are often designed to be used only by the phone technicians. Benefit #3: Significant cost savings using VOIP providers: With an IP PBX you can easily use a VOIP service provider for long distance and international calls. The monthly savings are significant. If you have branch offices, you can easily connect phone systems between branches and make free phone calls. Benefit #4 Eliminate phone wiring! An IP Telephone system allows you to connect hardware phones directly to a standard computer network port (which it can share with the adjacent computer). Software phones can be installed directly onto the PC. You can now eliminate the phone wiring and make adding or moving of extensions much easier. In new offices you can completely eliminate the extra ports to be used by the office phone system! Benefit #5: Eliminate vendor lock in! IP PBXs are based on the open SIP standard. You can mix and match any SIP hardware or software phone with any SIP-based IP PBX, PSTN Gateway or VOIP provider. In contrast, a proprietary phone system often requires proprietary phones to use advanced features, and proprietary extension modules to add features. Benefit #6: Scalable Proprietary systems are easy to outgrow: Adding more phone lines or extensions often requires expensive hardware modules. In some cases you need an entirely new phone system. Not so with an IP PBX: a standard computer can easily handle a large number of phone lines and extensions – just add more phones to your network to expand! Benefit #7: Better customer service & productivity: With an IP PBX you can deliver better customer service and better productivity: Since the IP telephone system is now computer-based you can integrate phone functions with business applications. For example: Bring up the customer record of the caller automatically when you receive his/her call, dramatically improving customer service and cutting cost by reducing time spent on each caller. Outbound calls can be placed directly from Outlook, removing the need for the user to type in the phone number. Benefit #8: Twice the phone system features for half the price! Since an IP PABX is software-based, it is easier for developers to add and improve feature sets. Most VOIP phone systems come with a rich feature set, including auto attendant, voice mail, ring groups, advanced reporting and more. These options are often very expensive in proprietary systems. Benefit #9 Allow hot desking & roaming Hot desking – the process of being able to easily move offices/desks based on the task at hand, has become very popular. Unfortunately traditional PBXs require extensions to be re-patched to the new location. With an IP PBX the user simply takes his phone to his new desk – No patching required! Users can roam too – if an employee has to work from home, he/she can simply fire up their SIP software phone and are able to answer calls to their extension, just as they would in the office. Calls can be diverted anywhere in the world because of the SIP protocol characteristics! Benefit #10 Better phone usability: SIP phones are easier to use Employees often struggle using advanced phone features: Setting up a conference, transferring a call – On an old PBX it all requires instruction. Not so with an IP PBX – all features are easily performed from a user friendly Windows GUI. In addition, users get a better overview of the status of other extensions and of inbound lines and call queues via the IP PBX Windows client. Proprietary systems often require expensive ‘system’ phones to get an idea what is going on, on your phone system. Even then, status information is cryptic at best. Conclusion Investing in a software-based IP PBX makes a lot of sense, not only for new companies buying a phone system, but also for companies who already have a PBX. An IP PBX delivers such significant savings in management, maintenance, and ongoing call costs, that upgrading to an IP PBX, should be the obvious choice for any company.
Introduction To SIP Please switch off any mobile/ ringing devices Thank you xxxx xxxx
Introduction To SIP What is SIP? Why use SIP? Parts of a SIP Network SIP Based Signaling Debugging SIP Companies using SIP Useful Web Sites Roundup of what’s on your CD Lets build a SIP system!!!!!!!
Session Initiation Protocol - An application layer signaling protocol that defines initiation, modification and termination of interactive, multimedia communication sessions between users. IETF RFC 2543 Session Initiation Protocol
<ul><li>Supports 5 facets of communication: </li></ul><ul><li>User location : determination of the end system to be used for communication; </li></ul><ul><li>User capabilities : determination of the media and media parameters to be used; </li></ul><ul><li>User availability : determination of the willingness of the called party to engage in communications; </li></ul><ul><li>Call setup : "ringing", establishment of call parameters at both called and calling party; </li></ul><ul><li>Call handling : including transfer and termination of calls . </li></ul>Basic Functionality
SIP Addressing <ul><ul><li>The SIP address is identified by a SIP URL, in the format: user@host. </li></ul></ul><ul><ul><li>Examples of SIP URLs: </li></ul></ul><ul><ul><ul><li>sip:email@example.com </li></ul></ul></ul><ul><ul><ul><li>sip:firstname.lastname@example.org </li></ul></ul></ul><ul><ul><ul><li>sip:email@example.com </li></ul></ul></ul>
Audio, video, ... INVITE 200 OK ACK BYE 200 OK
Registration <ul><ul><li>Each time a user turns on the SIP user client (SIP IP Phone, PC, or other SIP device), the client registers with the proxy/registration server. </li></ul></ul><ul><ul><li>Registration can also occur when the SIP user client needs to inform the proxy/registration server of its location. </li></ul></ul><ul><ul><li>The registration information is periodically refreshed and each user client must re-register with the proxy/registration server. </li></ul></ul><ul><ul><li>Typically the proxy/registration server will forward this information to be saved in the location/redirect server. </li></ul></ul>SIP Messages: REGISTER – Registers the address listed in the To header field. 200 – OK. Proxy/ Registration Server SIP Phone User Location/ Redirect Server REGISTER REGISTER 200 200
INVITE 200 OK INVITE 200 OK • • • 302 Redirect REGISTER
Call Setup and Teardown 302 (Moved Temporarily) ACK INVITE 302 (Moved Temporarily) ACK Call Teardown Media Path Call Setup Location/Redirect Server Proxy Server Proxy Server INVITE INVITE 200 (OK) 200 (OK) INVITE 180 (Ringing) 180 (Ringing) 180 (Ringing) 200 (OK) ACK ACK ACK RTP MEDIA PATH BYE BYE BYE 200 (OK) 200 (OK) 200 (OK) INVITE User Agent User Agent
<ul><li>1. User Agent A sends a SIP request "INVITE" to User Agent B to indicate User A's wish to talk to User B. This request contains the details of the voice streaming protocol. The Session Description Protocol (SDP) is used in the payload for this purpose. The SDP message contains a list of all media codecs supported by User A. (These codecs are using RTP for transport.) </li></ul>
<ul><li>2. User Agent B reads the request and tells User Agent A it has been received. </li></ul>
<ul><li>3. While the phone rings, User Agent B sends provisional messages (ringing) to User Agent A just so it doesn't time out and give up. </li></ul>
<ul><li>4. Eventually User B decides to accept the call. At this point User Agent B sends an OK response to User Agent A. In the payload of the response, there's another SDP message. It contains a set of media codecs that are supported by both user agents. At this point both parties are officially in the call. All types of SIP requests are accepted using 200-type responses. </li></ul>
<ul><li>5. User Agent A finally confirms with an ACK message. There are no retries and no response messages for this request type, even if the message is lost. ACK is only used in the case of an INVITE message. </li></ul>
<ul><li>6. Both user agents are now connected using the method selected in the last SDP message. </li></ul>RTP packets of audio data going in both directions over ports 49170 & 3456 using PCMU/8000 encoding. .
<ul><li>7. At the end of the communication session, one of the users hangs up. At this point this user's user agent sends a new request BYE. This message can be sent by any of the parties. </li></ul>
<ul><li>8. The other user's user agent accepts the request and replies with an OK message. The call is disconnected. </li></ul>
class 1: Provisional messages <ul><li>100 Trying </li></ul><ul><li>180 Ringing </li></ul><ul><li>181 Call Is Being Forwarded </li></ul><ul><li>182 Queued </li></ul><ul><li>183 Session Progress </li></ul>
Class 2 : Success Messages <ul><li>200 OK </li></ul><ul><li>202 accepted: Used for referrals </li></ul>
Class 3 : Redirection Messages <ul><li>300 Multiple Choices </li></ul><ul><li>301 Moved Permanently </li></ul><ul><li>302 Moved Temporarily </li></ul><ul><li>305 Use Proxy </li></ul><ul><li>380 Alternative Service </li></ul>
Class 4: Request Failures <ul><li>400 Bad Request </li></ul><ul><li>401 Unauthorized: Used only by registrars. Proxys should use proxy authorization 407 </li></ul><ul><li>402 Payment Required (Reserved for future use) </li></ul><ul><li>403 Forbidden </li></ul><ul><li>404 Not Found: User not found </li></ul><ul><li>405 Method Not Allowed </li></ul><ul><li>406 Not Acceptable </li></ul>
Class 5: Server Failures <ul><li>500 Server Internal Error </li></ul><ul><li>501 Not Implemented: The SIP request method is not implemented here </li></ul><ul><li>502 Bad Gateway </li></ul><ul><li>503 Service Unavailable </li></ul><ul><li>504 Server Time-out </li></ul><ul><li>505 Version Not Supported: The server does not support this version of the SIP protocol </li></ul><ul><li>513 Message Too Large </li></ul>
Class 6: Global Failures <ul><li>600 Busy Everywhere </li></ul><ul><li>603 Decline </li></ul><ul><li>604 Does Not Exist Anywhere </li></ul><ul><li>606 Not Acceptable </li></ul>
Stunned!! <ul><li>A STUN (Simple Traversal of User Datagram Protocol [UDP] Through Network Address Translators [NATs]) server allows NAT clients (i.e. computers behind a firewall) to setup phone calls to a VOIP provider hosted outside of the local network. </li></ul><ul><li>The STUN server allows clients to find out their public address, the type of NAT they are behind and the internet side port associated by the NAT with a particular local port. This information is used to set up UDP communication between the client and the VOIP provider and so establish a call. The STUN protocol is defined in RFC 3489. </li></ul><ul><li>The STUN server is contacted on UDP port 3478, however the server will hint clients to perform tests on alternate IP and port number too (STUN servers have two IP addresses). The RFC states that this port and IP are arbitrary. </li></ul>
What is an ENUM? <ul><li>ENUM stands for T e lephone Nu mber M apping. Behind this ‘abbreviation’ hides a great idea: To be reachable anywhere in the world with the same number – and via the best and cheapest route. ENUM takes a phone number and links it to an internet address which is published in the DNS system. The owner of an ENUM number can thus publish where a call should be routed to via a DNS entry. What's more, different routes can be defined for different types of calls - for example you can define a different route if the caller is a fax machine. ENUM does require the phone of the caller to support it. </li></ul><ul><li>You register an ENUM number rather like you register a domain. At present many registrars and VOIP providers are providing this as a free service. </li></ul><ul><li>ENUM is a new standard, and is not that widespread yet. Though it looks set to become another revolution in communications and personal mobility. </li></ul>
<ul><li>Microsoft LCS </li></ul><ul><li>Windows Messenger </li></ul><ul><li>Google Talk </li></ul><ul><li>Mitel </li></ul><ul><li>Avaya </li></ul><ul><li>Nortel </li></ul><ul><li>PTO’s </li></ul><ul><li>D-Link </li></ul><ul><li>Hitachi </li></ul><ul><li>Polycom </li></ul><ul><li>Cisco </li></ul><ul><li>Siemens </li></ul>Sales of mobile phones with active SIP functionality will reach 275 million units in 2007
If someone would care to dial 0560 104 8333 from their mobile………… And a few internal test call between extensions Think about the possibilities………………
Well that’s just GREAT for THEM!!!! Ok – so we have just built a SIP PBX – we’ve added a few phones and made a couple of calls. Was it difficult? – NO!! On the notes for this file you will find 10 rather compelling reasons for customers to adopt SIP based systems. Many manufacturers are positioning themselves ready for SIP All great news for them………………… I wonder where that leaves us?????????