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:
- 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.
- 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"
|