Common Data Properties
Every event is sent across the WebSocket connection as a JSON string. We call this a message (not to be confused with text message). You can expect a few common data properties to always exist.
{ "type": "userevent", "category": "voice", "subCategory": "incoming", "eventName": "answer", "eventTimestamp": "2022-10-22T03:54:05+00:00", ... }
- Type is 
userevent, signifying that this has been emitted on the user event stream. - Category is 
voice - Subcategory is 
incoming - Event name is 
answer - When we take the category, subcategory and event name and write it in topic format, we get 
voice.incoming.answer 
Here is the full example of an event that shows that user 9999 just answered a phone call:
{ "type": "userevent", "callType": "voicecall", "category": "voice", "destination": "9999", "eventName": "answer", "eventTimestamp": "2022-10-22T03:54:05+00:00", "hasVoicemail": false, "isCall": true, "isMissedCall": false, "subCategory": "incoming", "trackingId": "9d547c9e4ba4fb1b14eebd9072b1228", "type": "userevent", "uniqueId": "10.783465762.323991", "userData": { id: "9999", ... }, "userId": "9999" }