Category Archives: C/C++

FreeSWITCH Internals Notes

At Sangoma we use FreeSWITCH as a communications development platform. I decided to write some notes and guide lines on the FreeSWITCH internal architecture so our developers can use the FreeSWITCH framework effectively. I decided to publish them here as well … Continue reading

Posted in C/C++, freeswitch, voip | Leave a comment

GDB strcmp in a core dump

I tried finding an answer on google about how to do a strcmp operation in a core dump and could not find any solution. The answers available focused on using “call” to call the libc strcmp() function on a live … Continue reading

Posted in C/C++ | 3 Comments

Sangoma Tapping Solution for FreeSWITCH

About 4 years ago I wrote a post about Sangoma Tapping with Asterisk. Many people has been interested in that and I’ve done a few implementations with it. Having said that, still showed some stability issues and it became a … Continue reading

Posted in C/C++, freeswitch, sangoma, voip | Leave a comment

select system call limitation in Linux

Try finding a network sample code of how to accept TCP connections and most likely you will find the select() system call in such code. The reason being that select() is the most popular (but not the only one as … Continue reading

Posted in C/C++ | 9 Comments

I hate SELinux

I am not a security-savvy person, even though I know pretty well how to code defensively to avoid security issues in my C code, my security knowledge in a Linux system is pretty average (use firewall, do not run services … Continue reading

Posted in C/C++, GNU/Linux General, linux | 2 Comments

Quick tip for debugging deadlocks

If you ever find yourself with a deadlock in your application, you can use gdb to attach to the application, then sometimes you find one of the threads that is stuck trying to lock mutex x. Then you need to … Continue reading

Posted in C/C++, linux | 1 Comment

New Project – Sangoma Bridge

A couple of months ago I wrote a little application for Regulus Labs. The application is a simple daemon bridge between Sangoma E1 devices receving ISDN PRI calls and a TCP IP server. Everything received on the telephony side was … Continue reading

Posted in C/C++, linux | 2 Comments

Debugging information in separate files

Debugging information in Linux ELF binaries is usually stored in the binary itself. This had been really convenient to me, for example, I always compile my openr2 library with -ggdb3 -O0. I don’t care about optimizations nor the increase in … Continue reading

Posted in C/C++, linux | 1 Comment

A Tale of Two Bugs

It was the best of times, it was the worst of times, it was the age of wisdom, it was the age of foolishness, it was the age of bug-hunting! Recently I fixed 2 bugs, yeah, I know I spent … Continue reading

Posted in C/C++, linux | Comments Off on A Tale of Two Bugs

IJW (It Just Works) and COM Interop

As I promised in my last post, today I am going to give an overview about how to call C# code from C++. After googling around a bit you will find there are at least 2 well-known ways to call … Continue reading

Posted in C/C++, windows | 2 Comments