Element Path: <cwt><COMMUNICATION>
Important: If the <COMMUNICATION> element in not defined in the cwtconfig.xml file the cwoHeartbeatInterval value will be set to zero |
The communication element contains attributes for the terminal’s back-office communication such as modem attributes and attributes to setup the back-office gateway-address details.
cacheSocket
Range: | true / false |
Default: | false |
Description: | When set to true the CWT will reuse sockets while communicating to the server. This improves performance for online services. |
communicationDevice | ![]() |
Range: | Modem, LAN, LANWithModemFallback |
Default: | Modem |
Description: | Selects the type of communication device to use: Modem, LAN or LANWithModemFallback. If set to LANWithModemFallback and the LAN connection to WebOffice fails a fallback to instead use the modem will be made. This of course means that you need to have a modem installed in the CWT. |
Note: If using the attribute communicationDevice the attribute useModem shall be removed from the CWT configuration.
Example with LANWithModemFallback:
<COMMUNICATION communicationDevice="LANWithModemFallback"
useModemForCardValidation="false"
connectTimeout="30"
modemBaudRate="115200"
modemSlot="3"
modemResetLevel="2"
modemHardwareResetLevel="3"
modemRebootResetLevel="4"
modemType="Gprs"
modemName="Hayes Compatible on COM5:"
modemInitString="ATE0V1+CGDCONT=1,"IP","maingate.telia.se","",0,0"
modemSleepString="AT%SLEEP=4"
modemPinCodeString=""
modemPhoneNumber="*99#"
modemAuthUserName=""
modemAuthPassword=""
cwoHostName="gateway.caleaccess.com"
keepGprsConnection="true"
validationTimeout="10"
modemPowerSaveTimer="1"
cwoHeartbeatInterval="60"
cwoDataTransferConnectTimeout="30"
- - -
</COMMUNICATION>
connectTimeout
Range: | 0 – 4,294,967,295 |
Default: | 40 |
Description: | This is the time in seconds the terminal waits for a valid GPRS modem connection to be established before it gives up and cancels the session. |
cwoDataTransferConnectTimeout
Range: | 1 – 65535 |
Default: | 30 |
Description: | The timeout (in seconds) used when the terminal, at the heartbeat interval, tries to establish a connection to the gateway to check for available jobs. |
cwoHeartbeatInterval
Range: | 0 – 65535 |
Default: | 60 |
Description: | Defines the frequency, in minutes, with which the terminal should connect to the WebOffice gateway to check for job commands to execute. The terminal always connects to the gateway 3 minutes after booting and then uses the frequency set with this attribute. If the frequency is set to zero, then all communication with WebOffice is disabled. |
cwoHostName
Range: | 512 characters |
Default: | – |
Description: | Back-office gateway host-name or IP address used when the terminal establishes a communication session with the back office gateway. |
cwoHostPort
Range: | 50950, 50951, 50952, 50953, 50954 |
Default: | – |
Description: | Back-office gateway port-number used when the terminal establishes a communication session with the WebOffice gateway. |
•50950 - Gateway CWT
•50951 - Gateway MP 104
•50952 - Gateway CWT without SSL
•50953 - Gateway CWT with SSL
•50954 - Gateway CWT with SSL
Note: From CWT 4.0 the port 50954 is hard coded and cannot be set in the cwtconfig.xml file
keepGprsConnection
Range: | true / false |
Default: | true |
Description: | If true, the terminal keeps a GPRS connection established even if communication is inactive. This minimizes the connection time if a GPRS modem is used in combination with semi-online validation. A GPRS connection will be available instantly. |
modemAuthPassword | ![]() |
Range: | 32 characters |
Default: | – |
Description: | The GPRS network password if the GPRS provider requires a login when connecting. Leave it empty if no login is required. |
modemAuthUserName | ![]() |
32 characters
Default: | – |
Description: | GPRS network user name if the GPRS provider requires a login when connecting. Leave it empty if no login is required. |
modemBannedAPN | ![]() |
Range: | string |
Default: | empty |
Description: | Add the name of a APN in to be banned from auto attachment, |
example: | modemBannedAPN="VZWSTATIC" |
modemEraseOldCDGCONTBeforInit
Range: | True / False |
Default: | False |
Description: | If a modem has CDGCONT programmed. Setting this parameter to true will erase all before setting new. |
modemErrorHandlingEnabledForOnlineServices
Range: | true / false |
Default: | false |
Description: | If this parameter is set to true, the modem error handling will try to reconnect to the internet when something went wrong while sending data to the server. This applies to the following cases: |
•DynamicDeliverable
•OngoingPurchase
•PurchasePreRequisites
•GetExternalInformation
modemInitString | ![]() |
Range: | 255 characters |
Default: | – |
Description: | Modem initialization string (as an AT command) containing the GPRS provider APN and other necessary modem commands. |
Example: | init string is "ATE0V1+CGDCONT=1,"IP","maingate.telia.se","",0,0" where maingate.telia.se is the GPRS operator APN string. Replace this with the correct APN string for the GPRS operator. |
modemInitString1-8
Range: | 255 characters |
CGDCONT value range is 1 to 16 for Flowbird's Gemalto modem used in the CWT.
CGDCONT value range is 1 to 8 for other modems
1 to 16 for PHS8-P and PLS8-E, PLS8-X modems
Default: | - |
Description: | modemInitString1-8 are attributes ModemInitString1 to ModemInitString8 which set the PDP Contexts for different APN:s for the SIM-card. modemInitString1-8 can be used to pre-program all APN available in a county/region. If any of modemInitString1-8 is set, no modemInitString is needed. Flowbird's Gemalto modem supports up to 16 modemInitStrings |
Each modem initialization string (as an AT command) containing the GPRS provider APN and other necessary modem commands.
modemInitString1-8 are attributes which set PDP Contexts for several different APN:s for SIM-card.
The CWT Starts dialling from context 1, then uses context 2 until an attach to a APN is successful.
Terms used: | APN - Access Point Name, PDP - Packet Data Protocol, CGD - Command Group Data, CONT - Context, CID - Context identifier |
Auto dial: | If several APN:s are set with modemInitString1-8, auto dial can be enabled by removing the modemPhoneNumber attribute or by leaving it empty. The CWT will try to connect to the APNs contexts set by modemInitString1-8. |
Example of Context number 1 init string:
modemInitString1="ATE0V1+CGDCONT=1,"IP","apn.cale.swir","",0,0"
where apn,cale.se is the GPRS operator APN string.
Replace this with the correct APN string for the GPRS operator.
Use " to insert the " sign in the string where needed
Example with 6 different Moden Init Strings:
<COMMUNICATION useModem="true" modemType="CinterionPhs8" useModemForCardValidation="true" modemPowerSaveTimer="0" keepGprsConnection="true" cwoHeartbeatInterval="60" modemSlot="1" modemName="Hayes Compatible on COM5:"
modemInitString1="ATE0V1+CGDCONT=1,"IP","apn.cale.swir","",0,0"
modemInitString2="ATE0V1+CGDCONT=2,"IP","data.tre.se","",0,0"
modemInitString3="ATE0V1+CGDCONT=3,"IP","m2m.tele2.com","",0,0"
modemInitString4="ATE0V1+CGDCONT=4,"IP","ca.cxn","",0,0"
modemInitString5="ATE0V1+CGDCONT=5,"IP","internet.ts.m2m","",0,0"
modemInitString5="ATE0V1+CGDCONT=6,"IP","maingate.telia.se","",0,0"
modemSleepString="AT%SLEEP=4" modemPinCodeString="AT" modemAuthUserName="" modemAuthPassword="" cwoHostName="gateway.caleaccess.com" cwoDataTransferConnectTimeout="30" cwoDataTransferReadTimeout="60" validateCardOnAccept="true" validationTimeout="20" modemNetworkType="Auto" smsPushReceive="Enabled" modemNetworkRegistrationTimeout="8" modemScanAllOperatorsAtStart="true" />
modemMaxTerminalReboots
Range: | 0 - 65535 |
Default: | 3 |
Description: | Setting to define how many reboots a terminal is allowed to do while initiating the modem and connection to mobile operator. If this parameter is set to 0, the control is turned off and infinity reboots are allowed. |
Note:
Reboots related to other issues than modem init are allowed.
MaxFrameSize
Range: | 0 - 65535 |
Default: | 0 |
Description: | Controls the maximum transmission unit for the modem. This is only necessary to define if the network operator have an incorrectly configured network. |
modemNetworkInfoScanInterval
Range: | 0 - 65535 minutes |
Default: | 60 minutes |
Description: | Reads modem information, like APN, modem IP Address, Sim Card MSISDN , etc. |
modemNetworkRegistrationTimeout
Range: | 0 - 65535 minutes |
Default: | 3 |
Description: | Max time for the modem to connect to the register to the mobile network. |
modemNetworkType | ![]() |
Range: | Auto, Gprs, Umts |
Default: | Auto |
Description: | Selects the network type for the modem. When network type is set to Auto, the modem uses an internal algorithm to select the best network type. This is the recommended setting. |
If it set to Gprs or Umts, the modem will be locked to the selected network type. If the selected network type is unavailable, the modem will be unable to register and use the network.
Note! modemNetworkType is ignored for modem type “Gprs” since it only supports one network.
modemPhoneNumber | ![]() |
Range: | 32 characters |
Default: | – |
Description: | Modem phone number used to connect to the GPRS network. The number varies with different GPRS providers. |
modemPinCodeString | ![]() |
Range: | 128 characters |
Default: | – |
Description: | Four-digit PIN code if the GPRS provider requires a PIN code on the SIM-card. The card will be locked if an invalid PIN code is entered too many times successively. |
modemPowerSaveTimer
Range: | 0 – 4,294,967,295 |
Default: | 0 |
Description: | Turns the modem power OFF the stated number of minutes after the end of the last communication session. This saves power when instant modem communication is not required, for instance when semi-online data verification is not used. |
NOTE: this attribute MUST be set to 0 (zero) if you want to measure the modem signal strength
modemShowInitProgressDuringBoot
Range: | True / False |
Default: | True |
Description: | Setting this parameter to False, the Modem initialization progress will not be shown in the display during boot. |
modemSlot | ![]() |
Range: | 1 - 3 |
Default: | 1 |
Description: | Defines the modem’s position: |
Windows CE 5 platform:
1 = Modem #1
2 = Modem #2
3 = Not used
Windows EC 7 / EC 2013 platform:
1 = Internal modem
2 = Not used
3 = Expansion slot
modemSoftwareResetOngoingEventAutoRasLevelEnabled
Range: | True/False |
Default: | False |
Description: | This parameter controls if pay units shall be set in partial error during the first modem reset cycle after a detected communication loss. True: partial error is set and during a payment the payment will be aborted. False: the cwt tries to recover the internet connection in the background. If successful any payment can continue without being aborted. |
modemType | ![]() |
Range: | CinterionPhs8, CinterionPls8xv, CinterionPls8xa |
Default: | - |
Description: | Modem type attribute selects the modem type to use. Use CinterionPls8xv for Verizon: AT^SCFG="MEopMode/Prov/Cfg\","2" Use CinterionPls8xa for AT&T: AT^SCFG="MEopMode/Prov/Cfg\","1" |
smsPushReceive
Range: | Enabled, Disabled |
Default: | Disabled |
Description: | Controls if remote communication with terminal via SMS is allowed. If it is enabled, SMS data will be forwarded from the modem to CWT on reception and processed. This can be used to push VSI updates and force heartbeats from WebOffice in real time. |
NOTE: this feature only works with a 3G Modem or later versions
smsPushServicePhoneNumber
LICENSED FEATURE
Range: | String of max. 32 characters |
Default: | - |
Format: | + country code - region - number Example: +46123456789 |
Description: | This attribute enables the SMS Fallback function in the CWT and sets the phone number to the SMS service provider. |
If a terminal cannot submit an ongoing purchase to WebOffice, but has SMS network capability, the terminal will send a text message to a local number that is connected to WebOffice. The text message will contain predefined command data required to trigger an Ongoing Purchase. From the ongoing purchase, a purchase and active purchase will be created, and an online purchase transfer will take place to third part for enforcement.
The terminal will still make communication attempts and when the connection to WebOffice is restored it will sync the normal way and update the information received over text with all other attributes.
The idea is to leverage that the mobile network may allow text messages even if the data network is overloaded (like at events). The SMS service provider then pushes the data to WebOffice via a REST-API.
Configuration and setup in WebOffice are needed.
Requirements:
•The SIM card must allow you to send SMS messages and you must have an agreement with the operator.
•An SMS service provider must be setup in WebOffice. See the WebOffice Support guide for this or ask your reseller.
•A license in WebOffice must be enabled. See the WebOffice Support guide or ask your reseller.
•The OngoingPurchaseDatabaseReplication attribute in PAYMENT or PAYMENTSERVICE must be set to one of the following options. See the OngoingPurchaseDatabaseReplication in the PAYMENT element for more information:
o If "None" is selected no SMS will be sent.
oAtPurchaseSmsFallback.
oRequiredForPurchaseFallbackAndSmsFallback.
oAtPurchaseSmsAsPrimaryDelivery.
Test SMS: | A test SMS can be sent from the service menu to verify that the CWT, SMS service provider and WebOffice are setup correctly. In WebOffice the processing status of the SMS can be shown in the “External service log - page” when the command type is positive or when an error occurs. |
The command to send a test SMS is default not visible in the service menu. If you want to use it, you must uncomment the line in the UI.XAML file.
Used panels: The panels listed below are part of the Standard Configuration
•ServiceModeTestSmsStartedPopup.
When activating Send test SMS from service menu this popup is shown
•ServiceModeTestSmsSentPopup.
The popup is shown when a SMS is sent triggered by Send test SMS from service menu
•ServiceModeTestSmsFailedPopup
The popup is shown when a failure occurred when trying to send a SMS triggered by Send test SMS from service menu
Message Example:
attribute |
Desctiption |
Data to send |
Data sent examples |
---|---|---|---|
TerminalGuid |
GUID – 16-byte hex |
|
4089fb1089ae4674a69e1a8130349912 |
PurchaseGuid |
GUID – 16-byte hex |
|
4089fb1089ae4674a69e1a8130349912 |
PurchaseAmount |
Unsigned 4-byte hex |
$100.55 |
00002747 |
StartDateUtc |
Unsigned 4-byte hex |
2018-08-29T01:01:00 |
1808290101 -> 6BC85135 |
PurchasedUnits |
Unsigned 4-byte hex |
525600 |
00080520 |
Code/LicensePlate |
Ascii – 20-byte hex |
ABC123 |
0000000000000000000000000000414243313233 |
ParkingSpaceID |
Ascii – 6-byte hex |
012345 |
303132333435 |
ArticleId |
Unsigned 2-byte hex |
65535 |
FFFF |
TariffPackageId |
Unsigned 2-byte hex |
65535 |
FFFF |
CountryStateOrigin |
Ascii – 30-byte hex |
Newfoundland and Labrador 1234 |
4E6577666F756E646C616E6420616E64204C61627261646F722031323334 |
useModem | ![]() |
Range: | true / false |
Default: | false |
Description: | Decides if a modem shall be used for back office communication. If true, an installed modem will be used. If false, communication via Ethernet will be used instead. |
useModemForCardValidation
Range: | true / false |
Default: | true |
Description: | true = Allow semi-online validation feature in combination with a modem. false = the modem is used but semi-online verification is not required. This is to avoid connecting to the GPRS network when a credit card is inserted. |
validateCardOnAccept
Range: | true / false |
Default: | false |
Description: | true = Cards should be validated when the customer presses the accept button to finish the purchase. |
false = Cards should be validated as they are pulled from the reader.
validationTimeout
Range: | 0 – 4,294,967,295 |
Default: | 10 |
Description: | Maximum time allowed for validating a credit card and Online Permit accounts (OPA) with semi-online connection to the WebOffice gateway. If this time expires, the terminal will fall back to offline validation if offline validation is allowed in the prefix list (defined in WebOffice. See WebOffice manual for further information). Otherwise, the validation will fail. |
Note: Setting this value to 0 will cause that WebOffice will not get any time to respond. The validation will fail
Note: If a failed heartbeat causes a software or hardware reset, one new heartbeat attempt will be performed after the reset is completed. Only one retry will be triggered to avoid getting into an endless loop of retries if the reset attribute values are low. Setting the keepGprsConnection to true will prevent the modem from going to sleep when running in solar mode. |
Example:
Setup 1:
This setup uses a modem in position 1. The APN is set to maingate.telia.se. The GPRS user name is set to “user1” and the password is set to “password1”. The terminal should connect to the gateway address gateway.caleaccess.com on port number 50950 at a regular interval of 60 minutes.
Example: where a software reset of the modem is performed at every failed attempt to connect to the gateway, a hardware reset is performed at every second failed attempt and a reboot is performed if communication to the WebOffice gateway fails three times in a row.
<COMMUNICATION useModem="true"
useModemForCardValidation="false"
connectTimeout="30"
modemBaudRate="115200"
modemSlot="1"
modemResetLevel="2"
modemHardwareResetLevel="3"
modemRebootResetLevel="4"
modemType="Gprs"
modemName="Hayes Compatible on COM5:"
modemInitString="ATE0V1+CGDCONT=1,"IP","maingate.telia.se","",0,0"
modemSleepString="AT%SLEEP=4"
modemPinCodeString=""
modemPhoneNumber="*99#"
modemAuthUserName="user1"
modemAuthPassword="password1"
cwoHostName="gateway.caleaccess.com"
keepGprsConnection="false"
validationTimeout="10"
modemPowerSaveTimer="1"
cwoHeartbeatInterval="60"
cwoDataTransferConnectTimeout="30"
- - -
</COMMUNICATION>
Example:
Setup 2:
A communication setup for a terminal that uses semi-online validation of credit cards through a modem in modem position 1 with APN set to maingate.telia.se. No username or password is used for the GPRS connection. The PIN code is set to 1234. The terminal connects to the gateway address “gateway.caleaccess.com” through port number 50950 at a regular interval of 60 minutes to check if there is any job to be executed. The terminal will maintain the GPRS connection even if there is no activity. Card validation is performed via the modem with a maximum time of 6 seconds for online validation.
<COMMUNICATION useModem="true"
useModemForCardValidation="true"
connectTimeout="15"
modemBaudRate="115200"
modemSlot="1"
modemResetLevel="2"
modemHardwareResetLevel="3"
modemRebootResetLevel="4"
modemType="Gprs"
modemName="Hayes Compatible on COM5:"
modemInitString="ATE0V1+CGDCONT=1,"IP","maingate.telia.se","",0,0"
modemSleepString="AT%SLEEP=4"
modemPinCodeString="1234"
modemPhoneNumber="*99#"
modemAuthUserName=""
modemAuthPassword=""
cwoHostName="gateway.caleaccess.com"
keepGprsConnection="true"
validationTimeout="6"
modemPowerSaveTimer="0"
cwoHeartbeatInterval="60"
cwoDataTransferConnectTimeout="30"
- - -
</COMMUNICATION>
Example:
Setup 3:
This setup uses a modem in position 1. The APN is set to internet.telenor.se. The user name is set to “” and the password is set to “” because no user name and password is required in the GPRS/3G network. The terminal will connect to the gateway address “gateway.caleaccess.com” at a regular interval of 60 minutes. SMS push feature is enabled to allow the terminal to receive and process SMS data, which can be used to force a heartbeat from back office.
<COMMUNICATION useModem="true"
useModemForCardValidation="false"
connectTimeout="30"
modemBaudRate="115200"
modemSlot="1"
modemResetLevel="2"
modemHardwareResetLevel="3"
modemRebootResetLevel="4"
modemType="Gprs"
modemName="Hayes Compatible on COM5:"
modemInitString="ATE0V1+CGDCONT=1,"IP","maingate.telia.se","",0,0"
modemSleepString="AT%SLEEP=4"
modemPinCodeString=""
modemPhoneNumber="*99#"
modemAuthUserName=""
modemAuthPassword=""
cwoHostName="gateway.caleaccess.com"
keepGprsConnection="false"
validationTimeout="10"
modemPowerSaveTimer="1"
cwoHeartbeatInterval="60"
cwoDataTransferConnectTimeout="30"
- - -
</COMMUNICATION>