Learn how to set up an SMPP account with Adobe Campaign, how to analyze SMS delivery results, and customize the SR processing to your SMPP provider’s specifications.
Hi, this is Jean-Matthieu and welcome to the second SMS setup video. This video will help you, setting up your first SMPP external account on Adobe Campaign. In this video, we’ll see how to set up Campaign for sending SMS. We’ll create an external account, required to send SMS and remember that you need a SMPP provider to send SMS. You cannot send SMS with Campaign alone. We’ll create an SMS delivery template. We’ll send it and analyze the results and we’ll have a quick look at what you have to do to tune SR processing for your SMPP provider. So, let’s start Campaign and see how this works.
So, let’s open Adobe Campaign and install our first SMPP external account.
During this example, I will use a SMPP simulator, so, I don’t have to connect to a real operator. When setting up a SMPP connection, always stay in contact with your provider to make sure that you use the right settings. So, the first thing to do, is to install the SMS package, is go to Tools, Advanced, Import Package, Install a standard package. Be careful when installing standard packages, because they cannot be an installed. In that list, we’re going to select SMS.
Click Next and Start. When the package is installed, you can close that window and disconnect from the server and connect back. This step is important to refresh all the objects that can be displayed in the console.
So, now, let’s set up the external account. We go to Administration, Platform, External Accounts and we will create a new external account. Click New and now, we are ready to type its name. Let’s say, My SMPP Account, for example.
The type is Routing. It must be enabled of course, channel, SMS and Bulk Delivery.
This tutorial does not cover mid-sourcing. It’ll be done in another video.
Let’s save for now and now, we can configure our account.
This is the main window where you can set up your SMPP account.
As you can see, there are a lot of sittings.
Most of them must be reviewed with your provider at some point.
But let’s see, what’s the minimum required to make something work? The first one is SMSC implementation name.
This is simply the name of your provider.
Here, I have a simulator, so, let’s call it Simulator. Here, you type the domain name or the IP address of the SMPP server.
For me, it’s a local installation. So, I’ll type Local Host and the Port is 2775 for me. These settings will change, because they are specific for each provider. So, let’s type an account or login name and a password.
We’ll leave the other settings for a different time.
So, there are two extra settings, you must review before connecting. In Throughput and delay, check the Max MT throughput. That’s the number of SMS per second and per connection that the connector can send. So, let’s say, we want to send fast and then, at 100 SMS per second.
And another setting you might want to check, in SMSC specificities.
You probably want to enable TLS over SMPP. TLS is a way to encrypt the communications.
Unfortunately, my simulator does not implement TLS, so, I leave that unchecked. Now, I can save my account and it gets enabled automatically.
Let’s send a few messages.
So, first, we’ll create a delivery template that can send messages through this external account.
Let’s go to Resources, Templates, Delivery Templates.
We simply ignore the existing ones and create a new one.
Before doing anything else, you must click Properties to choose the correct external account.
And in Routing here, we’ll select our newly created account.
Because that account is of the SMS type, the interface was updated to reflect that.
As you can see, the text content changed and there are less fields here.
But before, we will disable tracking, because tracking in SMS is a complex topic and we’ll leave that for another video.
Every target works exactly like email or other channels. So, I’ll just add one recipient for the example.
Of course, you are encouraged to do real targeting and all the power of Adobe Campaign can be used here.
It sent a really quick message, “Hello.” Of course, if you want, you can add personalized fields in SMS. This works exactly like email.
Give it the name, My SMS template and save.
Confirm that it was correctly created here and now, you can send it exactly like other deliveries.
With a new delivery and we’ll select our template, Continue and we’ll send it right now.
Now, let’s close this and save.
And we can see, the status has been updated to Finished.
Of course, in my example, I’m using a simulator, so, we cannot actually receive an SMS. But when you do that with a real provider, you should have received an SMS at some point.
Let’s review the status of each message.
So, we can see that the status has been sent to Sent, which means that the SMS was successfully submitted to the SMPP provider. There’s also a SMS process, running in the background to update this list when a status report has been received from the SMPP provider. It can take between a few minutes to several hours for the status to be switched to Received, because it has to go through the whole mobile network and back. So, this can take a long time.
And by the magic of montage, 10 minutes have passed. Let’s check if the SMS was received.
Okay, click Delivery again and here, it worked. There is a very high probability that your setup does not work right away. Don’t worry about that. We’ll check why in a moment. Here, you can see what was returned by the provider.
The provider returner, SR, the name of the provider here was Simulator. This is the first field, we put in the external account and the status, Delivered and error code zero.
And after that, you have a message that was omitted. How this string is constructed is detailed in the SMS tech note. But let’s review the settings that allow to change this string into the status, Received on mobile. Let’s go back in the external account, Mobile and SMSC specificities. And here, we are interested in these regex to catch the ID, the status and detect whether delivery was successful or rejected and catch the error code inside the SR. So, how does this work exactly? So, here, I’ve displayed what the simulator sent in the SR.
You can get this string by asking your SMS provider. This one is the standard format, describing the Appendix B of the SMPP Protocol Specification. So, how does that work? First, the ID is extracted using that regex.
So, the default regex search is for ID, colon and between one and 10 hexadecimal digits.
So, here, we find ID, colon and between one and 10 hexadecimal digit. So, we have our ID, zero and then, we’ll have to check whether the SMS was delivered or not. In the standard, this is done by checking the stat field.
So, you can see here, the regex used to extract the stat field, S-T-A-T, colon and then, between five and 15 alphanumeric characters. So, we have S-T-A-T, colon and then, a word. So, now, we know the status.
But how do we know, whether delivered means success or failure? These two regexes are replied against that word. So, here, we have regex that determines whether sending was successful. And basically, it’s anything starting with DELIV.
That’s the case here. So, success! Now, what if we received, for example, say, UNDELIV and err:001. That’s just an example. Of course, this may vary. Always work with your provider to determine the correct values. So, we have UNDELIV. We use the extraction regex of the status here.
And so, we capture what’s after the colon here. So, status is UNDELIV. And now, how do we know whether it worked or not? Of course, it does not match that regex. So, we are sure now, that something went wrong with that message.
And now, we have a second regex, which says, if the message starts with EXPIRED, DELETED, UNDELIV, UNKNOWN or REJECT, we know it failed.
And here, it starts with UNDELIV.
So, this failed unfortunately. And in that case, well, in every case, we also want to extract the error code here. And this one is simply extracted by the regex.
So, the default is err, colon and you capture exactly three alphanumeric characters.
Err will be 001. You might say, “Why do I have to go through all that?” Well, the problem is this string here, is not defined by the SMPP standard. The format is only a recommended format. So, it varies between different providers and unfortunately, most providers do not use that standard format. So, we will have to work with them to find the correct regex.
If you don’t know how regex work, there are many good tutorials to find how they work and how to write them. There are also websites that allow checking your regex and be sure that they match exactly what you want. And finally, what if the stat part does not match, either successful or error status? Let’s say, we have something like this.
Well, let’s do it again.
Extraction regex is between five and 15. So, we have status, INPROGRESS, no problem.
But it does not match either this or that one.
In that case, this SR is completely ignored. That way, we can ignore SR, just stating that delivery is in progress. Because we don’t have a status matching in Campaign. We only have success or failure. So, if you receive SR and they seem to be ignored, or if your messages seem to be stuck in the sent status, you will have to check these regexes.
And this concludes that video. If you need more information, you can still have a look at the Adobe Campaign documentation online, including the SMS tech note. And as always, thanks for watching. -
See SMS connector protocol and settings for more information on the SMPP protocol, details about external account settings, or troubleshooting of the most common issues.