SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

eBPF maps 101
eBPF maps 101eBPF maps 101
eBPF maps 101
 
Cilium - Network security for microservices
Cilium - Network security for microservicesCilium - Network security for microservices
Cilium - Network security for microservices
 
LF_APIStrat17_Creating Communication Applications using the Asterisk RESTFul ...
LF_APIStrat17_Creating Communication Applications using the Asterisk RESTFul ...LF_APIStrat17_Creating Communication Applications using the Asterisk RESTFul ...
LF_APIStrat17_Creating Communication Applications using the Asterisk RESTFul ...
 
Using Vault to decouple MySQL Secrets
Using Vault to decouple MySQL SecretsUsing Vault to decouple MySQL Secrets
Using Vault to decouple MySQL Secrets
 
ARI and AGI, a powerful combination
ARI and AGI, a powerful combinationARI and AGI, a powerful combination
ARI and AGI, a powerful combination
 
CNIT 141: 5. Stream Ciphers
CNIT 141: 5. Stream CiphersCNIT 141: 5. Stream Ciphers
CNIT 141: 5. Stream Ciphers
 
Sipwise rtpengine
Sipwise rtpengineSipwise rtpengine
Sipwise rtpengine
 
Asterisk VN language
Asterisk VN languageAsterisk VN language
Asterisk VN language
 
AES KEY EXPANSION .pptx
AES KEY EXPANSION .pptxAES KEY EXPANSION .pptx
AES KEY EXPANSION .pptx
 
Cilium + Istio with Gloo Mesh
Cilium + Istio with Gloo MeshCilium + Istio with Gloo Mesh
Cilium + Istio with Gloo Mesh
 
셸 스크립트를 이용한 클라우드 시스템 운영
셸 스크립트를 이용한 클라우드 시스템 운영셸 스크립트를 이용한 클라우드 시스템 운영
셸 스크립트를 이용한 클라우드 시스템 운영
 
S13. sip trunk to trunk 2015 1002
S13. sip trunk to trunk 2015 1002S13. sip trunk to trunk 2015 1002
S13. sip trunk to trunk 2015 1002
 
WAF 101
WAF 101WAF 101
WAF 101
 
Cryptography for Absolute Beginners (May 2019)
Cryptography for Absolute Beginners (May 2019)Cryptography for Absolute Beginners (May 2019)
Cryptography for Absolute Beginners (May 2019)
 
Metasploit ile Android Telefonu Hackleme
Metasploit ile Android Telefonu HacklemeMetasploit ile Android Telefonu Hackleme
Metasploit ile Android Telefonu Hackleme
 
Using ARI and AGI to Connect Asterisk Instances
Using ARI and AGI to Connect Asterisk Instances Using ARI and AGI to Connect Asterisk Instances
Using ARI and AGI to Connect Asterisk Instances
 
Using PGP for securing the e-mail
Using PGP for securing the e-mailUsing PGP for securing the e-mail
Using PGP for securing the e-mail
 
Kamailio :: A Quick Introduction
Kamailio :: A Quick IntroductionKamailio :: A Quick Introduction
Kamailio :: A Quick Introduction
 
Replacing iptables with eBPF in Kubernetes with Cilium
Replacing iptables with eBPF in Kubernetes with CiliumReplacing iptables with eBPF in Kubernetes with Cilium
Replacing iptables with eBPF in Kubernetes with Cilium
 
18CS2005 Cryptography and Network Security
18CS2005 Cryptography and Network Security18CS2005 Cryptography and Network Security
18CS2005 Cryptography and Network Security
 

Destaque

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
 

Destaque (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
 

Semelhante a 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
 

Semelhante a 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
 

Último

Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
UK Journal
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
panagenda
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
UXDXConf
 

Último (20)

How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty Secure
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & Ireland
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 

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