You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Merge 'develop' for release 2.2.0:
- refactor align forward-stream logic with improvements from the original mod_audio_stream repo (#24)
- refactor api command cli helper (#24)
- fix both safety issues and performance improvements in stream_frame (#24)
- fix avoid per-frame heap allocations of support buffers #24
- update docs references for project rename to mod_openai_realtime
**mod_openai_audio_stream** is a FreeSWITCH module that streams L16 audio from a channel to an OpenAI Realtime WebSocket endpoint. The stream follows OpenAI's Realtime API specification and enables real-time audio playback directly in the channel.
7
+
**mod_openai_realtime** is a FreeSWITCH module that streams L16 audio from a channel to an OpenAI Realtime WebSocket endpoint. The stream follows OpenAI's Realtime API specification and enables real-time audio playback directly in the channel.
8
+
9
+
> [!WARNING]
10
+
> This is a standalone fork of `mod_audio_stream`, not affiliated with the original project.
11
+
> Legacy naming (`mod_openai_audio_stream`) is retained for backward compatibility but will be updated in a future major release.
8
12
9
13
It is a fork of [mod_audio_stream](https://github.com/amigniter/mod_audio_stream), specifically adapted for streaming audio to OpenAI's Realtime API and playing the responses back to the user via FreeSWITCH and WebSocket.
10
14
11
-
The goal of **mod_openai_audio_stream** is to provide a simple, lightweight, yet effective module for streaming audio and receiving responses directly from OpenAI’s Realtime WebSocket into the call through FreeSWITCH. It uses [ixwebsocket](https://machinezone.github.io/IXWebSocket/), a C++ WebSocket library compiled as a static library.
15
+
The goal of **mod_openai_realtime** is to provide a simple, lightweight, yet effective module for streaming audio and receiving responses directly from OpenAI’s Realtime WebSocket into the call through FreeSWITCH. It uses [ixwebsocket](https://machinezone.github.io/IXWebSocket/), a C++ WebSocket library compiled as a static library.
12
16
13
17
14
18
## Important Notes
@@ -76,7 +80,7 @@ The following is **a simple dialplan example** that demonstrates how to use the
76
80
77
81
* Make sure to replace `sk-xxxxxxxxxxxxxxxxxx` with your actual OpenAI API key.
78
82
* The dialplan answers the call and starts streaming audio to OpenAI's Realtime API using `uuid_openai_audio_stream`, so you can try it out and see the OpenAI events in the FreeSWITCH console within the `mod_openai_audio_stream::json` events and other module events.
79
-
* The playback action with `silence_stream://-1//` is needed for audio playback to work properly. For more details, check issue [#16](https://github.com/VoiSmart/mod_openai_audio_stream/issues/16).
83
+
* The playback action with `silence_stream://-1//` is needed for audio playback to work properly. For more details, check issue [#16](https://github.com/VoiSmart/mod_openai_realtime/issues/16).
80
84
81
85
#### Next steps
82
86
@@ -85,7 +89,7 @@ The **getting started** example is a basic demonstration of how to use the modul
85
89
This way you can build more complex applications **allowing for function calls, updating instructions**, and other interactions with OpenAI's Realtime API. Check out the [OpenAI Realtime documentation](https://platform.openai.com/docs/guides/realtime) and [API reference](https://platform.openai.com/docs/api-reference/realtime) for more details on how to structure your requests and handle responses.
86
90
87
91
### Channel variables
88
-
The following channel variables can be used to finetune websocket connection and also configure mod_openai_audio_stream logging:
92
+
The following channel variables can be used to fine-tune websocket connection and also configure mod_openai_realtime logging:
0 commit comments