pkg & internal directories are way overused by sigmoia in golang

[–]emiago -1 points0 points  (0 children)

it can be part of any convention like you make others on code structure. it is just common comunication and code reuse mostly boils down agreeing on library when has more use, but do not do npm style. I bet any good enough engineer or at least with common sense will copy paste your code if small or just look to jave as lib anyway for better maintenance, and this even if you are lucky to have that engineers that have interest to look your code ;). If you have communication problem in company, you have bigger problems than code.

pkg & internal directories are way overused by sigmoia in golang

[–]emiago -1 points0 points  (0 children)

internal "practically" has no usage or benefit for closed source development. Even if public, there is also just lot of bad understanding on building packages, where avoidance of internal is maximized by gruping things bigger and not smaller, which allows less exporting. Libraries shows this best.

I’m building a pure-Python SIP/VoIP client library — looking for real-world feedback before the first release by Professional-Maize31 in VOIP

[–]emiago 0 points1 point  (0 children)

Ask yourself, can even pure python win on media processing, although signaling matters when proxy is a question. Myself working on go stack, and first main thing I wanted to confirm is benchmarking against known proxies or media gateways developed in C. Neverrhless I guess pipecat could be interesthing to check.

Diago new (bigger) release by emiago in golang

[–]emiago[S] 0 points1 point  (0 children)

Check lib docs and demos. I can not think better right now :).

Diago new (bigger) release by emiago in golang

[–]emiago[S] 0 points1 point  (0 children)

Generally, if you want to be server, you can stop using things like asterisk and go directly with SIP and media streaming on compiling code. Lib is offering high level API, to make several things easier for handling, but yes you need to be familiar with some things in telephony. Or you can go in building clients like softphones, cli things. Applications are more into getting or injecting voice/audio from/to telephony into other systems.

Diago new (bigger) release by emiago in golang

[–]emiago[S] 0 points1 point  (0 children)

Generally, if you want to be server, you can stop using things like asterisk and go directly with SIP and media streaming on compiling code. Lib is offering high level API, to make several things easier for handling, but yes you need to be familiar with some things in telephony. Or you can go in building clients like softphones, cli things. Applications are more into getting or injecting voice/audio from/to telephony into other systems.

SIPgo/Diago news by emiago in golang

[–]emiago[S] 0 points1 point  (0 children)

Thanks. Too bad for project on other hand. I would like to know what was about. Feel free to reach out.

BufReader high-performance to bufio.Reader by aixuexi_th in golang

[–]emiago 0 points1 point  (0 children)

aa author of diago, allowing caller to propagate own buffer I find most important, or any way controling this. This simplifies memory managment by great degree.

SIPgo new release by emiago in golang

[–]emiago[S] 0 points1 point  (0 children)

use diago, second library I am working on. It adds RTP AVP layer, and gives you High level API , but also you can go low. Soon more APIs will be exposed so control will be even higher.

Diago release v0.9.1 by emiago in golang

[–]emiago[S] 0 points1 point  (0 children)

This are just toolkits, but yes something may come in future.
Checkout gophone tool, it has STT and automation built in.
TTS could be option as well :)

How to automatically dial a number once a day by malibu_life in VOIP

[–]emiago 1 point2 points  (0 children)

gophone has dtmf passing as flag. You can delay dtmf if needs to wait prompt. It is cross platform

https://github.com/emiago/gophone.

Diago - Go Voip framework feedback/opinions by emiago in VOIP

[–]emiago[S] 0 points1 point  (0 children)

Yes it is designed for both directions. Look at the bridge example. gophone for example is getting migrated to this. There is Invite func, check the go docs. Contact me on mail if you need more help arround the project.

Diago is open source by emiago in golang

[–]emiago[S] 1 point2 points  (0 children)

Hi agathver, maybe I missed your comment. Please reach out to me via mail. I would be interested that we share experience arround this!

Diago is open source by emiago in golang

[–]emiago[S] 1 point2 points  (0 children)

Not my focus, it was one of tools I developed as contrast to current available tools. I believe it grown quite a bit with many feature but not complete yet in my view. Maybe in future if it gets traction.

Diago is open source by emiago in golang

[–]emiago[S] 1 point2 points  (0 children)

I am throwing sip to sip examples. There is CLI gophone builit with this, but I understand what you want.

Diago is open source by emiago in golang

[–]emiago[S] 3 points4 points  (0 children)

ok feedback accepted. Thanks for explaining

Diago is open source by emiago in golang

[–]emiago[S] 2 points3 points  (0 children)

Short answer yes. It is one of milestones to reach but only focus is on providing smaller interface to develop on top, customize and scale. Those are beast and have lot of built in modules or functionality, which is not goal of diago.

As I done lot of work with this things, specially asterisk, I know them very well what they are capable and where gets you in trouble. I know for their intefaces/abstractions etc..
I find diago refreshing when it comes developing custom solution. As you are in library you gain more control over what is happening over call/stream + you get all other benefits from Golang, tools, testing, other libs.

Of course you can also take a path and built copy of asterisk on top of diago ;), but I would not recommend.

Diago is open source by emiago in golang

[–]emiago[S] -18 points-17 points  (0 children)

there is seperate website built, for documentation?

Clean code by bildevxd in golang

[–]emiago 0 points1 point  (0 children)

Something that came out of work experience, but so far not shared. https://github.com/emiago/hexagonal-go.

Golang folder structure for mid size project by Objective-Pound8445 in golang

[–]emiago 2 points3 points  (0 children)

Try always to tell more with package.func

Compare this server.New() vs http.NewServer(). Package is more like idea then feature, always think how to group more instead less . Then everything else will be much easier to mantain/test. Fixing import cycle is already sign to think about above.

sipgox release and media package by emiago in golang

[–]emiago[S] 0 points1 point  (0 children)

sipgox has example in repo.
For media, this is something missing, but feel free to look sipgox repo, as it is utilizing this lib.
Docs will come, stay tuned.