To send a message to a single destination address in an SMPP SUBMIT_SM PDU, the structure that you used in the Data parameter of a SendGatewayMessage function or the return variable of the CFC listener method has the following fields. For more information about these fields, see the documentation for the SUBMIT_MULTI PDU in the SMPP3.4 specification, which you can download from the SMS Forum at www.smsforum.net/.
Field |
Contents |
---|---|
command |
If present, the value must be submit. If you omit this field, the event gateway sends a submit message. |
shortMessage or messagePayload |
The message contents. You must specify one of these fields, but not both. The SMPP specification imposes a maximum size of 254 bytes on the shortMessage field, and some carriers might limit its size further. The messagePayload field can contain up to 64K bytes; it must start with 0x0424, followed by two bytes specifying the payload length, followed by the message contents. |
destAddress |
Required. The address to which to send the message. |
sourceAddress |
The address of this application. You can omit this field; the configuration file specifies the application address. |
You can set default values for the following optional fields in the SMS event gateway configuration file. For information on the default values, see "Configuring an SMS event gateway" in the ColdFusion Developer's Guide.
destAddress_npi |
destAddress_ton |
serviceType |
|
The following optional fields do not have default values:
alertOnMsgDelivery |
EsmClass |
priorityFlag |
smDefaultMsgId |
callbackNum |
ItsReplyType |
PrivacyIndicator |
SmsSignal |
callbackNumAtag |
ItsSessionInfo |
protocolId |
SourceAddrSubunit |
callbackNumPresInd |
LanguageIndicator |
registeredDelivery |
SourcePort |
dataCoding |
MoreMsgsToSend |
replaceIfPresent |
SourceSubaddress |
DestAddrSubunit |
MsMsgWaitFacilities |
SarMsgRefNum |
UserMessageReference |
DestinationPort |
MsValidity |
SarSegmentSeqnum |
UserResponseCode |
DestSubaddress |
NumberOfMessages |
SarTotalSegments |
UssdServiceOp |
DisplayTime |
PayloadType |
scheduleDeliveryTime |
validityPeriod |
The following example onIncomingMessage method of a listener CFC uses the submit command to echo incoming SMS messages to the message originator:
<cffunction name="onIncomingMessage" output="no"> <cfargument name="CFEvent" type="struct" required="yes"> <!--- Create a return structure that contains the message. ---> <cfset retValue = structNew()> <cfset retValue.command = "submit"> <cfset retValue.destAddress = arguments.CFEvent.originatorid> <cfset retValue.shortMessage = "Echo: " & CFEvent.Data.MESSAGE> <!--- Send the message back. ---> <cfreturn retValue> </cffunction>