voiceip / oreka

OpenSource G711, G722, G729, Opus & Other Format VoIP SIP Recorder
GNU General Public License v3.0
149 stars 79 forks source link

OSX development #51

Open jmrbcu opened 3 years ago

jmrbcu commented 3 years ago

Hi there, I also use OSX for development, can you share with us how do you set up your Oreka development environment on OSX?

kingster commented 3 years ago

I use VirtualBox based Debian VM for the development process on MacOS. oreka/oreka-build repo has all the necessary files for getting your VM started.

jmrbcu commented 3 years ago

But which IDE do you use, build system, your VM is installed with a desktop environment? I was thinking about moving the build system from Autotools to CMake but, I have to make some time. I can see you are using Vagrant; how do you debug?

kingster commented 3 years ago

I use mostly use VSCode or Intellij IDEA but it should work with any IDE. The source code is a shared folder with the VM, hence the VM doesn't need any desktop environment. I usually debug code issues based on the logs, but in some cases I use gdb.

I was thinking about moving the build system from Autotools to CMake but, I have to make some time.

This would be a really good contribution, looking forward to it!

jmrbcu commented 3 years ago

We use a customized version of orkaudio (mostly with plugins); also, we don't use OrkTrack or OrkWeb. We try to keep it in sync with the upstream from Orecx, but they have ancient libraries (dependencies), making the development process harder; I am not fond of Autotools either (Autotools support in CLion is not that good). How often do you pull upstream changes, and how this version diverts from the original orkaudio?

kingster commented 3 years ago

This project was initially formed from their sourceforge svn, but about a year or two back they moved their opensource version to GitHub (Orecx/oreka), at that time I had rebased my changes on their git history, making it today very easy to merge in changes from their repo. Since then the dependencies have been updated a lot, and today we have cross builds including for Debian 10/Ubuntu 20.x

How often do you pull upstream changes,

Regarding pulling upstream changes, I don't need to do that often given that there are very rare commits on their repo, but incase I observe that there as been some core bux fixes on their repo, I do merge in those changes.

how this version diverts from the original orkaudio?

README (Improvements) section lists the major changes, but apart from that, there are quite some bug fixes that have been applied to the source code. This project doesn't divert from the original orkaudio, but instead has been build on it with a lot of improvements, and continues to merge in if any changes that happen in the original one.

jmrbcu commented 3 years ago

We also have a plugin for g729, I noticed this version has it too. Regarding CallID Tracking, what do you mean by this?

kingster commented 3 years ago

That's great, what other plugins do you have?

CallID Tracking : orkaudio now reports the sip callId if available as a primary attribute of the call. This helps us to associate the recordings very easily with our cdr information.

jmrbcu commented 3 years ago

But that is reported already in orkaudio.log and messages.log! We have some proprietary plugins, and right now, we are developing a live stream plugin; I am looking at one of your branches, and I can see you guys have something like that.

kingster commented 3 years ago

True, but was not sent to orktrack, thus not allowing a programmatic access to the recordings. The changes now propagates the information till the tracking layer.

Live Streaming is something still work in progress. Though comments / suggestions / alternate design are welcome.

jmrbcu commented 3 years ago

As soon as I have something working, I'll let you know, but for now, I am gonna take some time to move the build system to CMake. I want to develop natively on OSX, at least.

kingster commented 1 year ago

@jmrbcu were you able to make these changes and migrate to CMake?

jmrbcu commented 1 year ago

@jmrbcu, were you able to make these changes and migrate to CMake?

Still, I am merging my changes (VNTag and TZSP encapsulation ) into this fork and porting your VXLAN support into ours (a fork of the original, just like this one). My ultimate goal is to use this fork with our changes, but I have to ensure it compiles and runs in CentOS 6 like the original project. Once this is done, I will start porting to CMake.