RFC 3087: Control of Service Context using SIP Request-URI

文章推薦指數: 80 %
投票人數:10人

Under this proposal, a client or proxy can communicate context through the use of a distinctive Request-URI. This document continues with examples of how ... [RFCHome][TEXT|PDF|HTML][Tracker][IPR][Infopage]INFORMATIONALNetworkWorkingGroupB.Campbell RequestforComments:3087R.Sparks Category:Informationaldynamicsoft April2001 ControlofServiceContextusingSIPRequest-URI StatusofthisMemo ThismemoprovidesinformationfortheInternetcommunity.Itdoes notspecifyanInternetstandardofanykind.Distributionofthis memoisunlimited. CopyrightNotice Copyright(C)TheInternetSociety(2001).AllRightsReserved. Abstract ThismemoprovidesinformationfortheInternetcommunity.It describesausefulwaytoconceptualizetheuseofthestandardSIP (SessionInitiationProtocol)Request-URI(UniformResource Identifier)thattheauthorsandmanymembersoftheSIPcommunity thinkissuitableasaconvention.Itdoesnotdefineanynew protocolwithrespecttoRFC2543. Inaconventionaltelephonyenvironment,extendedservice applicationsoftenusecallstateinformation,suchascallingparty, calledparty,reasonforforward,etc,toinferapplicationcontext. InaSIP/2.0call,muchofthisinformationmaybeeithernon- existentorunreliable.Thisdocumentproposesamechanismto communicatecontextinformationtoanapplication.Underthis proposal,aclientorproxycancommunicatecontextthroughtheuse ofadistinctiveRequest-URI.Thisdocumentcontinueswithexamples ofhowthismechanismcouldbeusedinavoicemailapplication. Campbell&SparksInformational[Page1] RFC3087SIPServiceControlApril2001 TableofContents 1.Introduction.......................3 2.ExampleApplication...................3 2.1UsingURIstoControlVoiceMailServiceBehavior....3 3.VoiceMailScenarioDescriptions.............5 3.1Deposits.........................5 3.1.1DirectRequesttoDeposittoaparticularmailbox....5 3.1.1.1SIPsource........................5 3.1.1.2ArbitraryPSTNsource..................5 3.1.1.3RecognizedPSTNsource..................6 3.1.2DirectRequesttoDeposit,mailboxtobedetermined...6 3.1.2.1SIPsource........................6 3.1.2.2PSTNsource.......................6 3.1.2.3IndirectRequesttoDeposit,duetofind-meproxydecision6 3.2Retrievals........................7 3.2.1RequesttoRetrievefromaparticularmailbox......7 3.2.1.1TrustedSIPsource....................7 3.2.1.2AuthenticatedSIPsource.................7 3.2.1.3UnauthenticatedSIPsource................7 3.2.1.4PSTNsource.......................7 3.2.2RequesttoRetrieve,mailboxtobedetermined......7 3.2.2.1SIPsource........................7 3.2.2.2ArbitraryPSTNsource..................8 3.2.2.3RecognizedPSTNsource..................8 4.VoiceMailCallFlowExamples..............8 4.1GenericScenario.....................8 4.1.1Directcalltothevoicemailsystem...........8 4.2MessageDepositScenarios................13 4.2.1Calltoknownsubscriberforwardedonnoanswer.....13 4.2.2Calltoknownsubscriberforwardedonbusy........19 4.2.3Directcalltoasubscriber'smailbox..........24 4.3MessageRetrievalScenarios...............29 4.3.1Calltoretrievemessagesbelievedtobefromaknown subscriber........................29 4.3.2Calltoretrievemessagesfromanauthenticatedsubscriber33 5.SecurityConsiderations.................38 6.Acknowledgments.....................38 References........................38 Authors'Addresses....................38 FullCopyrightStatement.................39 Campbell&SparksInformational[Page2] RFC3087SIPServiceControlApril2001 1.Introduction Acommunicationserviceshouldmakeuseoftheinformationithasat handwhenbeingaccessed.Forexample,inmostcurrentvoicemail implementations,asubscriberretrievingmessagesfromhisowndesk doesnothavetoreenterhisvoicemailboxnumber-theservice assumesthatthestorebeingaccessedistheoneassociatedwiththe endpointbeingusedtoaccesstheservice.Someservicesallowthe usertovalidatethisassumptionusingIVRtechniquesbefore promptingforaPIN. Thisconceptofcontext-awarenesscanbecapturedinavoicemail serviceimplementingSIPasdefinedinRFC2543[1],without modification,throughthestandarduseofthatprotocol'sRequest- URI.Furthermore,theconceptisapplicabletoanySIP-basedservice whereinitialapplicationstateshouldbedeterminedfromcontext. ThisconceptisausageconventionofstandardSIPasdefinedinRFC 2543[1]anddoesnotmodifyorextendthatprotocolinanyway. 2.ExampleApplication Inthisdocument,weusetheexampleofvoicemailtoillustratethe technique.Onemotivationforapplyingthistechniquetothis problemisallowingaproxyorlocationservertocontroltheinitial stateofavoiceservice.Forexample,avoiceclientmightregister acontactlistendingwiththeURLthatwouldacceptvoicemessages fortheclient. 2.1UsingURIstoControlVoiceMailServiceBehavior Manyconventionalvoicemailsystemsusecallstateinformation,such asthecallingparty,calledparty,reasonforforward,etc,to decidetheinitialapplicationstate.Forexample,itmightplayone outgoingmessageifthecallreachedvoicemailbecausethecalled partydidnotanswerandanotherifthelinewasbusy.Itdecides whomthemessageisforbasedonthecalledpartyinformation.If thecalloriginatedfromasubscriber'sphonenumber,itmight authenticatethecallerandthengodirectlytothemessageretrieval andaccountmaintenancemenu. Whenanewsubscriberisaddedtoasystem,asetofidentitiescould begenerated,eachgivenauniquesipURI.Thefollowingtablesshow someoftheidentitiesthatmightbegenerated(itisnot exhaustive).TheexampleschemesshowthattheURIscould,butdon't necessarilyhaveto,havemnemonicvalue. Campbell&SparksInformational[Page3] RFC3087SIPServiceControlApril2001 Inpracticalapplications,itisimportantthatanapplicationdoes notapplysemanticrulestothevariousURIs.Instead,itshould allowanyarbitrarystringtobeprovisioned,andmapthestringto thedesiredbehavior.Theownerofthesystemmaychooseto provisionmnemonicstrings,buttheapplicationshouldnotrequire it.Inanylargeinstallation,thesystemownerislikelytohave pre-existingrulesformnemonicURIs,andanyattemptbyan applicationtodefineitsownrulesmaycreateaconflict.Forour example,thismeansavoicemailsystemshouldallowanarbitrarymix ofURLsfromtheseschemes,oranyotherschemethatrendersvalid SIPURIstobeprovisioned,ratherthanenforceoneparticular scheme. URIIdentityExampleScheme1 ExampleScheme2 ExampleScheme3 Depositwithsip:[email protected] standardgreetingsip:[email protected] sip:[email protected];mode=deposit Depositwithonsip:sub-rjs-deposit-busy.vm.wcom.com phonegreetingsip:[email protected] sip:[email protected];mode=3991243 Depositwithsip:[email protected] specialgreetingsip:[email protected] sip:[email protected];mode=sg Retrieve-SIPsip:[email protected] authenticationsip:[email protected] sip:[email protected];mode=retrieve Retrieve-promptsip:sub-rjs-retrieve-inpin.vm.wcom.com forPINin-bandsip:[email protected] sip:[email protected];mode=inpin Whenaserviceisfirstsetup,identitiessuchasthefollowing couldbecreated. URIIdentityExampleScheme1 ExampleScheme2 ExampleScheme3 Deposit-sip:[email protected] identifytargetsip:[email protected] mailboxbyTo:sip:[email protected] Campbell&SparksInformational[Page4] RFC3087SIPServiceControlApril2001 Retrieve-sip:[email protected] identifytargetsip:[email protected] mailboxbySIPsip:[email protected] authentication Deposit-promptsip:[email protected] fortargetsip:[email protected] mailboxin-bandsip:[email protected];mode=inband Retrieve-promptsip:[email protected] fortargetsip:[email protected] mailboxandPINsip:[email protected];mode=inband in-band InadditiontoprovidingthissetofURIstothesubscriber(touse asheseesfit),anintegratedserviceprovidercouldaddtheseto thesetofcontactsinafind-meproxy.Theproxycouldthenroute callstotheappropriateURIbasedontheoriginoftherequest,the subscriber'spreferencesandcurrentstate. 3.VoiceMailScenarioDescriptions Ineachofthesescenarios,thePSTNgatewayisconfiguredto communicateonlywithaparticularproxy-registrar. 3.1Deposits 3.1.1DirectRequesttoDeposittoaparticularmailbox 3.1.1.1SIPsource ASIPclientthatknewtheURIforaparticulardepositmailbox (sip:[email protected])couldplaceadirectinvitationto thevoicemailservice,orthroughaprotectingproxy.Theproxy couldrestrictaccesstodepositidentitieswithspecialgreetingsby authenticatingtherequester. 3.1.1.2ArbitraryPSTNsource Thegateway'sproxywouldmapacallfromanunrecognizedPSTNnumber toanumberassociatedwithasubscriber'smailboxintoaninviteto thedepositwithstandardgreetingURI(sip:sub-rjs- [email protected]). Campbell&SparksInformational[Page5] RFC3087SIPServiceControlApril2001 3.1.1.3RecognizedPSTNsource Thegateway'sproxywouldmapacallfromarecognized(exactor patternmatch)PSTNnumbertoanumberassociatedwithasubscriber's mailboxintoaninvitetotheappropriatespecialgreetingURI (sip:[email protected]).Thegateway'sabilityto identifythecallingparty(usingcallingpartynumber)istrusted, sonofurtherauthenticationoftherequesterisperformed. 3.1.2DirectRequesttoDeposit,mailboxtobedetermined 3.1.2.1SIPsource Avoicemailserviceoritsprotectingproxycouldexposeageneric depositURLforusewhenacallerwishedtogodirectlytovoice mail.TheservicewouldlikelyplayanIVRdialogtodeterminewhat messagestoretodepositamessageinto. AnapplicationdesignermaybetemptedtoattempttomatchtheTo: andFrom:headersonacalltoinferinformation.However,this approachcouldcausecomplicationswhenmultipleproxyforwardsoccur inacall.Forexample,AcallsB,whohasallcallsforwardedtoC. Cforwardsthecalltohervoicemailservice.Ifthevoicemail servicematchestheTo:headertodeterminethemessagestore,it willgettheinformationforBinsteadofC.Butthereisnoreason toassumethatC'svoicemailservicehasanyknowledgeofB. 3.1.2.2PSTNsource Thegateway'sproxywouldmapacallfromanunrecognizedPSTNnumber tothetoplevelvoicemailserviceaccessnumbertoaninvitetothe Deposit-promptfortargetmailboxin-bandURI(sip:deposit- [email protected]).Gettingthecalltothetargetmailbox wouldproceedasintheSIPsourcecase. 3.1.2.3IndirectRequesttoDeposit,duetofind-meproxydecision Afind-meproxycouldmapaninvitationtoasubscriber (sip:[email protected])totheappropriatevoicemailserviceURI dependingonthesubscriber'scurrentstate.ThenormaldepositURI couldbechosenifthesubscriber'scontactlisthasbeenotherwise exhaustedwithnoanswer.Thebusy-announcementURIwouldbechosen whenabusyeverywhereresponseisreceivedfromoneofthecontacts. ADNDannouncementURIcouldbeselectedifthesubscriberhad activatedDND.Callstosip:[email protected] torolltosip:[email protected] Campbell&SparksInformational[Page6] RFC3087SIPServiceControlApril2001 3.2Retrievals 3.2.1RequesttoRetrievefromaparticularmailbox 3.2.1.1TrustedSIPsource Arequesttoretrievethecontentsofaparticularmailbox(sip:sub- [email protected])comingfromatrustedsourcecouldbe honoredwithoutfurtherauthenticationchecks.Atrustedsourceis onewithwhichthevoicemailservicehassecurecommunications,and towhichitiswillingtodelegateauthentication.Thiscouldbethe service'sprotectingproxyforexample. 3.2.1.2AuthenticatedSIPsource Aservice,oritsprotectingproxy,couldchoosetohonoraretrieve requestforaparticularmailbox(sip:[email protected]) basedonSIPauthentication.IfSIPlevelauthenticationfailed,the serviceorproxycouldbeconfiguredtosendthecalltothein-band pinpromptingURI(sip:[email protected]). 3.2.1.3UnauthenticatedSIPsource Aservice,oritsprotectingproxy,receivingaretrieverequestfor aparticularmailbox(sip:[email protected])withnoother methodofauthenticatingtherequestorcouldsendtherequesttothe in-bandpinpromptingURI(sip:[email protected]). 3.2.1.4PSTNsource Thisscenarioassumesthattheserviceprovider'snetworkhasbeen configuredsuchthataPSTNnumbercouldbedialedexplicitlyfor retrievingmessagesfromaparticularmailbox.Suchservices currentlyexist,butarenotcommon.Insuchanetwork,the gateway'sproxywouldmapthecalltothein-bandpinpromptingURI (sip:[email protected]). 3.2.2RequesttoRetrieve,mailboxtobedetermined 3.2.2.1SIPsource AsintheRequesttoDepositscenario,whenaservicereceivesa requestforthetoplevelretrieveURIitwouldmostlikelyneedto usein-bandIVRtechniquestodeterminethetargetmailboxand authenticatethecaller. Campbell&SparksInformational[Page7] RFC3087SIPServiceControlApril2001 3.2.2.2ArbitraryPSTNsource ThisscenarioassumesthereisasinglePSTNnumberthatsubscribers dialtoaccessthevoicemailservicetoretrievemessages.Thisis themostcommonaccessmethodprovidedbycurrentvoicemail services. Thegateway'sproxywouldmapacalltothetoplevelPSTNnumberto thetoplevelretrievein-bandpromptingURI(sip:retrieve- [email protected]).Oncethesystemidentifiesthetargetmailbox,the callwouldbetransferredtotheappropriatein-bandpinprompting URI(sip:[email protected]). 3.2.2.3RecognizedPSTNsource ThisscenarioalsoassumesthereisasinglePSTNnumberthat subscribersdialtoaccessthevoicemailservicetoretrieve messages. Thegateway'sproxywouldrecognizethecallingpartynumberasa subscriber,andmapthecalltothesubscriber'sin-bandprompting URI(sip:[email protected]) 4.VoiceMailCallFlowExamples Thefollowingsectiondescribessomeexamplecallflowsfora hypotheticalvoicemailservice,withthehostnameofvm.wcom.com. Allthecallflowsassumethataproxyprotectsthevoicemail serviceandthatatrustrelationshipexistsbetweenthevoicemail serviceandtheproxy. 4.1GenericScenario 4.1.1Directcalltothevoicemailsystem UserAcallsthevoicemailsystemdirectly.Thevoicemailsystem invokesthetop-levelmenu,whichmightpromptthecallerforan extensionorthefirstfewlettersofaname. Campbell&SparksInformational[Page8] RFC3087SIPServiceControlApril2001 UserAProxyVMService ||| |INVITEF1|| |------------------>|| ||INVITEF2| |(100Trying)F3|---------------------->| ||ACKF9| ||---------------------->| ||| |RTPEstablished-Playtoplevelmenu| || ||| |BYEF10|| |------------------>|BYEF11| ||---------------------->| ||| ||200OKF12| ||ProxyVia:SIP/2.0/UDPhere.com:5060 From:TheBigGuy To:VoiceMail Call-Id:[email protected] CSeq:1INVITE Contact:TheBigGuy Proxy-Authorization:Digestusername="UserA", realm="MCIWorldComSIP", nonce="ea9c8e88df84f1cc4e341ae6cbe5a359",opaque="", uri="sip:[email protected]",response= Content-Type:application/sdp Content-Length: Campbell&SparksInformational[Page9] RFC3087SIPServiceControlApril2001 v=0 o=UserA28908445262890844526INIP4client.here.com s=SessionSDP c=INIP4100.101.102.103 t=00 m=audio49170RTP/AVP0 a=rtpmap:0PCMU/8000 /*ClientforApreparestoreceivedataonport49170 fromthenetwork.*/ INVITEF2INVITEsip:[email protected]/2.0 Proxy->VMVia:SIP/2.0/UDPwcom.com:5060;branch=1 Via:SIP/2.0/UDPhere.com:5060 Record-Route: From:TheBigGuy To:VoiceMail Call-Id:[email protected] CSeq:1INVITE Contact:TheBigGuy Content-Type:application/sdp Content-Length: v=0 o=UserA28908445262890844526INIP4client.here.com s=SessionSDP c=INIP4100.101.102.103 t=00 m=audio49170RTP/AVP0 a=rtpmap:0PCMU/8000 (100TryingSIP/2.0100Trying F3Via:SIP/2.0/UDPhere.com:5060 Proxy->A)From:TheBigGuy To:VoiceMail Call-Id:[email protected] CSeq:1INVITE Content-Length:0 180RingingSIP/2.0180Ringing F4Via:SIP/2.0/UDPwcom.com:5060;branch=1 VM->ProxyVia:SIP/2.0/UDPhere.com:5060 From:TheBigGuy To:VoiceMail;tag=3145678 Call-Id:[email protected] CSeq:1INVITE Content-Length:0 Campbell&SparksInformational[Page10] RFC3087SIPServiceControlApril2001 180RingingSIP/2.0180Ringing F5Via:SIP/2.0/UDPhere.com:5060 Proxy->AFrom:TheBigGuy To:VoiceMail;tag=3145678 Call-Id:[email protected] CSeq:1INVITE Content-Length:0 200OKF6SIP/2.0200OK VM->ProxyVia:SIP/2.0/UDPwcom.com:5060;branch=1 Via:SIP/2.0/UDPhere.com:5060 Record-Route: From:TheBigGuy To:VoiceMail;tag=3145678 Call-Id:[email protected] CSeq:1INVITE Contact:VoiceMailSystem Content-Type:application/sdp Content-Length: v=0 o=UserB28908445272890844527INIP4vm.wcom.com s=SessionSDP c=INIP4110.111.112.114 t=00 m=audio3456RTP/AVP0 a=rtpmap:0PCMU/8000 200OKF7SIP/2.0200OK Proxy->AVia:SIP/2.0/UDPhere.com:5060 Record-Route: From:TheBigGuy To:VoiceMail;tag=3145678 Call-Id:[email protected] CSeq:1INVITE ContactVoiceMailSystem Content-Type:application/sdp Content-Length: v=0 o=UserB28908445272890844527INIP4vm.wcom.com s=SessionSDP c=INIP4110.111.112.114 t=00 m=audio3456RTP/AVP0 a=rtpmap:0PCMU/8000 Campbell&SparksInformational[Page11] RFC3087SIPServiceControlApril2001 ACKF8ACKsip:[email protected]/2.0 A->ProxyVia:SIP/2.0/UDPhere.com:5060 Route: From:TheBigGuy To:VoiceMail;tag=3145678 Call-Id:[email protected] CSeq:1ACK Content-Length:0 ACKF9ACKsip:[email protected]/2.0 Proxy->VMVia:SIP/2.0/UDPwcom.com:5060 Via:SIP/2.0/UDPhere.com:5060 From:TheBigGuy To:VoiceMail;tag=3145678 Call-Id:[email protected] CSeq:1ACK Content-Length:0 /*RTPstreamsareestablishedbetweenAandVM.VM systemstartsIVRdialogfortoplevelmenu*/ /*UserAHangsUpwithVMsystem.Alternatively,the VMsystemcouldinitiatetheBYE*/ BYEF10BYEsip:[email protected]/2.0 A->ProxyVia:SIP/2.0/UDPhere.com:5060 Route: From:TheBigGuy To:VoiceMail;tag=3145678 Call-Id:[email protected] CSeq:2BYE Content-Length:0 BYEF11BYEsip:[email protected]/2.0 Proxy->VMVia:SIP/2.0/UDPwcom.com:5060 Via:SIP/2.0/UDPhere.com:5060 From:TheBigGuy To:VoiceMail;tag=3145678 Call-Id:[email protected] CSeq:2BYE Content-Length:0 200OKF12SIP/2.0200OK VM->ProxyVia:SIP/2.0/UDPwcom.com:5060 Via:SIP/2.0/UDPhere.com:5060 From:TheBigGuy To:VoiceMail;tag=3145678 Call-Id:[email protected] Campbell&SparksInformational[Page12] RFC3087SIPServiceControlApril2001 CSeq:2BYE Content-Length:0 200OKF13SIP/2.0200OK Proxy->AVia:SIP/2.0/UDPhere.com:5060 From:TheBigGuy To:VoiceMail;tag=3145678 Call-Id:[email protected] CSeq:2BYE Content-Length:0 4.2MessageDepositScenarios 4.2.1Calltoknownsubscriberforwardedonnoanswer UserAattemptstocallUserB,whodoesnotanswer.Thecallis forwardedtoUserB'smailbox,andthevoicemailsystemplaysUserB's outgoingmessageforaring-no-answer.TheflowassumesthattheURL of"sip:[email protected]"tothedesiredbehaviorfor depositingamessageonaforward-no-answer. Campbell&SparksInformational[Page13] RFC3087SIPServiceControlApril2001 UserAProxyUserBVMSystem |||| |INVITEF1||| |---------------->|INVITEF2|| ||----------------->|| |(100Trying)F3||| ||| |||| ||200OKF7|| ||| |||| ||200OKF9|| |200OKF10||ACKF12|| ||---------------------------------->| |||| |RTPEstablishedBothWays-DepositMsgforB| || |||| |BYEF13||| |---------------->|BYEF14|| ||---------------------------------->| |||| ||OKF15|| |OKF16|ProxyVia:SIP/2.0/UDPhere.com:5060 From:TheBigGuy To:TheLittleGuy Call-Id:[email protected] Campbell&SparksInformational[Page14] RFC3087SIPServiceControlApril2001 CSeq:1INVITE Contact:TheBigGuy Proxy-Authorization:Digestusername="UserA", realm="MCIWorldComSIP", nonce="ea9c8e88df84f1cec4341ae6cbe5a359",opaque="", uri="sip:[email protected]",response= Content-Type:application/sdp Content-Length: v=0 o=UserA28908445262890844526INIP4client.here.com s=SessionSDP c=INIP4100.101.102.103 t=00 m=audio49170RTP/AVP0 a=rtpmap:0PCMU/8000 /*ClientforApreparestoreceivedataonport49170 fromthenetwork.*/ INVITEF2INVITEsip:[email protected]/2.0 Proxy->B1Via:SIP/2.0/UDPwcom.com:5060;branch=1 Via:SIP/2.0/UDPhere.com:5060 Record-Route: From:TheBigGuy To:TheLittleGuy Call-Id:[email protected] CSeq:1INVITE Contact:TheBigGuy Content-Type:application/sdp Content-Length: v=0 o=UserA28908445262890844526INIP4client.here.com s=SessionSDP c=INIP4100.101.102.103 t=00 m=audio49170RTP/AVP0 a=rtpmap:0PCMU/8000 (100TryingSIP/2.0100Trying F3Via:SIP/2.0/UDPhere.com:5060 Proxy->A)From:TheBigGuy To:TheLittleGuy Call-Id:[email protected] CSeq:1INVITE Content-Length:0 Campbell&SparksInformational[Page15] RFC3087SIPServiceControlApril2001 180RingingSIP/2.0180Ringing F4Via:SIP/2.0/UDPwcom.com:5060;branch=1 B1->ProxyVia:SIP/2.0/UDPhere.com:5060 From:TheBigGuy To:TheLittleGuy;tag=3145678 Call-Id:[email protected] CSeq:1INVITE Content-Length:0 180RingingSIP/2.0180Ringing F5Via:SIP/2.0/UDPhere.com:5060 Proxy->AFrom:TheBigGuy To:TheLittleGuy;tag=3145678 Call-Id:[email protected] CSeq:1INVITE Content-Length:0 /*B1ringsfor9seconds,thisdurationisa configurableparameterintheProxyServer.Proxy sendsCancelandproceedsdownthelistofroutes, eventuallyhittingthevoicemailURIforforwardno answer*/ CANCELF6CANCELsip:[email protected]/2.0 Proxy->B1Via:SIP/2.0/UDPwcom.com:5060;branch=1 From:TheBigGuy To:TheLittleGuy;tag=3145678 Call-Id:[email protected] CSeq:1CANCEL Content-Length:0 200OKF7SIP/2.0200OK B1->ProxyVia:SIP/2.0/UDPwcom.com:5060;branch=1 From:TheBigGuy To:TheLittleGuy;tag=3145678 Call-Id:[email protected] CSeq:1CANCEL Content-Length:0 INVITEF8INVITEsip:[email protected]/2.0 Proxy->VMVia:SIP/2.0/UDPwcom.com:5060;branch=2 Via:SIP/2.0/UDPhere.com:5060 Record-Route: From:TheBigGuy To:TheLittleGuy Call-Id:[email protected] CSeq:1INVITE Campbell&SparksInformational[Page16] RFC3087SIPServiceControlApril2001 Contact:TheBigGuy Content-Type:application/sdp Content-Length: v=0 o=UserA28908445262890844526INIP4client.here.com s=SessionSDP c=INIP4100.101.102.103 t=00 m=audio49170RTP/AVP0 a=rtpmap:0PCMU/8000 200OKF9SIP/2.0200OK VM->ProxyVia:SIP/2.0/UDPwcom.com:5060;branch=2 Via:SIP/2.0/UDPhere.com:5060 Record-Route: From:TheBigGuy To:TheLittleGuy;tag=123456 Call-Id:[email protected] CSeq:1INVITE Contact:TheLittleGuyVoiceMail Content-Type:application/sdp Content-Length: v=0 o=UserB28908445272890844527INIP4vm.wcom.com s=SessionSDP c=INIP4110.111.112.114 t=00 m=audio3456RTP/AVP0 a=rtpmap:0PCMU/8000 200OKF10SIP/2.0200OK Proxy->AVia:SIP/2.0/UDPhere.com:5060 Record-Route: From:TheBigGuy To:TheLittleGuy;tag=123456 Call-Id:[email protected] CSeq:1INVITE Contact:TheLittleGuyVoiceMail Content-Type:application/sdp Content-Length: v=0 o=UserB28908445272890844527INIP4vm.wcom.com Campbell&SparksInformational[Page17] RFC3087SIPServiceControlApril2001 s=SessionSDP c=INIP4110.111.112.114 t=00 m=audio3456RTP/AVP0 a=rtpmap:0PCMU/8000 ACKF11ACKsip:[email protected]/2.0 A->ProxyVia:SIP/2.0/UDPhere.com:5060 Route: From:TheBigGuy To:TheLittleGuy;tag=123456 Call-Id:[email protected] CSeq:1ACK Content-Length:0 ACKF12ACKsip:[email protected]/2.0 Proxy->VMVia:SIP/2.0/UDPwcom.com:5060 Via:SIP/2.0/UDPhere.com:5060 From:TheBigGuy To:TheLittleGuy;tag=123456 Call-Id:[email protected] CSeq:1ACK Content-Length:0 /*RTPstreamsareestablishedbetweenAandB2.VM systemstartsIVRdialogformessage-depositonno- answerforUserB*/ /*UserAHangsUpwithVMsystem.Alternatively,the VMsystemcouldinitiatetheBYE*/ BYEF13BYEsip:[email protected]/2.0 A->ProxyVia:SIP/2.0/UDPhere.com:5060 Route: From:TheBigGuy To:TheLittleGuy;tag=123456 Call-Id:[email protected] CSeq:2BYE Content-Length:0 BYEF14BYEsip:[email protected]/2.0 Proxy->VMVia:SIP/2.0/UDPwcom.com:5060 Via:SIP/2.0/UDPhere.com:5060 From:TheBigGuy To:TheLittleGuy;tag=123456 Call-Id:[email protected] CSeq:2BYE Content-Length:0 Campbell&SparksInformational[Page18] RFC3087SIPServiceControlApril2001 200OKF15SIP/2.0200OK VM->ProxyVia:SIP/2.0/UDPwcom.com:5060 Via:SIP/2.0/UDPhere.com:5060 From:TheBigGuy To:TheLittleGuy;tag=123456 Call-Id:[email protected] CSeq:2BYE Content-Length:0 200OKF16SIP/2.0200OK Proxy->AVia:SIP/2.0/UDPhere.com:5060 From:TheBigGuy To:TheLittleGuy;tag=123456 Call-Id:[email protected] CSeq:2BYE Content-Length:0 4.2.2Calltoknownsubscriberforwardedonbusy UserAattemptstocallUserB,whoisbusy.Thecallisforwardedto UserB'smailbox,andthevoicemailsystemplaysUserB'soutgoing messageforabusy.Thisflowassumesthat"sip:UserB-dep- [email protected]"mapstoUserB'smailboxandthebehaviorof"deposit messageonbusy." Campbell&SparksInformational[Page19] RFC3087SIPServiceControlApril2001 UserAProxyUserBVMSystem |||| |INVITEF1||| |---------------->|INVITEF2|| ||----------------->|| |(100Trying)F3||| ||| |||| ||INVITEF6| ||---------------------------------->| |||| ||200OKF7|| |200OKF8||ACKF10|| ||---------------------------------->| |||| |RTPEstablishedBothWays-DepositMsgforB| || |||| |BYEF11||| |---------------->|BYEF12|| ||---------------------------------->| |||| ||OKF13|| |OKF14|ProxyVia:SIP/2.0/UDPhere.com:5060 From:TheBigGuy To:TheLittleGuy Call-Id:[email protected] CSeq:1INVITE Contact:TheBigGuy Proxy-Authorization:Digestusername="UserA", realm="MCIWorldComSIP", nonce="ea9c8e88df84f1cec4341ae6cbe5a359",opaque="", uri="sip:[email protected]",response= Content-Type:application/sdp Content-Length: v=0 o=UserA28908445262890844526INIP4client.here.com s=SessionSDP c=INIP4100.101.102.103 t=00 m=audio49170RTP/AVP0 a=rtpmap:0PCMU/8000 /*ClientforApreparestoreceivedataonport49170 fromthenetwork.*/ INVITEF2INVITEsip:[email protected]/2.0 Proxy->B1Via:SIP/2.0/UDPwcom.com:5060;branch=1 Via:SIP/2.0/UDPhere.com:5060 Record-Route: From:TheBigGuy To:TheLittleGuy Call-Id:[email protected] CSeq:1INVITE Contact:TheBigGuy Content-Type:application/sdp Content-Length: v=0 o=UserA28908445262890844526INIP4client.here.com s=SessionSDP c=INIP4100.101.102.103 t=00 m=audio49170RTP/AVP0 a=rtpmap:0PCMU/8000 (100TryingSIP/2.0100Trying F3Via:SIP/2.0/UDPhere.com:5060 Proxy->A)From:TheBigGuy To:TheLittleGuy Call-Id:[email protected] CSeq:1INVITE Content-Length:0 486BusySIP/2.0486BusyHere HereF4Via:SIP/2.0/UDPwcom.com:5060;branch=1 B1->ProxyVia:SIP/2.0/UDPhere.com:5060 From:TheBigGuy To:TheLittleGuy;tag=123456 Campbell&SparksInformational[Page21] RFC3087SIPServiceControlApril2001 Call-Id:[email protected] CSeq:1INVITE Content-Length:0 ACKF5ACKsip:[email protected]/2.0 Proxy->BVia:SIP/2.0/UDPwcom.com:5060;branch=1 From:TheBigGuy To:TheLittleGuy;tag=123456 Call-Id:[email protected] CSeq:1ACK Content-Length:0 INVITEF6INVITEsip:[email protected]/2.0 Proxy->VMVia:SIP/2.0/UDPwcom.com:5060;branch=2 Via:SIP/2.0/UDPhere.com:5060 Record-Route: From:TheBigGuy To:TheLittleGuy Call-Id:[email protected] CSeq:1INVITE Contact:TheBigGuy Content-Type:application/sdp Content-Length: v=0 o=UserA28908445262890844526INIP4client.here.com s=SessionSDP c=INIP4100.101.102.103 t=00 m=audio49170RTP/AVP0 a=rtpmap:0PCMU/8000 200OKF7SIP/2.0200OK VM->ProxyVia:SIP/2.0/UDPwcom.com:5060;branch=2 Via:SIP/2.0/UDPhere.com:5060 Record-Route: From:TheBigGuy To:TheLittleGuy;tag=3145678 Call-Id:[email protected] CSeq:1INVITE Contact:TheLittleGuyVoiceMail Content-Type:application/sdp Content-Length: v=0 o=UserB28908445272890844527INIP4vm.wcom.com s=SessionSDP Campbell&SparksInformational[Page22] RFC3087SIPServiceControlApril2001 c=INIP4110.111.112.114 t=00 m=audio3456RTP/AVP0 a=rtpmap:0PCMU/8000 200OKF8SIP/2.0200OK Proxy->AVia:SIP/2.0/UDPhere.com:5060 Record-Route: From:TheBigGuy To:TheLittleGuy;tag=3145678 Call-Id:[email protected] CSeq:1INVITE ContactTheLittleGuyVoiceMail Content-Type:application/sdp Content-Length: v=0 o=UserB28908445272890844527INIP4vm.wcom.com s=SessionSDP c=INIP4110.111.112.114 t=00 m=audio3456RTP/AVP0 a=rtpmap:0PCMU/8000 ACKF9ACKsip:[email protected]/2.0 A->ProxyVia:SIP/2.0/UDPhere.com:5060 Route: From:TheBigGuy To:TheLittleGuy;tag=3145678 Call-Id:[email protected] CSeq:1ACK Content-Length:0 ACKF10ACKsip:[email protected]/2.0 Proxy->VMVia:SIP/2.0/UDPwcom.com:5060 Via:SIP/2.0/UDPhere.com:5060 From:TheBigGuy To:TheLittleGuy;tag=3145678 Call-Id:[email protected] CSeq:1ACK Content-Length:0 /*RTPstreamsareestablishedbetweenAandB2.VM systemstartsIVRdialogformessage-depositonbusy forUserB*/ Campbell&SparksInformational[Page23] RFC3087SIPServiceControlApril2001 /*UserAHangsUpwithVMsystem.Alternatively,the VMsystemcouldinitiatetheBYE*/ BYEF11BYEsip:[email protected]/2.0 A->ProxyVia:SIP/2.0/UDPhere.com:5060 Route: From:TheBigGuy To:TheLittleGuy;tag=3145678 Call-Id:[email protected] CSeq:2BYE Content-Length:0 BYEF12BYEsip:[email protected]/2.0 Proxy->VMVia:SIP/2.0/UDPwcom.com:5060 Via:SIP/2.0/UDPhere.com:5060 From:TheBigGuy To:TheLittleGuy;tag=3145678 Call-Id:[email protected] CSeq:2BYE Content-Length:0 200OKF13SIP/2.0200OK VM->ProxyVia:SIP/2.0/UDPwcom.com:5060 Via:SIP/2.0/UDPhere.com:5060 From:TheBigGuy To:TheLittleGuy;tag=3145678 Call-Id:[email protected] CSeq:2BYE Content-Length:0 200OKF14SIP/2.0200OK Proxy->AVia:SIP/2.0/UDPhere.com:5060 From:TheBigGuy To:TheLittleGuy;tag=3145678 Call-Id:[email protected] CSeq:2BYE Content-Length:0 4.2.3Directcalltoasubscriber'smailbox UserAcallsUserB'smailboxdirectly.Thisflowassumesthat "sip:[email protected]"mapstoUserB'smailboxandthebehavior of"genericmessagedeposit" Campbell&SparksInformational[Page24] RFC3087SIPServiceControlApril2001 UserAProxyVMService ||| |INVITEF1|| |------------------>|| ||INVITEF2| |(100Trying)F3|---------------------->| ||ACKF7| ||---------------------->| ||| |RTPBothWays-DepositMsgforB| || ||| |BYEF8|| |------------------>|BYEF9| ||---------------------->| ||| ||200OKF10| ||ProxyVia:SIP/2.0/UDPhere.com:5060 From:TheBigGuy To:TheLittleGuyVoiceMail Call-Id:[email protected] CSeq:1INVITE Contact:TheBigGuy Proxy-Authorization:Digestusername="UserA", realm="MCIWorldComSIP", nonce="ea9c8e88df84f1cec4341ae6cbe5a359",opaque="", uri="sip:[email protected]",response= Content-Type:application/sdp Content-Length: v=0 o=UserA28908445262890844526INIP4client.here.com s=SessionSDP Campbell&SparksInformational[Page25] RFC3087SIPServiceControlApril2001 c=INIP4100.101.102.103 t=00 m=audio49170RTP/AVP0 a=rtpmap:0PCMU/8000 /*ClientforApreparestoreceivedataonport49170 fromthenetwork.*/ INVITEF2INVITEsip:[email protected]/2.0 Proxy->B1Via:SIP/2.0/UDPwcom.com:5060;branch=1 Via:SIP/2.0/UDPhere.com:5060 Record-Route: From:TheBigGuy To:TheLittleGuyVoiceMail Call-Id:[email protected] CSeq:1INVITE Contact:TheBigGuy Content-Type:application/sdp Content-Length: v=0 o=UserA28908445262890844526INIP4client.here.com s=SessionSDP c=INIP4100.101.102.103 t=00 m=audio49170RTP/AVP0 a=rtpmap:0PCMU/8000 (100TryingSIP/2.0100Trying F3Via:SIP/2.0/UDPhere.com:5060 Proxy->A)From:TheBigGuy To:TheLittleGuyVoiceMail Call-Id:[email protected] CSeq:1INVITE Content-Length:0 200OKF4SIP/2.0200OK VM->ProxyVia:SIP/2.0/UDPwcom.com:5060;branch=1 Via:SIP/2.0/UDPhere.com:5060 Record-Route: From:TheBigGuy To:TheLittleGuyVoiceMail;tag=3145678 Call-Id:[email protected] CSeq:1INVITE Contact:TheLittleGuyVoiceMail Content-Type:application/sdp Campbell&SparksInformational[Page26] RFC3087SIPServiceControlApril2001 Content-Length: v=0 o=UserB28908445272890844527INIP4vm.wcom.com s=SessionSDP c=INIP4110.111.112.114 t=00 m=audio3456RTP/AVP0 a=rtpmap:0PCMU/8000 200OKF5SIP/2.0200OK Proxy->AVia:SIP/2.0/UDPhere.com:5060 Record-Route: From:TheBigGuy To:TheLittleGuyVoiceMail;tag=3145678 Call-Id:[email protected] CSeq:1INVITE ContactTheLittleGuyVoiceMail Content-Type:application/sdp Content-Length: v=0 o=UserB28908445272890844527INIP4vm.wcom.com s=SessionSDP c=INIP4110.111.112.114 t=00 m=audio3456RTP/AVP0 a=rtpmap:0PCMU/8000 ACKF6ACKsip:[email protected]/2.0 A->ProxyVia:SIP/2.0/UDPhere.com:5060 Route: From:TheBigGuy To:TheLittleGuyVoiceMail;tag=3145678 Call-Id:[email protected] CSeq:1ACK Content-Length:0 ACKF7ACKsip:[email protected]/2.0 Proxy->VMVia:SIP/2.0/UDPwcom.com:5060 Via:SIP/2.0/UDPhere.com:5060 From:TheBigGuy To:TheLittleGuyVoiceMail;tag=3145678 Call-Id:[email protected] CSeq:1ACK Campbell&SparksInformational[Page27] RFC3087SIPServiceControlApril2001 Content-Length:0 /*RTPstreamsareestablishedbetweenAandVM.VM systemstartsIVRdialogforgenericmessage-deposit forUserB*/ /*UserAHangsUpwithVMsystem.Alternatively,the VMsystemcouldinitiatetheBYE*/ BYEF8BYEsip:[email protected]/2.0 A->ProxyVia:SIP/2.0/UDPhere.com:5060 Route: From:TheBigGuy To:TheLittleGuyVoiceMail;tag=3145678 Call-Id:[email protected] CSeq:2BYE Content-Length:0 BYEF9BYEsip:[email protected]/2.0 Proxy->VMVia:SIP/2.0/UDPwcom.com:5060 Via:SIP/2.0/UDPhere.com:5060 From:TheBigGuy To:TheLittleGuyVoiceMail;tag=3145678 Call-Id:[email protected] CSeq:2BYE Content-Length:0 200OKF10SIP/2.0200OK VM->ProxyVia:SIP/2.0/UDPwcom.com:5060 Via:SIP/2.0/UDPhere.com:5060 From:TheBigGuy To:TheLittleGuyVoiceMail;tag=3145678 Call-Id:[email protected] CSeq:2BYE Content-Length:0 200OKF11SIP/2.0200OK Proxy->AVia:SIP/2.0/UDPhere.com:5060 From:TheBigGuy To:TheLittleGuyVoiceMail;tag=3145678 Call-Id:[email protected] CSeq:2BYE Content-Length:0 Campbell&SparksInformational[Page28] RFC3087SIPServiceControlApril2001 4.3MessageRetrievalScenarios 4.3.1Calltoretrievemessagesbelievedtobefromaknownsubscriber SomeuserusesaSIPclientonUserA'sdesktocallthevoicemail systemtoretrievemessages.TheSIPclienthasauthenticateditself totheproxyusingcredentialsassignedtothedevice.Theproxycan makeaweakassumptionthatthecalleristhedeviceowner.TheURI of"sip:[email protected]"mapstoUserA'smailboxandthe behaviorof"retrievemessagesafterpromptingforandverifying PIN."TheVMSystemtruststheproxy,andwillnotacceptcallsfrom anuntrustedsource.Theproxywillnotallowdirectcallsto [email protected] [email protected]@vm.wcom.comonlyforcalls placedfromaclientdeviceassignedtoUserA. UserAProxyVMService ||| |INVITEF1|| |------------------>|| ||INVITEF2| |(100Trying)F3|---------------------->| ||ACKF7| ||---------------------->| ||| |RTPBothWays-VMpromptsforPIN || ||| |BYEF8|| |------------------>|BYEF9| ||---------------------->| ||| ||200OKF10| ||ProxyVia:SIP/2.0/UDPhere.com:5060 From:TheBigGuy To:VoiceMail Call-Id:[email protected] CSeq:1INVITE Contact:TheBigGuy Proxy-Authorization:Digestusername="UserAPhone", realm="MCIWorldComSIP", nonce="ea9c8e88df84f1cec4341ae6cbe5a359",opaque="", uri="sip:[email protected]",response= Content-Type:application/sdp Content-Length: v=0 o=UserA28908445262890844526INIP4client.here.com s=SessionSDP c=INIP4100.101.102.103 t=00 m=audio49170RTP/AVP0 a=rtpmap:0PCMU/8000 /*ClientforApreparestoreceivedataonport49170 fromthenetwork.*/ INVITEF2INVITEsip:[email protected]/2.0 Proxy->B1Via:SIP/2.0/UDPwcom.com:5060;branch=1 Via:SIP/2.0/UDPhere.com:5060 Record-Route: From:TheBigGuy To:VoiceMail Call-Id:[email protected] CSeq:1INVITE Contact:TheBigGuy Content-Type:application/sdp Content-Length: v=0 o=UserA28908445262890844526INIP4client.here.com s=SessionSDP c=INIP4100.101.102.103 t=00 m=audio49170RTP/AVP0 a=rtpmap:0PCMU/8000 Campbell&SparksInformational[Page30] RFC3087SIPServiceControlApril2001 (100TryingSIP/2.0100Trying F3Via:SIP/2.0/UDPhere.com:5060 Proxy->A)From:TheBigGuy To:VoiceMail Call-Id:[email protected] CSeq:1INVITE Content-Length:0 200OKF4SIP/2.0200OK VM->ProxyVia:SIP/2.0/UDPwcom.com:5060;branch=1 Via:SIP/2.0/UDPhere.com:5060 Record-Route: From:TheBigGuy To:VoiceMail;tag=3145678 Call-Id:[email protected] CSeq:1INVITE Contact:VoiceMailSystem Content-Type:application/sdp Content-Length: v=0 o=UserB28908445272890844527INIP4vm.wcom.com s=SessionSDP c=INIP4110.111.112.114 t=00 m=audio3456RTP/AVP0 a=rtpmap:0PCMU/8000 200OKF5SIP/2.0200OK Proxy->AVia:SIP/2.0/UDPhere.com:5060 Record-Route: From:TheBigGuy To:VoiceMail;tag=3145678 Call-Id:[email protected] CSeq:1INVITE ContactVoiceMailSystem Content-Type:application/sdp Content-Length: v=0 o=UserB28908445272890844527INIP4vm.wcom.com s=SessionSDP c=INIP4110.111.112.114 t=00 m=audio3456RTP/AVP0 a=rtpmap:0PCMU/8000 Campbell&SparksInformational[Page31] RFC3087SIPServiceControlApril2001 ACKF6ACKsip:[email protected]/2.0 A->ProxyVia:SIP/2.0/UDPhere.com:5060 Route: From:TheBigGuy To:VoiceMail;tag=3145678 Call-Id:[email protected] CSeq:1ACK Content-Length:0 ACKF7ACKsip:[email protected]/2.0 Proxy->VMVia:SIP/2.0/UDPwcom.com:5060 Via:SIP/2.0/UDPhere.com:5060 From:TheBigGuy To:VoiceMail;tag=3145678 Call-Id:[email protected] CSeq:1ACK Content-Length:0 /*RTPstreamsareestablishedbetweenAandVM.VM determinesthatthecallislikelyfromUserA,and startsamessageretrievalsession,promptingfor PIN*/ /*UserAHangsUpwithVMsystem.Alternatively,the VMsystemcouldinitiatetheBYE*/ BYEF8BYEsip:[email protected]/2.0 A->ProxyVia:SIP/2.0/UDPhere.com:5060 Route: From:TheBigGuy To:VoiceMail;tag=3145678 Call-Id:[email protected] CSeq:2BYE Content-Length:0 BYEF9BYEsip:[email protected]/2.0 Proxy->VMVia:SIP/2.0/UDPwcom.com:5060 Via:SIP/2.0/UDPhere.com:5060 From:TheBigGuy To:VoiceMail;tag=3145678 Call-Id:[email protected] CSeq:2BYE Content-Length:0 200OKF10SIP/2.0200OK VM->ProxyVia:SIP/2.0/UDPwcom.com:5060 Via:SIP/2.0/UDPhere.com:5060 From:TheBigGuy Campbell&SparksInformational[Page32] RFC3087SIPServiceControlApril2001 To:VoiceMail;tag=3145678 Call-Id:[email protected] CSeq:2BYE Content-Length:0 200OKF11SIP/2.0200OK Proxy->AVia:SIP/2.0/UDPhere.com:5060 From:TheBigGuy To:VoiceMail;tag=3145678 Call-Id:[email protected] CSeq:2BYE Content-Length:0 4.3.2Calltoretrievemessagesfromanauthenticatedsubscriber UserAtocallthevoicemailsystemtoretrievemessages. Assumptions:ThecallerisauthenticatedusingUserA'scredentials. "sip:[email protected]"mapstoUserA'smailboxandthe behaviorof"retrievemessages."Thevoicemailservicetruststhe proxynottoforwardanycallstothatURIunlessthecallis authenticatedtobefromUserA. Giventheseassumptions,TheVMservicemaychoosenotrequireaPIN forcallstothisURI. Campbell&SparksInformational[Page33] RFC3087SIPServiceControlApril2001 UserAProxyVMService ||| |INVITEF1|| |------------------>|| ||INVITEF2| |(100Trying)F3|---------------------->| ||ACKF7| ||---------------------->| ||| |RTPBothWays-DepositMsgforB| || ||| |BYEF8|| |------------------>|BYEF9| ||---------------------->| ||| ||200OKF10| ||ProxyVia:SIP/2.0/UDPhere.com:5060 From:TheBigGuy To:VoiceMail Call-Id:[email protected] CSeq:1INVITE Contact:TheBigGuy Proxy-Authorization:Digestusername="UserA", realm="MCIWorldComSIP", nonce="ea9c8e88df84f1cec4341ae6cbe5a359",opaque="", uri="sip:[email protected]",response= Content-Type:application/sdp Content-Length: v=0 o=UserA28908445262890844526INIP4client.here.com s=SessionSDP Campbell&SparksInformational[Page34] RFC3087SIPServiceControlApril2001 c=INIP4100.101.102.103 t=00 m=audio49170RTP/AVP0 a=rtpmap:0PCMU/8000 /*ClientforApreparestoreceivedataonport49170 fromthenetwork.*/ INVITEF2INVITEsip:[email protected]/2.0 Proxy->B1Via:SIP/2.0/UDPwcom.com:5060;branch=1 Via:SIP/2.0/UDPhere.com:5060 Record-Route: From:TheBigGuy To:VoiceMail Call-Id:[email protected] CSeq:1INVITE Contact:TheBigGuy Content-Type:application/sdp Content-Length: v=0 o=UserA28908445262890844526INIP4client.here.com s=SessionSDP c=INIP4100.101.102.103 t=00 m=audio49170RTP/AVP0 a=rtpmap:0PCMU/8000 (100TryingSIP/2.0100Trying F3Via:SIP/2.0/UDPhere.com:5060 Proxy->A)From:TheBigGuy To:VoiceMail Call-Id:[email protected] CSeq:1INVITE Content-Length:0 200OKF4SIP/2.0200OK VM->ProxyVia:SIP/2.0/UDPwcom.com:5060;branch=1 Via:SIP/2.0/UDPhere.com:5060 Record-Route: From:TheBigGuy To:VoiceMail;tag=3145678 Call-Id:[email protected] CSeq:1INVITE Contact:VoiceMailSystem Content-Type:application/sdp Content-Length: Campbell&SparksInformational[Page35] RFC3087SIPServiceControlApril2001 v=0 o=UserB28908445272890844527INIP4vm.wcom.com s=SessionSDP c=INIP4110.111.112.114 t=00 m=audio3456RTP/AVP0 a=rtpmap:0PCMU/8000 200OKF5SIP/2.0200OK Proxy->AVia:SIP/2.0/UDPhere.com:5060 Record-Route: From:TheBigGuy To:VoiceMail;tag=3145678 Call-Id:[email protected] CSeq:1INVITE ContactVoiceMailSystem Content-Type:application/sdp Content-Length: v=0 o=UserB28908445272890844527INIP4vm.wcom.com s=SessionSDP c=INIP4110.111.112.114 t=00 m=audio3456RTP/AVP0 a=rtpmap:0PCMU/8000 ACKF6ACKsip:[email protected]/2.0 A->ProxyVia:SIP/2.0/UDPhere.com:5060 Route: From:TheBigGuy To:VoiceMail;tag=3145678 Call-Id:[email protected] CSeq:1ACK Content-Length:0 ACKF7ACKsip:[email protected]/2.0 Proxy->VMVia:SIP/2.0/UDPwcom.com:5060 Via:SIP/2.0/UDPhere.com:5060 From:TheBigGuy To:VoiceMail;tag=3145678 Call-Id:[email protected] CSeq:1ACK Content-Length:0 Campbell&SparksInformational[Page36] RFC3087SIPServiceControlApril2001 /*RTPstreamsareestablishedbetweenAandVM.VM determinesthatthecallislikelyfromUserA,and startsamessageretrievalsession.Sincetheproxy hasalreadyauthenticatedtheidentityofUserA,the VMdoesnotneedtopromptforPIN.*/ /*UserAHangsUpwithVMsystem.Alternatively,the VMsystemcouldinitiatetheBYE*/ BYEF8BYEsip:[email protected]/2.0 A->ProxyVia:SIP/2.0/UDPhere.com:5060 Route: From:TheBigGuy To:VoiceMail;tag=3145678 Call-Id:[email protected] CSeq:2BYE Content-Length:0 BYEF9BYEsip:[email protected]/2.0 Proxy->VMVia:SIP/2.0/UDPwcom.com:5060 Via:SIP/2.0/UDPhere.com:5060 From:TheBigGuy To:VoiceMail;tag=3145678 Call-Id:[email protected] CSeq:2BYE Content-Length:0 200OKF10SIP/2.0200OK VM->ProxyVia:SIP/2.0/UDPwcom.com:5060 Via:SIP/2.0/UDPhere.com:5060 From:TheBigGuy To:VoiceMail;tag=3145678 Call-Id:[email protected] CSeq:2BYE Content-Length:0 200OKF11SIP/2.0200OK Proxy->AVia:SIP/2.0/UDPhere.com:5060 From:TheBigGuy To:VoiceMail;tag=3145678 Call-Id:[email protected] CSeq:2BYE Content-Length:0 Campbell&SparksInformational[Page37] RFC3087SIPServiceControlApril2001 5.SecurityConsiderations ThisdocumentdiscussesausageofSIP/2.0asdefinedbyRFC2543[1]. Itintroducesnoadditions,modifications,orrestrictionstothe protocoldefinedtherein.Anyimplementationoftheconceptsinthis documentissubjecttotheissuesdiscussedthere. 6.Acknowledgments TheauthorswouldliketothankChrisCunningham,SteveDonovan,Alan Johnston,HenrySinnreich,KevinSummers,JohnTruetken,andDean Willisfortheirdiscussionofandcontributiontothiswork. References [1]Handley,M.,Schulzrinne,H.,Schooler,E.andJ.Rosenberg, "SIP:SessionInitiationProtocol",RFC2543,March1999. Authors'Addresses BenCampbell dynamicsoft 5100TennysonParkway Suite1200 Plano,TX75024 EMail:[email protected] RobertJ.Sparks dynamicsoft 5100TennysonParkway Suite1200 Plano,TX75024 EMail:[email protected] Campbell&SparksInformational[Page38] RFC3087SIPServiceControlApril2001 FullCopyrightStatement Copyright(C)TheInternetSociety(2001).AllRightsReserved. Thisdocumentandtranslationsofitmaybecopiedandfurnishedto others,andderivativeworksthatcommentonorotherwiseexplainit orassistinitsimplementationmaybeprepared,copied,published anddistributed,inwholeorinpart,withoutrestrictionofany kind,providedthattheabovecopyrightnoticeandthisparagraphare includedonallsuchcopiesandderivativeworks.However,this documentitselfmaynotbemodifiedinanyway,suchasbyremoving thecopyrightnoticeorreferencestotheInternetSocietyorother Internetorganizations,exceptasneededforthepurposeof developingInternetstandardsinwhichcasetheproceduresfor copyrightsdefinedintheInternetStandardsprocessmustbe followed,orasrequiredtotranslateitintolanguagesotherthan English. Thelimitedpermissionsgrantedaboveareperpetualandwillnotbe revokedbytheInternetSocietyoritssuccessorsorassigns. Thisdocumentandtheinformationcontainedhereinisprovidedonan "ASIS"basisandTHEINTERNETSOCIETYANDTHEINTERNETENGINEERING TASKFORCEDISCLAIMSALLWARRANTIES,EXPRESSORIMPLIED,INCLUDING BUTNOTLIMITEDTOANYWARRANTYTHATTHEUSEOFTHEINFORMATION HEREINWILLNOTINFRINGEANYRIGHTSORANYIMPLIEDWARRANTIESOF MERCHANTABILITYORFITNESSFORAPARTICULARPURPOSE. Acknowledgement FundingfortheRFCEditorfunctioniscurrentlyprovidedbythe InternetSociety. Campbell&SparksInformational[Page39]



請為這篇文章評分?