====== DV2000 Events ====== This server sends DV2000 events to remote servers using a HTTP POST containing JSON. Events are never cached and only sent in real-time. If it cannot connect to the URL it will be logged but no retries will ever be made. ===== Requirements ===== * DV2000 8.0.21 or above. ===== Features ===== * HTTP and HTTPS supported. * URL can be any rout-able address. * Multiple servers can be configured if necessary. * Ability to filter events by category. ===== Setup ===== This server is always disabled by default and must be manually configured. This server is never added to the list of servers on updates or upgrades and can be added manually. - Edit the server by double clicking on the it. - Add the URL to send the POST. ==== Arguments ==== ^ Argument ^ Description ^ | url | Full URL to post data. Example: -url http://192.168.1.100/events | | cat | Used to limit which categories to post entered as a CSV list. Example: -cat 2,4 | == Example == -url http://192.168.1.100 -cat 3 ===== Packet ===== The packet will be sent as a POST with the following data in JSON format. ^ Field ^ Description ^ | category | Category for the event. | | date | Date of the event in YYYY/MM/DD format. | | event | Event number. | | message | JSON node of event details. Varies for each event type. | | service_id | DV2000 application ID which posted the event. Numbers 1-255 relate to line number. | | service_name | Name of the DV2000 application which posted the event. | | time | Time of the event in HH:MM:SS format. | | timestamp | Timestamp in ISO8601 format allowing for timezone correlation. | ==== Example ==== === URL Argument === -url http://127.0.0.1:8090/events === POST === POST /events HTTP/1.1 Date: 2023-09-13T15:07:46Z User-Agent: DuVoice/8.0.20 Content-Type: application/json Content-Length: 374 Connection: Close Host: 127.0.0.1:8090 {"category":3,"date":"2023/09/13","event":12,"message":"actor":"Visitant","event":12,"firstname":"Carmella","guestid":"15478364","lastname":"Galvano","maidstatus":"0","mailbox":"3101","room":"100-101","source":"testapp","timestamp":"2023-09-13T08:07:46-07:00","vip":"0"},"service_id":1064,"service_name":"Visitant","time":"08:07:46","timestamp":"2023-09-13T08:07:46-07:00"} == JSON Data == { "category": 3, "date": "2023/09/13", "event": 12, "message": { "actor": "Visitant", "event": 12, "firstname": "Carmella", "guestid": "15478364", "lastname": "Galvano", "maidstatus": "0", "mailbox": "3101", "room": "100-101", "source": "testapp", "timestamp": "2023-09-13T08:07:46-07:00", "vip": "0" }, "service_id": 1064, "service_name": "Visitant", "time": "08:07:46", "timestamp": "2023-09-13T08:07:46-07:00" } ===== Categories ===== ^ Number ^ Description ^ | 0 | General event. | | 1 | Telephony interface. | | 2 | System, typically startup/shutdown. | | 3 | Hospitality. | ===== Events ===== Events can be reported by any of the possible categories. ^ Number ^ Description ^ Typical Category ^ Hospitality ^ | 0 | General message. | N/A | {{fa>times?12}} | | 1 | System startup. | 2 | {{fa>times?12}} | | 2 | System shutdown. | 2 | {{fa>times?12}} | | 4 | Wakeup answered. | 3 | {{fa>check?12}} | | 5 | Wakeup callout. | 3 | {{fa>check?12}} | | 6 | Wakeup created. | 3 | {{fa>check?12}} | | 7 | Wakeup deleted. | 3 | {{fa>check?12}} | | 8 | Wakeup failed. | 3 | {{fa>check?12}} | | 9 | Room check in. | 3 | {{fa>check?12}} | | 10 | Room check out. | 3 | {{fa>check?12}} | | 11 | Room move. | 3 | {{fa>check?12}} | | 12 | Room update. | 3 | {{fa>check?12}} | | 14 | SIP registration success. | 1 | {{fa>times?12}} | | 15 | SIP registration failure. | 1 | {{fa>times?12}} | | 16 | SIP network re-connected. | 1 | {{fa>times?12}} | | 17 | SIP network failure. | 1 | {{fa>times?12}} | ==== Hospitality ==== Hospitality events contain items specific about guests only. These events typically contain all the same fields with only small variations. === Message === ^ Field ^ Description ^ | actor | User or application which generated this event. | | count | Number of wakeup calls attempted. | | date | Date a wakeup call is to be performed in YYYYMMDD format. | | event | Event number. | | firstname | First name of guest. | | from | Room number a guest is moving from. | | guestid | Unique guest id for PMS systems which support this. | | isforsync | true if this event is due to a PMS sync request, otherwise false. | | lastname | Last name of guest. | | line | Line number the wakeup call was performed on. | | maidstatus | Current maid status of the room. | | mailbox | Mailbox number associated with the room. | | room | Room number associated with the mailbox. | | source | Which application generated this event. | | time | Time wakeup call is to be performed in HHMM format. | | timestamp | Timestamp in ISO8601 format. | | to | Room number a guest has moved to. | | vip | 1 if the guest is a VIP, otherwise it's 0. | === Examples === Only the message part of the packet is shown. == Check in == "message": { "actor": "Visitant", "event": 9, "firstname": "Amiee", "guestid": "13082613", "isforsync": false, "language": "", "lastname": "Dutra", "mailbox": "3101", "room": "100-101", "source": "testapp", "timestamp": "2023-09-13T08:26:14-07:00" } == Check out == "message": { "actor": "Visitant", "event": 10, "guestid": "98463433", "isforsync": false, "mailbox": "3101", "room": "100-101", "source": "testapp", "timestamp": "2023-09-13T08:27:22-07:00" } == Room move == Guest moved from room 100-101 to 100-102. "message": { "actor": "Visitant", "event": 11, "from": "100-101", "guestid": "14575183", "source": "testapp", "timestamp": "2023-09-13T08:28:10-07:00", "to": "100-102" }