Wilsons Systems
· ·
v · · Reviewed by

Fanvil IP Door Phone — SIP Setup via Independent Trunk

Written after a real job (Warwicks Amusements, August 2026) that took three site visits partly because two specific gotchas below weren't yet known. Read the two gotchas sections before troubleshooting anything else if a unit is already installed and misbehaving.

System Overview

HardwareFanvil i-series IP door phone (e.g. i32V — screen-less outdoor station, built-in RFID reader, illuminated call button)
ProblemBT Cloud Voice (and similar hosted platforms) only support a closed catalogue of certified handsets — no generic/manual SIP device option
FixIndependent SIP trunk (e.g. Voipfone Flex) dialling the existing hunt group's full external number
Power12V DC only, separate from data — never 12V AC, it kills the unit

The Structural Problem — BT Cloud Voice Won't Host Third-Party SIP Hardware

Confirmed via BT support and independent research — this is a platform limitation, not just an unhelpful support answer:

  • BT Cloud Voice only supports a closed catalogue of certified handsets (Yealink/Poly/Cisco/etc) plus a narrow whitelist of Algo alerter devices.
  • No generic/manual SIP device option exists.
  • BT cannot release SIP credentials for a user even on request — they're locked inside an encrypted, MAC-bound auto-provisioning flow that BT's own staff can't retrieve.

Don't attempt to register third-party door entry hardware directly on a client's BT Cloud Voice (or similar) account. Go straight to the workaround below.

The Workaround — Independent SIP Trunk

Sign up an independent SIP trunk (this job used Voipfone Flex, roughly £5/month) entirely separate from the client's own phone system. The door phone registers to this trunk, not to BT.

The trick: have the door phone dial the full external number of the existing hunt group/extension you want it to ring, not an internal extension. The door phone isn't a member of the client's phone network, so it has to call in from outside like any external caller — dialling an internal extension does nothing. This rings the existing hunt group exactly as before, with no changes needed on the host platform's side at all.

Voipfone Flex — Signup & Portal Walkthrough

  1. Sign up for a Flex line at voipfone.co.uk — this issues an account number and a first extension. The small monthly "forced number" fee (a real DDI attached to the extension) is mandatory even though that number is never actually given out or dialled by anyone — it's just how Flex provisions a routable extension.
  2. SIP credentials for the door phone come straight from that signup, no separate step: Phone Number and Authentication Name are both <account>*<extension>, Authentication Password is whatever the portal issued, Proxy is sip.voipfone.net port 5060.
  3. The provider's portal is what you'll actually use ongoing — key sections to know on Voipfone Flex:
    • Master Account — billing and balance. This is where you top up, and critically, where you should enable auto top-up before leaving site — see the credit gotcha below, this exact page is the fix for it.
    • Call Barring — check there's no destination restriction blocking the number being dialled, especially if outbound calling fails and the balance looks fine.
    • Phone Numbers — routing table for any numbers on the account, only relevant if the account is also handling inbound routing.
  4. Confirm Line Status shows Registered on the door phone before touching any dial configuration at all. If it doesn't register, the fault is in steps 1-2 above, not anything covered further down this guide.

Trunk config on the Fanvil (Line → SIP1 → Basic Settings)

  • Phone number / Authentication Name: the trunk account's SIP username
  • Authentication Password: as issued by the provider
  • SIP Proxy Server Address / Port: as issued by the provider
  • Activate: ticked
  • Confirm Line Status shows "Registered" before doing anything else

Auto-dial: the Hotline feature

Line → SIP1 → Advanced Settings → Hotline: Enable = Yes, Hotline Delay = 0, Hotline Number = the full external number to ring. Also set DTMF Type = RFC2833 and Enable Rport = Yes (NAT reliability, since the phone registers over the open internet with no VPN).

This alone does not make a screen-less door station's physical call button work — see the first gotcha below.


⚠️ Gotcha 1 — The Physical Call Button Is Driven by a DSS Key, Not Hotline

Everything above can be 100% correct — SIP registered, Hotline configured, DTMF type correct — and the physical call button will still do nothing at all: no tone, no LED change, no call attempt, no log entry. That's because on this hardware the button's actual behaviour is governed by a separate DSS Key mapping under Function Key, and it does not ship pointed at Hotline.

Symptom: press the call button → zero reaction. Not a dial failure — genuinely no response of any kind.

Root cause: DSS Key 1 left at its manufacturer default — Type: Key Event, Subtype: OK — a menu-navigation no-op, meaningless on a door station with no screen. The button press never reaches the dialler at all.

Fix (Function Key page → Dss Key 1):

  • Type: Hot Key
  • Number 1: the same external number used for Hotline
  • Line: SIP1
  • Subtype: Speed Dial

This is per the manufacturer's own printed quick-start manual — worth keeping a copy if the unit ships with one.

Don't assume Hotline alone drives a screen-less door phone's call button — check the Function Key / DSS Key mapping first if the button does nothing.

⚠️ Gotcha 2 — Zero Trunk Credit Fails Silently, Looks Identical to a Config Problem

Once the DSS Key is fixed, the button will attempt a real call. If the trunk account has £0 credit, the call fails with a generic recorded message ("Sorry, call can't be connected, please try again") and an engaged tone — while SIP registration stays showing "Registered" the entire time. There is nothing on the door phone's own side, in its config, or in its registration status, that indicates a credit problem. It looks exactly like a routing/config fault.

Check the SIP trunk provider's own portal for account balance before chasing anything else if a correctly-configured button dials but fails to connect. On Voipfone Flex specifically: Master Account for balance, Call Barring for destination restrictions. Set up auto top-up on that same Master Account page before leaving site — a door phone's outbound calling is now a live dependency for the client's physical access, and a silent zero-credit outage has no warning at the door itself. Don't treat "topped it up and it worked" as finished — the auto top-up is what actually prevents a repeat callout.


DTMF Door Release

Under EGS Setting → Features → Common Settings:

  • Calling Password: a short DTMF sequence (e.g. a single digit) that fires the relay when pressed during an active call. Field is password-masked in the web UI — if unsure it's saved correctly, clear and retype rather than trust the masked dot count.
  • Remote Code Check Length: must match the length of the Calling Password.
  • Talk Duration: caps how long an answered call can run (20–600s). Worth reducing on a paid-per-minute trunk to protect credit and stop a call being left open indefinitely.

Manual relay test (no call needed)

Door Lock page → Door Lock Control → Door Lock 1, Action Door Open, Open Mode OnceExecute. Fires the relay directly, independent of SIP/DTMF entirely — use this to isolate relay/strike wiring faults from call-path faults.

Relay & Power Wiring

  • Electric strike relay wired as a series switch: PSU 12V+ → relay COM, relay NO → strike's live terminal, strike's other terminal → PSU 12V-/ground return. The relay interrupts the strike's power feed; it isn't a power source itself.
  • Confirm the strike is rated 12V DC, not AC-only, before wiring it to a DC-only door phone PSU.
  • If sharing one PSU between the phone and the strike, watch for brownout on the phone when the strike fires — if the phone drops registration or the webgui glitches the moment the strike releases, fit a dedicated PSU for the strike.
  • The door phone is not PoE capable and needs 12V DC separately from data — never 12V AC. Feeding AC to the unit looks like a software fault (network stack alive, web server dead) but is a hardware one, and it's not recoverable.
  • Passive power injection over a single Cat6 run: data on pins 1/2/3/6 (10/100 only), 12V DC on the spare pairs (4+5 bonded, 7+8 bonded), kept isolated from the switch port. Terminate power injection before the patch into the switch, never through the switch port.

RFID Card Access

Built-in reader, enabled by default (Enable Card Reader / Enable Access Table under EGS Setting → Features).

To register a card:

  1. Open EGS Logs, present the card to the reader
  2. A new log entry shows the card's ID as the reader actually reads it — use this value, not what's printed on the card
  3. EGS Access → Add Access Rule: paste the ID, add a Name, Card State = Enable, Card Control Lock = 1, leave calling-related fields blank
  4. Present the card again to confirm it physically releases the strike — registering it in software is not the same as confirming it opens the door

Recovery — Unit Unresponsive / Bricked Config

If the web UI is unreachable but the network stack still pings:

  1. Power off, power on, immediately long-press #+* for ~5s to enter POST mode (fixed IP 192.168.10.1, telnet port 23)
  2. Set a PC/Mac network interface to a static IP in 192.168.10.0/24 (e.g. 192.168.10.2) — same LAN segment, no crossover cable needed
  3. Telnet to 192.168.10.1 with a real telnet client, not raw nc — the service is single-shot per boot and may drop mid-negotiation if probed first
  4. Option 3 — Clear Configuration
  5. Option 4 — Exit and Reboot

This wipes everything — SIP, DSS Key, DTMF, card table — all need reconfiguring from scratch afterwards.

Quick Troubleshooting Reference

SymptomLikely causeCheck
Call button: zero reaction (no tone, no LED change)DSS Key not mapped to Hot Key/Speed DialFunction Key page, DSS Key 1 Type/Subtype
Call button dials but "can't be connected" + busy toneTrunk account at £0 credit, or call barringProvider's own portal — balance and barring, not the door phone
Manual Execute test fires strike, real call doesn'tFault is in the call/DTMF path, not wiringCalling Password / Remote Code Check Length match; DTMF Type RFC2833
Manual Execute test does nothingRelay/PSU/wiring faultRelay wiring, PSU voltage/type (DC not AC), shared-PSU brownout
Web UI unreachable, network still pingsCorrupted config, not dead hardwarePOST-mode recovery above before writing the unit off
SIP shows Registered throughout a failed callRegistration ≠ working outbound callingDon't stop troubleshooting just because Line Status looks fine
/ / SIP Setup via Independent Trunk · v · · Wilsons Systems