# CTI Panasonic NS1000 - Setup operativo Obiettivo: intercettare chiamate in arrivo dal centralino Panasonic NS1000 (CSTA porta 33333) e creare automaticamente Post-it in NetGescon con filtro rubrica. ## Prerequisiti verificati - Connessione TCP PBX CSTA: `192.168.0.101:33333` raggiungibile. - Modello centralino: Panasonic NS1000. ## 1) Configurazione applicazione NetGescon Aggiungi in `.env` del nodo applicativo: ```env NETGESCON_CTI_SHARED_TOKEN= ``` Poi: ```bash cd /home/michele/netgescon/netgescon-day0 php artisan optimize:clear php artisan config:clear php artisan route:clear ``` ## 2) Endpoint disponibili - `POST /api/v1/cti/panasonic/incoming` - crea Post-it chiamata in `chiamate_post_it` - fa match automatico numero -> `rubrica_universale` - `GET /api/v1/cti/panasonic/lookup?phone=...` - solo lookup rubrica (match yes/no) Autenticazione: header `X-CTI-Token: `. ## 3) Test rapido terminale ```bash cd /home/michele/netgescon/netgescon-day0 bash scripts/ops/netgescon-panasonic-csta-test.sh \ --pbx-ip 192.168.0.101 \ --pbx-port 33333 \ --app-url http://127.0.0.1:8000 \ --token "" \ --phone "+393331112233" \ --ext "101" ``` ## 4) Esempio comando da usare lato interfaccia centralino Se il centralino puo inviare HTTP su evento incoming call, usa: ```bash curl -sS -X POST "http://:8000/api/v1/cti/panasonic/incoming" \ -H "Content-Type: application/json" \ -H "X-CTI-Token: " \ -d '{ "phone": "", "name": "", "direction": "in_arrivo", "called_extension": "", "event_id": "", "note": "evento CSTA NS1000" }' ``` Per filtro rubrica (prima del popup interno): ```bash curl -sS "http://:8000/api/v1/cti/panasonic/lookup?phone=" \ -H "X-CTI-Token: " ``` ## 5) Cosa fa il match numeri - normalizza il numero (es. `+39`, `0039`, spazi, trattini) - confronta le ultime 7 cifre con: - `telefono_cellulare` - `telefono_ufficio` - `telefono_casa` - `telefono_cellulare_nazionale` ## 6) Step successivo consigliato 1. Agganciare evento reale CSTA incoming. 2. Agganciare evento call-ended per aggiornare `esito` e durata. 3. Mostrare popup operatore in Filament con scheda rubrica trovata.