Skip to content

Softphone integration on the Dispatch App

Comprehensive Functional Requirements Document (FRD) for Call Routing Integration with PressOne

1. Overview

This document outlines the detailed functional requirements for integrating PressOne's call routing and softphone solution into our dispatch system. The primary goal is to ensure that all incoming emergency calls to our toll-free number are effectively handled by dispatchers and properly logged in our system.
The integration should:
Enable dispatchers to answer incoming calls efficiently using the PressOne widget embedded in the dispatch application.
Automatically log call details when dispatchers create a new case.
Attribute key call metadata such as duration, timestamps, and caller information to each case.
Ensure role-based access control (RBAC) to segment permissions for dispatchers, team leads, and administrators.
This document comprehensively covers user workflows, technical implementation, access control, and data handling.

2. User Workflows

2.1 Incoming Call Process

A caller dials the toll-free number for emergency assistance.
The call is processed via PressOne and routed based on predefined rules:
Geographic Routing: Calls are directed based on the caller’s location.
IVR Routing: Callers select their location via an automated menu.
National Dispatch Center: Calls are received centrally and rerouted accordingly.
The call reaches the appropriate dispatcher via the PressOne widget.
The dispatcher answers the call and engages with the caller.
If a new case needs to be created, the system automatically pulls call details into the case log.
The call ends, and metadata such as duration and timestamps are recorded.
Dispatchers or team leads can review logged calls and case histories.

2.2 Dispatcher Workflow (Widget Interaction)

The dispatcher sees an incoming call notification via the PressOne widget.
Clicking the widget opens the call interface.
While on the call, the dispatcher can:
Take notes.
Initiate a case report with auto-filled call details.
Transfer the call to another dispatcher if necessary.
Upon call termination, the system logs:
Call start and end time.
Duration.
Caller details (phone number, location if available).
Dispatcher handling the call.
If the dispatcher does not answer, the call enters a queue or is forwarded to another dispatcher.

3. Access Control & Permissions (RBAC)

Table 3
Column 1
Column 2
Role
Permissions
Dispatchers
- Answer incoming calls.- View and manage their own call logs.- Transfer calls to other dispatchers.
Dispatch Team Leads
- View all dispatcher call logs within their precinct.- Access and listen to call recordings.- Manage call queues.
Administrators
- View all call logs and metrics across all precincts.- Monitor team performance with call metrics and leaderboards.- Access system-wide call reports and analytics.
There are no rows in this table

4. Call Metrics & Reporting

Administrators need a dashboard to track:
Total calls received by precinct and across all locations.
Calls answered vs. unanswered.
Average call duration.
Leaderboard of dispatchers ranked by number of calls handled.
Time-based analysis (daily, weekly, monthly trends).
Team leads can view:
Calls handled by their team members.
Detailed call logs, including audio recordings.
Dispatchers can only view:
Their personal call logs.

5. Data Collection & Transmission

5.1 Data Collected per Call

Table 4
Column 1
Column 2
Data Point
Collected At
Caller ID (Phone Number)
Incoming call
Location (if available)
Call routing stage
Call Start Time
Call connection
Call End Time
Call termination
Call Duration
Call termination
Dispatcher Handling Call
Call answer event
Case ID (if created)
Case initiation
Call Recording (for team leads)
Post-call processing
There are no rows in this table

5.2 Data Sent to PressOne

Dispatcher identity (linked via credentials from Dispatch App).
Call handling status (answered, transferred, queued).
Any notes taken by dispatcher during the call.

5.3 Data Retrieved from PressOne

Call logs for tracking and reporting.
Call recordings (accessible by team leads and administrators).
Queue and routing information.

6. Implementation Stages

Stage 1: MVP (Lagos Dispatch Center Only)

Embed PressOne widget into the dispatch application.
Enable dispatchers to receive and answer calls.
Auto-log call details when creating cases.
Implement user-based authentication with PressOne.

Stage 2: Call Records Tracking for Dispatchers

Provide call history view for each dispatcher.
Restrict access to personal logs only.
Enable seamless call-to-case linkage.

Stage 3: Team Leads & Admin Dashboard

Implement access control for team leads to manage call queues and review recordings.
Develop admin dashboard for tracking call metrics across all precincts.

Stage 4: Full Deployment & Expansion

Expand integration to all precincts.
Conduct final security audits and performance optimizations.
Deploy real-time monitoring tools for call handling efficiency.

7. Failure Scenarios & Handling

Table 5
Column 1
Column 2
Failure Scenario
Handling Method
Call Fails to Connect
Retry mechanism enabled; fallback queue initiated.
No Dispatcher Available
Call is queued; automated message played.
API Downtime
Calls rerouted through backup system. (PressOne can reroute to normal offline number, I am hoping we can implement this here).
Dispatcher Does Not Answer
Call is reassigned based on queue rules.
There are no rows in this table

8. Alternative Flow (Failure Scenarios)

Call Fails to Connect:
Automatic retry mechanism is triggered.
If the retry fails, a system notification alerts the dispatcher.
The call details are logged, and a follow-up process is initiated.
No Dispatcher Available:
The call is placed in a queue with an estimated wait time.
If no dispatcher answers within a set time, the call is redirected to another available dispatcher.
If no dispatchers are available, an automated callback request is generated.
Dispatcher Misses an Incoming Call:
The call is logged as "Missed" in the dispatcher’s records.
A notification prompts them to return the call.
Team leads can monitor the frequency of missed calls per dispatcher.
Caller Disconnects Before Connection:
The call is logged under "Caller Abandoned."
If the caller attempts to reach out again, the system prioritizes their call.
Dispatcher is on Another Call:
The system automatically reroutes the incoming call to the next available dispatcher.
If no dispatchers are available, the caller is placed in a queue.
PressOne API Downtime:
Calls are rerouted to a backup dispatch system.
If rerouting is unavailable, calls are logged for follow-up once the system is restored.

9. Preconditions

The PressOne widget must be embedded within the dispatch application.
All dispatchers must have valid user accounts within the dispatch system and PressOne.
API keys and credentials for PressOne should be correctly configured.
SIP trunk configurations (if applicable) must be correctly set up.
Permissions must be assigned based on the dispatcher’s role.
A stable internet connection is required to ensure call routing and logging.

10. Post-Conditions

Calls are successfully logged with full details (Caller ID, duration, disposition, etc.).
Dispatchers can access their call history.
Team leads can review call recordings and logs for their team.
Admins can view call metrics across all precincts.
The system generates insights based on call handling efficiency.

11. Business Rules

Only authorized dispatchers can interact with the PressOne widget.
Team leads can access call recordings but general dispatchers cannot.
Dispatchers can only manage their own calls; team leads can manage team-wide calls.
Calls must not remain unanswered beyond a predefined threshold.
Data privacy regulations must be adhered to for call logs and recordings.
Admins have full oversight of call metrics but cannot modify individual call logs.
A dispatcher can only transfer a call to another dispatcher with equal or higher privileges.

12. Final Outcomes for All Users

Dispatchers (Non-Team Leads):

Answer and log incoming calls.
Transfer calls when necessary.
Access their own call history (excluding call recordings).

Dispatch Team Leads:

Manage call queues and reassign calls.
View call logs and listen to call recordings.
Monitor performance and missed calls within their team.

Admins:

Access call metrics across all precincts.
Generate reports based on call volume, response time, and success rate.
Monitor system-wide call handling efficiency.

13. User Classes & Permissions

General Dispatchers: Handle calls, log details, transfer calls.
Dispatch Team Leads: Oversee calls, manage call queues, access call recordings.
Admins: Oversee system-wide operations, generate reports, manage settings.

14. Technical Requirements & Criteria

Technical Acceptance Criteria:

The PressOne widget should function seamlessly on all dispatch app pages.
API calls should execute within an acceptable response time (< 500ms delay).
Call routing logic should correctly direct calls based on user permissions.
Logging mechanisms should store all necessary data (Caller ID, timestamps, outcomes).
Failover mechanisms should ensure continuity during system downtimes.
UI elements should maintain consistency across different user views.

Infrastructure & Security Requirements:

Secure authentication between the dispatch application and PressOne.
Data encryption for call logs and recordings.
Role-based access control (RBAC) to enforce permissions.
API rate limiting to prevent system overloads.
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.