Escolar Documentos
Profissional Documentos
Cultura Documentos
RCSeAdvancedComms: Servicesandclientspecification
I.
Indexofcontents
I. Indexofcontents............................................................................................................2 II. Indexoffigures...............................................................................................................6 III. Indexoftables................................................................................................................8 IV. Documentchangelog ..................................................................................................10 . V. Acronymsandabbreviations........................................................................................11 VI. Normativereference....................................................................................................13 1. Introduction..................................................................................................................15 1.1 RCSePrinciples....................................................................................................16 1.2 OEMIntegration...................................................................................................17 1.3 Conformance........................................................................................................17 1.4 Scopeandfutureevolution..................................................................................18 2. Registrationandcapabilitiesdiscoveryprocess...........................................................19 2.1 Firsttimeregistrationandclientconfigurationprovisioning..............................19 2.1.1 RCSeclientconfigurationstorage...................................................................22 2.2 Registrationprocess.............................................................................................23 2.2.1 Additionalmessageauthentication..................................................................23 2.2.2 Registrationprocessandscenarios..................................................................24 2.2.2.1 Firsttimeregistration................................................................................24 2.2.2.1.1 Additionalfirsttimeconfigurationscenarios.....................................26 2.2.2.1.2 Autoconfigurationmechanisms.........................................................26 2.2.2.2 Registration ...............................................................................................30 . 2.2.2.3 Reregistration...........................................................................................32 2.2.2.4 Deregistration............................................................................................33 2.2.2.5 Registrationstatusandavailablecapabilities...........................................33 2.2.2.6 Registrationfrequencyoptimization.........................................................33 2.3 Capabilitydiscovery..............................................................................................33 2.3.1 CapabilitydiscoveryprocessthroughOPTIONSmessage................................34 2.3.1.1 SIPOPTIONSmessageextensiontosupportcapabilitydiscovery............35 2.3.1.2 Futureextensionstothemechanism........................................................37 2.3.1.3 SIPOPTIONSexchangeoptimisations.......................................................38 2.3.1.4 UIintegrationoptimisations......................................................................38 2.3.1.5 SIPOPTIONSandmultidevicesupport......................................................39 2.3.2 Capabilitydiscoveryviapresence ....................................................................40 . 2.3.2.1 EnhancingANONYMOUSSUBSCRIBEmechanismwithXDMSlists ..........41 . 2.4 Newuserdiscoverymechanism...........................................................................41 2.4.1 DiscoveryviaOPTIONSmessage......................................................................42 2.5 Capabilitypollingmechanism..............................................................................45 2.6 ManagementofsupplementaryRCSfunctionality..............................................49 2.7 RCSeandcapabilities..........................................................................................49 2.7.1 CapabilityExtensions........................................................................................51 2.7.2 IMstoreandforward .......................................................................................52 . 2.7.3 Videointeroperability.......................................................................................53 2.8 RCSeprotocols....................................................................................................53 Page 2 of151
RCSeAdvancedComms: Servicesandclientspecification 2.8.1 RTPandNATtraversal......................................................................................54 2.9 Addressingandidentities.....................................................................................56 2.9.1 Overview...........................................................................................................56 2.9.2 DeviceIncomingSIPRequest...........................................................................56 2.9.2.1 From/PAssertedIdentity..........................................................................56 2.9.3 DeviceOutgoingSIPRequest...........................................................................57 2.9.3.1 Identificationofthetargetcontact...........................................................57 2.9.3.2 SelfIdentificationtothenetworkandtheaddressedcontact:................57 2.9.3.3 Useralias...................................................................................................57 . 2.10 Datatrafficandroamingconsiderations .............................................................58 . 2.10.1 Dataconnectionnotifications............................................................................59 2.11 Privacyconsiderations..........................................................................................59 2.12 RCSeandLTE.......................................................................................................60 2.12.1 LTEandVoiceoverLTE...................................................................................60 2.12.2 LTEcapabilitydiscoveryusingtheRCSe........................................................60 2.12.3 LTEandVideosharefunctionality..................................................................61 2.13 EndUserConfirmationRequests.........................................................................61 2.13.1 ExampleUC1:Acceptingtermsandconditions.............................................64 2.13.2 ExampleUC2:AcceptingExtraCharges .........................................................65 . 2.14 GRUUandmultidevicesupport............................................................................66 3. RCSesequenceandUXdiagrams................................................................................67 3.1 AccesstoRCSeservicesthroughaddressbookorcallloginteraction ..............68 . 3.1.1 Generalassumptions........................................................................................68 3.1.2 Capabilitiesupdateprocess..............................................................................69 3.2 IM/chatservice.....................................................................................................71 3.2.1 Generalassumptions........................................................................................71 3.2.2 DeltabetweenRCSeandRCSRelease2ontheIMfunctionality...................71 3.2.2.1 FunctionalLevel.........................................................................................71 3.2.2.2 Technical/ProtocolLevel...........................................................................71 3.2.2.3 Deliverynotifications.................................................................................73 3.2.2.4 Displaynotifications..................................................................................74 3.2.3 Clientassumptions...........................................................................................74 3.2.4 1to1Chat........................................................................................................77 3.2.4.1 Initiatingachat..........................................................................................77 3.2.4.2 Answeringachat.......................................................................................78 3.2.4.3 Messagesexchangedinanestablishedchat.............................................78 3.2.4.4 Displayandlocalstorage...........................................................................78 3.2.4.5 Leavingthechatcomposingwindow........................................................78 3.2.4.6 IsComposingnotification........................................................................79 3.2.4.7 Closingachat/Reopeningachat............................................................79 3.2.4.8 Chatinactivitytimeout..............................................................................79 3.2.4.9 Chatabnormalinterruption......................................................................79 3.2.4.10 ReOpeningachat...................................................................................80 3.2.4.11 StoreandForwardMode........................................................................80 3.2.4.12 Multidevicehandling...............................................................................81 3.2.4.13 Switchingto1tomanyChat...................................................................81 3.2.4.14 Filetransferwithin1to1chat................................................................82 Page 3 of151
RCSeAdvancedComms: Servicesandclientspecification 3.2.4.15 Otherfeatures.........................................................................................82 3.2.4.16 Protocolflowdiagrams ...........................................................................82 . 3.2.4.16.1 Generalonetoonechat..................................................................82 3.2.4.16.2 StoreandForward............................................................................85 3.2.4.16.3 Multidevice.......................................................................................85 3.2.4.16.4 Leavingaonetoonechat................................................................85 3.2.4.16.5 Onetoonechatforcedtermination................................................87 3.2.4.16.6 Exchangecapabilitiesduringa1to1chat.......................................88 3.2.5 1tomanyChat.................................................................................................89 3.2.5.1 Initiatingachat..........................................................................................89 3.2.5.2 GeneralBehaviour.....................................................................................90 3.2.5.3 Closingmultichat.......................................................................................90 3.2.5.4 Protocolflowdiagrams..............................................................................90 3.2.5.4.1 StartamultipleIMsessionfromtheIMcompositionwindow..........90 3.2.5.4.2 GetparticipantsofmultichatIMsession...........................................92 3.2.5.4.3 StartagroupchatsessionfromaIM/chatapplication......................93 3.2.5.4.4 AddaparticipanttoanalreadyestablishedonetomanyIMsession94 3.2.5.4.5 SendingaIMmessagefromtheIMmultiplesessionwindow ..........95 . 3.2.5.4.6 UserinamultipleIMsessiongoesoffline .........................................96 . 3.2.5.4.7 LeavingaIMmultiplesession ............................................................97 . 3.3 RCSeservicesduringacall..................................................................................98 3.3.1 Generalassumptions........................................................................................98 3.3.2 Exchangecapabilitiesduringacall.................................................................100 3.3.3 Sharevideoduringacall ................................................................................101 . 3.3.4 Stopsharingvideo(RTP)duringacall:Senderinitiated................................102 3.3.5 Stopsharingvideo(RTP)duringacall:Receiverinitiated..............................103 3.3.6 Stopsharingvideo(RTP)duringacallbecausetherequiredcapabilityisno longeravailable..........................................................................................................104 3.3.7 Sharepicturesduringacall............................................................................105 3.3.8 Stopsharingapictureduringacall:Senderinitiated....................................106 3.3.9 Stopsharingapictureduringacall:Receiverinitiated..................................107 3.3.10 Stopsharingapictureduringacallbecausetherequiredcapabilityisno longeravailable..........................................................................................................108 3.3.11 Declinesharevideoorpictureduringacall.................................................110 3.3.12 Nongracefultermination(sender):Videoorpicturesharing.....................111 3.3.13 Nongracefultermination(receiver):Videoorpicturesharing...................112 3.3.14 Multipartycallandimage/videoshare........................................................115 3.3.15 Callonholdandimage/videoshare.............................................................116 3.3.16 Waitingcallandimage/videoshare.............................................................117 3.3.17 Callsfromprivatenumbers..........................................................................117 3.4 Filetransfer.........................................................................................................118 3.4.1 Generalassumptions......................................................................................120 3.4.2 Selectingthefiletransferrecipient(s)............................................................120 3.4.3 Standardfileshareprocedure........................................................................122 3.4.4 Fileshareerrorcases......................................................................................123 3.4.5 Fileshareandfiletypes..................................................................................124 3.4.6 Filesizeconsiderations...................................................................................124 Page 4 of151
RCSeAdvancedComms: Servicesandclientspecification A. ANNEXA:Extensionstothedatamodel....................................................................125 A.1 Managementobjectsparameteradditions.......................................................125 A.1.1 Presencerelatedconfiguration......................................................................125 A.1.2 XDMrelatedconfiguration.............................................................................125 A.1.3 IMrelatedconfiguration................................................................................125 A.1.4 Filetransferrelatedconfiguration.................................................................127 A.1.5 IMSCore/SIPrelatedconfiguration..............................................................127 . A.1.6 ConfigurationrelatedwithAddressbookBackup/Restore..........................127 A.1.7 Configurationrelatedwithsecondarydeviceintroduction...........................127 A.1.8 Capabilitydiscoveryrelatedconfiguration....................................................128 A.1.9 APNconfiguration..........................................................................................129 A.1.10 Enduserconfirmationparameters..............................................................129 A.2 RCSManagementtreesadditions......................................................................129 A.2.1 IMSsubtreeadditions...................................................................................129 A.2.2 Presencesubtreeadditions...........................................................................130 A.2.3 XDMSsubtreeadditions................................................................................132 A.2.4 IMMOsubtreeaddition................................................................................133 A.2.5 CapabilitydiscoveryMOsubtree..................................................................135 A.2.6 APNconfigurationMOsubtree.....................................................................137 A.2.7 OtherRCSeconfigurationsubtree...............................................................138 A.3 OMACPspecificconfigurationandbehaviour..................................................140 A.3.1 OMACPconfigurationXMLstructure...........................................................140 . B. ANNEXB:IMStoreandforwarddiagrams.................................................................141 B.1 IMwithoutstoreandforward............................................................................141 B.2 Storeandforward:Receiveroffline...................................................................142 B.3 Storeandforward:MessagedeferreddeliverywithsenderstillonanactiveIM session143 B.4 Storeandforward:Messagedeferreddeliverywithsenderonline..................144 B.5 Storeandforward:Messagedeferreddeliverywithsenderoffline..................145 B.6 Storeandforward:Notificationsdeferreddelivery...........................................146 B.7 Storeandforward:Notes...................................................................................147 C. ANNEXC:RCSeIM/Chatandmultidevice.................................................................148 C.1 Deliverypriortoacceptance..............................................................................148 C.2 Postacceptancebehaviour................................................................................149 C.3 RCSeIM/Chatandmultidevice:Notes..............................................................150 D. ANNEXD:Authors......................................................................................................151
Page 5 of151
RCSeAdvancedComms: Servicesandclientspecification
II.
Indexoffigures
Figure1.RCSepositioning...................................................................................................15 Figure2.RCSeIndustryPropositionextendingthecommunicationsstack...................16 Figure3.RCSecapabilitydiscovery.....................................................................................16 Figure4.Firsttimeregistrationsequencediagram.............................................................25 Figure5.RCSealternativeconfiguration:Initialrequest....................................................27 Figure6.RCSealternativeconfiguration:Serverresponse................................................28 Figure7.RegistrationfromofflineoverPS(assumingSSO/GIBA).......................................30 Figure8.RegistrationfromofflineoverWiFiorPSnetworkswithoutSSO/GIBA authenticationsupport........................................................................................................31 Figure9.XCAPexchangeswhenusingdigestauthentication..............................................32 Figure10.Reregistration.....................................................................................................32 Figure11.Deregistration......................................................................................................33 Figure12.CapabilitiesdiscoveryviaSIPOPTIONSmessage................................................35 Figure13.CapabilitiesdiscoveryviaPRESENCE...................................................................41 Figure14.Adding/Editingacontact.....................................................................................44 Figure15.UpdatingtheXDMSlistofcontactssupportingsocialinformationviapresence functionality.........................................................................................................................45 Figure16.CapabilitiespollingviaOPTIONSmessage..........................................................46 Figure17.Capabilitiespollingviaanonymousfetch............................................................47 Figure18.RCSecapabilityandnewuserdiscoverymechanisms......................................48 Figure19.RTPsymmetricmediapathestablishment.........................................................55 Figure20.TermsandConditionUCexample.......................................................................64 Figure21.ExtraChargeUCexample....................................................................................65 Figure22.Addressbook:Capabilitiesupdate......................................................................69 Figure23.Addressbook:Capabilitiesupdate(II)................................................................70 Figure24.ReferenceUXforaccessingchatfromaddressbook/calllog ............................75 . Figure25.ReferenceUXforstartingachatfromtheIM/chatapplication.........................76 Figure26.ReferenceUXforstartingchatfromtheIM/chatapplicationhistory................76 Figure27.ReferenceUXfiletransferonthereceiverside..................................................77 Figure28.Onetoonechat..................................................................................................83 Figure29.OnetoonechatbackupmechanismtosendSMS.............................................84 Figure30.Leavingaonetoonechatsession(chatterminated)........................................85 Figure31.Leavingaonetoonechatsession(leavingchatinthebackground).................86 Figure32.Onetoonechatforcedtermination..................................................................87 Figure33.Capabilitiesexchangeduringachatsession.......................................................88 Figure34.Multichatsessioninitiation.................................................................................91 Figure35.Multichatsessioninitiation(II):Getparticipants................................................92 Figure36.StartagroupchatfromtheIM/chatapplication................................................93 Figure37.Addingnewuserstoamultichatsession...........................................................94 Figure38.Chatmessagesequenceonamultichatsession................................................95 Figure39.Forcedchatterminationinamultichatsession ................................................96 . Figure40.Leavingamultichatsession...............................................................................97 Figure41.Capabilitiesexchangeduringacall...................................................................100 Page 6 of151
RCSeAdvancedComms: Servicesandclientspecification Figure42.Sharevideoduringacall...................................................................................101 Figure43.Senderstopssharingvideoduringacall...........................................................102 Figure44.Receiverwantsnolongertoreceivevideoduringacall..................................103 . Figure45.Videocannolongerbesharedduringacall(capabilitynotavailable)............104 Figure46.Sharingapictureduringacall...........................................................................105 Figure47.Senderstopssharingapictureduringacall.....................................................106 Figure48.Receiverstopspicturesharing..........................................................................107 Figure49.Apicturecannolongerbesharedduringacall(capabilitynotavailable).......109 Figure50.Userdeclinessharingapictureduringacall.....................................................110 Figure51.Nongracefultermination(sender)forvideo....................................................111 Figure52.Nongracefulterminationofvideoorpicturesharingduringacall.................113 Figure53.Nongracefulterminationofvideosharingduringacall..................................114 Figure54.ReferenceUXforaccessingfilesharefromaddressbook/calllog...................118 Figure55.ReferenceUXforaccessingfilesharefrommediagalleryorfilebrowser.......118 Figure56.ReferenceUXforaccessingfilesharefromaIMwindow................................119 Figure57.ReferenceUXforfiletransferonthereceiverside..........................................119 Figure58.Selectinguserswhensharingafilefromthemediagallery/filebrowser........121 Figure59.StandardfiletransfersequencediagramSuccessfultransfer .......................122 . Figure60.StandardfiletransfersequencediagramReceiverrejectsthetransfer........123 Figure61.RCSeadditionstothepresenceMOsubtree..................................................130 Figure62.RCSeadditionstotheIMMOsubtree............................................................133 Figure63.RCSeadditions,capabilitysubtree..................................................................135 Figure64.RCSeadditions,roamingsubtree....................................................................137 Figure65.RCSeadditions,othersubtree........................................................................139 . Figure66.Standardchatwithoutstoreandforward........................................................141 Figure67.IMflowwithoutstoreandforward*................................................................141 Figure68.Storeandforward:Receiveroffline*................................................................142 Figure69.Storeandforward:Message(s)differeddeliverywithasenderstillonanMSRP session*..............................................................................................................................143 Figure70.Storeandforward:Message(s)differeddeliverywithasenderonline*.........144 Figure71.Storeandforward:Message(s)differeddeliverywithasenderoffline...........145 Figure72.Storeandforward:Notification(s)differeddelivery* ......................................146 . Figure73.IMandmultidevice:Deliverypriortoacceptance*..........................................148 Figure74.IMandmultidevice:Postacceptancebehaviour* ...........................................149 .
Page 7 of151
RCSeAdvancedComms: Servicesandclientspecification
III.
Indexoftables
Table1.Documentchangelog.............................................................................................10 Table2.Abbreviationsandacronyms..................................................................................12 Table3.Normativereference..............................................................................................14 Table4.SummaryofIMSregistrationrelatedconfigurationparameters...........................20 Table5.SummaryofRCSeclientconfigurationparameters..............................................22 Table6.RCSealternativeconfigurationemptyXML(noconfigurationchangesrequired)28 Table7.RCSealternativeconfigurationemptyXML(resetRCSeclient)...........................29 Table8.RCSealternativeconfigurationXMLstructurebasedonOMACP.......................29 Table9.StandardRCSRelease2SIPOPTIONStags.............................................................36 Table10.AdditionaltagstocovertheremainingRCSeservices........................................36 Table11.CompleteSIPOPTIONStagproposalforRCSe....................................................37 Table12.SIPOPTIONStagproposalforfuturelinesofwork..............................................38 Table13.RCSeservicesHWanddatabearerrequirements..............................................50 Table14.Storeandforwardpossiblescenarios..................................................................52 Table15.RCSerecommendedprotocols............................................................................54 Table16.APNconfigurationproposalfordatatrafficandroaming ...................................58 . Table17.Dataconnectionnotificationoptions...................................................................59 Table18.SIPOPTIONStagproposalforLTE........................................................................60 Table19.EndUserConfirmationRequestXSD....................................................................62 Table20.EndUserConfirmationResponseXSD .................................................................63 . Table21.EndUserConfirmationAcknowledgementXSD...................................................63 Table22.RCSeadditionalpresencerelatedconfigurationparameters...........................125 Table23.RCSeadditionalIMrelatedconfigurationparameters.....................................126 Table24.RCSeadditionalfiletransferrelatedconfigurationparameters.......................127 Table25.RCSeadditionalcapabilitydiscoveryrelatedconfigurationparameters..........128 Table26.RCSeroamingconfigurationparameters..........................................................129 Table27.RCSeenduserconfirmationparameters..........................................................129 Table28.IMSsubtreeassociatedOMACPconfigurationXMLstructure........................130 Table29.PresencesubtreeassociatedOMACPconfigurationXMLstructure................131 Table30.PresenceMOsubtreeadditionpresencenode.................................................131 Table31.PresenceMOsubtreeadditionparameters(usePresence)..............................132 Table32.CapabilityMOsubtreeadditionparameters(presencePrfl).............................132 Table33.XDMSsubtreeassociatedOMACPconfigurationXMLstructure.....................132 Table34.IMsubtreeassociatedOMACPconfigurationXMLstructure..........................133 Table35.IMMOsubtreeadditionIMnode .....................................................................133 . Table36.IMMOsubtreeadditionparameters(imConfFacURI)......................................134 Table37.IMMOsubtreeadditionparameters(imCapAlwaysOn)...................................134 Table38.IMMOsubtreeadditionparameters(imWarnSF)............................................134 Table39.IMMOsubtreeadditionparameters(ftWarnSize)...........................................135 Table40.CapabilitysubtreeassociatedOMACPconfigurationXMLstructure..............135 . Table41.CapabilityMOsubtreeadditioncapabilitydiscoverynode..............................136 Table42.CapabilityMOsubtreeadditionparameters(pollingPeriod)............................136 Table43.CapabilityMOsubtreeadditionparameters(capInfoExpiry)...........................136 Page 8 of151
RCSeAdvancedComms: Servicesandclientspecification Table44.CapabilityMOsubtreeadditionparameters(presenceDisc)............................137 Table45.APNsubtreeassociatedOMACPconfigurationXMLstructure........................137 Table46.APNMOsubtreeadditioncapabilitydiscoverynode .......................................137 . Table47.RoamingMOsubtreeadditionparameters(rcseOnlyAPN)..............................138 Table48.RoamingMOsubtreeadditionparameters(enableRcseSwitch)......................138 Table49.OthersubtreeassociatedOMACPconfigurationXMLstructure.....................139 Table50.OtherMOsubtreeadditioncapabilitydiscoverynode.....................................139 Table51.OtherMOsubtreeadditionparameters(endUserConfReqId).........................139 Table52.RCSeOMACPconfigurationXMLstructure .....................................................140 . Table53.CompleteRCSeOMACPconfigurationXMLstructure.....................................140
Page 9 of151
RCSeAdvancedComms: Servicesandclientspecification
IV.
Documentchangelog
Version 1.0 Date Comments 12/02/2011 VersionreadyforreleasetoGSMA VersionreadyforreleasetoGSMA.Thisisadraft versionpublishedforgeneralreview. 11/03/2011 Pleasenotethefinal1.1versionwillnotcontain major functionality additions or changes of the existingonecomparedtothisdraft. VersionreadyforreleasetoGSMAincorporating the comments received on the previous draft. Thisversionisagainpublishedforgeneralreview. 23/03/2011 Pleasenotethefinal1.1versionwillnotcontain major functionality additions or changes of the existingonecomparedtothisdraft. 06/04/2011 VersionreadyforreleasetoGSMA
Table1.Documentchangelog
1.1finaldraft1
1.1finaldraft2
1.1
Page 10 of151
RCSeAdvancedComms: Servicesandclientspecification
V.
Acronymsandabbreviations
Description SecondgenerationofGlobalSystemforMobileCommunications(GSM) Applicationserver Advancedvideocodec Circuitswitched DynamicHostConfigurationProtocol Dualtransfermode FullyQualifiedDomainName GPRSIMSBundledAuthentication GSMAssociation highdefinitionvoice Instant messaging. The term chat is also applied in this document to the sameconcept. IMapplicationserver InstantMessageDispositionNotification InternationalMobileStationEquipmentIdentity IMSAuthenticationandKeyAgreement InternetProtocol Longtermevolution Mobilenetworkoperator MobileSubscriberIntegratedServicesDigitalNetworkNumber MessageSessionRelayProtocol NetworkAddressTranslation OriginalEquipmentManufacturer Orthogonalfrequencydivisionmultiplex OMAClientProvisioning OMADeviceManagement ProtocolConfigurationOptions ProxyCallSessionControlFunction PacketDataProtocol Packetswitched RichCommunicationSuite RealTimeTransportProtocol SessionDescriptionProtocol SessionInitiationProtocol Shortmessageservice Singlesignon(typeofIMSauthentication) TransmissionControlProtocol TransportLayerSecurity UserDatagramProtocol UniformResourceIdentifier Page 11 of151
Term 2G AS AVC CS DHCP DTM FQDN GIBA GSMA HD IM IMAS IMDN IMEI IMSAKA IP LTE MNO MSISDN MSRP NAT OEM OFDM OMACP OMADM PCO PCSCF PDP PS RCS RTP SDP SIP SMS SSO TCP TLS UDP URI
RCSeAdvancedComms: Servicesandclientspecification VoLTE WiFi XCAP XDM XDMS XML VoiceoverLTE SynonymforWLAN,WirelessLocalAreaNetwork XMLConfigurationAccessProtocol XMLDocumentManagement XMLDocumentManagementServer ExtensibleMarkupLanguage
Table2.Abbreviationsandacronyms
Page 12 of151
RCSeAdvancedComms: Servicesandclientspecification
VI.
Normativereference
Name Documentreference
3GPPTS24.1673rdGenerationPartnershipProject; [3GPPTS24.167] TechnicalSpecificationGroupCoreNetworkand Terminals;3GPPIMSManagementObject(MO) 3GPPTS24.2293rdGenerationPartnership IPmultimediacallcontrolprotocolbasedonSession [3GPPTS24.229] InitiationProtocol(SIP)andSessionDescription Protocol(SDP) [IETFDRAFTSIPCOREKEEP12] IETFSIPCorekeepIETFdraftversion12 [IETFDRAFTSIMPLEMSRP IETFSimpleMSRPseesmatchdraftversion SESSMATCH10] GSMAPRDIR.92IMSProfileforVoiceandSMS1.0 [PRDIR.92] 18March2010 RichCommunicationSuiteRelease1Functional [RCS1FUNDESC] DescriptionVersion2.0 14February2011 RichCommunicationSuiteRelease1Technical [RCS1TECREAL] RealizationVersion2.0 14February2011 RichCommunicationSuiteRelease2Functional [RCS2FUNDESC] DescriptionVersion2.0 14February2011 RichCommunicationSuiteRelease2Management [RCS2MO] ObjectsVersion2.0 14February2011 RichCommunicationSuiteRelease2Technical [RCS2TECREAL] Realization2.0 14February2011 RichCommunicationSuiteRelease2Endorsementof [RCS2OMASIMPLEENDORS] OMASIP/SIMPLEIM1.0Version2.0 14February2011 GSMARCSRelease4Endorsementof[PDRIR92] [RCS4IR92ENDORS] 14February2011 [RFC3261] SIP(SessionInitiationProtocol)IETFRFC TheSecureRealtimeTransportProtocol(SRTP)IETF [RFC3711] RFC [RFC3966] TheTELURIforTelephoneNumbersIETFRFC TheSessionTimersintheSessionInitiationProtocol [RFC4028] (SIP)IETFRFC TheUniversallyUniqueIDentifier(UUID)URN [RFC4122] NamespaceIETFRFC Page 13 of151
RCSeAdvancedComms: Servicesandclientspecification [RFC4961] [RFC5438] [RFC5626] [RFC5627] [RFC6135] [TS24.229] SymmetricRTP/RTPControlProtocol(RTCP)IETFRFC InstantMessageDispositionNotification(IMDN)IETF RFC ManagingClientInitiatedConnectionsintheSession InitiationProtocol(SIP)IETFRFC UsingGloballyRoutableUserAgentURIs(GRUUs)in theSessionInitiationProtocol(SIP)IETFRFC AlternativeConnectionModelfortheMessageSession RelayProtocol(MSRP)IETFRFC 3GPPTS24.229:IPmultimediacallcontrolprotocol basedonSessionInitiationProtocol(SIP)andSession DescriptionProtocol(SDP);Stage3
Table3.Normativereference
Page 14 of151
RCSeAdvancedComms: Servicesandclientspecification
1. Introduction
The purpose of this document is to provide the detailed specifications that shall complement the current RCS Release 2 specification in order to set the initial reference implementationoftheRCSeservices. This initial implementation has been named RCSe Advanced Communications as it focusesonthecommunicationsserviceaspectsoftheGSMARCSRelease2specification. Buildingonestablishedinteroperabilityprincipleswithinthemobileoperatorecosystem, thisspecificationprovidesfurtheroptimisationoftheRCSRelease2specificationinorder to accelerate time to market and simplify the customer proposition, Figure 1. This renewedfocusisbasedonresultsfromcustomertrialstodateandabetterunderstanding ofwhereoperatorscanfurtherenhancetheirdatanetworkofferingtodelivermorevalue tocustomersandcomplementestablished3rdpartyservices. Thecurrentdocumentdoesnotdetailthesocialinformationviapresence1functionality describedintheRCSRelease2specification.However,anoperatorcandecidetolaunch RCSeserviceincludingboththeRCSsocialpresenceinformationdefinedinRCSRelease2 specificationinadditiontotheadvancedcommunicationsservicesdefinedinthepresent document. Both parts shall coexist within a device implementation if requested by an operator.
Not part of the RCS-e compliance
To be incorporated into the standard
Figure1.RCSepositioning
BythistermwearereferringtothesetoffunctionalitiesdefinedintheRCSRelease1and2specifications andpresentedin[RCS1FUNDESC]insectionsfrom2.1.2to2.1.6.
Page 15 of151
RCSeAdvancedComms: Servicesandclientspecification
FutureRCSeservices Imageandvideoshare(+voice) Filetransfer(+IM/chat)
Figure2.RCSeIndustryPropositionextendingthecommunicationsstack
ExtendingthecommsstackintheIPworld
Figure3.RCSecapabilitydiscovery
CapabilitydiscoveryviaOPTIONS
Page 16 of151
RCSeAdvancedComms: Servicesandclientspecification
1.3 Conformance
The minimum conformance to the RCSe specification can be achieved by a terminal providing the necessary functionality to support both the capability and new user discovery based on SIP OPTIONS message (covered in detail in sections 2.3.1 and 2.4.1 respectively)plustheIM/chatfunctionality(coveredindetailinsection3.2). Therestofservicescoveredinthepresentspecificationareoptional,ensuringthatRCSe cantargetlowenddevicesand,therefore,boostthemarketpenetrationcurve. The terminal conformance to RCSe specification can be summarized in the following terms2: All the necessary procedures to provision and register with the core network elements(e.g.IMS,RCSAS,etc.)SHALL2besupported Capability/serviceandnewuserdiscoveryviaSIPOPTIONSandANONYMOUSfetch mechanism (covered in detail in sections 2.3.1, 2.3.2 and 2.4.1) SHALL2 be supported IM/chatfunctionality(coveredindetailinsection3.2)SHALL2besupported File transfer, image share and video share functionality (covered in detail in sections3.3and3.4)MAY2besupported. o The motivation behind making these services optional is to facilitate the penetrationofRCSeservicesinallthehandsettiersand,ultimately,aRCS ehandsetSHALL2trytosupportallthefeasibleRCSeservicestakinginto accounttherelevanthardwareandsoftwarelimitations. PleasenotethatinanycaseaMNOimplementingRCSeSHALL2providetheRCS filetransfer,imageshareandvideosharefunctionalityatnetworklevel. Pleasealsonotethatalthoughoutsidetheconformanceandconsistentlywithsection1.1, aRCSeterminalMAY2alsobesupplementedwiththesocialinformationviapresence 3 featuresasdefinedintheGSMARCSRelease2specifications.
Page 17 of151
RCSeAdvancedComms: Servicesandclientspecification
Page 18 of151
RCSeAdvancedComms: Servicesandclientspecification
The minimum set of client settings is presented in the following tables: The first table coverstheparametersreferringtotheIMSregistrationwhilethesecondfocusesinRCSe specific parameters. Please note all the parameters described the configuration can be only modified by the MNO (via MNO customization settings or one of the procedures describedinsection2.2.2.1.2)anditisnotaccessibletotheterminaluser: Configuration parameter SIPproxy XDMserver TELURI SIPURI Comments PCSCFaddress(IP:portor FQDN:port) XDMSaddress(IP:port) UsersTELURI RCSeusage Mandatory Parameter Mandatoryparameter
(ItismandatoryandbecomesrelevantonlyifUSE PRESENCEissetto1)
Optionalparameter
UsersSIPURI
Mandatoryparameter4
When using GIBA, the temporary public identity used for IMS registration is built according to the proceduredefinedin3GPPTS24.229(itdoesnotrelyontheSIPURIandTELURIconfigurationparameters). OnlyoneoftheSIPURIorTELURIconfigurationparametermustbeconfigured.Theconfiguredparameter isusedtoselecttheURIwhichmustbeusedbytheRCSeclientduringnonREGISTERtransactions When using Digest, a SIPURI must be configured. This URI is used for REGISTER and nonREGISTER transactions.
Page 19 of151
Table4.SummaryofIMSregistrationrelatedconfigurationparameters
Comments
RCSeusage
ThisistheparametercontainingtheURIfortheIM server. The parameter is optional and if not IM configured,meansthattheMNOisnotdeployingan CONFERENCE IMserver.ConsequentlyfeaturesrequiringIMserver FACTORYURI (i.e. 1tomany chat) will not be available for those customers. Thisparameterconfigurestheclienttosupportstore and forward when presenting the IM capability status for all the contacts. If set to 1, the IM capability for all RCSe contacts will be always IMCAP reported as available. Otherwise (0), the capability ALWAYSON willbereportedbasedonthealgorithmpresentedin section2.7. For example, this can be used in MNOs that are implementing the store and forward functionality forIM Incase,IMCAPALWAYSONissettoenabled(useof store and forward), anew parameter is used called IMWARNSFforUIpurposeonly. IMWARNSF If IM WARN SF parameter is set to (1) then, when chatting with contacts which are offline (Store and Forward), the UI must warn the user of the circumstance(e.g.messageonthescreen). Otherwise (0), there wont be any difference at UX level between chatting with an online or offline (StoreandForward)user. This is frequency in seconds to run a periodic capabilitiesupdateforallthecontactsinthephone address book whose capabilities are not available (e.g. nonRCSe users) or are expired (see CAPABILITYINFOEXPIRYparameter. Pleasenotethatifsetto0,thisperiodicupdateisno longerperformed.
Optional Parameter
Optional parameter
(ItismandatoryifIM CONFERENCEFACTORY URIisset)
Optional parameter
(ItismandatoryifIM CONFERENCEFACTORY URIissetandIMCAP ALWAYSONissetto1)
POLLING PERIOD
Mandatory parameter
Page 20 of151
RCSeAdvancedComms: Servicesandclientspecification WhenusingtheOPTIONSdiscoverymechanismand with the aim of minimizing the traffic, a timestamp willbekepttogetherwiththecapabilityinformation fetched using options. When performing a whole addressbook capability discovery (i.e. polling), an OPTIONSexchangetakesplaceonlyifthetimesince thelastcapabilityupdatetookplaceisgreaterthan thisexpirationparameter This parameter allows enabling or disabling the presencerelatedfeaturesonthedevice.Ifsetto0, presenceisdisabled,ifsetto1,presenceisenabled and the parameters related to presence defined in [RCS2_MO]apply. This parameter allows enabling or disabling the usageofcapabilitiesdiscoveryviapresence.Ifsetto 0,theusageofdiscoveryviapresenceisdisabled.If set to 1, the usage of discovery via presence is enabled.Thisparameterwillconsequentlyinfluence the inclusion of the associated tag to presence discoveryinOPTIONSexchanges. This parameter allows enabling or disabling the usageofthesocial information via presence.Ifsetto 0, the usage of the social information via presence featureisdisabled.Ifsetto1,thesocial information via presence feature is enabled. This parameter will consequently influence the inclusion of the associated tag to social information via presence in OPTIONSexchanges. As described in section 2.10, the user shall be able configuretoallowordisallowRCSeand/orinternet trafficinthehandsetsettings. If this parameter is set to 1, the setting is shown permanently. Otherwise it may (MNO decision) be onlyshownduringroaming. This is the reference/identifier to the APN configuration which should be used to provide PS connectivity ONLY to RCSe as described in section 2.10. ThisisafiletransfersizethresholdinKBtowarnthe userthatafilemayendupinsignificantcharges. Please note that if set to 0, the user will not be warned. ThisisafiletransfersizelimitinKB.Ifafileisbigger thanFTMAXSIZE,thetransferwillbeautomatically cancelled. Pleasenotethatifsetto0,thislimitwillnotapply.
CAPABILITY INFOEXPIRY
Optional parameter
(Itismandatoryif POLLINGPERIODissetto avaluegreaterthan0)
USEPRESENCE
Mandatory Parameter
PRESENCE DISCOVERY
Optional parameter
(Itismandatoryand becomesrelevantonlyif USEPRESENCEissetto1)
PRESENCE PROFILE
Optional parameter
(Itismandatoryand becomesrelevantonlyif USEPRESENCEissetto1)
ENABLERCSE SWITCH
FTMAXSIZE
Page 21 of151
RCSeAdvancedComms: Servicesandclientspecification ENDUSER CONFREQID This is identity used for sending the end user confirmationrequest.
Table5.SummaryofRCSeclientconfigurationparameters
Optional Parameter
Please note the detailed information on the extended managed objects for RCSe is coveredinANNEXA:Extensionstothedatamodel. Afterconfiguration,theclientisreadytoregisterwiththenetworkforthefirsttime.Once this registration is completed, the user is able to access the RCSe services. These configuration options could also be updated afterwards by the MNO by pushing new configurationdocumentusingOMADM. Finally,pleasenotethatwiththeaimofreducingthecomplexity,thePCSCFaddressused by the RCSe client is selected from the list in the IMS Management Object. The other autoconfiguration mechanisms (e.g. based on DHCP; based on the PCO info received duringPDPcontextactivation)areleftoutofthescopeofthisspecification.AnMNOmay request an OEM to implement such functionality as a customization, however, the validationofthisfunctionalitywillremainoutsideoftheRCSecompliance.
2.1.1 RCSeclientconfigurationstorage
TheRCSeand,toextend,theIMSconfigurationshouldbestoredsecurelyinthehandset andshouldnotbeaccessibletotheuserunlessexpressrequirementofaparticularMNO. ItshouldbenotedthatapreconditiontoprovideaccesstotheRCSefunctionalityshould bethatallthemandatoryparametersdescribedinsection2.1(Table5)mustbecorrectly configured. In the case any of the parameters is not configured or configured with an unexpectedvalue,theRCSefunctionalityshouldbedisabledandinanycasepresentedor accessibletotheuser(i.e.thephonebehavesasitwouldbeanonRCSeenabledphone). In this state, the RCSe functionality can be only restored by completing the firsttime registration procedure (see section 2.2.2.1; the firsttime registration includes the RCSe clientconfigurationusingoneoftheproceduresdescribedinsection2.2.2.1.2). If a RCSe configured device is reset, the RCSe client should securely back up the configuration in the device together with the associated IMSI prior to the reset. Please note that this also applies in the event of swapping SIM cards. The configuration associatedtotheoldSIMshouldalsobesecurelybackedupbeforetriggeringafirsttime registration. ThemotivationbehindtheRCSeconfigurationbackupistofacilitatethescenariowhere followingaresetorafteraSIMswap,theoriginalSIMcardisreintroducedinthedevice. Insteadtriggeringafirsttimeregistration,theRCSeconfigurationisrestored. Inthoseterminalswheretheprocessesmentionedinthepreviousparagraphs(reset,SIM card swap),the terminal also deletes the contacts (e.g. for example aparticular MNO is enforcing this sort of policy where a SIM swap causes the deletion of the contacts), the associatedRCSeinformation(i.e. cachedcapabilitiespercontactand RCSecontactlist) Page 22 of151
As part of the registration process, the network provides a validity period for the registration (SIP expire time). If the client is to remain registered after the registration validityperiodexpires,itmustregisteragain. Finallynotethatapreconditiontoregisteristhatallthemandatoryparameterspresented inTable4andTable5shouldbecorrectlyconfigured.InadditiontothisandifRCSeisthe onlyIMSbasedfunctionalityavailableonthephone(i.e.nootherIMSserviceslikeVoIP areincorporated),thepreconditionisextendedtoalsohaveallthemandatoryparameters presentedinTable5correctlyconfigured.
2.2.1 Additionalmessageauthentication
Depending on the network configuration, other SIP messages (apart from SIP REGISTER) mayalsorequireauthentication.Thereareseveralauthenticationmechanismsthatcanbe considered: SSO/GIBAauthentication(transparenttotheterminalasitishandledbytheMNO corenetwork) IMSAKAauthentication Digest(user/passwordauthentication)
For simplicity the present specification does only require terminals to implement digest authentication(requiredforsomeWiFiscenarios)andSSO/GIBA(duetothelowerimpact on the terminal/client side). An MNO may request to add additional authentication mechanisms as a customization, however this functionality is outside the scope of this specification and, consequently, the associated verification is outside the RCSe conformance. Page 23 of151
RCSeAdvancedComms: Servicesandclientspecification Itshouldbenotedthatinthefollowingsectionsdiagramsandwiththeaimofincreasing the readability, we have assumed that SSO/GIBA authentication is successful when accessingthroughthePSnetworkand,asmentionedbefore,digestauthenticationisused whenaccessingoveranonPSnetwork(i.e.WiFiscenarios). InadditiontotheSIPmessages,XCAPexchangesbetweentheclientandtheXDMSserver may also require authentication. For simplicity, mobile operator networks may use the sameusercredentialsandauthenticationmechanismforbothXCAPandSIPmessages.
2.2.2 Registrationprocessandscenarios
2.2.2.1 Firsttimeregistration TheassumptionsinthiscasearethatuserAhasbeenalreadyprovisionedtoaccessthe RCSeservices(e.g.thetariffincludestheservice)howeverhe/shehasneverusedaRCSe enabledphonebefore. Prior to the registration, it is necessary to provision the user on the network (known as auto provisioning) and to configure the client with the right settings. Once the auto provisioningandclientconfigurationhascompleted,thefirsttimeregistrationprocedure takesplace.Oncetheclientisprovisioned,thefirststepisregisterandtofindthesubset amongtheexistingcontacts(ifany)whoarealsoRCSeusers.
Page 24 of151
AUTOPROVISIONINGANDCONFIGURATIONPROCESS
AttachestotheMNOnetwork The network detects the pair (MSISDN and IMEI), verifies that it is a RCS provisioned (i.e. tariff) user and that the IMEIisaRCSenabledphone ProvisionIMSandRCSASaccounts SendclientconfigurationviaOMADM/OMACP
SIPREGISTER
Restartre registration timer
OPTIONSmessage mechanism.We areassumingUser BisREGISTERED, UserCisNOT REGISTEREDand UserDisNOTan RCSeuser.UserC andDarenot addedtothelistof RCSeusers
SIP200OK
Startpollingtimer
Figure4.Firsttimeregistrationsequencediagram
Note that if the terminal is configured to handle presence related functionality (USE PRESENCE set 1 as presented in Table 5), this process will be used to identify those contactssupportingthesocialinformationviapresenceandthecapabilitydiscoveryvia presence functionalities. Additionally and provided the capability discovery via presence functionality is enabled (see PRESENCE DISCOVERY parameters in Table 5), the terminal
Page 25 of151
RCSeAdvancedComms: Servicesandclientspecification should also update the XDMS list of RCSe contacts supporting this functionality as presentedinFigure15. Inthepreviousdiagramwehavereferencedserviceprovisioningandconfiguration. When the handset is powered on, the network may be able to identify that the user/handset pair shall use RCSe services and, as a consequence, trigger the relevant handsetconfiguration.Thetriggeringprocessisnetworkspecificandoutsidethescopeof thisspecification. Analternativetothisautomatedmechanismcouldbeamanuallytriggeredconfiguration (e.g.requestedbyanoperatorinastore).
2.2.2.1.1 Additionalfirsttimeconfigurationscenarios
Inadditiontothescenariodescribedintheprevioussection(firsttimetheuserregisters withtheIMSnetwork),thereareseveraladditionalscenarioswheresamesequence applies: When the customer changes to another RCSe enabled device: In this case, the sequence is identical with the only difference that the IMS provisioning (i.e. provisionIMSandRCSASaccounts)isnotrequiredasitwasperformedbefore. WhenthecustomerchangestheSIMcard:Inthiscase,thesequenceisidenticalto theonedescribedintheprevioussection. A configuration update implying changes in the users IMS identity (i.e. TELURI and/orSIPURI). A configuration update implying changes in the capability discovery mechanism: Aspresentedlaterinthedocument,switchingthecapabilitydiscoverymechanism parameterautomaticallytriggersthesameprocessdescribedinAnnexA(section A.2)asacomplementtotheRCSRelease2managedobjects.
2.2.2.1.2 Autoconfigurationmechanisms
This specification contemplates three alternative mechanisms in other to perform the autoconfigurationoftheRCSefunctionalityinterminals: OMADM5: This is the same mechanism proposed for RCS and based on the managedobjectconfigurationproposedinAnnexA,sectionA.2. OMACP 6 : This is an alternative mechanism (considering OMADMas thepreferredstandard mechanism for RCSe) based on the OMACP specific configurationproposedinAnnexA,sectionsA.2andA.3
Although the previous mechanisms are preferred, the RCSe specification proposes an alternative optional mechanism which can be requested by a MNO (i.e. during customization)withthefollowingmaingoals: Reducingcomplexity(OMADMimplementationcanberelativelycomplex)
Page 26 of151
The new mechanism is based on a HTTP (HTTPS) request made by the handset to a configurationservertogettheconfigurationdata: Every time the handset boots, there is an initial HTTPS request to the RCSe configurationservertogetthecurrentconfigurationsettingsversion Incasetheversionsdonotmatch,theserverwillincludeaconfigurationXMLwith allthesettings.ThisconfigurationXMLwillbeidenticaltotheoneusedinOMACP (contentsarecoveredindetailinAnnexA,sectionsA.2andA.3). Ifitisnecessarytoforceareconfiguration(e.g.SIMcardswap),thehandsetwill reset the version value to 0 (the server configuration shall always have a value biggerthan0). If the MNO has to disable the RCSe functionality from a handset/client, the responsewillbeanemptyXMLsettingtheversionto0. Thedetailedontheexchanges(e.g.formatemployedfortherequests)arecovered below:
Thisalternativeconfigurationmechanismworksonthefollowingpreassumptions: Asasecuritymeasureandtomakesurethenetworkcanimplementthenecessary procedurestoresolvetheusersMSISDN(i.e.RADIUSrequests,headerenrichment, etc.), the configuration can only take place if connected using an MNO PS data networkand,therefore,thehandsetshouldhavethenecessaryAPNconfiguration toperformtheconnection. FromtheUXpointofview,thecustomerisnotawareoftheconfigurationprocess (i.e.backgroundprocesswithnopopupsornotificationsshownonthescreen).
Itshouldalsobenotedthatthismechanismalsocontributestoreducethecomplexityof theautodetectionmechanismbecausethehandsetwillproactivelyrequestanupdateof theconfigurationsettingseverytimethehandsetisrebooted. request: Initial HTTPS UEUser/ClientA MNOCoreNW RCSe Phone Client configserver Logic Logic Bootupcompleted HTTPSREQUEST (https://config.<mcc><mmc>.rcse?vers=1)
Figure5.RCSealternativeconfiguration:Initialrequest
Page 27 of151
RCSeAdvancedComms: Servicesandclientspecification The version of the configuration currently available on the handset is passed as GETparameterintherequest(vers=<versionnumber>;pleasenotetheversionis either 0 or a positive integer). If the configuration is damaged, nonexistent or followsaSIMchangetheversionnumberissetto0. Thehandsetshalluseastandardqualifieddomaintomaketheresponse: o https://config.<mcc><mmc>.rcse(e.g.https://rcseconfig.24423.com). Consequently, the MNO DNS will resolve this private domain into the RCSe configurationserverIPaddress. RCSeconfigurationserverresponse:
Figure6.RCSe configuration:
HTTPS200OK (containsconfigXML)
ParseXML,apply configuration
IftheMNOwouldliketodisabletheRCSefunctionalityfromahandset/client,the responsewillbeaXMLcontainingonlytheversionsetto0:
Page 28 of151
RCSeAdvancedComms: Servicesandclientspecification
<?xml version="1.0"?> <wap-provisioningdoc version="1.1"> <characteristic type="VERS"> <parm name=version value=X/> </characteristic> </wap-provisioningdoc> Table7.RCSealternativeconfigurationemptyXML(resetRCSeclient)
If not, the response will contain a configuration XML (i.e. contenttype text/xml) configurationthattheclientneedstoparseandapply: o TheXMLformatisidenticaltotheoneuseforOMACPconfiguration(see Annex A, sections A.2 and A.3) with a new parameter addition to include theversion:
<?xml version="1.0"?> <wap-provisioningdoc version="1.1"> <characteristic type="APPLICATION"> <parm name="APPID" value="RCS-e"/> </characteristic> <characteristic type="VERS"> <parm name=version value=X/> </characteristic> <characteristic type=IMS> </characteristic> <characteristic type=APPAUTH> <parm name=AuthType value=X/> <parm name=Realm value=X/> <parm name=UserName value=X/> <parm name=UserPwd value=X/> </characteristic> <characteristic type=PRESENCE> </characteristic> <characteristic type=XDMS> </characteristic> <characteristic type=CAPDISCOVERY> </characteristic> <characteristic type=APN> </characteristic> <characteristic type=OTHER> </characteristic> </wap-provisioningdoc> Table8.RCSealternativeconfigurationXMLstructurebasedonOMACP
Page 29 of151
RCSeAdvancedComms: Servicesandclientspecification 2.2.2.2 Registration UserAisprovisionedforserviceandthefirst/timeregistrationhasalreadytakenplace. TheuserwasnotregisteredisnowtryingtoperformaregistrationusingPS,andtherefore assumingthatSSO/GIBAauthenticationisavailable: UEUser/ClientA MNOIMSCore MNOCore RCSAS Phone Client NW PS XDMS Logic Logic Phoneconnectedto InternetviaPSanditis notRCSregistered SIPREGISTER SIP200OK(expiryvalue providedbytheIMSCore) Restartreregistrationtimer ONLYIFENABLEDVIA CONFIGURATION Thepublicationonlyhappensif theUSEPRESENCEparameteris set1(seeTable5) SIPPUBLISH(capabilities) SIP200OK Registrationcompleted
Figure7.RegistrationfromofflineoverPS(assumingSSO/GIBA)
Iftheinitialauthentication(SSO/GIBA)fails(i.e.theMNOequipmentdoesnotsupportit or the user is trying to register via WiFi), the client must then retry using digest authentication(USER+PASSWORD).
Page 30 of151
RCSeAdvancedComms: Servicesandclientspecification UEUser/ClientA Phone Logic Client Logic WiFiorPS NW MNOIMSCore RCSAS
PS XDMS
Phoneconnectedto InternetviaWiFi
SIPPUBLISH(capabilities) SIP401UNAUTHORISED
Figure8.RegistrationfromofflineoverWiFiorPSnetworkswithoutSSO/GIBAauthenticationsupport
Pleasenotethatinthesamescenariosandprovidedtheterminalisconfiguredtohandle presencerelatedfunctionality(USEPRESENCEset1aspresentedinTable5),itshouldbe notedthat: The publication shall follow the procedures defined in [RCS1TECREAL] 7 and [RCS2TECREAL] 8 (e.g. use of the defined Servicedescriptions and the PublishTimerexpirytimer). XCAPexchangesshallanywaysupportXCAPexchangesaccordingtotheprocedure defined in [RCS1TECREAL] and [RCS2TECREAL] and authentication parameters definedin[RCS2TECREAL]).Inadditiontothis,theXDMSexchangesmayalsouse the same security mechanism based on digest authentication using the same parametersasforSIPmessages:
7 8
RichCommunicationSuiteRelease1TechnicalRealization2.0,14February2011 RichCommunicationSuiteRelease2TechnicalRealization2.0,14February2011
Page 31 of151
RCSeAdvancedComms: Servicesandclientspecification UEUser/ClientA Phone Logic Client Logic WiFiorPS NW MNOIMSCore RCSAS
PS XDMS
Figure9.XCAPexchangeswhenusingdigestauthentication
2.2.2.3 Reregistration User A is already registered, however registration expires (timer since last registration reaches the expiry value provided by the network). In this case, the client needs to re register following the flow presented below. Please note for simplicity, in the following diagramwehaveassumedthatSSO/GIBAauthenticationisavailable. UEUser/ClientA MNOIMSCore MNOCore RCSAS Phone Client NW PS XDMS Logic Logic Registrationtime expires SIPREGISTER SIP200OK(expiryvalue providedbytheIMSCore) Registrationcompleted,restart reregistrationtimer
Figure10.Reregistration
Page 32 of151
RCSeAdvancedComms: Servicesandclientspecification 2.2.2.4 Deregistration UserAisregisteredhoweverbasedonthephonelogic,theconnexiontotheserviceisno longerpossible.Amongthepossiblereasons,wehavelistedthemostrelevant: poweringdown,batterylow, UEUser/ClientA MNOIMSCore MNOCore RCSAS Phone Client NW PS XDMS Logic Logic OSdetectsrelevant condition Clientisnotified (event)detects relevantcondition SIPREGISTER(exp=0) SIP200OK Clientsend terminationsignal toOS
Figure11.Deregistration
2.2.2.5 Registrationstatusandavailablecapabilities In case the registration process is not successful or following a deregistration, the user shouldnotbeabletoaccessanyRCSeserviceandallRCSecontactsservices/capabilities shallbereportedtotheuserasnotavailableindependentlyofanysetting(e.g.theIMCAP ALWAYSONsettingpresentedinTable5 isignored). 2.2.2.6 Registrationfrequencyoptimization RCSe client shall not send more register request than what is needed to maintain the registrationstateinthenetwork.WhentheIPconnectivityislostandrestoredwiththe sameIPaddress,theRCSeclientshall: only send a register refresh upon retrieval of IP connectivity if the duration for sendingaregisterrefreshsincethelastregisterhasbeenexceeded, onlysendaninitialregisteruponretrievalofIPconnectivityiftheregistrationhas expired,and, notsendderegisterrequestuponimminentlossofIPconnectivity.
Page 33 of151
RCSeAdvancedComms: Servicesandclientspecification
2.3.1 CapabilitydiscoveryprocessthroughOPTIONSmessage
TheprimaryandmandatorymethodforcapabilitydiscoveryisbasedontheSIPOPTIONS message,apeertopeermessageexchangedbetweenclients. WhenaSIPOPTIONSmessageissentfromUserAtoUserB,UserAwillreceiveoneof3 typesofresponse: 1) User B is Registered and the response from User Bs client will comprise CAPABILITY STATUS the set of services currently available (using tags as describedinsection2.3.1.1). Note the response must contain, at least, the RCSe IM tag (+g.3gpp.iari ref="urn%3Aurn7%3A3gppapplication.ims.iari.rcse.im"). If it is contained there,theresponsewillbeequivalenttothecasepresentedbelowinbullet 3.
2) If User B is currently not registered (e.g. phone is off), then the network will respondwithoneofthefollowingmessageerror:480TEMPORARILYUNAVAILABLE (gracefulderegistrationtookplace)or408REQUESTTIMEOUT. 3) If User B is not provisioned for RCSe the network will respond with a message error:404NOTFOUND9. Notethatfromauserexperienceperspectiveresponse2)10and3)arethesameandno RCSeserviceswillbeshowntoUserAasavailabletocommunicatewithUserB. TheSIPOPTIONSmessageshallbesentinthefollowingscenarios: post first time registration to obtain the registration state and default set of capabilitiesforeachcontactinthephoneaddressbook(noteoneSIPOPTIONSis sent per IMS identity [i.e. TELURI/MSISDN or SIPURI] stored in the address book)11, whenanewcontactisaddedtothephoneaddressbook, periodically (frequency determined by the POLLING PERIOD parameter as presented in section 2.1 Table 5) to all the contacts in the phone address book whose capabilities are not available (e.g. nonRCSe users) or are expired (see CAPABILITYINFOEXPIRYparameterinsection2.1Table5forreference),
Pleasenotethattheresponseprovidedmaydependonthenetworkconfiguration.Abetterapproachfor theterminalistoparsetheresponseandifitisnoteithera200OKcontainingthecapabilitiesasfeature tags,a480TEMPORARILYUNAVAILABLEora408REQUESTTIMEOUT,thetargetusershouldbeconsidered as nonRCS. For simplicity, the present document assumes in the following sections that the response providedbytheMNOcorenetworkisalways404NOTFOUND,however,thepreviousstatementshouldbe takenintoaccount. 10 Please notethat inthiscase if IM CAPALWAYSON(see Table 5) is enabled, the IM/chat should still be reportedtotheuserasavailableeventheotherendisnotregistered. 11 PleasenoteacontactmayhaveseveralMSISDNsorassociatedSIPURIs.TheclientwilluseALLtheusers MSISDNs/SIPURIstosendSIPOPTIONSmessages.Ifitisdiscoveredthatmorethanoneoftheassociated TELURIs/SIPURIs are IMS provisioned, each will be treated as a separate RCSe user. For example, if displayingthelistofRCSecontacts,twoormoreentriesforauserwillbeshown(JohnSmithmobileand JohnSmithhome),sotheusercanchoose.
Page 34 of151
RCSeAdvancedComms: Servicesandclientspecification whenacontactsprimaryMSISDNismodified oranewMSISDNisadded(where users have several subscriptions and each subscription is potentially associated withaRCSeaccount), when checking the available RCSe services/capabilities to communicate with anotheruser(e.g.fromtheaddressbookandcalllog), attheestablishmentvoicecalltoobtaintherealtimecapabilitiesforthecallorIM sessionprovidedthishasnotbeenperformedbefore(seepreviousbullet), during a voice call, file transfer or IM session when the relevant available capabilitieschange,and, whenthereisacommunicationsevent(text,email,callorIM)withanotheruserin theaddressbook.
Please note that in some cases it is not required because the options exchange just happened shortly before the communication takes place (e.g. to send the SMS, the user went to the addressbook, selected a user [options exchange takes place] and choosestosendaSMS). UEUser/ClientA Phone Logic Client Logic MNOCore NW MNOIMSCore RCSAS
PS XDMS
Figure12.CapabilitiesdiscoveryviaSIPOPTIONSmessage
2.3.1.1 SIPOPTIONSmessageextensiontosupportcapabilitydiscovery The RCS (Release 1 and 2) specifications only provide a mechanism to exchange the capability status (based in SIP OPTIONS exchange) regarding to image and video share servicesduringacall.Thismechanismisbasedintheuseoftagscontainedtransportedin theAcceptcontactandContactheadersfortheSIPOPTIONSanditsresponses:
Page 35 of151
RCSeAdvancedComms: Servicesandclientspecification The tags corresponding to the set of functionalities supported by the requesting terminal at the time this request is made are carried in both the Contact and AcceptcontactheadersoftheSIPOPTIONSmessage. Thetagscorrespondingtothesubsetofthefunctionalitiesthataresupportedby thereceiverareincludedintheContactheaderofthe200OKresponse.
In order to support the full service discovery functionality consistently presented in this document, it is necessary to extend the tag mechanism by performing the following changes: Thereisoneuniquetag(+g.oma.sipim)traditionallyassignedtotwoservices(IM andfiletransfer).NeverthelessandinordertobothuniquelyidentifyRCSeclients and provide per service capability granularity the following changes are introduced: o +g.3gpp.iariref="urn%3Aurn7%3A3gppapplication.ims.iari.rcse.im" tag is usedONLYtoidentifytheRCSeIMservice12,and, o +g.3gpp.iariref="urn%3Aurn7%3A3gppapplication.ims.iari.rcse.ft" tag is definedtouniquelyidentifyfiletransferservice RCSe service IM/Chat Filetransfer For those clients supplementing the RCSe functionality with the social informationviapresence 13 functionality(i.e.thePRESENCEPROFILEparameteris setto1;seeTable5),anewtagisdefinedtorepresentsuchfeatures: Tag +g.3gpp.iariref="urn%3Aurn7%3A3gppapplication.ims.iari.rcse.im" +g.3gpp.iariref="urn%3Aurn7%3A3gppapplication.ims.iari.rcse.ft"
Table10.AdditionaltagstocovertheremainingRCSeservices
Although the RCSe IM service is based and endorses the OMAIM definition, it comes with some customizations and additional functionalities which makethe potential interaction with standard OMAIM clients nonideal from the UX point of view. Consequently, a new tag has been defined to signal that differences and distinguish the RCSe IM service for nonRCSe clients supporting the standard OMAIM functionality. 13 By this term we are referring to the set of functionalities defined in the RCS Release 1 and Release 2 standardsandpresentedin[RCS1TECREAL]insectionsfrom2.1.2to2.1.6.
12
Page 36 of151
RCSeAdvancedComms: Servicesandclientspecification o The +g.3gpp.iariref="urn%3Aurn7%3A3gppapplication.ims.iari.rcse.sp" tagidentifiesthecontactssupportingthesocialinformationviapresence features. Forthoseclientswillingtoimplementadiscoverymechanismbasedonpresence (i.e.thePRESENCEDISCOVERYparameterissetto1;seeTable5),independently onwhetherthesocialinformationviapresencefunctionalityissupportedornot, anewtagisdefined: o The +g.3gpp.iariref="urn%3Aurn7%3A3gppapplication.ims.iari.rcse.dp" tagidentifiesthecontactssupportingcapabilitydiscoveryviapresence. RCSeservice IM/Chat Filetransfer Imageshare Videoshare Socialpresence information Capability discoveryvia presence Tag +g.3gpp.iariref="urn%3Aurn7%3A3gppapplication.ims.iari.rcse.im" +g.3gpp.iariref="urn%3Aurn7%3A3gppapplication.ims.iari.rcse.ft" +g.3gpp.iariref="urn%3Aurn7%3A3gppapplication.ims.iari.gsmais" +g.3gpp.csvoice +g.3gpp.iariref="urn%3Aurn7%3A3gppapplication.ims.iari.rcse.sp"
+g.3gpp.iariref="urn%3Aurn7%3A3gppapplication.ims.iari.rcse.dp"
Table11.CompleteSIPOPTIONStagproposalforRCSe
Please note that the new tags defined in this section should be ONLY employed for SIP OPTIONSexchangesandthatthestandardtagsshouldbeusedtoidentifytheservicesin the rest of relevant SIP transactions (i.e. +g.oma.sipim for chat/IM). Note also that the +g.oma.sipimfeaturetagmayalsobelistedduringthisOPTIONSexchange. 2.3.1.2 Futureextensionstothemechanism InadditiontothementionedadditionsandtoallowaMNO(orgroupofMNOs)todeploy additional services which can also benefit from the RCSe discovery mechanism, an additionaltagformatisdefined: +g.3gpp.iariref="urn%3Aurn7%3A3gpp application.ims.iari.rcse.<operatorID>.<servicename>"14 Validexamplesare: o +g.3gpp.iariref="urn%3Aurn7%3A3gppapplication.ims.iari. rcse.OR.serviceA" o +g.3gpp.iariref="urn%3Aurn7%3A3gppapplication.ims.iari. rcse.TEL.serviceB"
14
Page 37 of151
RCSeAdvancedComms: Servicesandclientspecification o +g.3gpp.iariref="urn%3Aurn7%3A3gppapplication.ims.iari. rcse.TI.serviceC" o +g.3gpp.iariref="urn%3Aurn7%3A3gppapplication.ims.iari. rcse.DT.serviceD" o +g.3gpp.iariref="urn%3Aurn7%3A3gppapplication.ims.iari. rcse.VF.serviceE" Please note the operatorID and the serviceName are up to each MNO choice. The only requirement for a MNO following this approach is to include these tags in the relevant interoperabilityagreementswithotherMNOstoavoidanyinteroperabilityissues. RCSeservice Operator specificservice Tag +g.3gpp.iariref="urn%3Aurn7%3A3gppapplication.ims.iari. rcse.<operatorID>.<servicename>"
Table12.SIPOPTIONStagproposalforfuturelinesofwork
Please also note a set of LTE specific tags have been defined as part of the RCSe specificationandarecoveredindetailinsection2.12.2. 2.3.1.3 SIPOPTIONSexchangeoptimisations Aspresentedinsection2.3.1,thereareseveralscenarioswheretheSIPOPTIONSmessage hastobeusedtoupdatethecapabilities.Dependingonthecircumstancesandusecases, there could be occasions where the OPTIONS message exchange may happen relatively often(i.e.veryfrequentGPRSbearerchanges). Toavoidtheoverheadandincreasetheefficiency,theclientmayimplementamechanism tothosesituationswheretheOPTIONSmessageexchangehappenstoooften.Examplesof howthismechanismcanbeachievedarelistedbelow: Introduceadegreeofhysteresis(i.e.acapabilitiesupdateissent/requestedonly whenthecircumstanceswhichledtothechangeremainstableforacertainperiod oftime). Implementavaliditytimer(i.e.ifthelatestcapabilitieswehavewerefetchedless thanXsecondsago,theyarestillconsideredasvalid).
Please note this spec does not specify the specific mechanisms which should be implemented leaving space to OEMs and third parties to drive innovative and differentiatedsolutions,whichdifferentiatestheirproductsfromcompetitors. 2.3.1.4 UIintegrationoptimisations In addition to the optimizations to minimize the traffic generated by the SIP OPTIONS exchanges when possible, there are two additional optimizations related with the discoverymechanismintegrationontheUIthatshouldbetakenintoaccount: The round trip time for a SIP OPTIONS exchange (send and receive response) is expectedtorangevaluesunder1second.Takingthisintoaccount,theUIhastobe optimizedtominimizetheimpactofthisexchangedelay.
Page 38 of151
RCSeAdvancedComms: Servicesandclientspecification When sending the SIP OPTIONS messages to several users (e.g. first time registration or when polling), it is recommended to employ a nonaggressive strategyandallowingtimebetweeneachexchangeto: o Minimizepotentialnetworkimpact o Avoidanyimpactontheuserexperience(e.g.slowerUI,blockings,etc.)
Please note that again in this case this spec does not specify the specific mechanisms whichshouldbeimplementedleavingspacetoOEMsandthirdpartiestodriveinnovative anddifferentiatedsolutions,whichdifferentiatestheirproductsfromcompetitors. 2.3.1.5 SIPOPTIONSandmultidevicesupport Ultimately, the choice of supporting multidevice is up to each individual MNO. The considerations contained in this section will only apply to those operators willing to includeRCSemultidevicesupportintheirnetworks. In a multidevice scenario, when the user is registered on the IMS CORE with different devicesusingthesameIMSidentity(i.e.TELURIorSIPURI),theOPTIONSexchangewill returnincompleteinformation: The capabilities contained in the OPTIONS message refer only to the originating device(i.e.theoriginatingusermaybeloggedinwiththesameTELURIinseveral devices). TheIMSCore,dependingontheconfiguration,eithersendstheOPTIONSmessage to the first registry in the IMS CORE or forks the OPTIONS to all the registered devices. In any case, only the first response is passed back to the requester, discarding the others. In other words, the capabilities returned in the OPTIONS responsewillbetheonesfromonlyoneofthedevicesoftheuser.
ThepreferredimplementationforhandlingtheOPTIONSinamultideviceenvironmentis leftupMNOdiscretionwiththeonlyrequirementthatitshouldnothaveimpactonthe terminal side (i.e. no changes on the client side). A possible solution for extending the OPTIONSmechanismtoamultidevicescenarioistoincludeacustomApplicationServer implementingthefollowinglogic: AtriggerwillbesetupintheIMSCOREtosendalltheOPTIONSfromanRCSeuser totheAS. The AS will fork the OPTIONS request to all the user registered devices and will aggregateallthecapabilitiesreturnedintooneOPTIONSresponsemessageincase theforkingisnotalreadyimplementedbytheIMScorenetwork. Once the responses from the different multidevices are received, the AS will aggregateallthecapabilitiesfromtherepliesandsentthembacktothecaller. Evennotallthereplieshavebeenreceivedinlessthanaconfigurableamountof time (note the recommendation is to set the value to optimise the UX on the terminal)theASwillreturntheaggregatedinformationreceivedsofar.
In order to implement this feature, an application server should be able to uniquely identifyeachuserdevicetoperformtheforkingoftheOPTIONSmessageandtointercept
Page 39 of151
RCSeAdvancedComms: Servicesandclientspecification andprocesstheresponses.Themechanismtohavetheseindividualidentities(GRUU)is coveredinsection2.14. WhilemultidevicesupportisanitemlefttoeachMNOtodecidewhetheritissupported ornot,theRCSecapabilitydiscoverymechanismbasedontheSIPOPTIONSmessageisa mandatory requirement and the behaviour will be the one specified before to ensure seamlessinterworkingbetweenMNOs.
2.3.2 Capabilitydiscoveryviapresence15
InadditiontotheSIPOPTIONSmechanismdefinedinsection2.3.1,theMNOdeployinga presenceservermayprovidethecapabilitydiscoverymechanismviapresenceasdefined insection4of[RCS1TECREAL]andsection6of[RCS2TECREAL]. ThismechanismcanbeusedbyaclientwhosePRESENCEDISCOVERYparameterhasbeen set to 1, and only with contacts who have been identified as RCSe capable as per the proceduredefinedinsection2.4.1,andwhohaveindicatedthesupportofdiscoveryvia presence(i.e.the+g.3gpp.iariref="urn%3Aurn7%3A3gppapplication.ims.iari.rcse.dp"tag wasincludedeitherintheOPTIONSmessageorresponse). Please note the contact will be also added to an XDM list of contacts supporting this feature so it is possible to optimize future capability polling as described in section2.3.2.1.
Effectively, the RCSe client needs to have the necessary functionality to distinguish between contacts who support the presence capability discovery and those who do not (e.g.storingitasapropertyintheaddressbook). As a reference, the capability discovery mechanism via presence (based on capabilities publicationandanonymousfetch)ispresentedbelow: Each client supporting the capability discovery via presence will publish its capabilitiesonthepresenceserver(SIPPUBLISH)whenregistering When querying, the client polls each one or more contacts (list) capability status using the SIP ANONYMOUS SUBSCRIBE requests with an expiry time of 0 and processingtheNOTIFYresponses. The NOTIFY response contains the capabilities as described in the RCS Release 2 datamodel16.
15
It is assumed that the operator implementing this mechanism has a policy where the RCS service capabilitiescanbefetchedviaanonymoussubscribe.Otherwise,thismechanismcannotbeimplemented. 16 [RCS2TECREAL],Section4.2
Page 40 of151
RCSeAdvancedComms: Servicesandclientspecification
UEUser/ClientA Phone Logic Client Logic MNOCore NW MNOIMSCore RCSAS
PS XDMS
SIPOPTIONS(userB)
SIP200OK(capabilitiesuserB, Includes+g.3gpp.app_ref="urn%3Aurn7%3A3gpp application.ims.iari.rcse.im"tag)
NexttimeUserB capabilitiesare checked
Figure13.CapabilitiesdiscoveryviaPRESENCE
2.3.2.1 EnhancingANONYMOUSSUBSCRIBEmechanismwithXDMSlists The standard mechanism can be enhanced by using a XDMS list of all the contacts supportingthepresencebasedcapabilitydiscoverymechanismintheAddressBookand subscribing once to the list instead of one SUBSCRIBE per contact. This will return an aggregated NOTIFY message instead of several message making the mechanism more efficient, particularly in those scenarios where the whole contact list status/capabilities mustbequeried. Inthisparticularscenario,itisrelativelylikelythattheterminaladdressbookmayalready containseveralcontacts,therefore,generatingaXDMSlistatthistimeanduseittoquery, reducestheamountofmessagesexchangedwiththepresenceserver. For the scope of this document it is considered that the XDMS list mechanism enhancementisimplementedandused.
Page 41 of151
RCSeAdvancedComms: Servicesandclientspecification In order to keep this list updated, when a new contact is added to the phonebook it is necessarytoevaluatewhetherisanRCSecontactusingthestandardcapabilitydiscovery basedonSIPOPTIONS. Finally note that a new contact may come from different sources and, therefore, the mechanism described in the following sections applies to all the scenarios presented below: Addedmanuallybytheuser Synchronizedvia3rdpartyserversorPC ReceivedviaBluetoothorhandlingaVCARDfilereceived,forexampleviaemail
2.4.1 DiscoveryviaOPTIONSmessage
TheSIPOPTIONSmessagecanbeemployednotonlytodeterminethecapabilitiesbutalso to identify whether a contact is or not an RCSe user, independently whether he/she is registeredatthetimethequeryisperformed. WhenaSIPOPTIONSmessageissentfromUserAtoUserB,UserAwillreceiveoneof6 typesofresponse: 1) User B is Registered and the response from User Bs client will comprise CAPABILITY STATUS the set of services currently available (based on tags as describedinsection2.3.1.1).Therefore,ifthisresponseisreceivedandatleastthe RCSe IM service tag (+g.3gpp.iariref="urn%3Aurn7%3A3gpp application.ims.iari.rcse.im")isincluded,theuserisidentifiedasaRCSeuser. 2) IfUserBiscurrentlynotregistered(e.g.phoneisoff,outofcoverageorroaming with data services disabled), then the network will respond with one of the following error messages: 480 TEMPORARILY UNAVAILABLE (graceful deregistration took place) or 408 REQUEST TIMEOUT. From the user discovery pointofview,thisresponseisignored: IfuserBwaspreviouslyidentifiedasanRCSeuser(i.e.optionsmessageor a complete 200 OK response with the capabilities was received from him/herbefore),itwillremainlikethat. Otherwise,theuserwillremainasanonRCSeuser
3) If User B is not provisioned for RCSe the network will respond with a message error: 404 NOT FOUND17. Therefore, if this message is received, the user is identifiedasanonRCSeuser.
Pleasenotethattheresponseprovidedmaydependonthenetworkconfiguration.Abetterapproachfor theterminalistoparsetheresponseandifitisnoteithera200OKcontainingthecapabilitiesasfeature tags,a480TEMPORARILYUNAVAILABLEora408REQUESTTIMEOUT,thetargetusershouldbeconsidered as nonRCS. For simplicity, the present document assumes in the following sections that the response providedbytheMNOcorenetworkisalways404NOTFOUND,however,thepreviousstatementshouldbe takenintoaccount.
17
Page 42 of151
RCSeAdvancedComms: Servicesandclientspecification 4) Inadditiontothis,ifaSIPOPTIONSisreceivedandatleasttheRCSeIMservicetag (+g.3gpp.iariref="urn%3Aurn7%3A3gppapplication.ims.iari.rcse.im") is included, the sender is identified as an RCSe user. In this particular case, when user B receivestheOPTIONSmessagewithcapabilitiesfromuserA,userBidentifiesuser AasanRCSeuser. 5) IfUserBwasidentifiedasaRCSeuserandtheresponsetotheOPTIONSmessage indicatesthatUserBisnolongeraRCSeuser(nolongerprovisionedasdescribed in the previous bullet point 3 or the RCSe IM tag [+g.3gpp.iariref="urn%3Aurn 7%3A3gppapplication.ims.iari.rcse.im"] is no longer included), user B should be identifiedasanonRCSeuserand,consequently,removedfromthelistofRCSe whichismaintainedinthehandsetordevice. 6) PleasenotethereisapossibilityaRCSeuserwhoisnotwithintheaddressbook contactsmaysendOPTIONSmessagesorresponses(e.g.whenreceivingacallor making a call using a MSISDN not included in the contacts). In this case the capabilities shall be stored temporarily in the terminal for one of the following purposes: Use the value during a subsequent IM/chat, file transfer or call (image/videoshare),and, To add the information to the new contact (both the fact that it is a RCSeuserandthecachedcapabilities)incasetheuserdecidestoadda newaddressbookentryfollowingacommunication.
To illustrate the behaviour, the following example is provided. User A is registered and decidestoaddormodifyanewcontactwhichresultsinanewIMSidentityforthecontact (e.g. new MSISDN which implies a new TELURI). As a consequence, the client needs to verifywhetherthecontactisanRCSeuserand,therefore,addittothelisttheterminal maintains.
Page 43 of151
RCSeAdvancedComms: Servicesandclientspecification UEUser/ClientA Phone Logic Client Logic MNO Core NW MNOIMSCore RCSAS
PS XDMS
Neworupdatedcontact Checkcapabilities/status
SIPOPTIONS (userAcapabilities)
IfthenewcontactisanRCS/IMS provisionedandhe/sheisregistered, wereceivethecapabilities
SIP200OK (capabilitiesnewcontact)
SIP480TEMPORARILYUNAVAILABLE/SIP408REQUEST TIMEOUT
Figure14.Adding/Editingacontact
Aspartofthecapabilities,thisprocesswillidentifythosecontactssupportingthesocial information via presence and the "capability discovery via presence" functionalities. Pleasenotethat: ifthePRESENCEDISCOVERYissetto1(seeTable5),theclientshouldalsoupdate theXDMlistofRCScontactssupportingthisfunctionalitywiththenewlyidentified contactssupportingthecapabilitydiscoveryviapresencefunctionality. if the PRESENCE PROFILE is set to 1 (see Table 5), the client may use the proceduresrelatedtotheexchangeof"socialinformationviapresence"definedin [RCS1TECREAL] with the newly identified contacts supporting the "social informationviapresence"functionality.
Page 44 of151
RCSeAdvancedComms: Servicesandclientspecification UEUser/ClientA Phone Logic Client Logic MNO CoreNW MNOIMSCore RCSAS
PS XDMS
Additionally, it should be noted that if User A is NOT registered at the time the new contact(s)areadded,theterminalshouldkeepthenecessaryinformationinthephoneso thenexttimetheRCSeclientcompletestheregistrationprocessdescribedinFigure14 and,ifapplicable,Figure15.
18
Please note this is a traffic optimization to reduce the amount of SIP OPTIONS messages generated by capabilitypolling
Page 45 of151
RCSeAdvancedComms: Servicesandclientspecification UEUser/ClientA Phone Logic Client Logic MNOCore NW MNOIMSCore RCSAS
PS XDMS
Pollingtimerexpires
Restartpollingtimer (OnlyifPOLLINGTIMER>0)
Figure16.CapabilitiespollingviaOPTIONSmessage
Wepreviouslymentionedthatforclients/terminalsconfiguredwithPRESENCEDISCOVERY set to 1 (see Table 5) , an XDM list may be maintained containing those contacts supporting the capability discovery via presence. This list can be used to employ the anonymousfetch(ANONYMOUSSUBSCRIBE)mechanisminsteadofOPTIONS. Page 46 of151
RCSeAdvancedComms: Servicesandclientspecification
UEUser/ClientA Phone Logic Client Logic MNOCore NW MNOIMSCore RCSAS
PS XDMS
Pollingtimerexpires
RLSresponse(cached)
SIP200OK
Restartpollingtimer (OnlyifPOLLINGTIMER>0)
Figure17.Capabilitiespollingviaanonymousfetch
Please note that an RCSe client should support both individual and aggregated NOTIFY responses19.
Depending on the networkconfiguration,only the firstnotification (RLS) may be the only one received willbereceivedbytheRCSeclientwithasubscriptionwithExpiryHeadervaluesetto0.Thedialoginthis IMS core is suppressed so the second notification will not be received by the RCSe client. So if the first notificationispartialandifwedon'treceivethesecondnotification,wepotentiallylostcapabilitiescontacts information. Thisproblematicrequiresfurtherstudyandwillbeaddressedinfutureversionsofthespecification. Page 47 of151
19
RCSeAdvancedComms: Servicesandclientspecification Finally, and as a summary of the capability and new user discovery mechanism compositionthefollowingdiagramisprovided.
FIRSTTIMEREGISTRATION (performedonly followinganOMADM/OMACPreconfiguration)
USEPRESENCE=0 USEPRESENCE=1
REGISTER
SendOPTIONStoall contacts
CREATEXDMSLIST<list>
USEPRESENCE=0
STANDARDREGISTRATION (restofregistrationscenarios)
USEPRESENCE=1
REGISTER
REGISTER
PUBLISH<CAPABILITIES> ADDING/MODIFIYNGACONTACT
USEPRESENCE=0 USEPRESENCE=1
SendOPTIONSto new/modifiedcontacts
USEPRESENCE=0
PERIODICCAPABILITYPOLLING(POLLINGPERIOD>0)
USEPRESENCE=1
OPTIONS(forcontactsnotsupporting
capabilitydiscoveryviapresenceand notinasocialpresencerelationship, andprovidecapabilitieshavenotbeen recently)
ANON.SUBSCRIBE<list>
(PRESENCEDISCOVERY =1)
Thegreenboxesrepresentmandatoryprocedures,meanwhiletheclearboxesrepresentoptional procedures.
20
Page 48 of151
RCSeAdvancedComms: Servicesandclientspecification
Themanagementofcontactssupportingthe"socialinformationviapresence"shallfollow the procedures defined in [RCS2TECREAL] and [RCS1TECREAL]. As such, the contacts withwhomtheuserhasestablishedasocialpresencerelationshipshallbeaddedtothe "rcs"listdefinedinsection4.4.2of[RCS1TECREAL].Ascapabilitiesarealreadyprovided viapresenceforthemembersofthe"rcs"list,theyshouldbeexcludedfromtheXDMlist definedinsection2.4.1
Please note that by the term social profile information, we are referring to all the related features present in RCS Release 2 which allow a user to create a social profile information, invite users to share, declare hyperability state and receive updates based on RCS presence functionality. Please note this functionalityiscoveredintheRCSRelease1specs,FunctionalDescriptionv2.0([RCS1FUNDESC]),sections 2.1.2,2.1.3and2.14. 22 PleasenotethatthepresentspecificationallowsthedeploymentofRCScommunicationserviceswithout theneedforapresenceserverandtheassociatedXDMservers,therefore,thepresentspecificationprovide thenecessaryguidancetosecureinteroperability.
21
Page 49 of151
RCSeAdvancedComms: Servicesandclientspecification Connectivitystatus:CertainservicesmayrequirecertainlevelofnetworkQoS.For example, streaming video over a 2G GPRS does not provide the adequate user experience.
Asasummary,pleasefindthetablebelow: SERVICE chat filetransfer (FT) TERMINALandSTATUS REQUIREMENTS None Minimumthresholdof freespacetostorefiles DATABEARER 2G Y EDGE Y 3G Y Y HSPA Y Y WiFi Y Y
Minimumthresholdof freespacetostorefiles. Theterminalshouldbe onanactivecall23with Imageshare theusertheimageis willingtobesharedwith. Notavailablein multipartycalls. Supportvideoprofile (encoding/decoding). Videoshare Theterminalshouldbe (separate onanactivecall24with en/decoding) theusertheimageis willingtobesharedwith. Itisnotavailablein multipartycalls.
Y25
Y26
Table13.RCSeservicesHWanddatabearerrequirements
Inthiscontext,thetermactivecallisusedtoindicatethatavoicecallistakingplacewiththeuserthe imageissharedwithandthatthiscallisnotonhold,waitingorforwarded/diverted. 24 Inthiscontext,thetermactivecallisusedtoindicatethatavoicecallistakingplacewiththeuserthe videoissharedwithandthatthiscallisnotonhold,waitingorforwarded/diverted. 25 In this case both ends may share video simultaneously meaning that there is a possibility to have a bi directional flow of video (see the other partys video while I am also sharing video with him/her). The meaningisthatifauserisalreadysharingvideowiththeotherend,theotherusermaydecidetoalsoshare videosimultaneously,notthatthetwowaysvideosharecanstartsimultaneously.
23
Page 50 of151
RCSeAdvancedComms: Servicesandclientspecification When referring to bidirectional video share, we mean that once user A is sharing video withuserBandprovidetherightcoverageconditionsareinplace,userBcouldalsostart tosharevideowithAsimultaneously.Inthiscaseeachvideosharesessionisindependent andshouldbehandledseparately. Pleasenoteinthetablebeforeandforalltheservicesitisassumedthat: Thephoneisworkingadequately.Intheeventtheterminaldetectsanissuethat prevent one or more services fromoperating, the relevantcapabilities should be reportedasnotavailable. Thereisenoughbattery:Somephonesmaypreventusingsomeoralltheservices when the battery level achieves certain level. In this situation, basic and emergencyfunctionalityshouldbeprioritised. ThephoneisregisteredandisabletoaccessIMS/RCSecorenetworkandrelevant servers.
Forclarificationpurposesandinadditiontothepreviousones,thefollowingassumptions aremadefortheimageandvideosharecases: Boththesharingandreceivingendareinacall(CS)betweenthem Thecallisnotamultipartycall Thecallisnotonhold Thecallisnotwaiting Acallforwardordivertisnotinplace Inotherwords,therelevantimageandvideosharetagsdescribedinsection2.3.1.1SHALL beincludedonlyif: 1. theOPTIONSexchangehappenswhentheuserisonanactivecall,and, 2. the destination (sending OPTIONS) or the requester (receiving an OPTIONS messagewhichhastoberepliedwitharesponse)istheotherendoftheactivecall. Asaconsequenceoftheinformationpresentedabove,aRCSeclientwhichisregistered will at least support chat. Note that while capability exchange is reciprocal, User A and UserBscapabilitiesmaybedifferentandservicesshallbemadeavailableaccordingly(e.g. AmaysupportvideoencodeandBmaysupportdecode,butbothneedtobeunder3Gor betterdatacoveragefortheservicetowork). In addition to the information presented above, we should take into account that some terminalsdonotsupport2GDTM(dualtransfermode).Forthatdevicesandprovidethey areusinga2Gdatacoverage(meaningthatnoservicesareavailableduringthecall),the PSconnectionwillautomaticallydroponcetheyengageonaCScall.
2.7.1 CapabilityExtensions
ThedefaultsetofRCSecapabilitiesisdescribedinsection2.3.1.1(onepertagdescribed inTable11),however,giventheextensibilityoftheserviceframeworkfurthercapabilities may be added (i.e. following the proposal given in Table 12 or agreeing more common servicesandtheassociatedtagsinfutureversionsofthespecification).
Page 51 of151
RCSeAdvancedComms: Servicesandclientspecification
2.7.2 IMstoreandforward
As presented in Table 5 (IM CAP ALWAYS ON), there is the possibility to configure the clienttoassumethattheMNOwillbeprovidingtheIMstoreandforwardfunctionality, whichbasicallyconsistonstoringthemessageswhicharesenttouserswhoareoffline(i.e. nodataconnectivityorphoneoff)atthetimethechatmessageissent. Ifthisparameterisenabled,thereisanimpactfromtheIMcapabilitywhichispresented totheuser. Asaconsequence,wehave4differenttypesofcontactsforIMcapability: ID Targeted contactisRCS eIMcapable? NO YES ProviderMNO supportsStore& Forward? N/A NO Targetedcontact isconnectedto thenetwork? Norelevant NO ImpactonstartingIM IMneverpossiblewith thatcontact Notpossibletostartan IMatthattime PossibletosendanIM thatwillbedelivered laterbytheStoreand Forwardserverassoon astheContactis connected IMispossibleand messagesare immediatelydelivered
1 2
YES
YES
NO
YES
Norelevant
YES
Table14.Storeandforwardpossiblescenarios
Thestoreandforwardfunctionalityandbehaviourontheclientiscontrolledbyacouple ofconfigurationparameters(seeTable5forfurtherreference): IMCAPALWAYSON: o When an operator implements store and forward, all its RCSe customers willhavetheIMCAPALWAYSONissettoenabled.ThismeansthatallRCS econtacts(currentlyregisteredornot)arepresentedwiththeIMserviceas available(3and4accordingtoTable14). o When store and forward is not implemented by the MNO, all its RCSe customerswillhavetheIMCAPALWAYSONconfigurationparameterisset todisabled(2and4accordingtoTable14). As a summary: IM CAP ALWAYS ON is enabled when store and forward is used, otherwiseitisdisabled Additionally and assuming IM CAP ALWAYS ON is enabled, there is an second parameter,IMWARNSF,whichcanbeusedtocontroltheUXbehaviour: Page 52 of151
RCSeAdvancedComms: Servicesandclientspecification o IfIMWARNSFparameterisenabled:Inscenarios3and4,theusershallbe awarethatmessagesdeliveredtounregistereduserswillbeonlydelivered oncetheotherpartyisbackonline(e.g.switchesthephoneonorgetsback incoverage). o If IM WARN SF parameter is disabled, there shall not be any visible differencebetweenscenarios3and4fromtheUXpointofview.Inother words, the user shall not be aware on whether the messages are being storedordirectlydeliveredtotheotherparty.
2.7.3 Videointeroperability
Aspresentedinsection2.7,thevideoshareserviceavailabilityismainlydependentonthe network coverage. This is based on the assumption that both ends (source and destination)sharetheabilityofhandlingacommonvideoformatandspecificprofile. InordertoguaranteetheinteroperabilityofallRCSeduringthevideosharescenario,all RCSe devices supporting the video share service shall, at least, support the following videoformat: Videoformat:H.264/MPEG4Part10//AVC(AdvancedVideoCoding) o H.264Profile:BaselineProfile(BP) o H.264Level:1b Please note that it is recommended to support additional video formats providing differentlevelsofqualityandtousetheminanadaptivefashiondependingbothonthe terminalstatusandthenetworkconditions/coverage. IncaseaRCSeterminalsupportsseveralprofiles,thefinalchoiceshouldbebasedinthe outcomeoftheSDPmedianegotiationwherebothends(senderandreceiver)willpresent thesupportedvideoformatsatthatparticularpointintime(i.e.takingeachdeviceand network/connectivitystatus).
MSRPoverTLSorIPSec
Page 53 of151
Table15.RCSerecommendedprotocols
ItisrecommendedthatRCSeclientssupportbothSIP/UDPandSIP/TCPasthechoiceof theSIPtransportprotocolsusedtotransportthesignallingdatabelongstoeachMNO. Regarding the impact of NAT traversal in the different protocols involved in RCSe, the followingconsiderationsshallbetakenintoaccount: RegardingSIPprotocol: o CRLF keepalive [IETFDRAFTSIPCOREKEEP]27support is MANDATORY when SIP/TCPorSIP/TLSisusedbytheRCSeclient. o STUNkeepalive[IETFDRAFTSIPCOREKEEP]supportisRECOMMENDEDwhen SIP/UDPisusedbytheRCSeclientasitallowsnetworkcapacityoptimization. o RCSeclientusingSIP/UDPandnotsupportingsipcorekeep: SHALL support symmetric signalling (i.e. IP/port used to send SIP messagesisthesameastheoneusedtoreceiveSIPmessages). SHALLperformTCPswitchoverforlargeSIPmessages. MSRPsessions,theRCSeclientSHALLsupport: [RFC6135]28 [IETFDRAFTSIMPLEMSRPSESSMATCH]29 Regarding NAT traversal of RTP sessions, the RCSe client should implement the mechanismdescribedinsection2.8.1.
The support of TLS based or IP Sec based protocols to secure the signalling and media exchanges is RECOMMENDED particularly for those scenarios where the data has to be carriedoveranetworkoutsidetheMNOdomain(i.e.WiFiaccess).Atthetimethisspecis published, this functionality is left as optional and how interoperability between RCSe clientandMNOcanbeachievedisleftforfurtherstudies.
2.8.1 RTPandNATtraversal
Aspresentedintheprevioussection,aRCSeclienthastoimplementseveralmechanisms to avoid the negative impact of NAT traversal, which can both occur when connecting over: PS:Mainlyduetothe scarceofIPv4publicaddressesandproxyingperformedat APNlevel,or,
26 27
Page 54 of151
InordertocombatthenegativeeffectsofNATtraversalontheRTPprotocol,theRCSe clientshouldimplementthefollowingmechanisms: SHALL support a keepalive mechanism in order to open and maintain the NAT binding alive regardless of whether the media stream is currently inactive, send only, receiveonly or sendreceive. Possible standard keepalive mechanisms are STUNkeepalive(asper3GPPTS24.229)orempty(nopayload)RTPpacketwitha payloadtypeof20(asper3GPPTS24.229). SHALL use symmetric media (i.e. use the same port number for sending and receiving packets) as defined in [RFC4961]30mechanism which is summarized below: o When an invitation for video share is received and accepted, the 200 OK responsecontainsaSDPbodycontainingallthenecessaryfields(including thedestinationport)forthesendertosendtheRTPpackets. o Immediately after sending the 200 OK response, the receiver will send a keepalivepacketbacktothesendertosecurethemediapath: Thesourceportshallbeidenticaltotheoneincludedinthemfield oftheSDPpayloadinsidethe200OKresponse. Thedestinationportshallbeidenticaltotheoneincludedinthem fieldoftheSDPpayloadinsidetheSIPINVITEmessage. o Thesendershouldallowenoughtimeforthemediapathtobesecured.
PrivateIP (IPa) Public IP (IPm) PrivateIP (IPb)
UserA (sender)
IMSCore (Mediaproxy)
UserB (receiver)
SHALLuseRTCP.
30
Control
Protocol
(RTCP)
IETF
RFC
is
available
at
Page 55 of151
RCSeAdvancedComms: Servicesandclientspecification Please note that for readability purposes, the procedures described in this section have notbeenincludedinthediagramscoveringvideosharefunctionalityinsection3.3.
2.9.2 DeviceIncomingSIPRequest
2.9.2.1 From/PAssertedIdentity For device incoming SIP requests, the address(es) of the contact are, depending on the typeofrequest,providedasaURIinthebodyofarequestorcontainedinthePAsserted Identityand/ortheFromheaders.IfPAssertedIdentityispresent,theFromheaderwill beignored.TheonlyexceptionstothisrulearewhenthePAssertedIdentitymatchesthe one defined for the store and forward notifications or the one used for incoming group chat invitations, in which the Referredby header should be used to retrieve the originatinguserinstead. The receiving client will try to extract the contacts phone number out of the following typesofURIs: TEL URIs (for example tel:+1234578901, or tel:2345678901;phone context=<phonecontextvalue>) SIP URIs with a user=phone parameter, the contacts phone number will be provided in the user part (i.e. sip:+1234578901@operator.com;user=phone or sip:1234578901;phone context=<phonecontextvalue>@operator.com;user=phone) Once the MSISDN is extracted it will be matched against the phone number of the contactsstoredintheAddressBook.IfthereceivedURIisaSIPURIbutdoesnotcontain the user=phone parameter, the incoming identity should be checked against the IMS URIaddressofthecontactsintheaddressbookinstead. IncasemorethanonePAssertedIdentityisreceivedinthemessage,allidentitiesshallbe processeduntilamatchedcontactisfound.
Page 56 of151
RCSeAdvancedComms: Servicesandclientspecification
2.9.3 DeviceOutgoingSIPRequest
2.9.3.1 Identificationofthetargetcontact IfthetargetcontactcontainsanIMSURIthevalueshallbeusedbytheRCSeclientwhen generating the outgoing request even if an MSISDN is also present for the contact. This appliestotheSIPRequestURIandtheToheader(asdefinedin[3GPPTS24.229])for1 1communication,aswellastotheURIsusedintherecipientlistincludedinoutgoingSIP requestsforgroupchat. In case no IMS URI is present the RCSe client shall use the telephone number (in local formatforexample0234578901orglobalformat+1234578901)setintheaddressbookor adialstringenteredbytheuser. Incaseofinternationalformattelephonenumber,thedeviceshouldsupportTELURI(for example tel:+12345678901) as defined in [RFC 3966] 31 and SIPURI (for example sip:+12345678901@domain;user=phone) with the user parameter set to "phone" as definedin[RFC3261]32.ThisshouldbeconfigurableonthedeviceaccordingtotheService Provider'srequirementsorconstraintsrelatedtonationalregulatoryframeworkofSIPSIP interconnection(MNOwillprovidethischoiceduringcustomization).Ifnoneoftheabove constraintsapply,theuseofTELURIisrecommendedsincethedomainnameoftheSIP URIisnotsignificant. In case of noninternational format telephone number, the RCSe client should support TELURIandSIPURI(theuserparametershouldbesetto"phone")withaphonecontext value set as defined in [TS 24.229] 33 for home local numbers (for example tel:0234578901;phonecontext=<homedomainname>). Like the international number case, whether a TELURI or a SIP URI is used should be configurable on the device according to the Service Provider's requirements or constraints related to national regulatoryframeworkofSIPSIPinterconnection.Ifnoneoftheaboveconstraintsapply, theuseofTELURIisrecommended. 2.9.3.2 SelfIdentificationtothenetworkandtheaddressedcontact: ForgeneratinganoutgoingrequesttheSIPURIorTELURItheRCSeclientshallsetthe FromheaderandthePPreferredIdentityheaderwiththeSIPorTELURIwhichhasbeen provisioned.IfbothSIPURIandTELURIareconfigured,TELURIshouldbeused. 2.9.3.3 Useralias The user shall be able to specify an alias or name to be used for RCSe services. This informationwillbesentwhenestablishingacommunicationtoanotherusersohecanget moreinformationthanjusttheMSISDNincasetheoriginatinguserisnotinthereceiver AddressBook.Thiscasewillprobablyverycommoninaonetomanygroupchat. ThisaliasinformationwillbesetintheFromheaderoftherequestandretrievedbythe receiver.
31
Page 57 of151
RCSeAdvancedComms: Servicesandclientspecification When receiving a request, the RCSe client device shall follow the rules explained insection2.9.2.1andextracttheMSISDNorSIPURI.Inordertoavoidspamandidentity manipulation,thereceivershallchecktheidentityofthecallinguseragainsttheAddress Book.IftheuserisnotintheAddressBook,thealiasinformationmustbeusedthento providemoreinformationaboutthecallinguserbutclearlydisplayingintheUIthatthe identity is unchecked and it could be false. Otherwise the name of the contact in the addressbookshallbeusedinstead.
Theusershallbeableconfigureto allowordisallowRCSeand/orinternettrafficinthe handsetsettingswhenroamingaccordingtothefollowingalternatives: Datatraffic switch RCSeswitch APNtouse Comments RCSeclientshallnotregisteron theIMSnetwork.Whennot roaming,thisisoptionalanditis uptotheMNOtoshowthis option Standardconfiguration RCSeonlyconfiguration Nodataconfiguration
Enabled
Disabled
InternetAPN
Table16.APNconfigurationproposalfordatatrafficandroaming
Note the RCSe only APN is configured via the RCSE ONLY APN parameter presented in section2Table5. Thisapproachcanbeusednotonlyforroamingbuttoprotecttheuserfromunexpected charges. Therefore, an MNO can decide to display this setting permanently (covering homenetworkscenarios).Thebehaviourofwhethertoshowthesettingpermanentlyis drivenbytheconfigurationparameterENABLERCSESWITCH(seeTable5).Ifenabled,the settingispermanent.Ifdisabled,thesettingisonlyproposedduringroaming. Finallynotethatthedefaultconfiguration(e.g.bothInternetandRCSeenabled)shallbe aconfigurationoptionavailabletoMNOsduringdevicecustomization. Page 58 of151
RCSeAdvancedComms: Servicesandclientspecification
2.10.1 Dataconnectionnotifications
Takingintoaccountboththeregulatoryframeworksapplyingtosomemarkets,itcouldbe necessarytonotifytheuserwhenaPSconnectionisgoingtobeinitiated.Fromthedata connectionnotificationpointofview,therearethreepossibleconfigurations: Setting neverconnect alwaysask
alwaysconnect
Consistently with the configuration switches presented in the previous section (RCSe on/off, data on/off), an RCSe handset shall be able to apply the data connection notification options (described in Table 17) individually to each of the following connections:
Internet home: Standard data connection occurring within the MNO provider homenetwork. Internetroaming:Standarddataconnectionwhenroaming. RCSe home: Data connection required for RCSe occurring within the MNO providerhomenetwork. RCSeroaming:DataconnectionrequiredforRCSewhenroaming
As for the data connection switches presented in section 2.10, it is up to each MNO to decideduringcustomizationonwhether: a) Define the default settings (e.g. always connect for all home connections and alwaysaskforroamingones) b) Definewhetherthedataconnectionnotificationsettingsareshownaspartofthe handset configuration settings (i.e. the user is able to change the notification behaviour)instead.
Page 59 of151
RCSeAdvancedComms: Servicesandclientspecification completed.Weareincludingthissectiontosignaltheintentionofincludingtheoutcome ofthatworkinfuturerevisionsofthisspecification. As a first step and to allow commercialization in those countries with strict privacy regulations, the mechanisms presented in section 2.10 may be also used for privacy purposes,particularly,whentheRCSeswitchismadepermanentlyaccessibletotheuser (i.e. not only for roaming cases) via device (ENABLE RCSE SWITCH configuration parametersetto1;seeTable5forfurtherreference).
2.12.1 LTEandVoiceoverLTE
LTE (Long Term Evolution) is a radio access network based on OFDM (Orthogonal Frequency Division Multiplexing) for the air interface. LTE has been developed in 3GPP (from Release 8 onwards). The key objective of the LTE is to enhance performance and efficiency(e.g.improvingdownlink/uplinkbitrates[Mbps],improvingdownlink/uplinkcell spectrumefficiency(bps/Hz/cell),reducingairinterfacelatency[ms],...). Voice over LTE (VoLTE) ([PDRIR.92]) addresses the support for PS based voice, voice supplementary services and SMS. VoLTE is complementary to RCS in terms of services, sincedealingwithvoiceservices. FinallyitshouldbenotedthatitisintendedforRCSetocomplyto[RCS4IR92ENDORS]34.
2.12.2 LTEcapabilitydiscoveryusingtheRCSe
AcoupleofOPTIONScapabilitytags(seesections2.3.1.1and2.3.1.2forfurtherreference on OPTIONS tags) have been introduced in RCSe to improve the LTE bearer and voice capabilities: Tag +g.3gpp.icsiref="urn%3Aurn7%3A3gpp service.ims.icsi.mmtel" Usage UsedtoindicatethataVoLTEcapable handsetisunderLTEcoverage35
Table18.SIPOPTIONStagproposalforLTE
RCS Release 4 Endorsement of GSMA IR.92 GSMA IMS Profile for Voice and SMS version 1.0 ([PRD IR.92]).Bothdocumentsareavailableatwww.gsmworld.com 35 Consistentlywiththedefinitionpresentinsection5.1.1.2.1of3GPPTS24.229
34
Page 60 of151
RCSeAdvancedComms: Servicesandclientspecification These tags are available for future use and may be used for general or service specific optimizationsalwaysinconjunctionandalignedwiththerelevantLTEspecifications.
2.12.3 LTEandVideosharefunctionality
VideoshareusedoverhighbandwidthconnectionssuchasLTEallowshighbitratebearers, thusallowingbetteruserexperiencee.g.whenusingalargescreen. An RCSe device shall support H.264 video codec with level 1.3 in order to provide 384/768 kbps video over an LTE bearer or over similar high bitrate bearer. Please note thatthisisanadditiontothemandatoryformatH.264profilebaselinewithlevel1b Assumption for use of high bitrate bearer is that connectivity and video parts of both terminalssupportitandhaveLTEorotherhighbitratebroadbandaccess;otherwisethe video bitrate will be reduced to the level 1b (as presented in section 2.7.3) in order to assurecompatibility.
Page 61 of151
RCSeAdvancedComms: Servicesandclientspecification o persistent, the answer shall be returned inside of a new SIP MESSAGE request.Theconfirmationrequestdoesnottimeout. pin:Determineswhetherapinisrequestedtotheenduser.Itcantakeoneofthe following two values: true or false. If the attribute is not present it shall be considered as false. This pin request can be used to add a higher degree of confirmationandcanbeusedtoallowcertainoperationslikeparentalcontrolfor example. Subject:texttobedisplayedasnotificationordialogtitle Text:texttobedisplayedasbodyofthedialog.
Several Subject or Text nodes can be present in the xml body to be able to support multiplelanguages.Incasemoreofoneelementispresentedalanguage(lang)attribute must be present with the two letter language code according to the ISO 6391. RCSe clients shall check the language attribute and display the text data of the element that matches the current language used by the user. In case that there is no language matchingtheuserone,thefirstnodeofSubjectandTextshallbeused. If the type of the confirmation request is persistent the MNO can send an optional acknowledgementmessageofthetransactionbacktotheuserwithawelcomemessage, an error message or further instructions. This acknowledgement message will be encapsulated in an XML body with a payload of type application/enduserconfirmation ack+xmlandreturnedinthe200OKbodyoftheconfirmationSIPMESSAGE. The following table specifies the xsd schema of the xml payload for the end user confirmationrequest:
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xs:element name="EndUserConfirmationRequest"> <xs:complexType> <xs:sequence> <xs:element ref="Subject" maxOccurs="unbounded"/> <xs:element ref="Text" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="id" use="required"/> <xs:attribute name="type" use="required"/> <xs:attribute name="pin"/> </xs:complexType> </xs:element> <xs:element name="Subject"> <xs:complexType> <xs:attribute name="lang"/> </xs:complexType> </xs:element> <xs:element name="Text"> <xs:complexType> <xs:attribute name="lang"/> </xs:complexType> </xs:element> </xs:schema> Table19.EndUserConfirmationRequestXSD
Page 62 of151
Page 63 of151
RCSeAdvancedComms: Servicesandclientspecification
2.13.1 ExampleUC1:Acceptingtermsandconditions
UEUser/ClientA
IMS UI Core A new service is available in the network for the user that requires the user to accept Terms and Conditions. SIPMESSAGE (XML) 200OK The user accepts the conditions SIPMESSAGE(XML) 200OK(optionalXML) Figure20.TermsandConditionUCexample
Client Logic
Service AS
Page 64 of151
RCSeAdvancedComms: Servicesandclientspecification
2.13.2 ExampleUC2:AcceptingExtraCharges
UEUser/ClientA UI Client Logic
The user starts a file transfer
IMS Core
IM AS
UserB
TheIMserverdetectsa special condition that will cause an extra charge If the file transfer is completed andaskfortheenduser confirmation
200OK(XML)
Figure21.ExtraChargeUCexample
Page 65 of151
RCSeAdvancedComms: Servicesandclientspecification
TheObtainingandUsingGloballyRoutableUserAgentURIs(GRUUs)intheSessionInitiationProtocol(SIP) IETFRFCisavailableathttp://tools.ietf.org/html//rfc5627.Pleasenotethisspecalsorefersandincorporate partsofIETFRFC5626http://tools.ietf.org/html//rfc5626. 37 The Universally Unique IDentifier (UUID) URN Namespace IETF RFC is available at http://tools.ietf.org/html//rfc4122.
36
Page 66 of151
RCSeAdvancedComms: Servicesandclientspecification
Page 67 of151
RCSeAdvancedComms: Servicesandclientspecification
3.1.1 Generalassumptions
In the following sections we will be showing the relevant chat message flows and reference user experience (UX). Please note that the following assumptions have been made: For simplicity, the internal mobile network interactions are omitted in the diagramsshowedinthefollowingsections.
Page 68 of151
RCSeAdvancedComms: Servicesandclientspecification
3.1.2 Capabilitiesupdateprocess
The capabilities update process is described in the following diagram. In this case the contact(userB)isaRCSecontactwhichisregistered.Pleasenotethecapabilitiesareonly updatedon1to1chats.Inmultichatsessions,therearenootherservicesavailableand the ultimately responsibility to maintain and report the status of the session is the IM applicationserver. UEUser/ClientA UEUser/ClientB Client Client IMS UI UI Logic Logic Core The user enters in the phone book looking for acontact Theuserselectsacontact.AssoonasthishappensandprovidedthecontactisanRCS ecustomer(informationobtainedviaSUBSCRIBEpolling),thefollowingprocesstake place: 1) Thecachedcapabilitiesareshown 2) Anoptionsmessageissenttotheotherusertoupdateitscapabilities SIPOPTIONS(capabilitiesA) The capabilities for user A are updated in the otherend SIP200OK(capabilitiesB) Oncetheoptionsmessagearrivesandtaking intoaccounttheupdatedcapabilities,thelist ofAdvancedServicesisupdated. In this case file transfer was not available, howeveritisnowshownasavailable
Figure22.Addressbook:Capabilitiesupdate
Page 69 of151
RCSeAdvancedComms: Servicesandclientspecification IfUserBiseithernotaRCSeuseroritisnotregistered,thenetworkprovidesaresponse to the OPTIONS message (404 NOT FOUND, 480 TEMPORARILY UNAVAILABLE/408 REQUESTTIMEOUTrespectively;pleaserefertosection2.3.1forfurtherreference).Inthis case,theUserAsclientassumesthatnoservicesareavailabletocommunicatewithUser B38. UEUser/ClientA UEUser/ClientB Client Client IMS UI UI Logic Logic Core The user enters in the phone book looking for acontact Theuserselectsacontact.AssoonasthishappensandprovidedthecontactisanRCS ecustomer(informationobtainedviaSUBSCRIBEpolling),thefollowingprocesstake place: 1) The list of services based on default capabilities (SUBSCRIBE polling) are displayed. The services which are not available are displayed in grey (like filetransferinthiscase) 2) Anoptionsmessageissenttotheotherusertoupdateitscapabilities SIPOPTIONS(capabilitiesA) SIP480TEMPORARILYUNAVAILABLE/SIP408REQUEST TIMEOUT Because the OPTIONS message fails, the services are listed as not available (greyedout)
Figure23.Addressbook:Capabilitiesupdate(II)
ItshouldbenotedthatinthiscaseifIMCAPALWAYSON(seeTable3)isenabled,theIM/chatshouldstill bereportedtotheuserasavailableeventheotherendisnotregistered.
38
Page 70 of151
RCSeAdvancedComms: Servicesandclientspecification
3.2.1 Generalassumptions
RCSeIM(Chat)isabaselineservice,availabletoanyregistereduser,using[RCS2OMA SIMPLEENDORS]39asaspecificationbasis.Asnewoptionalfeaturesareintroduced(e.g. store and forward, "displayed" notification), some adjustments, clarifications or modifications need to be brought to [RCS2OMASIMPLEENDORS]39. The delta between RCSRelease2IMandRCSeIMarehighlightedinsection3.2.2.
3.2.2 DeltabetweenRCSeandRCSRelease2ontheIMfunctionality
3.2.2.1 FunctionalLevel ThefollowingoptionalnewfeaturesareintroducedinRCSe: storeandforward The deployment of this feature is at the MNO's discretion. This feature requires an IM servertostoreamessagewhenthedestinationuserisnotonlineandsendittotheuser whenhegoesonlineagain(i.e.storeandforward). "displayed"messagedisposition Thisnewdispositionallowsthesenderofamessagetobenotifiedwhenthismessagehas beendisplayedonadeviceofthereceivinguser. Notethatthisnotificationcannotcertifythattherecipienthasactuallyreadthemessage, itcanonlyindicatethatthemessagehasbeendisplayedontherecipient'sterminalUI. LocalBlackList Theterminal/ClientshallsupportalocallystoredIMBlackList.Basicguidanceisprovided insection3.2.4.1. Conversationhistory The terminal/Client shall support a locally stored conversation. The implementation detailsarenotyetcoveredinthisversionofthespecification. UserAlias Auserdefinednamecanbesentwhenestablishingacommunicationwithanotheruser. 3.2.2.2 Technical/ProtocolLevel ComparedtoRCSRelease2,inordertosupportstoreandforwardandmessage disposition,RCSeadds:
39
RCSRelease2EndorsementofOMASIP/SIMPLEIM1.0v2.0availableatwww.gsmworld.com
Page 71 of151
RCSe relies on the support of Instant Message Disposition Notification (IMDN) as defined in [RFC5438]40 to request and forward dispositions of all the exchanged messages. The introduction of these concepts brings modification in the following requests comparedwithRCSRelease2: SIPINVITE o When an IM session is initiated by a Client, the SIP INVITE, still has to convey the message in the "subject" Header. In addition in RCSe, the message has to be replicated in a CPIM/IMDN4142wrapper including the DateTime; MessageID and DispositionNotification header fields. The deviceIDshallbecarriedusingthemechanismsdescribedinsection2.14. o To support the PUSH of stored messages by the store and forward IM Server, the SIP INVITE has to carry a wellknown URI uniquely identifying the store and forward service in the PAssertedIdentity header to allow theClienttoidentifythisspecialrequest(aswellastoassertfortheClient that the request comesfrom a trusted server). In that case, the "subject" headershallnotbeinterpretedbytheClientasamessage.Notethatthe IMServermayusethe"subject"headertocarryotherinformationsuchas thenumberofstoredmessages. o WhenanIMASisdeliveringstorednotificationswiththeaimofsignalling the client that the session has to be autoaccepted, the passertedid headerissettoaknownvalue(rcsestandfw@<domain>). o GRUU(GRUUpublicidentities,pubgruu,aspresentedinsection2.14)will be used to support the Autoacceptance of PUSH of stored notifications. Only the client whose device identifier matches the pubgruu value is Deviceidentificationusingthemechanismsdescribedinsection2.14. Messageidentificationforallmessages(includingthoseconveyedintheSIPINVITE andnotificationsdeliveredviaSIPMESSAGE) AutoacceptanceofstoreandforwardIMServerPUSHofstorednotifications storeandforwardIMServerPUSHofstoredmessages Messagedeliveryanddisplayednotifications
Onlythedevicewhichhassenttherelevantmessageshallacceptthenotification.
The Instant Message Disposition Notification (IMDN) IETF RFC is available at http://tools.ietf.org/html//rfc5438. 41 ItshouldbenotedthataSIPINVITEcarryingaCPIM/IMDNwillindeedhaveamultipartbodybecausea SDPconfigurationisstillrequired. 42 TheCPIM/IMDNwrappershouldbeUTF8encodedtoavoidanypotentialinternationalizationissues.
40
Page 72 of151
RCSeAdvancedComms: Servicesandclientspecification allowed to accept the session. This new request shall also use the well knownURIidentifierinthePAssertedIdentity(rcsestandfw@<domain>)43. SIPMESSAGE RCSereliesonSIPMESSAGErequeststocarrydeliverynotificationsofmessagessent prior the establishment of a media session. Again, the SIP MESSAGE shall carry a CPIM/IMDN42 wrapper including the DateTime; MessageID, DispositionNotification headerfields.Inadditiontothis,itshouldalsocontainthedeliverynotificationfieldto confirm the reception of the message by the other end. The deviceID shall also be transportedbutprotocoldetailsarenotyetdefinedinthisversionofthespecification. The AcceptContact header of the SIP MESSAGE used for IMDN shall carry the +g.oma.sipim feature tag 44 . Again, The deviceID shall be carried using the mechanismsdescribedinsection2.14. TheuseofSIPMESSAGEforPagerModemessagesisstillnotsupported(asitisnot supportedinRCSRelease2). MSRPSEND In RCSe, all messages (IM) are conveyed in CPIM/IMDN42 wrappers,which is strictly forbiddeninRCSRelease2. Whenapplicable,theseMSRPSENDrequestswithCPIM/IMDN42wrappersareusedby the sender to request IMDN 'delivered' and displayed notifications and by the receivertoprovidetheIMDNsamenotifications. Finally,inordertosupporttheuseofaliases,thelimitationaddedin[RCS_IMENDORSE]39 fortheuseofdisplaynameareremovedinRCSe. 3.2.2.3 Deliverynotifications Therearetwopossiblescenariosthatshouldbeconsidered: 1. Delivery notifications associated to messages that have been delivered before a MSRPsessionhasbeenestablished In this case, the mechanism which the receivers client shall use is to send the notification using SIP MESSAGE. More in details, the subject of the message is irrelevanthowevertheCPIM/IMDN42wrappershouldcarrythesamemsgIDcontained in the original message plus an delivered notification as described in [RFC5438] 40 section7.2.1.1. 2. Delivery notifications associated to messages that have been delivered after a MSRPsessionhasbeenestablished
Consequently,thercsestandfw@<domain>valuebecomesreservedandcannotbeusedbyanyidentity. This ensures that initial filter criteria already in place in GSMA RCS R1/R2/R3 environments will route theseSIPMESSAGEstotheOMASIMPLEIMserver.
44
43
Page 73 of151
RCSeAdvancedComms: Servicesandclientspecification In this case, the MSRP SEND message carrying a CPIM/IMDN42 wrapper with a delivered notification as described in [RFC5438]40 section 7.2.1.1 and presented beforeinthissection.AgaintheoriginalmessageCPIM/IMDN42msgidshallbecarried toidentifythemessagethisnotificationisassociatedto. Thesenderclientsideshallsupportbothscenarios,processthedeliverynotificationand displaythisinformationtotheuser.Therecommendationistoshowthisinformationonly withintheIMwindowwithoutaneedforapopuporinformationmessagewhentheuser isoutsidetheIMapplication. Please note that in multidevice scenarios, when a session is set up and delivery notificationsstarttoarriveforstoredmessages,theIMserverneedstoensurethatthey arenotforwardedtothecurrentdeviceintheIMsessionifthatparticipantisnottheright one. 3.2.2.4 Displaynotifications It should be noted that due to privacy issues, the displayed notification is optional meaning the user (receiver) shall have access to a configuration parameter to enable or disablethisnotificationviaUI. Display notifications are always carried using the MSRP SEND message, with a CPIM/IMDN42 wrapper carrying a displayed notification as described in [RFC5438]40 (section 7.2.1.2). Again the original message CPIM/IMDN42 msgid shall be carried to identifythemessagethisnotificationisassociatedto.
3.2.3 Clientassumptions
In the following sections we will be showing the relevant chat message flows and reference user experience (UX). Please note that the following assumptions have been made: For simplicity, the internal mobile network interactions are omitted in the diagramsshowedinthefollowingsections. Each MNO MAY deploy an IM Server (NB IM server is optional in RCSe specifications),tohandleallmessagesfromitscustomers. Priortothechat,theuseraccesseditsaddressbookorIM/chatapplicationtostart the communication. As described before, while these actions are performed an OPTIONS message is sent to doublecheck the available capabilities. In the following diagrams we are assuming that this exchange (OPTIONS and response) have already taken place, and therefore, both ends are aware of the capabilities and, consequently, the available RCSe services. If that is not the case, the OPTIONSmessageshouldbesentatthesametimethechatisbeingsetup. AlltheIMserviceexchangespresentedinthisdocumentfollowtheRCSRelease2 GSMAspecification[RCS2OMASIMPLEENDORS]39regardingclientterminalswith thefollowingdifferences: o Procedures have been introduced to inform the sender about the delivery statusofanIMsentbeforethesessionisestablished(i.e.IMintheSubject headerofaSIPINVITE).TheseproceduresarederivedfromInstantMessage Page 74 of151
RCSeAdvancedComms: Servicesandclientspecification Disposition Notification (IMDN for short) [RFC5438]40 and adapted to the contextofsessionmodeinstantmessaging. The terminal UI must be implemented in a way that the user can clearly distinguishifthemessagehasbeensent(butnotyetreceived),received,or displayed.Inaddition,thetimethemessagewasoriginallysentshallbealso presented. Procedures, based on the IMDN disposition 'displayed' have been introducedatthesendersidetorequest'displayed'notificationsandatthe receiversidetoprovide'displayed'notifications. AStoreandForwardfunctionalitycanbeusedinIMServer.Theprocedures followedbytheStoreandForwardfunctionalityofanIMServerarecovered inANNEXB. Procedures for Multidevice support with Store and Forward mode have been introduced in order to ensure consistent delivery of deferred delivered/displayednotificationstotheintendeddevice.
MNOsupportofthestoreandforwardfunctionalityisoptionalinRCSe.ToallowaMNO to provide store and forward functionality to its customers even in cases where the IM session is established toward an MNO that doesn't support store and forward, the messagesmaybestoredinthesendersIMserver. FromtheUXexperiencepointofview,therearethreepossibleentrypointstothisservice:
Figure24.ReferenceUXforaccessingchatfromaddressbook/calllog
Addressbook/Calllog:chatcanbeinitiatedtoanyRCSecontactwithIMcapability asdescribedin3.2.2.1.
Page 75 of151
RCSeAdvancedComms: Servicesandclientspecification
Figure25.ReferenceUXforstartingachatfromtheIM/chatapplication
Once the IM/chat application is opened, the user will be presented with the complete list of RCSe contacts with IM capability. Contacts which are currently notregisteredwillbeshownornotdependingontheIMstoreandforwardpolicy chosenbytheMNO. Inadditiontothestartanewchatfunctionality,theIM/chatapplicationallows theusertobrowsethechathistory,bothonetooneandonetomanysessions:
Figure26.ReferenceUXforstartingchatfromtheIM/chatapplicationhistory
Filetransfer(receiver):Whentransferringafileandwiththeaimofestablishinga communicationcontextforthetransfer(e.g.thereceivermaywanttoknowwhy thesenderissharingthatfile)andafterthetransferhasbeenaccepted,thefile transfer is presented to the receiver as a chat UX with a file being transferred. Pleasenotethatatthetimethefileispresented,thechatsessionisnotstarted; thechatsessionwillonlystartwhenifthereceiversendsachatmessagebackto thesender.
Page 76 of151
RCSeAdvancedComms: Servicesandclientspecification
Figure27.ReferenceUXfiletransferonthereceiverside
Pleasenotesection3.4coverstheRCSefiletransferserviceindetail.
3.2.4 1to1Chat
A1to1ChatisamessageexchangebetweentwoRCSeusers.Pleasenotethatwherethe specificationdescribestheuserinterface,itshouldbetakenasguidance. 3.2.4.1 Initiatingachat ARCSeuser(A)initiatesachatbyselectingoneofhiscontacts(B)fromtheAddressBook orIM/chatapplicationinhismobilephone,orintheContactListintheBroadbandAccess PCclient. DeviceA(eithermobileorPC)willsendaqueryfortherealtimecapabilitiesofcontactB to ensure the IM service is available for that user at that time. If B is not available and there is no IM store and forward server on A's side and B's side, or if an answer to the queryisnotreceivedinlessthanatimelapse(lefttoOEMUserExperiencecriteria),then thecontactwillbeshownasNotavailableforaChatsession,andSMSservicecouldbe offeredasmessagingoption.OncetheavailabilityoftheIMserviceisensuredendtoend andtheuserperformstheappropriateUIactionsonthedevice,amessagecomposerand anemptychatwindowwillbeopened. WhenuserAtypesthefirstmessageandpressestheSendbutton,deviceAwillinitiate an IM session invitation toward B (for multidevice scenario see Multidevice handling in section 3.2.4.12). The IM session invitation is initiated according to the rules and procedures of [RCS2OMASIMPLEENDORS]39 except that the message should be duplicated in a CPIM/IMDN42 wrapper including the headers requesting an IMDN accordingtodeviceA(ifIMstoreandforwardisenabledontheIMapplicationserverand isabletotherulesandprocedureof[RFC5438]40,seesection3.2.4.11). When the device B receives IM session invitation, it will automatically send a SIP 180 answertowardA(ifsomekindofspamorblacklistisimplementedonthedeviceanduser Aisintheblacklist,theinvitationisrejectedandthemessageisputina'spam'folder).If the received IM session invitation contains an IMDN requesting 'delivered' notification, the device will send back a SIP MESSAGE containing the IMDN indicating successful deliveryofthemessagesentbyAaccordingtotherulesandprocedureof[RFC5438]40.
Page 77 of151
RCSeAdvancedComms: Servicesandclientspecification InthesideB,anotification(UIdependant)willbedisplayedondevicetoinformaboutthe incomingmessage.Theuserwillbeabletoreadthemessageandgotothechatwindow toanswerthemessage. User A can type additional messages before the chat is answered, i.e. before the IM sessionisestablished.TheadditionalIMsessioninvitationsarehandledaccordingtothe rules and procedures of [RCS2OMASIMPLEENDORS]39 except that the IMDN for 'delivered'statusisrequestedandsentsimilarlytothefirstsessioninvitation.OnB'sside, anotificationmaybedisplayedforeachreceivedmessage(UIdependant). 3.2.4.2 Answeringachat When B's device detects user activity relevant to the consumption of the message containedintheinvitation(e.g.clickonapopuptogototheIMwindow)the1to1 chatisestablishedaccordingtotherulesandprocedureof[RCS2OMASIMPLEENDORS]39. At this point an MSRP session is established between the two devices. If the IM session invitation from A contained an IMDN requesting 'displayed' notification, B generates an MSRPSENDrequesttowardAthatcontainstheIMDN'displayed'statusforthemessage receivedfromA. Theruleandprocedureof[RCS2OMASIMPLEENDORS]39arefollowedtohandlethecase where multiple IM sessions from A are pending on B's side. I.e. the last received IM session is established and the other pending sessions are answered with a 603 DECLINE response.Insuchcases,iftheIMsessioninvitationsfromAcontainedanIMDNrequesting 'displayed' notification, B generates an MSRP SEND request toward A that contains the IMDN'displayed'statusforeachmessagereceivedfromA 3.2.4.3 Messagesexchangedinanestablishedchat AslongasthisIMsessionisestablished,furthermessagesexchangedbetweenAandBare transported in the MSRP session according to the rules and procedure of [RCS2OMA SIMPLEENDORS]39exceptthat,forthereceivedMSRPSENDrequestscontaininganIMDN 'displayed'anddeliveredrequest,whentheusermessageisdeliveredordisplayed,the receivingdevicemustgenerateandMSRPSENDrequestcontainingtheIMDNstatus. 3.2.4.4 Displayandlocalstorage Allthemessageswillbestoredinthedevice,togetherwithsomekindoftimeindication andanappropriateindicationofthepartthatsenteachone. Intheusersdevice,alltheconversationsheldwiththesamecontactwillbedisplayedina singlethread,orderingstoredmessagesonatimelinebasis. Whenstoragelimitisreached,deletionshouldhappenonaFIFOqueuepolicy.Itisopen to OEM criteria how to implement other optin deletion mechanisms (e.g., ask always, deletealways,deleteanyconversation/messagefromspecificcontacts). 3.2.4.5 Leavingthechatcomposingwindow Oncea1to1chatisestablishedanyofthetwouserscanleavethecomposingwindow without closing the chat. For example, a user could move to his mobile home screen to checkanincomingemail,ormakeaphonecall. Page 78 of151
RCSeAdvancedComms: Servicesandclientspecification Whilethechatcomposingwindowisnotshown(thatis,itisnottheforegroundwindow) any incoming message corresponding to that chat will trigger a status notification (UI dependant)sotheuserisawareofthenewmessageand,ifhechoosesso,getbacktothe chatcomposingwindowtoanswerit. Also, the user could decide to get back to the chat composing window and send a new message without receiving one. The user would be able to do that via the IM/chat application, which will display the ongoing chats, or via the Address Book by clicking on thecontactwithwhomhehasthechatsessionopened. Inbothcases,whentheusergetsbackstothechatcomposingwindow,allthemessages willbedisplayed. 3.2.4.6 IsComposingnotification When any user starts typing in the chat composition window, an Is Composing notificationwillbesenttotheotheruser.HisUIwillthendisplayanindicationinthechat composingwindowtoindicateit(UIdependant). The Is Composing indication will be removed from the UI when a new message is received, when a timeout expires without receiving a new message, or when a new Is Composingnotificationarrives. The"isComposing"notificationishandledaccordingtotherulesandprocedureof[RCS2 OMASIMPLEENDORS]39 3.2.4.7 Closingachat/Reopeningachat AnyofthetwouserscanclosehisIMsessionassociatedwithanestablishedchat.Thiscan bedonefromthechatcomposingwindoworintheIM/chatapplication. Theuserwouldbeabletoreopenthechathowevertheresultingactionatprotocollevel woulddependonwhethertheIMsessionisstillopenornot. ClosingtheIMsessionwillnotbenotifiedtotheremoteuserinthechat.Thesessionis terminated, therefore, if the remote user sends a message, a process similar to the initiationofachatisperformedasdescribedin3.2.4.1. 3.2.4.8 Chatinactivitytimeout When a device or the network detects that therewas no activity in a chat for a configurableperiodoftime,itwillclosetheestablishedIM. 3.2.4.9 Chatabnormalinterruption IfauserinachatsuffersanabnormalterminationoftheIMsession,forexamplelossof coverage,itwillbeconsideredasithehadclosedthechatandthemechanismsspecified in section 3.2.4.7 (closing a chat) will apply, but in this case the Send button will be disabled. In temporary interruption cases, for example the mobile phone gets network coverage again, the chat window will be enabled again and the reopening chat mechanism explainedinsection3.2.4.7willbeavailable.
Page 79 of151
RCSeAdvancedComms: Servicesandclientspecification 3.2.4.10 ReOpeningachat Anoldchatconversationcanbereopened.Fromtheuserperspective,itwillbethesame procedureasforinitiatingachat(section3.2.4.1),exceptthatwhenthenewmessageis sent,thenewIMsessionwillbeestablished. Thedevicethenwilldisplaythepreviousstoredconversationswiththatcontactpreceding thecurrentactiveone. 3.2.4.11 StoreandForwardMode StoreandforwardfunctionalityisoptionalanditisuptoeachMNOtodeployit(i.e.to deployanIMServersupportingstoreandforwardbecausetheclientsideimplementation ismandatoryinanycase). In order to provide store and forward functionality, an IM Server is required. There are threepossiblescenarios: Sender and receiver are on networks with an IM Server: In this case the receiver IM ServerhastheresponsibilitytostoreIMwhicharenotdelivered.ThesenderIMServer hastheresponsibilityofstoringthedelivered/displayednotificationsincasethesender isnolongeronline OnlythesenderisonanetworkwithanIMServer:ThesendersIMServertakesallthe responsibilitytostoreIMand/ordelivered/displayednotificationsincasetheycannot be delivered. Because the sender IM Server cannot have information on when the destinationisonline,aretrymechanismwillbeemployedinstead. OnlythedestinationisonanetworkwithanIMServer:ThereceiversIMServertakes alltheresponsibilitytostore IMand/ordelivered/displayednotificationsincasethey cannotbedelivered.BecausethereceiverIMServercannothaveinformationonwhen thesenderisonline,aretrymechanismwillbeemployedinstead. Inordertobeabletodeliverstoreddelivered/displayednotificationstoasenderdevice thathasbecomeoffline,withoutdisruptingtheuserexperience,theIMServersupporting store and forward functionality shall initiate a special IM session for the purpose of deliveringthesenotification.ThisspecialIMsessionshallbeautomaticallyacceptedbythe device. It is recognized by the device thanks to the wellknown URI (standfw@sip.rcse.com)uniquelyidentifyingthestoreandforwardserviceidentityinthe PAssertedIdentityheaderfield. Note that the IM Server supporting store and forward is required to send the delivered/displayed notifications to the exact device that has previously sent the associated messages. Therefore the IM Server implementing multidevice handling shall supportGRUU(seesection2.14). OtheraspectsofthestoreandforwardfunctionalityimplementationontheIMServerare outofscopeofthisspecification.PleasenoteadditionaldiagramsareprovidedinANNEX Bforreference. Finally,pleasenotethatstoreandforwardfunctionalityonthenetworksideisoptional, thereforethereisadedicatedconfigurationsetting(IMCAPALWAYSON,seesection2.1 Table5forfurtherreference)whichisusedtoconfiguretheclienttosupportornotthis functionalityandtheimplicationsontheuserexperience. Page 80 of151
RCSeAdvancedComms: Servicesandclientspecification 3.2.4.12 Multidevicehandling Multidevicehappenswhenauserisabletohavemorethanonedevice(PCand/ormobile) connectedatthesametime. When a new 1to1 chat is initiated and a message is sent from userA to a userB with multipledevicesregisteredatthesametime,thenetworkforkstheIMsessionaccording totherulesandprocedureof[RCS2OMASIMPLEENDORS]39. EachofBsdevicesthatreceivesthesessioninvitationgeneratesaSIPMESSAGEtocarry thedeliveredIMDNasper[RFC5438].Inamultidevicescenario,ifasenderreceivesmore thanoneIMDNforasentmessage,itshalldiscardallcopiesexceptthefirstoneitreceives. TheuserBwillbeabletoanswertothechatfromanyofhisdevices,butinthemoment hesendsamessagefromoneofthem,thatdeviceBwillbecometheonlyactivedevice and all the other IM sessions for the other devices will be closed. All the following messagessenttotheuserBwillbereceivedonlyintheactivedeviceB1usingthealready establishedIMsession. Deviceswitching(asper[RCS2OMASIMPLEENDORS]39): a) IfuserBclosestheIMsessionfromtheactivedevice(eitherbyclosingthechat conversation from the chat window or due to an abnormal termination), any newmessagesentbyuserAthroughthechatwillmaketheIMserverestablish againoneIMsessionperconnecteddeviceBandsendthemessagetothemall asexplainedbefore. b) If user B changes from one device B1 to another B2 by just sending a new messagetothechatfromthenewdeviceB2.ItwillsendanewINVITEwiththe messageinthesubjectfieldasusualthatwillgotoAsdevice.WhenAsdevice detectsanewINVITEsessionfromauser(B)whichalreadyhasanestablished sessionitshallenditandacceptthenewone.Allsubsequentmessageswillbe receivedonlybydeviceB2.DeviceB2mustthenstorethereceivedmessages anddisplaythemappropriately.IfAstillhasdeliveryanddisplayedreportsfor DeviceB1,theyshouldbesentbeforeAsdevicetearsdowntheoldsession. Theconversationhistoryisimplementedatdevicelevel.Theintentionforfuturereleaseis reallocatebackthisfunctionalityonthenetwork. 3.2.4.13 Switchingto1tomanyChat AgroupchatcouldbeonlystartedfromauseronaMNOwhichhasdeployedanIMAS.It is optional for a MNO to provide the 1tomany functionality, so from the terminal perspective, if there is not a configured IM conferencefactoryURI, the terminal should notallowtheusertoaddadditionalpartiestothechatnorstartingamultichat. A 1to1 chat can be converted into a 1tomany chat by any of the two users A and B addingnewuserstoit.UsersA,BwillbegiventheoptionintheirUItoselectoneormore contactsaddedtotheconversation,onlyamongthecontactsknownbytheirdevicestobe RCSeUsers. A real time check of contacts capabilities will be performed as when initiating a chat (section3.2.4.1).AnewgroupchatcomposingwindowwillbecreatedinuserAsdevice andtheresultofthischeckwillbeshowninit. Page 81 of151
RCSeAdvancedComms: Servicesandclientspecification WhenuserAsendsthefirstmessageanewonetomanychatwillbeopenedbetweenall theselectedusers,AandBasdescribedinsection3.2.5.1. ForBuseranewgroupchatcomposingwindowwillbecreatedintheusersdevice.Itis recommendedtotheUXimplementationsnottoclosethealreadyestablishedonetoone chatwindowbutjustswitchthefocustothenewcreatedgroupchatwindows. Please note Store and Forward support for 1tomany Chat is out of the scope of this specificationand,therefore,thisfunctionalityisnotrequired. 3.2.4.14 Filetransferwithin1to1chat Duringaonetoonechat,anyoftheuserswillbeabletoinitiateafiletransferfromthe chatcomposingwindow.ThefiletransferwillbeestablishedusinganewSIPsessionand carriedinanewMSRPsessionwhichisdifferentfromtheoneusedforthechatsession. Thereceivinguserwillgetthefiletransferinvitationinsidethechatwindowandwillbe abletoacceptordeclineit. If the user accepts the file transfer, the terminal will either ask the user the location to storethefileoruseadefaultdirectory.Oncereceived,theuserwillbeabletoopenthe filefromthechatcomposingwindow. 3.2.4.15 Otherfeatures Emoticons:Selectedemoticonswillbedisplayedgraphicallybutsentandreceived as text. The list of supported icons is defined in [RCS2OMASIMPLEENDORS]39 AppendixN. Spamfilter:Userwillbeallowedtoqualifyundesiredincomingchatasspam.This will prevent subsequent messages from those originators to be shown or even notifiedtotheuser.Also,thisundesiredtrafficwillnotbeacknowledgedtohave beendelivered.
In case, user A wants to chat with user B. Consequently, user A enters in the chat composingwindowbyoneoftheentrypointspresentedinprevioussectionstothechat windowandsendsthefirstmessage. InthefollowingsequenceweareassuminguserBiscurrentlyregistered,therefore,the chatcantakeplace.ClientAandB areawareofthisbecauseanOPTIONSrequesthave beencompleted(sendandreceivecapabilitiesfromtheotherend)priortoentertothe chat(e.g.whenselectingthecontactintheaddressbook).
Page 82 of151
SIPINVITE
IM Server could decide whether to stay in the MSRP media path (to store message historyforexample)orlettheMSRPsessionbeestablishedendtoend.
ACK
MSRP MSRPsend
MSRP
MSRP200OK
TheIMsessionisnowestablishedandwillremainactiveuntiloneof thepeersleavetheonetooneIMortheinactivitytimertriggers.The usermayleavetheIM/chatwindowinthebackground,whichmeans thesessionisstillactive(canreturnafterwards).
Figure28.Onetoonechat
Note that MSRP is not only used to send messages but notifications (is composing, displayedanddelivered).Pleasenotethatpriortoacceptance,SIPMESSAGEisalsouse for this purpose (only for displayed and delivered notifications in this case). In the previousdiagram,thenotificationswereintentionallyomittedforclarity.Pleasereferto AnnexB(sectionB.1)forthecompletesequence. Incontrasttothepreviousflow,therearecaseswherethechatoriginatingusermayhave nonupdatedinformationaboutthecapabilitiesfromtheotherend.Forexample,auser wasregisteredduringthepreviouspolling.Wehaveselectedtheuserintheaddressbook,
Page 83 of151
RCSeAdvancedComms: Servicesandclientspecification however there is some latency in getting the OPTIONS message response back quickly enoughandtheuserdecidestoenterinthechat. Although unlikely, the situation where a user (user A) enters in a chat and the other user(s)(userBinthiscase)isnotregistered(nochatpossible)mayhappen.Inthiscase, theproposedsequenceisthefollowing: UEUser/ClientA UEUser/ClientB MNOIMSCore Client Client RCSAS UI UI Logic Logic IM Theuserentersintheonetoonechatandsendsamessage. At this point, the UI has allowed enough time to get the responseforthe OPTIONSmessage(i.e.wecanwait foritdue tothemoretimeconsumingUItransitions). SIP480TEMPORARILYUNAVAILABLE or SIP404NOTFOUND If the other peer is not registered or itisnotanRCSeuser,theUIenables theusertosendanSMSinstead.
Figure29.OnetoonechatbackupmechanismtosendSMS
Page 84 of151
RCSeAdvancedComms: Servicesandclientspecification
3.2.4.16.2 StoreandForward
Duetothecomplexityofthestoreandforwardscenarios,detaileddiagramsareprovided inAnnexB.
3.2.4.16.3 Multidevice
Duetothecomplexityofthemultidevicescenario,detaileddiagramsareprovidedin AnnexC.
3.2.4.16.4 Leavingaonetoonechat
Inthiscase,userAandBareinachat,howeverAwantstoleaveitbecause,forexample, thechatconversationisfinished.TherelevantUXandflowsequenceispresentedbelow: UEUser/ClientA UEUser/ClientB MNOIMSCore Client Client RCSAS UI UI Logic Logic IM Bothusersareinaonetoonechat. User A then decide to leave by closing the IM/chat SIPBYE SIPBYE SIP200OK MSRPTERMINATION MSRPTERMINATION User A requested to leave the chat, therefore,thechatwindowisclosed and the previous window (i.e. phonebookisshown) UserBdidnotclosethechatwindow,soheremainsin the chat without a session. If he/she then write a messageandsendit,anewsessionwillbeestablished (newINVITEmessageissenttostartanewsession). SIPINVITE(userA, SDP[MSRP])
Figure30.Leavingaonetoonechatsession(chatterminated)
RCSeAdvancedComms: Servicesandclientspecification a new message. No UI indication should be done reflecting that the underlying MSRP sessionhasbeenclosed. In the next case, user A and B are in a chat, however A has to leave because an event (incoming email, incoming call, etc.) or because it decides to put the chat task in the background.Inthiscase,thechatconversationisnotfinished,sothesessioniskeptactive inthebackground. TherelevantUXandflowsequenceispresentedbelow: UEUser/ClientA UEUser/ClientB MNOIMSCore Client Client RCSAS UI UI Logic Logic IM Bothusersareinaonetoonechat. ThenUserAreceivesanincoming UserAanswersthecallsothechatwindowisreplaced bythecallscreen. At RCSe chat level, user A is still on the chat and, consequently is able to receive message. During the call,anotificationmaybedisplayedonthenotification area(topbar)whenanewchatmessageifanewchat messageisreceived. UserBdidnotclosethechatwindow,so heremainsinthechat The call ends and the user is returned to thechat
Figure31.Leavingaonetoonechatsession(leavingchatinthebackground)
Page 86 of151
RCSeAdvancedComms: Servicesandclientspecification
3.2.4.16.5 Onetoonechatforcedtermination
Inthiscase,userAandBareinachat,howeveruserBclientfailstokeeptheconnection to the network (e.g. client error, IP reconfiguration due to a new data bearer, lost coverage,etc.): UEUser/ClientA UEUser/ClientB MNOIMSCore Client Client RCSAS UI UI Logic Logic IM Bothusersareinaonetoonechat. Suddenly, User B becomes unavailable InactivitytimerintheIM Serveristriggedanddetects thattheotherendisnot longeravailable SIPBYE SIP200OK MSRPTERMINATION
Figure32.Onetoonechatforcedtermination
Page 87 of151
RCSeAdvancedComms: Servicesandclientspecification
3.2.4.16.6 Exchangecapabilitiesduringa1to1chat
TheassumptionsinthiscasearethatuserAandBareinachat.Thecapabilitiesofoneof theuserschange(e.g.differentdatacarrier),however,thechatcancontinue.Eventhat chatcancontinue,theotherendhastobeinformedusingtheOPTIONSmessage. UEUser/ClientA UEUser/ClientB Client Client IMS UI UI Logic Logic Core Theclientdetectsachangeon theavailablecapabilities. SIPOPTIONS(capabilitiesB) SIP200OK(updatedcapabilities forA,ifapplicable) Iffiletransferisnotlongeravailable,theiconshouldbe displayedgreyedoutandasnonclickable
Figure33.Capabilitiesexchangeduringachatsession
Page 88 of151
RCSeAdvancedComms: Servicesandclientspecification
3.2.5 1tomanyChat
In order to implement the 1tomany chat functionality an IM server is required, and consequently, the IM CONFERENCE FACTORY URI (see section 2.1 Table 5 for reference) configurationparametershouldbecorrectlyset. It is optional for a MNO to provide the 1tomany functionality, so from the terminal perspective, if there is not a configured IM CONFERENCE FACTORY URI, the terminal should not allow the user to add additional parties to the chat nor starting a multichat. Please note that the fact that starting a 1tomany chat is not available in this scenario does not restrict the possibility to join a multichat session. Therefore, the OEM has to implementboththeonetooneandonetomanychatexperiencesevenforuserswithout aconfiguredIMCONFERENCEFACTORYURI. Pleasenotethefollowingsectionsproposeanexperiencewhichaimedtobeemployedas areferenceforOEMimplementations. Support for store and forward in 1tomany chat is not included in this version of the specification. Finally,itshouldbetakenintoaccountthatagroupchatcouldbeonlystartedfromauser onaMNOwhichhasdeployedanIMServerAS. 3.2.5.1 Initiatingachat UserAinitiatesachatbyselectingsomeofhiscontacts(B,CuptoalimitOTA/remote configured by the MNO) from the Address Book or from the IM/chat application in his mobilephone,orintheContactListfromtheBroadbandAccessPCclient,butonlyamong thecontactsknownbyhisdevicestobeRCSeuserswithIMcapability.DeviceA(either mobileorPC)willsendaqueryfortherealtimecapabilitiesofeachcontactB,C(aquery perintendedcontact)toensuretheIMserviceisavailableforthoseusersatthattime. When user A types the first message and presses the Send button, device A will establishanIMsessionwiththeIMserverandsendthemessagethroughit.TheIMserver willestablishIMSessionswiththeotherparticipantusers. WhenauserdevicereceivesagroupchatinvitationfromtheIMserver,therecipientmay acceptorrejecttheinvitationaswouldbedoneinaonetoonecaseandsubscribetothe conferenceeventpackagetoretrievethelistandstatusoftheusersintheonetomany chat.UserAsdeviceshallsubscribetotheconferenceeventpackagealso.Theidentityof eachusershallbematchedagainstthecontactlistinthedevicetopresentauserfriendly name. TheIMserverwillbeopenedA,B,Cuptoaconfiguredlimit. Inthesidesofthereceiversanotification(UI dependant)willbedisplayedondeviceto informabouttheincomingmessage.Notificationmustclearlystatethatitisamultichat, sotheusersaremadeaware Unlike [RCS2OMASIMPLEENDORS]39 once a 1tomany chat is established, any participantisallowedtoaddmorecontacts,whilethegenerallimitisnotreached.
Page 89 of151
RCSeAdvancedComms: Servicesandclientspecification 3.2.5.2 GeneralBehaviour Thesamebehaviourfromonetoonechatappliesto1tomanychatexceptof: 3.2.5.3 Closingmultichat AnyoftheparticipantscanclosehisIMsessionassociatedwithanestablishedmultichat. ThiscanbedonefromthechatcomposingwindoworintheIM/chatapplication. WhenuserCcloseshisIMsessionitwillbenotifiedtotheotherusersinthechatthrough a predefined indication C has left the conversation, and their devices will remove him from the displayed recipients. A new Conversation is created in user Cs device history withthemessagesassociatedtothechatuptothepointheleft. AchatisclosedwhenthelessthantheminimumnumberofRCSusersdefinedforagroup chat remain in the group chat all RCS users close their IM sessions, or when a chat inactivitytimeoutexpires. 3.2.5.4 Protocolflowdiagrams
3.2.5.4.1 StartamultipleIMsessionfromtheIMcompositionwindow
Displayingandlocalstorageofanactiveconversation, Leavingthechatcomposingwindow(seesection3.2.4.5) Deliveryanddisplaynotifications(seesections3.2.2.3and3.2.2.4respectively)are notrequired Storeandforwardmode(seesection3.2.4.11)isnotrequired Delivery and display notifications, as covered in sections 3.2.2.3 and 3.2.2.4 respectively,arenotrequired.
Inthiscase,userAandBareinachat,anduserAdecidestoaddathirduser(userC)to thechatsession.TherelevantUXandflowsequenceispresentedbelow:
Page 90 of151
RCSeAdvancedComms: Servicesandclientspecification
MSRPsessionestablished
User is displayed the list of RCSe users and chooses one or more contacts. No real time capabilitycheckisdone(i.e.noOPTIONS)
SIPINVITE(withSessionReplaces)
SIP200OK
User/ClientC
ACK
ACK ConferencesessionestablishedbetweenABandC
Figure34.Multichatsessioninitiation
Page 91 of151
RCSeAdvancedComms: Servicesandclientspecification
3.2.5.4.2 GetparticipantsofmultichatIMsession
Thefollowingflowiscomplementarytotheprevioususecaseasitpresentsindetailshow togetinformationonthechatparticipants.Pleasenotetheseexchangeswereomittedin thepreviousdiagram: User/ClientA User/ClientB Client Client IMS UI UI Logic Logic Core ConferencesessionestablishedbetweenABandothers Once joined a one to many IM session the client shall subscribe the conference event togettheconferenceparticipant. SIPSUBSCRIBE(conferencepackageevents) SIP200OK SIPNOTIFY(withlistofparticipants) SIP200OK Client updates the participant list and displaystheconnectionstateforeachone.
Figure35.Multichatsessioninitiation(II):Getparticipants
Page 92 of151
RCSeAdvancedComms: Servicesandclientspecification
3.2.5.4.3 StartagroupchatsessionfromaIM/chatapplication
The user enters the IM/chat application and chooses to start a new chat
SIPINVITE SIP200OK
Sets RequestURI to the CONFERENCE FACTORYURIfortheIMserviceinthe HomeNetworkoftheIMUser. AddalltheinvitedusersinaMIMEresource list body using the copyControl attribute set to"to"only
Figure36.StartagroupchatfromtheIM/chatapplication
Page 93 of151
RCSeAdvancedComms: Servicesandclientspecification
3.2.5.4.4 AddaparticipanttoanalreadyestablishedonetomanyIMsession
ConferencesessionestablishedbetweenAandBandothers
Userselectoneormorecontacts.
SIPNOTIFY(withlistofparticipants)
SIP200OK
SIPNOTIFY(withlistofparticipants) SIP200OK
Clientupdatestheparticipantlist withthejoinedparticipants
Figure37.Addingnewuserstoamultichatsession
Page 94 of151
RCSeAdvancedComms: Servicesandclientspecification
3.2.5.4.5 SendingaIMmessagefromtheIMmultiplesessionwindow
ConferencesessionestablishedbetweenABandC
MSRPSEND MSRP200OK
Figure38.Chatmessagesequenceonamultichatsession
Page 95 of151
RCSeAdvancedComms: Servicesandclientspecification
3.2.5.4.6 UserinamultipleIMsessiongoesoffline
Inthefollowingflow,usersAandBareinachatamongothers(multichat);suddenlyUser Bgoesoffline(e.g.losestheconnectiontothenetwork): MNOIMSCore User/ClientA User/ClientB Client Client RCSAS UI UI Logic Logic IM ConferencesessionestablishedbetweenABandothers User B goes offline due to lost of coverageorungracefulshutdown IMS core detects user going offline and updatesparticipantlistsendingtheeventtoall theconferenceparticipant SIPNOTIFY(withlistof participantsstatus) SIP200OK Clientupdatestheparticipantlistanddisplays theconnectionstateforeachone. The user going offline is faded out (or similar)andremovedfromparticipantlist.
Figure39.Forcedchatterminationinamultichatsession
Page 96 of151
RCSeAdvancedComms: Servicesandclientspecification
3.2.5.4.7 LeavingaIMmultiplesession
This case is equivalent to the previous one however in this case, User B leaves the chat intentionally: User/ClientA User/ClientB Client Client IMS UI UI Logic Logic Core ConferencesessionestablishedbetweenABandothers User B closes the IM composition window. SIPBYE SIP200OK SIPNOTIFY (withlistofparticipantsstatus) SIP200OK Clientupdatestheparticipantlistanddisplays theconnectionstateforeachone. The user going offline is faded out (or similar)andremovedfromparticipantlist.
Figure40.Leavingamultichatsession
Page 97 of151
RCSeAdvancedComms: Servicesandclientspecification
3.3.1 Generalassumptions
In the following sections we will be showing the relevant message flows and reference userexperience(UX).Pleasenotethatthefollowingassumptionshavebeenmade: For simplicity, the internal mobile network interactions are omitted in the diagramsshowedinthefollowingsections. Theterminalsupports2GDTMmode,therefore,itisalwayspossibletogracefully terminatethetransactionprovidetheterminalremainson.Incase2GDTMisnot supported,theusecaseofoneoftheendsgoingto2Gwouldbeequivalenttothe clienterrorone. Theterminalcomeswithafrontandrearcamera.Ifoneorbothmissing,theuser shouldbenotifiedonlywiththeavailableoptions. Priortothecall,theuseraccesseditsaddressbook,calllogordialpadtomakethe call.Asdescribedbefore,whiletheseactionsareperformedanOPTIONSmessage issenttodoublechecktheavailablecapabilities.Inthefollowingdiagramsweare assumingthatthisexchange(OPTIONSandresponse)havealreadytakeplace,and therefore,bothendsareawareofthecapabilitiesand,consequently,theavailable Page 98 of151
RCSeAdvancedComms: Servicesandclientspecification RCSeservices.Ifthatisnotthecase,theOPTIONSmessageshouldbesendatthe sametimethecallisbeingsetup. In the diagrams we have assumed for simplicity that MSRP chunking is enabled. ThisisjustforrepresentationpurposesanditisuptotheOEMtomakeadecision onwhetherMSRPchunkingisenabledornot.
Page 99 of151
RCSeAdvancedComms: Servicesandclientspecification
3.3.2 Exchangecapabilitiesduringacall
TheassumptionsinthiscasearethatuserAandBareinacall.Thecapabilitiesofoneof theuserschange(e.g.differentdatacarrier),therefore,theotherendhastobeinformed usingtheOPTIONSmessage. UEUser/ClientA UEUser/ClientB Client Client IMS UI UI Logic Logic Core
Theclientdetectsachangeon theavailablecapabilities. SIPOPTIONS(updatedcapabilities forB,ifapplicable) SIP200OK(updatedcapabilities forA,ifapplicable) Available services are updated (greying out relevant icons) basedonreceivedcapabilities. Figure41.Capabilitiesexchangeduringacall
RCSeAdvancedComms: Servicesandclientspecification
3.3.3 Sharevideoduringacall
The assumptions in this case are that both user A (wanting to share video) and user B (recipient wanting to receive it), have successfully exchanged the OPTIONS message, therefore,bothclientsareawarethatvideosharingispossible(bothUEsona3G+orWi Fi). InthiscaseRTPistheprotocolusedtostreamthevideodata,soitcanbereproducedin realtimeontheotherend. UEUser/ClientA UEUser/ClientB Client Client IMS UI UI Logic Logic Core Theuserselectstosharevideo usingtherelevanticon/button The user can choose to share from the front/back camera or stream a file. In this case we are assuming that in all the three cases,RTPisusedfortransport. Therefore,whenstreamingafile,thedatais extracted from the file and, potentially, transcodeddependingonthefileencoding SIPINVITE(SDPvideosession) IfchoosingMediagallery,theuserwillbe presented with the videos available in the media library, allowing him/her to choose onetoshare.Oncethisisdone,theuserwill bebacktothecallscreen. SIP200OK(SDPvideosession) RTP(videodata) RTP(videodata) RTP(videodata) RTP(videodata) RTP(videodata) RTP(videodata) RTP(videodata)
Figure42.Sharevideoduringacall
RCSeAdvancedComms: Servicesandclientspecification
3.3.4 Stopsharingvideo(RTP)duringacall:Senderinitiated
TheassumptionsinthiscasearethatuserAissharingvideo(RTP)withuserB,however userAdoesnotlongerwanttokeepsharingit. UEUser/ClientA UI Client Logic IMS Core UEUser/ClientB Client Logic UI
SIPBYE SIP200OK(byeACK)
As it is streaming and the received cannot verify EOF,anOPTIONSisissuedtounderstandifitisa user initiated termination (video is available) or not(videocapabilitystatusneedtobeupdated
Figure43.Senderstopssharingvideoduringacall
RCSeAdvancedComms: Servicesandclientspecification
3.3.5 Stopsharingvideo(RTP)duringacall:Receiverinitiated
Thiscaseisequivalenttothepreviousone,howeveritisthereceiver(userB)whodoes notlongerwanttokeepreceivingit. UEUser/ClientA UEUser/ClientB Client Client IMS UI UI Logic Core Logic
SIPBYE SIP200
As it is streaming and the received cannot verify EOF,anOPTIONSisissuedtounderstandifitisa user initiated termination (video is available) or not(videocapabilitystatusneedtobeupdated
Available Services are updated (greying out relevant icons) based on receivedcapabilities.
Figure44.Receiverwantsnolongertoreceivevideoduringacall
RCSeAdvancedComms: Servicesandclientspecification
RCSeAdvancedComms: Servicesandclientspecification
3.3.7 Sharepicturesduringacall
TheassumptionsinthiscasearethatbothuserA(wantingto sharepicture)anduserB (recipient wanting to receive it), have successfully exchanged the OPTIONS message, therefore,bothclientsareawarethatfilesharingispossible(bothUEsona3G+orWiFi). UEUser/ClientA UEUser/ClientB Client IMS Client UI UI Logic Logic Core The user selects to share a picture using the relevant Theusercanchoosetosharefromthefront/backcamera orstreamafile.Inthecameracases,theuserwillbe offeredtotakeapicture. IfchoosingMediagallery,theuserwillbepresented withthepicturesavailableinthemedialibrary,allowing him/hertochooseonetoshare. Oncethisisdone,theuserwillbebacktothecallscreen. SIPINVITE(SDPMSRPsession) SIP200OK(SDPMSRPsession) MSRPSEND(imagedata) MSRP200OK MSRPSEND(imagedata) MSRP200OK MSRPSEND(imagedata) MSRP200OK Filetransfer Filetransfer completed(size completed(size check) check) SIPBYE SIP200 Onceitistransferfinished,thepictureisshowninbothends. UserAcanchoosetohidethesharedpicture(backtofirstscreen) UserBcanchoosetoshowthedefaultimagehe/shehasforuserA inthephonebook(ifany,otherwiseadummy).
Figure46.Sharingapictureduringacall
RCSeAdvancedComms: Servicesandclientspecification
3.3.8 Stopsharingapictureduringacall:Senderinitiated
TheassumptionsinthiscasearethatuserAissharingapicturewithuserB,thetransferis stillongoing,howeveruserAdoesnotlongerwanttokeepsharingit. User/ClientA UI Client Logic IMS Core User/ClientB Client Logic UI
SIPBYE SIP200OK
Filetransfernot completed(sizecheck)
Figure47.Senderstopssharingapictureduringacall
RCSeAdvancedComms: Servicesandclientspecification
3.3.9 Stopsharingapictureduringacall:Receiverinitiated
Thiscaseisequivalenttothepreviousone,howeveritisthereceiver(userB)whodoes notlongerwanttokeepreceivingit. User/ClientA User/ClientB Client IMS Client UI UI Logic Core Logic
SIPBYE
SIP200OK
Filetransfernot completed(sizecheck)
Available RCSe services are updated (greying out relevant icons) basedonreceivedcapabilities.
Figure48.Receiverstopspicturesharing
RCSeAdvancedComms: Servicesandclientspecification
RCSeAdvancedComms: Servicesandclientspecification UI ClientA Client Logic IMS Core ClientA Client Logic UI
On both sides, the share video and share pic icons aregreyedout(notavailable).
Figure49.Apicturecannolongerbesharedduringacall(capabilitynotavailable)
RCSeAdvancedComms: Servicesandclientspecification
3.3.11 Declinesharevideoorpictureduringacall
UserAwantstoshareavideoorpicturewithuserB,howeverhe/shedoesnotwantto receiveit.Pleasenoteweareassumingthatbothvideoandimageshareispossible(right capabilities). UEUser/ClientA UEUser/ClientB UI Client Logic
Theuserselectstosharevideo ora pictureusingtherelevant
IMS Core
Client Logic
UI
SIPINVITE(SDPvideoor filesharingsession)
Theuserselectsnot toaccept
Figure50.Userdeclinessharingapictureduringacall
RCSeAdvancedComms: Servicesandclientspecification
3.3.12 Nongracefultermination(sender):Videoorpicturesharing
User A is sharing video or a picture with user B. Suddenly, user A connection to the network fails (e.g. due to a client error, because the phone reboots, no data bearer, a switchindatacarrier[e.g.3G+to3G]causesanIPlayerreconfiguration,etc.). Inthefollowingflow,weareassumingavideotransfer(RTP)wastakingplacebutitwillbe equivalent to the case an MSRP (image or video sharing via file) was taking place (not finished): User/ClientA User/ClientB Client Client IMS UI UI Core Logic Logic RTP(videodata) RTP(videodata) RTP(videodata) RTP(videodata) RTP(videodata) RTP(videodata) RTP(videodata) Client error, it is not possibletosharevideo Original phonebook pictures are shown(firstscreen) No services are shown until status isclarified Timerexpires SIPBYE SIPOPTIONS(updaterequest,capabilitiesB) Depending on the scenario, the sender SIP200orSIPxxxERROR(BYEresponse) may respond the BYE/OPTIONS.Ifnotthe networkwouldsendthe SIP200OK(updatedcapabilitiesfor AI,ifapplicable)orSIP404/480 associatederror Available RCSe services are updated (greying out relevanticons)basedonreceivedcapabilities.Ifnot received,noserviceswillbeavailable
Figure51.Nongracefultermination(sender)forvideo
RCSeAdvancedComms: Servicesandclientspecification
3.3.13 Nongracefultermination(receiver):Videoorpicturesharing
In order to protect the Core SIP network from cases where both the sender and the receiver become unresponsive or unreachable before any of them had the time to terminate the SIP session, the RCSe Client shall use the procedure described in [RFC4028]45inasimilarwaytotheonemandatedin[RCS2OMASIMPLEENDORS]39;i.e. theRCSeclientinitiatingaSIPsessionmustrequesttheroleofrefresherandtheoption tag'timer'mustbeincludedinaSupportedheader. TheSessionExpiresandMinSEvaluesannouncedbyanRCSeclientmustbeconfigurable bytheMNO. This use case is identical to the previous one, except that in this case User B (receiver) loses the ability to receive/process MSRP (e.g. due to a client error, because the phone reboots,nodatabearer,etc.). InthefirstflowdiagramwehaveassumedanimageMSRPtransactionwastakingplace:
TheSessionTimersintheSessionInitiationProtocol(SIP)IETFRFCisavailableat http://tools.ietf.org/html/rfc4028.
45
RCSeAdvancedComms: Servicesandclientspecification
Timerexpires
SIPBYE SIPOPTIONS(updaterequest,capabilitiesA)
Depending on the scenario, the sender may respond the BYEmessage
Figure52.Nongracefulterminationofvideoorpicturesharingduringacall
RCSeAdvancedComms: Servicesandclientspecification InthesecondflowwehaveassumedavideoRTPtransactionwastakingplace: User/ClientA User/ClientB Client IMS Client UI UI Logic Logic Core RTP(videodata) RTCPRR RTP(videodata) RTP(videodata) RTCPRR RTCPRR Client error, it is not possibletoreceivevideo RTP(videodata) RTP(videodata) RTP(videodata) RTP(videodata) Timerexpires without receivingRTCP Originalphonebookpictures RTCPRR areshown(firstscreen) No RCSe services are shown until status is clarified SIPBYE SIPOPTIONS(updaterequest,capabilitiesA) Depending on the scenario, the receiver may respond the SIP200OK(BYEACK) BYEmessage SIP200OK(updatedcapabilities forBI,ifapplicable) Available RCSe services are updated (greying out relevant icons) based on received capabilities. If not received,noRCSeserviceswillbeavailable
Figure53.Nongracefulterminationofvideosharingduringacall
RCSeAdvancedComms: Servicesandclientspecification
3.3.14 Multipartycallandimage/videoshare
Once a CS call is established between two users, it is possible for any of them to add another party to the call, and consequently, initiate a multiparty call. From RCS services pointofviewandaspresentedinsection2.7,theimageandvideoshareservicesarenot availableduringamultipartycall,therefore,theterminalneedstomanagethefollowing scenarios: TheuserswereinaCScallwithoutusingtheimageorvideoshareservices:Inthis case,switchingtoamultipartycallmeansthattheendstartingtheprocesshasto send an SIP OPTIONS message with a capability update (as described in section 3.3.2) indicating that image and video share services are no longer available (i.e. onscreenicons/layoutupdatedaccordingly). TheuserswereinaCScallusingvideoshare:Inthiscase,switchingtoamultiparty call means ending the video share service, either sender or receiver terminated upon circumstances as described in sections 3.3.4 and 3.3.5 respectively. In both cases, a capabilities exchange using SIP OPTIONS takes place and, consequently, the end initiating the multiparty call should report the image and video share services/capabilities are no longer available (i.e. onscreen icons/layout updated accordingly). TheuserswereinaCScallusingimageshare(transfernotcompleted):Inthiscase, switchingtoamultipartycallmeansendingtheimageshareservice,eithersender orreceiverterminateduponcircumstancesasdescribedinsections3.3.8and3.3.9 respectively.Inbothcases,acapabilitiesexchangeusingSIPOPTIONStakesplace and, consequently, the end initiating the multiparty call should report the image and video share services/capabilities are no longer available (i.e. onscreen icons/layoutupdatedaccordingly). TheuserswereinaCScallusingimageshare(completed):Inthiscase,switchingto amultipartycallmeansthepictureisnolongershowninthecallscreenandthat theendstartingtheprocesshastosendanSIPOPTIONSmessagewithacapability update (as described in section 3.3.2) indicating that image and video share servicesarenolongeravailable(i.e.onscreenicons/layoutupdatedaccordingly). Itshouldbealsonotedthatfromthemomenttheusersenterinamultipartycall,itisnot necessarytoperformthecapabilityexchangedescribedinsection3.3.2. Finally,ifthemultipartyisagainconvertedintoastandardcall(i.e.againa1to1call),this eventshouldbetreatedasanewcallestablishmentmeaningthatacapabilityexchange viaOPTIONSneedstotakeplaceand,consequently,therelevantonscreeniconsneedto beupdated.
RCSeAdvancedComms: Servicesandclientspecification
3.3.15 Callonholdandimage/videoshare
OnceaCScallisestablishedbetweentwousers,itispossibleforanyofthemtoputthe otherpartyonhold.FromRCSservicespointofviewandaspresentedinsection2.7,the image and video share services are not available during a call which is not active, therefore,theterminalneedstomanagethefollowingscenarios: TheuserswereinaCScallwithoutusingtheimageorvideoshareservices:Inthis case,puttingthecallonholdmeansthattheendstartingtheprocesshastosend an SIP OPTIONS message with a capability update (as described in section 3.3.2) indicating that image and video share services are no longer available (i.e. on screenicons/layoutupdatedaccordingly). TheuserswereinaCScallusingvideoshare:Inthiscase,puttingthecallonhold meansendingthevideoshareservice,eithersenderorreceiverterminatedupon circumstancesasdescribedinsections3.3.4and3.3.5respectively.Inbothcases,a capabilities exchange using SIP OPTIONS takes place and, consequently, the end initiating the multiparty call should report the image and video share services/capabilities are no longer available (i.e. onscreen icons/layout updated accordingly). TheuserswereinaCScallusingimageshare(transfernotcompleted):Inthiscase, putting the call on hold putting the call on hold switching to a multiparty call meansendingtheimageshareservice,eithersenderorreceiverterminatedupon circumstancesasdescribedinsections3.3.8and3.3.9respectively.Inbothcases,a capabilities exchange using SIP OPTIONS takes place and, consequently, the end initiating the multiparty call should report the image and video share services/capabilities are no longer available (i.e. onscreen icons/layout updated accordingly). TheuserswereinaCScallusingimageshare(completed):Inthiscase,puttingthe callonholdswitchingtoamultipartycallmeansthepictureisnolongershownin thecallscreenandthattheendstartingtheprocesshastosendanSIPOPTIONS message with a capability update (as described in section 3.3.2) indicating that imageandvideoshareservicesarenolongeravailable(i.e.onscreenicons/layout updatedaccordingly). Itshouldbealsonotedthatfromthemomentthecallisputonhold(i.e.callnoactive): It is not necessary to perform the capability exchange described in section 3.3.2, and, If there is another active call, the behaviour regarding to image and video share (capability exchange and the services itself) should not be affected by the fact anothercallisonhold. Finally, if the call is again made active, this event should be treated as a new call establishmentmeaningthatacapabilityexchangeviaOPTIONSneedstotakeplaceand, consequently,therelevantonscreeniconsneedtobeupdated. Page 116 of151
RCSeAdvancedComms: Servicesandclientspecification
3.3.16 Waitingcallandimage/videoshare
Awaitingcallisanonactivecalltherefore,consequentlywiththeinformationpresented in section 2.7, it should not be possible to access the image and video share services betweenthecallerandreceiver. Pleasenotehavingawaitingcallwillnotaffectthebehaviourforimageandvideoshare (capabilityexchangeandtheservicesitself)ontheactivecall.
3.3.17 Callsfromprivatenumbers
Whenacallisreceivedandthecallercannotbeidentified(e.g.hiddennumber),itshould alsonotbepossibletoaccesstheimageandvideoshareservicesbetweenthecallerand receiver.
RCSeAdvancedComms: Servicesandclientspecification
Media gallery/File browser: The user can browse, select a file (or multiple files) and then share with one or more RCSe users task contact oriented initiation. OnlyRCSecapableusersshallbedisplayedascandidaterecipientofthefile.
Figure55.ReferenceUXforaccessingfilesharefrommediagalleryorfilebrowser
In the previous figure, once file transfer is selected, the user will be presented with the complete list of RCSe contacts (including contacts which are currently notregistered). Inthiscase,anOPTIONSmessageissentonceacontactisselectedfromthelist. Page 118 of151
RCSeAdvancedComms: Servicesandclientspecification Cameraapplication:Theexperienceisanalogoustothemediagallery/filebrowser experiencewiththedifferencethattheuserisabletoonlyselectthelastpicture orvideo(and,insomecases,onepictureorvideofromthecameragallery)tobe shared. IM/chatwindow:FromtheIM(onetooneIMonly)windowafilecanbeshared using the relevant button/icon. The experience is identical to the address book/calllog. The user is redirected to the media gallery or file explorer where he/shecanchooseafilewhichthenshared.
Figure56.ReferenceUXforaccessingfilesharefromaIMwindow
Call screen (image share): We can share a picture either by using the camera (frontorback)orchoosingafilefromthemediagallery.Pleasenotethishasbeen coveredindetailinsection3.3. Whentransferringafilewhilstnotinanexistingsession(i.e.whennotinacallorIM)and after the transfer has commenced (i.e. the user accepted the incoming file) the file transferispresentedtotherecipientinaIMUX.Thisestablishesacommunicationcontext for the transfer as the recipient may want to know why the sender is sharing the file. Please note that at the time the file is presented, the IM session is not started; the IM sessionwillonlystartifandwhenthereceiversendsaIMmessagebacktothesender.
Figure57.ReferenceUXforfiletransferonthereceiverside
RCSeAdvancedComms: Servicesandclientspecification
3.4.1 Generalassumptions
Intheproceedingsectionswewillbeshowingtherelevantmessageflowsandreference userexperience(UX).Thesearebaseduponthefollowingassumptions: For simplicity, the internal mobile network interactions are omitted in the diagramsshowedinthefollowingsections. Itisassumedthatbythetimethefiletransferbegins,bothsenderandrecipient haveexchangedtheircapabilitiesusingtheOPTIONSmessage.Pleasenotethatif thereisaUIflowwhichinvalidatesthisassumption,OPTIONSmessagesshouldbe exchangedbetweenthesenderandthereceiver(bidirectional). AllthefiletransferserviceexchangespresentedinthisdocumentfollowtheRCS GSMAspecificationforfiletransfer46.Inotherwords,RCSemakesuseofRCSFile Transferservicefunctionalitywithoutanymodificationsoradditions.
3.4.2 Selectingthefiletransferrecipient(s)
Thefirststepforauserwillingtoshareafilefromthemediagalleryorfilebrowseristo select the file and then choose the user or group of users the file will be shared with. PleasenotethatthelistwhichispresentedtotheusercontainsRCSecontactswhichmay ormaynotberegistered.Inadditiontothis,thecapabilitiestheclienthasforacontact maynothavebeenupdated. Therefore,thefirststepistodeterminewhetherthefilecanbesharedwiththeselected user(i.e.shouldberegisteredandtherightcapabilitiesshouldbeinplace)
By this reference we include both technical and functional references contained in the RCS Release 2 specifications(TechnicalRealizationv2.0[RCS2TECREAL],ServiceDefinitionv2.0[RCS2SD]andFunctional Descriptionv2.0[RCS2FUNDESC]availableatwww.gsmworld.com)
46
RCSeAdvancedComms: Servicesandclientspecification UEUser/ClientA UI Client Logic IMS Core UEUser/ClientB Client Logic UI
UserAgoestothemediagalleryandselectsafileto share.
Only the RCSe services contacts (from the list the client must maintain and that includes Registered and unregistered contacts) are displayed. User A can choose oneormorecontactstoshareafile Onceacontactisselected,theclientwillsendanoptionmessagetogetthe lateststatus(i.e.ifthefiletransferispossiblebasedoncapabilities).Please notethatiftheOPTIONmessageexchangeisfastenough,theUItransition willhidethedelay(i.e.thisscreenwouldnotbeshown)
Following the algorithm, the other client sends an options message to update the capabilitiesfromtherequester.
Once a contact is selected and the OPTION message exchangeconfirmsthatthenecessarycapabilitiesarein place,userAcanselectContinueandproceedwiththe filetransfer
Figure58.Selectinguserswhensharingafilefromthemediagallery/filebrowser
RCSeAdvancedComms: Servicesandclientspecification
3.4.3 Standardfileshareprocedure
IndependentlyofthefileshareUXentrypoint,oncethefilesandusersareselected,the transfer can start. Please note that if a user chooses to share several files with one or moreusers,eachindividualfiletransfer(1fileto1useronly)areserialised(i.e.itisnot supportedtohavesimultaneousfilesharingprocessesrunninginparallel). Inthefollowingdiagram,itisassumedthereceiveracceptsthetransfer. UEUser/ClientA UEUser/ClientB Client Client IMS UI UI Logic Logic Core Thefiletransfergoestothebackground,however it can be tracked in the notification area. Please note that if started from a chat window, the transferinformationispresentedonscreen. SIPINVITE(SDPMSRPsession) SIP200OK(SDPMSRPsession) ACK MSRP SEND(filedata) MSRP200OK MSRPSEND(filedata) MSRP200OK Filetransfer Filetransfer completed(sizecheck) completed(sizecheck) SIPBYE SIP200OK
Figure59.StandardfiletransfersequencediagramSuccessfultransfer
RCSeAdvancedComms: Servicesandclientspecification Inthefollowingdiagram,UserBrejectsthetransfer. UEUser/ClientA UEUser/ClientB Client IMS Client UI UI Logic Logic Core Thefiletransfergoestothebackground,however it can be tracked in the notification area. Please note that if started from a chat window, the transferinformationispresentedonscreen. Theuserselectsnot toaccept SIPINVITE(SDPMSRPsession) SIP 603 ERROR User A receives a notification
Figure60.StandardfiletransfersequencediagramReceiverrejectsthetransfer
3.4.4 Fileshareerrorcases
There are several scenarios in which a file transfer can result in an error. All these scenarioshavebeenalreadycoveredinprevioussections: Either the sender or the receiver decides to cancel the operation before the transfer is completed. The relevant sequences are equivalent to the diagrams presentedforfilesharingduringavoicecallinsections3.3.8and3.3.9 Eitherthesenderorthereceiverlosestheconnectiontothenetwork,beforethe transfer is completed. The relevant sequences are equivalent to those presented forfilesharingduringavoicecallinsections3.3.12and3.3.13 Finally,pleasenotethatifduringafiletransferthecapabilitiesofoneoftheendschanges, thefiletransfermaybeaffected: If the receiver runs out of space, the sequence should be equivalent to that presentedinsection3.3.10. Ifoneoftheendshandoversinto2G(2GGPRSdatacoverage)withoutlosingtheIP configuration,thefiletransfershouldcontinueuntilfinished.
RCSeAdvancedComms: Servicesandclientspecification
3.4.5 Fileshareandfiletypes
Inprinciple,theRCSefiletransferservicecomeswithoutalimitationonthefilesizesor types, meaning any kind of file can be transferred using this service. Taking this into accountthisandwiththeaimofprovidingallthenecessaryfactstothereceivertomake aninformeddecisiononwhethertoacceptorrejectthefile,auserreceivingafiletransfer invitationshouldbeinformedatleastof: a) The size of the file: This is mainly to protect the user from unexpected charges and/orlongtransfers. b) Thefiletype:Inthiscaseandtomakeitmoreintuitive,thehandsetshouldpresent totheuserwhetherthefilewhichisbeingtransferredcanbehandled/displayed bythedevice. For example, if a user receives an invitation to receive a PDF document and his/her handsetcannotprocessthatsortofdocuments,aninformativemessagewiththesizeand thefactthatthefiletypeisnotsupportedshouldbepresentedtotheuserpriortothe decisionofacceptingorrejectingthefiletransfer. Finally note that each individual MNO may introduce restrictions taking into account differentconsideration(e.g.security,intellectualproperty,etc.).
3.4.6 Filesizeconsiderations
Inordertopreventboththeabuseofthefiletransferfunctionalityandprotectcustomers from unexpected charges, a configurable size limitation (refer to FT WARN SIZE and FT MAXSIZEinTable5forreference)maybeenabled. Fromtheuserexperiencepointofviewandassumingthesizelimitationisinplace(i.e.the valuesaredifferentfrom0): If a file transfer (send or receive) involves a file bigger than FT WARN SIZE, the terminal should warn the user of the potential associated charges and get confirmationfromtheusertogoahead. If the file is bigger than FT MAX SIZE, a warning message will be displayed when tryingtosendorreceiveafilelargerthatthementionedlimitandthetransferwill becancelled(i.e.atprotocollevel,theSIPINVITEwillneverbesentorarejection responsewillbesenttotheotherenddependingonthecase).
RCSeAdvancedComms: Servicesandclientspecification
A.1.1 Presencerelatedconfiguration
RCSe specification includes the following additional presence related configuration parameters: Configuration parameter Description RCSeusage
USEPRESENCE
This parameter allows enabling or disabling the presencerelatedfeaturesonthedevice.Ifsetto Mandatory 0, presence is disabled, if set to 1, presence is parameter enabled and the parameters pertaining to presencedefinedin[RCS2_MO]47apply.
Table22.RCSeadditionalpresencerelatedconfigurationparameters
A.1.2 XDMrelatedconfiguration
RCSe specification does not include any additional XDM related parameters apart from thosementionedin[RCS2MO]47.Nevertheless,itshouldbenotedthatalltheparameters becomeoptionalastheyareonlyneededwhenemployingpresencerelatedfunctionality likepresencediscoveryorprofileinformationsharing.
A.1.3 IMrelatedconfiguration
RCSespecificationincludesthefollowingadditionalIMrelatedconfigurationparameters:
47
RichCommunicationSuiteRelease2ManagementObjectsVersion2.014February2011availableat www.gsmworld.com
ThisistheparametercontainingtheURI fortheIMserver.Theparameteris optionalandifnotconfigured,means IMCONFERENCE thattheMNOisnotdeployinganIM FACTORYURI server.Consequentlyfeaturesrequiring IMserver(i.e.1tomanyIM)willnotbe availableforthosecustomers. This parameter configures the client to support store and forward when presentingtheIMcapabilitystatusforall thecontacts.Ifsetto1,theIMcapability for all RCSe contacts will be always IMCAPALWAYSON reported as available. Otherwise (0), the capability will be reported based on the algorithmpresentedinsection2.7. Forexample,thiscanbeusedinMNOs thatareimplementingthestoreand forwardfunctionalityforIM In case, IM CAP ALWAYS ON is set to enabled (use of store and forward), a new parameter is used called IM WARN SFforUIpurposeonly. If IM WARN SF parameter is set to (1) then,whenchattingwithcontactswhich are offline (Store and Forward), the UI must warn the user of the circumstance (e.g.messageonthescreen). Otherwise (0), there wont be any difference at UX level between chatting with an online or offline (Store and Forward)user.
Optional Parameter
Optionalparameter
(ItismandatoryifIM CONFERENCEFACTORYURIis set)
Optional parameter
(ItismandatoryifIM CONFERENCEFACTORYURIis setandIMCAPALWAYSONis setto1)
IMWARNSF
Table23.RCSeadditionalIMrelatedconfigurationparameters
RCSeAdvancedComms: Servicesandclientspecification
A.1.4 Filetransferrelatedconfiguration
RCSe specification includes the following additional file transfer related configuration parameters: Configurationparameter FTMAXSIZE Description ThisisafiletransfersizelimitinKB.Ifa file is bigger than FT MAX SIZE, the transferwillbeautomaticallycancelled. Pleasenotethatifsetto0,thislimitwill notapply. This is a file transfer size limit in KB to warn the user that a file may end up in significantcharges. Pleasenotethatifsetto0,theuserwill notbewarned. RCSeusage Mandatory Parameter Mandatory Parameter
FTWARNSIZE
Table24.RCSeadditionalfiletransferrelatedconfigurationparameters
It should be also noted that the FT MAX SIZE parameter should be configured using the MaxSizeFileTrparameterasdescribedinsection4.4of[RCS2MO]47.Again,ifsetto0,this limitationdoesnotapply.
A.1.5 IMSCore/SIPrelatedconfiguration
RCSe specification includes nospecific additional IMS Core/SIP related configuration parameters.Nevertheless,itshouldbenotedthat: The USER and PASSWD parameters described in section 2.1 Table 5 map to the UserNameandUserPwdparametersdescribedin[RCS2MO]47. TheTELURIandSIPURIparametersmaptothePublic_user_identityparameters definedin[3GPPTS24.167]48andendorsedin[RCS2MO]47. The SIP PROXY parameter maps to the parameters hosted by the LBO_P CSCF_Address subtree defined in [3GPP TS 24.167]48 and endorsed in the Managed Object document (version 1.1) part of the GSMA RCS Release 2 specification. When the PCSCF address has an "FQDN" type, the SIP transport protocolcanbeselectedbytheRCSeclientthankstoDNSSRVrequests.Whenthe PCSCF address has an "IP Address" type, the SIP transport protocol should be selectedbasedonMNOcustomizedsettings.
A.1.6 ConfigurationrelatedwithAddressbookBackup/Restore
RCSespecificationdoesnotincludeanyadditionaladdressbookbackup/restorerelated configurationparameters.
A.1.7 Configurationrelatedwithsecondarydeviceintroduction
3GPPTS24.1673rdGenerationPartnershipProject;TechnicalSpecificationGroupCoreNetworkand Terminals;3GPPIMSManagementObject(MO)
48
A.1.8 Capabilitydiscoveryrelatedconfiguration
Although not covered in RCS Release 2, RCSe specification includes the following additionalcapabilitydiscoveryconfigurationparameters: Configuration parameter Description RCSeusage
This is frequency in seconds to run a periodic capabilities update for all the contacts in the phone address book whose capabilities are not POLLINGPERIOD Mandatory available (e.g. nonRCSe users) or are expired parameter (seeCAPABILITYINFOEXPIRYparameter. Pleasenotethatifsetto0,thisperiodicupdate isnolongerperformed. When using the OPTIONS discovery mechanism and with the aim of minimizing the traffic, an Optional expiry time is set in the capability information CAPABILITYINFO parameter fetched using options. When performing a (Itismandatoryif EXPIRY whole addressbook capability discovery (i.e. POLLINGPERIODis settoavalue polling), an OPTIONS exchange takes place only greaterthan0) ifthetimesincethelastcapabilityupdatetook placeisgreaterthanthisexpirationparameter Thisparameterallowsenablingordisablingthe usageofcapabilitiesdiscoveryviapresence.If Optional setto0,theusageofdiscoveryviapresenceis parameter disabled.Ifsetto1,theusageofdiscoveryvia (Itismandatory PRESENCEDISCOVERY andbecomes presenceisenabled.Thisparameterwill relevantonlyif consequentlyinfluencetheinclusionofthe USEPRESENCEis setto1) associatedtagtopresencediscoveryinOPTIONS exchanges. Thisparameterallowsenablingordisablingthe usageofthesocial information via presence.If Optional setto0,theusageofthesocial information via parameter presencefeatureisdisabled.Ifsetto1,the (Itismandatory PRESENCEPROFILE social information via presencefeatureis andbecomes relevantonlyif enabled.Thisparameterwillconsequently USEPRESENCEis influencetheinclusionoftheassociatedtagto setto1) social information via presenceinOPTIONS exchanges.
Table25.RCSeadditionalcapabilitydiscoveryrelatedconfigurationparameters
RCSeAdvancedComms: Servicesandclientspecification
A.1.9 APNconfiguration
Although not covered in RCS Release 2, RCSe specification includes the following additional configuration parameters targeting APN configuration (see sections 2.10 and 2.11): Configuration parameter RCSEONLYAPN Description This is the reference/identifier to the APN configuration which should be used to provide PS connectivity ONLY to RCSe as describedinsection2.10. Asdescribedinsection2.10,theusershallbe able configure to allow or disallow RCSe and/or internet traffic in the handset settings. If this parameter is set to 1, the setting is shown permanently. Otherwise it may be (MNOdecision)onlyshownduringroaming.
Table26.RCSeroamingconfigurationparameters
ENABLERCSE SWITCH
Mandatory Parameter
A.1.10 Enduserconfirmationparameters
Although not covered in RCS Release 2, RCSe specification includes the following additional configuration parameters targeting the End user confirmation configuration (seesection2.13): Configuration parameter ENDUSERCONFREQ ID
A.2.1 IMSsubtreeadditions
TheRCSespecificationdoesnotincludeanyadditionstotheRCSIMSsubtreedefinedin [RCSMO]47. Page 129 of151
RCSeAdvancedComms: Servicesandclientspecification As the RCS Release 2 specification does not cover OMACP configuration of RCS clients, theassociatedOMACPconfigurationXMLstructurefortheparametersdefinedintheRCS Release2specificationispresentedinthetablebelow: <characteristic type=IMS> <characteristic type=LBO_P-CSCF_Address> <parm name=Address value=X/> <parm name=AddressType value=X/> </characteristic> <parm name=NatUrlFmt value=X/> <parm name=IntUrlFmt value=X/> <parm name=Q-Value value=X/> <characteristic type=ServCapPresentity> <parm name=VoiceCall value=X/> <parm name=Chat value=X/> <parm name=SendSms value=X/> <parm name=FileTranfer value=X/> <parm name= VideoShare value=X/> <parm name=ImageShare value=X/> </characteristic> <parm name=MaxSizeImageShare value=X/> <parm name=MaxSizeImageShare value=X/> </characteristic>
<characteristic type=APPAUTH> <parm name=AuthType value=X/> Table28.IMSsubtreeassociatedOMACPconfigurationXMLstructure49
A.2.2 Presencesubtreeadditions
RCSespecificationincludesthefollowingadditionstothepresencesubtree: PresenceMO Ext <X> usePresence presencePrfl
Figure61.RCSeadditionstothepresenceMOsubtree
The associated OMACP configuration XML structure is presented in the table below. Please note that as RCS R2 specification does not cover OMACP configuration of RCS clients,bothRCS(markedinblue)andRCSeparametersareshowninthiscase(notonly additionsasforOMADM):
Please note the values marked in red refer to the objects described in [3GPPTS24.167]aspresentedin sectionA.1.5.
49
RCSeAdvancedComms: Servicesandclientspecification
<characteristic type=PRESENCE> <parm name=usePresence value=X/> <parm name=presencePrfl value=X/> <parm name=AvailabilityAuth value=X/> <characteristic type=FAVLINK> <parm name= AutMa value=X/> <characteristic type=LINKS> <parm name= OpFavUrl1 value=X/> <parm name= OpFavUrl2 value=X/> <parm name= OpFavUrl3 value=X/> </characteristic> </characteristic> <parm name=IconMaxSize value=X/> <parm name=NoteMaxSize value=X/> <characteristic type=SERVCAPWATCH> <parm name=FetchAuth value=X/> <parm name= ContactCapPresAut value=X/> </characteristic> <characteristic type=ServCapPresentity> <parm name=WATCHERFETCHAUTH value=X/> </characteristic> <parm name=client-obj-datalimit value=X/> <parm name=content-serveruri value=X/> <parm name=source-throttlepublish value=X/> <parm name=max-number-ofsubscriptions-inpresence-list value=X/> <parm name=service-uritemplate value=X/> </characteristic> Table29.PresencesubtreeassociatedOMACPconfigurationXMLstructure
Node:/<X> UnderthisinteriornodeareplacedtheRCSparametersrelatedtoPresence Status Occurrence Format Min.AccessTypes Required One node Get
Table30.PresenceMOsubtreeadditionpresencenode
RCSeAdvancedComms: Servicesandclientspecification Status Required Occurrence One Format Bool Min.AccessTypes Get/Put
Table31.PresenceMOsubtreeadditionparameters(usePresence)
Node:/<X>/presencePrfl Leafnodethatdescribeswhetherthesocialpresencefunctionalityissupported. Status Occurrence Format Min.AccessTypes Required One Bool Get/Put
Values: 1, the presence related features are enabled. 0, the presence related featuresaredisabled. Postreconfiguration actions: The client should be reset and should perform the completefirsttimeregistrationprocedurefollowingareconfiguration(e.g.OMA DM/OMACP)asdescribedinsection2.2.2.1. AssociatedOMACPparameterID:usePresence
Table32.CapabilityMOsubtreeadditionparameters(presencePrfl)
Values:Ifsetto1,itissupported.Ifsetto0,itisnotsupported. Postreconfiguration actions: The client should be reset and should perform the complete firsttime registration procedure following a reconfiguration (e.g. OMA DM/OMACP)asdescribedinsection2.2.2.1. AssociatedOMACPparameter:presencePrfl
A.2.3 XDMSsubtreeadditions
TheRCSespecificationdoesnotincludeanyadditionstotheRCSXDMSsubtreedefined in[RCSMO]47. As the RCS R2 specification does not cover OMACP configuration of RCS clients, the associatedOMACPconfigurationXMLstructurefortheparametersdefinedintheRCSR2 specificationispresentedinthetablebelow: <characteristic type=XDMS> <parm name=RevokeTimer value=X/> <parm name=XCAPRootURI value=X/> <parm name=XCAPAuthenticationUserName value=X/>
<parm name=XCAPAuthenticationSecret value=X/> <parm name=XCAPAuthenticationType value=X/> </characteristic> Table33.XDMSsubtreeassociatedOMACPconfigurationXMLstructure
RCSeAdvancedComms: Servicesandclientspecification
A.2.4 IMMOsubtreeaddition
RCSespecificationincludesthefollowingadditionstotheIMMOsubtree: IMMO Ext imCapAlwaysON <X> imWarnSF ftWarnSize
Figure62.RCSeadditionstotheIMMOsubtree
The associated OMACP configuration XML structure is presented in the table below. Please note that as RCS R2 specification does not cover OMACP configuration of RCS clients,bothRCS(markedinblue)andRCSeparametersareshowninthiscase(notonly additionsasforOMADM): <characteristic type=IM> <parm name= imCapAlwaysON value=X/> <parm name= imWarnSF value=X/> <parm name= ftWarnSize value=X/> <parm name=ChatAuth value=X/> <parm name=SmsFallBackAuth value=X/> <parm name=AutAccept value=X/> <parm name=MaxSize1to1 value=X/> <parm name=MaxSize1toM value=X/> <parm name=TimerIdle value=X/> <parm name=MaxSizeFileTr value=X/>
<parm name=pres-srv-cap value=X/> <parm name=max_adhoc_group_size value=X/> <parm name=conf-fcty-uri value=X/> <parm name=exploder-uri value=X/> </characteristic> Table34.IMsubtreeassociatedOMACPconfigurationXMLstructure
Node:/<X> UnderthisinteriornodeareplacedtheRCSparametersrelatedtotheIMconfiguration. Status Occurrence Format Min.AccessTypes Required One node Get
Table35.IMMOsubtreeadditionIMnode
RCSeAdvancedComms: Servicesandclientspecification LeafnodethatprovidestheIMserverconferencefactoryURI.Ifnotpresent,itmeansthe MNOisprovidingtheIMservicewithoutanIMserver. Status Occurrence Format Min.AccessTypes Optional One chr Get/Put
Table36.IMMOsubtreeadditionparameters(imConfFacURI)
Values:IMserverconferencefactoryURI Postreconfiguration actions: As the client remains unregistered during configuration,therearenoadditionalactionsapartfromderegisteringusingthe old(section2.2.2.4)andregisteringback(section2.2.2.2)usingthenewparameter. AssociatedOMACPparameter:imConfFacURI
Node:/<X>/imCapAlwaysON Leaf node that describes whether the IM capability needs to be on independently on whethertheotherendisregistered.ForexamplethiscanbeusedinMNOsprovidingthe storeandforwardfunctionalityforIM Status Occurrence Format Min.AccessTypes Optional One bool Get/Put
Table37.IMMOsubtreeadditionparameters(imCapAlwaysOn)
Node:/<X>/imWarnSF LeafnodethatdescribeswhethertheUXshouldalerttheuserthatmessagesaredifferent whenstoreandforwardisavailable. Status Occurrence Format Min.AccessTypes Optional One bool Get/Put
Values:1,RCSIM/chatserverstoreandforwardisenabled;0,isdisabled Postreconfiguration actions: As the client remains unregistered during configuration,therearenoadditionalactionsapartfromderegisteringusingthe oldconfiguration(section2.2.2.4)andregisteringback(section2.2.2.2)usingthe newparameter. AssociatedOMACPparameter:imCapAlwaysOn
Table38.IMMOsubtreeadditionparameters(imWarnSF)
Values:1,theuserisawareviaUXonwhenthemessagesaredifferedusingS&F.0, theuserisnotawareonwhenmessagesarediffered. Postreconfiguration actions: As the client remains unregistered during configuration,therearenoadditionalactionsapartfromderegisteringusingthe Page 134 of151
Node:/<X>/ftWarnSize Leafnodethatdescribesthefiletransfersizethreshold(inKB)onwhentheusershouldbe warnedaboutthepotentialchargesassociatedtothetransferofalargefile. Status Occurrence Format Min.AccessTypes Required One Int Get/Put
Table39.IMMOsubtreeadditionparameters(ftWarnSize)
Values:Thefilesizethreshold(inKB)or0todisablethewarning Postreconfiguration actions: As the client remains unregistered during configuration,therearenoadditionalactionsapartfromderegisteringusingthe oldconfiguration(section2.2.2.4)andregisteringback(section2.2.2.2)usingthe newparameter. AssociatedOMACPparameter:ftWarnSize
A.2.5 CapabilitydiscoveryMOsubtree
RCSespecificationincludesthefollowingadditions ofa newconfigurationsubtree,the capabilitydiscoveryMOsubtree.PleasenotethissubtreeisnotincludedinRCSRelease2 specification,sonoothernodesfrompreviousspecificationsneedtobeadded: CapDiscoveryMO Ext pollingPeriod <X> capInfoExpiry presenceDisc
Figure63.RCSeadditions,capabilitysubtree
TheassociatedOMACPconfigurationXMLstructureispresentedinthetablebelow: <characteristic type=CAPDISCOVERY> <parm name=pollingPeriod value=X/> <parm name=capInfoExpiry value=X/> <parm name=presenceDisc value=X/> </characteristic>
Table40.CapabilitysubtreeassociatedOMACPconfigurationXMLstructure
RCSeAdvancedComms: Servicesandclientspecification Status Required Occurrence One Format node Min.AccessTypes Get
Table41.CapabilityMOsubtreeadditioncapabilitydiscoverynode
Node:/<X>/pollingPeriod Leafnodethatdescribesthetimerinsecondsbetweenqueryingallthecontactsinthe addressbooktoupdatethecapabilities. Status Occurrence Format Min.AccessTypes Required One Int Get/Put
Table42.CapabilityMOsubtreeadditionparameters(pollingPeriod)
Node:/<X>/capInfoExpiry Leafnodethatdescribesthevalidityofthecapabilityinformationstoredintheterminalin seconds Status Occurrence Format Min.AccessTypes Optional One Int Get/Put
Values:Thetimeinseconds.Ifsetto0,theperiodiccapabilityupdate(polling)is notperformed Postreconfiguration actions: As the client remains unregistered during configuration,therearenoadditionalactionsapartfromderegisteringusingthe oldconfiguration(section2.2.2.4)andregisteringback(section2.2.2.2)usingthe newparameter. AssociatedOMACPparameter:pollingPeriod
Table43.CapabilityMOsubtreeadditionparameters(capInfoExpiry)
Values:Thetimeinseconds. Postreconfiguration actions: As the client remains unregistered during configuration,therearenoadditionalactionsapartfromderegisteringusingthe oldconfiguration(section2.2.2.4)andregisteringback(section2.2.2.2)usingthe newparameter. AssociatedOMACPparameter:capInfoExpiry
RCSeAdvancedComms: Servicesandclientspecification Node:/<X>/presenceDisc Leafnodethatdescribeswhetherthecapabilitydiscoveryusingpresenceissupported. Status Occurrence Format Min.AccessTypes Required One Bool Get/Put
Table44.CapabilityMOsubtreeadditionparameters(presenceDisc)
Values:Ifsetto1,itissupported.Ifsetto0,itisnotsupported. Postreconfiguration actions: The client should be reset and should perform the complete firsttime registration procedure following a reconfiguration (e.g. OMA DM/OMACP)asdescribedinsection2.2.2.1. AssociatedOMACPparameter:presenceDisc
A.2.6 APNconfigurationMOsubtree
RCSespecificationincludesthefollowingadditions ofa newconfigurationsubtree,the roaming MO sub tree. Please note this sub tree is not included in RCS Release 2 specification,sonoothernodesfrompreviousspecificationsneedtobeadded: APNMO Ext <X> rcseOnlyAPN enableRcseSwitch
Figure64.RCSeadditions,roamingsubtree
TheassociatedOMACPconfigurationXMLstructureispresentedinthetablebelow: <characteristic type=APN> <parm name=rcseOnlyAPN value=X/> <parm name=enableRcseSwitch value=X/> </characteristic>
Table45.APNsubtreeassociatedOMACPconfigurationXMLstructure
Node:/<X> UnderthisinteriornodeareplacedtheRCSparametersrelatedtoroaming. Status Occurrence Format Min.AccessTypes Required One node Get
Table46.APNMOsubtreeadditioncapabilitydiscoverynode
Node:/<X>/rcseOnlyAPN LeafnodethatdescribestheAPNtobeusedastheRCSeroamingAPNasdescribedin section2.10. Status Occurrence Format Min.AccessTypes Required One chr Get/Put
Table47.RoamingMOsubtreeadditionparameters(rcseOnlyAPN)
Node:/<X>/enableRcseSwitch LeafnodethatdescribeswhethertoshowtheRCSeenabled/disabledswitchpermanently asdescribedinsection2.10. Status Occurrence Format Min.AccessTypes Required One chr Get/Put
Values:TheAPNnameortheidentifierusedonthephonefortheRCSeonlyAPN Postreconfiguration actions: As the client remains unregistered during configuration,therearenoadditionalactionsapartfromderegisteringusingthe oldconfiguration(section2.2.2.4)andregisteringback(section2.2.2.2)usingthe newparameter. AssociatedOMACPparameter:rcseOnlyAPN
Table48.RoamingMOsubtreeadditionparameters(enableRcseSwitch)
Values: If set 1, the setting is shown permanently. Otherwise it may (MNO decision)beonlyshownduringroaming. Postreconfiguration actions: As the client remains unregistered during configuration,therearenoadditionalactionsapartfromderegisteringusingthe oldconfiguration(section2.2.2.4)andregisteringback(section2.2.2.2)usingthe newparameter. AssociatedOMACPparameter:enableRcseSwitch
A.2.7 OtherRCSeconfigurationsubtree
RCSe specification includes the following additions of a new configuration sub tree, containingtheremainingRCSeconfigurationparameters.Pleasenotethissubtreeisnot included in RCS Release 2 specification, so no other nodes from previous specifications needtobeadded:
RCSeAdvancedComms: Servicesandclientspecification
OtherMO
Node:/<X> UnderthisinteriornodeareplacedtheRCSparametersrelatedtoroaming. Status Occurrence Format Min.AccessTypes Required One node Get
Table50.OtherMOsubtreeadditioncapabilitydiscoverynode
Node:/<X>/endUserConfReqId Leaf node that describes the identity (passertedid) used for sending the end user confirmationrequestasdescribedinsection2.13. Status Occurrence Format Min.AccessTypes Required One chr Get/Put
Table51.OtherMOsubtreeadditionparameters(endUserConfReqId)
Values: The identity (passertedid) used for sending the end user confirmation request Postreconfiguration actions: As the client remains unregistered during configuration,therearenoadditionalactionsapartfromderegisteringusingthe oldconfiguration(section2.2.2.4)andregisteringback(section2.2.2.2)usingthe newparameter. AssociatedOMACPparameter:endUserConfReqId
RCSeAdvancedComms: Servicesandclientspecification
RCSeAdvancedComms: Servicesandclientspecification
IM-AS
SIP INVITE (subject=msg1) CPIM (imdn.messageID=1) SIP 183 SESSION PROGRESS 180 RINGING SIP MESSAGE (no subject) CPIM (imdn.messageID=1, delivered) SIP INVITE (subject=msg2) CPIM (imdn.messageID=2) 180 RINGING SIP MESSAGE (no subject) CPIM (imdn.messageID=2, delivered) 603 DECLINE (previous invite) ACK SIP 200 OK ACK MSRP SESSION established MSRP SEND (notification) CPIM (imdn.messageID=1, displayed)
IM-AS
SIP INVITE (subject=msg1) CPIM (imdn.messageID=1) 180 RINGING SIP MESSAGE (no subject) CPIM (imdn.messageID=1, SIP INVITE (subject=msg2) CPIM (imdn.messageID=2) 180 RINGING SIP MESSAGE (no subject) CPIM (imdn.messageID=2, delivered) 603 DECLINE (previous invite) ACK SIP 200 OK ACK MSRP SESSION established MSRP SEND (notification) CPIM (imdn.messageID=1, displayed)
User B
Msg1 shown in pop-up
Msg1 delivered
MSRP SEND (msg3) STORE&FORDWARD: USER B OFFLINE CPIM (imdn.messageID=3) MSRP 200 OK MSRP SEND CPIM (imdn.messageID=3, delivered) MSRP SEND CPIM (imdn.messageID=3, displayed) MSRP 200 OK MSRP SEND CPIM (imdn.messageID=3, delivered) MSRP SEND CPIM (imdn.messageID=3, displayed)
MSRP SEND CPIM (imdn.messageID=2, displayed) Figure 66. Standard chat without MSRP SEND (msg3) CPIM (imdn.messageID=3)
store and
Assumption: The chat window remains open so messages are read as they are delivered
Figure67.IMflowwithoutstoreandforward * *:CheckNOTE1insectionB.7
RCSeAdvancedComms: Servicesandclientspecification
IM-AS
IM-AS
User B
Send msg1
SIP INVITE (subject=msg1) CPIM (imdn.messageID=1) SIP 183 SESSION PROGRESS SIP 200 OK ACK MSRP SESSION established MSRP SEND (msg2) CPIM (imdn.messageID=2) MSRP 200 OK MSRP SEND (msg3) CPIM (imdn.messageID=3) MSRP 200 OK
SIP INVITE (subject=msg1) CPIM (imdn.messageID=1) User offline 480 TEMPORARILY UNAVAILABLE
Figure68.Storeandforward:Receiveroffline* *:CheckNOTE1insectionB.7
RCSeAdvancedComms: Servicesandclientspecification
B.3 Store and forward: Message deferred delivery with sender still on an active IM session
User A IM-AS
Messages stored: Msg1 Msg2 Msg3 ID1 ID2 ID3
IM-AS
User B is back online SIP INVITE (subject=msg1) CPIM (imdn.messageID=1) 180 RINGING
User B
Msg1 delivered
SIP MESSAGE (no subject) CPIM (imdn.messageID=1, delivered) SIP INVITE (subject=msg2) CPIM (imdn.messageID=2) 180 RINGING Msg2 shown in pop-up
Msg2 delivered
SIP MESSAGE (no subject) CPIM (imdn.messageID=2, delivered) 603 DECLINE (previous invite) SIP 200 OK ACK MSRP SESSION established User opens chat window
Msg1 read
Msg2 read
MSRP SEND CPIM (imdn.messageID=1, displayed) MSRP SEND CPIM (imdn.messageID=2, displayed)
MSRP SEND CPIM (imdn.messageID=1, displayed) MSRP SEND CPIM (imdn.messageID=2, displayed)
MSRP SEND CPIM (imdn.messageID=1, displayed) MSRP SEND CPIM (imdn.messageID=2, displayed) MSRP SEND (msg3) CPIM (imdn.messageID=3) MSRP 200 OK MSRP REPORT CPIM (imdn.messageID=3) MSRP SEND CPIM (imdn.messageID=3, delivered) MSRP SEND CPIM (imdn.messageID=3, displayed) SIP BYE SIP 200 OK
Msg3 delivered
MSRP SEND CPIM (imdn.messageID=3, delivered) MSRP SEND CPIM (imdn.messageID=3, displayed)
MSRP SEND CPIM (imdn.messageID=3, delivered) MSRP SEND CPIM (imdn.messageID=3, displayed)
Msg3 read
Figure69.Storeandforward:Message(s)differeddeliverywithasenderstillonanMSRPsession* *:CheckNOTES1,2and3insectionB.7
The session is closed when all stored messages are delivered, if the user writes a reply a new session is established
RCSeAdvancedComms: Servicesandclientspecification
B.4 Store and forward: Message deferred delivery with sender online
User A
IM-AS
IM-AS
User B
User B is back online SIP INVITE (User B, p-Asserted-ID=rcse-standfw@<domain> a=sendonly) SIP 200 OK MSRP SESSION established SEND ONLY Msg1 delivered MSRP SEND CPIM (imdn.messageID=1, delivered) MSRP SEND CPIM (imdn.messageID=2, delivered) SIP INVITE (User B, p-Asserted-ID=rcse-standfw@<domain> a=sendonly) SIP 200 OK MSRP SESSION established SEND ONLY MSRP SEND CPIM (imdn.messageID=1, delivered) MSRP SEND CPIM (imdn.messageID=2, delivered)
SIP INVITE (subject=msg1) CPIM (imdn.messageID=1) 180 RINGING SIP MESSAGE (no subject) CPIM (imdn.messageID=1) SIP INVITE (subject=msg2) CPIM (imdn.messageID=2) 180 RINGING SIP MESSAGE (no subject) CPIM (imdn.messageID=2) 603 DECLINE (previous invite) SIP 200 OK
Msg2 delivered MSRP SEND CPIM (imdn.messageID=1, displayed) MSRP SEND CPIM (imdn.messageID=2, displayed) MSRP SEND CPIM (imdn.messageID=1, displayed) MSRP SEND CPIM (imdn.messageID=2, displayed)
Msg1 read
ACK MSRP SESSION established MSRP SEND CPIM (imdn.messageID=1, displayed) MSRP SEND CPIM (imdn.messageID=2, displayed) MSRP SEND (msg3) CPIM (imdn.messageID=3) MSRP 200 OK MSRP SEND CPIM (imdn.messageID=3) MSRP SEND CPIM (imdn.messageID=3, delivered) MSRP SEND CPIM (imdn.messageID=3, displayed) SIP BYE SIP 200 OK
Msg2 read
Msg3 delivered
MSRP SEND CPIM (imdn.messageID=3, delivered) MSRP SEND CPIM (imdn.messageID=3, displayed)
MSRP SEND CPIM (imdn.messageID=3, delivered) MSRP SEND CPIM (imdn.messageID=3, displayed) SIP BYE SIP 200 OK
Msg3 read
Figure70.Storeandforward:Message(s)differeddeliverywithasenderonline* *:CheckNOTES1,3and4insectionB.7
RCSeAdvancedComms: Servicesandclientspecification
B.5 Store and forward: Message deferred delivery with sender offline
User A IM-AS
Messages stored: Msg1 ID1 Msg2 ID2 Msg3 ID3
IM-AS
User B is back online SIP INVITE (subject=msg1) CPIM (imdn.messageID=1) 180 RINGING SIP MESSAGE (no subject) CPIM (imdn.messageID=1, delivered) SIP INVITE (subject=msg2) CPIM (imdn.messageID=2) 180 RINGING SIP MESSAGE (no subject) CPIM (imdn.messageID=2, delivered) 603 DECLINE (previous invite) SIP 200 OK ACK MSRP SESSION established
User B
The session is closed when all stored messages are delivered, if the user writes a reply a new session is established Msg1 shown in pop-up
SIP INVITE (User B, p-Asserted-ID=rcse-standfw@<domain> a=sendonly) 200 OK ACK MSRP SESSION established MSRP SEND CPIM (imdn.messageID=1, delivered) MSRP SEND CPIM (imdn.messageID=2, delivered)
MSRP SEND CPIM (imdn.messageID=1, displayed) MSRP SEND CPIM (imdn.messageID=2, displayed)
MSRP SEND CPIM (imdn.messageID=1, displayed) MSRP SEND CPIM (imdn.messageID=2, displayed) MSRP SEND (msg3) CPIM (imdn.messageID=3) MSRP 200 OK MSRP REPORT CPIM (imdn.messageID=3) MSRP SEND CPIM (imdn.messageID=3, delivered)
MSRP SEND CPIM (imdn.messageID=3, delivered) MSRP SEND CPIM (imdn.messageID=3, displayed) SIP BYE SIP 200 OK
Figure71.Storeandforward:Message(s)differeddeliverywithasenderoffline* *:CheckNOTE1insectionB.7
RCSeAdvancedComms: Servicesandclientspecification
IM-AS
User B
Figure72.Storeandforward:Notification(s)differeddelivery* *:CheckNOTES1and4insectionB.7
RCSeAdvancedComms: Servicesandclientspecification
RCSeAdvancedComms: Servicesandclientspecification
Send msg2
Notification ignored
Figure73.IMandmultidevice:Deliverypriortoacceptance* *:CheckNOTES1and2insectionC.3
RCSeAdvancedComms: Servicesandclientspecification
Figure74.IMandmultidevice:Postacceptancebehaviour* *:CheckNOTES1and2insectionC.3
RCSeAdvancedComms: Servicesandclientspecification
RCSeAdvancedComms: Servicesandclientspecification
D. ANNEX D: Authors
This document defines the RCSe specification jointly developed France Tlcom, Telefnica, Telecom Italia, Deutsche Telekom and Vodafone (group also known as MNO G5). This specification will be shared with other operators and suppliers with a view to launchingacommercialservicein2011. Contributors: JavierArenzanaArias(Telefnica) PhillipCarter(Vodafone) PatrickFroeller(DeutscheTelekom) scarGallegoGmez(Vodafone,documenteditor) SergioGarciaMurillo(Telefnica) YannGestraud(FranceTlcom/Orange) GonzaloGmezAcebo(Telefnica) AlfonsoGmezDaz(Vodafone) MarionLeGlau(FranceTlcom/Orange) JuanJosLozanoLozano(Telefnica) JonathonMarchant(Vodafone) RogelioMartnezPerea(Vodafone) ThibaudMienville(FranceTlcom/Orange) AntoniaNapolitano(TelecomItalia) SverinPasquereau(FranceTlcom/Orange) JeanPaulRodrigues(FranceTlcom/Orange) MartinShn(DeutscheTelekom) SilviaTessa(TelecomItalia) VincentTrocme(FranceTlcom/Orange) StphaneTuffin(FranceTlcom/Orange) FrancescoVadala(TelecomItalia) Finally and from this group, we would also like to thank the valuable contribution that many network, application and terminal/OEM vendors have provided via reviews, technicaladvisoryandcomments.