mms protocol overview - nowsms protocol overview november 2015 ©2015 nowwireless limited ... •...

92
NowSMS MMSC Training: MMS Protocol Overview NOVEMBER 2015 ©2015 NOW WIRELESS LIMITED NOWSMS MMSC TRAINING: MMS PROTOCOL OVERVIEW – © 2015 NOW WIRELESS 1

Upload: dinhlien

Post on 25-Mar-2018

218 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

NowSMSMMSCTraining:MMSProtocolOverviewNOVEMBER2015©2015 NOW WIRE L ES S L IM I T ED

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 1

Page 2: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MMSOverviewMMSArchitectureOverviewMMSDeliveryProcessIntegrationWithOtherNetworkComponents◦ SMS- SMPP◦UserAuthentication- WAPGW/RADIUS/ICAP◦ Accounting&Charging- HTTP/DIAMETER◦MNP&MessageRouting

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 2

Page 3: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MMSC(MMSCentre)Providesstore-and-forwardMMSMessagingServiceformobilephonesubscribers

TemporarilystoresMMSmessagesawaitingsubscriberretrieval

MayinterconnectwithMMSCsforothernetworkoperators,eitherwithdirectconnections,orviaanaggregator

MayconvertMMSmessagestootherformats(e.g.,SMSwithweblink)fornon-subscribersorexternalrecipients

MayallowMMSsubmissionsfromValueAddedServiceProviders

Mayapplycontentadaptationonmessagecontentbaseduponcapabilitiesofthereceivingdevice

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 3

Page 4: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MultimediaMessagingService(MMS)DesignedtocomplimentSMSbyprovidingsupportformultimediacontent◦ Text◦ Images◦ Video◦ Audio◦ ContactObjects◦ CalendarObjects◦ SMILPresentation(legacysupport)

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 4

Page 5: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MMSandGroupMessagingSupportsmultiplerecipientsandgroupconversationsThebiggestdriverofMMSmessagetrafficgrowthhasbeenitsuseinmodernsmartphonesforgroupmessagingEvenwhenthecontentistextonly,MMSispreferredforgroupmessagingbecauserecipientscanreplyall,allowingallgroupmemberstoseeallmessages.

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 5

Page 6: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MMSMessageStructureAnMMSMessagehasasimilarstructuretoanSMTPE-MailMessageStructurebaseduponSMTPandMultipartInternetMailExtensions(MIME)◦ Envelope– Recipientsforin-transitmessageinstance.◦ Headers– Sender,DisplayedRecipients,Subject,otherattributes◦ Content– MIMEencodedmultipartcontent.Oneormoremultimediaobjects(text,image,video,etc.)

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 6

Page 7: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MMSEnvelopeRoutingAttributes(senderandrecipient)foraninstanceofanin-transitmessage.

Example:Amessageissenttomultiplerecipients,someofwhicharesubscribersofadifferentmobilenetwork.ThemessagemaybesplitbytheMMSCfordeliverytoanotherMMSC.TheMMSenvelopeforthemessageinstancesenttotheotherMMSCwillbeonlytheremoterecipients.TheenvelopelistofrecipientstellstheotherMMSCwhichrecipientstodeliverthemessageto.

TheMMSHeaderwillstillcontainalistofallrecipientstoprovidefullgroupmessagingsupport.

InMM4/SMTPthesearerepresentedbyMAILFROM:/RCPTTO:commands.

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 7

Page 8: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MMSHeadersSenderRecipients(To/CC/BCC)SubjectPriorityMessageClass(Personal,Advertisement)MessageType(canbedeliveryreportorreadreport)

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 8

Page 9: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MMSContentMultipart(MIME)objectcontainingoneormoreofthefollowing:◦ Text◦ Images◦ Video◦ Audio◦ ContactObjects◦ CalendarObjects◦ SMILPresentation(legacysupport)

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 9

Page 10: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MMSProtocolsOverallArchitecture:3GPPTS23.140http://www.3gpp.orgOver-the-AirPhonetoMMSC:OpenMobileAlliance(OMA)– MMSEncapsulationProtocolhttp://www.openmobilealliance.orgExternalConnectivityProtocols:3GPPTS23.140◦MM4– Interoperator◦MM7– ValueAddedServiceProvider

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 10

Page 11: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MMSProtocols• MM1thruMM11

• Someprotocolsarefullydefined(MM1,MM4,MM7)

• Otherprotocolsarelooselydefined,conceptual,andimplementationdependent

• Definedby3GPPTS23.140

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 11

/MM9

Page 12: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM1• Interfacebetweenmobile

stationandMMSC

• BasedonHTTP,WAPPushandMIME

• MMScontentencodedasMIMEpayloadusingWAP/WSPbinaryencoding

• DefinedbyOpenMobileAlliance(OMA)– MMSEncapsulationProtocol

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 12

/MM9

Page 13: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM2• Conceptualinterface

betweentwointernalelementsofanMMSC

• NoactualAPIorprotocoldefined

• MMSRelayprovidesclientinterfaces

• MMSServerprovidesstorageservices

• CommercialMMSCimplementationscombinefunctions

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 13

/MM9

Page 14: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM3• Conceptualinterface

betweenMMSCandexternalserverssuchasE-Mail,FAXandVoiceMail

• NoactualAPIorprotocoldefined– useofSMTPsuggested

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 14

/MM9

Page 15: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM4• Interfacebetween

multipleMMSCs

• SMTPbasedprotocoldefinedby3GPPTS23.040

• AdditionalX-MMSSMTPheadersdefined

• DifferentPDUsmappedtoSMTPheaders

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 15

/MM9

Page 16: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM5• Conceptualinterface

betweenMMSCandHLRformessageroutinglookup

• NoactualAPIorprotocoldefined

• HLRlookupdoesnotprovideroutinginfoforsubscriberMMSC

• NowSMSMMSCusesHTTP-basedroutingcallbacks

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 16

/MM9

Page 17: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM6• Conceptualinterface

MMSCandsubscriberdatabase

• NoactualAPIorprotocoldefined

• NowSMSMMSCusesHTTP-basedaccountingcallbacks

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 17

/MM9

Page 18: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM7• InterfacebetweenMMSC

andValueAddedServiceProvider(VASP)applications.

• SOAP/XML/HTTPbasedprotocoldefinedby3GPPTS23.040

• MMScontentencodedasMIMEpayload

• Bi-directionalHTTPPOST– MMSCandVASPcanbothinitiateconnections

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 18

/MM9

Page 19: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM8&MM9• InterfacebetweenMMSC

andbilling/chargingsystems

• Billinggenerallyreferstopost-paidCDRgeneration

• Charginggenerallyreferstorealtimechargingrequiredbypre-paid

• NowSMSMMSCsupportsHTTPbasedaccountingcallbackswhichsomecustomersusetogenerateCDRs

• NowSMSMMSCsupportsDIAMETERCreditControlorBaseAccounting

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 19

/MM9

Page 20: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM10• Interfaceformessage

servicecontrolandfiltering

• Relativelynew,noknowncommercialimplementations

• DIAMETERbasedprotocol

• NotimplementedbyNowSMSMMSC

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 20

/MM9

Page 21: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM11• Conceptualinterface

betweenMMSCandexternaltranscoder

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 21

/MM9

Page 22: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

KeyProtocols• MM1– Phone<->MMSC

• HTTPPOST• BinaryWSPMIME• WAPPush

• MM4– MMSC<->MMSC• SMTP/MIME

• MM7– VASP<->MMSC• HTTPPOST• SOAP/XMLRequest• MIMEMMSContent

• MM9– Accounting/Billing/Charging• HTTPCallbacks• DIAMETER

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 22

/MM9

Page 23: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM1OverviewMM1istheover-the-airprotocolforMMSmessagetransmissionbetweenaphoneandthenetwork.DefinedbyOpenMobileAlliance(OMA)– MMSEncapsulationProtocolhttp://www.openmobilealliance.orgBasedonHTTP,WAPPushandMIMEtechnologies

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 23

Page 24: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM1ProtocolDataUnits(PDUs)PDUsarethedataelementsthatareexchangedbetweenamobilephoneandtheMMSCPDUsareencodedusingtheMIMEtypeapplication/vnd.wap.mms-messagePDUsaretransferredasthepayloadofHTTPrequests,HTTPresponses,orWAPpushmessagesExample(HTTPPOST):POST / HTTP/1.1Content-Type: application/vnd.wap.mms-messageContent-Length: 99999

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 24

Page 25: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM1PDUKindsTherearethreekindsofMM1PDUs:1. Request:Denotedastype-name.req2. Confirmation (Response):Denotedastype-name.conf3. Indication (notification):Denotedastype-name.ind (not

confirmed)

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 25

Page 26: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM1PDUTransmissionWhentheclientneedstosendaPDU(RequestorIndication)totheMMSC,italwaysusesHTTPPOST.◦ IftheMMSCreceivesaRequestPDUviaHTTP,itgeneratesanappropriateConfirmationPDUintheHTTPresponse.

◦ IftheMMSCreceivesanIndicationPDUviaHTTP,itgeneratesanemptyHTTPOKresponse(statuscode200or204).

WhentheMMSCneedstosendaPDU(Indicationonly)toaclient,itonlyusesWAPPush.

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 26

Page 27: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

WAP1.xClientConsiderationsOlderMMSclientsbasedupontheWAP1.xprotocolusetheWirelessSessionProtocol(WSP)insteadofHTTP.TheseclientsmustuseaWAPGatewaywhichconvertsbetweenWSPandHTTP.TheMM1interfaceattheMMSCisalwaysHTTPbased.

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 27

Page 28: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

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:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 28

Page 29: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MMSMessageStructureAnMMSMessagehasasimilarstructuretoanSMTPE-MailMessageStructurebaseduponSMTPandMultipartInternetMailExtensions(MIME)◦ Envelope– Recipientsforin-transitmessageinstance.◦ Headers– Sender,DisplayedRecipients,Subject,otherattributes◦ Content– MIMEencodedmultipartcontent.Oneormoremultimediaobjects(text,image,video,etc.)

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 29

REVIEW

Page 30: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MMSEnvelopeRoutingAttributes(senderandrecipient)foraninstanceofanin-transitmessage.

Example:Amessageissenttomultiplerecipients,someofwhicharesubscribersofadifferentmobilenetwork.ThemessagemaybesplitbytheMMSCfordeliverytoanotherMMSC.TheMMSenvelopeforthemessageinstancesenttotheotherMMSCwillbeonlytheremoterecipients.TheenvelopelistofrecipientstellstheotherMMSCwhichrecipientstodeliverthemessageto.

TheMMSHeaderwillstillcontainalistofallrecipientstoprovidefullgroupmessagingsupport.

InMM4/SMTPthesearerepresentedbyMAILFROM:/RCPTTO:commands.

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 30

REVIEW

Page 31: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MMSHeadersSenderRecipients(To/CC/BCC)SubjectPriorityMessageClass(Personal,Advertisement)MessageType(canbedeliveryreportorreadreport)MessageID

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 31

REVIEW

Page 32: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MMSContentMultipart(MIME)objectcontainingoneormoreofthefollowing:◦ Text◦ Images◦ Video◦ Audio◦ ContactObjects◦ CalendarObjects◦ SMILPresentation(legacysupport)

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 32

REVIEW

Page 33: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 33

REVIEW

Page 34: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM1MessageEncodingNoMMSEnvelope:AllrecipientsareinMMSHeadersTheMMSEncapsulationProtocoldefinestheMIMEtypeapplication/vnd.wap.mms-message,whichconsistsofheadersandanoptionalcontentbody.MMSHeadersareencodedinabinaryformat,followingtheWAPSessionProtocol(WSP)◦ WSPdefinesasinglebytecodeforcommonheadernamesandvaluestoreducemessagesize

◦ X-MMS-Message-Type:m-retrieve.conf reducesfroma36characterstringtotwobytes:8C84

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 34

Page 35: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM1MessageEncodingMMSContent isencodedasmultipartMIMEobject.Themultipartobjectis areencodedinabinaryformat,followingtheWAPSessionProtocol(WSP)◦ application/vnd.wap.multipart.related isusedinplaceofmultipart/related

◦ application/vnd.wap.multipart.mixed isusedinplaceofmultipart/mixed

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 35

Page 36: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM1Transaction:Step1SenderactivatesdataconnectiontoMMSAPN

(APNsettingconfiguredinthephone)

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 36

MobileNetwork

WAPGWorHTTPProxy

MMSC

ICAP

SMSC

PushProxyGateway

Sender

Receiver

1

Page 37: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM1Transaction:Step2GGSNsendsRADIUSaccountingmessagetonotifythenetworkaboutthedeviceIPassignment.

WAPGatewayorICAPservermaintainstableofactivedeviceIPaddresses.

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 37

MobileNetwork

WAPGWorHTTPProxy

MMSC

ICAP

SMSC

PushProxyGateway

Receiver

RADIUS

1

2

Sender

Page 38: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM1Transaction:Step3SendingphonesubmitsanMM1m-send.req totheMMSC.(MMSCServerURLconfiguredinphone.)MMSCreceivesm-send.req inHTTPPOST

Phonemaysubmit:• WAP1/WSPPOSTvia

WAPGW• WAP2/HTTPPOSTvia

Proxy• HTTPPOSTdirectto

MMSC

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 38

MobileNetwork

WAPGWorHTTPProxy

MMSC

ICAP

SMSC

PushProxyGateway

Receiver

RADIUS

m-send.req

HTTPPOST

1

2

3

Sender

Page 39: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM1Transaction:Step4MMSCmustidentifyandauthenticatesender

MM1doesnotdefinehowthisisdone

Twooptions:

• WAPGWorHTTPProxyinsertsX-MSISDNHTTPheader

• MMSCrequestsMSISDNusingICAP

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 39

MobileNetwork

WAPGWorHTTPProxy

MMSC

ICAP

SMSC

PushProxyGateway

Receiver

RADIUS

m-send.req

HTTPPOST

ICAP

1

2

3

4b

Sender

Page 40: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM1Transaction:Step5TheMMSCacceptsandprocessesthecontentoftheMMSmessage.Iftoalocalrecipient,theMMSCstoresandmakesitavailableasadynamicallygeneratedURLlink.TheMMSCgeneratesanMMSnotificationmessage(m-notification.ind),whichissentviaWAPPushoverSMStotherecipient(s).ThisMMSnotificationmessagecontainsaURLpointertothedynamicallygeneratedMMScontent.

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 40

MobileNetwork

WAPGWorHTTPProxy

MMSC

ICAP

SMSC

PushProxyGateway

Receiver

RADIUS

m-send.req

HTTPPOST

ICAP

1

2

3

4b

Sender

Page 41: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM1Transaction:Step5(continued)m-notification.ind WAPpushmaybesubmittedtoaPushProxyGatewayusingthePushAccessProtocol(PAP)

OritmaybeencodeddirectlytoSMSformatandsubmittedusingSMPP

SMSmessagegeneratedisusuallya2partlongmessage

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 41

MobileNetwork

WAPGWorHTTPProxy

MMSC

ICAP

SMSC

PushProxyGateway

Receiver

RADIUS

m-send.req

HTTPPOST

ICAP

1

2

3

4b

PAP

SMPP5

SMS

m-notification.ind

Sender

Page 42: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM1Transaction:Step6TherecipientphoneactivatesdataconnectiontoMMSAPN.(APNsettingconfiguredinthephone)

TherecipientphoneperformsanHTTP(orWSP)GETtoretrievetheMMSmessagecontentURLfromtheMMSC.

TheHTTPresponseistheMMSmessageinanm-retrieve.conf PDU.

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 42

MobileNetwork

WAPGWorHTTPProxy

MMSC

ICAP

SMSC

PushProxyGateway

Receiver

HTTPGET

m-retrieve.conf

6

Sender

Page 43: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM1Transaction:Step7Ifthesenderrequestedadeliveryreport,theMMSCgeneratesanMMSdeliveryreport(m-delivery.ind),whichissentviaWAPPushoverSMStotheoriginalsender.

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 43

MobileNetwork

WAPGWorHTTPProxy

MMSC

ICAP

SMSC

PushProxyGateway

Receiver

HTTPGET

m-retrieve.conf

PAP

SMPP7

m-delivery.ind

6SMS

Sender

Page 44: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM1Transaction:Step8Ifthesenderrequestedareadreport,thereceivermaygenerateareport(m-read-rec.ind)whenthesubscriberreadsthemessage.(Thisisdependentonclientconfiguration.)

TheMMSCtranslatestheformatofthereadreport(m-read-orig.ind),whichissentviaWAPPushoverSMStotheoriginalsender.

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 44

MobileNetwork

WAPGWorHTTPProxy

MMSC

ICAP

SMSC

PushProxyGateway

Receiver

HTTPPOST

m-read-rec.ind

PAP

SMPP9

m-read-orig.ind

8SMS

Sender

Page 45: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MMSMO(Mobile-Originated)Flow1. SenderactivatesdataconnectiontoMMSAPN.(APNsettingconfiguredinthephone)

2. GGSNsendsRADIUSaccountingmessagetonotifythenetworkaboutthedeviceIPassignment.

3. SendingphonesubmitsanMM1m-send.req totheMMSC.(MMSCServerURLconfiguredinphone.)

4. MMSCmustidentifyandauthenticatesender(X-MSISDNheaderinsertedbyWAPGWorICAP)

5. TheMMSCacceptsandprocessesthecontentoftheMMSmessage.Iftoalocalrecipient,theMMSCstoresandmakesitavailableasadynamicallygeneratedURLlink.

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 45

Page 46: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MMSMT(Mobile-Terminated)Flow1. TheMMSCgeneratesanMMSnotificationmessage(m-notification.ind),whichissentvia

WAPPushtotherecipient(s).ThisMMSnotificationmessagecontainsaURLpointertothedynamicallygeneratedMMScontent.

2. TherecipientphoneactivatesdataconnectiontoMMSAPN.(APNsettingconfiguredinthephone)

3. TherecipientphoneperformsanHTTP(orWSP)GETtoretrievetheMMSmessagecontentURLfromtheMMSC.

4. Deliveryreportand/orreadreportactivitymayoccur

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 46

Page 47: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

WhatisWAPPush?SMSsupportsaconceptofportnumberstoallowapplicationstoregistertoreceivemessagesthataresenttoaspecificportnumber.(WAPPushusesSMSportnumber2948)WAPPushmessagesarebinarymessagesthatcancontaindifferentbinarycontenttypes,oneofwhichisanMMSnotificationtype.WhenthisMMSnotificationmessageisreceived,thephoneroutesittotheMMSclientforprocessing.

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 47

Page 48: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

AboutWAPPushWAPPushplaysakeyroleintheMMSdeliveryprocess.Bydefault,theNowSMSMMSCexpectstobeabletosendMMSNotificationviaitsbuilt-inWAPPushProxyGateway(PPG),whichdeliversMMSNotificationsusingWAPPushoverSMS.ForGSM/UMTS/WCDMAenvironments,NowSMSautomaticallygeneratesUDH(userdataheader)intheSMSmessages.ForCDMA/CDMA2000environments,theNowSMSSMPPimplementationsupportsWDPAdaptationsothatMMSnotificationmessagescanbedeliveredviaSMSusingtheWAPteleservice.Forotherenvironments,NowSMScanusethePushAccessProtocol(PAP)tosendMMSnotificationmessagesviaaseparateWAPPushProxyGateway(PPG).

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 48

Page 49: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM1UserAuthenticationIssuesTheMM1ProtocoldoesnotdefinehowtheMMSCidentifiesandauthenticatesthesubscriberwhentheMMSclientonamobiledevicesendsorreceivesamessage.TheMMSCisexpectedtointerfacewithotheroperatornetworkcomponentstoidentifyandauthenticatethesubscriber.

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 49

Page 50: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

HTTPHeaderEnrichmentMMSclientssendHTTPPOSTrequeststotheMMSCoverTCP/IP.AcceptedindustrypracticeistouseHTTPHeaderEnrichmentservicestoinsertadditionalHTTPheadersintotheserequeststoprovideuseridentificationandauthentication.Forexample,thesubscriberMSISDN,isfrequentlyinsertedintooneofthefollowingheaders:◦ X-MSISDN:

◦ msisdn:◦ X-MDN:◦ X-Device-MIN:

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 50

Page 51: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

WhoperformsHTTPHeaderEnrichment?ThefirstIP-basedmobileoperatorserviceswerebasedonWAPtechnologies,whereaWAPGatewayactedasaproxyforallIP-basedservices.TheseWAPgatewaysoftenperformedHTTPHeaderEnrichmenttoallowIP-basedservicestoidentifysubscribers.TheusualprocessistoconfiguretheGGSNtosendRADIUSAccountingmessagestotheWAPGWeverytimeasubscriberconnectstoordisconnectsfromtheGGSN.TheWAPGWmaintainsatableofactiveconnectionsthatallowittomapIPaddressestodevicephonenumberforHTTPHeaderEnrichment.

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 51

Page 52: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

HTTPHeaderEnrichmentwithoutaGWAsmobileusagehasgrown,gatewaysandproxieshavebecomenetworkbottlenecks.TheICAPprotocolallowsanHTTPbasedservicetorequestHTTPHeaderEnrichmentondemand,withoutforcingclientstointerfacethroughagatewayorproxy.TheNowSMSMMSCcanbeconfiguredtorequestHTTPHHEviaICAP,andNowWAP canbeconfiguredtoprovidethisICAPbasedservice.

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 52

Page 53: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM4– MMSCInterconnectTheMM4protocolisusedtointerconnectMMSCs.• SMTPbasedprotocoldefinedby3GPPTS23.040• AdditionalX-MMSSMTPheadersaredefined• DifferentPDUsaremappedtoSMTPheadersWhenasubscribersendsanMMSmessagetoasubscriberonadifferentnetwork,theMM4protocolisusedtotransferthemessagebetweenMMSCs

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 53

Page 54: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM4– MMSCInterconnectMM4connectionscanexistdirectlybetweenmobileoperators.FrequentlyasingleMM4connectiontoaninterconnectproviderisused.MM4isnotusedforroaming,onlyforinterconnect.

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 54

Page 55: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM4MessageEncodingTheMMSEnvelopecontainsRoutingAttributes(senderandrecipient)foraninstanceofanin-transitmessage.InMM4,thisenvelopeisrepresentedbythestandardSMTPMAILFROM:andRCPTTO:commands.

TheMMSHeadersarerepresentedasSMTPHeaders,withMMSspecificheadersprefixedbyX-MMS- (e.g.,X-MMS-Message-Type:).Theseheadersaredefinedin3GPPTS23.140.

TheMMSContent isencodedasastandardSMTPMIMEmultipartobject.Notethatevenifthereisonlyasinglecontentobject(e.g.,imageonly),manyimplementationsstillexpectaMIMEmultipartwithonly1part.

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 55

Page 56: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

SampleMM4TransactionSMTPAUTHisoptionalandrarelyused

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 56

Page 57: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

SampleMM4Message

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 57

Page 58: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM4PDUKindsTherearetwokindsofMM4PDUs:1. Request:DenotedasMM4_type-name.REQ2. Response:DenotedasMM4_type-name.RES

(OftenreferredtoasACKsoracknowledgments)

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 58

Page 59: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM4PDUTransmissionMM4PDUsaresentusingSMTP.BecausetheSMTPprotocolisuni-directionalandcontainslimitedstatusreportcapability,requestsandtheirassociatedresponsecanneverbetransmittedoverthesameconnection,WhenanMMSChasarequesttotransmittoanotherMMSCoverMM4,itinitiatesanSMTPconnectiontothatMMSCtotransfertherequestPDU.ThereceivingMMSCmusttheninitiateanSMTPconnectionbacktotherequestingMMSCtotransfertheresponsePDU.

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 59

Page 60: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM4PDUsTransaction PDUTypeName

SendMessage MM4_forward.REQ

MM4_forward.RES

DeliveryReport MM4_delivery_report.REQ

MM4_delivery_report.RES

ReadReport MM4_read_reply_report.REQ

MM4_read_reply_report.RES

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 60

Page 61: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM4Transaction:SimplifiedStep1

StandardMM1MMSMOLogicFlow

MM1m-send.req fromsendingclienttotheiroperatorMMSC

MM1m-send.conf confirmsMMSCacceptanceofmessage

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 61

MobileNetworkA

MMSCNetworkA

Receiver

Sender

MobileNetworkB

MMSCNetworkB

MM1:m-send.req /m-send.conf1

Page 62: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM4Transaction:SimplifiedStep2

MMSCinitiatesMM4connectiontootheroperatorMMSCandusesMM4_forward.REQtransactiontotransfermessage.

OtherMMSCinitiatesMM4connectionbacktooriginatorMMSCandusesMM4_forward.REStransactiontoconfirmMMSCacceptanceofmessage

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 62

MobileNetworkA

MMSCNetworkA

Receiver

Sender

MobileNetworkB

MMSCNetworkB

MM1:m-send.req /m-send.conf

MM4:MM4_forward.REQMM4_forward.RES

1

2

Page 63: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM4Transaction:SimplifiedStep3

StandardMM1MMSMTLogicFlow

ReceiverMMSCpostsMM1m-notification.ind toreceivingdeviceoverWAPPush

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 63

MobileNetworkA

MMSCNetworkA

Receiver

Sender

MobileNetworkB

MMSCNetworkB

MM1:m-send.req /m-send.conf

MM4:MM4_forward.REQMM4_forward.RES

MM1:m-notification.ind

1

23

Page 64: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM4Transaction:SimplifiedTherecipientphoneperformsanHTTP(orWSP)GETtoretrievetheMMSmessagecontentURLfromtheMMSC.

TheHTTPresponseistheMMSmessageinanm-retrieve.conf PDU.

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 64

MobileNetworkA

MMSCNetworkA

Receiver

Sender

MobileNetworkB

MMSCNetworkB

MM1:m-send.req /m-send.conf

MM4:MM4_forward.REQMM4_forward.RES

MM1:m-notification.ind

1

23

HTTPGET/MM1:m-retrieve.conf 4

Page 65: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM4Transaction:SimplifiedAfterMMSdelivery,ifadeliveryreportwasrequested:

ReceiverMMSCinitiatesMM4connectiontooriginatorMMSCandissuesMM4_delivery_report.REQ.

OriginatorMMSCinitiatesMM4connectionbacktoreceiverMMSCandusesMM4_delivery_report.REStransactiontoconfirmMMSCacceptanceofdeliveryreport.

MM1deliveryreportispushedtosender.

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 65

MobileNetworkA

MMSCNetworkA

Receiver

Sender

MobileNetworkB

MMSCNetworkB

MM4:MM4_delivery_report.REQMM4_delivery_report.RES

5

HTTPGET/MM1:m-retrieve.conf 4

MM1:m-delivery.ind6

Page 66: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM4Transaction:SimplifiedAfterMMSisread,ifareadreportwasrequestedandreceiverallowsreadreports:ReceiverpostsanMM1m-read-rec.ind totheirMMSCReceiverMMSCinitiatesMM4connectiontooriginatorMMSCandissuesMM4_read_reply_report.REQ.OriginatorMMSCinitiatesMM4connectionbacktoreceiverMMSCandusesMM4_read_reply_report.REStransactiontoconfirmMMSCacceptanceofdeliveryreport.MM1readreport(m-read-orig.ind)ƒs ispushedtosender.

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 66

MobileNetworkA

MMSCNetworkA

Receiver

Sender

MobileNetworkB

MMSCNetworkB

MM4:MM4_read_reply_report.REQMM4_read_reply_report.RES

8

MM1:m-read-rec.ind 7

MM1:m-read-orig.ind9

Page 67: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM7– ValueAddedServiceProviders• InterfacebetweenValueAddedServiceProvider(VASP)applicationsandMMSC.

• SOAP/XML/HTTPPOSTbasedprotocoldefinedby3GPPTS23.040• MMSheadersencodedasXMLdocument• MMScontentencodedasMIMEmultipartobject• Bi-directionalHTTPPOST– MMSCandVASPcanbothinitiateconnections

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 67

Page 68: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM7VariationsandInteroperabilityEarlyversionsofthe3GPPTS23.140specificationdefinedMM7onlyasaconceptualprotocol.ThisleadseveralvendorstodefinetheirownMM7protocols(Ericsson,LogicaCMGandNokia).DifferentversionsoftheMM7specificationhavedefinedmorethan10differentXMLschemaswithsomesignificantdifferencesandincompatibilities.Themostsignificantproblemsarerelatedtointernationalnumberencodingandsenderaddressformats.

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 68

Page 69: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

SOAP=SimpleObjectAccessProtocolSOAPisalightweightprotocolfortheexchangeofinformationindistributedenvironments.SOAPtransactionsarerepresentedusingXML.ASOAPtransactioncontainsaSOAPheader,SOAPbodyandanoptionalSOAPattachment.MMSheadersareencodedintheSOAPheaderandSOAPbody.MMScontentisplacedintheSOAPattachmentasaMIMEmultipart.

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 69

Page 70: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

SOAPMIMETypesWhenaSOAPtransactioncontainsonlyaSOAPheaderandbody(noMMScontentobjects),suchasadeliveryorreadreport,theMIMEtypetext/xmlisused.WhenaSOAPtransactioncontainsaSOAPattachment(oneormoreMMScontentobjects),theMIMEtypemultipart/relatedisused.Thismultipartwillalwaysconsistofexactlytwoparts,eveniftheMMSmessagecontainsmorethanonecontentobject.Onepartisthetext/xmlSOAPheaderandbody.TheotherpartisamultipartobjectcontainingtheMMScontentobjects.Thiscanbeconfusingasonemultipartobjectisnestedinsideanother.

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 70

Page 71: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

SampleMM7MessageThefirstobjectintheoutermultipartobjectistheSOAPheaderandbody,whichisanXMLdocumentcontainingMMSheaders

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 71

Page 72: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

SampleMM7Message(continued)ThesecondobjectintheoutermultipartobjectistheSOAPattachment,whichcontainstheMMScontentobjects.Thisisamultipartobjectencodedinsideanothermultipartobject.

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 72

Page 73: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM7PDUKindsTherearetwokindsofMM7PDUs:1. Request:DenotedasMM7_type-name.REQ2. Response:DenotedasMM7_type-name.RES

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 73

Page 74: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM7PDUTransmissionMM7PDUsaresentusingHTTPPOST.ThepayloadoftheHTTPrequestcontainstheMM7Request.ThepayloadoftheHTTPresponsecontainstheMM7Response.

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 74

Page 75: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM7PDUsTransaction Flow ofTransaction PDUTypeName

SubmitMessage POST:VASPtoMMSC MM7_submit.REQ

ResponsefromMMSC MM7_submit.RES

DeliverMessage POST:MMSCtoVASP MM7_deliver.REQ

ResponsefromVASP MM7_deliver.RES

DeliveryReport POST:MMSCtoVASP MM7_delivery_report.REQ

ResponsefromVASP MM7_delivery_report.RES

ReadReport POST:MMSCtoVASP MM7_read_reply_report.REQ

ResponsefromVASP MM7_read_reply_report.RES

MMSCError ResponsefromMMSC MM7_RS_error.RES

VASPError ResponsefromVASP MM7_VASP_error.RES

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 75

Page 76: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM9– Billing&ChargingInterface• Billinggenerallyreferstopost-paidCDRgeneration• Charginggenerallyreferstorealtimechargingrequiredbypre-paid• NowSMS MMSCsupportsHTTPbasedaccountingcallbackswhichsomecustomersusetogenerateCDRs(orcanbeusedforrealtimecharging)

• NowSMS MMSCsupportsDIAMETERCreditControlorBaseAccountingforrealtimecharging.

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 76

Page 77: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

DIAMETER/MM9NowSMS MMSCimplementsDiameterCreditControlforchargingbaseduponthefollowingspecifications:◦ [DIAMBASE]– RFC3588– DiameterBaseProtocol◦ [DIAMCCA]– RFC4006– DiameterCreditControlApplication◦ [3GPPDIAM]– 3GPPTS32.299– 3GPPDiameterChargingApplications◦ [SCAPv2]– EricssonCCNSCAPv2

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 77

Page 78: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

DIAMETER/MM9(continued)[3GPPDIAM]definesastandardformatforimplementingMMSchargingoverDiameter,knownasMM9intheMMSprotocolspecifications.WhiletheMMSCpreferenceistouseMM9,itisalsopossibletoconfiguretheMMSCtousegenericchargingprimitivesdefinedin[DIAMCCA]inordertofacilitateinteroperabilitywithawiderbaseofchargingsystems.Optionally,DiameterextensionsdefinedinEricsson’s[SCAPv2]protocolcanbeenabled.

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 78

Page 79: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

DIAMETER/MM9(continued)TheMMSCDiameterMM9implementationishighlyconfigurable,withconfigurationsettingsthatallowtheDiameterrequeststobetunedtomeettherequirementsofdifferentchargingsystems.ThecoreDiameterchargingrequestsuseCredit-Control-Requestasdefinedin[DIAMCCA].SeveralextensionsetsaredefinedthatprovideadditionalDiameterparameterstobeincludeinthechargingrequest.Formaximumflexibility,XMLtemplatefilesareusedtodefinetheunderlyingDiameterrequests,allowingforcustomparameterstobeaddedordeletedasrequired.Asanexampleofthisflexibility,templateshavebeencreatedtosupportEricssonSCAPv1,whichusesDiameterBaseAccountinginsteadofDiameterCreditControl.

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 79

Page 80: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

DIAMETER/MM9(continued)Moreonthewebsiteathttp://www.nowsms.com/mmsc-diameter-mm9-implementation

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 80

Page 81: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MMSCAccountingCallbacksMMSCaccountingcallbacksprovideaninterfacebetweentheNowSMSMMSCandexternalbillingandchargingsystems.TheseMMSCaccountingcallbacksareHTTP-based.Whenaccountingcallbacksareenabled,theMMSCwillissueHTTPrequeststoacustomersuppliedURLinordertointerfacewiththecustomerbillingandchargingsystems.ToenableMMSCaccountingcallbacks,itisnecessarytomanuallyedittheMMSC.INIconfigurationfile,anddefinethecallbackURLunderthe[MMSC]sectionheader,usingthefollowingconfigurationparameter:MMSAccountingURL=http://server/path

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 81

Page 82: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MMSCAccountingCallbacks(continued)WhenevertheMMSCprocessesanMMSmessage,itissuesanaccountingcallbackbyissuinganHTTPtransactiontothecallbackURL.VariablesdescribingtheMMStransactionareappendedtotheMMSAccoutingURL asHTTPGETCGI-stylevariables,withstandardURLescapingappliedforencodingreservedcharacters.Forexample:http://server/path?PreAuth=Yes&Type=MMSSend&From=%2B449999999999&To=%2B447777777777&MsgCount=1

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 82

Page 83: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MMSCAccountingCallbacks(continued)Mostoftheaccountingcallbacksareinformationalonly,andexisttorecordcharginginformationaftertheMMSChasprocessedatransaction.However,therearealsopre-authorisation callbackswhichoccurbeforetheMMSCprocessesatransaction.Thesepre-authorisationcallbacksexisttoallowthecustomerbillingsystemtodecidewhetherornotthetransactionshouldbeallowed.Inthisscenario,thecallbackcouldcheckavailablecreditandrejectanMMSmessagetransactionbeforeitisacceptedbytheMMSC.

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 83

Page 84: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MMSSend PreAuth CallbackThiscallbackisexecutedwhenanMMSsubscriber,ValueAddedServiceProvider(VASP)orMMSCinterconnectpartner,isrequestingtosendamessage.Thisisa“pre-authorisation”request,anddoesnotmeanthatthemessagewillactuallybeacceptedbyNowSMS fordelivery.IfNowSMS cannotsuccessfullyconnecttotheaccountingURL,ortheURLreturnsaresponseotherthanastandard“HTTP200OK”response,theuserrequesttosendamessagewillbeblocked.A“PreAuth”requesttosendamessagewillalsobeblockediftheHTTPresponsecontentincludesthetext“PreAuth=Deny”.

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 84

Page 85: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MMSSend PreAuth Callback (continued)ThefollowingparametervariablesmaybesetfortheMMSSend pre-authorisation request:

PreAuth=Yes

Thepresenceofthisparameterindicatesthatthiscallbackisapre-authorisation request.

Type=MMSSend

ThetransactiontypeisMMSSend,indicatingthatarequestisbeingmadetosendanMMSmessage.

From=SenderPhoneNumber

Thisparametercontainsthephonenumberofthesubscriberthatissendingthemessage.NotethatURLescapingrulesrequirethe“+”symboltobeencodedas“%2B”.

To=RecipientPhoneNumber (maybeacommadelimitedlistwithmultiplerecipients)

Thisparametercontainsoneormorerecipientphonenumbers.Ifmorethanonephonenumberispresent,thiswillbeacommadelimitedlistofrecipientphonenumbers.(NotethatURLescapingrulesrequirethe“,”symboltobeencodedas“%2C”.)

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 85

Page 86: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MMSSend PreAuth Callback(continued)VASPIN=MmscVaspName

ThisparameterispresentifthemessageisarrivingfromaValueAddedServiceProviderorMMSCinterconnectpartner.Thevalueofthisparameterreferstotheaccountnameasdefinedinthe“MMSCVASP”list.

NotethatsomeversionsofNowSMS mayprefacetheMmscVaspName withthetext“VASP:”.

VASP=MmscOutboundRoute (maybeacommadelimitedlistifmultiplerecipients)

ThisparameterispresentiftheMMSChasdeterminedthatthemessagemustberoutedviaanexternalroutefordelivery.Thevalueofthisparameterreferstotheaccountnameasdefinedinthe“MMSCRouting”list.

Ifthemessageisbeingsenttomultiplerecipients,thisfieldmaycontainacommadelimitedlistofrouteswitharoutelistedforeachrecipient.Ifthereisamixoflocalandremoterecipients,localrecipientswillhaveablankentrywithinthecommadelimitedlistofroutes.

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 86

Page 87: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MMSSend PreAuth Callback(continued)VASPIN=MmscVaspName

ThisparameterispresentifthemessageisarrivingfromaValueAddedServiceProviderorMMSCinterconnectpartner.Thevalueofthisparameterreferstotheaccountnameasdefinedinthe“MMSCVASP”list.

NotethatsomeversionsofNowSMS mayprefacetheMmscVaspName withthetext“VASP:”.

VASP=MmscOutboundRoute (maybeacommadelimitedlistifmultiplerecipients)

ThisparameterispresentiftheMMSChasdeterminedthatthemessagemustberoutedviaanexternalroutefordelivery.Thevalueofthisparameterreferstotheaccountnameasdefinedinthe“MMSCRouting”list.

Ifthemessageisbeingsenttomultiplerecipients,thisfieldmaycontainacommadelimitedlistofrouteswitharoutelistedforeachrecipient.Ifthereisamixoflocalandremoterecipients,localrecipientswillhaveablankentrywithinthecommadelimitedlistofroutes.

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 87

Page 88: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MMSSend PreAuth Callback(continued)MsgCount=####

ThisparameterspecifiesthenumberofrecipientsforthisMMSmessagetransaction.

(NotethattheMMSSend PreAuth callbackisissuedonlyonceifanMMSmessageisbeingsenttomultiplerecipients.TheMMSSend Chargingcallback,whichrecordsbillingandcharginginformationaftertheMMSChasacceptedthemessage,issuesaseparatecallbackforeachrecipient.)

Size=####

ThisparameterspecifiesthesizeoftheMMSmessageinbytes.

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 88

Page 89: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MMSSend PreAuth Callback(continued)Dependingonsystemconfiguration,additionalparameterssuchasSGSNAddress,SGSNMCCMNC(usedtodetectroamingsubscribers)andIMSImayalsobeavailabletothecallback. Forinformationontheseparameters,see DetectingRoamingSubscribers athttp://www.nowsms.com/operator-mmsc-accounting-detecting-roaming-subscribers

Additionalcallbackdocumentationcanbefoundathttp://www.nowsms.com/doc/advanced-configuration-settings/mms-accounting-callbacks

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 89

Page 90: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM5/MNP/MMSRoutingTheNowSMS MMSCimplementsadynamicMMSroutingcallbackfacilityforenvironmentswheremoreadvancedMMSroutingcapabilitiesarerequired.

ThestandardNowSMS MMSCconfigurationallowsforMMSroutingbaseduponphonenumberprefixes.However,inMNPenvironments,itmaybenecessarytoqueryHLRoradatabasetodeterminehowtoproperlyrouteanMMSmessage.

WhentheMMSRoutingcallbackisenabledinNowSMS,eachtimetheMMSCreceivesamessage,itwillconnecttoaconfigurablecustomer-providedroutingcallbackURL,passingthemessagerecipienttotheURL.ThecustomerprovidedURLcanreturnaresponsetoindicatethatthemessageshouldberoutedviaaspecificroutedefinedinthe“MMSCRouting”pageoftheNowSMS configurationdialog,ortheresponsecanindicatethatthemessageshouldberejected.

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 90

Page 91: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM5/MNP/MMSRouting(continued)TheMMSroutingcallbackURLisdefinedintheMMSC.INIfile,underthe[MMSC]sectionheader:

MMSRoutingURL=http://server.name/path

ThevariableslistedbelowwillbeaddedtotheMMSRoutingURL whentheURLisexecutedbythegatewayasHTTPGET(CGI-style)parameters.

Type=MMSRouteCheck (Note:Future“Type”valuesmaybeaddedinthefuture.)

From=SenderPhoneNumber ore-mailaddressVASPIN=VASPname (presentifthemessagewasreceivedviaaspecificaccountdefinedinthe“MMSCVASP”list)

To=RecipientPhoneNumber

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 91

Page 92: MMS Protocol Overview - NowSMS Protocol Overview NOVEMBER 2015 ©2015 NOWWIRELESS LIMITED ... • DIAMETER based protocol • Not implemented by …

MM5/MNP/MMSRouting(continued)Example:

http://server.name/path?Type=MMSRouteCheck&From=%2B1234567&VASPIN=test&To=%2B9999999999

(Note:The“%2B”intheaboveexamplesisstandardURLescapingforthe“+”character.)

Tospecifywhichoftheroutesdefinedinthe“MMSCRouting”listshouldbeusedtoroutethismessage,theURLmustreturnastandardHTTP200OKresponse,andincludethefollowingtextsomewhereintheresponse:

Route=xxxxxxx

“xxxxxxx”shouldmatchan“AccountName”definedinthe“MMSCRouting”list,oritcanusethepredefinedvaluesof“Direct”(signifyingMMSCDirectDelivery),“WAPPush”(signifying“ConverttoMultimediaWAPPush”),or“BlockMessage”(signifyingtheMMSCshouldrejectthemessage).

NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 92