Upload
vocong
View
231
Download
5
Embed Size (px)
Citation preview
NowSMSMMSCTraining:PhonetoMMSCProtocol(MM1)NOVEMBER2015©2015 NOW WIRE L ES S L IM I T ED
NOWSMSMMSCTRAINING:PHONETOMMSCPROTOCOL(MM1)– ©2015NOWWIRELESS 1
MMSProtocolsOverallArchitecture:3GPPTS23.140http://www.3gpp.orgOver-the-AirPhonetoMMSC:OpenMobileAlliance(OMA)– MMSEncapsulationProtocolhttp://www.openmobilealliance.orgExternalConnectivityProtocols:3GPPTS23.140◦MM4– Interoperator◦MM7– ValueAddedServiceProvider
NOWSMSMMSCTRAINING:PHONETOMMSCPROTOCOL(MM1)– ©2015NOWWIRELESS 2
MM1OverviewMM1istheover-the-airprotocolforMMSmessagetransmissionbetweenaphoneandthenetwork.DefinedbyOpenMobileAlliance(OMA)– MMSEncapsulationProtocolhttp://www.openmobilealliance.orgBasedonHTTP,WAPPushandMIMEtechnologies
NOWSMSMMSCTRAINING:PHONETOMMSCPROTOCOL(MM1)– ©2015NOWWIRELESS 3
MultimediaMessagingService(MMS)DesignedtocomplimentSMSbyprovidingsupportformultimediacontent◦ Text◦ Images◦ Video◦ Audio◦ ContactObjects◦ CalendarObjects◦ SMILPresentation(legacysupport)
NOWSMSMMSCTRAINING:PHONETOMMSCPROTOCOL(MM1)– ©2015NOWWIRELESS 4
MMSC(MMSCentre)Providesstore-and-forwardMMSMessagingServiceformobilephonesubscribers
TemporarilystoresMMSmessagesawaitingsubscriberretrieval
MayinterconnectwithMMSCsforothernetworkoperators,eitherwithdirectconnections,orviaanaggregator
MayconvertMMSmessagestootherformats(e.g.,SMSwithweblink)fornon-subscribersorexternalrecipients
MayallowMMSsubmissionsfromValueAddedServiceProviders
Mayapplycontentadaptationonmessagecontentbaseduponcapabilitiesofthereceivingdevice
NOWSMSMMSCTRAINING:PHONETOMMSCPROTOCOL(MM1)– ©2015NOWWIRELESS 5
MMSandGroupMessagingSupportsmultiplerecipientsandgroupconversationsThebiggestdriverofMMSmessagetrafficgrowthhasbeenitsuseinmodernsmartphonesforgroupmessagingEvenwhenthecontentistextonly,MMSispreferredforgroupmessagingbecauserecipientscanreplyall,allowingallgroupmemberstoseeallmessages.
NOWSMSMMSCTRAINING:PHONETOMMSCPROTOCOL(MM1)– ©2015NOWWIRELESS 6
MM1ProtocolDataUnits(PDUs)PDUsarethedataelementsthatareexchangedbetweenamobilephoneandtheMMSCPDUsareencodedusingtheMIMEtypeapplication/vnd.wap.mms-messagePDUsaretransferredasthepayloadofHTTPrequests,HTTPresponses,orWAPpushmessagesExample(HTTPPOST):POST / HTTP/1.1Content-Type: application/vnd.wap.mms-messageContent-Length: 99999
NOWSMSMMSCTRAINING:PHONETOMMSCPROTOCOL(MM1)– ©2015NOWWIRELESS 7
MM1PDUKindsTherearethreekindsofMM1PDUs:1. Request:Denotedastype-name.req2. Confirmation (Response):Denotedastype-name.conf3. Indication (notification):Denotedastype-name.ind (not
confirmed)
NOWSMSMMSCTRAINING:PHONETOMMSCPROTOCOL(MM1)– ©2015NOWWIRELESS 8
MM1PDUTransmissionWhentheclientneedstosendaPDU(RequestorIndication)totheMMSC,italwaysusesHTTPPOST.◦ IftheMMSCreceivesaRequestPDUviaHTTP,itgeneratesanappropriateConfirmationPDUintheHTTPresponse.
◦ IftheMMSCreceivesanIndicationPDUviaHTTP,itgeneratesanemptyHTTPOKresponse(statuscode200or204).
WhentheMMSCneedstosendaPDU(Indicationonly)toaclient,itonlyusesWAPPush.
NOWSMSMMSCTRAINING:PHONETOMMSCPROTOCOL(MM1)– ©2015NOWWIRELESS 9
WAP1.xClientConsiderationsOlderMMSclientsbasedupontheWAP1.xprotocolusetheWirelessSessionProtocol(WSP)insteadofHTTP.TheseclientsmustuseaWAPGatewaywhichconvertsbetweenWSPandHTTP.TheMM1interfaceattheMMSCisalwaysHTTPbased.
NOWSMSMMSCTRAINING:PHONETOMMSCPROTOCOL(MM1)– ©2015NOWWIRELESS 10
MM1PDUsTransaction PDUTypeName Originated By Transport
SendMessage m-send.req (.conf) Client HTTP POST
NewMessage ReceivedNotification m-notification.ind MMSC WAPPUSH
Acknowledge NewMessageReceivedNotification(optional)
m-notifyresp.ind Client HTTPPOST
RetrieveMessage HTTPGET/m-retrieve.conf Client HTTPGET
Acknowledge RetrieveMessageComplete(optional)
m-acknowledge.ind Client HTTPPOST
DeliveryReport m-delivery.ind MMSC WAPPUSH
Read ReportfromClient m-read-rec.ind Client HTTP POST
ReadReporttoClient m-read-orig.ind MMSC WAPPUSH
ForwardMessage m-forward.req (.conf) Client HTTPPOST
NOWSMSMMSCTRAINING:PHONETOMMSCPROTOCOL(MM1)– ©2015NOWWIRELESS 11
MMSMessageStructureAnMMSMessagehasasimilarstructuretoanSMTPE-MailMessageStructurebaseduponSMTPandMultipartInternetMailExtensions(MIME)◦ Envelope– Recipientsforin-transitmessageinstance.◦ Headers– Sender,DisplayedRecipients,Subject,otherattributes◦ Content– MIMEencodedmultipartcontent.Oneormoremultimediaobjects(text,image,video,etc.)
NOWSMSMMSCTRAINING:PHONETOMMSCPROTOCOL(MM1)– ©2015NOWWIRELESS 12
MMSEnvelopeRoutingAttributes(senderandrecipient)foraninstanceofanin-transitmessage.
Example:Amessageissenttomultiplerecipients,someofwhicharesubscribersofadifferentmobilenetwork.ThemessagemaybesplitbytheMMSCfordeliverytoanotherMMSC.TheMMSenvelopeforthemessageinstancesenttotheotherMMSCwillbeonlytheremoterecipients.TheenvelopelistofrecipientstellstheotherMMSCwhichrecipientstodeliverthemessageto.
TheMMSHeaderwillstillcontainalistofallrecipientstoprovidefullgroupmessagingsupport.
InMM4/SMTPthesearerepresentedbyMAILFROM:/RCPTTO:commands.
NOWSMSMMSCTRAINING:PHONETOMMSCPROTOCOL(MM1)– ©2015NOWWIRELESS 13
MMSHeadersSenderRecipients(To/CC/BCC)SubjectPriorityMessageClass(Personal,Advertisement)MessageType(canbedeliveryreportorreadreport)MessageID
NOWSMSMMSCTRAINING:PHONETOMMSCPROTOCOL(MM1)– ©2015NOWWIRELESS 14
MMSContentMultipart(MIME)objectcontainingoneormoreofthefollowing:◦ Text◦ Images◦ Video◦ Audio◦ ContactObjects◦ CalendarObjects◦ SMILPresentation(legacysupport)
NOWSMSMMSCTRAINING:PHONETOMMSCPROTOCOL(MM1)– ©2015NOWWIRELESS 15
NOWSMSMMSCTRAINING:PHONETOMMSCPROTOCOL(MM1)– ©2015NOWWIRELESS 16
MM1MessageEncodingNoMMSEnvelope:AllrecipientsareinMMSHeadersTheMMSEncapsulationProtocoldefinestheMIMEtypeapplication/vnd.wap.mms-message,whichconsistsofheadersandanoptionalcontentbody.MMSHeadersareencodedinabinaryformat,followingtheWAPSessionProtocol(WSP)◦ WSPdefinesasinglebytecodeforcommonheadernamesandvaluestoreducemessagesize
◦ X-MMS-Message-Type:m-retrieve.conf reducesfroma36characterstringtotwobytes:8C84
NOWSMSMMSCTRAINING:PHONETOMMSCPROTOCOL(MM1)– ©2015NOWWIRELESS 17
MM1MessageEncodingMMSContent isencodedasmultipartMIMEobject.Themultipartobjectis areencodedinabinaryformat,followingtheWAPSessionProtocol(WSP)◦ application/vnd.wap.multipart.related isusedinplaceofmultipart/related
◦ application/vnd.wap.multipart.mixed isusedinplaceofmultipart/mixed
NOWSMSMMSCTRAINING:PHONETOMMSCPROTOCOL(MM1)– ©2015NOWWIRELESS 18
MM1Transaction:Step1SenderactivatesdataconnectiontoMMSAPN
(APNsettingconfiguredinthephone)
NOWSMSMMSCTRAINING:PHONETOMMSCPROTOCOL(MM1)– ©2015NOWWIRELESS 19
MobileNetwork
WAPGWorHTTPProxy
MMSC
ICAP
SMSC
PushProxyGateway
Sender
Receiver
1
MM1Transaction:Step2GGSNsendsRADIUSaccountingmessagetonotifythenetworkaboutthedeviceIPassignment.
WAPGatewayorICAPservermaintainstableofactivedeviceIPaddresses.
NOWSMSMMSCTRAINING:PHONETOMMSCPROTOCOL(MM1)– ©2015NOWWIRELESS 20
MobileNetwork
WAPGWorHTTPProxy
MMSC
ICAP
SMSC
PushProxyGateway
Receiver
RADIUS
1
2
Sender
MM1Transaction:Step3SendingphonesubmitsanMM1m-send.req totheMMSC.(MMSCServerURLconfiguredinphone.)MMSCreceivesm-send.req inHTTPPOST
Phonemaysubmit:• WAP1/WSPPOSTvia
WAPGW• WAP2/HTTPPOSTvia
Proxy• HTTPPOSTdirectto
MMSC
NOWSMSMMSCTRAINING:PHONETOMMSCPROTOCOL(MM1)– ©2015NOWWIRELESS 21
MobileNetwork
WAPGWorHTTPProxy
MMSC
ICAP
SMSC
PushProxyGateway
Receiver
RADIUS
m-send.req
HTTPPOST
1
2
3
Sender
MM1Transaction:Step4MMSCmustidentifyandauthenticatesender
MM1doesnotdefinehowthisisdone
Twooptions:
• WAPGWorHTTPProxyinsertsX-MSISDNHTTPheader
• MMSCrequestsMSISDNusingICAP
NOWSMSMMSCTRAINING:PHONETOMMSCPROTOCOL(MM1)– ©2015NOWWIRELESS 22
MobileNetwork
WAPGWorHTTPProxy
MMSC
ICAP
SMSC
PushProxyGateway
Receiver
RADIUS
m-send.req
HTTPPOST
ICAP
1
2
3
4b
Sender
MM1Transaction:Step5TheMMSCacceptsandprocessesthecontentoftheMMSmessage.Iftoalocalrecipient,theMMSCstoresandmakesitavailableasadynamicallygeneratedURLlink.TheMMSCgeneratesanMMSnotificationmessage(m-notification.ind),whichissentviaWAPPushoverSMStotherecipient(s).ThisMMSnotificationmessagecontainsaURLpointertothedynamicallygeneratedMMScontent.
NOWSMSMMSCTRAINING:PHONETOMMSCPROTOCOL(MM1)– ©2015NOWWIRELESS 23
MobileNetwork
WAPGWorHTTPProxy
MMSC
ICAP
SMSC
PushProxyGateway
Receiver
RADIUS
m-send.req
HTTPPOST
ICAP
1
2
3
4b
Sender
MM1Transaction:Step5(continued)m-notification.ind WAPpushmaybesubmittedtoaPushProxyGatewayusingthePushAccessProtocol(PAP)
OritmaybeencodeddirectlytoSMSformatandsubmittedusingSMPP
SMSmessagegeneratedisusuallya2partlongmessage
NOWSMSMMSCTRAINING:PHONETOMMSCPROTOCOL(MM1)– ©2015NOWWIRELESS 24
MobileNetwork
WAPGWorHTTPProxy
MMSC
ICAP
SMSC
PushProxyGateway
Receiver
RADIUS
m-send.req
HTTPPOST
ICAP
1
2
3
4b
PAP
SMPP5
SMS
m-notification.ind
Sender
MM1Transaction:Step6TherecipientphoneactivatesdataconnectiontoMMSAPN.(APNsettingconfiguredinthephone)
TherecipientphoneperformsanHTTP(orWSP)GETtoretrievetheMMSmessagecontentURLfromtheMMSC.
TheHTTPresponseistheMMSmessageinanm-retrieve.conf PDU.
NOWSMSMMSCTRAINING:PHONETOMMSCPROTOCOL(MM1)– ©2015NOWWIRELESS 25
MobileNetwork
WAPGWorHTTPProxy
MMSC
ICAP
SMSC
PushProxyGateway
Receiver
HTTPGET
m-retrieve.conf
6
Sender
MM1Transaction:Step7Ifthesenderrequestedadeliveryreport,theMMSCgeneratesanMMSdeliveryreport(m-delivery.ind),whichissentviaWAPPushoverSMStotheoriginalsender.
NOWSMSMMSCTRAINING:PHONETOMMSCPROTOCOL(MM1)– ©2015NOWWIRELESS 26
MobileNetwork
WAPGWorHTTPProxy
MMSC
ICAP
SMSC
PushProxyGateway
Receiver
HTTPGET
m-retrieve.conf
PAP
SMPP7
m-delivery.ind
6SMS
Sender
MM1Transaction:Step8Ifthesenderrequestedareadreport,thereceivermaygenerateareport(m-read-rec.ind)whenthesubscriberreadsthemessage.(Thisisdependentonclientconfiguration.)
TheMMSCtranslatestheformatofthereadreport(m-read-orig.ind),whichissentviaWAPPushoverSMStotheoriginalsender.
NOWSMSMMSCTRAINING:PHONETOMMSCPROTOCOL(MM1)– ©2015NOWWIRELESS 27
MobileNetwork
WAPGWorHTTPProxy
MMSC
ICAP
SMSC
PushProxyGateway
Receiver
HTTPPOST
m-read-rec.ind
PAP
SMPP9
m-read-orig.ind
8SMS
Sender
MMSMO(Mobile-Originated)Flow1. SenderactivatesdataconnectiontoMMSAPN.(APNsettingconfiguredinthephone)
2. GGSNsendsRADIUSaccountingmessagetonotifythenetworkaboutthedeviceIPassignment.
3. SendingphonesubmitsanMM1m-send.req totheMMSC.(MMSCServerURLconfiguredinphone.)
4. MMSCmustidentifyandauthenticatesender(X-MSISDNheaderinsertedbyWAPGWorICAP)
5. TheMMSCacceptsandprocessesthecontentoftheMMSmessage.Iftoalocalrecipient,theMMSCstoresandmakesitavailableasadynamicallygeneratedURLlink.
NOWSMSMMSCTRAINING:PHONETOMMSCPROTOCOL(MM1)– ©2015NOWWIRELESS 28
MMSMT(Mobile-Terminated)Flow1. TheMMSCgeneratesanMMSnotificationmessage(m-notification.ind),whichissentvia
WAPPushtotherecipient(s).ThisMMSnotificationmessagecontainsaURLpointertothedynamicallygeneratedMMScontent.
2. TherecipientphoneactivatesdataconnectiontoMMSAPN.(APNsettingconfiguredinthephone)
3. TherecipientphoneperformsanHTTP(orWSP)GETtoretrievetheMMSmessagecontentURLfromtheMMSC.
4. Deliveryreportand/orreadreportactivitymayoccur
NOWSMSMMSCTRAINING:PHONETOMMSCPROTOCOL(MM1)– ©2015NOWWIRELESS 29
WhatisWAPPush?SMSsupportsaconceptofportnumberstoallowapplicationstoregistertoreceivemessagesthataresenttoaspecificportnumber.(WAPPushusesSMSportnumber2948)WAPPushmessagesarebinarymessagesthatcancontaindifferentbinarycontenttypes,oneofwhichisanMMSnotificationtype.WhenthisMMSnotificationmessageisreceived,thephoneroutesittotheMMSclientforprocessing.
NOWSMSMMSCTRAINING:PHONETOMMSCPROTOCOL(MM1)– ©2015NOWWIRELESS 30
AboutWAPPushWAPPushplaysakeyroleintheMMSdeliveryprocess.Bydefault,theNowSMSMMSCexpectstobeabletosendMMSNotificationviaitsbuilt-inWAPPushProxyGateway(PPG),whichdeliversMMSNotificationsusingWAPPushoverSMS.ForGSM/UMTS/WCDMAenvironments,NowSMSautomaticallygeneratesUDH(userdataheader)intheSMSmessages.ForCDMA/CDMA2000environments,theNowSMSSMPPimplementationsupportsWDPAdaptationsothatMMSnotificationmessagescanbedeliveredviaSMSusingtheWAPteleservice.Forotherenvironments,NowSMScanusethePushAccessProtocol(PAP)tosendMMSnotificationmessagesviaaseparateWAPPushProxyGateway(PPG).
NOWSMSMMSCTRAINING:PHONETOMMSCPROTOCOL(MM1)– ©2015NOWWIRELESS 31
MM1UserAuthenticationIssuesTheMM1ProtocoldoesnotdefinehowtheMMSCidentifiesandauthenticatesthesubscriberwhentheMMSclientonamobiledevicesendsorreceivesamessage.TheMMSCisexpectedtointerfacewithotheroperatornetworkcomponentstoidentifyandauthenticatethesubscriber.
NOWSMSMMSCTRAINING:PHONETOMMSCPROTOCOL(MM1)– ©2015NOWWIRELESS 32
HTTPHeaderEnrichmentMMSclientssendHTTPPOSTrequeststotheMMSCoverTCP/IP.AcceptedindustrypracticeistouseHTTPHeaderEnrichmentservicestoinsertadditionalHTTPheadersintotheserequeststoprovideuseridentificationandauthentication.Forexample,thesubscriberMSISDN,isfrequentlyinsertedintooneofthefollowingheaders:◦ X-MSISDN:
◦ msisdn:◦ X-MDN:◦ X-Device-MIN:
NOWSMSMMSCTRAINING:PHONETOMMSCPROTOCOL(MM1)– ©2015NOWWIRELESS 33
WhoperformsHTTPHeaderEnrichment?ThefirstIP-basedmobileoperatorserviceswerebasedonWAPtechnologies,whereaWAPGatewayactedasaproxyforallIP-basedservices.TheseWAPgatewaysoftenperformedHTTPHeaderEnrichmenttoallowIP-basedservicestoidentifysubscribers.TheusualprocessistoconfiguretheGGSNtosendRADIUSAccountingmessagestotheWAPGWeverytimeasubscriberconnectstoordisconnectsfromtheGGSN.TheWAPGWmaintainsatableofactiveconnectionsthatallowittomapIPaddressestodevicephonenumberforHTTPHeaderEnrichment.
NOWSMSMMSCTRAINING:PHONETOMMSCPROTOCOL(MM1)– ©2015NOWWIRELESS 34
HTTPHeaderEnrichmentwithoutaGWAsmobileusagehasgrown,gatewaysandproxieshavebecomenetworkbottlenecks.TheICAPprotocolallowsanHTTPbasedservicetorequestHTTPHeaderEnrichmentondemand,withoutforcingclientstointerfacethroughagatewayorproxy.TheNowSMSMMSCcanbeconfiguredtorequestHTTPHHEviaICAP,andNowWAP canbeconfiguredtoprovidethisICAPbasedservice.
NOWSMSMMSCTRAINING:PHONETOMMSCPROTOCOL(MM1)– ©2015NOWWIRELESS 35