2.1 KiB
2.1 KiB
Runbook - Track 11 Live Operator Call Control
Use this runbook to verify the accepted call-control path introduced in Track 11.
For the current operator UX and active/recent call behavior, use docs/runbooks/track12-operator-voice-ux.md.
Preconditions
- Track 9 bridge works:
/proxy/asterisk-bridge/asterisk/statusreturnsami_connected=true - operator SIP extensions exist in Asterisk:
2001,2002 - bridge env includes:
ASTERISK_CALLCONTROL_ENABLED=1ASTERISK_OPERATOR_EXTENSION_MAP_JSONASTERISK_TRANSFER_TARGET_MAP_JSON
1) Start the QA stack
powershell -ExecutionPolicy Bypass -File scripts\start_track9_qa.ps1
Verify:
curl http://127.0.0.1:8080/proxy/asterisk-bridge/asterisk/status
2) Real call scenario
- Register caller softphone
1001. - Register operator softphone
2001. - Make call
1001 -> 7000. - Open
http://127.0.0.1:8080/operatorasoperator. - In
Живые звонки:- select the active call
- click
Принять в работу
- Speak in
MicroSIP/Zoiper. - Finish with one of:
ЗавершитьПередать
3) Verify persisted events
Expected event types for the same call:
call.startedcall.connectedcall.endedrecording.ready- optional
call.transferred
4) Verify recording playback
- Open
http://127.0.0.1:8080/supervisor. - In
Записи, load the latest recording for the call. - Check inline playback:
audio/*, HTTP200.
5) Inspect action log
curl -H "X-User: operator_a" -H "X-Role: operator" ^
http://127.0.0.1:8080/proxy/asterisk-bridge/asterisk/live-calls/<call_id>/actions
Each action should have:
action_typeinclaim|hangup|blind-transferresult_status=okami_action_idfor a successful AMI call
6) Failure handling
403 Operator can control only own claimed call- use the correct operator account or claim the call first
409 Unable to resolve active channel for call- check AMI permissions and channel resolution
Unknown transfer queue_code- fix
ASTERISK_TRANSFER_TARGET_MAP_JSON
- fix