Show/Hide Toolbars

CWT Software Configuration Handbook

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.
communicationDevicereboot
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,&quot;IP&quot;,&quot;maingate.telia.se&quot;,&quot;&quot;,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.
modemAuthPasswordreboot
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.
modemAuthUserNamereboot

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.
modemBannedAPNreboot
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

modemInitStringreboot
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,&quot;IP&quot;,&quot;maingate.telia.se&quot;,&quot;&quot;,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 reboot

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,&quot;IP&quot;,&quot;apn.cale.swir&quot;,&quot;&quot;,0,0"

where apn,cale.se is the GPRS operator APN string.

Replace this with the correct APN string for the GPRS operator.

Use &quot; 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,&quot;IP&quot;,&quot;apn.cale.swir&quot;,&quot;&quot;,0,0"
modemInitString2="ATE0V1+CGDCONT=2,&quot;IP&quot;,&quot;data.tre.se&quot;,&quot;&quot;,0,0"
modemInitString3="ATE0V1+CGDCONT=3,&quot;IP&quot;,&quot;m2m.tele2.com&quot;,&quot;&quot;,0,0"
modemInitString4="ATE0V1+CGDCONT=4,&quot;IP&quot;,&quot;ca.cxn&quot;,&quot;&quot;,0,0"
modemInitString5="ATE0V1+CGDCONT=5,&quot;IP&quot;,&quot;internet.ts.m2m&quot;,&quot;&quot;,0,0"
modemInitString5="ATE0V1+CGDCONT=6,&quot;IP&quot;,&quot;maingate.telia.se&quot;,&quot;&quot;,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.
modemNetworkTypereboot
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.

modemPhoneNumberreboot
Range:32 characters
Default:
Description:Modem phone number used to connect to the GPRS network. The number varies with different GPRS providers.
modemPinCodeStringreboot
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.
modemSlotreboot
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.  
modemTypereboot
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

useModemreboot
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,&quot;IP&quot;,&quot;maingate.telia.se&quot;,&quot;&quot;,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,&quot;IP&quot;,&quot;maingate.telia.se&quot;,&quot;&quot;,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,&quot;IP&quot;,&quot;maingate.telia.se&quot;,&quot;&quot;,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>