Skip to main content

Aiphone IX / IXG Intercoms

Aiphone IX-Series and IXG-Series IP intercom stations (door stations, master stations, tenant stations) via the on-station CGI integration interface. The driver drives door-release relay outputs, initiates and cancels calls between stations, and reads basic system info.

Each Aiphone IX station is its own HTTP endpoint — there is no system-wide controller — so a fifty-station system means fifty GEM device rows. The wiring is light: this driver only touches the CGI control surface. SIP audio between stations is handled by the IX system itself.

Prerequisites

  • Aiphone IX or IXG firmware 6.00 or newer. Older firmware lacks CGI integration entirely; the integration manual you want is the modern "Network Direct" / CGI document, not the legacy IX-2 SIF.
  • CGI Integration enabled on the station via the Aiphone IX Support Tool, with an HTTP username and password assigned. This is a separate credential from the station-admin login.
  • Network reach from the GEM controller to each station's HTTP port (default 80).

Setup

  1. Open the IX Support Tool and load the system file. For each station you want GEM to reach, navigate to Function Settings → CGI and:
    • Set CGI Integration = Enable.
    • Set the CGI Username and CGI Password.
    • Save and upload the configuration to the station.
  2. Reboot the station so the new CGI account takes effect.
  3. In GEM, create a device row in System → Devices with driver aiphone_ix.
  4. Set the required attributes (see table below) and save. The driver issues a system.cgi GET to confirm digest auth.
  5. For door stations: create one zone per relay output. Set zone address to the relay number — 1 for the primary door release, 2 for any secondary output.
  6. For master / tenant stations used as call sources: create one zone per remote station you want to dial, with address = the remote station's Station Number as configured in the IX Support Tool's Address Book.

Required attributes

AttributeDescription
ipLAN IP of this Aiphone IX station.
usernameThe CGI username configured in IX Support Tool. NOT the station admin login.
passwordThe CGI password configured in IX Support Tool. Stored encrypted.

Optional attributes

AttributeDefaultDescription
port80HTTP port on the station.
protocolhttphttp or https. Most IX stations expose CGI over HTTP only.
station_numberOptional. The station's own Station Number, surfaced for visibility.
relay_pulse_ms3000Default door-release pulse length when door_release is issued without an explicit duration.
request_timeout8000Per-request timeout in ms.

Zone address format

The zone address is interpreted by command:

  • door_release / set_output → relay number on this station, as a string. "1" is the primary output on a single-relay door station.
  • initiate_call → the remote station's Station Number (must already be in this station's Address Book).

Commands

CommandArgsNotes
get_system_infoGET /cgi-bin/system.cgi. Returns firmware, model, station number.
door_releaseaddress, durationPulse the relay closed. address = relay number. duration = ms (defaults to relay_pulse_ms). Driver auto-opens after the pulse.
set_outputaddress, stateSet a relay output directly (1 = closed, 0 = open). For latching outputs.
initiate_calladdressInitiate a call from this station to the remote Station Number.
cancel_callCancel any in-progress call on this station.
get_call_statusRead current call state. Marked TODO — the response schema has not been verified against every firmware revision; returns not yet implemented until validated against a real station.

Authentication

Aiphone IX uses HTTP Digest authentication. The driver passes credentials with sendImmediately: false so the base generic_http driver handles the standard 401 → re-auth round-trip automatically. Plain Basic auth will not work.

Known limitations

  • Inbound events are not handled. Aiphone IX pushes button-press, call-incoming, and contact-input events as SIP NOTIFY and HTTP POST callbacks. Subscribing to those is a future enhancement; today this driver is outbound-only. If you need door-bell-press automation in the meantime, wire the door station's contact input through a separate physical relay device.
  • Per-firmware drift. Some less-common CGI commands changed wire format between minor firmware revisions. The commands marked TODO in getCommands() reflect that; they will be flushed out as we get hardware to verify against.
  • No SIP / audio. This driver does not place RTP audio paths; the IX stations handle that themselves over SIP. Use master-station / tenant-station hardware for the audio side and let this driver handle door release and call initiation.
  • One device per station. There is no aggregator. Plan for a device row per station.

Troubleshooting

SymptomCheck
unauthorized (status 401) after a known-good passwordCGI Integration is set to Disable, or the configuration was not uploaded after change, or the station was not rebooted. The station-admin login does not work for CGI.
Door relay does not fireConfirm the station hardware actually has the relay (master and tenant stations do not). Confirm Output Number matches the wired relay terminal.
Connection refusedSome firmware binds CGI to LAN1 only. Verify which interface the station's management IP is on.
initiate_call returns 200 but nothing happensVerify the destination Station Number matches an entry in this station's Address Book — the station silently ignores calls to unknown numbers.