Lecture 17 SIP

39
David Erman 1 Session Initiation Protocol Blekinge Institute of Technology – School of Engineering, Department of Telecommunications SIP Session Initiation Protocol A new communication paradigm

Transcript of Lecture 17 SIP

Page 1: Lecture 17 SIP

David Erman1

Session Initiation ProtocolBlekinge Institute of Technology – School of Engineering, Department of Telecommunications

SIPSession Initiation Protocol

A new communication paradigm

Page 2: Lecture 17 SIP

David Erman2

Session Initiation ProtocolBlekinge Institute of Technology – School of Engineering, Department of Telecommunications

The Problem: Too Many Networks

● Data networks– X.25– ISDN– ATM– Frame Relay

● Voice networks– A dying breed? – Optimized for voice

● Television Networks– Optimized for

streaming media● Mobile networks

– NMT– GSM– CDMA

● Usually incompatible end-user devices

Page 3: Lecture 17 SIP

David Erman3

Session Initiation ProtocolBlekinge Institute of Technology – School of Engineering, Department of Telecommunications

Why Still No VoIP?

● Because the Internet is not dimensioned for carrying voice traffic?– No, voice data with quality comparable to

that of the POTS (64kbit/s) is easily obtained, even over a 56.7kbit/s modem.

● Because the real-time nature of voice calls is impossible to cater for in the Internet?– No, there are protocols specifically designed

for RT transfer● The answer is more likely signalling issues

Page 4: Lecture 17 SIP

David Erman4

Session Initiation ProtocolBlekinge Institute of Technology – School of Engineering, Department of Telecommunications

Internet VoIP alternatives

● Use traditional telephony signalling concepts– H.323

● Use traditional telephony control concepts– Softswitches

● Use Internet-centric protocols– SIP

Page 5: Lecture 17 SIP

David Erman5

Session Initiation ProtocolBlekinge Institute of Technology – School of Engineering, Department of Telecommunications

SIP Overview¹

● Application Layer Signaling Protocol● Used to establish, modify, and terminate

multimedia sessions● Part of Internet Multimedia Architecture● Can use UDP, TCP, TLS, SCTP, etc.● Based on HTTP (Web)

– Similar text-based structure– Uses URIs (Uniform Resource Indicators)

● Applications include (but not limited to): – Voice, video, gaming, instant messaging, presence,

call control, etc.

1) Adapted from smuhandouts.com/8393/SIPTutorial.pdf

Page 6: Lecture 17 SIP

David Erman6

Session Initiation ProtocolBlekinge Institute of Technology – School of Engineering, Department of Telecommunications

SIP vs H.323

● Encoding– SIP: Text– H.323: Binary

● Complexity– SIP: Fairly low (HTTP-

like)– H.323: High

● Extensibility:– SIP: Open protocol– H.323: Vendor specific

● Transport prococol– SIP: UDP, TCP, ...– H.323: TCP, UDP

● IM support– SIP: yes– H.323: no

● Architecture– SIP: Modular– H.323: Monolithic

Page 7: Lecture 17 SIP

David Erman7

Session Initiation ProtocolBlekinge Institute of Technology – School of Engineering, Department of Telecommunications

What do we gain with SIP?

● Break the old POTS call models and use the Internet end to end principle.

● Sessions between processes instead of more or less permanent circuits.

● Voice, video and data sessions are “just another Internet service”

● Complete integration with all other Internet services.

Page 8: Lecture 17 SIP

David Erman8

Session Initiation ProtocolBlekinge Institute of Technology – School of Engineering, Department of Telecommunications

More SIP Features

● Location-independent addressing– Use email-style URIs, with options for E.164

numbering schemes● User preferences

– User-specified criteria on how to handle incoming requests

● Proxying– SIP proxy servers forward calls to servers able to

handle specific services

Page 9: Lecture 17 SIP

David Erman9

Session Initiation ProtocolBlekinge Institute of Technology – School of Engineering, Department of Telecommunications

SIP Features (cont.)

● Registration– Device registration

➢ Make calls routable to the device➢ “I may be reachable here”

– User registration➢ Register for particular information or services➢ Similar to web email access from Internet cafés

● Security– SIP is designed to use Internet security mechanisms

for keeping signalling safe

Page 10: Lecture 17 SIP

David Erman10

Session Initiation ProtocolBlekinge Institute of Technology – School of Engineering, Department of Telecommunications

SIP Features (cont.)

● Presence– Letting someone know that a party is connected to the

network and his/her communication state● Forking

– Forward a request to several devices● Mobility

– SIP call setup handles any endpoint device, as long as it speaks IP

● SIP is a simple text protocol, similar to HTTP

Page 11: Lecture 17 SIP

David Erman11

Session Initiation ProtocolBlekinge Institute of Technology – School of Engineering, Department of Telecommunications

A Brief SIP History

● SIP version 1.0 released as IETF draft in 1997● Version 2 draft released in 1998● RFC2543 approved by IETF in 1999● Obsoleted by RFC3241 in 2002● SIP WG formed in 1999

– Created two offspring➢ SIMPLE – Handles instant messaging and precense➢ SIPPING – Framework, requirements and practices

Page 12: Lecture 17 SIP

David Erman12

Session Initiation ProtocolBlekinge Institute of Technology – School of Engineering, Department of Telecommunications

The SIP Protocol Family

● SIP– Set up sessions between endpoints

● SAP – Session Announcement Protocol– Primarily for multicast session setup

● SDP – Session Description Protocol– Used for describing endpoint capabilities.

● RTP – Real-time Transport Protocol– Data transfer

Page 13: Lecture 17 SIP

David Erman13

Session Initiation ProtocolBlekinge Institute of Technology – School of Engineering, Department of Telecommunications

The SIP NE Family

● User Agents– User devices

● Servers– SIP proxy – forwards requests– Redirect server – gives redirection – Registrar server – updates location servers with user

info● Location servers

– Basically a database of user & their information

Page 14: Lecture 17 SIP

David Erman14

Session Initiation ProtocolBlekinge Institute of Technology – School of Engineering, Department of Telecommunications

A SIP Network

SIP Registrar

SIP Proxy

SIP Redirector SIP Location Server

SIP UA SIP UA

SIP SIP

SIP

SIP SIP

SIP

SIP

RTP

Page 15: Lecture 17 SIP

David Erman15

Session Initiation ProtocolBlekinge Institute of Technology – School of Engineering, Department of Telecommunications

SIP URIs¹

● Two URI schemes– sip:[email protected]

➢ Regular SIP URI– sips:[email protected]

➢ Secure SIP URI. Requires TLS.

● Two URI types– Address of Record (AOR) : Identifies user

➢ sip:[email protected]– Fully Qualified Domain name (FQDN) : Identifies

device➢ sip:[email protected]

1) Adapted from smuhandouts.com/8393/SIPTutorial.pdf

Page 16: Lecture 17 SIP

David Erman16

Session Initiation ProtocolBlekinge Institute of Technology – School of Engineering, Department of Telecommunications

SIP Protocol Messages

● Just like HTTP, SIP consists of request methods and response codes

● RFC2543 defined six methods and six response code groups

● RFC3261 added an additional 8 methods– Mostly for notifications and information

Page 17: Lecture 17 SIP

David Erman17

Session Initiation ProtocolBlekinge Institute of Technology – School of Engineering, Department of Telecommunications

Core SIP Methods

● INVITE – Session setup● ACK – Acknowledgement of response to final

invite● BYE – Session termination● CANCEL – Cancel pending session● REGISTER – Register user URL● OPTIONS – Capablities and options query

Page 18: Lecture 17 SIP

David Erman18

Session Initiation ProtocolBlekinge Institute of Technology – School of Engineering, Department of Telecommunications

SIP Response Codes

● 1xx – Provisional and Informational● 2xx – Success: request completed● 3xx – Redirection: try request elsewhere● 4xx – Client error: correct request and retry● 5xx – Server error: retry request elsewhere● 6xx – Global error: do not retry request

Page 19: Lecture 17 SIP

David Erman19

Session Initiation ProtocolBlekinge Institute of Technology – School of Engineering, Department of Telecommunications

The RFC Example

atlanta.com proxy biloxi.com proxyAlice's softphone Bob's SIP Phone

INVITEINVITE

100 TRYING INVITE

100 TRYING

180 RINGING

180 RINGING

180 RINGING 200 OK

200 OK

200 OK

ACK

MEDIA SESSION

200 OK

BYE

Page 20: Lecture 17 SIP

David Erman20

Session Initiation ProtocolBlekinge Institute of Technology – School of Engineering, Department of Telecommunications

An INVITE message

INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhdsMax-Forwards: 70To: Bob <sip:[email protected]>From: Alice <sip:[email protected]>;tag=1928301774Call-ID: [email protected]: 314159 INVITEContact: <sip:[email protected]>Content-Type: application/sdpContent-Length: 142

Request-Line

Headers

Page 21: Lecture 17 SIP

David Erman21

Session Initiation ProtocolBlekinge Institute of Technology – School of Engineering, Department of Telecommunications

Minimal Set of SIP Headers

● Via:– Indicates the transport used and where the reply

should be sent.– Must contain a branch parameter to uniquely identify

this request among all others ever sent by this UA (not present in RFC2543)

● Max-Forwards:– Indicates the maximum number of proxies or

gateways that may forward the request

Page 22: Lecture 17 SIP

David Erman22

Session Initiation ProtocolBlekinge Institute of Technology – School of Engineering, Department of Telecommunications

Minimal Set of SIP Headers

● To:– Identifies the logical recipient

● From:– Identifies the initiator of the request

● Call-ID:– Globally unique identifier for this call

● The combination of To, From and Call-ID is referred to as a dialog, and completely identifies a peer-to-peer SIP relationship

Page 23: Lecture 17 SIP

David Erman23

Session Initiation ProtocolBlekinge Institute of Technology – School of Engineering, Department of Telecommunications

Minimal Set of SIP Headers● CSeq:

– Command sequence number– Incremented for each new request in a dialog

● Contact:– Should contain a SIP URI to directly contact the

initiator● Content-Type:

– A description of the message body● Content-Length:

– Body size

Page 24: Lecture 17 SIP

David Erman24

Session Initiation ProtocolBlekinge Institute of Technology – School of Engineering, Department of Telecommunications

Session Description Protocol

● “The purpose of SDP is to convey information about media streams in a multimedia session to allow recipients of a session description to participate in the session.” (RFC2327)

● SDP includes– Session name and purpose– Time the session is active– The media comprising the session– Information to receive those media (addresses, ports,

formats etc)

Page 25: Lecture 17 SIP

David Erman25

Session Initiation ProtocolBlekinge Institute of Technology – School of Engineering, Department of Telecommunications

v=0o=mhandley 2890844526 2890842807 IN IP4 126.16.64.4s=SDP Seminari=A Seminar on the session description protocolu=http://www.cs.ucl.ac.uk/staff/M.Handley/[email protected] (Mark Handley)c=IN IP4 224.2.17.12/127t=2873397496 2873404696a=recvonlym=audio 49170 RTP/AVP 0m=video 51372 RTP/AVP 31m=application 32416 udp wba=orient:portrait

SDP Example

Media level

Session level

Page 26: Lecture 17 SIP

David Erman26

Session Initiation ProtocolBlekinge Institute of Technology – School of Engineering, Department of Telecommunications

SDP Type-value Pairs

● Session description (*=optional)– v= (protocol version)– o= (owner/creator and session identifier).– s= (session name)– i=* (session information)– u=* (URI of description)– e=* (email address)– p=* (phone number)– c=* (connection information)– b=* (bandwidth information)– z=* (time zone adjustments)– k=* (encryption key)– a=* (zero or more session attribute lines)

Page 27: Lecture 17 SIP

David Erman27

Session Initiation ProtocolBlekinge Institute of Technology – School of Engineering, Department of Telecommunications

SDP Type-value Pairs

● Time description– t= (time the session is active)– r=* (zero or more repeat times)

● Media description– m= (media name and transport address)– i=* (media title)– c=* (connection information)– b=* (bandwidth information)– k=* (encryption key)– a=* (zero or more media attribute lines)

Page 28: Lecture 17 SIP

David Erman28

Session Initiation ProtocolBlekinge Institute of Technology – School of Engineering, Department of Telecommunications

SDPng

● XML application for addressing SDP flaws– Limited expressiveness– No real negotiation functionality– Limited extensibility– No session semantics

Page 29: Lecture 17 SIP

David Erman29

Session Initiation ProtocolBlekinge Institute of Technology – School of Engineering, Department of Telecommunications

SDPng Example<?xml version="1.0" encoding="UTF-8"?>

<sdpng xmlns="http://www.iana.org/sdpng" xmlns:audio="http://www.iana.org/sdpng/audio" xmlns:video="http://www.iana.org/sdpng/video" xmlns:rtp="http://www.iana.org/sdpng/rtp" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.iana.org/sdpng sdpng-base.xsd http://www.iana.org/sdpng/audio sdpng-audio-pkg.xsd http://www.iana.org/sdpng/video sdpng-video-pkg.xsd http://www.iana.org/sdpng/rtp sdpng-rtp-pkg.xsd" >

<cap> <audio:codec name="avp:pcmu"> <audio:encoding>PCMU</audio:encoding> <audio:channels>1</audio:channels> <audio:sampling>8000</audio:sampling> </audio:codec> <audio:codec name="avp:gsm"> <audio:encoding>GSM</audio:encoding> <audio:channels>1</audio:channels> <audio:sampling>8000</audio:sampling> </audio:codec> <audio:codec name="avp:g723"> <audio:encoding>G723</audio:encoding> <audio:channels>1</audio:channels> <audio:sampling>8000</audio:sampling> </audio:codec> <audio:codec name="avp:dvi4"> <audio:encoding>DVI4</audio:encoding> <audio:channels>1</audio:channels> <audio:sampling> 8000 11025 16000 22050 </audio:sampling> </audio:codec> <audio:codec name="avp:lpc">

<audio:encoding>LPC</audio:encoding> <audio:channels>1</audio:channels> <audio:sampling>8000</audio:sampling> </audio:codec> <audio:codec name="avp:g722"> <audio:encoding>G722</audio:encoding> <audio:channels>1</audio:channels> <audio:sampling>8000</audio:sampling> </audio:codec> <audio:codec name="avp:l16"> <audio:encoding>L16</audio:encoding> <video:codec name="avp:celb"> <video:encoding>CelB</video:encoding> <video:framerate> 4 6 8 12 16 20 24 30 </video:framerate> </video:codec>

<rtp:udp name="rtpudpip6"> <rtp:network>IP6</rtp:network> </rtp:udp>

</cap> <def> <rtp:udp name="rtp-cfg1" ref="rtpudpip6"> <rtp:ip-addr>::1</rtp:ip-addr> <rtp:rtp-port>9546</rtp:rtp-port> </rtp:udp> </def> <cfg> <component> <alt> <audio:codec ref="avp:pcmu"/> <rtp:udp ref="rtp-cfg1"> <rtp:pt>0</rtp:pt> </rtp:udp> </alt>

</component> </cfg> </sdpng>

Page 30: Lecture 17 SIP

David Erman30

Session Initiation ProtocolBlekinge Institute of Technology – School of Engineering, Department of Telecommunications

Presence and Instant Messaging (IM)

● Why SIP for Presence and IM? We already have ICQ, Jabber, MSN Messenger, Yahoo, etc!– Presence isn't just useful for short messages– SIP already provides UA registration and

authentication– Use of existing SIP infrastructure. Servers, clients and

security mechanisms.– SIP is decentralized and scalable

Page 31: Lecture 17 SIP

David Erman31

Session Initiation ProtocolBlekinge Institute of Technology – School of Engineering, Department of Telecommunications

IETF Presence Model● Presentity

– The software entity that provides presence information to the presence service

● Watcher– Requests presence information

about one or more presentities– Subscriber– Fetcher– Poller

Presence UA

Presentity

Watcher UA

Watcher

Presence Service

Presence Protocol

Page 32: Lecture 17 SIP

David Erman32

Session Initiation ProtocolBlekinge Institute of Technology – School of Engineering, Department of Telecommunications

Presence Example¹

PresenceServer

Inbound Proxy Server

Outbound Proxy Server

A

1. SUBSCRIBE

2. SUBSCRIBE

3. SUBSCRIBE

4. 200 OK

5. 200 OK

6. 200 OK

1. A wants to be informed when B signs on, so sends a SUBSCRIBE

2. Outbound Proxy forwards to Inbound Proxy

3. Inbound Proxy forwards to B s Presence Server 4. Presence Server authorizes subscription by sending a 200 OK.

5. & 6. 200 OK proxied back to A.

B

Page 33: Lecture 17 SIP

David Erman33

Session Initiation ProtocolBlekinge Institute of Technology – School of Engineering, Department of Telecommunications

Presence Example (cont.)

PresenceServer

Inbound Proxy Server

Outbound Proxy Server

A

7. Presence Server sends NOTIFY containing current presence status of B (Not Signed In).

8. and 9. NOTIFY is proxied back to A.

10. A acknowledges receipt of notification with 200 OK.

11. & 12. 200 OK is proxied back to B's Presence Server.B

7. NOTIFY<Not signed in>

8. NOTIFY<Not signed in>

9. NOTIFY<Not signed in> 10. 200 OK

11. 200 OK

12. 200 OK

Page 34: Lecture 17 SIP

David Erman34

Session Initiation ProtocolBlekinge Institute of Technology – School of Engineering, Department of Telecommunications

Presence Example (cont.)

LocationServer

Inbound Proxy Server

Outbound Proxy Server

A

1. B signs on to his SIPPhone which sends aREGISTER messagecontaining the FQDN URI ofB s User Agent.

2. Database update is sentto the Location Server

3. Update is confirmed.

4. Registration is confirmedwith a 200 OK response.

B

1. REGISTERContact: [email protected]

2. Update DBB = [email protected]

Page 35: Lecture 17 SIP

David Erman35

Session Initiation ProtocolBlekinge Institute of Technology – School of Engineering, Department of Telecommunications

Presence Example (cont.)

PresenceServer

Inbound Proxy Server

Outbound Proxy Server

A

13. Presence Server learns of B s new status from the Location Server and sends a NOTIFY containing new status of B (Signed In).

14. & 15. NOTIFY is proxied back to A.

16. A acknowledges receipt of notification with 200 OK.

17. & 18. 200 OK is proxied back to Presence Server.B

13. NOTIFY<Signed in>

14. NOTIFY<Signed in>

15. NOTIFY<Signed in>

16. 200 OK

17. 200 OK

18. 200 OK

Page 36: Lecture 17 SIP

David Erman36

Session Initiation ProtocolBlekinge Institute of Technology – School of Engineering, Department of Telecommunications

Message Example

PresenceServer

Inbound Proxy Server

Outbound Proxy Server

A

1. A sends an Instant Message to B saying “Lunch?” in a MESSAGE request.

2. MESSAGE request is proxied

3. Location Server queried for B's address.

4. B's address is returned to proxy

5. Inbound Proxy forwards MESSAGE to B.

6. User Agent B responds with 200 OK.

7. & 8. 200 OK is proxied back to A. 2.3.4.5

B

1. MESSAGE<Lunch?>

2. MESSAGE<Lunch?>

3. LS Query:Where is B?

3. LS Reply:B is [email protected]

5. MESSAGE<Lunch?>

6. 200 OK

7. 200 OK

8. 200 OK

Page 37: Lecture 17 SIP

David Erman37

Session Initiation ProtocolBlekinge Institute of Technology – School of Engineering, Department of Telecommunications

Company Support¹24 Transport Inc

3Com 8x8 Inc Abatis AbleTek Acacia Accel, Inc. Access ConferencesAccess Networks India Pvt Limited Acme Packet Acterna Active Buddy Aculab Addaline AddPac Technology Adtech Advanced Communications Advantage CenturyTelecommunication Corp AG Projects Agsm Telecomunicazioni Agilent Ahead Software Alcatel Alexis Allied Telesyn Altium Technologies AltiLogic Anatel Communications Antepo Anyuser.Net AOL APEX Telecom AppDancer Networks Inc. Aravox Technologies Arca Technologies Arciis Software Technologies Arcturus Networks Arelnet Argent Networks Limited Arrayvox Communications Artdio Company Inc Artiza Networks Inc. Aspect Communications IP ContactSuiteAsterisk AT&T aTelo Audio Codes Avaz Networks AVAZ SIP PhoneSIP User AgentAvistar Award Solutions Azatel Communications Inc B2 Bredband AB BayPackets

Bell Canada Best Systems BCM SIP Phones and SIP GatewaysBitwise Communications Blue Sky Labs Blueslice Networks BOScom Ltd Brekeke Software Brix Networks Broadsoft Broadvox, Llc Broadvox Direct, Llc Brooktrout Technology BTexaCT BullDog TeleWorks, Inc. Callserve Callware Technologies Carnegie Mellon University Carrius Technologies Catapult Communications Catch 9 Communications Cedar Point Communications Circle24 Technologies CIRPACK Cisco Systems Citel Technologies Clarent CMP MediaCodenomicon Cognitonics Columbia University ComputerScience Comdial COMGATES Commetrex Communique Conferencing CommWorks comquest communication servicesgmbh Congruency ConnectContela Continuous Computing Corp Convedia Convergent Networks CarrierCosystech CosmoCom Critical Path CS Fordyce Associates CTL Inc. curiboCyberTel Cylogistics Data Connection Database Systems Corp. Dataflex Broadband Solutions

deltathree Delta Protocol Test Solutions Denwa Dexcel Electronics Designs ProStax¿ Dialexia Communications DialGlobeDialogic Digiquant DSL.net dynamicsoft EarthlinkEasyhome Talk ECI Telecom Ecrio Inc Edge Edgewater Networks Elesign Inc Empirix EmpowerTel Networks Envox Worldwide Ericsson eStara ET Phones eyeP Media S.A. F5 Networks FAHDTEL AB Finisar Systems Five Star Telecom Five9 Flashline Fomine Software Fox Communications Free IP Call/Global Network Free World DialupFreeBit OfficeOne,FrontRange Solutions USA Inc. G3 NOVA Galaxy Telecom GalleryGAO Research Inc. General Bandwidth Genesys TelecommunicationsLaboratories IPGL Communications Global IP Sound networks.GlobalNet Glowpoint GoldenNet Technology Inc. Grand Atlantic Telecom Limited Grandstream Networks Guideband HCL Technologies Ltd Hellosoft Heppner EDV Hewlett PackardHotbrick Network Solutions

Hotsip Hughes Software Systems i2Telecom Internationali3 micro technology IBC Global ConferencesIBM Icecom iFreedom IIR ConferencesInd TeleSoft Indigo Software Presence Server & Developer APIIndosoft Inet Technologies inGate InnoMedia InPhonex, LLC. Iphonica LLC Intel inPACT technologies Insight Research Corporation Integrated Voice Resources Intelix Global Solution Interactive Intelligence Inc. SIPInterInterExchange Carrier Interlan InterstarIntertex Data AB Invores IP Blue Technology Solutions IP Unity IP Ware IPAXS IPBridges IPCS ipDialog Iperia IPEYA ipGen IPmental ipNetfusion IPVerse IVR Technologies Iwatsu America Iwatsu Electric j2k Technology Jasomi Networks Kagoor Networks Kapsch CarrierCom Key3Media Komodo TechnologyLaurel Networks Level 3 Communications LEA*D IP Systems LG Electronics, Inc.

LindowsOS Linkbit, Inc. LongBoard LSI Logic Lucent TechnologiesLucid Voice Lycos Instant MessengerM5T Magic4 MahindraMailvision Mannaz Consulting Maple Leaf Communications Marconi Marcus EvansMarket Networks Inc. Mastek Limited MasterMind Technologies Intelligentmedia serversMCI MCK Communications MediaDigm MediaRing Mediatrix Meetinghouse Data Communications Mera Networks Merit Systems, Inc. provides a widerange of VoIP services to majorcarriers and the enterprise segment.Metalink Ltd Metaswitch (A division of DataConnection) Microappliances Microsoft Microtronix Systems Ltd. Miercom MIP Telecom Mistral Software Mitel Mobitus Mockingbird Networks Motorola Multitech National Institute of Standards andTechnology Naturalvoice.us Navtel Communications Inc NEC Infrontia NEC Corporation Net2Phone NET.COMNetCentrex Netergy Microelectronics NetNumber Secure, reliable, ENUMNetrake CarrierNetReality

NeTrue Communications NetSapiens, Inc. Netscreen Netspeak Corporation Nettel Holdings Nettest Network Sorcery Newport Networks Nexge Technologies NexTone NextVerse NFR Security Nicholson International NICs Intec Co. Ltd nikotel NinenLoci (Formerly TerminalTechnologies) NMS Communications Noble Systems Nokia Research Nortel NetworksNovaTel Novell nPlusOne NTT COMMWARE Scalable IPContact Center solutionsNuance Nuasis Nuera Object Software Octave Communications OfficeQ Oki OKSiJEN Orbitel multiOresis Communications Ortena Networks Oyat Technologies Oz.com Packet Data Systems Packetstorm Communications Packetway, Inc. Pactolus Pangean Technologies Paradial AS Paradyne Parlano Parrish Systems PCPhoneline.com Peninsula Communications Permeo Technologies Inc. Personeta PhoenixPhoneserve Phonologies

PicPingtel PolycomPolypix PortaOne Predictive Financial TechnologiesSIPPRIMUS Telecommunications, Inc., ProQuent Systems ProSIP Puredata Purple Packet QuesCom QTelNet QuesCom QUINTUM Technologies RADCOM RAVDVISIONRaviant Networks RealEast Networks Red Box Recorders Ltd Reuters Messaging Ridgeway Systems Ringchain Rivotek Rubicon IPNet SandCherry SanteraOne Seenode sentit0 Serome Technology Servonic Shiva Infotech CorporationSiemens SIP CPE Sources Inc SiP Micro Systems, Inc. SIPphone Inc. SIPquest Inc. SIP Talk SipTelecom Sipura Technology Sleipner Smart Yantra SNOM Technology SoftJoys Labs SOLINET, Inc. Sonexis Sonus Networks Spatial Portico¿ Speak2world Spirent Sprint Squire Technologies SS8 Stitel Systems Inc Sun Microsystems

Sunrise Telecom Sunshine Mind Inc Super Technologies Inc swisstel Sybari Software Sylantro Syndeo Sysmaster Corporation SX Design T&S Software T!Semantics Tablet Media TalkingNets Tangerine Inc Taqua TARIO.NET TechTerra Tekelec Telchemy Telco Systems TelcoBlue Telcopoint Inc. Telcordia Telecom Italia Lab TeleData Technology Telelogic Telephony@Work Telesoft Telia Telic.net Telica Tellme Telsey TELUS Testing Technologies Texas Instruments Think Business Networks Transnexus Trillium Trinity Convergence Ubiquity Uniden America Unisphere Networks Ulticom USTsarcom v2tel a/s Vail Systems Vapps Inc vCERT VCON VegaStream VeraScape VerilinkVerso Technologies Viseon VL Inc.

vNet Source VocalData Vocaltec Vodtel VoEx The Voice Peering Fabric VoiceVoiceGenie Technologies Inc VoicePulse VoiceTech Communications Corp. VOiCOM Voila Networks Volo Communications Vonage Digital Voice Voz Telecom Voyant Voice conferencing andcollaboration solutionsVPacket Wave Three Software Webley Systems Welltech White Pajama Wind River Winphoria Wipro Wiral Witnet WookSung Elec. Wylus Inc Xten Networks, Inc Zentrum ZGroupZultys Technologies Zygox Inc

¹) Registered companies at www.sipcenter.com

Page 38: Lecture 17 SIP

David Erman38

Session Initiation ProtocolBlekinge Institute of Technology – School of Engineering, Department of Telecommunications

Open Source Initiatives

● libosip– SIP library for application writers

● partysip, ser– Modular SIP proxies and registrars

● linphone, kphone, ...– SIP VoIP Uas

● sipsak– CLI tool for testing SIP services

Page 39: Lecture 17 SIP

David Erman39

Session Initiation ProtocolBlekinge Institute of Technology – School of Engineering, Department of Telecommunications

URLs

● http://www.cs.columbia.edu/sip/– Henning Shultzrinne's SIP page

● http://www.sipforum.com– Products and services

● http://www.sipcenter.com– Tools, articles and general information