Repository navigation
v2.6.0
Added
-
Connect auto-login —
PUT /queues/{queue_name}/connectnow handles an agent that has no activewazo-agentdsession: instead of failing, the agent is logged in on its own line (resolved from confd) and joined to only the selected queue. A400is now returned solely when the agent has no line to log in on. Fixes #17. -
WDA connectivity pre-check on connect — before connecting, the agent's application (WDA) must be reachable: its device must be registered. If the device is
Unavailable(websocket KO), the request is rejected with409 agent-wda-not-connectedso the supervisor can be told to have the agent reconnect first. This also catches an agent that still holds an agentd session while its WDA has dropped. Checked via AMIExtensionStateon the agent's own extension. -
New ACL
amid.action.ExtensionState.createon thewazo-calldservice token (etc/wazo-auth-keys/conf.d/call_queue.yml), required by the WDA pre-check. Re-runwazo-auth-keys service updateand restartwazo-calldafter upgrading.
Fixed
is_offlinenow tracks real device/WDA reachability. It is recomputed on everyQueueMemberStatusevent (Status 5/ Unavailable →is_offline: true, reachable statuses →false), so an agent still logged into a queue whose WDA has disconnected is correctly reported offline. Previouslyis_offlinecould stayfalsefor a disconnected device.
Changed — error mapping on /connect
| outcome | HTTP |
|---|---|
| success / already connected | 204 (idempotent) |
| agent has no line to log in on | 400 |
| agent's WDA not connected | 409 (agent-wda-not-connected) |
| supervisor not a member of the queue | 403 |
| unknown agent / queue | 404 |
Internal
- Code-quality toolchain (PR #19):
pre-commitorchestratingblack,isort,flake8,pyupgrade,mypyand the Wazo copyright check; configuration inpyproject.toml;tox -e linters; and a GitHub Actions CI running the linters andpyteston every PR. The whole codebase was formatted to one consistent style (double-quoted strings). docs/ISSUE-agentd-fresh-login-missing-per-queue-event.md: upstream report that a full agentd login emits no per-queueUserAgentQueueLoggedInEvent, so a standard WDA's queue list only refreshes after a reload.
Full changelog: v2.5.0...v2.6.0