SlideShare a Scribd company logo
1 of 11
Free Software/Open Source Telephony Summit 2005
Developing GNU Bayonne
* What is GNU Bayonne and how is it used?
* How do you start large and complex FS/OS projects?
* History and design elements of Bayonne architecture
* What we learned about subdividing projects from Bayonne
* Where we are today in Bayonne
* Future plans for Bayonne development
Free Software/Open Source Telephony Summit 2005
What is Bayonne & How is it used?
* Free software for computer telephony
* Bayonne as a computer telephony toolkit
* Bayonne as a script driven IVR
* Embedded adjuncts and Legacy Integration.
* High port count applications; IDT Debit
* IVR as a network service; voice broadcasting
Port density
High Cap.
Bayonne
Embedded.
Bayonne
Community
? Yate ?
Free Software/Open Source Telephony Summit 2005
From Concept to Production Release
1991 Year of Linux Kernel,
first ACS design, under QNX...
1997 DBS Server; CTI as Free
Software! QNX had no future...
1999 year of OpenH323 and
also ACS; C++ everywhere!
2001 Transition to Bayonne
and mature libraries
* Clear articulated design
* Building upon past work
* Why we choose C++
* Scalability & threading
* Logical breakdown of coding
* Why free software licensing & Community?
1995 U.S. Federal Govt telecom
infrastructure goes (gnu/)Linux!
2004 First Telephony Conf!
sip/h323 drivers in Bayonne
Free Software/Open Source Telephony Summit 2005
Hallmarks of Bayonne Design
Why our own traffic engineered scripting language:
* parallelism & scaling to 1000 concurrent ports (and above)
* very tight control of cpu execution
* reduction of heap memory fragmentation
* non-blocking script operations and program execution
* non-blocking reload of application scripts.
Abuse of C++ and other oddities
* pre-linking by exporting process images
* plugins and mapped constructors
* plugins mapped to server image do not need to relocate!
* forced inheritance in scripting and state machine logic.
* Abstraction of telephony hardware
Free Software/Open Source Telephony Summit 2005
Dividing up the puzzle
* Large project as a whole of interest to very small number of people
* Finding parts of a project that have wider interest and spinning those off into
separate packages.
* Separate packages means separate and simplified component debugging.
* Large projects already often depend on other external packages so additional
dependencies that are locally controlled does not add to complexity.
Free Software/Open Source Telephony Summit 2005
The GNU Bayonne components
Current Component Packages:
* GNU Common C++ “2” - core c++ threading, sockets, etc
* GNU ccAudio - c++ audio manipulation
* GNU ccScript - inheritable script engine
* GNU ccRTP - high performance rtp protocol library
Future and Soon-to-be Updated Component Packages:
* GNU ccAudio2 - added standalone uses, fully endian aware!
* GNU ccScript3 - core Bayonne code moved into script engine
and rigorously enforce scripting syntax
* new GNU phrasebook library for localized language voice prompts
Free Software/Open Source Telephony Summit 2005
Where we are today...?
Current development trees:
* Production branch, used worldwide, limited changes over time
* “Stable” Branch; OST Development
* Individual per customer branches
* “testing” Branch for future production releases
Problems in Bayonne today (many not solved in testing branch):
* Too many trees; customer branches are often changes lost
* Lack of rigorous spec for core scripting language itself
* many script side effects and script debugging issues
* Over-engineered and tuned for corner cases only
* Too many hard-coded limits
* Mission creep outside of core IVR functionality
* Driver development model very complex
* Lack of supporting gui ide and other infrastructure projects
Free Software/Open Source Telephony Summit 2005
Immediate development goals underway
Reverse library consolidation of stable and testing branches:
* ccScript3 - externalize Bayonne database & script extensions
* ccaudio2 - externalize most Bayonne audio processing
* phrasebook - externalize Bayonne voice libraries for use by others
Redesign server around self contained IVR engine library:
* standardize state & script extensions rather than per driver
* move most driver state machine code into common base class
* easy external build of telephony driver plugins (fix licensing issues)
* simplify server debug and testing starting with ivr engine library
* Bayonne everywhere! xBSD, Solaris, HP-UX, OSX, even W32?!
Eliminate fixed constants:
* no more 1000 port capacity limit!
* remove odd symbol size restrictions
Free Software/Open Source Telephony Summit 2005
Other possible future development goals
GNU ccScript3 related enhancements:
* all new C++ abuses! Sideway class inheritance
* split of script library so drivers inherit core runtime only
* server can inherit language spec or run VoiceXML framework
* multi-homed scripts used for project oriented ide & exec environment
GNU ccAudio2 related enhancements:
* framework for ogg-vorbis, mpeg audio, and other codecs
Other fun and possible infrastructure projects:
* bayonneide, common infrastructure for other projects
* telephony panel applets for call agents for use with Yate & Bayonne
* gui administration interface, using Yate protocol?
* specific pbx legacy integration servers derived off Bayonne core?
* web based call accounting/billing system for Yate?
Free Software/Open Source Telephony Summit 2005
Some longer term thoughts...
ccScript3
Common C++
Phrasebook
ccAudio2
Bayonne
CTI Server
Drivers
ccRTP/yartp
yass/oh323
Bayonne
XML Server
Bayonne VoIP
script engine
Troll Gateway
Server
Drivers
Other IP
Telephony
Servers
(Yate, etc)
* Bayonne split into
CTI server & VoIP
IVR services
* Legacy drivers
moved to Troll
and maybe yate? softphone
client
Free Software/Open Source Telephony Summit 2005
Additional Resources
HTTP://www.gnu.org/software/bayonne
HTTP://yate.null.ro
HTTP://www.gnue.org
HTTP://www.gnutelephony.org (coming soon)
HTTP://www.gnu.org/software/commoncpp
mailto:dyfet@gnu.org

More Related Content

Recently uploaded

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 MenDelhi Call girls
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
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 MenDelhi Call girls
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
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 slidevu2urc
 
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 interpreternaman860154
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 

Recently uploaded (20)

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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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
 
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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Developing GNU Bayonne

  • 1. Free Software/Open Source Telephony Summit 2005 Developing GNU Bayonne * What is GNU Bayonne and how is it used? * How do you start large and complex FS/OS projects? * History and design elements of Bayonne architecture * What we learned about subdividing projects from Bayonne * Where we are today in Bayonne * Future plans for Bayonne development
  • 2. Free Software/Open Source Telephony Summit 2005 What is Bayonne & How is it used? * Free software for computer telephony * Bayonne as a computer telephony toolkit * Bayonne as a script driven IVR * Embedded adjuncts and Legacy Integration. * High port count applications; IDT Debit * IVR as a network service; voice broadcasting Port density High Cap. Bayonne Embedded. Bayonne Community ? Yate ?
  • 3. Free Software/Open Source Telephony Summit 2005 From Concept to Production Release 1991 Year of Linux Kernel, first ACS design, under QNX... 1997 DBS Server; CTI as Free Software! QNX had no future... 1999 year of OpenH323 and also ACS; C++ everywhere! 2001 Transition to Bayonne and mature libraries * Clear articulated design * Building upon past work * Why we choose C++ * Scalability & threading * Logical breakdown of coding * Why free software licensing & Community? 1995 U.S. Federal Govt telecom infrastructure goes (gnu/)Linux! 2004 First Telephony Conf! sip/h323 drivers in Bayonne
  • 4. Free Software/Open Source Telephony Summit 2005 Hallmarks of Bayonne Design Why our own traffic engineered scripting language: * parallelism & scaling to 1000 concurrent ports (and above) * very tight control of cpu execution * reduction of heap memory fragmentation * non-blocking script operations and program execution * non-blocking reload of application scripts. Abuse of C++ and other oddities * pre-linking by exporting process images * plugins and mapped constructors * plugins mapped to server image do not need to relocate! * forced inheritance in scripting and state machine logic. * Abstraction of telephony hardware
  • 5. Free Software/Open Source Telephony Summit 2005 Dividing up the puzzle * Large project as a whole of interest to very small number of people * Finding parts of a project that have wider interest and spinning those off into separate packages. * Separate packages means separate and simplified component debugging. * Large projects already often depend on other external packages so additional dependencies that are locally controlled does not add to complexity.
  • 6. Free Software/Open Source Telephony Summit 2005 The GNU Bayonne components Current Component Packages: * GNU Common C++ “2” - core c++ threading, sockets, etc * GNU ccAudio - c++ audio manipulation * GNU ccScript - inheritable script engine * GNU ccRTP - high performance rtp protocol library Future and Soon-to-be Updated Component Packages: * GNU ccAudio2 - added standalone uses, fully endian aware! * GNU ccScript3 - core Bayonne code moved into script engine and rigorously enforce scripting syntax * new GNU phrasebook library for localized language voice prompts
  • 7. Free Software/Open Source Telephony Summit 2005 Where we are today...? Current development trees: * Production branch, used worldwide, limited changes over time * “Stable” Branch; OST Development * Individual per customer branches * “testing” Branch for future production releases Problems in Bayonne today (many not solved in testing branch): * Too many trees; customer branches are often changes lost * Lack of rigorous spec for core scripting language itself * many script side effects and script debugging issues * Over-engineered and tuned for corner cases only * Too many hard-coded limits * Mission creep outside of core IVR functionality * Driver development model very complex * Lack of supporting gui ide and other infrastructure projects
  • 8. Free Software/Open Source Telephony Summit 2005 Immediate development goals underway Reverse library consolidation of stable and testing branches: * ccScript3 - externalize Bayonne database & script extensions * ccaudio2 - externalize most Bayonne audio processing * phrasebook - externalize Bayonne voice libraries for use by others Redesign server around self contained IVR engine library: * standardize state & script extensions rather than per driver * move most driver state machine code into common base class * easy external build of telephony driver plugins (fix licensing issues) * simplify server debug and testing starting with ivr engine library * Bayonne everywhere! xBSD, Solaris, HP-UX, OSX, even W32?! Eliminate fixed constants: * no more 1000 port capacity limit! * remove odd symbol size restrictions
  • 9. Free Software/Open Source Telephony Summit 2005 Other possible future development goals GNU ccScript3 related enhancements: * all new C++ abuses! Sideway class inheritance * split of script library so drivers inherit core runtime only * server can inherit language spec or run VoiceXML framework * multi-homed scripts used for project oriented ide & exec environment GNU ccAudio2 related enhancements: * framework for ogg-vorbis, mpeg audio, and other codecs Other fun and possible infrastructure projects: * bayonneide, common infrastructure for other projects * telephony panel applets for call agents for use with Yate & Bayonne * gui administration interface, using Yate protocol? * specific pbx legacy integration servers derived off Bayonne core? * web based call accounting/billing system for Yate?
  • 10. Free Software/Open Source Telephony Summit 2005 Some longer term thoughts... ccScript3 Common C++ Phrasebook ccAudio2 Bayonne CTI Server Drivers ccRTP/yartp yass/oh323 Bayonne XML Server Bayonne VoIP script engine Troll Gateway Server Drivers Other IP Telephony Servers (Yate, etc) * Bayonne split into CTI server & VoIP IVR services * Legacy drivers moved to Troll and maybe yate? softphone client
  • 11. Free Software/Open Source Telephony Summit 2005 Additional Resources HTTP://www.gnu.org/software/bayonne HTTP://yate.null.ro HTTP://www.gnue.org HTTP://www.gnutelephony.org (coming soon) HTTP://www.gnu.org/software/commoncpp mailto:dyfet@gnu.org