Community setup guide · Customer guide
Directory API
GET https://api.cenpbx.com/v1/route?number=2143151234 requires exactly 10 ASCII digits, without spaces, hyphens or an access prefix, and a network Bearer key. The response selects the network, not a final PBX: destination.area_code=214, network_name, routing_api and local_number=3151234. Numbers of any other length return 422. The API returns no private destination credentials or executable dialplan. Requests are limited to 120/minute per originating network plus 600/minute per IP. Respect Retry-After on 429. A valid lookup does not establish IAX connectivity.
Directory response
{
"success": true,
"status": "route",
"destination": {
"area_code": "214",
"network_name": "Example Network",
"routing_api": "https://api.example.net/route",
"local_number": "3151234"
}
}This is an example, not a provisioned destination.
Optional member adapter contract
The generated PHP and Python AGIs call the operator-approved member URL with ?number=3151234. The member may implement this adapter in PHP or another backend, while keeping its existing internal API. Optional member authentication is configured locally. The CEN network key is never forwarded.
{
"success": true,
"status": "route",
"destination": {
"host": "pbx.example.net", "port": 4569,
"block": "315", "number": "1234", "protocol": "iax2"
}
}The adapter may return {"success":true,"status":"intercept"}. Final host and port must match a locally configured IAX peer. Integrations using another member API contract can use the PHP directory client and adapt the handoff themselves.