To send binary data to a single destination address in an SMPP DATA_SM PDU, the Data parameter of a SendGatewayMessage function or the return variable of the CFC listener method must have 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 |
Must be data. |
messagePayload |
The message data. To convert data to binary format, use the ColdFusion ToBinary function. |
destAddress |
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. |
The following optional fields can have default values set 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 |
DestTelematicsId |
NetworkErrorCode |
SetDpf |
callbackNum |
DisplayTime |
NumberOfMessages |
SmsSignal |
callbackNumAtag |
EsmClass |
PayloadType |
SourceAddrSubunit |
callbackNumPresInd |
ItsReplyType |
PrivacyIndicator |
SourceBearerType |
dataCoding |
ItsSessionInfo |
QosTimeToLive |
SourceNetworkType |
DestAddrSubunit |
LanguageIndicator |
ReceiptedMessgeId |
SourcePort |
DestBearerType |
MessageState |
registeredDelivery |
SourceSubaddress |
DestNetworkType |
MoreMsgsToSend |
SarMsgRefNum |
SourceTelematicsId |
DestinationPort |
MsMsgWaitFacilities |
SarSegmentSeqnum |
UserMessageReference |
DestSubaddress |
MsValidity |
SarTotalSegments |
UserResponseCode |
The following example onIncomingMessage method converts an incoming message to binary data, and sends the binary version of the message back to the originator address:
<cffunction name="onIncomingMessage" output="no"> <cfargument name="CFEvent" type="struct" required="yes"> <!--- Get the message ---> <cfset data=CFEvent.DATA> <cfset message="#data.message#"> <!--- Create the return structure ---> <cfset retValue = structNew()> <cfset retValue.command = "data"> <!--- Sending to incoming message originator; get value from CFEvent. ---> <cfset retValue.destAddress = arguments.CFEvent.originatorid> <cfset retValue.messagePayload = tobinary(tobase64("echo: " & message))> <cfreturn retValue> </cffunction>