Product specification
Jasco Dialer for Yeastar · Version 1.0 · Updated 26 October 2026
1. Summary
Jasco Dialer is a CTI (computer telephony integration) app for the Freshworks platform. It connects a Yeastar P-Series PBX to Freshdesk, Freshservice and Freshworks CRM so that agents can place and receive calls in the browser, identify callers against Freshworks records, log calls automatically and manage call queues from inside Freshworks.
2. Compatibility
| Freshworks products | Freshdesk; Freshservice (including MSP mode); Freshsales / Freshworks CRM |
| App locations | CTI left navigation (left_nav_cti), CTI global sidebar (cti_global_sidebar) |
| Freshworks platform | App SDK Platform 3.0 (FDK 10.1.10, Node.js 24.11.0 serverless runtime) |
| Phone system | Yeastar P-Series PBX, Cloud or Software Edition, with the API and Linkus SDK enabled |
| PBX network | Reachable from the internet on a domain name over HTTPS with a publicly trusted certificate; IP addresses are not supported by Freshworks |
| Agent browser | Current Chrome, Edge or Firefox with WebRTC and microphone access |
| Licence | A Jasco Dialer License Key issued for the Freshworks account's domain |
3. Functions
| Softphone | WebRTC calling on the agent's own extension via the Yeastar Linkus SDK: answer, reject, hold, mute, on-demand recording, in-call dialpad |
| Transfer and conference | Blind transfer, attended (consult) transfer, adding a participant to the call |
| Click-to-call | Dial from phone numbers on contacts, requesters and tickets |
| Caller identification | Lookup of the caller's number in Freshworks contacts or requesters while ringing; contact record opened automatically (on ring, answer or hang-up) or on click, in the same or a new tab |
| Contact creation | Unknown callers created as contacts automatically or on request |
| Call logging | Freshworks CRM: call activities with the account's call outcomes. Freshdesk: tickets with notes, group, agent, priority and status. Freshservice: tickets under the caller's client and department, with workspace, group and agent |
| Call history | Incoming, outgoing and missed calls from the PBX's call records, with filters and recording playback; missed-call alerts |
| Queues | Log in and out of call queues, pause and resume with the PBX's pause reasons, wallboard statistics (answered, abandoned, missed) per queue and period, processing results and notes on missed queue calls |
| Directory and presence | PBX extensions by department, favourites, search, live colleague status, agent presence control |
| Administration | Guided installation page with field validation and live License Key check; PBX connection test |
4. Architecture
| Front end | Runs in the Freshworks CTI panel (sandboxed iframe). Audio is carried directly between the agent's browser and the customer's PBX over WebRTC |
| Serverless functions | Run on Freshworks' platform. They call the PBX API, the Freshworks product API and the licence service through declared request templates |
| Events | App install and uninstall (licence registration), a scheduled event every 6 hours (licence re-check), and an external event (instant licence updates) |
| External hosts | The customer's Yeastar PBX; the customer's own Freshworks domain; dial-monitor.jasco.co.ke (licensing only) |
| Third-party code | Yeastar ys-webrtc-sdk-core (WebRTC SDK); tweetnacl and tweetnacl-util (signature verification) |
5. Data handling
| Call audio | Between the agent's browser and the customer's PBX only. Never passes through Jasco |
| Call records and recordings | Read from the customer's PBX when displayed; not copied elsewhere |
| Customer records | Read from and written to the customer's own Freshworks account through its API |
| Credentials | Stored by Freshworks as encrypted (secure) installation parameters |
| App data store | Short-lived PBX access tokens, lookup caches, the cached licence answer, and processing results for missed queue calls, kept in the app's Freshworks data store |
| Sent to Jasco | Freshworks account domain, License Key, app version, the Freshworks product in use, and a platform-generated webhook URL. No call content, phone numbers, contact data or other credentials. See the privacy policy |
6. Security
- All external requests use HTTPS through Freshworks' request templates. The licence service host is fixed in the app and cannot be changed by configuration.
- Secrets are entered once on the installation page, stored encrypted by Freshworks and never shown again in clear text.
- Licence answers are signed with Ed25519 and bound to the account's domain and a per-request nonce, so they cannot be forged or replayed.
- The account domain is taken from the Freshworks platform, not from user input.
- Calling is tied to each agent's own PBX extension and its Linkus SDK sign-in.
7. Licensing
| Model | Subscription licence per Freshworks account, issued and invoiced by Jasco Communications |
| Activation | License Key entered at installation; checked when the app is installed |
| Ongoing checks | Every few minutes while in use, every 6 hours in the background, and immediately when Jasco changes a licence |
| Statuses | Active: works normally. Grace: works, with a payment reminder. Suspended or blocked: the panel is locked and calls stop; settings are kept |
| Outage tolerance | If the licence service is unreachable, the last valid answer is honoured for up to 72 hours |
| Products | A licence covers the Freshworks products listed on it |
8. Configuration
| Setting | Description |
|---|---|
| License Key | Issued by Jasco Communications for this Freshworks account (required) |
| Product | Freshdesk, Freshservice or Freshworks CRM (required) |
| PBX Host | Domain of the Yeastar PBX, with port if not 443 (required) |
| API Username / Password | Client ID and Client Secret from Integrations > API (required) |
| Linkus SDK Access ID / Key | From Integrations > Linkus SDK (required) |
| Product domain and API key | Freshworks account subdomain and an administrator's API key (required) |
| Call activity type ID | Freshworks CRM only: the Call activity type to log with (optional) |
| Call dispositions | Freshdesk and Freshservice: outcomes offered after a call (optional) |
| New contact creation | Automatic or manual (default: automatic) |
| Contact card redirect | Manual or automatic, its trigger (ringing, answered, call end) and target (same or new tab) |