Call Setup Examples Based On Generic SIP - TKK

Transcription

Call Setup Examples basedon Generic SIPRaimo Kantola11

Registration example with SIPBobbob@biloxi.combiloxi.comREGISTER sip:registrar.biloxi.com SIP/2.0Via: SIP/2.0/UDP bobspc.biloxi.com:5060;branch z9hG4bKnashds7Max-Forwards: 70To: Bob sip:bob@biloxi.com From: Bob sip:bob@biloxi.com ;tag 456248Call-ID: 843817637684230@998sdasdh09CSeq: 1826 REGISTERContact: sip:bob@192.0.2.4 Expires: 7200Content-Length: 0SIP/2.0 200 OKVia: SIP/2.0/UDP bobspc.biloxi.com:5060;branch z9hG4bKnashds7;received 192.0.2.4To: Bob sip:bob@biloxi.com ;tag 2493k59kdFrom: Bob sip:bob@biloxi.com ;tag 456248Call-ID: 843817637684230@998sdasdh09CSeq: 1826 REGISTERContact: sip:bob@192.0.2.4 Expires: 7200Content-Length: 0Raimo Kantola2In this example Bob’s User Agent performs a successful registration to aregistrar whose domain name is biloxi.com.Registration is set to expire after two hours (7200 seconds). It may beseen in header Expires:Registrar answers with 200 OK response, meaning that registration wassuccesfull.(example from RFC3261)2

Call Setup example with .com100.101.102.1031) INVITEUserB@there.com110.111.112.1132) INVITE3) 180 Ringing4) 180 Ringing5) 200 OK6) 200 OK7) ACK8) ACKMedia streamProxy.com9) BYE10) BYE11) 200 OKRaimo Kantola12) 200 OK3In this example GuyA (UserA@here.com at 100.101.102.103) performs asuccessful call (session) initiation to GuyB (UserB@there.com at100.101.102.103). For the sake of simplicity in the example both party isregistered the same SIP proxy (proxy.com).3

Call Setup example with twoproxiesAliceBobatlanta.comproxy1a) INVITE1c) 100 Trying3c) 180 Ringing4c) 200 OKBiloxi.comproxy1b) INVITE2b) 100 Trying2a) INVITE3b) 180 Ringing4b) 200 OK3a) 180 Ringing4a) 200 OK5a) ACKMedia streamatlanta.comproxyBiloxi.comproxy6a) BYE7a) 200 OKRaimo Kantola4In this example Alice, who is registered to atlanta.com, performs a successful call(session) initiation to Bob, who is registered to biloxy.com.1a) Alice - atlanta.com proxyINVITE sip:bob@biloxi.com SIP/2.0Via: SIP/2.0/UDP pc33.atlanta.com;branch z9hG4bKnashds8Max-Forwards: 70To: Bob sip:bob@biloxi.com From: Alice sip:alice@atlanta.com ;tag 1928301774Call-ID: a84b4c76e66710CSeq: 314159 INVITEContact: sip:alice@pc33.atlanta.com Content-Type: application/sdpContent-Length: 142Alice’s UA sets Max-Forwardsto 70. INVITE is addressed tological SIP address, and Alicerelies on proxy to find Bob.Alice is currently atpc33.atlanta.com and she putscurrent address in headerContact:(Alice's SDP not shown)1b) INVITE atlanta.com proxy - biloxi.com proxyINVITE sip:bob@biloxi.com SIP/2.0Via: SIP/2.0/UDP bigbox3.site3.atlanta.com;branch z9hG4bK77ef4c2312983.1Via: SIP/2.0/UDP pc33.atlanta.com;branch z9hG4bKnashds8;received 192.0.2.1Max-Forwards: 69To: Bob sip:bob@biloxi.com From: Alice sip:alice@atlanta.com ;tag 1928301774Call-ID: a84b4c76e66710CSeq: 314159 INVITEContact: sip:alice@pc33.atlanta.com Content-Type: application/sdpContent-Length: 142(Alice's SDP not shown)1c) 100 Trying atlanta.com proxy - AliceSIP/2.0 100 TryingVia: SIP/2.0/UDP pc33.atlanta.com;branch z9hG4bKnashds8;received 192.0.2.1To: Bob sip:bob@biloxi com Atlanta.com proxy decreasesMax-forwards by 1. Adds Via:header (puts its own addressand branch there)Atlanta.com leaves all otherheaders unchanged andresolves Bob’s domain proxy.It then sends INVITE tobiloxi.com proxyAfter atlanta.com hasforwarded INVITE to biloxi.comproxy, it sends 100 Trying toAlice. It will make her UserAgent aware that callestablishment is in the process(everything goes OK). It willalso prevent Alice fromretransmitting INVITE4

Call Setup example with two proxiesatlanta.comBiloxi.comAliceproxyproxy1a) INVITE1b) INVITE2a) INVITE1c) 100 Trying2b) 100 Trying3c) 180 Ringing4c) 200 OK3b) 180 Ringing4b) 200 OKBob3a) 180 Ringing4a) 200 OK5a) ACKMedia streamatlanta.comproxyBiloxi.comproxy6a) BYE7a) 200 OKRaimo Kantola5In this example Alice, who is registered to atlanta.com, performs a successful call(session) initiation to Bob, who is registered to biloxy.com.2a) biloxi.com proxy - BobBiloxi.com proxy decreasesmax-forwards by 1. It alsoINVITE sip:bob@192.0.2.4 SIP/2.0adds its address in Via:Via: SIP/2.0/UDP server10.biloxi.com;branch z9hG4bK4b43c2ff8.1header, and assigns branch toVia: SIP/2.0/UDP bigbox3.site3.atlanta.comit.;branch z9hG4bK77ef4c2312983.1Note that in first line there is;received 192.0.2.2Bob’s current addressVia: SIP/2.0/UDP pc33.atlanta.com;branch z9hG4bKnashds8(sip:bob@192.0.2.4). It has;received 192.0.2.1been obtained from LocationMax-Forwards: 68server.To: Bob sip:bob@biloxi.com From: Alice sip:alice@atlanta.com ;tag 1928301774Call-ID: a84b4c76e66710CSeq: 314159 INVITEContact: sip:alice@pc33.atlanta.com Content-Type: application/sdpContent-Length: 142(Alice's SDP not shown)2b) TRYING biloxi.com proxy - atlanta.com proxySIP/2.0 100 TryingVia: SIP/2.0/UDP bigbox3.site3.atlanta.com;branch z9hG4bK77ef4c2312983.1Via: SIP/2.0/UDP pc33.atlanta.com;branch z9hG4bKnashds8;received 192.0.2.1Max-Forwards: 69To: Bob sip:bob@biloxi.com From: Alice sip:alice@atlanta.com ;tag 1928301774Call-ID: a84b4c76e66710CSeq: 314159 INVITEContact: sip:alice@pc33.atlanta.com Content-Type: application/sdpContent-Length: 142(Alice's SDP not shown)After biloxi.com has forwardedINVITE to Bob, it sends 100Trying to átlanta.com proxy.5

Call Setup example with twoproxiesatlanta.comBiloxi.comAliceproxyproxy1a) INVITE1b) INVITE2a) INVITE1c) 100 Trying2b) 100 Trying3c) 180 Ringing4c) 200 OK3b) 180 Ringing4b) 200 OKBob3a) 180 Ringing4a) 200 OK5a) ACKMedia streamatlanta.comproxyBiloxi.comproxy6a) BYE7a) 200 OKRaimo Kantola6In this example Alice, who is registered to atlanta.com, performs a successful call(session) initiation to Bob, who is registered to biloxy.com.3a) Bob - biloxi.com proxySIP/2.0 180 RingingVia: SIP/2.0/UDP server10.biloxi.com;branch z9hG4bK4b43c2ff8.1;received 192.0.2.3Via: SIP/2.0/UDP bigbox3.site3.atlanta.com;branch z9hG4bK77ef4c2312983.1;received 192.0.2.2Via: SIP/2.0/UDP pc33.atlanta.com;branch z9hG4bKnashds8;received 192.0.2.1To: Bob sip:bob@biloxi.com ;tag a6c85cfFrom: Alice sip:alice@atlanta.com ;tag 1928301774Call-ID: a84b4c76e66710Contact: sip:bob@192.0.2.4 CSeq: 314159 INVITEContent-Length: 03b) biloxi.com proxy - atlanta.com proxySIP/2.0 180 RingingVia: SIP/2.0/UDP bigbox3.site3.atlanta.comBob’s UA sends 180 Ringingprovisional response. It willsend it back via the same route(usin Via: headers). Responsewill go to the topmost Via:address.Also, Bob’s UA adds tag to To:header. Now dialog iscompletely determined (withCall-ID, From: and To: tags)From biloxi.com proxy toatlanta.com proxy.;branch z9hG4bK77ef4c2312983.1;received 192.0.2.2Via: SIP/2.0/UDP pc33.atlanta.com;branch z9hG4bKnashds8 ;received 192.0.2.1To: Bob sip:bob@biloxi.com ;tag a6c85cfFrom: Alice sip:alice@atlanta.com ;tag 1928301774Call-ID: a84b4c76e66710Contact: sip:bob@192.0.2.4 CSeq: 314159 INVITEContent-Length: 03c) atlanta.com proxy - AliceSIP/2.0 180 RingingVia: SIP/2.0/UDP pc33.atlanta.com;branch z9hG4bKnashds8;received 192.0.2.1To: Bob sip:bob@biloxi.com ;tag a6c85cfFrom: Alice sip:alice@atlanta.com ;tag 1928301774Call-ID: a84b4c76e66710Alice receives 180 Ringingresponse. Now Alice’s UAknows that Bob has beenalerted.6

Call Setup example with twoproxiesatlanta.comBiloxi.comAliceproxyproxy1a) INVITE1b) INVITE2a) INVITE1c) 100 Trying2b) 100 Trying3c) 180 Ringing4c) 200 OK3b) 180 Ringing4b) 200 OKBob3a) 180 Ringing4a) 200 OK5a) ACKMedia streamatlanta.comproxyBiloxi.comproxy6a) BYE7a) 200 OKRaimo Kantola74a) Bob - biloxi.com proxySIP/2.0 200 OKVia: SIP/2.0/UDP server10.biloxi.com;branch z9hG4bK4b43c2ff8.1;received 192.0.2.3Via: SIP/2.0/UDP bigbox3.site3.atlanta.com;branch z9hG4bK77ef4c2312983.1 ;received 192.0.2.2Via: SIP/2.0/UDP pc33.atlanta.com;branch z9hG4bKnashds8;received 192.0.2.1To: Bob sip:bob@biloxi.com ;tag a6c85cfFrom: Alice sip:alice@atlanta.com ;tag 1928301774Call-ID: a84b4c76e66710CSeq: 314159 INVITEContact: sip:bob@192.0.2.4 Content-Type: application/sdpContent-Length: 131Bob accepts invitation andsends 200 OK final response.It will go through the same setof proxies (determined by Via:headers)Bob puts his current addres inContact: header. Alice is nowable to contact him directly.Subsequent SIP messagesmay go directly to Bob, and notthrough proxiesBiloxi.com proxy forwards(Bob's SDP not shown)response to topmost via:header address. (it removed its4b) biloxi.com proxy - atlanta.com proxyown address in Via: headerSIP/2.0 200 OKpreviously)Via: SIP/2.0/UDP bigbox3.site3.atlanta.com;branch z9hG4bK77ef4c2312983.1;received 192.0.2.2Via: SIP/2.0/UDP pc33.atlanta.com;branch z9hG4bKnashds8;received 192.0.2.1To: Bob sip:bob@biloxi.com ;tag a6c85cfFrom: Alice sip:alice@atlanta.com ;tag 1928301774Call-ID: a84b4c76e66710CSeq: 314159 INVITEContact: sip:bob@192.0.2.4 Content-Type: application/sdpContent-Length: 131Alice receives 200 OK withBob’s session parameters in(Bob's SDP not shown)the message body (not shownhere). If Alice can accept it,4c) 100 Trying atlanta.com proxy - Aliceshe will send ACK messageSIP/2.0 200 OKback to Bob directly. Now AliceVia: SIP/2.0/UDP pc33.atlanta.com;branch z9hG4bKnashds8has Bob’s address where he is;received 192.0.2.1contactable in Contact: header.To: Bob sip:bob@biloxi.com ;tag a6c85cfFrom: Alice sip:alice@atlanta.com ;tag 1928301774Call-ID: a84b4c76e66710CSeq: 314159 INVITE7

Call Setup example with twoproxiesatlanta.comBiloxi.comAliceproxyproxy1a) INVITE1b) INVITE2a) INVITE1c) 100 Trying2b) 100 Trying3c) 180 Ringing4c) 200 OK3b) 180 Ringing4b) 200 OKBob3a) 180 Ringing4a) 200 OK5a) ACKMedia streamatlanta.comproxyBiloxi.comproxy6a) BYE7a) 200 OKRaimo Kantola8In this example Alice, who is registered to atlanta.com, performs a successful call(session) initiation to Bob, who is registered to biloxy.com.5a) Alice - BobThe media session betweenAlice and Bob is nowACK sip:bob@192.0.2.4 SIP/2.0established. They agreed onVia: SIP/2.0/UDP pc33.atlanta.com;branch z9hG4bKnashds9session parameters (describedMax-Forwards: 70in SDP body)To: Bob sip:bob@biloxi.com ;tag a6c85cfFrom: Alice sip:alice@atlanta.com ;tag 1928301774Call-ID: a84b4c76e66710CSeq: 314159 ACKContent-Length: 08

Call Setup example with twoproxiesatlanta.comBiloxi.comAliceproxyproxy1a) INVITE1b) INVITE2a) INVITE1c) 100 Trying2b) 100 Trying3c) 180 Ringing4c) 200 OK3b) 180 Ringing4b) 200 OKBob3a) 180 Ringing4a) 200 OK5a) ACKMedia streamatlanta.comproxyBiloxi.comproxy6a) BYE7a) 200 OKRaimo Kantola96a) Bob - AliceBYE sip:alice@pc33.atlanta.com SIP/2.0Via: SIP/2.0/UDP 192.0.2.4;branch z9hG4bKnashds10Max-Forwards: 70From: Bob sip:bob@biloxi.com ;tag a6c85cfTo: Alice sip:alice@atlanta.com ;tag 1928301774Call-ID: a84b4c76e66710CSeq: 231 BYEContent-Length: 0Bob after a while decides todisconnect. Bob’s UA has itsown CSeq sequencing (note)and From: and To: fields areswapped, because Bob isoriginating a request. But Bobstill refers to the same dialog(can be seen by Call-ID andtags)7a) Bob - AliceSIP/2.0 200 OKVia: SIP/2.0/UDP 192.0.2.4;branch z9hG4bKnashds10From: Bob sip:bob@biloxi.com ;tag a6c85cfTo: Alice sip:alice@atlanta.com ;tag 1928301774Call-ID: a84b4c76e66710CSeq: 231 BYEContent-Length: 0Alice acknowledges BYE, andcall is over. This 200 OK willrefer to the BYE request, andthat can be seen from CSeqfield, carrying BYE methodname9

Registration example with SIPauthenticationGuyAUserA@here.comproxy.com1) REGISTERCall-ID: 123@here.com2) 401 UnauthorizedWWW-Authenticate: Challenge 3) REGISTERCall-ID: 321@here.comAuthorization: Authorization info 4) 200 OKRaimo Kantola10In this example GuyA (UserA@here.com at 100.101.102.103) performs asuccessful registration to a proxy whose domain name is proxy.com.10

Call Setup example with a non-workingproxyGuyA1) INVITEProxy1.comProxy2.comGuyB2) INVITE (6x)3) CANCEL, BYE4a) INVITE5b) 180 Ringing6b) 200 OK4b) INVITE5a) 180 Ringing6a) 200 OK7a) ACKMedia streamProxy2.com8b) BYE9a) 200 OKRaimo Kantola8a) BYE9b) 200 OK1111

Call Setup example with a RedirectserverGuyA1a) INVITEProxy1.com2) INVITEProxy2.comGuyB1b) INVITE2) 301 Moved Temporarily3) ACK1c) INVITE4a) 180 Ringing5a) 200 OK4b) 180 Ringing5b) 200 OK6a) ACKMedia streamProxy1.com6b) BYE7a) 200 OK7b) 200 OKRaimo Kantola6a) BYE12In this example GuyA, who is registered to proxy1.com, performs asuccessful call (session) initiation to GuyB, who is registered toproxy2.com.12

Services use many protocols New services and more flexible service creationshould differentiate IP Communications Network fromPSTN Services should combine different forms ofcommunication, thus multiple protocols are needed:– SIP for media sessions and session related services,subscriptions and notifications?, messaging?– HTTP for web and transactions– SMTP for e-mail– RTSP for media streaming The use of these protocols is orchestrated by theservice logic: context is set up using SIP.Raimo Kantola1313

Routing and Service Model in3GAP1AS1AS2P2P3SIP based interfaceP4BA's Visited A's Home B's Home B's VisitedDomainDomainDomainDomainP1, P4: Outbound ProxiesP2, P3: Registrar ProxiesAS1, AS2: Application ServersRaimo KantolaNB: Also AS based ondirect processing of call state:There is no Basic call statemodel like in IN1414

SIP Entities & ServiceCapabilities in IMS User Agent ( UAC UAS)– Can run services, such as forwarding, filtering etc.– Not always connected (out of coverage/battery etc.) Redirect Server– Can do services that require only Request-URI change, e.g.translation, parameter addition etc. Proxy Server– Can change certain headers and stay in the signaling path– Forking, actions based on responses Back-to-Back User Agent ( both ways User Agent)– Can e.g. issue requests to a call leg or modify SDP,generate ACK and 200OK, like UAC/UAS– In many cases necessary e.g Sessio Border Controller or 3GSIPRaimo Kantola1515

Application Server in 3G Fuzzy Definition but has SIP interface! Can be a Redirect or Proxy Server or Back-toBack UA The key is that it should be programmable– Routing based on service logic: what to do when usernot registered or busy– URI translation: Reachability chains– Interfaces to other protocols: HTTP, SMTP, RTSP etc. Can be single purpose boxes, or multi-purposeboxes, or controllers that orchestrate thingsRaimo Kantola1616

3GPP Network Model (preliminary: tions &Services GCFGGSNSGSNIuIP NetworksMwCAPHSS *)MultimediaCSCFR-SGW *)MhGiGnIuMGWMGWT-SGW *)McPSTN/Legacy/ExternalNbIuMcMcNcMSC serverGMSC serverT-SGW *)CAPCAPApplications& Services *)DCHSS *)R-SGW *)MhRaimo Kantola17CSCF (Call/Session Control Function) is the primary SIP node in thenetwork.(from www.sipforum.org)17

Different Kinds of CSCFsProxy CSCF:Home AHome -CSCF15141117Visited BP-SCSFP-SCSFI-CSCFI-CSCF161310Visited A18GGSNGGSNSGSNSGSNGGSNGGSNSGSNSGSNRadio AccessAccessNetworkNetworkRadioRadio mo Kantola3A1In the same network asthe GGSN: if the visitednet does not supportIMS, can be in the homenetwork.Provides-emergency servicebreakout,- triggers for locallyprovided services, and- number normalizing(per local dialing plan)- Policy Decision point-user authentication-maintains a securityassociation with theterminals for signaling18Currently, 3GPP has defined three different functional behaviors which theCSCF will exhibit.The Proxy CSCF (P-CSCF) provides a first point of contact for thehandset. All signaling to and from the handset goes through the P-CSCF.In terms of SIP, it behaves as an outbound proxy.The main purpose for this node is to provide emergency service breakoutand to do some basic message manipulation to enable the visited domainoperator to provide locally sensitive services (e.g. traffic reports, directoryservices, etc). It also does simple number internationalization (whichallows the support of local dialing plans).It will probably also play a role in quality of service reservations.18

Different Kinds of CSCFsHome AHome -CSCF15141117Visited BP-SCSFP-SCSFI-CSCFI-CSCF161310Visited A18GGSNGGSNSGSNSGSNGGSNGGSNSGSNSGSNRadio AccessAccessNetworkNetworkRadioRadio mo Kantola3A1InterrogatingCSCF:Queries theHSS to find thecorrect SCSCF. Firstpoint of contactfor incomingcall signalling.Loaddistributionnode!19The Interrogating CSCF (I-CSCF) is mostly a load distribution node. SinceDNS allows us simple statistical distribution among identical nodes,distributing load among the I-CSCFs is quite simple. But if all we relied onwas statistical distribution, we wouldn’t be able to allocate subscriptions onappropriate serving nodes according to their capabilities, nor would we beassured of the ability to keep call state information between transactions.So, the I-CSCF, in conjunction with the HSS, allocates subscriptioninformation onto appropriate Serving CSCFs. The HSS keeps track of thisinformation so that all transactions and all calls for the same user gothrough the same service node.The HSS stores user profile information; it’s somewhat similar to the HLRfound in today’s cellular networks.19

Different Kinds of CSCFsHome AHome -CSCF15141117Visited BP-SCSFP-SCSFI-CSCFI-CSCF161310Visited A18GGSNGGSNSGSNSGSNGGSNGGSNSGSNSGSNRadio AccessAccessNetworkNetworkRadioRadio mo nterface toApplicationservers.20The Serving CSCF (S-CSCF), quite simply, provides users services.Of course, SIP allows the terminal to provide many services itself. The SCSCF will be useful in providing, for example: call forwarding when theterminal is not available, call barring, centralized speed dial lists, VPNservices, etc.The interface to AS is based on iFC (initial Filter Criteria) and SIP. Theinterface also has a historic label ISC (IMS Service Control) and ”possiblySIP with some extensions”. In practice the protocol for AS communicationis pure SIP. When a filter matches, the system finds the address of the ASthat needs to get involved in proving the service.The AS can a UA, a SIP proxy, a SIP redirect Server or a B2BUA acollection of UAs with some service logic binding them together.To route the call to the AS the S-CSCF creates a ROUTE header with twoentries (or adds two new entries into the ROUTE header) containing theSIP URI of the AS and its own SIP URI in the second place. Based on thelatter the AS will know that it needs to route the request back to the SCSCF. The own SIP URI also contains some state info in the usernamepart of the URI. When the request returns to the S-CSCF, it uses this stateinfo to figure out where to continue the call processing.The AS may or may not decide to stay on the signaling path. To stay onthe path, the AS places its SIP URI in the RECORD ROUTE header.20

SIP ProxyvsB2BUAApplicationServerSIP Dialogue #1From: XTo: YCall-ID: ZSIP Dialogue #1From: XTo: YCall-ID: ZSIP Dialogue #1From: XTo: YCall-ID: ZS-CSCFApplicationServerSIP Dialogue #1From: XTo: YCall-ID: ZSIP Dialogue #1From: XTo: YCall-ID: ZSIP Dialogue #1From: XTo: YCall-ID: ZRaimo KantolaSIP Dialogue #2From: PTo: QCall-ID: RSIP Dialogue #2From: PTo: QCall-ID: RS-CSCF2121

Overview of routing between twomobile terminalsUE1:s visited networkUE1:s home E2:s home networkI-CSCFS-CSCFI-CSCFUE2:s visited networkGGSNUE2P-CSCFRaimo Kantola2222

3G Application TriggeringApplication ServerService LogicService Platform Trigger PointsHSSSIP InterfaceiFCsFCS-CSCFSIPSPTFilter CriteriaSIPiFC – Initial Filter CriteriasFC – Subsequent Filter CriteriaSPT – Service Point TriggerSIPService processing can be delegated to Application Servers with a fine grained control:Filter criteria in IMS triggering is bound to user identities, since a user may have many identities,different services may be invoked depending on the identity.Raimo Kantola23The originating IMS terminal sets the Preferred Identity for applicationtriggering in the P-Preferred-Identity header field. The P-CSCF verifiesthat this a legal identity for the particular user within the current securityassociation, changes the header field to P-Asserted-Identity with the valuefrom the P-Preffered-Identity field. If the verification fails, the P-CSCFchooses to forward the default user identity in the P-Asserted-Identityfield. If there was no P-Preferred-Identity in the INVITE, P-CSCF will insertthe default user id into the P-Asserted-Identity header field.Another factor that may serve as criteria for certain services is the type ofaccess network (ADSL, WLAN, GERAN, UTRAN etc) in the P-AccessNetwork-Info. This information is carried only until the calling user’s homenetwork and never forwarded into the callee’s home network for privacyreasons. The type of the access network gives an idea about the availablecapacity and pricing for the capacity.23

Identification of users in 3G IMS inR6cmp. MSISDN in GSMPublic UserIdentity 1cmp IMSI in GSMIMSSubscriberPrivate UserIdentity 1username@operator.comPublic UserIdentity 2Public UserIdentity 3tel: 358-59-234-765Private UserIdentity 2NAI – Network Access Id(RFC 2486)In Release 5 only one Private User idRaimo Kantolasip: 358-59-234-765@operator.com; user phonePublic UserIdentity nSIP URI (RFC 3261) orTEL URI (RFC 2806)2424

How to Program Services Call Processing Language SIP CGI SIP Servlets SIP JAIN (JSLEE – Jain Serv Logic Exec Env) Soft SSF and INAP/CAP There will be many Parlaycompeting ways to OSAimplement services! Whatever Different abstraction levelsThe claim is that it should be as open as flexible ascreating services in the web these daysRaimo Kantola2525

Server types for differentservices Media Server (SIP, RTSP, HTTP)– Announcements, IVR, Voicemail, Media on demand Conferencing Server (SIP)– Media mixer Presence Server (SIP)– Users status info, capabilities, willingness to communicate Web Server (HTTP), E-mail Server (SMTP), MessagingServer (SIP?), Text-to-Speech Server etc.Controller Server– Co-ordinates the overall service Server resources can be addressed by URLs, no need fortight coupling a la MGCP/MegacoRaimo Kantola2626

Third Party Call Control is based onSIPINVITEUA1CMEDIAINVITEUA2 Powerful tool e.g. for inviting users to centralizedconferences or sessions with a Media Server In principle third party call control that has never been properlyimplemented in CSN, is as natural in SIP as first party callcontrol because SIP is used also on the the interface to Applicationservers.Raimo Kantola2727

REFER and Call TransferTransferorTransfereeTransfer TargetINVITE/200 OK/ACKINVITE (hold)/200 OK/ACKREFER202 AcceptedINVITE/200 OK/ACKNOTIFY (200 OK)200 OKBYE/200 OKBYE/200 OKMedia can always go directly from Transferee to Transfer target.Raimo Kantola2828

Auto-conferencing ServiceExample ferenceServerTerminals1. One user orders the conference by filling a web form2. Controller subscribes to each participants presence3. When all available, send message or start IVR session to eachparticipant to confirm willingness4. Connect each participant to conference server. Play announcementsto conference from media server when new parties joinRaimo Kantola2929

Text based Signaling in IMS produces a lot ofbits to the air interface in a cellular networkCumulative MO and MT Signaling Bits120000100000Cmp to ISDN80000MO bitsMT bits600004000020000200 OKPRACK200 OK200 OK183SessionINVITE0NB: length of DSS1(L2 L3)Call setup and release 1000 bitsÆ SIP/SDP uses100 times more bitsThis is based on Release 5 MO session setup procedures from 24.228 The MO flow will create as many air interface bits as talking for 18 seconds usingAMR 4.75 codec. About 70% of the bits are created by redundant lines of text. There is more redundancy on information element levelRaimo Kantola3030

Zipping analysis of MO flow contentshows that SIP/SDP carries a lot ofcontext information in each transactionWinzipped 001000012000SIP lengthLengths are in bytes. The dots are created by applying WinZip to all incrementallylonger subflows of the MO flow. The curve shows that by keeping state, we wouldsave quite a lot in signaling bits.Raimo Kantola3131

Technical Problems How to make service components reallyindependent? If there is dependency, how to moveparameters between the components? How to secure call release? Signaling efficiency for narrow band services– Problem for narrow band networks and for sharedcapacity networks when SIP applied to narrow bandservices– SigComp gives some relief with the expense of cpucycles and memory (most likely less than 1:10compression) Emergency calling in VOIP and IMS.Raimo Kantola3232

Emergency calls in IMS Requirements– different countries have different requirements and different numbersfor Emergency calls (Europe 112, USA 911, Japan 119 etc)– US: mobile terminal has to be geographically located– Europe: the network has to place the call even if there is no SIM card.Call has to be routed to the right Emergency Center. IMS issues:– GPRS always authenticates the user.– Different numbers in different countries Æ routing problem for roamingcustomers IMS solution in Release 5: The terminal has to place theemergency call using the CS domain in 3G Æ all voice terminalshave to support CS services. P-CSCF has to detect an incomingemergency call by a roaming customer irrespective in whichcountry the customer is roaming and even if the P-CSCF is locatedin the home network.Raimo Kantola3333

Emergency calls in VOIP Requirement: The Emergency Center has to see theaddress of the caller to the emergency number. In PSTN the telehone extension has a location numberthat identifies the copper wire to the residence. Thedirectory number of the caller can always be mapped tothe location number and the address of the callerretrieved from a subscriber database. IP networks do not support location numbers. IPaddresses are allocated to users dynamically. If theuser is calling from home, the home address cansomehow be identified from a DB. If the user isconnected while away from home, VOIP may give awrong address to the Emergency Center.Raimo Kantola3434

Business problems Broadband VOIP will kill PSTN, this is painful for IncumbentOperators. There is no incentive to deploy VOIP aggressively.At the same time voice is becoming mobile.– e.g with very conservative mobile policy, ca 90% of call costs areincurred by mobile services in Universities and Politechnics inFinland.– Many people have little faith in any wireline voice service. How to retain control over Subscribers that have BB connection.Any third party can provide VOIP (with QoS problems notsolved).Why would Mobile Operators deploy IMS and SIP for voiceservices when the CS subsystems provides all the needed voiceservices?– it may be that IMS will first be used for services other than VOIP.Raimo Kantola3535

Voting for VOIP Vendors have stopped developing CStelephony. BB deployment is proceeding: Examplesof South-Korea, US. With wide spread BB, if operators do notdeploy VOIP, someone will (e.g. SKYPE).Raimo Kantola3636

OECD Broadband Statistics to June 2006Over the past year, the number of broadband subscribers in the OECD increased 33% from 136 million in June 2005 to 181 million in June 2006.Fibre to the home is becoming increasingly important for broadband access, particularly in countries with high broadband penetration.Japan leads the OECD in fibre-to-the-premises (FTTP) with 6.3 million fibre subscribers in June 2006. Fibre subscribers alone in Japanoutnumber total broadband subscribers in 22 of the 30 OECD countries.The total number of ADSL subscriptions in Korea and Japan have continued to decline as more users upgrade to fibre-based connections.DSL continues to be the leading platform in 28 OECD countries. Cable modem subscribers outnumber DSL in Canada and the United States.The breakdown of broadband technologies in June 2006 is as follows:DSL: 63%Cable modemOther technologies (e.g. satellite, fibre and fixed wireless)63%29%8%Broadband subscribers per 100 inhabitants, by technology, June 2006DSLCableOther TotalRankTotal SubscribersDenmark17.49.02.829.311 590 539Netherlands17.211.10.528.824 705 829Iceland26.50.00.727.3380 672Korea13.28.84.526.4412 770 911Switzerland16.99.00.426.251 945 358Finland21.73.10.225.061 309 800Norway20.43.80.424.671 137 697Sweden*14.44.34.022.782 046 222Canada10.811.50.122.497 161 872United Kingdom 14.64.90.019.41011 622 929United States8.09.81.419.21256 502 351Japan11.32.74.919.01324 217 012OECD9.74.61.215.5180 866 265China (ca 50M BB connections), other Asian tigers, etc.Raimo Kantola3737

BB penetration according to DSL Forum:Telecommunications International, Jan 2007Access TechnologyDSLCaTVFTTxOtherTotalSubscribers (M)17360273,4264PercentSept-200666%23%10%1%NB: This is for the whole world!There is a very wide playing ground for session based services for BB users.Raimo Kantola3838

Conclusions on SIP SIP is a native IP-network signaling system suitable forBroadband networks– Needs compression when used e.g. in shared media cellularnetworks such as 3G WCDMA– Also, cellular networks of the future are going to be BB networks Most signaling and service architecture development in theworld now is SIP oriented– Several IETF groups are producing a broad set of documentsrelated to SIP– SIP architecture base protocol extensions– Newest developments include conferencing, Peer-to-Peer SIP etc. Deployment– BT NGN is based on SIP and IMS and will replace BT’s PSTN in afew years– No attractive servic

Call Setup Examples based on Generic SIP. 2 Raimo Kantola 2 Registration example with SIP REGISTER sip:registrar.biloxi.com SIP/2.0 . Call-ID: a84b4c76e66710 Contact: sip:bob@192.0.2.4 CSeq: 314159 INVITE Content-Length: 0 3c) atlanta.com proxy - Alice SIP/2.0 180 Ringing