mirror of
https://github.com/myronblair/infra
synced 2026-06-30 17:50:10 -05:00
2a45dac693
Root cause: nginx rewrite stripped file= param from {mac}.boot requests,
so FusionPBX served full device config as a .boot file. Yealink ignores
DSS/linekey settings in .boot files — they only apply from .cfg files.
Fixes applied on 134.209.72.226:
- nginx: {mac}.boot rewrite now passes file={mac}.boot param
- New {$mac}.boot template: proper boot file with includes to {mac}.cfg
- y000000000065.cfg: features.auto_linekeys.enable = 0
- All y000000000000.boot: overwrite_mode = 1
- External sofia profile: manage-presence = passive (was true)
- Park buttons: Speed Dial type=13 (*5901-*5903), not BLF (mod_presence missing)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
76 lines
3.3 KiB
Markdown
76 lines
3.3 KiB
Markdown
# FusionPBX Custom Configs (134.209.72.226)
|
|
|
|
## Yealink T48S Provisioning — Critical Fixes
|
|
|
|
### Problem: BLF buttons never applied from provisioning
|
|
Root cause: nginx rewrite for `{mac}.boot` stripped the `file=` param, so FusionPBX
|
|
served the full 122KB config as a boot file. Yealink ignores DSS keys in .boot files —
|
|
they only apply from .cfg files.
|
|
|
|
### Fix 1: nginx rewrite (in /etc/nginx/sites-enabled/fusionpbx)
|
|
OLD: rewrite "^.*/provision/([A-Fa-f0-9]{12})(\.boot)$" /app/provision/index.php?mac=$1;
|
|
NEW: rewrite "^.*/provision/([A-Fa-f0-9]{12})(\.boot)$" /app/provision/index.php?mac=$1&file=%7b%24mac%7d.boot;
|
|
|
|
### Fix 2: {$mac}.boot template
|
|
Created: /var/www/fusionpbx/resources/templates/provision/yealink/t48s/{$mac}.boot
|
|
Content: boot file with includes pointing to y000000000065.cfg and {$mac}.cfg
|
|
Phone flow: {mac}.boot (164 bytes) → y000000000065.cfg → {mac}.cfg (full config applied)
|
|
|
|
### Fix 3: y000000000065.cfg template changes
|
|
- features.auto_linekeys.enable = 0 (prevents phone overriding BLF keys)
|
|
|
|
### Fix 4: All y000000000000.boot templates
|
|
- overwrite_mode = 1 (forces re-provision on every reboot, default was 0)
|
|
|
|
### Fix 5: External sofia profile
|
|
- manage-presence = passive (not true — BLF SUBSCRIBEs delegate to internal profile)
|
|
- Fix: UPDATE v_sip_profile_settings SET value='passive' WHERE profile=external AND name='manage-presence'
|
|
- Then delete /var/cache/fusionpbx/FusionPBX.configuration.sofia.conf and reload sofia
|
|
|
|
## Device Profile "yealink" (UUID 2c68fe07-b29a-4429-a3c2-7ce9010c69ff)
|
|
|
|
| Key | Type | Value | Label | Notes |
|
|
|-----|------|-------|-------|-------|
|
|
| 1 | 16 (BLF) | 1000 | Myron 1000 | |
|
|
| 2 | 16 (BLF) | 1001 | Tommy 1001 | |
|
|
| 3 | 16 (BLF) | 1002 | Myron Vanguard | |
|
|
| 4 | 12 | 1003 | PC Slingshot | |
|
|
| 5 | 12 | 1004 | Epic Travel | |
|
|
| 6 | 12 | 1005 | Toms Java | |
|
|
| 7 | 13 (Speed Dial) | *5901 | Park 5901 | Press during call=park, idle=retrieve |
|
|
| 8 | 13 (Speed Dial) | *5902 | Park 5902 | |
|
|
| 9 | 13 (Speed Dial) | *5903 | Park 5903 | |
|
|
| 11 | 16 (BLF) | *724 | Page All | |
|
|
|
|
Park buttons use Speed Dial (type=13) not BLF — BLF for park requires mod_presence
|
|
which is not installed. Speed Dial works: press during call parks it, press idle retrieves.
|
|
|
|
## BLF Type Reference (Yealink T48S firmware 66.86.x, FusionPBX)
|
|
- type=16 = BLF (requires pickup_value field in template)
|
|
- type=13 = Speed Dial
|
|
- type=12 = (user-defined)
|
|
- type=1 = Line
|
|
|
|
## Provisioning URL
|
|
- Server: https://fusion.orbishosting.com/app/provision/
|
|
- Auth: provision-master / Joker1974!!! (Digest)
|
|
- After factory reset: must re-enter manually via Menu > Settings > Advanced > Auto Provision
|
|
- Firmware 66.86.0.15: requires power cycle after "Update Now" to register
|
|
|
|
## fail2ban Whitelist (/etc/fail2ban/jail.local)
|
|
- 107.178.2.130 (office)
|
|
- 97.154.109.245 (home WAN)
|
|
|
|
## Phones
|
|
- Ext 1000 (Myron): MAC 805ec0350477, firmware 66.86.0.15, IP 10.48.200.2
|
|
- Ext 1001 (Tommy): MAC 805e0c150c4f, firmware 66.86.0.160, IP 10.48.200.43
|
|
|
|
## IVR Audio
|
|
- /var/lib/freeswitch/recordings/134.209.72.226/ivr_menu.wav
|
|
- American male voice (Festival TTS), 27s, 8kHz 16-bit mono PCM
|
|
|
|
## mod_presence
|
|
- NOT installed — FreeSWITCH built from source at /usr/src/freeswitch-1.11/
|
|
- Basic extension BLF works via manage-presence=true on internal sofia profile
|
|
- Park slot BLF would require mod_presence — workaround: Speed Dial buttons
|