Assembly name

Quark.Module.ECall.dll

Description

This module allows processing of external eCall messages and retreiving MSD data on demand. eCall module implements following functionalities:

  • listen for external eCall messages

    component listening for ext. messages is implemented as a WCF server. Third party uses methods ot that server to pass eCall data messages.

  • resend & callback client

    callback & resend MSD data operations can be triggered on demand. Module passes those requests to remote WCF endpoint, thus the client is also WCF client.

  • resend & callback marshalling

    depending on the source of received MSD data client should connect to different remote endpoints.

Configuration

Default config

{
  "eCall": {
    "active": 0,
    "clientUri": null,
    "location": null,
    "provider": null,
    "receivers": [
      {
        "name": null,
        "uri": null
      }
    ],
    "serviceBaseAddress": null,
    "subsystem": null
  }
}

Params

Setting Default value Notes
clientUri string, null default remote endpoint for resendMSD & callback if no separate receivers are configured
location string, null value used when responding to diagnostic messages
subsystem string, null value also used when responding to diagnostic messages
provider string, null if there are more than one instance of eCall receiver quark, this settings differentiates between them. “provider” value is stored in eCall quark db
receivers struct, null array of remote endpoints if there is eCall marshalling involved. See below for details
serviceBaseAddress string, null listening eCall service endpoint. 3rd party connects to this endpoint and pushes eCall data

receivers is an array of objects containing configuration for each separate receiver:

{
  "name":"received descriptive name",
  "uri":"http://...."
}
Setting Description
name name of the receiver. should be substring of value found in callId field of the eCall message from last @ character to the end (ie: if callId is asd21312312313@13.13.13.13, name should be 13.13.13.13
uri full remote endpoint receiver uri

Example

In the example below we have defined two receivers:

  1. for received ecall having callId field ending with @123.33.13.11, remote endpoint will be http://193.77.24.79:8080/ecall4allCommand/RecallResendReceiver/RecallResendReceiver
  2. for received ecall having callId field ending with @123.33.13.22, remote endpoint will be http://193.77.11.79:1090/ecall4allCommand/RecallResendReceiver/RecallResendReceiver
{
  "ecall": {
    "active": 1,
    "clientUri": "http://193.77.24.79:8080/ecall4allCommand/RecallResendReceiver/RecallResendReceiver",
    "location": "",
    "provider": "default",
    "receivers": [
      {
        "name": "123.33.13.11",
        "uri": "http://193.77.24.79:8080/ecall4allCommand/RecallResendReceiver/RecallResendReceiver"
      },
      {
        "name": "123.33.13.22",
        "uri": "http://193.77.11.79:1090/ecall4allCommand/RecallResendReceiver/RecallResendReceiver"
      }
    ],
    "serviceBaseAddress": "http://localhost:8385",
    "subsystem": ""
  }
}