|
| 1 | +--- |
| 2 | +# title: Diago |
| 3 | +--- |
| 4 | +<img src="diago-text-no-icon.png" width="300" alt="DIAGO"> |
| 5 | + |
| 6 | +--- |
| 7 | +**Diago** is short of **dialog + GO**. |
| 8 | +Library for building comunication (VOIP) solutions in *GO*. |
| 9 | + |
| 10 | + |
| 11 | +It is providing more developer friendly solution on top of [SIPgo](https://github.com/emiago/sipgo) to develop any kind of media streaming (VOIP) services. |
| 12 | +It comes with own media stack to provide optimized handling of media(RTP framework) in Go language. |
| 13 | + |
| 14 | +**Stack:** |
| 15 | +* Signaling: SIP |
| 16 | +* Media: RTP/AVP |
| 17 | + |
| 18 | +Visit [Documentation](docs/) to find out more! |
| 19 | + |
| 20 | +You can follow on [X/Twitter](https://twitter.com/emiago123) for more updates. |
| 21 | + |
| 22 | + |
| 23 | +**NOTE: This API design is WIP and may have changes** |
| 24 | + |
| 25 | +## What is really about? |
| 26 | + |
| 27 | +If you are familiar with terms |
| 28 | +*Calling, Bridging, Conferencing, IVR, Recording, Transcribing, Voicemail ...* that is all about. |
| 29 | + |
| 30 | +Using GO it offers faster way of **developing** and **testing** communication services, with main focus on building voice services over IP. |
| 31 | + |
| 32 | +## Core (Roadmap): |
| 33 | + |
| 34 | +***WIP*** = Work in progress (Expect soon to be part of lib) |
| 35 | + |
| 36 | +- [x] Full dialog control and High Level API |
| 37 | +- [x] alaw,ulaw codecs (opus as third is planned as well) |
| 38 | +- [x] Audio package for streaming: WAV reader/writer, PCM transcoding to alaw/ulaw |
| 39 | +- [x] Playbacks as buffers,files(wav),url |
| 40 | +- [x] Playback URL streaming |
| 41 | +- [x] Playback with control mute/unmute |
| 42 | +- [x] Audio Reader/Writer stream exposed for manual processing like sending to third party |
| 43 | +- [x] DTMF with RTP |
| 44 | +- [x] Handling Reinvites with media updates |
| 45 | +- [x] Bridging as proxy media for 2 parties B2BUA |
| 46 | +- [ ] Handling transfers (Refers) (WIP) |
| 47 | +- [ ] Conferencing audio |
| 48 | +- [ ] DTMF with SIP INFO (Needed more in case webrtc) |
| 49 | +- [ ] Writing Unit Test on Server with SIP and Media Recorder (***WIP***) |
| 50 | +- [ ] RTP symetric |
| 51 | +- [ ] SRTP for more critical services |
| 52 | +- [ ] And plenty more ... |
| 53 | + |
| 54 | + |
| 55 | +## diagox |
| 56 | + |
| 57 | +**Diago extra modules** |
| 58 | + |
| 59 | +Some of modules are not yet considered to be part of lib and they are developed for private projects. To mention few: |
| 60 | +- Recording |
| 61 | +- Webrtc(pion) stack over diago's media stack |
| 62 | +- Complex modules etc... |
| 63 | + |
| 64 | +If you have interest or need consulting/sponsoring please contact me on [mail ](mailto:[email protected]) |
| 65 | + |
| 66 | + |
0 commit comments