Mobilchange news Documentation Contents User Documentation Administrator Documentation Index of terms Technical Support On-line Search

mxRouteCfg - routing rules editor

Introduction

The mxRouteCfg program is for setting up and testing of routing rules for incoming and outgoing SMS messages. It is found under Start Menu -> Programs -> MobilChange -> mxRouteCfg.

WARNING: To load new routing rules into MobilChange, you must restart MobilChange.Kernel service.


Basic Controls

The basic view contains the following buttons:

Add... - adds a new rule

Edit... - edits selected rule

Delete - deletes selected rule

Rename - renames selected rule (change rule number)

the Up/Down arrow - moves selected rule up/down and changes the order in which rules are processed.

Test delivery - if a telephone number and SMS text are entered, it shows which rules would process it.

"Main" menu - using this function you can change the computer where you edit rules (i.e. you can control a remote computer).
 

back to top of page


How to Add a New Rule / Edit Existing One (incoming SMS)

Switch to "Incoming" tab. To create a new rule, press the Add... button, to edit selected rule, press the Edit... button. In both cases the following dialog appears:

Desc - Text description of the application.

From - Regular expression that filters SMS senders. Instead of regular expression you can directly enter required telephone number; in this case rule will apply to this number only. Instead of regular expression for telephone numbers you can enter also alias in this format: $<alias_name>, i.e. $users.
Also you can test, if sender's number is stated/not stated in specified text file. This can be set in Presence test field (do not test/test presence/test absence) and filename is filled in Name of list of numbers field. File has format "every line mean one number". Date of file modification is checked during run time. If file was modified, it is reread. This test is done maximum once per 15 seconds.

Telephone numbers are processed in international format without plus (+) mark, e.g. +420603899285 will be written as 420603899285. This format must be used when constructing Regexp and in this format you must enter numbers into file with list of numbers.
Regular expressions are described in this document.

Additionaly you can test if SMS came by line specified in list of allowed lines (Incoming line field). Empty list means no test is done. You can specify more lines separated by comma (list of available lines is in dropdown list on the right). From Mobichange 4.6.16 you can write line in form "line1" or "line1_1234" (line driver can add number, to which SMS was sent, to line name) and you can use regular expressions here.


Text - A regular expression that filters text messages. If you put any subexpressions into the round brackets, you can reuse their values (in an e-mail address or application parameters).

When new message arrives, all conditions are tested in logical product (AND). I.e. to be rule valid, regexp for sender's number must be satified (always), and also line name (if line test is required) and test for number presence / absence in the list (if test is required).


Recipient - If you want to transfer an SMS to an application, you should enter application name in this format: $A<application name> , i.e. $Apizza for the "pizza" application.

If SMS should be sent to user, enter relevant e-mail address here. The address can consist of the subexpressions from regexp as variables $1 to $9 (regular subexpression of entered sequence). If your routing rule is #([^ ]+) (.*), you can enter $1@datasys.cz here and SMS with text "#green hello..." will be sent to "green@datasys.cz".

Text - What text should be sent to the application. You can use these variables: $0 (which is substituted by the text of entire incoming SMS) and $1 to $9 (which are substituted by content of regular subexpression of entered sequence).

Example: If you used filter rule for message text as
#pizza (.*)
then if SMS was received with text "#pizza with elephants", your application will receive the following texts depending on this setup:
$0 #pizza with elephants
$1 with elephants
HI $1 BLABLA HI with elephants BLABLA

In language - If SMS is to be sent by e-mail, what language will be used for accompanying text? (zz is language for SMS->email gateway, aa is language for applications).

What next - What should be done with a message, if it complies with this rule:

back to top of page


Testing of Rules

When rule is created you need to verify whether it works properly, because incorrectly written or misplaced rules can receive more SMS messages (or fewer), than it should.

Select incoming line in "Line" field. Enter telephone number into "From" field and text for testing into "Text" field. Press "Test delivery".
 


 

Is it OK? Yes!
 


 

Now, we will try to order a pizza.
 


 

Oops, instead of giving it to "pizza" application, SMS would be sent by e-mail! What shall we do now? Let us move the "pizza" rule to the first position.
 


 

And what next?
 


 

Yes, this is correct!
 


 

You will find several previously tested SMS messages in the History list, so you will not have to enter them again and again.
 

back to top of page


Rules for outgoing SMS

Switch to "Outgoing" tab. To create a new rule, press the Add... button, to edit selected rule, press the Edit... button. In both cases the following dialog appears:

Desc - Text description of the rule.

To number - Regular expression that filters number where SMS is sent to. Instead of regular expression you can directly enter required telephone number; in this case rule will apply to this number only. Instead of regular expression for telephone numbers you can enter also alias in this format: $<alias_name>, i.e. $users.

Telephone numbers are processed in international format without plus (+) mark, e.g. +420603899285 will be written as 420603899285. This format must be used when constructing Regexp.
Regular expressions are described in this document.

Priorities - select message priorities, which will be processed by this rule (high, normal, low).

Route to line - select outgoing line from list on the right. You can select more lines (if available) separated by comma, in this case line is selected randomly from picked up lines; there is no mechanism considering throughput, workload etc.

back to top of page