Hypermedia HG-7000 Product Manual: 3U and 6U SMS Pro Gateways
Hypermedia HG-7000 Product Manual: 3U and 6U SMS Pro Gateways
Product Manual
ii
Hypermedia Systems
This Hypermedia Systems Ltd. License Agreement (the "AGREEMENT") is a legal agreement between you
(either an individual or a single entity) and Hypermedia Systems Ltd. for the product accompanying this
AGREEMENT. The product includes computer software, associated media and printed materials, and may
include "online" or electronic documentation (the "SOFTWARE"). The PRODUCT may also include hardware (the
―HARDWARE‖). The SOFTWARE and the HARDWARE are referred to, collectively, as the PRODUCT.
BY INSTALLING AND/OR USING THE PRODUCT YOU AGREE TO BE BOUND BY THE TERMS OF THIS
AGREEMENT.
IF YOU DO NOT AGREE TO THE TERMS OF THIS AGREEMENT, PROMPTLY ERASE ALL COPIES OF THE
SOFTWARE IN YOUR POSSESSION, AND RETURN THE SOFTWARE AND ANY ACCOMPANYING
HARDWARE TO THE PLACE FROM WHICH YOU OBTAINED IT.
COPYRIGHT
All title and copyrights in and to the PRODUCT are owned by Hypermedia Systems Ltd. The PRODUCT is
protected by copyright laws and international copyright treaties, as well as other intellectual property laws and
treaties.
OTHER RESTRICTIONS
This AGREEMENT is your proof of license to exercise the rights granted herein and must be retained by you.
You may not rent, lease, reverse engineer, decompile, modify, or disassemble the PRODUCT, or create
derivative works based on the PRODUCT.
(a) improper transportation or packing when returning the PRODUCT to Hypermedia Systems Ltd.; (b) use of the
PRODUCT other than in accordance with its instructions, or other misuse or abuse of the PRODUCT; (c)
modification of the PRODUCT; (d) service by anyone other than a Hypermedia Systems Ltd.-approved agent; (e)
unusual physical or electrical stress or interference, failure or fluctuation of electrical power, lightning, static
electricity, improper temperature or humidity, fire, or acts of God.
The maximum liability of Hypermedia Systems Ltd. under this limited warranty is limited to the purchase price of
the PRODUCT covered by the warranty.
Hypermedia Systems Ltd. reserves the right to refuse PRODUCTS (i) that are not covered by the warranty; or (ii)
for which there is no problem found. Such PRODUCTS shall be returned to the purchaser at purchaser’s
expense.
DISCLAIMER
EXCEPT AS EXPRESSLY STATED ABOVE OR AS REQUIRED BY LAW, Hypermedia Systems Ltd.
DISCLAIMS ANY WARRANTY FOR THE PRODUCT. THE PRODUCT IS PROVIDED "AS IS" WITHOUT
REPRESENTATION OR WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING,
WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE, OR NONINFRINGEMENT. Hypermedia Systems Ltd. ASSUMES NO RISK ARISING
OUT OF THE USE OR PERFORMANCE OF THE PRODUCT.
AMENDMENTS
Hypermedia Systems Ltd. may amend these terms and conditions at any time by posting a notice on one or more
of its websites. Your continued use of the PRODUCT shall constitute your acceptance of such amended terms.
Accordingly, we urge you to visit our websites periodically to review the current and effective terms and
conditions for use of our products. Certain provisions of these terms and conditions may be superseded by
expressly designated legal notices or terms outlined on our websites.
GOVERNING LAW
This AGREEMENT and any and all claims relating to the PRODUCT shall be governed by the laws of the State
of Israel, without regard to or application of choice of law or principles, and the courts of Tel-Aviv Jaffa shall have
sole and exclusive jurisdiction over any dispute arising in connection with this Agreement and/or the use of the
PRODUCT.
NO WAIVER
No delay or failure to take action under these terms and conditions will constitute a waiver by Hypermedia
Systems Ltd. unless expressly waived in writing by a duly authorized officer of Hypermedia Systems Ltd.
Table of Contents
Before You Begin .......................................................... 1
1 Hardware and Installation.......................................... 1
1.1 Overview .......................................................................................... 3
1.1.1 Package Contents .............................................................................................. 3
1.2 Safety Information ........................................................................... 3
1.3 System Components ....................................................................... 4
1.4 Typical Board Configurations ......................................................... 6
1.4.1 3U Series ............................................................................................................ 6
1.4.2 6U Series ............................................................................................................ 7
1.5 Pre-Installation Preparations .......................................................... 8
1.6 Cable Connections .......................................................................... 8
1.6.1 Standard Gateway - Hybrid Based (HBN) .......................................................... 9
1.6.2 Heavy-Duty Gateway – PC Based .................................................................... 10
1.7 Inserting the SIM Cards ................................................................. 11
1.7.1 Inserting the SD Card (Standard Gateway) ...................................................... 12
1.8 Powering Up and LEDs Status...................................................... 12
1.8.1 Powering Up ..................................................................................................... 12
1.8.2 LEDs Status...................................................................................................... 13
5 Scheduler .................................................................. 74
5.1 Scheduler Commands ................................................................... 74
5.1.1 Switch SIM per Slot .......................................................................................... 74
5.1.2 Switch SIM per System..................................................................................... 76
5.1.3 Reset SIM Counter ........................................................................................... 77
5.1.4 Set Multi SIM .................................................................................................... 79
5.1.5 Manual Command ............................................................................................ 81
Note:
Notice
Information given in this document is subject to change without any notice.
When connecting the equipment, first, ensure that the ground connection is
connected to the rack ground or building ground.
When disconnecting the equipment, disconnect the ground connection last.
Opening the housing may be dangerous and invalidates the warranty. Only a
qualified technician should open the housing. Before opening, disconnect the
power cable from the equipment.
The Hypermedia Gateway complies with all necessary safety standards.
Equipment connected to the Hypermedia Gateway must also comply with
the applicable safety standards.
The packaging is designed to protect against mechanical damage and
should be stored. Do not ship equipment unless it is properly packed in its
original wrapping and shipping containers.
Make sure that the equipment top and bottom are not blocked to air
movement. Leave 1U under and on top of the equipment for proper
ventilation.
Do not operate the Hypermedia Gateway in close proximity to potentially
hazardous areas. These includes areas such as, but not exclusively, fuel
stations, fuel depots, chemical works or during blasting.
The operation of radio transmitters, which includes cellular engines, can
impair the function of medical devices that have not been properly shielded.
Please ask the advice of your doctor or the manufacturer of the medical
device.
To avoid moisture condensation, allow time for the unit to adapt to the
ambient temperature before switching it on.
1.4.1 3U Series
The following Figure 1 shows the 3U SMS Gateway supporting up to 12 ports with
API
CG Boards
3U
6U
HBN Board
1. Install the Hypermedia Gateway in a 19‖ rack. Depending upon the physical
configuration, the unit requires a height of either 3U or 6U. In addition, we
recommend:
▪ Avoid installing the device near computer rooms, computer monitors,
electrical cabinets, metal objects, and windows with fold aluminum
sheet.
▪ Perform a cellular signal check before mounting the system. This can be
done by checking the Signal Strength and the Bit Error Rate ratio on
another mobile phone's display from the same operator and system.
▪ Ensure the device is protected against direct sunlight and heat. This
increases both the reliability of the operation as well as its service life.
2. Depending upon the configuration of your system, verify that you have
some or all of the following:
▪ an Ethernet or WAN socket with a fixed IP address
▪ SIM cards from your GSM operator. One SIM card is required for each
GSM channel Notes:
The default LAN IP address for Hybrid-Based Gateways is 192.168.9.2
The default LAN IP address for PC - Based Gateways is 192.168.0.2
Note: The cables to the devices should be installed so that they do not cause any physical risk.
Power cables should be installed separate from the signal cables.
Multi-SIM
Extender
Antenna Socket
Note: Some versions of the CG board have SIM drawers. Push the small yellow button for
the SIM drawer to exit. Remove the SIM drawer, place the SIM card in the SIM drawer and
replace the SIM drawer.
SIM Card
SIM Drawer
Yellow button for drawer
Caution: The provided antennas are for indoor use only, and will be irreversibly damaged if placed
outdoors. RF combiners and external antennas are sold separately.
Main ETH
Media ETH
Release 5.6 (March 2018)
13
Hypermedia Systems
Green LED - RX
On Internal Communication
Yellow LED - TX
On Internal Communication
LAN 1
LAN 2
Yellow LED -
RDY
Off Power is OFF
On Disk Activity
Yellow LED -
Status
On Internal Communication
Green LED - RX
On Internal Communication
Yellow LD - TX
On Internal Communication
Red LED
On Board Error
Yellow LED
2.1 Installation
To install the Hypermedia Management Console program:
1. Ensure that the computer matches the following minimum system requirements:
▪ Windows XP, Vista, Windows 7 or 8
▪ Internet Explorer 7 or above
2. Ensure that you have access to the installation file. It is included with the
Hypermedia Gateway CD-ROM.
Your Gateway appears in the Server List with its default address.
1. Click the Windows Start button > Programs > Hypermedia. The Hypermedia
program group expands.
2. Click Hypermedia Management Console. The program opens in the default
browser.
Note: The above IP address setting does not affect the address of the Gateway. It only defines
the IP address the HMC will attempt to connect to.
5. Either press F5 or click the browser’s Refresh button. The authorization screen
is displayed.
2.4.3 Backup/Restore
Use this option to download the entire configuration of the Gateway to your PC.
The downloaded backup file can then be uploaded by performing a system
restore.
Module
Spring-loaded
SIM ports
6. From the second dropdown list, assign the channel to a specific channel on
the target card.
3.4 Reset
Use the Cellular Card Reset screen to reset either the entire cellular card or a specific
cellular module.
To reset a cellular card or module:
1. From the Cellular Cards branch of the HMC navigation pane, click the Reset
sub-branch. The Reset screen is displayed.
Caution: There is no confirmation message. The Reset command is sent as soon as the reset
button is clicked.
3. Click Reset. The screen confirms that the Reset command has been sent.
3.6 Locks
Use Locks to restrict access to specific GSM operators and/or a specific SIM
card. When a lock is defined, the Gateway will only accept calls from an
operator or a SIM card that matches the Lock number.
In addition, use Locks to prevent roaming handover in cases where the
Gateway is located close to another county or a country border.
To define a Lock number:
1. Ensure the following:
▪ You have obtained the codes from the cellular operator.
▪ The cellular modules support SIM locks.
2. From the Cellular Cards branch of the HMC navigation pane, click the
Locks sub-branch. The Locks screen is displayed.
2. If more than one slot is displayed, select a specific Cellular Card. The SIM
Select screen of that cellular card is displayed.
3. Select an application option:
Module Settings
Applies the SIM configuration to the specific module.
Entire Card
Applies the SIM configuration to all the modules on the card.
Figure 36. HMC SIM Select Screen – selection for entire card
Entire System
Applies the SIM configuration to all the cards in the system.
To camp on a site:
1. From the HMC navigation pane Cellular Cards branch, click the Cell
Selection sub-branch. The Cell Selection screen is displayed.
3.9 Settings
Use the Settings screen to enable and disable advanced parameters. For
assistance with these, contact Technical Support.
1. From the Cellular Cards branch of the HMC navigation pane, click the
Settings sub-branch. The Cellular Card Settings screen is displayed.
2. If more than one slot is displayed, select a specific Cellular Card. The
Cellular Card Settings screen of that cellular card is displayed.
3. Click Apply Settings and wait for Configuration Saved to be displayed.
2. If more than one slot is displayed, select a specific Cellular Card. The
Network Parameters screen of that cellular card is displayed.
3. Select the matching bandwidth from the dropdown menu. For a table of
bandwidths per country, see http://en.wikipedia.org/wiki/
Mobile_network_code
4. From the HMC navigation pane, click the Save/Load branch and then click
Save All Settings.
8. Optionally, click the (Excel) icon to save the results as an Excel file.
3.12.3 Status
To view information about the status of SIM slots on a specific cellular
module:
1. Expand the Monitor > Cellular Cards sub-branch and select Status.
2. Select a specific slot. The Cellular Cards Status screen for that card is
displayed.
4.1 License
Use the License screen to upload and apply the license of the SMS Server.
To license the SMS server:
1. Ensure you have an authorized license. Licenses are delivered via email
from Hypermedia Technical Support. For assistance, contact Technical
Support.
2. From the SMS Server branch of the HMC navigation pane, click the
License sub-branch. The SMS Server License screen is displayed.
4.2 Configuration
Use the Configuration screen to define parameters that affect the
performance of the SMS PRO Gateway.
To define parameters:
From the SMS Server branch of the HMC navigation pane, click the
Configuration sub-branch. The Configuration screen is displayed.
▪ Paused: In this state the Gateway will not send out SMS's. Any new
send requests will be queued and sent only when the 'Running' state
is resumed.
▪ Disconnected: Indicates the Gateway service is down. The Mode
can be set to one of three actions:
▪ scheduled: When this is set, the state of the Gateway will be
determined by status commands set by the scheduler or via the SMS
Gateway PRO API.
▪ pause: This puts the Gateway in the "Paused" status. Once this has
been set, the only way to return to the "Running" status is to select
the "run" action.
▪ run: This puts the Gateway in the "Running" status. Once this has
been set, the only way to return to the "Paused" status is to select the
"pause" action.
ACR
Determines whether the ACR is active or not. Can be set to either yes or no.
Log Level
Sets the detail level of the log file. The value should always be set to 'error',
unless Technical Support requires logs with a higher resolution. Options:
debug/info/warning/error.
Confirmation (DLR)
Determines whether the receipt confirmation is on by default. Options:
yes/no.
GSM 03.38 Encoding
Determines whether the GSM 03.38 Encoding is Latin or Greek. Options:
latin/greek
Collection of incoming SMS
Allows receiving incoming SMS messages on any of the available SIM cards
(set by counter), by mapping each of the SIMs during off-peak time for a
short predefined time period.
▪ Start Time: time of day (hours) at which this feature should be
activated.
▪ Timeout for first SMS: the amount of time (in seconds) to wait for an
incoming SMS once a SIM has been registered to the network using
this feature.
▪ Timeout for additional SMS: the amount of time (in seconds) to wait
for additional messages after at least one incoming message was
received.
PDU
Determines whether the PDU is active or not.
Options: yes/no
Queue type
▪ cyclic: a new SMS will be sent from the next available SIM card.
▪ serial: a new SMS will be sent from the first available SIM card.
Port Queue Resend on Counter Block
When a port becomes blocked from sending additional SMS but there are still
messages waiting to be sent on its queue, this determines whether the
eMail to SMS
▪ Use TLS: Use TLS to connect to the server
Note: TLS is only supported on PC
▪ Server: The server from which the e-mails should be retrieved.
▪ Port: The incoming mail server port.
▪ User: User name of the mail account.
Example: [email protected]
▪ Password: The password for above account.
▪ Identification period: When replying by SMS to an email received by
SMS without explicitly specifying the target recipient code in the SMS
body, the system attempts to deduce the intended e-mail recipient by
SMPP
▪ Receive Default: SMSC Receive Default Alphabet (SMPP to GSM).
▪ Transmit Default: SMSC Transmit Default Alphabet (GSM to SMPP).
▪ destination_addr: SMPP field value interpretation for incoming SMS
(GSM to SMPP).
SIM-Addr: Populate with SIM port address (e.g 21#1).
Static: Use a static destination number with the value 123456789.
▪ Log Level
Only use values other than Error when in a session with Technical
Support.
Message Tagging
Routing of inbound messages to a specific user is possible in case there are
replies to messages previously sent by that user, according to various criterions.
▪ Action:
attach_user: Inbound messages will be routed to the original sending
user, should these be uniquely identified according to the message
sender's phone number.
attach_user_num: A configurable message header will be added to
each outbound message, instructing the recipient to reply with a
specific header.
▪ no: Feature is disabled.
▪ Message header: Text to be added to each outbound message
(automatically followed by a unique numeric value and a star sign) when
"attach_user_num" is used.
▪ Identification period: The duration (in hours) during which the system
should associate a phone number with a sending user for inbound
message routing purposes.
Note that this feature is not fail safe, and in most cases it is recommended to leave it disabled
(value set to zero).
▪ Outbound SMS validity: The duration (in days) during which outbound
messages are stored for statistical calculation purposes.
Note: This feature is not yet functional when binding port groups to user_name.
Note: A white list includes the phone numbers that are authorized as dialed destinations,
whereas a black list includes the phone numbers that are prevented from being dialed.
To enable the ACR:
1. Define the ACR rules.
2. Prepare and upload the Number List (optional).
3. Arrange the rules according to their priority. The list of rules is scanned and
applied from top to bottom.
4. Set a default action when there was not match to the rules above it, or when
no rule provided a group selection.
Identical to
The rule checks if the Destination number is exactly the specific digits or tag
that appears on the list.
Operator is
To be used in conjunction with the Local Number Portability (LNP)
application which looks up the destination number in a pre-loaded
database of numbers and the cellular operator these were ported to.
6. Complete filling the dialog box and click Save.
7. In the Actions area, define what the ACR does when a number matching the
indications defined in the Check area is identified.
No Actions are Defined
If no actions are defined, the text message is allowed as is.
Block
Text messages matching the indications are blocked.
Route to Group
Text messages matching the indications are routed through the defined
Channel Group.
8. Click Save. The new rule is added to the ACR Rules screen.
9. Prioritize the rule. Use the arrows in the Priority column to increase or
decrease a rules priority.
Note: In following step 3, the term ―list‖ indicates all entries that share the same tag.
3. Add a tag and number, with a comma between them, to each entry.
Ensure a comma separates the tag from the number.
Following is an example of five lists:
tag,number XYZ,0774445004
XYZ,0509080704
XYZ,0523030303
ABC,0509380137
ABC,0509380136
CLCOM,052 PHONE,054
CELLC,050
Caution: A comma must separate the tag and the number or the list will not register properly.
4. From the SMS Server branch of the HMC navigation pane, click the ACR
Numbers Lists sub-branch. The ACR Number Lists screen is displayed.
4.6 Counters
Use SMS Counters to allocate the use of SIM cards.
2. Click Add Slave. The Add SMS Slave dialog box is displayed.
4.7.2 Configuring a Slave to have its SIM Cards used by the Master
Once a Slave Gateway has been successfully added to the master (see
above), in order to configure that Slave Gateway to have its SIM cards used
by the Master Gateway:
1. From the SMS Server branch of the Slave Gateway’s HMC navigation
pane, click the Channel Selection sub-branch. The Channel Selection
screen is displayed.
2. Follow the procedure described in ―Channel Selection‖ (see section 4.3
). Ensure the following:
▪ The module is enabled
▪ The module is assigned to a Group
Scheduler
5 Scheduler
Use the Task Scheduler to configure the Gateway to repeat commands at
scheduled intervals. Several commands are preconfigured. In addition, it is
possible to manually configure a command.
Scheduler
Caution: Clicking menu deletes the new task. The table of schedules tasks is redisplayed.
6. Configure the task’s schedule:
a. Click (calendar icon). A calendar opens in a new browser tab.
Scheduler
Note: First, set the time. As soon as you click the date, the browser tab closes and the date
and time are entered into the Start Time field.
4. From the Set Active SIM per System dropdown menu, select the SIM card
that the entire system will use.
5. Click Next. The Set Command screen, with the command syntax, is
displayed.
Scheduler
Caution: Clicking menu deletes the new task. The table of schedules tasks is redisplayed.
6. Configure the task’s schedule
a. Click (calendar icon). A calendar opens in a new browser tab.
Note: First, set the time. As soon as you click the date, the browser tab closes and the date
and time are entered into the Start Time field.
Scheduler
Caution: Clicking menu deletes the new task. The table of schedules tasks is redisplayed.
Scheduler
6. Configure the task’s schedule:
a. Click (calendar icon). A calendar opens in a new browser tab.
Note: First, set the time. As soon as you click the date, the browser tab closes and the date
and time are entered into the Start Time field.
Scheduler
Scheduler
Caution: Clicking menu deletes the new task. The table of schedules tasks is redisplayed.
6. Configure the task’s schedule:
a. Click (calendar icon). A calendar opens in a new browser tab.
Note: First, set the time. As soon as you click the date, the browser tab closes and the date
and time are entered into the Start Time field.
Scheduler
Caution: Clicking menu deletes the new task. The table of schedules tasks is redisplayed.
4. Configure the task and its schedule:
a. Click (calendar icon). A calendar opens in a new browser tab.
Note: First, set the time. As soon as you click the date, the browser tab closes and the date
and time are entered into the Start Time field.
6 Developer’s API
This section defines the API for the Hypermedia SMS PRO Gateway. The
API is designed to enable development of third party applications that wish
to utilize the Hypermedia SMS PRO Gateway.
Use the developer’s API to control the SMS server and send and receive
SMS messages using commands over a TCP connection. Typically, this
is used to send alarms, warnings, alerts, messages and any other system
information that must be delivered quickly to specific individuals.
The SMS Pro Gateway also supports seamless integration with SMPP
(Short Message Peer-to-Peer protocol).
Developer’s API
6.1 Overview
Following are several points of general importance:
Development Platforms
The API is based on a text based protocol over a TCP connection. It is,
therefore, platform independent and only requires that the application
have access to TCP/IP sockets.
Configuration
See the ―Configuration‖ section for the SMS PRO Gateway configuration
screens that are referred to in various parts of this chapter.
The Protocol
A TCP connection is used to send requests and receive events from the
SMS PRO Gate- way. The default TCP port that is used to connect to the
SMS PRO Gateway is 63333.
The requests, replies, and events are formatted using JSON notation.
(More information on JSON can be found at http://www.json.org.) This
simplifies use of the SMS PRO Gateway API from any programming
language.
Termination of Lines
Every line sent to the server should be terminated with a CR LF. All
replies and events received from the SMS PRO Gateway are also
terminated by a CR LF pair.
6.2 Logging In
To log in to the SMS PRO Gateway:
1. Create a TCP connection to the gateway listening port (default
is 63333).
2. Send the following line with the replacement values described in
Table 6:
{"method":"authentication","server_password":"admin","cl
ient_id":"id1"}
6.2.1.1 Results
If the supplied password is incorrect, no reply is returned (for security reasons)
and—if no correct password is supplied—the connection will be disconnected
after a few seconds.
If a correct password is supplied, the SMS PRO gateway will reply with:
{"server_password": "admin", "reply": "ok", "client_id":
"id1", "method_reply": "authentication"}
At this point you can send valid JSON requests to the SMS PRO Gateway.
Note the following:
If no password is set on the Gateway, no authorization is required and the
Gateway is ready to receive requests as soon as the TCP connection is
established.
If another client logs in with the same ID as an existing client, then the
new client will cause the disconnection of the old client. A message is
sent to each client indicating the disconnection. Therefore, it is
recommended that each new client be assigned a unique ID. Note that if
no ID is given, a unique ID will be generated for the client by the
Gateway.
For each JSON line sent to the server, any unrecognized fields are
returned in the reply with their values.
Developer’s API
The SIM configuration can indicate a single, local connection between one
HGS system and the SMS PRO Gateway to which it is connected. In addition,
the SMS PRO Gateway can also connect to multiple HGS systems.
6.3.1.1 Local Connection
To check the configuration status of the SIM ports on all the GSM cards,
issue the following command:
{"method":"get_sim_config"}
The SMS PRO gateway will respond with a JSON reply which contains all the
active SIM ports and the routing groups to which they belong. This is
illustrated next:
{"sim_config": {
"21#1": {"group": "orange", "port": "1", "card": "21"},
"21#2": {"group": "mobile1","port": "2", "card": "21"},
"21#3": {"group": "orange", "port": "3", "card": "21"},
"21#4": {"group": null, "port": "4", "card": "21"}
},
"method_reply": "get_sim_config"
}
In the above example, four active SIM cards are returned (21#1, 21#2, 21#3,
21#4) where 21#1 means the first SIM port in GSM card at address 21 (hex).
This is the far-left slot; the cellular card to its right is at address 22, etc. Also,
―orange‖ is the name of the routing group associated with this SIM. Thus, the
reply indicates that:
▪ There are four active SIM cards in the device
▪ All of them are in the same GSM card
▪ The first three SIM cards are associated with specific routing groups ▪
The fourth SIM is not associated with any group.
},
"slave_2@21#3": { "sys_name" : "slave_2",
"group" : “orange”, "port" :
"3",
"card" : "slave_2@21"
},
"21#1": { "sys_name" : "master_sys",
"group" : null,
"port" : "1",
"card" : "21"
}
},
"method_reply": "get_sim_config"}
In the above example, three active SIM cards are returned (slave_2@21#2,
slave_2@21#3 and 21#1). 21#1 means the same as in the previous example,
that is, the first SIM port in the GSM card at address 21.
Note that in this case, it belongs to the Master SMS PRO Gateway.
The identification of SIM cards that are located on other HGS devices are
preceded by “name@”. For example, slave_2@21#2 means ―the second
SIM port in the GSM card at address 21 on a remote HGS device named
slave_2‖. The meaning of the group and port parameters remain the same
as in the previous example.
Developer’s API
The sys_name parameter is the unique name of the SMS PRO Gateway on
which the SIM is located. On the master SMS PRO Gateway, this will always
be master_sys. The name assignment of a slave system (slave_2 in the
above example) is done using the HMC user interface of the master SMS PRO
gateway. This enables assigning an IP of a slave SMS PRO Gateway with a
unique system name.
"method_reply": "set_sim_config"}
Similarly, sending the above command with the activ property set to false would
remove the SIM from the pool of SIM cards for sending SMSs.
6.3.2.2 Example 2:
Add two SIM ports from the far-left GSM card to the active SIM pool and
associate these SIM slots with the groups ―orange‖ and ―TMobile‖
respectively.
{"method":"set_sim_config",
"groups":{"21#2":
"21#3":
{"reply": "ok",
"groups":
{"21#2":
"21#3":
"method_reply": "set_sim_config"}
The set_sim_config method should be used on both master and slave SMS
PRO Gateways to set their active SIM cards and assign groups to these
cards. On slave systems, the get_sim_config method will return the
configuration that was set and on a master system it will return the
configuration of the master system and all the slave systems, as seen in the
Master SMS Gateway PRO’s reply example in ―Local Connection‖.
The above command will associate the fourth SIM channel in the far-left
cellular card (address 21) with a routing group called ―Vodaphone‖.
Note regarding groups:
If a SIM channel is not associated with a group, it can be used by the server
to send an SMS that belongs to any group. This means that an SMS targeted
for a certain group might also be sent via a SIM channel that is not associated
with any group. If an SMS being sent has no group parameter, it will only be
sent via SIM channels that are not associated with any group or
Developer’s API
SIM channels that are associated with a special group named sms_gen. Thus,
if you wish that an SMS be sent only through SIM channels that are
associated with the SMS group parameter (and not through SIM channels
that have not been assigned a group name) the recommended method is to
assign the group name sms_gen to all the SIM channels that have no group
assigned to them.
To receive notification each time the active SIM configuration changes, issue
the following command:
{"method":"register_for_config_change"} And
Once this is done, each time a SIM is added or removed from the SIM pool, the
SMS PRO Gateway will send the following notification:
{"notification": "config_change"}
At this point, the SMS PRO Gateway should be queried again for the new status
of active SIMs using the get_sim_config command.
The following table displays and defines the fields given in the above example.
Developer’s API
Note: GSM03.38 encoding as used above refers to the default GSM 7-bit alphabet.
A string that defines the SIM group that this message should
group be sent to. This in effect constrains the set of SIM ports that
the SMS can be sent through.
The priority to be given to this message. The priority value is
priority an integer that equals 1 or higher. The lower the number, the
higher the priority, meaning that messages whose priority
value is lower will be sent before messages with a higher
value.
Important note regarding priorities and groups:
The priority is designed to get an SMS out as fast as possible
using any available resource. If an SMS is sent to a certain
SIM group with a priority, it will go through SIM channels of
that group unless there are messages already queued on that
group and other free SIM channels exist in the system. This
means that if there are free SIM channels that belong to
another group (that might belong to a different carrier with
different pricing), the SMS could be sent via those cards.
Since the priority algorithm prefers time to deliver over
economy, take great care when sending an SMS with a
priority if there are multiple groups in the system.
Developer’s API
There are two queue types used by the SMS PRO Gateway:
queue_type the regular queue and the master queue. The master queue is
meant for circumventing the regular queue if there are urgent
SMS requests or bulks to be sent. The SMS PRO Gateway
first handles messages in the master queue and only after
that queue is emptied does the gateway handle messages in
the
regular queue. Note that both queues are identical in terms of
their attributes (groups and priorities), only that the master
queue is handled first if any messages exist in it. If this
parameter does not exist in the message, it will be sent to the
regular queue. If it does then its value must be ―master‖.
It is possible to bypass the group and priority logic of the SMS
send_to_sim PRO Gateway by requesting an SMS to be sent to a specific
SIM channel. Below is an example for the syntax of doing this:
{"number": "4333222","msg":"6B656C6C6F",
"unicode":"0","send_to_sim":"22#3"}
{"number":"353634643","msg":"6B656C6C6F","unicode":
"0","confirmation":"yes"}
The reply for the above message (with only the mandatory fields) would be:
{"client_id": "id1", "msg_id": 3433, "number": "6453298",
"retry_num": 0, "unicode": "1", "msg":
"043F04400438043204350442", "reply": "proceeding"}
Developer’s API
Notes:
1. The SIM channel through which the SMS will be sent depends on whether a linear or
cyclic queue type was set in the SMS PRO Gateway configuration screen.
2. Additional parameters might exist in the reply message, depending on the gateway’s
software version and configuration.
Unicode mode 9:
Using the cp1252 encoding:
{"number":"0544331124","msg":"3132330A414243","unicode":"9",
"encode_hex":"cp1252"}
Using UTF-16-BE:
{"number":"0544331124","msg":"043f04400438043204350442",
"unicode":"9","encode_hex":"utf-16-be"}
Developer’s API
"unicode":"5","msg_id":3433} An
(A "number" field may also be inserted above only for CDR logging
purposes)
Developer’s API
From this point on, when a message is sent to the SMS PRO Gateway with a
bulk ID but without a message, the message associated with the bulk ID will
be sent in the SMS to the destination number. A message that is part of a
bulk will look like this:
The above will send the message ―hello‖ to the number 6458965.
Note also the optional ―msg_id‖ field. This should be a unique id. It is useful
when a confirmation request is added since this message ID is returned in the
confirmation and written to the CDR.
To change the priority of messages already sent to the server, use the
method below. This sample changes the priority of bulk ID 453 to priority 4:
{"method":"change_priority", "bulk_id":453, "priority":4}
To remove all instances of a bulk message from the server, use the method
below. This sample will remove bulk ID 453 from the server. Any existing
messages belonging to this bulk that have not been already sent will be
deleted.
{"method":"delete_bulk", "bulk_id":453}
The following will move all the messages queued on bulk ID 453 to the
master queue (see ―Queue Type‖ in Table 8). If the master queue was
empty, then all previous processing of the regular queue will pause and
processing of this bulk will begin immediately.
{"method":"move_to_master" , "bulk_id":453}
Use the following method to remove a bulk from the master queue and return
it to the regular queue:
{"method":"remove_from_master", "type":"bulk", "id":4343}
Developer’s API
Following this operation, no more messages can be sent with the ID of this bulk.
There are two methods for closing a bulk:
“end_bulk” - this will close a bulk session, but will not delete the bulk until
all the pending messages in the bulk have been sent by the gateway.
Example:
{"method":"end_bulk", "bulk_id":453}
{"method":"stop_bulk", "bulk_id":453}
{"method":"register_for_incoming_sms"}
Start receiving CDR
notifications for
{"reply": "ok", "method_reply":
incoming SMS.
"register_for_incoming_sms"}
{"method":"register_for_outgoing_sms"}
Start receiving CDR
notifications for
{"reply": "ok", "method_reply":"
register_for_outgoing_sms"}
outgoing SMS.
{"method":"unregister_for_incoming_sms"}
Incoming SMS CDR
notifications will no
{"reply": "ok", "method_reply":
longer be received.
"unregister_for_incoming_sms"}
{"method":"unregister_for_outgoing_sms"}
Outgoing SMS CDR
notifications will no
{"reply": "ok", "method_reply":
longer be received.
"unregister_for_outgoing_sms"}
The incoming SMS in the next example contains also Unicode characters
{"direction": "in", "notification": "cdr", "port_num": "2",
"number": "+972547893166", "datetime": "2009-09-21
15:23:29", "card_add": "21", "message": "Hypermedia
\u05d9\u05d5\u05e4\u05d9"}
The following table shows the fields that exist in SMS notification messages and
their meaning:
Developer’s API
msg_id Outgoing only The message ID that was set for the
SMS send request. If no ID was set, the
value will be “Unknown”.
port_num Both incoming Which SIM channel number (1 to 4) was
and outgoing used to receive or send the message
number Both incoming For incoming messages:
and outgoing The CLI of the sender of the SMS
(number from which the SMS was sent).
For outgoing messages:
The DDI of the SMS (the number to
which the SMS was sent).
<?php
print "datetime-" . $_GET["datetime" ] . " | ";
print "number-" . $_GET["number" ] . " | ";
print "message-" . $_GET["message" ] . " | ";
print "card_add-" . $_GET["card_add" ] . " | ";
print "port_num-" . $_GET["port_num" ] . " | ";
print "result-" . $_GET["result" ] . " | ";
print "retry_num-" . $_GET["retry_num" ] . " | ";
print "msg_id-" . $_GET["msg_id" ] . " | ";
print "client_id-" . $_GET["client_id" ] . " | ";
print "sending_time-" . $_GET["sending_time" ];
?>
Developer’s API
To get the status of the queues in the gateway, issue the following method:
{"method":"get_q_size"}
{ "priority_3": 1,
"priority_no":
{"Orange": 2, "Verizon": 0, "Cellcom": 2, "total_len": 4},
"priority_1": 1 },
"method_reply": "get_q_size"}
The reply shows the number of queued messages per each priority.
Messages that were sent with no priority (the default) appear under the
"priority_no" field. Note that only "priority_no" elaborates how many
messages are queued for each group as well as the "total_len" field which
holds the sum of messages queued without priority.
The group details do not exist for other priorities since, as explained (see the
―priority‖ field on Table 96), there is no guarantee that a prioritized message
will use the group that it was sent to. The priority is a best effort mechanism
that uses the specified group only if it has free SIM channels or if no other
SIMs are available.
If the current queue is the master queue then the following additional pair
"queue_type":"master" will also appear in the JSON reply.
To remove all pending messages from the master queue, use the following
method:
{ "method":"delete_queue","queue_type":"master" }
To remove all pending messages from the regular queue, use the following
method:
{"method":"delete_queue"}
Developer’s API
The gateway will continue to accept requests to send out messages, but the
messages will just accumulate on the queue.
Important Note: Both the pause_server and the run_server commands will work only
if the SMS Gateway PRO's status is set to ―Scheduled” in the configuration page.
server_password=admin&msg=Hello&number=6453298
Notes:
To send the message via a specific SIM card, add &send_to_sim=21#1 after
the number. The parameters indicate the card number (21) and the SIM
number (1) on that card.
The HTTP parameters above correspond to the JSON command to send
an SMS as shown in the first example in the ―Sending an SMS‖ section,
that is:
{"number":"6453298", "msg":"hello"}
If the unicode field (see Table 7, ―Fields for Sending an SMS‖) is
omitted—as in the above example—the SMS Gateway PRO will use a
default value of 5, i.e. attempt to convert the message to GSM 03.38, and
upon failure to do so will send the message using UCS-2.
Developer’s API
The SMS PRO gateway writes SMS CDR in two files – one contains the records
of incoming messages and the other stores records of outgoing messages.
These files can be viewed and downloaded from the HMC on the SMS CDR
page, as shown below:
Developer’s API
2009-08-19 18:11:37|24|1|+972111111111|Thanks|OK|0|
Unknown|192.168.123.82009-08-19 18:11:32.050555|00:00:04
The PC-based version of the HG7000 line of products also supports using an
external MySQL database to store incoming and outgoing SMS events. The
MySQL connection details should be entered in the relevant fields on the SMS
Server Configuration page (see MySQL Host).
Two MySQL tables are created by the SMS PRO gateway for the SMS records
– one for incoming messages and another for outgoing messages. The
schema of the tables is as follows:
Developer’s API
The result field contains the result of the outgoing SMS. If an error occurs the field
will contain the string "Err-" followed by the error code (detailed in Table
14). If an SMS receipt is requested, the field will contain the string
"Confirmation_val-" followed by the SMS confirmation return code (detailed in
Table 15).
Code Code
(Dec) (Hex) Meaning
Developer’s API
Code Code
(Dec) (Hex) Meaning
102 066 Timer expired. Sending failed due to a timeout, and during
this time the GSM network didn't return any specific error
code.
111 06F Protocol error, unspecified. This cause is used to report a
protocol error event only when no other cause applies.
127 07F Interworking, unspecified. This cause indicates that there
has been interworking with a network which does not
provide causes for actions it takes; thus, the precise cause
for a message which is being sent cannot be ascertained.
128 080 Telematic interworking not supported.
129 081 Short message Type 0 not supported.
130 082 Cannot replace short message.
143 08F Unspecified TP-PID error.
144 090 Data coding scheme (alphabet) not supported.
145 091 Message class not supported.
159 09F Unspecified TP-DCS error.
160 0A0 Command cannot be auctioned.
Code Code
(Dec) (Hex) Meaning
Developer’s API
Code Code
(Dec) (Hex) Meaning
Developer’s API
Code Code
(Dec) (Hex) Meaning
32 20 Congestion.
33 21 SME busy.
37 25 Error in SME.
65 41 Incompatible destination.
67 43 Not obtainable.
68 44 Quality of service not available.
69 45 No interworking available.
Developer’s API
72 48 SM Deleted by SC Administration.
Troubleshooting
7 Troubleshooting
Table 16. Power
Display Problem Solution
System does not start No power to the unit Connect power cables
up
Alarm sounds every When a dual power Replace faulty power
time the system boots supply is used, one unit.
up power unit is not Add a power unit.
functioning or only
one power unit is
present
Ready LED (Yellow) Card is either not Reinsert the card and
does not light inserted correctly, or restart the system.
faulty If problem continues
replace the card.