ComChain

http://comchainalliance.org/schema/ComChain

The ComChain schema defines all the data to be collected and stored in order to meet regulations for a given communication resource. Depending upon the system and regulation, not all fields are required. The Schema can be used in two ways:

  1. Configuration – defining the party who is required to capture the data based upon events. For example, if the resource is a specific phone allocated to a regulated user then the meta data for the calls on the line need to be captured. A given member will be defined for each element in the schema. Secondly the voice recording on the line may be required potentially a second service provider will be responsible for updating this data.
  2. Data Input  – for every event the resource is party to the different systems configured will create a JSON file with the fields they are captured to collate.

Based upon the Template used the ComChain configuration can be set up. For example if specific data is required for MiFiD2 it can be defined here. Other details such as duration to store data and then specific configuration requirements such as legal hold will get linked to the product contract thus ensuring all linked providers get the updates simultaneously.

Properties

 

Property Expected Type Description
id string
identifier schema.org – indentifier  The identifier property represents any kind of identifier for any kind of Thing, such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides dedicated properties for representing many of these, either as textual strings or as URL (URI) links.
type member
OR
community
OR
string
The type is either the configuration or the entity responsible for adding the data or the type of data defined by a string. This is an enum field

               "Type": "string"
               "Enum": [
                  "Telephony"
                  "Voice recorder"
                  "Transcription"
                  "Audit"
                  "Other"

 

callid member
OR
community
OR
string
The id for the conversation record from the system gathering the meta data.
cscid member
OR
community
OR
string
The Communication System Call ID provided by the platform itself for a specific call leg.
profileid member
OR
community
OR
string
The ID of the user from the system capturing the conversation meta data
interestid member
OR
community
OR
string
The ID of the specific channel the user is using for the conversation
site member
OR
community
OR
string
The location / ID of the platform to uniquely identify it.
direction member
OR
community
OR
string
 From the point of view of the user whether they initiated or received the initial communication request. If populating

               "Type": "string"
               "Enum": [
                  "Inbound"
                  "Outbound"
               ]
starttimestamp member
OR
community
OR
string
 The time the conversation started in date time format
endtimestamp member
OR
community
OR
string
 The time the conversation ended in date time format
duration member
OR
community
OR
number
The duration the conversation lasted in ms
soucename member
OR
community
OR
string
 The name of the caller
sourceaddress member
OR
community
OR
string
 The address of the caller based upon the system they are using, could be a phone number, email, IM…
destinationname member
OR
community
OR
string
 The name of the first party communicated with to set up the initial event.
destinationaddress member
OR
community
OR
string
The address of the called party based upon the system they are using, could be a phone number, email, IM…
platform member
OR
community
OR
string
 The actual platform used for example telephony platforms could be could be Cisco, Avaya, BT ITS, IPC, Etradeal
state member
OR
community
OR
string
The state of the communication when the record was generated
universalcallid member
OR
community
OR
string
A callID the underlying platform may provide to link multiple calls within the system. For example where multiple calls are in conference some systems may link them with a universal call id.
participants member
OR
community
OR
array:string
A list of Participants taking part in the conversation defined as follows:

 "Participant":{
         "type":"object",
         "properties":{
            "id":{
               "type":"string"
            },
            "duration":{
               "type":"array",
               "items":{
                  "type":"integer"
               }
            },
            "starttime":{
               "type":"array",
               "items":{
                  "type":"string"
               }
            },
            "state":{
               "type":"array",
               "items":{
                  "type":"string"
               }
variety member
OR
community
OR
string
"enum":[
                  "1-1",
                  "conference"
vrquality member
OR
community
OR
array:number
For voice recording data – the quality field associated with the file.
 vrchannel  member
OR
community
OR
array:number
The channel used for recording the communication
filestoragelocation member
OR
community
OR
string:uri
The location of the data on the conversation
archivedate member
OR
community
OR
string
The date the file should be removed date-time format
filehash member
OR
community
OR
object
The object contains the hash itself and an enum defining the hashing mechanism used

                     "Type": "string"
                     "Enum": [
                        "SHA-256"
                        "SHA-384"
                        "SHA-512"
                        "SHA3-224"
                        "SHA3-256"
                        "SHA3-384"
                        "SHA3-512"