Service name
Tekelija-ECall
Description
This service allows processing of external eCall messages and retreiving MSD data on demand. eCall service 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
ECall config
{
"ECall": {
"clientUri": null,
"provider": null,
"database": null,
"connectionString": null,
"receivers": [
{
"name": null,
"uri": null
}
]
}
}
Params
Setting | Default value | Notes |
---|---|---|
clientUri | string, null | default remote endpoint for resendMSD & callback if no separate receivers are configured |
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 |
database | string, null | database - “mssql”, “sqlite” or “mysql” |
connectionString | string, null | database connection string, see connection string section below |
receivers | struct, null | array of remote endpoints if there is eCall marshalling involved. See below for details |
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:
- 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
- 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": {
"clientUri": "http://193.77.24.79:8080/ecall4allCommand/RecallResendReceiver/RecallResendReceiver",
"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"
}
],
"database": "sqlite"
}
}
Message bus config
{
"MessageBus": {
"Url": null,
"Endpoint": null
}
}
Params
Setting | Description | Notes |
---|---|---|
url | string, null | rabbitmq url (rabbitmq://host:port) or null (use loopback message bus) |
endpoint | string, null | rabbitmq endpoint to listen at |
Example
{
"MessageBus": {
"Url": "rabbitmq://localhost",
"Endpoint": "ecall-tekelija"
}
}
Connection string
Database: "mssql"
- mssql connection string, ie.Server=.\sqlexpress;initial catalog=tekelija-ecall.demo;Integrated Security=SSPI;
Database: "sqlite"
- sqlite connection string, ie.DataSource=<path>/app.db;Cache=Shared
Database: "mysql"
- mysql connection string, ie.Server=localhost;Database=tekelija-ecall.demo;Uid=<user>;Pwd=<pass>;
Authorization config
{
"AuthServer": {
"Issuer": "https://authenticatomatic.urszr.si:22000",
"ClientId": null,
"ClientSecret": null,
"Audience": null
}
}
Name | Type | Default | Description |
---|---|---|---|
Issuer | string | null | OAuth server url |
ClientId | string | null | Authorization app id |
ClientSecret | string | null | Authorization app secret |
Audience | string[] | null | Array of audiences (scope resources) to be used in token validation |