2. techio.com
What Asterisk PBX is?
• Software implementation of a Private Branch Exchange
• Exists since 2004
• Dual Licensed (GPL v2.0 & Proprietary)
• Ported to almost all well known platforms
• Very popular solution for either ITSPs or SMBs
• Core component for many PABX such as Trixbox & FreePBX
4. techio.com
mongodb supported drivers: Apache License v2.0
asterisk server + addons: GPL v2.0
MongoDB
!
Asterisk
BUT WAIT :)
How about storing PBX CDRs into mongoDB?
How about taking near-realtime decisions based on mongoDB datasets?
• Faster Rating & Billing
• Less Complex Fraud detection
5. techio.com
Meet app_mongodb!
• Asterisk native application
• mongoDB interaction from the PBX dialplan
• Still a prototype with just under 300 lines of code
• Tested and working ok so far on Asterisk 1.8.x
• Re-used already existing code base (cdr_mongodb)
• Greatly influenced by app_mysql
What can it do so far?
Replace a CallerID’s Name by matching his number in a mongoDB phonebook
6. techio.com
app_mongodb in Action
200 is calling 201
201 receives a call
from “mongodb-rulez!”
find({“num”: 200”, “cid”: 1})
“cid”: “mongodb-rulez!”
8. techio.com
• Near-Realtime accounting for billing, remaining call time, fraud-detection etc.
• Faster Dynamic Call Routing (usage based trunk routing)
• Faster analysis on ITSP customer trends (BI)
• Integrating 3rd party with mongoDB as a data source
• Asterisk Integration with CRM for medium to large organizations (Call-Centers, etc)
Some ideas
Additional support for a broader set of mongoDB
operations can be implemented easily! ;-)