Regole di uscita
Le regole di uscita scelgono la linea per le chiamate verso l'esterno in base al numero composto, con linee di riserva in caso di errore. Scope outbound_routes:read / outbound_routes:write.
Creare una regola
curl -s -X POST https://centralino.exovoip.it/api/v1/outbound-routes \
-H "X-API-Key: $EXOPBX_API_KEY" -H "Content-Type: application/json" \
-d '{"name":"Cellulari","beginsWith":"3","restDigits":9,"trunkIds":[1,2]}'
curl -s -X POST https://centralino.exovoip.it/api/v1/outbound-routes/simulate \
-H "X-API-Key: $EXOPBX_API_KEY" -H "Content-Type: application/json" -d '{"number":"3331234567"}'await pbx.outboundRoutes.create({
name: 'Cellulari',
beginsWith: '3',
restDigits: 9,
trunkIds: [1, 2],
});
const sim = await pbx.outboundRoutes.simulate({ number: '3331234567' });
console.log(sim.allowed, sim.routeId, sim.dialed);$pbx->outboundRoutes->create(['name' => 'Cellulari', 'beginsWith' => '3', 'restDigits' => 9, 'trunkIds' => [1, 2]]);
$sim = $pbx->outboundRoutes->simulate(['number' => '3331234567']);pbx.outbound_routes.create({"name": "Cellulari", "beginsWith": "3", "restDigits": 9, "trunkIds": [1, 2]})
sim = pbx.outbound_routes.simulate({"number": "3331234567"})| Campo | Descrizione |
|---|---|
beginsWith, restDigits | Il numero inizia con… e ha N cifre successive |
trim, prepend | Cifre da togliere all'inizio / prefisso da aggiungere |
trunkIds | Linee in ordine di preferenza (le successive sono di riserva) |
priority | Ordine di valutazione |
Il simulatore (POST /v1/outbound-routes/simulate) indica, per un numero, se la chiamata è consentita, quale regola si applica, il numero effettivamente composto e le linee usate: utile per verificare la configurazione senza chiamare.
Blocchi per categoria
La politica dell'azienda blocca intere categorie di destinazioni (es. numeri a pagamento, satellitari, internazionali) e definisce le destinazioni consentite per gli inoltri.
curl -s -X PUT https://centralino.exovoip.it/api/v1/outbound-routes/policy \
-H "X-API-Key: $EXOPBX_API_KEY" -H "Content-Type: application/json" \
-d '{"blocked":["premium","satellite","international"]}'await pbx.outboundRoutes.setPolicy({ blocked: ['premium', 'satellite', 'international'] });$pbx->outboundRoutes->setPolicy(['blocked' => ['premium', 'satellite', 'international']]);pbx.outbound_routes.set_policy({"blocked": ["premium", "satellite", "international"]})Se la politica è stata bloccata da Exobyte, la modifica restituisce 403.
Endpoint
| Descrizione | Richiesta | Scope | Metodo SDK |
|---|---|---|---|
| Elenco regole di uscita | GET /v1/outbound-routes | outbound_routes:read | outboundRoutes.list() · py: outbound_routes.list() |
| Crea regola di uscita | POST /v1/outbound-routes | outbound_routes:write | outboundRoutes.create() · py: outbound_routes.create() |
| Riordina priorità | PUT /v1/outbound-routes/order | outbound_routes:write | outboundRoutes.reorder() · py: outbound_routes.reorder() |
| Blocchi chiamate per categoria | GET /v1/outbound-routes/policy | outbound_routes:read | outboundRoutes.getPolicy() · py: outbound_routes.get_policy() |
| Imposta blocchi per categoria e destinazioni di inoltro | PUT /v1/outbound-routes/policy | outbound_routes:write | outboundRoutes.setPolicy() · py: outbound_routes.set_policy() |
| Simula instradamento di un numero | POST /v1/outbound-routes/simulate | outbound_routes:read | outboundRoutes.simulate() · py: outbound_routes.simulate() |
| Dettaglio regola | GET /v1/outbound-routes/:id | outbound_routes:read | outboundRoutes.get() · py: outbound_routes.get() |
| Modifica regola | PATCH /v1/outbound-routes/:id | outbound_routes:write | outboundRoutes.update() · py: outbound_routes.update() |
| Elimina regola | DELETE /v1/outbound-routes/:id | outbound_routes:write | outboundRoutes.delete() · py: outbound_routes.delete() |
