submitMulti command

To send a single text message to multiple recipients using an SMPP SUBMIT_MULTI PDU, the Data parameter of a SendGatewayMessage function or the return variable of the CFC listener method usually 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/.

Required fields

Field

Contents

command

Must be submitMulti.

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

A ColdFusion array of destination addresses (required).

You cannot specify individual TON and NPI values for these addresses; all must conform to a single setting.

sourceAddress

The address of this application. You can omit this field; the configuration file specifies the application address.

Optional fields

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 Developing ColdFusion Applications.

destAddress_npi

destAddress_ton

serviceType

 

The following optional fields do not have default values:

alertOnMsgDelivery

DisplayTime

protocolId

SmsSignal

callbackNum

EsmClass

registeredDelivery

SourceAddrSubunit

callbackNumAtag

LanguageIndicator

replaceIfPresent

SourcePort

callbackNumPresInd

MsMsgWaitFacilities

SarMsgRefNum

SourceSubaddress

dataCoding

MsValidity

SarSegmentSeqnum

UserMessageReference

DestAddrSubunit

PayloadType

SarTotalSegments

validityPeriod

DestinationPort

priorityFlag

scheduleDeliveryTime

 

DestSubaddress

PrivacyIndicator

smDefaultMsgId

 

Example

The following example onIncomingMessage method sends a response that echoes an incoming message to the originator address, and sends a copy of the response to a second 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 = "submitmulti"> 
    <cfset retValue.destAddresses=arraynew(1)> 
    <!--- One destination is incoming message originator;  
                    get the address from CFEvent originator ID. ---> 
    <cfset retValue.destAddresses[1] = arguments.CFEvent.originatorid> 
    <cfset retValue.destAddresses[2] = "12345"> 
    <cfset retValue.shortMessage = "echo: " & message> 
<cfreturn retValue> 
</cffunction>