Summary
The Doorbird D2116V is a video door station supporting HTTP control (ports 80/443), RTSP video streaming (port 554), SIP telephony (port 5060), and UDP event broadcasts (ports 6524/35344). Control is via REST-style CGI endpoints with Basic/Digest authentication or plaintext HTTP parameters.
Transport
protocols:
- http
- udp
addressing:
port: 80 # unencrypted HTTP
# UNRESOLVED: port 443 stated for HTTPS but not listed separately; TLS cert is self-signed
base_url: http://<device-ip>/
auth:
type: basic_digest # Basic or Digest per RFC 2617, or plaintext http-user/http-password params
Secondary transports (inferred from documented services):
# RTSP for video streaming (port stated in doc)
protocols:
- tcp
addressing:
port: 554
# SIP for telephony
protocols:
- tcp
addressing:
port: 5060
# UDP event broadcasts
protocols:
- udp
addressing:
port: 6524 # primary event broadcast
# port 35344 also used for event broadcasts per source
Traits
# Inferred from command examples:
powerable: true # restart.cgi present
routable: true # SIP makecall, door open, light control
queryable: true # info.cgi, sip.cgi?action=status, monitor.cgi
Actions
- id: open_door
label: Open Door
kind: action
params:
- name: r
type: string
description: "Door controller ID and relay, e.g. '1' or 'gggaaa@1'; defaults to physical relay 1"
- id: light_on
label: Light On
kind: action
params: []
- id: restart
label: Restart Device
kind: action
params: []
- id: get_session
label: Get Session ID
kind: action
params: []
- id: invalidate_session
label: Invalidate Session
kind: action
params:
- name: invalidate
type: string
description: Session ID to invalidate
- id: get_live_video
label: Get Live Video Stream
kind: action
params: []
- id: get_live_image
label: Get Live Image
kind: action
params: []
- id: get_history_image
label: Get History Image
kind: action
params:
- name: index
type: integer
description: History image index (1 = latest, 1..50)
- name: event
type: string
description: "Event type: doorbell or motionsensor"
- id: monitor
label: Monitor Events
kind: action
params:
- name: ring
type: string
description: "Event types to monitor: doorbell,motionsensor"
- id: audio_receive
label: Receive Live Audio
kind: action
params: []
- id: audio_transmit
label: Transmit Live Audio
kind: action
params: []
- id: get_info
label: Get Device Info
kind: action
params: []
- id: list_favorites
label: List Favorites
kind: action
params: []
- id: save_favorite
label: Save Favorite
kind: action
params:
- name: action
type: string
description: Fixed value "save"
- name: type
type: string
description: "sip or http"
- name: title
type: string
description: Name/title of favorite
- name: value
type: string
description: URL or SIP address
- name: id
type: integer
description: Optional ID to update existing favorite
- id: delete_favorite
label: Delete Favorite
kind: action
params:
- name: action
type: string
description: Fixed value "remove"
- name: type
type: string
description: "sip or http"
- name: id
type: integer
description: ID of favorite to delete
- id: list_schedules
label: List Schedules
kind: action
params: []
- id: save_schedule
label: Save Schedule
kind: action
params: []
- id: delete_schedule
label: Delete Schedule
kind: action
params:
- name: action
type: string
description: Fixed value "remove"
- name: input
type: string
description: "doorbell, motion, or rfid"
- name: param
type: string
description: Doorbell number or transponder ID
- id: sip_register
label: SIP Register
kind: action
params:
- name: action
type: string
description: Fixed value "registration"
- name: user
type: string
description: SIP proxy username
- name: password
type: string
description: SIP proxy password
- name: url
type: string
description: SIP proxy IP/hostname
- id: sip_makecall
label: SIP Make Call
kind: action
params:
- name: action
type: string
description: Fixed value "makecall"
- name: url
type: string
description: SIP URL to call
- id: sip_hangup
label: SIP Hangup
kind: action
params:
- name: action
type: string
description: Fixed value "hangup"
- id: sip_settings
label: SIP Settings
kind: action
params:
- name: action
type: string
description: Fixed value "settings"
- name: enable
type: integer
description: "0 or 1"
- name: mic_volume
type: integer
description: "1..100"
- name: spk_volume
type: integer
description: "1..100"
- name: dtmf
type: integer
description: "0 or 1"
- name: relay1_passcode
type: integer
description: "0..99999999"
- name: incoming_call_enable
type: integer
description: "0 or 1"
- name: incoming_call_user
type: string
description: SIP user allowed
- name: anc
type: integer
description: "0 or 1"
- name: ring_time_limit
type: integer
description: "10..300 seconds"
- name: call_time_limit
type: integer
description: "30..300 seconds"
- id: sip_status
label: SIP Status
kind: action
params:
- name: action
type: string
description: Fixed value "status"
- id: sip_reset
label: SIP Reset
kind: action
params:
- name: action
type: string
description: Fixed value "reset"
Feedbacks
- id: doorbell_state
type: enum
values: [H, L]
description: Doorbell event state (high/low)
- id: motionsensor_state
type: enum
values: [H, L]
description: Motion sensor event state (high/low)
- id: sip_registration_status
type: enum
values: ["200", other SIP codes]
description: SIP registration status; "200" means registered
- id: device_info
type: object
description: Firmware version, build number, MAC address, relay config, device type
- id: session_id
type: string
description: Temporary session ID valid for 10 minutes
- id: notification_encryption_key
type: string
description: Key for decrypting UDP event broadcasts
Variables
# UNRESOLVED: variables not clearly distinguished from actions in source
# The info.cgi returns device state; sip.cgi?action=status returns SIP state
Events
# UDP event broadcasts on ports 6524 and 35344
# Encrypted with ChaCha20-Poly1305
# Fields: INTERCOM_ID (6 chars), EVENT (8 chars padded), TIMESTAMP (Unix)
#
# Event types (from CIPHERTEXT after decryption):
- id: doorbell_event
type: string
description: Doorbell trigger (e.g. "1 " for doorbell number 1)
- id: motion_event
type: string
description: Motion sensor trigger
# rfid and keypad events mentioned as coming soon
Macros
# Schedule entries tie input events (doorbell, motion) to output actions
# (HTTP notification, SIP call, relay trigger) with time window constraints
# UNRESOLVED: macro definitions not explicitly documented as reusable sequences
Safety
confirmation_required_for: []
interlocks:
- description: "Video/audio streams can be interrupted by official DoorBird App requests"
note: "Official App has precedence over LAN API users"
- description: "Audio transmission requires AEC/ANR on client side"
note: "Device echo cancellation does not cover the client-side device"
Notes
- Rate limit: 1 concurrent API connection per second; excessive wrong auth blocks IP for 1 minute (HTTP 423)
- Device returns HTTP 503 (Busy) when call already in progress
- Session ID valid for 10 minutes; obtained via getsession.cgi
- Video streaming: up to 8 fps via HTTP MJPG, up to 12 fps via RTSP
- Audio codec: G.711 μ-law (8000 Hz sampling) required for API audio
- RTSP uses standard authentication (no parameter auth)
- SIP call terminates after 180 seconds automatically
- UDP keep-alive broadcasts sent every 7 seconds (can be ignored)
- Favorites and schedules require firmware 000110 or higher
Provenance
source_domains:
- doorbird.com
source_urls:
- "https://www.doorbird.com/downloads/api_lan.pdf?rev=0.36"
retrieved_at: 2026-04-30T04:32:27.986Z
last_checked_at: 2026-06-03T06:41:34.052Z
Verification Summary
verdict: verified
checked_at: 2026-06-03T06:41:34.052Z
matched_actions: 24
action_count: 24
confidence: medium
summary: "All 24 actions verified against source (8 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "serial/RS-232 not mentioned in source; device may support RS-232 but it is not documented"
- "port 443 stated for HTTPS but not listed separately; TLS cert is self-signed"
- "variables not clearly distinguished from actions in source"
- "macro definitions not explicitly documented as reusable sequences"
- "serial/RS-232 configuration not documented"
- "voltage/current/power specifications not in source"
- "firmware compatibility range not stated"
- "relay contact ratings not stated"
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0