Commit graph

444 commits

Author SHA1 Message Date
Abhishek Sharma
137b5e9f89
Verify Telnyx webhook signatures (#271)
* Verify Telnyx webhook signatures

* feat: harden telnyx webhook signature verification

---------

Co-authored-by: a692570 <a692570@users.noreply.github.com>
Co-authored-by: Sabiha Khan <sabihak89@gmail.com>
2026-05-12 18:37:31 +05:30
Abhishek Kumar
9389340807 debug: add SentryErrorBoundary 2026-05-12 17:48:01 +05:30
Abhishek Kumar
adae7aec2d Merge branch 'main' of https://github.com/dograh-hq/dograh 2026-05-12 14:25:37 +05:30
Abhishek Kumar
418775cee1 chore: update setup docs 2026-05-12 14:25:34 +05:30
Sabiha Khan
a1902829db
fix: prior pre-pr drift check failures (#276)
* fix: prior pre-pr drift check failures

* docs: update api reference openapi json
2026-05-12 14:17:40 +05:30
Abhishek Kumar
15a7cd5b6d chore: update dev scripts and documentation 2026-05-12 13:54:33 +05:30
Sabiha Khan
4a6752e62b
feat(telephony/telnyx): add call transfer via conference bridge (#274)
Conference-based transfer for Telnyx with a two-step flow:
- transfer_call dials the destination with a per-transfer webhook URL.
- On call.answered, the webhook seeds a conference with the destination's
  live call_control_id and publishes DESTINATION_ANSWERED.
- TelnyxConferenceStrategy joins the caller into the conference on
  pipeline teardown (EndTaskReason.TRANSFER_CALL).
- On post-answer destination hangup, the webhook hangs up the caller —
  Telnyx's create_conference doesn't accept end_conference_on_exit on
  the seed leg, so we tear down the bridge ourselves.

TransferContext gains optional workflow_run_id (for webhook→provider
resolution in multi-config orgs) and conference_id (set on answer,
rd by the strategy).

Also fixes the transfer tool's provider lookup to go through
get_telephony_provider_for_run instead of the deprecated org-default
shim, which was returning the wrong provider in multi-config orgs.
2026-05-12 13:44:39 +05:30
Abhishek Kumar
4afe426f12 chore: fix tests 2026-05-11 17:21:02 +05:30
Sabiha Khan
f634a50af3
chore(main): release dograh 1.28.0 (#266) 2026-05-11 17:15:03 +05:30
Abhishek
e2fe1f3cd4
feat: enable FORCE_TURN_RELAY to diagnose turn connectivity for local deployment setups (#272)
* filter out local sdp candidates on non local environment

* feat: add FORCE_TURN_RELAY variable

* add FORCE_TURN_RELAY option in docker-compose

* fix: fix github workflow
2026-05-11 17:13:01 +05:30
Sabiha Khan
01c201bf09
feat: add telnyx webhook api key in telephony config (#270) 2026-05-09 18:03:42 +05:30
Abhishek Kumar
45a81c88e0 chore: add more fixtures 2026-05-08 16:28:09 +05:30
Abhishek Kumar
5a358d4d29 feat: add workflow graph constraints fixtures 2026-05-08 16:02:51 +05:30
Abhishek Kumar
6d93be3ef6 fix: number pool initialization in multi telephony setup
If there are multiple telephony configurations, the form number should be initialized from the campaigns given telephonic configuration rather than the organization default telephonic configuration.
2026-05-08 14:48:53 +05:30
Sabiha Khan
81a363b06e chore: rename deploy/embed widget section to add to website 2026-05-07 14:56:45 +05:30
Abhishek Kumar
0282eb3225 chore: load paginated versions of workflow 2026-05-07 13:43:59 +05:30
Sabiha Khan
d2a119c38a
feat: add headless mode, redesign floating widget, refactor lifecycle callbacks (#268)
* feat: add headless widget for deployment

* feat: call callbacks at the right time

* feat: add onCallConnected & onCallDisconnected callback

* feat: add a button with text for floating widget

* feat: add headless widget for deployment

* feat: call callbacks at the right time

* feat: add onCallConnected & onCallDisconnected callback

* feat: add a button with text for floating widget

* docs: web widget

* fix: format issue in pre-pr drift check

* fix: fix CD to rely on pipecat dev dependey

* chore: update message

---------

Co-authored-by: Abhishek Kumar <abhishek@a6k.me>
2026-05-07 12:23:41 +05:30
Abhishek Kumar
31e2c135b0 fix: add missing call_id in gathered_context for telnyx 2026-05-06 19:51:13 +05:30
Abhishek Kumar
025bc14392 feat: add voicemail detection in realtime branch 2026-05-06 17:50:02 +05:30
Abhishek Kumar
4634e1c2ed chore: remove dead code 2026-05-06 16:04:05 +05:30
Abhishek
d4b6afb020
feat: add logs in campaigns for failure or pausing (#265)
* feat: add logs in campaigns on failure

* chore: bump pipecat

* chore: update format.sh

* chore: fix github workflow

* fix: fix formatting errors
2026-05-05 19:23:50 +05:30
Abhishek Kumar
abfb678b4d chore: bump pipecat 2026-05-05 15:59:12 +05:30
Abhishek
0e12c41fc7
chore: bump pipecat version and fix tests (#263)
* chore: bump pipecat version and fix tests

* chore: add github workflow to run tests

* fix: install reqirements.dev.txt in test script

* fix: fix api-test action

* feat: add integration test

* test: add integration tests

* test: add test for function call mute strategy
2026-05-04 21:35:37 +05:30
Abhishek Kumar
d256c6005c chore: update openapi spec 2026-05-04 13:01:57 +05:30
Abhishek Kumar
0d7b225f76 chore: updatae documentation for api trigger 2026-05-04 12:46:11 +05:30
Sabiha Khan
5ad5bbd985
chore(main): release dograh 1.27.0 (#250) 2026-05-02 18:39:44 +05:30
Abhishek Kumar
49c40256ff chore: update docs.json 2026-05-02 17:39:32 +05:30
Abhishek Kumar
91a62178c1 chore: add telephony configuration docs 2026-05-02 17:37:48 +05:30
Abhishek Kumar
fbf0687c79 chore: bump sdk version 2026-05-02 17:04:12 +05:30
Abhishek Kumar
6ecd5c2fa6 chore: update documentation for telephony 2026-05-02 16:59:17 +05:30
Abhishek
7fd3b96470
feat: agent stream for cloudonix OPBX (#261)
* feat: agent stream for cloudonix OPBX

* feat: make cloudonix app name optional

* feat: create application while configuring telephony config

* fix: get telephony configuration from stamped workflow run

* fix: fix vobiz hangup URL
2026-05-02 15:53:58 +05:30
Abhishek
5cfdbeff02
chore: new telephony config as default (#260)
- Mark first new telephony config as default
- Show telephony config in campaign details
2026-04-30 17:33:16 +05:30
Abhishek
14bc66d21d
fix: normalise telnyx event types (#259) 2026-04-30 15:42:55 +05:30
Abhishek Kumar
4c69e1376c chore: bump pipecat 2026-04-30 14:19:41 +05:30
Sabiha Khan
6c4830cb5e
fix: api trigger for telnyx & cloudonix (#258) 2026-04-30 11:54:12 +05:30
Sabiha Khan
085ab0a7ae
fix: honor telnyxs per-call codec in bidirectional stream (#256)
Telnyx's bidirectional stream uses different codecs per direction:
  - Dograh → Telnyx: what we declare via `stream_bidirectional_codec`
  - Telnyx → Dograh: whatever the PSTN leg negotiated (PCMA for UK,
    Europe, India termination; PCMU for US), announced as
    `media_format.encoding` on the WebSocket start message.

We hardcoded both directions on the serializer to PCMU, so any call
whose PSTN leg used PCMA arrived as A-law bytes that we decoded
through a μ-law table → static for the entire call.

`handle_websocket` now extracts `media_format.encoding` from the
start message and threads it through `transport_kwargs`. The
serializer uses it for the Telnyx → Dograh direction; the
Dograh → Telnyx direction stays pinned to PCMU to match the
unchanged `stream_bidirectional_codec` in the dial/answer payloads.

Note: pipecat's `TelnyxFrameSerializer` names its params from the
call's POV, not Dograh's — `inbound_encoding` is what we send into
the call, `outbound_encoding` is what we receive. Easy to mix up.
2026-04-29 19:20:52 +05:30
Sabiha Khan
983b9bee71 docs: add missing config image 2026-04-29 17:38:32 +05:30
Abhishek
e16f6438bd
feat: refactor telephony to support multiple telephony configurations (#251)
Co-authored-by: Sabiha Khan <sabihak89@gmail.com>
2026-04-29 11:39:57 +05:30
Abhishek Kumar
2f860e7f6d Merge branch 'main' of https://github.com/dograh-hq/dograh 2026-04-25 20:43:41 +05:30
dilipevents2007-cpu
2218ba8ad9
feat: add Plivo telephony provider support (#245)
* Add Plivo telephony provider support

* add Plivo telephony UI, fix audio config, and improve inbound call handling

---------

Co-authored-by: Dilip Tiwari <digitalapache20@gmail.com>
Co-authored-by: Sabiha Khan <sabihak89@gmail.com>
Co-authored-by: Abhishek <abhishek@a6k.me>
2026-04-25 20:41:46 +05:30
Abhishek Kumar
a1d4a1fab2 fix: make trigger paths globally unique 2026-04-25 19:44:44 +05:30
Abhishek Kumar
3e3773f400 feat: add create workflow tool in MCP 2026-04-25 17:38:38 +05:30
Abhishek Kumar
d6567eef28 chore: regenerate sdk 2026-04-25 16:34:19 +05:30
Abhishek Kumar
4171ad7a54 feat: add test mode for API trigger 2026-04-25 16:30:26 +05:30
Abhishek Kumar
f041e6030d feat: add examples to create workflow and use sdk 2026-04-24 14:09:24 +05:30
Abhishek Kumar
16587fd7e1 chore: fix duplicate workflow issue 2026-04-24 13:17:04 +05:30
Sabiha Khan
f7c1f63e1b
feat: add posthog signup and signin events, enable backend posthog events for oss version (#249) 2026-04-24 12:02:52 +05:30
Abhishek
9298116887 Merge branch 'main' of github.com:dograh-hq/dograh 2026-04-22 15:26:49 +00:00
Abhishek
28d9039594 Assert right node version before starting services 2026-04-22 15:25:41 +00:00
Sabiha Khan
e556a60ab0
chore(main): release dograh 1.26.0 (#246) 2026-04-21 18:17:02 +05:30