Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
NowSMSMMSCTraining:MMSProtocolOverviewNOVEMBER2015©2015 NOW WIRE L ES S L IM I T ED
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 1
MMSOverviewMMSArchitectureOverviewMMSDeliveryProcessIntegrationWithOtherNetworkComponents◦ SMS- SMPP◦UserAuthentication- WAPGW/RADIUS/ICAP◦ Accounting&Charging- HTTP/DIAMETER◦MNP&MessageRouting
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 2
MMSC(MMSCentre)Providesstore-and-forwardMMSMessagingServiceformobilephonesubscribers
TemporarilystoresMMSmessagesawaitingsubscriberretrieval
MayinterconnectwithMMSCsforothernetworkoperators,eitherwithdirectconnections,orviaanaggregator
MayconvertMMSmessagestootherformats(e.g.,SMSwithweblink)fornon-subscribersorexternalrecipients
MayallowMMSsubmissionsfromValueAddedServiceProviders
Mayapplycontentadaptationonmessagecontentbaseduponcapabilitiesofthereceivingdevice
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 3
MultimediaMessagingService(MMS)DesignedtocomplimentSMSbyprovidingsupportformultimediacontent◦ Text◦ Images◦ Video◦ Audio◦ ContactObjects◦ CalendarObjects◦ SMILPresentation(legacysupport)
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 4
MMSandGroupMessagingSupportsmultiplerecipientsandgroupconversationsThebiggestdriverofMMSmessagetrafficgrowthhasbeenitsuseinmodernsmartphonesforgroupmessagingEvenwhenthecontentistextonly,MMSispreferredforgroupmessagingbecauserecipientscanreplyall,allowingallgroupmemberstoseeallmessages.
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 5
MMSMessageStructureAnMMSMessagehasasimilarstructuretoanSMTPE-MailMessageStructurebaseduponSMTPandMultipartInternetMailExtensions(MIME)◦ Envelope– Recipientsforin-transitmessageinstance.◦ Headers– Sender,DisplayedRecipients,Subject,otherattributes◦ Content– MIMEencodedmultipartcontent.Oneormoremultimediaobjects(text,image,video,etc.)
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 6
MMSEnvelopeRoutingAttributes(senderandrecipient)foraninstanceofanin-transitmessage.
Example:Amessageissenttomultiplerecipients,someofwhicharesubscribersofadifferentmobilenetwork.ThemessagemaybesplitbytheMMSCfordeliverytoanotherMMSC.TheMMSenvelopeforthemessageinstancesenttotheotherMMSCwillbeonlytheremoterecipients.TheenvelopelistofrecipientstellstheotherMMSCwhichrecipientstodeliverthemessageto.
TheMMSHeaderwillstillcontainalistofallrecipientstoprovidefullgroupmessagingsupport.
InMM4/SMTPthesearerepresentedbyMAILFROM:/RCPTTO:commands.
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 7
MMSHeadersSenderRecipients(To/CC/BCC)SubjectPriorityMessageClass(Personal,Advertisement)MessageType(canbedeliveryreportorreadreport)
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 8
MMSContentMultipart(MIME)objectcontainingoneormoreofthefollowing:◦ Text◦ Images◦ Video◦ Audio◦ ContactObjects◦ CalendarObjects◦ SMILPresentation(legacysupport)
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 9
MMSProtocolsOverallArchitecture:3GPPTS23.140http://www.3gpp.orgOver-the-AirPhonetoMMSC:OpenMobileAlliance(OMA)– MMSEncapsulationProtocolhttp://www.openmobilealliance.orgExternalConnectivityProtocols:3GPPTS23.140◦MM4– Interoperator◦MM7– ValueAddedServiceProvider
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 10
MMSProtocols• MM1thruMM11
• Someprotocolsarefullydefined(MM1,MM4,MM7)
• Otherprotocolsarelooselydefined,conceptual,andimplementationdependent
• Definedby3GPPTS23.140
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 11
/MM9
MM1• Interfacebetweenmobile
stationandMMSC
• BasedonHTTP,WAPPushandMIME
• MMScontentencodedasMIMEpayloadusingWAP/WSPbinaryencoding
• DefinedbyOpenMobileAlliance(OMA)– MMSEncapsulationProtocol
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 12
/MM9
MM2• Conceptualinterface
betweentwointernalelementsofanMMSC
• NoactualAPIorprotocoldefined
• MMSRelayprovidesclientinterfaces
• MMSServerprovidesstorageservices
• CommercialMMSCimplementationscombinefunctions
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 13
/MM9
MM3• Conceptualinterface
betweenMMSCandexternalserverssuchasE-Mail,FAXandVoiceMail
• NoactualAPIorprotocoldefined– useofSMTPsuggested
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 14
/MM9
MM4• Interfacebetween
multipleMMSCs
• SMTPbasedprotocoldefinedby3GPPTS23.040
• AdditionalX-MMSSMTPheadersdefined
• DifferentPDUsmappedtoSMTPheaders
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 15
/MM9
MM5• Conceptualinterface
betweenMMSCandHLRformessageroutinglookup
• NoactualAPIorprotocoldefined
• HLRlookupdoesnotprovideroutinginfoforsubscriberMMSC
• NowSMSMMSCusesHTTP-basedroutingcallbacks
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 16
/MM9
MM6• Conceptualinterface
MMSCandsubscriberdatabase
• NoactualAPIorprotocoldefined
• NowSMSMMSCusesHTTP-basedaccountingcallbacks
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 17
/MM9
MM7• InterfacebetweenMMSC
andValueAddedServiceProvider(VASP)applications.
• SOAP/XML/HTTPbasedprotocoldefinedby3GPPTS23.040
• MMScontentencodedasMIMEpayload
• Bi-directionalHTTPPOST– MMSCandVASPcanbothinitiateconnections
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 18
/MM9
MM8&MM9• InterfacebetweenMMSC
andbilling/chargingsystems
• Billinggenerallyreferstopost-paidCDRgeneration
• Charginggenerallyreferstorealtimechargingrequiredbypre-paid
• NowSMSMMSCsupportsHTTPbasedaccountingcallbackswhichsomecustomersusetogenerateCDRs
• NowSMSMMSCsupportsDIAMETERCreditControlorBaseAccounting
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 19
/MM9
MM10• Interfaceformessage
servicecontrolandfiltering
• Relativelynew,noknowncommercialimplementations
• DIAMETERbasedprotocol
• NotimplementedbyNowSMSMMSC
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 20
/MM9
MM11• Conceptualinterface
betweenMMSCandexternaltranscoder
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 21
/MM9
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
MM1OverviewMM1istheover-the-airprotocolforMMSmessagetransmissionbetweenaphoneandthenetwork.DefinedbyOpenMobileAlliance(OMA)– MMSEncapsulationProtocolhttp://www.openmobilealliance.orgBasedonHTTP,WAPPushandMIMEtechnologies
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 23
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
MM1PDUKindsTherearethreekindsofMM1PDUs:1. Request:Denotedastype-name.req2. Confirmation (Response):Denotedastype-name.conf3. Indication (notification):Denotedastype-name.ind (not
confirmed)
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 25
MM1PDUTransmissionWhentheclientneedstosendaPDU(RequestorIndication)totheMMSC,italwaysusesHTTPPOST.◦ IftheMMSCreceivesaRequestPDUviaHTTP,itgeneratesanappropriateConfirmationPDUintheHTTPresponse.
◦ IftheMMSCreceivesanIndicationPDUviaHTTP,itgeneratesanemptyHTTPOKresponse(statuscode200or204).
WhentheMMSCneedstosendaPDU(Indicationonly)toaclient,itonlyusesWAPPush.
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 26
WAP1.xClientConsiderationsOlderMMSclientsbasedupontheWAP1.xprotocolusetheWirelessSessionProtocol(WSP)insteadofHTTP.TheseclientsmustuseaWAPGatewaywhichconvertsbetweenWSPandHTTP.TheMM1interfaceattheMMSCisalwaysHTTPbased.
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 27
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
MMSMessageStructureAnMMSMessagehasasimilarstructuretoanSMTPE-MailMessageStructurebaseduponSMTPandMultipartInternetMailExtensions(MIME)◦ Envelope– Recipientsforin-transitmessageinstance.◦ Headers– Sender,DisplayedRecipients,Subject,otherattributes◦ Content– MIMEencodedmultipartcontent.Oneormoremultimediaobjects(text,image,video,etc.)
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 29
REVIEW
MMSEnvelopeRoutingAttributes(senderandrecipient)foraninstanceofanin-transitmessage.
Example:Amessageissenttomultiplerecipients,someofwhicharesubscribersofadifferentmobilenetwork.ThemessagemaybesplitbytheMMSCfordeliverytoanotherMMSC.TheMMSenvelopeforthemessageinstancesenttotheotherMMSCwillbeonlytheremoterecipients.TheenvelopelistofrecipientstellstheotherMMSCwhichrecipientstodeliverthemessageto.
TheMMSHeaderwillstillcontainalistofallrecipientstoprovidefullgroupmessagingsupport.
InMM4/SMTPthesearerepresentedbyMAILFROM:/RCPTTO:commands.
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 30
REVIEW
MMSHeadersSenderRecipients(To/CC/BCC)SubjectPriorityMessageClass(Personal,Advertisement)MessageType(canbedeliveryreportorreadreport)MessageID
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 31
REVIEW
MMSContentMultipart(MIME)objectcontainingoneormoreofthefollowing:◦ Text◦ Images◦ Video◦ Audio◦ ContactObjects◦ CalendarObjects◦ SMILPresentation(legacysupport)
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 32
REVIEW
MM1MessageEncodingNoMMSEnvelope:AllrecipientsareinMMSHeadersTheMMSEncapsulationProtocoldefinestheMIMEtypeapplication/vnd.wap.mms-message,whichconsistsofheadersandanoptionalcontentbody.MMSHeadersareencodedinabinaryformat,followingtheWAPSessionProtocol(WSP)◦ WSPdefinesasinglebytecodeforcommonheadernamesandvaluestoreducemessagesize
◦ X-MMS-Message-Type:m-retrieve.conf reducesfroma36characterstringtotwobytes:8C84
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 34
MM1MessageEncodingMMSContent isencodedasmultipartMIMEobject.Themultipartobjectis areencodedinabinaryformat,followingtheWAPSessionProtocol(WSP)◦ application/vnd.wap.multipart.related isusedinplaceofmultipart/related
◦ application/vnd.wap.multipart.mixed isusedinplaceofmultipart/mixed
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 35
MM1Transaction:Step1SenderactivatesdataconnectiontoMMSAPN
(APNsettingconfiguredinthephone)
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 36
MobileNetwork
WAPGWorHTTPProxy
MMSC
ICAP
SMSC
PushProxyGateway
Sender
Receiver
1
MM1Transaction:Step2GGSNsendsRADIUSaccountingmessagetonotifythenetworkaboutthedeviceIPassignment.
WAPGatewayorICAPservermaintainstableofactivedeviceIPaddresses.
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 37
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:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 38
MobileNetwork
WAPGWorHTTPProxy
MMSC
ICAP
SMSC
PushProxyGateway
Receiver
RADIUS
m-send.req
HTTPPOST
1
2
3
Sender
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
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
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
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
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
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
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
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
WhatisWAPPush?SMSsupportsaconceptofportnumberstoallowapplicationstoregistertoreceivemessagesthataresenttoaspecificportnumber.(WAPPushusesSMSportnumber2948)WAPPushmessagesarebinarymessagesthatcancontaindifferentbinarycontenttypes,oneofwhichisanMMSnotificationtype.WhenthisMMSnotificationmessageisreceived,thephoneroutesittotheMMSclientforprocessing.
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 47
AboutWAPPushWAPPushplaysakeyroleintheMMSdeliveryprocess.Bydefault,theNowSMSMMSCexpectstobeabletosendMMSNotificationviaitsbuilt-inWAPPushProxyGateway(PPG),whichdeliversMMSNotificationsusingWAPPushoverSMS.ForGSM/UMTS/WCDMAenvironments,NowSMSautomaticallygeneratesUDH(userdataheader)intheSMSmessages.ForCDMA/CDMA2000environments,theNowSMSSMPPimplementationsupportsWDPAdaptationsothatMMSnotificationmessagescanbedeliveredviaSMSusingtheWAPteleservice.Forotherenvironments,NowSMScanusethePushAccessProtocol(PAP)tosendMMSnotificationmessagesviaaseparateWAPPushProxyGateway(PPG).
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 48
MM1UserAuthenticationIssuesTheMM1ProtocoldoesnotdefinehowtheMMSCidentifiesandauthenticatesthesubscriberwhentheMMSclientonamobiledevicesendsorreceivesamessage.TheMMSCisexpectedtointerfacewithotheroperatornetworkcomponentstoidentifyandauthenticatethesubscriber.
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 49
HTTPHeaderEnrichmentMMSclientssendHTTPPOSTrequeststotheMMSCoverTCP/IP.AcceptedindustrypracticeistouseHTTPHeaderEnrichmentservicestoinsertadditionalHTTPheadersintotheserequeststoprovideuseridentificationandauthentication.Forexample,thesubscriberMSISDN,isfrequentlyinsertedintooneofthefollowingheaders:◦ X-MSISDN:
◦ msisdn:◦ X-MDN:◦ X-Device-MIN:
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 50
WhoperformsHTTPHeaderEnrichment?ThefirstIP-basedmobileoperatorserviceswerebasedonWAPtechnologies,whereaWAPGatewayactedasaproxyforallIP-basedservices.TheseWAPgatewaysoftenperformedHTTPHeaderEnrichmenttoallowIP-basedservicestoidentifysubscribers.TheusualprocessistoconfiguretheGGSNtosendRADIUSAccountingmessagestotheWAPGWeverytimeasubscriberconnectstoordisconnectsfromtheGGSN.TheWAPGWmaintainsatableofactiveconnectionsthatallowittomapIPaddressestodevicephonenumberforHTTPHeaderEnrichment.
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 51
HTTPHeaderEnrichmentwithoutaGWAsmobileusagehasgrown,gatewaysandproxieshavebecomenetworkbottlenecks.TheICAPprotocolallowsanHTTPbasedservicetorequestHTTPHeaderEnrichmentondemand,withoutforcingclientstointerfacethroughagatewayorproxy.TheNowSMSMMSCcanbeconfiguredtorequestHTTPHHEviaICAP,andNowWAP canbeconfiguredtoprovidethisICAPbasedservice.
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 52
MM4– MMSCInterconnectTheMM4protocolisusedtointerconnectMMSCs.• SMTPbasedprotocoldefinedby3GPPTS23.040• AdditionalX-MMSSMTPheadersaredefined• DifferentPDUsaremappedtoSMTPheadersWhenasubscribersendsanMMSmessagetoasubscriberonadifferentnetwork,theMM4protocolisusedtotransferthemessagebetweenMMSCs
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 53
MM4– MMSCInterconnectMM4connectionscanexistdirectlybetweenmobileoperators.FrequentlyasingleMM4connectiontoaninterconnectproviderisused.MM4isnotusedforroaming,onlyforinterconnect.
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 54
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
SampleMM4TransactionSMTPAUTHisoptionalandrarelyused
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 56
MM4PDUKindsTherearetwokindsofMM4PDUs:1. Request:DenotedasMM4_type-name.REQ2. Response:DenotedasMM4_type-name.RES
(OftenreferredtoasACKsoracknowledgments)
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 58
MM4PDUTransmissionMM4PDUsaresentusingSMTP.BecausetheSMTPprotocolisuni-directionalandcontainslimitedstatusreportcapability,requestsandtheirassociatedresponsecanneverbetransmittedoverthesameconnection,WhenanMMSChasarequesttotransmittoanotherMMSCoverMM4,itinitiatesanSMTPconnectiontothatMMSCtotransfertherequestPDU.ThereceivingMMSCmusttheninitiateanSMTPconnectionbacktotherequestingMMSCtotransfertheresponsePDU.
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 59
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
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
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
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
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
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
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
MM7– ValueAddedServiceProviders• InterfacebetweenValueAddedServiceProvider(VASP)applicationsandMMSC.
• SOAP/XML/HTTPPOSTbasedprotocoldefinedby3GPPTS23.040• MMSheadersencodedasXMLdocument• MMScontentencodedasMIMEmultipartobject• Bi-directionalHTTPPOST– MMSCandVASPcanbothinitiateconnections
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 67
MM7VariationsandInteroperabilityEarlyversionsofthe3GPPTS23.140specificationdefinedMM7onlyasaconceptualprotocol.ThisleadseveralvendorstodefinetheirownMM7protocols(Ericsson,LogicaCMGandNokia).DifferentversionsoftheMM7specificationhavedefinedmorethan10differentXMLschemaswithsomesignificantdifferencesandincompatibilities.Themostsignificantproblemsarerelatedtointernationalnumberencodingandsenderaddressformats.
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 68
SOAP=SimpleObjectAccessProtocolSOAPisalightweightprotocolfortheexchangeofinformationindistributedenvironments.SOAPtransactionsarerepresentedusingXML.ASOAPtransactioncontainsaSOAPheader,SOAPbodyandanoptionalSOAPattachment.MMSheadersareencodedintheSOAPheaderandSOAPbody.MMScontentisplacedintheSOAPattachmentasaMIMEmultipart.
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 69
SOAPMIMETypesWhenaSOAPtransactioncontainsonlyaSOAPheaderandbody(noMMScontentobjects),suchasadeliveryorreadreport,theMIMEtypetext/xmlisused.WhenaSOAPtransactioncontainsaSOAPattachment(oneormoreMMScontentobjects),theMIMEtypemultipart/relatedisused.Thismultipartwillalwaysconsistofexactlytwoparts,eveniftheMMSmessagecontainsmorethanonecontentobject.Onepartisthetext/xmlSOAPheaderandbody.TheotherpartisamultipartobjectcontainingtheMMScontentobjects.Thiscanbeconfusingasonemultipartobjectisnestedinsideanother.
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 70
SampleMM7MessageThefirstobjectintheoutermultipartobjectistheSOAPheaderandbody,whichisanXMLdocumentcontainingMMSheaders
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 71
SampleMM7Message(continued)ThesecondobjectintheoutermultipartobjectistheSOAPattachment,whichcontainstheMMScontentobjects.Thisisamultipartobjectencodedinsideanothermultipartobject.
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 72
MM7PDUKindsTherearetwokindsofMM7PDUs:1. Request:DenotedasMM7_type-name.REQ2. Response:DenotedasMM7_type-name.RES
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 73
MM7PDUTransmissionMM7PDUsaresentusingHTTPPOST.ThepayloadoftheHTTPrequestcontainstheMM7Request.ThepayloadoftheHTTPresponsecontainstheMM7Response.
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 74
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
MM9– Billing&ChargingInterface• Billinggenerallyreferstopost-paidCDRgeneration• Charginggenerallyreferstorealtimechargingrequiredbypre-paid• NowSMS MMSCsupportsHTTPbasedaccountingcallbackswhichsomecustomersusetogenerateCDRs(orcanbeusedforrealtimecharging)
• NowSMS MMSCsupportsDIAMETERCreditControlorBaseAccountingforrealtimecharging.
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 76
DIAMETER/MM9NowSMS MMSCimplementsDiameterCreditControlforchargingbaseduponthefollowingspecifications:◦ [DIAMBASE]– RFC3588– DiameterBaseProtocol◦ [DIAMCCA]– RFC4006– DiameterCreditControlApplication◦ [3GPPDIAM]– 3GPPTS32.299– 3GPPDiameterChargingApplications◦ [SCAPv2]– EricssonCCNSCAPv2
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 77
DIAMETER/MM9(continued)[3GPPDIAM]definesastandardformatforimplementingMMSchargingoverDiameter,knownasMM9intheMMSprotocolspecifications.WhiletheMMSCpreferenceistouseMM9,itisalsopossibletoconfiguretheMMSCtousegenericchargingprimitivesdefinedin[DIAMCCA]inordertofacilitateinteroperabilitywithawiderbaseofchargingsystems.Optionally,DiameterextensionsdefinedinEricsson’s[SCAPv2]protocolcanbeenabled.
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 78
DIAMETER/MM9(continued)TheMMSCDiameterMM9implementationishighlyconfigurable,withconfigurationsettingsthatallowtheDiameterrequeststobetunedtomeettherequirementsofdifferentchargingsystems.ThecoreDiameterchargingrequestsuseCredit-Control-Requestasdefinedin[DIAMCCA].SeveralextensionsetsaredefinedthatprovideadditionalDiameterparameterstobeincludeinthechargingrequest.Formaximumflexibility,XMLtemplatefilesareusedtodefinetheunderlyingDiameterrequests,allowingforcustomparameterstobeaddedordeletedasrequired.Asanexampleofthisflexibility,templateshavebeencreatedtosupportEricssonSCAPv1,whichusesDiameterBaseAccountinginsteadofDiameterCreditControl.
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 79
DIAMETER/MM9(continued)Moreonthewebsiteathttp://www.nowsms.com/mmsc-diameter-mm9-implementation
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 80
MMSCAccountingCallbacksMMSCaccountingcallbacksprovideaninterfacebetweentheNowSMSMMSCandexternalbillingandchargingsystems.TheseMMSCaccountingcallbacksareHTTP-based.Whenaccountingcallbacksareenabled,theMMSCwillissueHTTPrequeststoacustomersuppliedURLinordertointerfacewiththecustomerbillingandchargingsystems.ToenableMMSCaccountingcallbacks,itisnecessarytomanuallyedittheMMSC.INIconfigurationfile,anddefinethecallbackURLunderthe[MMSC]sectionheader,usingthefollowingconfigurationparameter:MMSAccountingURL=http://server/path
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 81
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
MMSCAccountingCallbacks(continued)Mostoftheaccountingcallbacksareinformationalonly,andexisttorecordcharginginformationaftertheMMSChasprocessedatransaction.However,therearealsopre-authorisation callbackswhichoccurbeforetheMMSCprocessesatransaction.Thesepre-authorisationcallbacksexisttoallowthecustomerbillingsystemtodecidewhetherornotthetransactionshouldbeallowed.Inthisscenario,thecallbackcouldcheckavailablecreditandrejectanMMSmessagetransactionbeforeitisacceptedbytheMMSC.
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 83
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
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
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
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
MMSSend PreAuth Callback(continued)MsgCount=####
ThisparameterspecifiesthenumberofrecipientsforthisMMSmessagetransaction.
(NotethattheMMSSend PreAuth callbackisissuedonlyonceifanMMSmessageisbeingsenttomultiplerecipients.TheMMSSend Chargingcallback,whichrecordsbillingandcharginginformationaftertheMMSChasacceptedthemessage,issuesaseparatecallbackforeachrecipient.)
Size=####
ThisparameterspecifiesthesizeoftheMMSmessageinbytes.
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 88
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
MM5/MNP/MMSRoutingTheNowSMS MMSCimplementsadynamicMMSroutingcallbackfacilityforenvironmentswheremoreadvancedMMSroutingcapabilitiesarerequired.
ThestandardNowSMS MMSCconfigurationallowsforMMSroutingbaseduponphonenumberprefixes.However,inMNPenvironments,itmaybenecessarytoqueryHLRoradatabasetodeterminehowtoproperlyrouteanMMSmessage.
WhentheMMSRoutingcallbackisenabledinNowSMS,eachtimetheMMSCreceivesamessage,itwillconnecttoaconfigurablecustomer-providedroutingcallbackURL,passingthemessagerecipienttotheURL.ThecustomerprovidedURLcanreturnaresponsetoindicatethatthemessageshouldberoutedviaaspecificroutedefinedinthe“MMSCRouting”pageoftheNowSMS configurationdialog,ortheresponsecanindicatethatthemessageshouldberejected.
NOWSMSMMSCTRAINING:MMSPROTOCOLOVERVIEW– ©2015NOWWIRELESS 90
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
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