(SIP)

3y ago
21 Views
2 Downloads
412.02 KB
47 Pages
Last View : 14d ago
Last Download : 3m ago
Upload by : Grady Mosby
Transcription

hgs/SIP Tutorial1The Session Initiation Protocol(SIP)Henning SchulzrinneDept. of Computer ScienceColumbia UniversityNew York, New York(sip:)schulzrinne@cs.columbia.eduMay 2001

hgs/SIP Tutorial2Overview protocol architecture typical component architectures protocol operation reliability features securityMay 2001

hgs/SIP Tutorial3Introduction core protocol for establishing sessions in the Internet transports session description information from initiator (caller) to callees allows to change parameters in mid-session terminate sessionMay 2001

hgs/SIP Tutorial4Protocol architectureLanguages/APIsJAINCPL voiceXMLservletsParlaysip cgiDirectory/DiscoveryDNS/enum LDAP TRIPSLPQoSDiffServIntServSignalingSIP SDP MGCPH.248PINTpeer to peerSPIRITSRTSPmaster slaveTransportRTPTLSSCTPMay 2001

hgs/SIP Tutorial5SIP applications setting up voice-over-IP calls setting up multimedia conferences event notification (subscribe/notify) IM and presence text and general messaging signaling transportMay 2001

hgs/SIP Tutorial6Personal mobilitySIP uses email-style addresses to identify usersalice@columbia.edu(also used by ost.columbia.eduMay 2001

hgs/SIP Tutorial7SIP addressing typically, same as user’s email .com written as URL, e.g., sip:alice@example.com also can use tel URLs for telephone numbers, e.g., tel: 12125551212 orfax: 358.555.1234567May 2001

hgs/SIP Tutorial8Building blocksA@B@C@SIP user agentIP phone, PC, conference bridgeSIP redirect serverreturns new location for requestsSIP stateless proxyroutes call requestsSIP (forking) proxyroutes call requestsSIP registrarmaintains mappings from names to addressesMay 2001

hgs/SIP Tutorial9Back-to-back UA (B2BUA) two (or more) user agents, where incoming calls trigger outgoing calls tosomebody else also, “third-party call control” (later) useful for services and anonymitySIP UA1 (UAS)INVITE b2b200 OKSIP UA2 (UAC)INVITE callee200 OKMay 2001

hgs/SIP Tutorial10Maintaining state in SIP entitiesStateless: each request and response handled indepdently(Transaction) stateful: remember a whole request/response transactionCall stateful: remember a call from beginning to endMay 2001

hgs/SIP Tutorial11SIP building block propertiesUA (UAC, UAS)proxyredirect elycommonyescall statecommonpossible (firewall)N/AMay 2001

hgs/SIP Tutorial12SIP architecture: peer-to-peerSIPredirect serveruser agent (UA)user agent (UA)user agent (UA)Internet128.119.40.186RTP audio128.59.19.141CATVEthernetMay 2001

hgs/SIP Tutorial13SIP architecture: outbound proxywonderland.commacrosoft.comREGISTER sip:macrosoft.com SIP/2.0To: sip:bob@macrosoft.comFrom: sip:bob@macrosoft.comContact: strarproxywonderland.comINVITE sip:bob@macrosoft.com SIP/2.0alice@ph7.wonderland.comINVITE sip:bob@macrosoft.com SIP/2.0bob@p42.macrosoft.comINVITE sip:bob@p42.macrosoft.com SIP/2.0May 2001

hgs/SIP Tutorial14SIP architecture: VoIP to PSTNlocation serverTRIPSLP?, TRIP GW?sip:12125551234@gwrus.comsip:1 212 555 1234@domainSIPH.248tel: 1 212 555 1234outbound proxyIP010May 2001

hgs/SIP Tutorial15SIP architecture: PSTN to VoIPenum ip:alice@wonderland.comIPINVITE sip:alice@wonderland.com010May 2001

hgs/SIP Tutorial16SIP operation in proxy modecs.columbia.edu? location server1cz@cs.tu berlin.de2hgs@play200 OK4henningcs.tu berlin.deINVITEhenning@columbia.edu7INVITE hgs@play 53200 OK6playtune8ACK hgs@play9media streamMay 2001

hgs/SIP Tutorial17SIP operation in redirect mode?tu-berlin.de INVITE henning@ieee.org302 Moved temporarilyContact: uieee.org345 ACK henning@ieee.org6 INVITE hgs@columbia.educolumbia.edu7 200 OK8 ACK hgs@columbia.eduhgs(302: redirection for single call; 301 permanently)May 2001

hgs/SIP Tutorial18Locating users: registrars and location serversregistrar pc17A@B@C@SQL, LDAP, Corba,proprietary, .location serverINVITEalice@example.comINVITE alice@pc17.example.comproxyMay 2001

hgs/SIP Tutorial19Basic user location mechanism1. host(SIP URL) host name of proxy2. DNS: host name of proxy SIP server(s)3. if SIP UAS: alert user; done4. if SIP proxy/redirect server: map URLn URLn 1 , using any information inrequest5. go to step 1One minor exception. . .May 2001

hgs/SIP Tutorial20Basic SIP “routing” mechanisms will fill in details later route using request URIs all but first request in call typically bypass proxies and go direct UAC – UAS however, can use “record-routing” to force certain proxies to be visited all the time responses always traverse the same route as requestsMay 2001

hgs/SIP Tutorial21Outbound proxies normally, proxy serves one or more domains outbound proxies are used for all outbound requests from within a domain typically, for managing corporate firewalls and policy enforcement may also provide dial plans or route tel/fax URLs other uses: lawyer client billing, . . .May 2001

hgs/SIP Tutorial22Locating users: DNS SRV email: DNS MX record allows mapping of domain to mail host, e.g.host -t mx l.yahoo.commta-v1.mail.yahoo.com SIP: use a newer record for general-purpose mapping, SRV (RFC 2782) mapping from service and transport protocol to one or more servers, includingprotocolssip. tcpsip. cs.columbia.edu.backup.ip-provider.net. allows priority (for back-up) and weight (for load balancing)May 2001

hgs/SIP Tutorial23Using DNS SRV for scalable load-balancinga.example.comsip. udp SRV 0 0 a1.example.comSRV 1 0 a2.example.coma1.example.com, xample.coms3.example.comsip. udp SRV 0 0 s1.example.comSRV 0 0 s2.example.comSRV 0 0 s3.example.comb1.example.com, b2.example.comMay 2001

hgs/SIP Tutorial24Differences to classical signalingnamein-bandout-of-bandIPexamplesE&M, DTMFISUP, Q.931SIPnetworksamedifferenttypically same“channel”samedifferentdifferentIP signaling meets media only at end systems, while PSTN out-of-band intersects atevery switchMay 2001

hgs/SIP Tutorial25Aside: Alternative architecture: master-slave master-slave: MGC (media gateway controller) controls one or more gateways allows splitting of signaling and media functionality “please send audio from circuit 42 to 10.1.2.3” uses MGCP (implemented) or Megaco/H.248 (standardized, but just beginning tobe implemented) gateway can be residential basis of PacketCable NCS (network control system) architecture service creation similar to digital PBX or switch end system has no semantic knowledge of what’s happening can charge for caller id, call waitingMay 2001

hgs/SIP Tutorial26MGCP/SIP architectureSTPcall agentMG controllerSIPH.323MGCP/Megacocall agentMG controllerSIPTCAPSS7 RGWMay 2001

hgs/SIP Tutorial27SIP requests and responses text, not binary, format look very similar to HTTP/1.1 requests and responses are similar except for first line requests and responses can contain message bodies: typically session descriptions,but also ASCII or HTMLMay 2001

hgs/SIP Tutorial28SIP syntaxrequestSIP/2.0 status reasonVia:SIP/2.0/ protocol host:portuser sip:from user@source From:To:user sip:to user@destination Call ID:localid@hostCSeq:seq# methodContent Length: length of bodyContent Type:media type of bodyHeader:parameter ;par1 value ;par2 "value";par3 "value folded into next line"message headermethod URL SIP/2.0responsemessage bodyblank lineV 0o origin user timestamp timestamp IN IP4 hostc IN IP4 media destination addresst 0 0m media type port RTP/AVP payload typesmessageMay 2001

hgs/SIP Tutorial29SIP syntax field names and some tokens (e.g., media type) are case-insensitive everything else is case-sensitive white space doesn’t matter except in first line lines can be folded multi-valued header fields can be combined as a comma-listMay 2001

hgs/SIP Tutorial30SIP RACKSUBSCRIBENOTIFYinitiate callconfirm final responseterminate (and transfer) callcancel searches and “ringing”features support by other sideregister with location servicemid-call information (ISUP, DTMF)precondition metprovisional acknowledgementsubscribe to eventnotify subscribersMay 2001

hgs/SIP Tutorial31Tagging To after forking and merging, hard to tell who responded UAS responds with random tag added to disambiguateTo: "A. G. Bell" sip:agb@bell-telephone.com ;tag a48s future requests are ignored if they contain the wrong tagMay 2001

hgs/SIP Tutorial32SIP call legs call leg: From, To, Call-ID requests from callee to caller reverse To and From caller and callee keep their own CSeq space either side can send more INVITEs or BYEMay 2001

hgs/SIP Tutorial33SIP responsesInformational100 Trying180 Ringing181 Call forwarded182 Queued183 Session ProgressSuccess200 OKRedirectionRequest Failure300 Multiple Choices301 Moved Perm.302 Moved Temp.380 Alternative Serv.400 Bad Request401 Unauthorized403 Forbidden404 Not Found405 Bad Method415 Unsupp. Content420 Bad Extensions486 Busy Here500 Server Error501 Not Implemented503 Unavailable504 TimeoutServer Failure600 Busy Everwhere603 Decline604 Doesn’t Exist606 Not AcceptableGlobal FailureMay 2001

hgs/SIP Tutorial34SIP response routing requests are routed via URL response traces back request route without proxy server state forward to host, port in next Via TCP: re-use connection if possible, create new one if needed UDP: may send responses to same port as requestsVia: SIP/2.0/UDP server.domain.org:5060;received 128.1.2.3May 2001

hgs/SIP Tutorial35SIP response routingalice@example.combob doe@yahoo.combob@columbia.eduVia: y1.yahoo.comVia: a.example.comVia: a.example.comINvITEVia: a.example.comVia: y1.yahoo.comVia: a.example.comVia: sip.columbia.eduVia: y1.yahoo.comVia: a.example.comVia: sip.columbia.eduVia: y1.yahoo.comVia: a.example.comVia: cs.columbia.eduVia: sip.columbia.eduVia: y1.yahoo.comVia: a.example.combob@cs.columbia.edu200 OKVia: cs.columbia.eduVia: sip.columbia.eduVia: y1.yahoo.comVia: a.example.combob@pc42.cs.columbia.eduMay 2001

hgs/SIP Tutorial36Forcing request paths usually, bypass proxies on subsequent requests some proxies want to stay in the path call-stateful:– firewalls– anonymizer proxies– proxies controlling PSTN gateways use Record-Route and RouteMay 2001

hgs/SIP Tutorial37SIP request d.comINVITE bob@bINVITE sales@macrosoft.comCANCEL bob@cINVITE carol@ccarol@c.macrosoft.comACK200 OKBYE carol@c.macrosoft.com200 OKMay 2001

hgs/SIP Tutorial38SIP request forking branches tried in sequence or parallel (or some combination) recursion: may try new branches if branch returns 3xx return best final answer lowest status code forward provisional responsesMay 2001

hgs/SIP Tutorial39SIP transport issues SIP operates over any packet network, reliable or unreliable choices:UDP: most common– low state overhead– small max. packet sizeTCP: can combine multiple signaling flows over one link– use with SSL– connection setup overhead– HOL blocking for trunksSCTP: new protocol– no HOL blocking– fallback address (but SRV provides this already)– connection setup overheadMay 2001

hgs/SIP Tutorial40Transport reliability for all but INVITEclientUAS, proxyBYE500 ms used for BYE, OPTIONS,SUBSCRIBE, NOTIFY, . . .1s 1xx sent by UAS or proxyonly if no final answer expected within 200 ms2s4s4s. if provisional response, retransmit with T 2 (4) secondsno more than11 packets200, 4xx, 5xx, 6xxMay 2001

hgs/SIP Tutorial41INVITE reliability INVITE is special – long timebetween request and final response 100 (by proxy) indicates request has been received proxy usually forwards 1xxfrom all branchesInitial INVITEnT1*2INVITE1xxstatusACK only retransmit until 100 ACK confirms receipt of finalresponseCallingCall proceeding1xx 7 INVITE sentstatusACKstatusACKCompletedeventrequest sentMay 2001

hgs/SIP Tutorial42Extending SIPextensionnew headersnew headersnew methodnew body typenew status codenew URL OPTIONSAcceptclass-based?May 2001

hgs/SIP Tutorial43SIP extensions and feature negotiation if crucial, mark with “Require: feature” IANA-registered features are simple names, private features use reverse domainnames indicate features supported in Supported:C- S:INVITE sip:watson@bell-telephone.com SIP/2.0Require: com.example.billingSupported: 100relPayment: sheep skins, conch shellsS- C:SIP/2.0 420 Bad ExtensionUnsupported: com.example.billingS- C:SIP/2.0 421 Extension RequiredRequire: 183May 2001

hgs/SIP Tutorial44Invitation ttelephony multicast sessionreach first dept. conference SIP for all modes, SAP/SDP also for multicast/multicastMay 2001

hgs/SIP Tutorial45SIP-based servicesCall forwarding: basic INVITE behavior (proxy/redirect)Call transfer: REFER method (see later)DTMF carriage: carry as RTP payload (RFC 2833)Calling card: B2BUA voice serverVoice mail: UA with special URL(s) possibly RTSPMay 2001

hgs/SIP Tutorial46SIP securitylayer/mechanismnetwork layertransport layerSIP INVITESIP REGISTERSIP IMEcharacteristicsadjacent nodes, all or nothing, hard to configureadjacent nodes, all or nothingshared secrets with random partiessecuring headers?in progressBasic (plaintext password) and digest (challenge-response) are very similar to HTTPsecurity mechanisms.May 2001

hgs/SIP Tutorial47For more information. . .SIP: http://www.cs.columbia.edu/sipSDP: http://www.cs.columbia.edu/ hgs/internet/sdp.htmlRTP: http://www.cs.columbia.edu/ hgs/rtpPapers: http://www.cs.columbia.edu/IRTMay 2001

SIP: use a newer record for general-purpose mapping, SRV (RFC 2782) mapping from service and transport protocol to one or more servers, including protocols _sip._tcp SRV 0 0 5060 sip-server.cs.columbia.edu. SRV 1 0 5060 backup.ip-provider.net. _sip._udp SRV 0 0 5060 sip-server.cs.columbia.edu. SRV 1 0 5060 backup.ip-provider.net.

Related Documents:

SIP SIP phones Blustar 8000i NA SIP SIP phones 9112i, 9133i, 480i Not Supported SIP SIP phones 673xi ( A673xi), 675xi ( A675xi) NA SIP SIP phones 6735i, 6737i ( A6735i, A6737i) NA SIP SIP phones 6739i NA SIP SIP phones 6863i, 6865i, 6867i NA SIP MiVoice Conference phone (UC360

C O N T E N T S Configuration of SIP Trunking for PSTN Access SIP-to-SIP 1 Finding Feature Information 1 Configuration of SIP Trunking for PSTN Access SIP-to-SIP Features 1 Configuring SIP Registration Proxy on Cisco UBE 3 Finding Feature Information 3 Registration Pass-Through Modes 4 End-to-End Mode 4 Peer-to-Peer Mode 5 Registration in Different Registrar Modes 7

How To Guide: SIP Trunking Configuration Using the SIP Trunk Page 6(19) 2.2 The SIP Trunk Page The SIP Trunk pages are found under SIP Trunks. Several SIP Trunk pages may be defined if you have several PBXs or Trunk Services. You need to purchase Additional Trunk Group licensees to get more than one SIP Trunk page. Details are found below. s d he n

To support SIP trunks through a SIP trunk service provider, the SIP Trunk Groups folder was added to the SIP Peers folder in DB Programming. To create a SIP Trunk Group for Fusion Connect Service Provider, navigate to System- Device and Feature Codes- SIP Peers- SIP Trunk Groups and right click in the right hand pane. Then select "Create SIP .

Call Flow Scenarios for Successful Calls This section describes call flows for the following scenarios, which illustrate successful calls: SIP Gateway-to-SIP Gateway—Call Setup and Disconnect, page 7-3 SIP Gateway-to-SIP Gateway—Call via SIP Redirect Server, page 7-6 SIP Gateway-to-SIP Gateway—Call via SIP Proxy Server, page 7-9

4. SIP, VVoIP and QoS 5. SIP and Media Security 6. STIR/SHAKEN and the 'identity' problem 7. Firewalls, NAT and Session Border Controllers 8. SIP Trunking 9. Testing, Troubleshooting and Interoperability 10. ENUM, Peering and Interconnect 11. SIP in the Cloud 12. SIP in Cellular networks 13. SIP and Fax over IP 14. SIP in UC, UCaaS and .

How to Guide: SIP Trunking Configuration using the SIP Trunks page 4 2.2 The SIP Trunk Page The SIP Trunk pages are found under SIP Trunks. Several SIP Trunk pages may be defined if you have several PBXs or Trunk Services. You need to purchase Additional Trunk Group licensees to get more than one SIP Trunk page. Details are found below. s d he Tru

STI-AS IBCF/ TrGW SIP UA Verifier 4. Get Private Key SKS 1. SIP INVITE 22. 200 OK 9. SIP INVITE IBCF/ TrGW CSCF STI-CR CVT 2. SIP INVITE 5. Private Key 7. SIP INVITE (with Identity) 8. SIP INVITE 10. SIP INVITE 11. SIP INVITE 13. Get Certificate 14. Certificate 16. Invoke Analytics 17. Result of Analytics 18. SIP INVITE (with Verification .