@anonymous FreeSWITCH provides an application programming interface that exposes primitives for call control and IVR functionality. Applications may be written in the C language, C++, Python, Perl, Lua, JavaScript, Java and Microsoft .NET via Microsoft's CLR or via Mono.[12]