tSIP softphone: G.729 codec module template

Although G.729 patents may have expired already (20 years have passed for original G.729 ITU, see ITU patent list) or they may even be meaningless in my country (in similar way to FFmpeg from France that uses many patented algorithms) I'm not a lawyer and I'm not willing to include G.729 directly in softphone at the moment. Other problem is lack of BSD-compatible licensed implementation - creating own directly from ITU specification would not be cheap.

Building tSIP requires proprietary and not too popular these days Turbo C++. Probably no one would want to install it just for single task thus using G.729 in a form of codec module would be recommended. With tSIP 0.1.45 support for DLL modules (in general intended to be same as baresip modules but with dynamic symbol resulution for calls from module to main application) is added.

Build steps

(*) - with tSIP 0.1.48 codec management was improved. After adding module dll codec(s) have to be manually enabled (and can be disabled later without removing dll). With drag-and-drop enabled codecs can be ordered according to preferences (prioritized). Still, due to nature of SDP negotiation if you want to force G.729 usage then disabling all other codecs may be the only way.
tSIP codec configuration - G.729

Source: g729_template.zip (tested with Code::Blocks 16 + MinGW but C::B 13 seems to work also).

Back to tSIP.

 "Cookie monsters": 2814717    Parse time: 0.001 s