SlideShare une entreprise Scribd logo
1  sur  10
techio.com
MongoDB Interface for Asterisk PBX
Sokratis Galiatsis, Co-Founder TechIO
@sokratisg | sokratis@techio.com
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
techio.com
Integration Options
• unixODBC
• MySQL
• Postgres
• SNMP
• LDAP
• SQLite
• Asterisk Gateway Interface (AGI)
• mongoDB
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
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
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!”
techio.com
Well, ok but
is that all?
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! ;-)
techio.com
Resources
• app_mongodb: github.com/TechIOltd/app_mongodb
• mongo-c-driver: github.com/mongodb/mongo-c-driver
• cdr_mongodb: github.com/FlaPer87/cdr_mongodb
• mongoDB C driver tutorial: api.mongodb.org/c/current/tutorial.html
• mongoDB licensing: www.mongodb.org/about/licensing
• Asterisk PBX sources & documentation: www.asterisk.org
techio.com

Contenu connexe

Tendances

MySQL Storage Engines
MySQL Storage EnginesMySQL Storage Engines
MySQL Storage Engines
Karthik .P.R
 
Understanding my database through SQL*Plus using the free tool eDB360
Understanding my database through SQL*Plus using the free tool eDB360Understanding my database through SQL*Plus using the free tool eDB360
Understanding my database through SQL*Plus using the free tool eDB360
Carlos Sierra
 

Tendances (20)

MySQL 8.0 EXPLAIN ANALYZE
MySQL 8.0 EXPLAIN ANALYZEMySQL 8.0 EXPLAIN ANALYZE
MySQL 8.0 EXPLAIN ANALYZE
 
PostgreSQL Internals (1) for PostgreSQL 9.6 (English)
PostgreSQL Internals (1) for PostgreSQL 9.6 (English)PostgreSQL Internals (1) for PostgreSQL 9.6 (English)
PostgreSQL Internals (1) for PostgreSQL 9.6 (English)
 
Performance Stability, Tips and Tricks and Underscores
Performance Stability, Tips and Tricks and UnderscoresPerformance Stability, Tips and Tricks and Underscores
Performance Stability, Tips and Tricks and Underscores
 
Clang tidy
Clang tidyClang tidy
Clang tidy
 
MySQL Tuning
MySQL TuningMySQL Tuning
MySQL Tuning
 
Create Directory Under ASM Diskgroup
Create Directory Under ASM DiskgroupCreate Directory Under ASM Diskgroup
Create Directory Under ASM Diskgroup
 
ProxySQL in the Cloud
ProxySQL in the CloudProxySQL in the Cloud
ProxySQL in the Cloud
 
Introduction to PgBench
Introduction to PgBenchIntroduction to PgBench
Introduction to PgBench
 
An Enterprise Architect's View of MongoDB
An Enterprise Architect's View of MongoDBAn Enterprise Architect's View of MongoDB
An Enterprise Architect's View of MongoDB
 
Redis introduction
Redis introductionRedis introduction
Redis introduction
 
The Volcano/Cascades Optimizer
The Volcano/Cascades OptimizerThe Volcano/Cascades Optimizer
The Volcano/Cascades Optimizer
 
Survey of some free Tools to enhance your SQL Tuning and Performance Diagnost...
Survey of some free Tools to enhance your SQL Tuning and Performance Diagnost...Survey of some free Tools to enhance your SQL Tuning and Performance Diagnost...
Survey of some free Tools to enhance your SQL Tuning and Performance Diagnost...
 
redis basics
redis basicsredis basics
redis basics
 
Advanced Ops Manager Topics
Advanced Ops Manager TopicsAdvanced Ops Manager Topics
Advanced Ops Manager Topics
 
Oracle DBA
Oracle DBAOracle DBA
Oracle DBA
 
MariaDB 10: The Complete Tutorial
MariaDB 10: The Complete TutorialMariaDB 10: The Complete Tutorial
MariaDB 10: The Complete Tutorial
 
Performance Monitoring: Understanding Your Scylla Cluster
Performance Monitoring: Understanding Your Scylla ClusterPerformance Monitoring: Understanding Your Scylla Cluster
Performance Monitoring: Understanding Your Scylla Cluster
 
MySQL Storage Engines
MySQL Storage EnginesMySQL Storage Engines
MySQL Storage Engines
 
How to upgrade like a boss to MySQL 8.0 - PLE19
How to upgrade like a boss to MySQL 8.0 -  PLE19How to upgrade like a boss to MySQL 8.0 -  PLE19
How to upgrade like a boss to MySQL 8.0 - PLE19
 
Understanding my database through SQL*Plus using the free tool eDB360
Understanding my database through SQL*Plus using the free tool eDB360Understanding my database through SQL*Plus using the free tool eDB360
Understanding my database through SQL*Plus using the free tool eDB360
 

En vedette

Spark and MongoDB
Spark and MongoDBSpark and MongoDB
Spark and MongoDB
Norberto Leite
 
Ancient Greek Philosophy
Ancient Greek PhilosophyAncient Greek Philosophy
Ancient Greek Philosophy
Mr. Finnie
 
Aristophanes
AristophanesAristophanes
Aristophanes
optime
 

En vedette (12)

Astricon 2013: "Asterisk and Database"
Astricon 2013: "Asterisk and Database"Astricon 2013: "Asterisk and Database"
Astricon 2013: "Asterisk and Database"
 
Apache Spark and MongoDB - Turning Analytics into Real-Time Action
Apache Spark and MongoDB - Turning Analytics into Real-Time ActionApache Spark and MongoDB - Turning Analytics into Real-Time Action
Apache Spark and MongoDB - Turning Analytics into Real-Time Action
 
Ενότητα 9 - Οι νόμοι επισκέπτονται το Σωκράτη στη φυλακή
Ενότητα 9 -  Οι νόμοι επισκέπτονται το Σωκράτη στη φυλακήΕνότητα 9 -  Οι νόμοι επισκέπτονται το Σωκράτη στη φυλακή
Ενότητα 9 - Οι νόμοι επισκέπτονται το Σωκράτη στη φυλακή
 
Spark and MongoDB
Spark and MongoDBSpark and MongoDB
Spark and MongoDB
 
Big Data CDR Analyzer - Kanthaka
Big Data CDR Analyzer - KanthakaBig Data CDR Analyzer - Kanthaka
Big Data CDR Analyzer - Kanthaka
 
Synchronise your data between MySQL and MongoDB
Synchronise your data between MySQL and MongoDBSynchronise your data between MySQL and MongoDB
Synchronise your data between MySQL and MongoDB
 
Η ΛΟΓΙΚΗ - ΒΑΣΙΚΕΣ ΕΠΙΣΗΜΑΝΣΕΙΣ
Η ΛΟΓΙΚΗ - ΒΑΣΙΚΕΣ ΕΠΙΣΗΜΑΝΣΕΙΣΗ ΛΟΓΙΚΗ - ΒΑΣΙΚΕΣ ΕΠΙΣΗΜΑΝΣΕΙΣ
Η ΛΟΓΙΚΗ - ΒΑΣΙΚΕΣ ΕΠΙΣΗΜΑΝΣΕΙΣ
 
Node.js×mongo dbで3年間サービス運用してみた話
Node.js×mongo dbで3年間サービス運用してみた話Node.js×mongo dbで3年間サービス運用してみた話
Node.js×mongo dbで3年間サービス運用してみた話
 
Ancient Greek Philosophy
Ancient Greek PhilosophyAncient Greek Philosophy
Ancient Greek Philosophy
 
Aristotle presentation
Aristotle presentationAristotle presentation
Aristotle presentation
 
Socrates
SocratesSocrates
Socrates
 
Aristophanes
AristophanesAristophanes
Aristophanes
 

Similaire à MongoDB Interface for Asterisk PBX

Polyakov how i will break your enterprise. esb security and more
Polyakov   how i will break your enterprise. esb security and morePolyakov   how i will break your enterprise. esb security and more
Polyakov how i will break your enterprise. esb security and more
DefconRussia
 

Similaire à MongoDB Interface for Asterisk PBX (20)

WebRTC Standards & Implementation Q&A - The Internals of WebRTC Browsers Impl...
WebRTC Standards & Implementation Q&A - The Internals of WebRTC Browsers Impl...WebRTC Standards & Implementation Q&A - The Internals of WebRTC Browsers Impl...
WebRTC Standards & Implementation Q&A - The Internals of WebRTC Browsers Impl...
 
Interop 2017 - Managing Containers in Production
Interop 2017 - Managing Containers in ProductionInterop 2017 - Managing Containers in Production
Interop 2017 - Managing Containers in Production
 
사물 인터넷을 위한 AWS FreeRTOS 소개
사물 인터넷을 위한 AWS FreeRTOS 소개사물 인터넷을 위한 AWS FreeRTOS 소개
사물 인터넷을 위한 AWS FreeRTOS 소개
 
Polyakov how i will break your enterprise. esb security and more
Polyakov   how i will break your enterprise. esb security and morePolyakov   how i will break your enterprise. esb security and more
Polyakov how i will break your enterprise. esb security and more
 
사물 인터넷을 위한 AWS FreeRTOS 소개 - 트랙1, Community Day 2018 re:Invent 특집
사물 인터넷을 위한 AWS FreeRTOS 소개 - 트랙1, Community Day 2018 re:Invent 특집사물 인터넷을 위한 AWS FreeRTOS 소개 - 트랙1, Community Day 2018 re:Invent 특집
사물 인터넷을 위한 AWS FreeRTOS 소개 - 트랙1, Community Day 2018 re:Invent 특집
 
Presto @ Zalando - Big Data Tech Warsaw 2020
Presto @ Zalando - Big Data Tech Warsaw 2020Presto @ Zalando - Big Data Tech Warsaw 2020
Presto @ Zalando - Big Data Tech Warsaw 2020
 
HostBridge Virtual User Group December 2020
HostBridge Virtual User Group December 2020HostBridge Virtual User Group December 2020
HostBridge Virtual User Group December 2020
 
Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux – Unified IoT Pl...
Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux –  Unified IoT Pl...Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux –  Unified IoT Pl...
Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux – Unified IoT Pl...
 
A pure Java MQTT Stack for IoT
A pure Java MQTT Stack for IoTA pure Java MQTT Stack for IoT
A pure Java MQTT Stack for IoT
 
Open Source Software, Distributed Systems, Database as a Cloud Service
Open Source Software, Distributed Systems, Database as a Cloud ServiceOpen Source Software, Distributed Systems, Database as a Cloud Service
Open Source Software, Distributed Systems, Database as a Cloud Service
 
API 102: Programming with Meraki APIs
API 102: Programming with Meraki APIsAPI 102: Programming with Meraki APIs
API 102: Programming with Meraki APIs
 
Lessons learned while going Serverless in production
Lessons learned while going Serverless in productionLessons learned while going Serverless in production
Lessons learned while going Serverless in production
 
.NET Everywhere and for Everyone
.NET Everywhere and for Everyone.NET Everywhere and for Everyone
.NET Everywhere and for Everyone
 
DevOpsCon 2015 - DevOps in Mobile Games
DevOpsCon 2015 - DevOps in Mobile GamesDevOpsCon 2015 - DevOps in Mobile Games
DevOpsCon 2015 - DevOps in Mobile Games
 
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
Cloudsolutionday 2016: DevOps workflow with Docker on AWSCloudsolutionday 2016: DevOps workflow with Docker on AWS
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
 
Microservices
MicroservicesMicroservices
Microservices
 
Afs manager
Afs managerAfs manager
Afs manager
 
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3
 
Processes and Telecom APIs
Processes and Telecom APIsProcesses and Telecom APIs
Processes and Telecom APIs
 
ProSBC on Azure - A Tutorial
ProSBC on Azure - A TutorialProSBC on Azure - A Tutorial
ProSBC on Azure - A Tutorial
 

Dernier

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Dernier (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 

MongoDB Interface for Asterisk PBX

  • 1. techio.com MongoDB Interface for Asterisk PBX Sokratis Galiatsis, Co-Founder TechIO @sokratisg | sokratis@techio.com
  • 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
  • 3. techio.com Integration Options • unixODBC • MySQL • Postgres • SNMP • LDAP • SQLite • Asterisk Gateway Interface (AGI) • mongoDB
  • 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! ;-)
  • 9. techio.com Resources • app_mongodb: github.com/TechIOltd/app_mongodb • mongo-c-driver: github.com/mongodb/mongo-c-driver • cdr_mongodb: github.com/FlaPer87/cdr_mongodb • mongoDB C driver tutorial: api.mongodb.org/c/current/tutorial.html • mongoDB licensing: www.mongodb.org/about/licensing • Asterisk PBX sources & documentation: www.asterisk.org