Tech

MongoDB CDR

Published on:

August 19, 2015

Thus the move with MongoDB. Although it is latest technology (and maybe just because of that), writing natively into the database was actually relatively simple. MongoDB can deal with very large amounts of data, so the PBX does not have to bother with it. Down the road we might be even able to use the DB for reading as well, e.g. when the user is using the call history from the web interface.

Moving from CPE deployments to hosted PBX does not only put additional stress on the overall stability of the system; it also adds a lot more call data records (CDR) to be stored. Our old approach to store the CDR locally in our own little database was good for a few thousands records. However as we go forward, we are hitting the millions of records.

A simple, file based database cannot handle that any more.http://vodia.com/documentation/cdr is like a history book on CDR. Originally we started with SOAP, which was at the time a kind of cool technology especially because it was sent using HTTP—a kind of waste at the time. Due to industry demands we added the TCP-based simple CDR, a primitive technology that came from the RS-232 times with lots of problems with the field lengths and special characters.

With the increasing popularity of REST and JSON we added a JSON-based record that was again based on HTTP, which was already pretty cool. However there was still glue logic necessary to store the records in a database. Thus the move with MongoDB. Although it is latest technology (and maybe just because of that), writing natively into the database was actually relatively simple. MongoDB can deal with very large amounts of data, so the PBX does not have to bother with it. Down the road we might be even able to use the DB for reading as well, e.g. when the user is using the call history from the web interface.

To use the new feature, you need to set up the MongoDB on a server. If you set it up on the same machine, things are simple; by default connections coming from the localhost port don’t require any additional setup. If you run the DB on a separate server, you must make sure that the authorization is set up properly; you don’t want just anybody have access to your CDR. The PBX does not support authentication mechanisms for MongoDB or even encryption. It is your responsibility to make sure that only the PBX can access the database.

The schema for the URL is like this: “mongodb://server:port/database/table”. The server must be an IP address or “localhost” for the loopback address “127.0.0.1”. The port defaults to 27019 which is currently the standard MongoDB port; however we recommend to explicitly specify the port. The database string tells the server where to store the CDR; this string may contain the variable “{domain}” which is replaced with the name of the domain. The table name is a string that tells the PBX where to store the CDR. The feature will be available in 5.3. Those who can’t wait can try select 5.2.7 builds which also have it compiled in already.

Latest Articles

View All

Real Telecom and CallSmart Announce the Integration of the Vodia PBX with the CallSmart

Real Telecom and CallSmart have announced the integration of the Vodia PBX with the CallSmart AI communication platform, delivering a feature-rich, cost-effective voice solution tailored for modern dental and healthcare practices. The integration empowers clinics with advanced call center functionality, HIPAA-compliant data security, and seamless communication tools that reduce missed appointments and enhance patient engagement. CallSmart’s AI captures missed calls and automatically engages patients via SMS, while Vodia PBX ensures easy installation and reliable performance.

May 13, 2025

Fast and Easy: Vodia Prepaid Cloud for Microsoft Azure

Vodia’s prepaid cloud PBX solution for Microsoft Azure enables businesses to quickly deploy a fully licensed, enterprise-grade phone system without the complexity of traditional installations. Designed for speed, scalability, and ease of use, the offering supports packages for up to 80 users and includes a Teams-certified Session Border Controller (SBC) that allows seamless integration of Vodia PBX features—such as auto-attendants, call queues, and intelligent routing—directly within Microsoft Teams. Whether you’re an SMB or a growing enterprise, Vodia’s prepaid PBX is a powerful and flexible solution that’s easy to scale as your business evolves.

May 12, 2025

Unlocking Swift Communication: The Vodia Prepaid DigitalOcean Cloud Advantage!

Vodia’s prepaid offering on DigitalOcean provides businesses with a fast, flexible way to deploy a fully licensed PBX system. Our tailored plans include options for SBC functionality, certified for MS Teams, enabling seamless integration of advanced PBX features like intelligent call routing, automated attendants, and voicemail, all while ensuring secure, high-fidelity voice communication. With extension-based licensing, organizations can easily scale their system from 10 to 80 extensions, making deployment simple and quick. Whether you’re new to PBX systems or an experienced developer, our step-by-step installation video and documentation guide you through the setup process.

May 5, 2025