- Ya
- 3 Septemba 2026, 22:54 UTC
- Mwandishi
- Kamo
- Ahadi ya
- 585d747
Companion to VoipRecordingUploadController, on a deliberately separate VOIP_CALL_EVENTS scope: uploading a recording after the fact and making somebody's phone ring right now are different powers, and an administrator issuing a key for one should not silently be granting the other. The instance is taken from the X-Phone-Server-Id header, never from the body -- the API key proves which org is calling, and letting a body field name the instance would let one customer's PBX ring another customer's phones. Also reserves /api/voip/calls/** in APIApp, the same carve-out /api/voip/ recordings/** already needed. Without it the wildcard forward shadows this controller and a ringing extension reaches VOIPService with no key or scope checked at all.