AxSms.GsmDeliveryReport
Introduction
Skip to properties and methods
This is a delivery report that is received from a GSM device. On GSM devices delivery reports are sometimes called ‘Status Reports’. In the SMS Component this is meant to be the same thing.
A delivery report can be requested by setting the RequestDeliveryReport property to True. It’s up to the provider to send the delivery report.
A delivery report will normally be sent as soon as the SMS message has reached a final state, either ‘Delivered’ or some error state. Normally a delivery report should arrive within seconds or minutes after sending a message. In some cases it can take a couple of hours, depending on the ValidityPeriod of the message.
Some GSM modems don’t support receiving and storing delivery reports. Use the ReportEnabled property to find out if the open GSM device supports receiving and storing delivery reports.
Properties and Methods
Property | Type | Read/Write | Description |
Reference | String | Read | The message reference |
UserTag | Number | Read/Write | User defined value to track this object |
SmscAddress | Number | Read | SMSC address |
SmscTime | String | Read | SMSC Time |
SmscTimeInSeconds | Number | Read | SMSC time in seconds |
DischargeTime | String | Read | Discharge time |
DischargeTimeInSeconds | Number | Read | Discharge time in seconds |
MemoryIndex | String | Read | The memory index for this delivery report |
FirstOctet | Number | Read | First octet |
SmscTON | Number | Read | The type of number of the SMSC address |
SmscNPI | Number | Read | The number plan indicator for the SMSC address. |
Status | Number | Read | The message delivery status |
FromAddress | String | Read | The address the original SMS message was send to |
Method | Description |
Clear | Reset all properties to their default values |
Reference property
The message reference for the delivery report. This should match with the message reference received when sending the SMS message out through the GSM object.
Example:
Set objGsm = CreateObject("AxSms.Gsm")
...
objGsm.Receive objConst.GSM_MESSAGESTATE_RECEIVED_READ
...
Set objGsmDeliveryReport = objGsm.GetFirstReport
While objGsm.LastError = 0
...
WScript.Echo objGsmDeliveryReport.Reference
WScript.Echo objGsmDeliveryReport.SmscAddress
WScript.Echo objGsmDeliveryReport.SmscTime
...
Set objGsmDeliveryReport = objGsm.GetNextReport
WEnd
...
UserTag property
This can be any value. Use this property to track a delivery report.
Example:
Set objGsm = CreateObject("AxSms.Gsm")
...
objGsm.Receive objConst.GSM_MESSAGESTATE_RECEIVED_READ
...
Set objGsmDeliveryReport = objGsm.GetFirstReport
While objGsm.LastError = 0
...
WScript.Echo objGsmDeliveryReport.Reference
WScript.Echo objGsmDeliveryReport.UserTag
WScript.Echo objGsmDeliveryReport.SmscTime
...
Set objGsmDeliveryReport = objGsm.GetNextReport
WEnd
...
SmscAddress property
The address of the SMS that originated this report
Example:
Set objGsm = CreateObject("AxSms.Gsm")
...
objGsm.Receive objConst.GSM_MESSAGESTATE_RECEIVED_READ
...
Set objGsmDeliveryReport = objGsm.GetFirstReport
While objGsm.LastError = 0
...
WScript.Echo objGsmDeliveryReport.Reference
WScript.Echo objGsmDeliveryReport.UserTag
WScript.Echo objGsmDeliveryReport.SmscAddress
...
Set objGsmDeliveryReport = objGsm.GetNextReport
WEnd
...
SmscTime property
The time the original SMS message was received
Example:
Set objGsm = CreateObject("AxSms.Gsm")
...
objGsm.Receive objConst.GSM_MESSAGESTATE_RECEIVED_READ
...
Set objGsmDeliveryReport = objGsm.GetFirstReport
While objGsm.LastError = 0
...
WScript.Echo objGsmDeliveryReport.Reference
WScript.Echo objGsmDeliveryReport.SmscAddress
WScript.Echo objGsmDeliveryReport.SmscTime
...
Set objGsmDeliveryReport = objGsm.GetNextReport
WEnd
...
SmscTimeInSeconds property
The time the original SMS message was received in seconds since 1/1/1970
Example:
Set objGsm = CreateObject("AxSms.Gsm")
...
objGsm.Receive objConst.GSM_MESSAGESTATE_RECEIVED_READ
...
Set objGsmDeliveryReport = objGsm.GetFirstReport
While objGsm.LastError = 0
...
WScript.Echo objGsmDeliveryReport.SmscAddress
WScript.Echo objGsmDeliveryReport.SmscTime
WScript.Echo objGsmDeliveryReport.SmscTimeInSeconds
...
Set objGsmDeliveryReport = objGsm.GetNextReport
WEnd
...
DischargeTime property
The time the status in this report was achieved.
Example:
Set objGsm = CreateObject("AxSms.Gsm")
...
objGsm.Receive objConst.GSM_MESSAGESTATE_RECEIVED_READ
...
Set objGsmDeliveryReport = objGsm.GetFirstReport
While objGsm.LastError = 0
...
WScript.Echo objGsmDeliveryReport.SmscAddress
WScript.Echo objGsmDeliveryReport.SmscTime
WScript.Echo objGsmDeliveryReport.DischargeTime
...
Set objGsmDeliveryReport = objGsm.GetNextReport
WEnd
...
DischargeTimeInSeconds property
The time the status in this report was achieved in seconds since 1/1/1970
Example:
Set objGsm = CreateObject("AxSms.Gsm")
...
objGsm.Receive objConst.GSM_MESSAGESTATE_RECEIVED_READ
...
Set objGsmDeliveryReport = objGsm.GetFirstReport
While objGsm.LastError = 0
...
WScript.Echo objGsmDeliveryReport.SmscAddress
WScript.Echo objGsmDeliveryReport.DischargeTime
WScript.Echo objGsmDeliveryReport.DischargeTimeInSeconds
...
Set objGsmDeliveryReport = objGsm.GetNextReport
WEnd
...
MemoryIndex property
This property holds the memory index in the modems memory for this delivery report
Example:
Set objGsm = CreateObject("AxSms.Gsm")
...
objGsm.Receive objConst.GSM_MESSAGESTATE_RECEIVED_READ
...
Set objGsmDeliveryReport = objGsm.GetFirstReport
While objGsm.LastError = 0
...
WScript.Echo objGsmDeliveryReport.FromAddress
WScript.Echo objGsmDeliveryReport.MemoryIndex
...
Set objGsmDeliveryReport = objGsm.GetNextReport
WEnd
...
FirstOctet property
This property holds the first octet value for this delivery report
Example:
Set objGsm = CreateObject("AxSms.Gsm")
...
objGsm.Receive objConst.GSM_MESSAGESTATE_RECEIVED_READ
...
Set objGsmDeliveryReport = objGsm.GetFirstReport
While objGsm.LastError = 0
...
WScript.Echo objGsmDeliveryReport.FromAddress
WScript.Echo objGsmDeliveryReport.FirstOctet
...
Set objGsmDeliveryReport = objGsm.GetNextReport
WEnd
...
SmscTON property
This property holds the Type of Number for the SmscAddress property. Will be one of these constants.
Example:
Set objGsm = CreateObject("AxSms.Gsm")
...
objGsm.Receive objConst.GSM_MESSAGESTATE_RECEIVED_READ
...
Set objGsmDeliveryReport = objGsm.GetFirstReport
While objGsm.LastError = 0
...
WScript.Echo objGsmDeliveryReport.SmscAddress
WScript.Echo objGsmDeliveryReport.SmscTON
WScript.Echo objGsmDeliveryReport.SmscNPI
...
Set objGsmDeliveryReport = objGsm.GetNextReport
WEnd
...
SmscNPI property
This property holds the Number Plan Identification for the SmscAddress property. Will be one of these constants.
Example:
Set objGsm = CreateObject("AxSms.Gsm")
...
objGsm.Receive objConst.GSM_MESSAGESTATE_RECEIVED_READ
...
Set objGsmDeliveryReport = objGsm.GetFirstReport
While objGsm.LastError = 0
...
WScript.Echo objGsmDeliveryReport.SmscAddress
WScript.Echo objGsmDeliveryReport.SmscTON
WScript.Echo objGsmDeliveryReport.SmscNPI
...
Set objGsmDeliveryReport = objGsm.GetNextReport
WEnd
...
Status property
This is the message delivery status for this message. Will be one of these constants
Example:
Set objGsm = CreateObject("AxSms.Gsm")
...
objGsm.Receive objConst.GSM_MESSAGESTATE_RECEIVED_READ
...
Set objGsmDeliveryReport = objGsm.GetFirstReport
While objGsm.LastError = 0
...
WScript.Echo objGsmDeliveryReport.FromAddress
WScript.Echo objGsmDeliveryReport.Status
...
Set objGsmDeliveryReport = objGsm.GetNextReport
WEnd
...
FromAddress property
The from address in the delivery report will be the address the original SMS message was send to.
Example:
Set objGsm = CreateObject("AxSms.Gsm")
...
objGsm.Receive objConst.GSM_MESSAGESTATE_RECEIVED_READ
...
Set objGsmDeliveryReport = objGsm.GetFirstReport
While objGsm.LastError = 0
...
WScript.Echo objGsmDeliveryReport.FromAddress
WScript.Echo objGsmDeliveryReport.Status
...
Set objGsmDeliveryReport = objGsm.GetNextReport
WEnd
...
Clear method
This method resets all properties to their default values.
Parameters:
- None
Return value:
None
Example:
Set objGsmDeliveryReport = CreateObject("AxSms.GsmDeliveryReport")
...
objGsmDeliveryReport.Clear
...