Using Asterisk and Kamailio for Reliable, Scalable and Secure Communication S...Fred Posner
Presentation from AsteriskWorld 2017 at ITEXPO. Discussion of how I started with Asterisk and Kamailio as well as how to build Reliability, Scalability, and Security into your telephony platform.
Phpconf 2013 - Agile Telephony Applications with PAMI and PAGIMarcelo Gornstein
This is the talk about PAMI and PAGI, and general telephony applications with PHP and Asterisk for the php conference argentina (phpconfar). The **complete** talk is available in the slides (in english), just download it (see above), and check out the slide notes for the complete text for each slide. Looking forward for your feedback. Enjoy :)
A presentation about combining the powers of the Go language and Asterisk in order to provide fast, reliable and hugely scalable voice applications. A brief introduction about why Go presents a big opportunity for the asterisk community, a primer into developing FastAGI applications, demonstration of the AGI package [1] and a walk through the idioms and challenges of developing in Go. The talk is focused mainly on our experience of porting existing code into Go with the aim to scale our services to larger numbers accompanied with benchmarks and an introduction to some tools [2] we developed to help us test, debug and benchmark AGI applications.
Using Asterisk and Kamailio for Reliable, Scalable and Secure Communication S...Fred Posner
Presentation from AsteriskWorld 2017 at ITEXPO. Discussion of how I started with Asterisk and Kamailio as well as how to build Reliability, Scalability, and Security into your telephony platform.
Phpconf 2013 - Agile Telephony Applications with PAMI and PAGIMarcelo Gornstein
This is the talk about PAMI and PAGI, and general telephony applications with PHP and Asterisk for the php conference argentina (phpconfar). The **complete** talk is available in the slides (in english), just download it (see above), and check out the slide notes for the complete text for each slide. Looking forward for your feedback. Enjoy :)
A presentation about combining the powers of the Go language and Asterisk in order to provide fast, reliable and hugely scalable voice applications. A brief introduction about why Go presents a big opportunity for the asterisk community, a primer into developing FastAGI applications, demonstration of the AGI package [1] and a walk through the idioms and challenges of developing in Go. The talk is focused mainly on our experience of porting existing code into Go with the aim to scale our services to larger numbers accompanied with benchmarks and an introduction to some tools [2] we developed to help us test, debug and benchmark AGI applications.
Cluecon 2015
Use of external controller applications to fetch the next routes and let Kamailio handle the SIP layer.
Example with Node.js external application and evapi+rtjson modules in Kamailio
HTTP Parameter Pollution Vulnerabilities in Web Applications (Black Hat EU 2011)Marco Balduzzi
While input validation vulnerabilities such as XSS and SQL injection have been intensively studied, a new class of injection vulnerabilities called HTTP Parameter Pollution (HPP) has not received as much attention. HPP attacks consist of injecting encoded query string delimiters into other existing parameters. If a web application does not properly sanitize the user input, a malicious user can compromise the logic of the application to perform either client-side or server-side attacks. One consequence of HPP attacks is that the attacker can potentially override existing hard-coded HTTP parameters to modify the behavior of an application, bypass input validation checkpoints, and access and possibly exploit variables that may be out of direct reach.
In the talk we present the first automated system for the detection of HPP vulnerabilities in real web applications. Our approach consists of injecting fuzzed parameters into the web application and a set of tests and heuristics to determine if the pages that are generated contain HPP vulnerabilities. We used this system to conduct a large-scale experiment by testing more than 5,000 popular websites and discovering unknown HPP flaws in many important and well-known sites such as Microsoft, Google, VMWare, Facebook, Symantec, Paypal and others. These sites have been all informed and many of them have acknowledged or fixed the problems. We will explain in details how to efficiently detect HPP bugs and how to prevent this novel class of injection vulnerabilities in future web applications.
Kamailio combined with Asterisk creates and incredibly robust and durable VoIP framework. With scalability and security, adding Kamailio to an asterisk deployment makes sense and saves money.
Kill Your IVR with a Voicebot (ClueCon 2019)Chad Hart
In this talk Chad reviews a project where he helped to prototype a voicebot-based IVR system using Dialogflow. Rather than annoying DTMF menus, a voicebot IVR lets users speak naturally. Chad discussed different voicebot gateway architectures and implementation options.
Performance comparison between different versions of Asterisk and different channels.
Presentation at Astricon 2017
Online Trainings
Complete Asterisk PBX Training Coupon http://bit.ly/2E6U7fP
Understanding and Troubleshooting SIP http://bit.ly/2WZKkzy
VoIP Design Training Coupon http://bit.ly/2tlLFmG
VoIP Hacking Training Coupon http://bit.ly/2X4Pjz7
Quick Start to OpenSIPS Coupon http://bit.ly/2Bt72XJ
Books
Complete Asterisk Training Paperback and Kindle Book https://amzn.to/2tm7TFb
Complete Asterisk Training eBook PDF http://bit.ly/2UUebHG
Building Telephony Systems with OpenSIPS http://bit.ly/2SsUt9a
Treinamento Online
SIP em Profundidade Coupon de Treinamento http://bit.ly/2GpatTq
Asterisk Essencial Coupon de Treinamento http://bit.ly/2BzCjs1
Livros:
Guia e Configuração do Asterisk Paperback e Kindle https://amzn.to/2S2lwmZ
Guia de Configuração do Asterisk eBook PDF http://www.asteriskguide.com
A guide to deploying an initial Docker Swarm mode network and then incorporating Asterisk into that swarm. Commands, a discussion of host mode vs overlay networking, and the basics of a deployable Docker Swarm mode Stack file are all covered.
How can you best develop applications using the Session Initiation Protocol? At this presentation at the Communications Developer Conference on September 16, 2008, Voxeo CTO RJ Auburn explained building blocks used to build voice applications, discussed VoiceXML, CCXML and JSR 289 SIP Servlets and then gave a demonstration of voice mashups with Twitter using first CCXML and then SIP Servlets (in Java).
How to Build Advanced Voice Assistants and ChatbotsCisco DevNet
Learn more about the CodeMotion Voice Machine and Cisco DevNet Chatbot. Understand what a typical bot journey is and where to go to get more information about Cisco Spark and Tropo.
Cluecon 2015
Use of external controller applications to fetch the next routes and let Kamailio handle the SIP layer.
Example with Node.js external application and evapi+rtjson modules in Kamailio
HTTP Parameter Pollution Vulnerabilities in Web Applications (Black Hat EU 2011)Marco Balduzzi
While input validation vulnerabilities such as XSS and SQL injection have been intensively studied, a new class of injection vulnerabilities called HTTP Parameter Pollution (HPP) has not received as much attention. HPP attacks consist of injecting encoded query string delimiters into other existing parameters. If a web application does not properly sanitize the user input, a malicious user can compromise the logic of the application to perform either client-side or server-side attacks. One consequence of HPP attacks is that the attacker can potentially override existing hard-coded HTTP parameters to modify the behavior of an application, bypass input validation checkpoints, and access and possibly exploit variables that may be out of direct reach.
In the talk we present the first automated system for the detection of HPP vulnerabilities in real web applications. Our approach consists of injecting fuzzed parameters into the web application and a set of tests and heuristics to determine if the pages that are generated contain HPP vulnerabilities. We used this system to conduct a large-scale experiment by testing more than 5,000 popular websites and discovering unknown HPP flaws in many important and well-known sites such as Microsoft, Google, VMWare, Facebook, Symantec, Paypal and others. These sites have been all informed and many of them have acknowledged or fixed the problems. We will explain in details how to efficiently detect HPP bugs and how to prevent this novel class of injection vulnerabilities in future web applications.
Kamailio combined with Asterisk creates and incredibly robust and durable VoIP framework. With scalability and security, adding Kamailio to an asterisk deployment makes sense and saves money.
Kill Your IVR with a Voicebot (ClueCon 2019)Chad Hart
In this talk Chad reviews a project where he helped to prototype a voicebot-based IVR system using Dialogflow. Rather than annoying DTMF menus, a voicebot IVR lets users speak naturally. Chad discussed different voicebot gateway architectures and implementation options.
Performance comparison between different versions of Asterisk and different channels.
Presentation at Astricon 2017
Online Trainings
Complete Asterisk PBX Training Coupon http://bit.ly/2E6U7fP
Understanding and Troubleshooting SIP http://bit.ly/2WZKkzy
VoIP Design Training Coupon http://bit.ly/2tlLFmG
VoIP Hacking Training Coupon http://bit.ly/2X4Pjz7
Quick Start to OpenSIPS Coupon http://bit.ly/2Bt72XJ
Books
Complete Asterisk Training Paperback and Kindle Book https://amzn.to/2tm7TFb
Complete Asterisk Training eBook PDF http://bit.ly/2UUebHG
Building Telephony Systems with OpenSIPS http://bit.ly/2SsUt9a
Treinamento Online
SIP em Profundidade Coupon de Treinamento http://bit.ly/2GpatTq
Asterisk Essencial Coupon de Treinamento http://bit.ly/2BzCjs1
Livros:
Guia e Configuração do Asterisk Paperback e Kindle https://amzn.to/2S2lwmZ
Guia de Configuração do Asterisk eBook PDF http://www.asteriskguide.com
A guide to deploying an initial Docker Swarm mode network and then incorporating Asterisk into that swarm. Commands, a discussion of host mode vs overlay networking, and the basics of a deployable Docker Swarm mode Stack file are all covered.
How can you best develop applications using the Session Initiation Protocol? At this presentation at the Communications Developer Conference on September 16, 2008, Voxeo CTO RJ Auburn explained building blocks used to build voice applications, discussed VoiceXML, CCXML and JSR 289 SIP Servlets and then gave a demonstration of voice mashups with Twitter using first CCXML and then SIP Servlets (in Java).
How to Build Advanced Voice Assistants and ChatbotsCisco DevNet
Learn more about the CodeMotion Voice Machine and Cisco DevNet Chatbot. Understand what a typical bot journey is and where to go to get more information about Cisco Spark and Tropo.
Modern Web Security, Lazy but Mindful Like a FoxC4Media
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/2hYU0cd.
Albert Yu presents a few viable, usable and effective defensive techniques that developers have often overlooked. Filmed at qconsf.com.
Albert Yu is currently working as a principal engineer for the Trust Engineering team in Atlassian. He has spent 15 years exposing himself to many different aspects of a security program, including security engineering, R&D, product reviews, code review, penetration test, governance and compliance, risk management, incident response, in large scale environment.
Direct from DevNet@TAG in Milan and Rome in May 2016! Learn about Cisco DevNet, Spark and Tropo APIs any why there's never been a better time to innovate with Cisco.
Adam Polak: Websockety już na stałe zagościły w naszych systemach. Jeżeli gdzieś widzimy frazę “real-time app” to od razu wiemy, że prawdopodobnie mamy do czynienia z tym typem komunikacji. Tym razem, wspólnie przejdziemy przez wszystkie aspekty tworzenia aplikacji czasu rzeczywistego w JS. Będzie o tym jak zacząć, na co zwrócić uwagę oraz w jaki sposób skalować aplikacje tego typu.
Containerizing a REST API and Deploying to KubernetesAshley Roach
Originally presented at GDG Denver on 2017-01-12, this presentation describes how I containerized a swagger-node REST microservice, and how to deploy a container to Kubernetes.
Materials for the Serverless APIs with Apache OpenWhisk session at OSCON on July 19, 2018
https://conferences.oreilly.com/oscon/oscon-or/public/schedule/detail/67393
Ever been frustrated with a conference schedule app that freezes up when everyone opens it right after the first day’s keynotes? Ever played a mobile game that was so popular that its backend couldn’t keep up with real-time multiplayer interaction? If you’re an app developer, chances are that you’re looking for a better mobile backend architecture that can effectively match user demand at the exact moment it’s needed while taking advantage of new per-request cost models promised by serverless technologies.
The Apache OpenWhisk project (supported by IBM, Adobe, Red Hat, and others) provides a polyglot, autoscaling environment for deploying cloud-native applications driven by data, message, and REST API call events. Daniel Krook explains why serverless architectures are great for cloud workloads and when to consider OpenWhisk in particular for your next web, mobile, IoT, bot, or analytics project.
Application security is often an afterthought for developers, as we concentrate on the next shiny new feature for our projects. In this talk, we’ll highlight the importance of application security and explore some simple and practical ways that we as developers can defend our services from intrusion.
We’ll look at how my team at the BBC approached security concerns when creating the new BBC ID applications, and dive into some code examples to explore the best practices for Node.js server security.
Talk originally given at JavaScript North West meetup. https://www.meetup.com/JavaScript-North-West/events/239152184/
The industry is all about Chat bots, Speech synthesis and recognition, Natural Language Processing... In this session, we'll detail how to build advanced interactions in Javascript with Cisco Spark and Tropo. We'll take the example of the Interactive Voice Responder that was setup for the CodeMotion Milan Conference this year. Last part of the session will be interactive so that we can share our various experiences with frameworks and industry gaps.
Is your python application secure? - PyCon Canada - 2015-11-07Frédéric Harper
In today’s world, it's easier than ever to innovate and create great web applications. You release often, but let’s be honest, if you're like most developers out there, you don't spend your days worrying about security. You know it’s important, but you aren’t security savvy. So ask yourself, is your Python application secure? Come learn some of the different ways a hacker (cracker) can attack your code, and some of the best practices out there. In the end, your security is your users’ security.
PyCon Canada 2015 - Is your python application secureIMMUNIO
In today’s world, it's easier than ever to innovate and create great web applications. You release often, but let’s be honest, if you're like most developers out there, you don't spend your days worrying about security. You know it’s important, but you aren’t security savvy. So ask yourself, is your Python application secure? Come learn some of the different ways a hacker (cracker) can attack your code, and some of the best practices out there. In the end, your security is your users’ security.
Serverless applications in Python sounds, strange isn’t? In this talk I’ll explain how to build not only crop images or select data from DynamoDB, but build real application, what kind of troubles are we should expect, how to make decision is your task fit into serverless architecture in Python or may be you should use, general approach. How fast serverless applications written in Python, and more important how to scale it.
WP-CLI is WordPress' standard command line tool today. In this presentation we will see why wp-cli is a very strong tool in our toolstack and how using it can make our life easier.
We are presenting several features that are useful in our every day workflow and we have a look at a world of new automation opportunities wp-cli can provide.
Presented at WordCamp Athens 2019.
Building iot applications with Apache Spark and Apache BahirLuciano Resende
We leave in a connected world where connected devices are becoming part of our day to day and are providing invaluable streams of data. In this talk, we will introduce you to Apache Bahir and some of its IoT connectors available for Apache Spark. We will also go over the details on how to build, test and deploy an IoT application for Apache Spark using the MQTT data source for the new Apache Spark Structure Streaming functionality.
Similar to Getting a live_transcript_of_your_call_using_the_ari (20)
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
Getting a live_transcript_of_your_call_using_the_ari
1. GETTING A LIVE TRANSCRIPT
OF YOUR CALL
PASCAL CADOTTE MICHAUD | CORE DEVELOPER
ASTRICON, ATLANTA, OCT. 2019
2. WHO AM I?
OPEN SOURCE ENTHUSIAST
PASCAL CADOTTE MICHAUD, CORE DEVELOPER @ WAZO
10+ YEARS IN DEVELOPMENT
PROGRAMMING SOFTWARES USING ASTERISK FOR ALMOST 10 YEARS USING
● AMI
● DIALPLAN
● AGI
● ARI AND STASIS APPLICATIONS
@PCADOTTE @PC-M
3. WAZO PLATFORM
PROJECT MISSION
LEVERAGE THE BEST OPEN SOURCE COMPONENTS TO
TRANSFORM THE WAY WE BUILD IP TELECOM
INFRASTRUCTURE AND CREATE COMMUNICATION SERVICES
4. WHY WOULD YOU WANT TO STREAM THE AUDIO OUT OF ASTERISK
5. INTERESTING USES CASES
WHY WOULD I STREAM SOUNDS OUT OF ASTERISK?
● ADDING SUBTITLES TO A CALL
● TRANSLATIONS
● DETECTING CUSTOMER FEELING
● CALL PRIORITIZATION
● FRAUD DETECTION
● INDEXATION
● CALL ROUTING IVR
http://www.wazo-platform.org/blog/solving-the-emergency-call-prioritization-issue-with-programmable-telecom
6. TIMELINE
AUGUST 2018
AUDIO SOCKET
OCTOBER 2018
ASTRIDEVCON
JANUARY 2019
WAZO PARIS HACKATHON
RES_ARI_STREAM
JULY 2019
ASTRICON CFP
OCTOBER 2019
ASTERISK 16.6.0 WITH
EXTERNALMEDIA
OUR JOURNEY
7. AUDIO SOCKET
BY SEÁN C. MCCORD
“AUDIOSOCKET IS A SIMPLE TCP-BASED PROTOCOL FOR SENDING AND
RECEIVING REALTIME AUDIO STREAMS.
THERE EXISTS A PROTOCOL DEFINITION, A GO LIBRARY, AND AN ASTERISK
APPLICATION.”
VERY SIMPLE PROTOCOL USING AN ASTERISK DIALPLAN APPLICATION.
SEE SEÁN’S PRESENTATION TOMORROW AT 10:30 FOR MORE INTERESTING
DETAILS.
https://wiki.asterisk.org/wiki/display/AST/AudioSocket
8. A FIRST WORKING IMPLEMENTATION
RES_ARI_STREAM
RES_ARI_STREAM IS A MODULE
DEVELOPED AS A HACKATHON
PROJECT TO GET A GOOD FEEL OF THE
PROBLEM.
IT USES THE ARI WEBSOCKET WITH
THE SUB-PROTOCOL
“STREAM-CHANNEL”.
9. HOW DOES IT WORK
RES_ARI_STREAM
1. ON LOAD ADDS A SUB-PROTOCOL TO THE WEBSOCKET
2. ON SUBSCRIPTION A HOOK ON RECEIVED FRAMES IS
ADDED
3. ON VOICE FRAME THE VOICE IS TRANSCODED TO SLIN16
4. THEN THE FRAMES ARE WRITTEN TO THE SUBSCRIBED
WEBSOCKET
https://github.com/sboily/wazo-hackathon-asterisk-stream-module
10. A VERY BASIC EXAMPLE
WRITING THE AUDIO FRAMES TO A FILE
import websocket
import sys
with open("out.wav", "wb") as f:
ws = websocket.WebSocketApp(
"ws://localhost:5039/ws",
on_message=lambda ws, msg: out.write(msg),
on_error=lambda ws, error: print(error),
on_close=lambda ws: print(“### closed ###”),
subprotocols=["stream-channel"],
header=[“Channel-ID: “ + sys.argv[1]],
)
ws.run_forever()
11. A VERY SIMPLE EXAMPLE
USAGE
RECORDING THE AUDIO TO A FILE
LISTENING TO YOUR RECORDING
play -t raw -b 16 --endian little -c 1 -e signed-integer -r 16000 out.wav
python3 record-channel-id.py “<my-channel>”
12. ASTERISK IMPLEMENTATION IN ASTERISK 16.6.0
POST /channels/externalmedia
1. CREATE AN EXTERNAL MEDIA CHANNEL WITH AN HOST AND PORT
2. ASTERISK WILL SEND RTP TO THE HOST AND PORT
3. ADD THE EXTERNAL MEDIA CHANNEL TO THE BRIDGE YOU WISH TO LISTEN
4. READ THE RTP FROM THE SOCKET
THE UNICASTRTP_LOCAL_ADDRESS AND UNICASTRTP_LOCAL_PORT CHANNEL
VARIABLES CONTAIN WHAT YOU NEED TO SEND MEDIA BACK TO ASTERISK.
https://wiki.asterisk.org/wiki/display/AST/External+Media+and+ARI
https://github.com/asterisk/asterisk-external-media
13. DIFFERENCES BETWEEN THE 3 OPTIONS
RES_ARI_STREAM ARI EXTERNALMEDIA AUDIOSOCKET
MEDIA DIRECTION UNI-DIRECTIONAL BI-DIRECTIONAL BI-DIRECTIONAL
USAGE
HTTP ENDPOINT WITH A
SPECIFIC SUB-PROTOCOL FOR
THE WEBSOCKET
LIMITED TO CHANNELS IN
STASIS
DIALPLAN APPLICATION AND
CHANNEL DRIVER
ARI RESOURCE IN A GERRIT PULL
REQUEST
FORMAT SLIN16 IS RECEIVED
RTP WITH SPECIFIED CODEC
IS RECEIVED
VERY SIMPLE PROTOCOL WITH
SLIN16 PAYLOAD
CONNECTIVITY CONNECTS TO A CHANNEL CONNECTS TO A BRIDGE
CONNECTS TO A CHANNEL OR A
BRIDGE
TRANSPORT WEBSOCKET UDP TCP
15. DEMO OF THE RES_ARI_STREAM MODULE
https://github.com/pc-m/transcript-demo/blob/master/transcript_demo/wazo.py
https://github.com/pc-m/transcript-demo/blob/master/transcript_demo/transcription.py
INCOMING CALL
AN INCOMING CALL IS
ANSWERED BY ALICE
THIS IS A NORMAL CALL, NO
STASIS APPLICATION IS
REQUIRED HERE
TRANSCRIPT SCRIPT
TRANSCRIPTION SCRIPT IS
LAUNCHED ON THE
INCOMING CALL
THE SCRIPT CONNECTS TO THE
ASTERISK WEBSOCKET AND
REGISTERS ITSELF TO THE
INCOMING CALL CHANNEL ID
GOOGLE SPEECH API
TRANSCRIPTION
GOOGLE SPEECH API IS USED
FOR THE TRANSCRIPTION
USER
HTTP SERVER
THE TRANSLATED TEXT IS
SERVED TO THE USER
17. DEMO OF THE ASTERISK ARI VERSION
https://github.com/pc-m/transcript-demo/blob/master/transcript_demo/ari_stasis.py
https://github.com/pc-m/transcript-demo/blob/master/transcript_demo/ari_server.py
https://github.com/pc-m/transcript-demo/blob/master/transcript_demo/transcription.py
STASIS
THE CALL ENTERS
STASIS
THE STASIS APPLICATION
ADDS THE CALL TO ITS
BRIDGE
UDP SERVER
THE SERVER RECEIVES
THE RTP FROM
ASTERISK
THE SERVER CREATES THE
EXTERNAL MEDIA CHANNELS
WHICH GET ADDED TO THE
STASIS BRIDGE AND RECEIVES
THE RTP
GOOGLE SPEECH API
TRANSCRIPTION
GOOGLE SPEECH API IS
USED FOR THE
TRANSCRIPTION
USER
HTTP SERVER
THE TRANSLATED TEXT IS
SERVED TO THE USER
18. WAZO PLATFORM: COLLABORATION
OPEN COLLABORATION & OPEN DEVELOPMENT
OPEN SOURCE PROJECT
https://www.wazo-platform.org/
PR WORKFLOW @ GITHUB
https://github.com/wazo-platform/
MATTERMOST CHAN
https://mm.wazo.community/wazo-platform/
SERVICE CODE UNDER GLPV3+ LICENCE
LIBRARY CODE UNDER MIT LICENCE
19. LET’S CONNECT
BUILD GREAT SOLUTIONS WITH WAZO PLATFORM
BOOTH WAZO W/ THE TEAM :
FRED, SYLVAIN, PASCAL & JÉROME
TO KNOW MORE :
- JEROME’S TALK : WEDNESDAY - 1:30PM
MORE INFO :
- BLOG POST
- OFFICIAL DEMO @GITHUB