Skip to content

Repository files navigation

Gem VersionBuild StatusDependency StatusCode ClimateCoverage StatusInline docs

Adhearsion

Adhearsion is an open-source voice application development framework. Adhearsion users write applications atop the framework with Ruby and call into their code.

Adhearsion rests above a lower-level telephony platform, for example Asterisk, FreeSWITCH or Voxeo PRISM, and provides a framework for integrating with various resources, such as SQL, LDAP and XMPP (Jabber).

Features

  • Simple Ruby code
  • Flexible CallControllers to handle calls
  • High-level media handling constructs
  • Simple interaction between calls
  • Self-documenting configuration engine
  • Support for plugins and other code reuse
  • Integration with databases, web APIs, etc
  • Event monitoring, async communication

Requirements

  • Ruby 2.2.0+ or JRuby 9.0.0.0+
  • ruby_speech dependencies
  • A VoIP platform:
    • Asterisk 11+
    • FreeSWITCH 1.4+
  • An interest in building cool new things

Ruby 1.9 is no longer supported by Adhearsion or the Ruby core team. You should upgrade to Ruby 2.2 as a matter of urgency in order to continue receiving security fixes.

Install

gem install adhearsion

Examples

An Adhearsion application can be as simple as this:

answersay'Hello, and thank you for your call. We will put you through to the front desk now...'dial'tel:+18005550199'hangup

For more examples, check out the website.

Documentation

Visit Adhearsion's website for code examples and more information about the project. Also checkout the Adhearsion wiki on Github for community documentation.

If you're having trouble, you may want to try asking your question on the IRC channel (#adhearsion on irc.freenode.net), mailing list or, if you've found a bug, report it on the bug tracker.

Related Projects

These Open Source projects are also maintained by members of the Adhearsion team and may be useful when developing Adhearsion apps:

  • Telephony-Dev-Box is a system for creating virtual machines that will preconfigure Adhearsion, Asterisk, FreeSWITCH and PRISM together. Just add a SIP client and start calling your app!
  • SippyCup makes generating SIPp profiles and RTP media easy. Useful for load testing your apps and telephony infrastructure.

Authors

Core team:

Contributors: https://github.com/adhearsion/adhearsion/contributors

Original author: Jay Phillips

Contributions

Adhearsion has a set of contribution guidelines which help to smooth the contribution process. There is a pre-commit hook that runs encoding checks available in pre-commit. To use it, please copy it to .git/hooks/pre-commit and make it executable.

Copyright

Copyright (c) 2011-2014 Adhearsion Foundation Inc. MIT LICENSE (see LICENSE for details).

About

A Ruby framework for building telephony applications

Resources

Contributing

Stars

2 stars

Watchers

11 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
GitHub - Invoca/adhearsion: A Ruby framework for building telephony applications · GitHub
Skip to content

Repository files navigation

Gem VersionBuild StatusDependency StatusCode ClimateCoverage StatusInline docs

Adhearsion

Adhearsion is an open-source voice application development framework. Adhearsion users write applications atop the framework with Ruby and call into their code.

Adhearsion rests above a lower-level telephony platform, for example Asterisk, FreeSWITCH or Voxeo PRISM, and provides a framework for integrating with various resources, such as SQL, LDAP and XMPP (Jabber).

Features

  • Simple Ruby code
  • Flexible CallControllers to handle calls
  • High-level media handling constructs
  • Simple interaction between calls
  • Self-documenting configuration engine
  • Support for plugins and other code reuse
  • Integration with databases, web APIs, etc
  • Event monitoring, async communication

Requirements

  • Ruby 2.2.0+ or JRuby 9.0.0.0+
  • ruby_speech dependencies
  • A VoIP platform:
    • Asterisk 11+
    • FreeSWITCH 1.4+
  • An interest in building cool new things

Ruby 1.9 is no longer supported by Adhearsion or the Ruby core team. You should upgrade to Ruby 2.2 as a matter of urgency in order to continue receiving security fixes.

Install

gem install adhearsion

Examples

An Adhearsion application can be as simple as this:

answersay'Hello, and thank you for your call. We will put you through to the front desk now...'dial'tel:+18005550199'hangup

For more examples, check out the website.

Documentation

Visit Adhearsion's website for code examples and more information about the project. Also checkout the Adhearsion wiki on Github for community documentation.

If you're having trouble, you may want to try asking your question on the IRC channel (#adhearsion on irc.freenode.net), mailing list or, if you've found a bug, report it on the bug tracker.

Related Projects

These Open Source projects are also maintained by members of the Adhearsion team and may be useful when developing Adhearsion apps:

  • Telephony-Dev-Box is a system for creating virtual machines that will preconfigure Adhearsion, Asterisk, FreeSWITCH and PRISM together. Just add a SIP client and start calling your app!
  • SippyCup makes generating SIPp profiles and RTP media easy. Useful for load testing your apps and telephony infrastructure.

Authors

Core team:

Contributors: https://github.com/adhearsion/adhearsion/contributors

Original author: Jay Phillips

Contributions

Adhearsion has a set of contribution guidelines which help to smooth the contribution process. There is a pre-commit hook that runs encoding checks available in pre-commit. To use it, please copy it to .git/hooks/pre-commit and make it executable.

Copyright

Copyright (c) 2011-2014 Adhearsion Foundation Inc. MIT LICENSE (see LICENSE for details).

About

A Ruby framework for building telephony applications

Resources

Contributing

Stars

2 stars

Watchers

11 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - Invoca/adhearsion: A Ruby framework for building telephony applications · GitHub
Skip to content

Repository files navigation

Gem VersionBuild StatusDependency StatusCode ClimateCoverage StatusInline docs

Adhearsion

Adhearsion is an open-source voice application development framework. Adhearsion users write applications atop the framework with Ruby and call into their code.

Adhearsion rests above a lower-level telephony platform, for example Asterisk, FreeSWITCH or Voxeo PRISM, and provides a framework for integrating with various resources, such as SQL, LDAP and XMPP (Jabber).

Features

  • Simple Ruby code
  • Flexible CallControllers to handle calls
  • High-level media handling constructs
  • Simple interaction between calls
  • Self-documenting configuration engine
  • Support for plugins and other code reuse
  • Integration with databases, web APIs, etc
  • Event monitoring, async communication

Requirements

  • Ruby 2.2.0+ or JRuby 9.0.0.0+
  • ruby_speech dependencies
  • A VoIP platform:
    • Asterisk 11+
    • FreeSWITCH 1.4+
  • An interest in building cool new things

Ruby 1.9 is no longer supported by Adhearsion or the Ruby core team. You should upgrade to Ruby 2.2 as a matter of urgency in order to continue receiving security fixes.

Install

gem install adhearsion

Examples

An Adhearsion application can be as simple as this:

answersay'Hello, and thank you for your call. We will put you through to the front desk now...'dial'tel:+18005550199'hangup

For more examples, check out the website.

Documentation

Visit Adhearsion's website for code examples and more information about the project. Also checkout the Adhearsion wiki on Github for community documentation.

If you're having trouble, you may want to try asking your question on the IRC channel (#adhearsion on irc.freenode.net), mailing list or, if you've found a bug, report it on the bug tracker.

Related Projects

These Open Source projects are also maintained by members of the Adhearsion team and may be useful when developing Adhearsion apps:

  • Telephony-Dev-Box is a system for creating virtual machines that will preconfigure Adhearsion, Asterisk, FreeSWITCH and PRISM together. Just add a SIP client and start calling your app!
  • SippyCup makes generating SIPp profiles and RTP media easy. Useful for load testing your apps and telephony infrastructure.

Authors

Core team:

Contributors: https://github.com/adhearsion/adhearsion/contributors

Original author: Jay Phillips

Contributions

Adhearsion has a set of contribution guidelines which help to smooth the contribution process. There is a pre-commit hook that runs encoding checks available in pre-commit. To use it, please copy it to .git/hooks/pre-commit and make it executable.

Copyright

Copyright (c) 2011-2014 Adhearsion Foundation Inc. MIT LICENSE (see LICENSE for details).

About

A Ruby framework for building telephony applications

Resources

Contributing

Stars

2 stars

Watchers

11 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - Invoca/adhearsion: A Ruby framework for building telephony applications · GitHub
Skip to content

Repository files navigation

Gem VersionBuild StatusDependency StatusCode ClimateCoverage StatusInline docs

Adhearsion

Adhearsion is an open-source voice application development framework. Adhearsion users write applications atop the framework with Ruby and call into their code.

Adhearsion rests above a lower-level telephony platform, for example Asterisk, FreeSWITCH or Voxeo PRISM, and provides a framework for integrating with various resources, such as SQL, LDAP and XMPP (Jabber).

Features

  • Simple Ruby code
  • Flexible CallControllers to handle calls
  • High-level media handling constructs
  • Simple interaction between calls
  • Self-documenting configuration engine
  • Support for plugins and other code reuse
  • Integration with databases, web APIs, etc
  • Event monitoring, async communication

Requirements

  • Ruby 2.2.0+ or JRuby 9.0.0.0+
  • ruby_speech dependencies
  • A VoIP platform:
    • Asterisk 11+
    • FreeSWITCH 1.4+
  • An interest in building cool new things

Ruby 1.9 is no longer supported by Adhearsion or the Ruby core team. You should upgrade to Ruby 2.2 as a matter of urgency in order to continue receiving security fixes.

Install

gem install adhearsion

Examples

An Adhearsion application can be as simple as this:

answersay'Hello, and thank you for your call. We will put you through to the front desk now...'dial'tel:+18005550199'hangup

For more examples, check out the website.

Documentation

Visit Adhearsion's website for code examples and more information about the project. Also checkout the Adhearsion wiki on Github for community documentation.

If you're having trouble, you may want to try asking your question on the IRC channel (#adhearsion on irc.freenode.net), mailing list or, if you've found a bug, report it on the bug tracker.

Related Projects

These Open Source projects are also maintained by members of the Adhearsion team and may be useful when developing Adhearsion apps:

  • Telephony-Dev-Box is a system for creating virtual machines that will preconfigure Adhearsion, Asterisk, FreeSWITCH and PRISM together. Just add a SIP client and start calling your app!
  • SippyCup makes generating SIPp profiles and RTP media easy. Useful for load testing your apps and telephony infrastructure.

Authors

Core team:

Contributors: https://github.com/adhearsion/adhearsion/contributors

Original author: Jay Phillips

Contributions

Adhearsion has a set of contribution guidelines which help to smooth the contribution process. There is a pre-commit hook that runs encoding checks available in pre-commit. To use it, please copy it to .git/hooks/pre-commit and make it executable.

Copyright

Copyright (c) 2011-2014 Adhearsion Foundation Inc. MIT LICENSE (see LICENSE for details).

About

A Ruby framework for building telephony applications

Resources

Contributing

Stars

2 stars

Watchers

11 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' GitHub - Invoca/adhearsion: A Ruby framework for building telephony applications · GitHub
Skip to content

Repository files navigation

Gem VersionBuild StatusDependency StatusCode ClimateCoverage StatusInline docs

Adhearsion

Adhearsion is an open-source voice application development framework. Adhearsion users write applications atop the framework with Ruby and call into their code.

Adhearsion rests above a lower-level telephony platform, for example Asterisk, FreeSWITCH or Voxeo PRISM, and provides a framework for integrating with various resources, such as SQL, LDAP and XMPP (Jabber).

Features

  • Simple Ruby code
  • Flexible CallControllers to handle calls
  • High-level media handling constructs
  • Simple interaction between calls
  • Self-documenting configuration engine
  • Support for plugins and other code reuse
  • Integration with databases, web APIs, etc
  • Event monitoring, async communication

Requirements

  • Ruby 2.2.0+ or JRuby 9.0.0.0+
  • ruby_speech dependencies
  • A VoIP platform:
    • Asterisk 11+
    • FreeSWITCH 1.4+
  • An interest in building cool new things

Ruby 1.9 is no longer supported by Adhearsion or the Ruby core team. You should upgrade to Ruby 2.2 as a matter of urgency in order to continue receiving security fixes.

Install

gem install adhearsion

Examples

An Adhearsion application can be as simple as this:

answersay'Hello, and thank you for your call. We will put you through to the front desk now...'dial'tel:+18005550199'hangup

For more examples, check out the website.

Documentation

Visit Adhearsion's website for code examples and more information about the project. Also checkout the Adhearsion wiki on Github for community documentation.

If you're having trouble, you may want to try asking your question on the IRC channel (#adhearsion on irc.freenode.net), mailing list or, if you've found a bug, report it on the bug tracker.

Related Projects

These Open Source projects are also maintained by members of the Adhearsion team and may be useful when developing Adhearsion apps:

  • Telephony-Dev-Box is a system for creating virtual machines that will preconfigure Adhearsion, Asterisk, FreeSWITCH and PRISM together. Just add a SIP client and start calling your app!
  • SippyCup makes generating SIPp profiles and RTP media easy. Useful for load testing your apps and telephony infrastructure.

Authors

Core team:

Contributors: https://github.com/adhearsion/adhearsion/contributors

Original author: Jay Phillips

Contributions

Adhearsion has a set of contribution guidelines which help to smooth the contribution process. There is a pre-commit hook that runs encoding checks available in pre-commit. To use it, please copy it to .git/hooks/pre-commit and make it executable.

Copyright

Copyright (c) 2011-2014 Adhearsion Foundation Inc. MIT LICENSE (see LICENSE for details).

About

A Ruby framework for building telephony applications

Resources

Contributing

Stars

2 stars

Watchers

11 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - Invoca/adhearsion: A Ruby framework for building telephony applications · GitHub
Skip to content

Repository files navigation

Gem VersionBuild StatusDependency StatusCode ClimateCoverage StatusInline docs

Adhearsion

Adhearsion is an open-source voice application development framework. Adhearsion users write applications atop the framework with Ruby and call into their code.

Adhearsion rests above a lower-level telephony platform, for example Asterisk, FreeSWITCH or Voxeo PRISM, and provides a framework for integrating with various resources, such as SQL, LDAP and XMPP (Jabber).

Features

  • Simple Ruby code
  • Flexible CallControllers to handle calls
  • High-level media handling constructs
  • Simple interaction between calls
  • Self-documenting configuration engine
  • Support for plugins and other code reuse
  • Integration with databases, web APIs, etc
  • Event monitoring, async communication

Requirements

  • Ruby 2.2.0+ or JRuby 9.0.0.0+
  • ruby_speech dependencies
  • A VoIP platform:
    • Asterisk 11+
    • FreeSWITCH 1.4+
  • An interest in building cool new things

Ruby 1.9 is no longer supported by Adhearsion or the Ruby core team. You should upgrade to Ruby 2.2 as a matter of urgency in order to continue receiving security fixes.

Install

gem install adhearsion

Examples

An Adhearsion application can be as simple as this:

answersay'Hello, and thank you for your call. We will put you through to the front desk now...'dial'tel:+18005550199'hangup

For more examples, check out the website.

Documentation

Visit Adhearsion's website for code examples and more information about the project. Also checkout the Adhearsion wiki on Github for community documentation.

If you're having trouble, you may want to try asking your question on the IRC channel (#adhearsion on irc.freenode.net), mailing list or, if you've found a bug, report it on the bug tracker.

Related Projects

These Open Source projects are also maintained by members of the Adhearsion team and may be useful when developing Adhearsion apps:

  • Telephony-Dev-Box is a system for creating virtual machines that will preconfigure Adhearsion, Asterisk, FreeSWITCH and PRISM together. Just add a SIP client and start calling your app!
  • SippyCup makes generating SIPp profiles and RTP media easy. Useful for load testing your apps and telephony infrastructure.

Authors

Core team:

Contributors: https://github.com/adhearsion/adhearsion/contributors

Original author: Jay Phillips

Contributions

Adhearsion has a set of contribution guidelines which help to smooth the contribution process. There is a pre-commit hook that runs encoding checks available in pre-commit. To use it, please copy it to .git/hooks/pre-commit and make it executable.

Copyright

Copyright (c) 2011-2014 Adhearsion Foundation Inc. MIT LICENSE (see LICENSE for details).

About

A Ruby framework for building telephony applications

Resources

Contributing

Stars

2 stars

Watchers

11 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - Invoca/adhearsion: A Ruby framework for building telephony applications · GitHub
Skip to content

Repository files navigation

Gem VersionBuild StatusDependency StatusCode ClimateCoverage StatusInline docs

Adhearsion

Adhearsion is an open-source voice application development framework. Adhearsion users write applications atop the framework with Ruby and call into their code.

Adhearsion rests above a lower-level telephony platform, for example Asterisk, FreeSWITCH or Voxeo PRISM, and provides a framework for integrating with various resources, such as SQL, LDAP and XMPP (Jabber).

Features

  • Simple Ruby code
  • Flexible CallControllers to handle calls
  • High-level media handling constructs
  • Simple interaction between calls
  • Self-documenting configuration engine
  • Support for plugins and other code reuse
  • Integration with databases, web APIs, etc
  • Event monitoring, async communication

Requirements

  • Ruby 2.2.0+ or JRuby 9.0.0.0+
  • ruby_speech dependencies
  • A VoIP platform:
    • Asterisk 11+
    • FreeSWITCH 1.4+
  • An interest in building cool new things

Ruby 1.9 is no longer supported by Adhearsion or the Ruby core team. You should upgrade to Ruby 2.2 as a matter of urgency in order to continue receiving security fixes.

Install

gem install adhearsion

Examples

An Adhearsion application can be as simple as this:

answersay'Hello, and thank you for your call. We will put you through to the front desk now...'dial'tel:+18005550199'hangup

For more examples, check out the website.

Documentation

Visit Adhearsion's website for code examples and more information about the project. Also checkout the Adhearsion wiki on Github for community documentation.

If you're having trouble, you may want to try asking your question on the IRC channel (#adhearsion on irc.freenode.net), mailing list or, if you've found a bug, report it on the bug tracker.

Related Projects

These Open Source projects are also maintained by members of the Adhearsion team and may be useful when developing Adhearsion apps:

  • Telephony-Dev-Box is a system for creating virtual machines that will preconfigure Adhearsion, Asterisk, FreeSWITCH and PRISM together. Just add a SIP client and start calling your app!
  • SippyCup makes generating SIPp profiles and RTP media easy. Useful for load testing your apps and telephony infrastructure.

Authors

Core team:

Contributors: https://github.com/adhearsion/adhearsion/contributors

Original author: Jay Phillips

Contributions

Adhearsion has a set of contribution guidelines which help to smooth the contribution process. There is a pre-commit hook that runs encoding checks available in pre-commit. To use it, please copy it to .git/hooks/pre-commit and make it executable.

Copyright

Copyright (c) 2011-2014 Adhearsion Foundation Inc. MIT LICENSE (see LICENSE for details).

About

A Ruby framework for building telephony applications

Resources

Contributing

Stars

2 stars

Watchers

11 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); GitHub - Invoca/adhearsion: A Ruby framework for building telephony applications · GitHub
Skip to content

Repository files navigation

Gem VersionBuild StatusDependency StatusCode ClimateCoverage StatusInline docs

Adhearsion

Adhearsion is an open-source voice application development framework. Adhearsion users write applications atop the framework with Ruby and call into their code.

Adhearsion rests above a lower-level telephony platform, for example Asterisk, FreeSWITCH or Voxeo PRISM, and provides a framework for integrating with various resources, such as SQL, LDAP and XMPP (Jabber).

Features

  • Simple Ruby code
  • Flexible CallControllers to handle calls
  • High-level media handling constructs
  • Simple interaction between calls
  • Self-documenting configuration engine
  • Support for plugins and other code reuse
  • Integration with databases, web APIs, etc
  • Event monitoring, async communication

Requirements

  • Ruby 2.2.0+ or JRuby 9.0.0.0+
  • ruby_speech dependencies
  • A VoIP platform:
    • Asterisk 11+
    • FreeSWITCH 1.4+
  • An interest in building cool new things

Ruby 1.9 is no longer supported by Adhearsion or the Ruby core team. You should upgrade to Ruby 2.2 as a matter of urgency in order to continue receiving security fixes.

Install

gem install adhearsion

Examples

An Adhearsion application can be as simple as this:

answersay'Hello, and thank you for your call. We will put you through to the front desk now...'dial'tel:+18005550199'hangup

For more examples, check out the website.

Documentation

Visit Adhearsion's website for code examples and more information about the project. Also checkout the Adhearsion wiki on Github for community documentation.

If you're having trouble, you may want to try asking your question on the IRC channel (#adhearsion on irc.freenode.net), mailing list or, if you've found a bug, report it on the bug tracker.

Related Projects

These Open Source projects are also maintained by members of the Adhearsion team and may be useful when developing Adhearsion apps:

  • Telephony-Dev-Box is a system for creating virtual machines that will preconfigure Adhearsion, Asterisk, FreeSWITCH and PRISM together. Just add a SIP client and start calling your app!
  • SippyCup makes generating SIPp profiles and RTP media easy. Useful for load testing your apps and telephony infrastructure.

Authors

Core team:

Contributors: https://github.com/adhearsion/adhearsion/contributors

Original author: Jay Phillips

Contributions

Adhearsion has a set of contribution guidelines which help to smooth the contribution process. There is a pre-commit hook that runs encoding checks available in pre-commit. To use it, please copy it to .git/hooks/pre-commit and make it executable.

Copyright

Copyright (c) 2011-2014 Adhearsion Foundation Inc. MIT LICENSE (see LICENSE for details).

About

A Ruby framework for building telephony applications

Resources

Contributing

Stars

2 stars

Watchers

11 watching

Forks

Releases

Packages

Used by

Contributors

Languages