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 productsFreshdesk; Freshservice (including MSP mode); Freshsales / Freshworks CRM
App locationsCTI left navigation (left_nav_cti), CTI global sidebar (cti_global_sidebar)
Freshworks platformApp SDK Platform 3.0 (FDK 10.1.10, Node.js 24.11.0 serverless runtime)
Phone systemYeastar P-Series PBX, Cloud or Software Edition, with the API and Linkus SDK enabled
PBX networkReachable from the internet on a domain name over HTTPS with a publicly trusted certificate; IP addresses are not supported by Freshworks
Agent browserCurrent Chrome, Edge or Firefox with WebRTC and microphone access
LicenceA Jasco Dialer License Key issued for the Freshworks account's domain

3. Functions

SoftphoneWebRTC calling on the agent's own extension via the Yeastar Linkus SDK: answer, reject, hold, mute, on-demand recording, in-call dialpad
Transfer and conferenceBlind transfer, attended (consult) transfer, adding a participant to the call
Click-to-callDial from phone numbers on contacts, requesters and tickets
Caller identificationLookup 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 creationUnknown callers created as contacts automatically or on request
Call loggingFreshworks 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 historyIncoming, outgoing and missed calls from the PBX's call records, with filters and recording playback; missed-call alerts
QueuesLog 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 presencePBX extensions by department, favourites, search, live colleague status, agent presence control
AdministrationGuided installation page with field validation and live License Key check; PBX connection test

4. Architecture

Front endRuns in the Freshworks CTI panel (sandboxed iframe). Audio is carried directly between the agent's browser and the customer's PBX over WebRTC
Serverless functionsRun on Freshworks' platform. They call the PBX API, the Freshworks product API and the licence service through declared request templates
EventsApp install and uninstall (licence registration), a scheduled event every 6 hours (licence re-check), and an external event (instant licence updates)
External hostsThe customer's Yeastar PBX; the customer's own Freshworks domain; dial-monitor.jasco.co.ke (licensing only)
Third-party codeYeastar ys-webrtc-sdk-core (WebRTC SDK); tweetnacl and tweetnacl-util (signature verification)

5. Data handling

Call audioBetween the agent's browser and the customer's PBX only. Never passes through Jasco
Call records and recordingsRead from the customer's PBX when displayed; not copied elsewhere
Customer recordsRead from and written to the customer's own Freshworks account through its API
CredentialsStored by Freshworks as encrypted (secure) installation parameters
App data storeShort-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 JascoFreshworks 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

ModelSubscription licence per Freshworks account, issued and invoiced by Jasco Communications
ActivationLicense Key entered at installation; checked when the app is installed
Ongoing checksEvery few minutes while in use, every 6 hours in the background, and immediately when Jasco changes a licence
StatusesActive: works normally. Grace: works, with a payment reminder. Suspended or blocked: the panel is locked and calls stop; settings are kept
Outage toleranceIf the licence service is unreachable, the last valid answer is honoured for up to 72 hours
ProductsA licence covers the Freshworks products listed on it

8. Configuration

SettingDescription
License KeyIssued by Jasco Communications for this Freshworks account (required)
ProductFreshdesk, Freshservice or Freshworks CRM (required)
PBX HostDomain of the Yeastar PBX, with port if not 443 (required)
API Username / PasswordClient ID and Client Secret from Integrations > API (required)
Linkus SDK Access ID / KeyFrom Integrations > Linkus SDK (required)
Product domain and API keyFreshworks account subdomain and an administrator's API key (required)
Call activity type IDFreshworks CRM only: the Call activity type to log with (optional)
Call dispositionsFreshdesk and Freshservice: outcomes offered after a call (optional)
New contact creationAutomatic or manual (default: automatic)
Contact card redirectManual or automatic, its trigger (ringing, answered, call end) and target (same or new tab)