SMS routing based on Service_Type?

SMS routing based on Service_Type? SearchSearch
Author Message
Frank Grygus
New member
Username: Fgrygus

Post Number: 2
Registered: 08-2007
Posted on Tuesday, October 21, 2008 - 01:23 am:   

NowSMS, Good Day!

Can the SMSGW support routing of sms messages based on service_type parameter, instead of destination digits?

Example: 1+10 digits is sent outgoing to GSM Modem(or SMS Aggregator). What if same 1+10 digits with specific service_type is not intended to go commercial, but instead routed to another application which is also connected to the SMSGW.

Can the NowSMS GW support service_type routing?
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 166
Registered: 08-2008
Posted on Tuesday, October 21, 2008 - 04:29 pm:   

Hi Frank,

No, we don't have any support for routing based on service type. That's a decent idea, I just can't recall ever being asked about this before. There's no reason we couldn't add that fairly easily, at least I think so.

I need to confer with my colleagues.

--
Des
NowSMS Support
Frank Grygus
New member
Username: Fgrygus

Post Number: 3
Registered: 08-2007
Posted on Tuesday, October 21, 2008 - 08:20 pm:   

Des, We have been extremely happy with the NowSMS/MMS GW. I agree, you guys have a solid foundation in the software, and adding something like this would really improve routing capabilities and give customers more flexibility with the application.

Personally speaking, I'm starting to overlap on applications which send to the same number. These applications, by design, are setup with seperate service_type tags. Having the ability to route explicitly on service_type versus number would make life easy.
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 182
Registered: 08-2008
Posted on Monday, October 27, 2008 - 05:17 pm:   

Hi Frank,

Some updated information. Engineering is in the process of adding support for routing based upon service_type as part of some other enhancements to the routing logic.

The way that it is going to work is that the "Preferred SMSC Connection for" list is going to allow you to specify "service_type=xxxx" to specify that messages with service type "xxxx" are routed via this connection.

This can, of course, be combined with other sender and recipient based routing.

The update is still at least a week away (probably two) from being ready to be available. I will post updated information when it is available for download.

--
Des
NowSMS Support
Frank Grygus
New member
Username: Fgrygus

Post Number: 4
Registered: 08-2007
Posted on Tuesday, October 28, 2008 - 01:13 pm:   

Des,

This is great news! May I make an additional suggestion. Routing based on service_type in the SMSC Connections tab is half the battle. Can your Engineering add service_type routing in the /SMS User/[any user]/Enable SMPP login for this user/Route Received messages to user via smpp/Recipient address(es) to route to this user/ field. The logic can be the same, "service_type=xxx", and interchanged with recipient addresses(es).

This will allow Service_Type routing for both scenarios, SMSC and SMPP(user login, when user binds as a receiver).

Frank
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 184
Registered: 08-2008
Posted on Saturday, November 01, 2008 - 01:48 pm:   

Hi Frank,

I've been hesitant to say anything more about it. But it looks like that will also be possible.

We've had a more difficult time than expected working out the logic for all this.

The way that the current logic works, the "Preferred SMSC Connection for" list uses "or"/"if any" logic.

But if you mix service types and recipient address masks, in most scenarios this same logic doesn't make sense.

If a service type is specified, you might still want to limit the route to one or more service types, only with a specific recipient address mask. But you want the route to be used only if it matches both a preferred service type and recipient address mask.

I think we finally got the logic worked out.

If one or more service types is in the list, only messages that match a listed service type can be sent via this route. Recipient address masks, if also present, are then evaluated after a service type match is found.

If there are no service types in the preferred list for a route, then the logic works like it does today.

Oh, and then there is also the condition that a preferred service type for a route might be blank.

Overall, the logic has been more difficult than anticipated. But we should handle it for both the "SMS Users" and the "Outbound SMSC" list.

It just might take longer than my initial estimate.

--
Des
NowSMS Support
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 204
Registered: 08-2008
Posted on Wednesday, November 05, 2008 - 05:32 pm:   

Follow-up ...

We're going to go ahead and make an update that includes this capability available in a testing release prior to a more general release.

In addition to this particular feature, we have also implemented a considerable amount of performance optimisations, and changes to the SMS routing logic, which effect core components of the NowSMS product.

We've completed our internal testing of this update. However, because there were a large number of internal changes, optimisations and fixes, we are going to make this version available as a test release before general release.

We're quite confident that this release is actually more stable and robust than previous versions. We know the performance and CPU overhead is much improved. We know that overall disk I/O has been reduced. And we know several rather significant bugs that have been fixed in this release. But, the problem with bugs is they are very much configuration dependent, and with such a large number of configuration options, we may have missed something that affects particular configurations, so we want to get some more feedback.

This update can be downloaded at http://www.nowsms.com/download/nowsms200811.zip.

Regarding this particular feature ...

For outbound SMSC connections, the "Preferred SMSC Connection for" table can now include service_type values in addition to recipient address masks.

To specify that messages with the service_type value of "xxxx" should be routed via a connection, add "service_type=xxxx" to the "Preferred SMSC Connection for" list.

To specify that messages with a service_type of "bulk" should be blocked from routing via the connection, add "!service_type=bulk" the "Preferred SMSC Connection for" list.

If one or more "service_type=" entries is defined on a "Preferred SMSC Connection for" list, then only messages that match a listed service type value will be routed via this connection. Recipient masks can also be included in the list, however when a service type value is also defined, only messages that match a listed service type value and a recipient address mask, will be routed via this connection.

Similarly, to route messages to an SMPP client account (i.e., "SMS Users"), similar entries can be specified in the "Recipient address(es) to route to this user" setting. This setting is a comma delimited list instead of a table, but the functionality and syntax is otherwise the same.

An additional note -- Some readers may be wondering what a "service_type" value is. "service_type" is an SMPP parameter that can be specified when a message is submitted by an SMPP client. It is also possible to specify a "service_type" value when submitting messages to NowSMS via HTTP by including "&ServiceType=xxxxxx" in the URL parameter.

--
Des
NowSMS Support
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 208
Registered: 08-2008
Posted on Wednesday, November 05, 2008 - 06:51 pm:   

There was an additional enhancement to the SMS routing logic in this release that one of the examples above alludes to, but that deserves additional attention.

The new SMS routing logic introduced in the 2008.11.05 release supports the ability to block recipients from being routed via a specified SMSC connection.

In the "Preferred SMSC Connection for" list, it is possible to specify recipeint address masks that should not be routed via this connection, in addition to recipient address masks that should be routed via this connection. To specify a recipient address mask that should be blocked from using this connection, prefix the address mask with "!". For example, if +447* and !+447700* are in the "Preferred SMSC Connection for" list, +447123456789 would be routed via this connection, but +447700123456 would not be routed via this connection.

To specify that messages with a service_type of "bulk" should be blocked from routing via the connection, add "!service_type=bulk" the "Preferred SMSC Connection for" list.

These blocked entries are also supported for the "Recipient address(es) to route to this user" setting for "SMS Users" accounts.

--
Des
NowSMS Support