This help page is for version 3.8. The latest available help is for version 8.1.

Phone Dialer (DTMF/SMS)

The Phone Dialer action is used to make calls over a normal phone line via a modem. This action doesn't need an ISP, but rather calls a phone (a human who would recognize the Caller ID), perhaps an automated system, or an attached cell phone through which SMS messages can be sent.

The Phone Dialer can also optionally send DTMF tones (touch-tones) which could be useful for automatically navigating a phone menu system, and any other characters such as SMS message text.

The timeout values are important. Since there isn't a well defined audio protocol with humans and/or phone systems on the other end, you'll need to build in delays. This includes delays for the other party to answer. Be sure to specify enough pause after dialing the number for the number to go through, the other phone to ring and be answered.

The modem script is shown at the bottom of the dialog, and will work with most modems since it is built on the basic Hayes AT command set. Your modem may have other features and/or require other commands. Your modem documentation will list the commands it accepts. If you need to modify the script to work with your specific modem, check "Allow editing of command directly".

For sending SMS messages via a directly connected cell phone, you'll need to modify the script directly. Look in your phone manual for the commands for sending messages. In general you'll be using some form of the AT+CMGS command. Your script might look something like the following example:

AT
ATZ
ATE0
AT+CMGF=1
AT+CMGS="number_to_dial"
message text
{VAL:26}

Note that the {VAL:26} is how you send a Ctrl-Z (End of Message character). The value 26 is an ASCII value that maps to Ctrl-Z. The {VAL:x} pattern is how you send arbitrary ASCII codes. There are many ASCII charts on the Internet. Wikipedia's shows Ctrl-Z as 26 (decimal) here. If you want to format the value as hex instead of decimal, use {VAL:#x}, ie {VAL:#1A} to send Ctrl-Z.

In addition, you can have the action send the text of replacement variables. The variable names and their values are shown in the action by pressing the Variables button. An example would be:
$Details$ which expands to the alert descriptive text. So your script might look like this:

AT
ATZ
ATE0
AT+CMGF=1
AT+CMGS="number_to_dial"
$Details$
{VAL:26}

Experience from the field: At least one customer found that having any extra lines (even blank lines) after the {VAL:26} would cause the message to not send. Also, ATE0 turns off local echo, which will prevent the system from interpreting echoed outgoing text as response commands from the phone/modem.

PA Server Monitor