Skip to content

Forwarding codes

How the trade turns Polly on/off. Locked 2026-06-21 after end-to-end testing with Matt's mobile.

What the trade actually does

When a pilot is approved, the bridge sends them an SMS containing two vCard download links. Tapping each link → Safari → "Create New Contact" → the contact is saved on their iPhone with the MMI code in the phone-number field. To toggle Polly on or off, they open Contacts and tap the appropriate one.

That's it. No typing MMI codes by hand, no tel: links (which iOS mangles).

The two contacts

Contact name Phone number (MMI code) What it does
Polly ON **61*[YE_NATIONAL]**5# Forwards unanswered calls to Polly after 5 seconds
Polly OFF ##002# Cancels ALL diversions on the SIM

[YE_NATIONAL] is the pilot's dedicated UK number in 0-prefixed national form, e.g. 07862131940.

Why 5 seconds (locked)

Carrier voicemail typically kicks in at 15–20 seconds. The default no-answer timer on most UK SIMs is also 20–30s, which means the carrier's voicemail can beat our conditional forward to the call. Setting our forward to 5s guarantees Polly answers first on every UK network we've tested (EE, Vodafone, O2, Three + their MVNOs).

Valid timer values are multiples of 5: 5, 10, 15, 20, 25, 30. We use 5.

Why vCard delivery (locked)

  • tel: links containing MMI codes (tel:**004*<num>%23) do not reliably work on modern iOS. Apple restricted MMI execution from tel: URIs in iOS 16+ for security reasons.
  • Plain MMI codes in SMS body are not reliably tappable via iOS Data Detectors.
  • iPhone Contacts accept and dial MMI codes flawlessly once saved.
  • vCard (.vcf) downloads use the standard iOS "Add to Contacts" UI, which everyone over 50 already knows how to use.

vCard endpoint

Hosted on the bridge:

GET https://bridge.yourevenings.com/vcard/<provisionId>/polly-on.vcf
GET https://bridge.yourevenings.com/vcard/<provisionId>/polly-off.vcf

Returns a text/vcard payload like:

BEGIN:VCARD
VERSION:3.0
FN:Polly ON
N:Polly ON;;;;
TEL;TYPE=CELL:**61*07862131940**5#
NOTE:Tap to dial. This forwards your missed calls to Polly...
END:VCARD

SMS body the trade receives

The provision executor builds this automatically (see src/provision-executor.js):

Hi [Name] — Polly is live on your dedicated YE number:
+44 7xxx xxxxxx

One-time setup (30 seconds). Tap each link below → scroll down →
tap "Create New Contact" → Done. (Do NOT tap the blue tick at
the top of the screen — that's a different action.)

✅ https://bridge.yourevenings.com/vcard/<id>/polly-on.vcf
→ saves "Polly ON" (5-sec no-answer forward, beats voicemail)

🔕 https://bridge.yourevenings.com/vcard/<id>/polly-off.vcf
→ saves "Polly OFF" (clears all forwarding)

Then to toggle: Contacts → tap "Polly ON" → green phone icon →
confirmation pops up → done.

Test: get someone to ring you, don't answer — Polly picks up
and texts you the job details.

Verifying it worked

  1. Trade saves both contacts from SMS links.
  2. Trade taps Polly ON → green phone icon → carrier confirms "Call forwarding activated".
  3. From a different phone, ring the trade's number, don't pick up.
  4. After ~5 seconds the call diverts → Polly answers.
  5. After hang-up, the trade receives an SMS with job details within ~20 seconds.

To debug the forward state at any time, the trade can dial *#61# — that returns the current "no answer" target on screen.

When the trade wants to turn Polly off

Tap Polly OFF in Contacts → tap green phone → ##002# runs → carrier confirms "All call forwarding cancelled". Done.

Note: ##002# cancels all call forwarding on the SIM, including any unrelated diversions the trade might have set previously. That's a deliberate simplicity choice — if the trade has bespoke forwarding rules, they'd need to set those again after toggling Polly off, which is rare for our ICP.