GSM Modem Service

The GSM service is designed to control the monitoring system via SMS, to organize SMS dispatches and to send SMS notifications when logic schemes are activated.

GSM control is possible if there is a "gsm" permission in the profile of the user performing the request.

The following values ​​of the querytype field are used for management:

getgsm - get the parameters of the GSM modem:

  • k - user session ID.


Response example on a query getgsm
<gsm imei="123456" state="normal" pin="1111" status="registered, home network" signal="54%" operator="Aqua3" smsc="59537322611" modem_lte="1" state_lte="normal" >
	<operators_list>
		<operator select="1" disp="Automatic selection" name="auto" num="0" act="0" />
		<operator select="0" disp="Operator1 2G/2G+" name="opone" num="12345" act="0" />
		<operator select="0" disp="Operator2 3G" name="optwo" num="56789" act="7" />
	</operators_list>
	<sms_list>
		<sms id="2545109407" to="+65214567788" message="test message 1" status="failed" date="1563176384" />
		<sms id="3784153937" to="+98521141100" message="test message A" status="pending" date="1563176803" />
		<sms id="1598774555" to="+98521563322" message="test message 3" status="sent" date="1563177201" />
	</sms_list>
</gsm>

Description of the xml nodes:

  • gsm - SGM modem settings and status:
    • imei - IMEI unique code;
    • state - state of modem (alarm, normal, not connected);
    • pinSIM's PIN code;
    • smsc - the number of the SMS center, this field is empty if the number is determined automatically;
    • status - network registration status string;
    • signal - signal strength in the network string;
    • operator - current operator name;
    • modem_lte - modem LTE support;
    • state_lte - if modem is supported LTE mode, then it is state of LTE connection (alarm, normal, not connected).
  • operators_list - list of available GSM network operators, for user selection:
    • operator - operator selection parameters:
      • select - actual select (0 / 1);
      • disp - text string for user view;
      • name - internal name of operator;
      • num - internal numeric code of operator;
      • act - connection mode.
  • sms_list - queue of sent SMS:
    • sms - SMS in the queue:
      • id - identifier of SMS in the queue;
      • status - SMS status:
        • pending - added to the queue, waiting for sending;
        • failed - could not be sent;
        • send - sent.
      • to - phone number of the SMS's recipient;
      • message - SMS text;
      • date - the time when added to the queue in UTS.


setgsm - set GSM modem parameters, additional fields are:

  • k - user session ID;
  • pin - SIM's PIN code;
  • smsc - the number of the SMS center, leave this field blank for automatic determination.


setoperators - selecting of corresponding operator, parameters:

  • k - user session ID;
  • name - internal name of operator, from <operators_list>;
  • num - internal numeric code of operator, from <operators_list>;
  • act - connection mode, from <operators_list>.

newoperators - renew list of available operators. The list of operators requires a long time to update (30 second and more). This request should not be called frequently.

  • k - user session ID.


send_sms_message - send SMS via GSM modem, message add to SMS queue, parameters:

  • k - user session ID;
  • to_phone - the phone number of the recipient;
  • message - SMS text.


clearsms - clear the SMS queue, parameters:

  • k - user session ID.


sendussd - send USSD request for check the balance state, not supported in LTE mode, parameters:

  • k - user session ID;
  • to_phone - the balance service number.
Response example on a USSD request
<ussd text="Account balance 55.6$. Some kind of advertisement here" />
<ussd text="Error parsing ussd answer" />
<ussd text="Request not supported in LTE mode" />