Category News / Page 1

An exciting announcement from the FreeSWITCH Community!

News -

Introducing the Penrose Institute

Written By: Abbi Minessale

The FreeSWITCH community is excited to share that James Tagg, a longstanding fixture in the voip community, is a founding member of the Penrose Institute. James Tagg is an inventor and entrepreneur. A pioneer of touchscreen technology, he has founded several companies, including Truphone, the world’s first global mobile network. He holds numerous patents, filed in over a hundred countries. He studied Physics and Computer Science at Manchester University, Design at Lancaster University and Engineering at Cambridge University. He lives with his family on a farm in Kent, England.

Tagg and his team are asking groundbreaking questions in hopes to better understand the universe we live in and to pave the way for new technology. Tagg and his team explain that “the Penrose Institute is inspired by the scientific philosophy and work of Roger Penrose. It seeks to understand the human brain, creativity and the interplay between quantum mechanics and general relativity.” The Penrose Institute is unique because it celebrates the problem solving capabilities of people in different backgrounds working together. The institute will focus on studying consciousness, creativity, and physics.

Tagg
Photo credit: Are the Androids Dreaming Yet?: Amazing Brain. Human Communication, Creativity & Free Will, James Tagg
Tagg and his team are fascinated by the unknown mechanics of human consciousness. The Penrose Institute plans to explore the boundary between human intelligence and artificial intelligence and if that boundary exists. How can we tell the difference between a creative human being and a machine that simply looks conscious? Tagg and his team plan to find out. In order to answer these questions, the Institute needs a new type of physics. We know that the human mind is not a computer so therefore it must be a more sophisticated machine. In order to understand what goes on inside our heads, the Penrose Institute will try to blend quantum mechanics and general relativity together to see whether there’s an interaction between the two. They are looking to see if they can find a machine that would compute more powerfully than a regular desktop machine and explain how humans are conscious and creative. Tagg and his team find the experience of having a human mind exciting and they are determined to discover what makes it special.

The Ultimate Goal of the Penrose Institute is to build a synthetic neuron by understanding the quantum mechanical mechanisms of neuronal activity. These mechanisms will be programmed for computational operations and non-computable operations. Construction of a programmable computer synthesized from living neurons will provide insight into the operation of the human brain, including consciousness and creativity. If the brain uses new quantum physics to enable consciousness, then a scientific understanding of this physics will influence the design of future computers. The FreeSWITCH team is interested to see what neuron computers will look like, hopefully they won’t be as fickle as some of the human beings we know!

The FreeSWITCH community is eager to keep up with all of the cutting edge research that the Penrose Institute is conducting. We hope to see how this research affects the way future technologies look and how those technologies might affect us in the telephony world!

FreeSWITCH Tips and Tricks

News -

Hello FreeSWITCHers!
The FreeSWITCH team is working hard on getting version 1.8 ready for release. While you wait, we thought you might be interested in learning a few FreeSWITCH tricks you can try yourself. We had a look into our cookbook and found a few recipes you may be interested in. Have a look and don't forget you can learn even more about FreeSWITCH and other open source projects at ClueCon 2017 by visiting https://cluecon.com. Don't miss our early bird pricing available for only a short time!


failover

Simple Call Failover

 

How often do you miss a customer’s phone call? It always seems like the phone rings at the most inconvenient time and ends just before you can get to it. Wouldn’t it be great if instead of going to voicemail it just rang your co-worker? Well, FreeSWITCH has a solution for you. What if you didn’t have to answer those calls by yourself? In the FreeSWITCH dialplan you can configure something called Simple Call Failover. What this means is a call comes in and rings multiple endpoints (two separate desk phones in this example, one right after the other) and the person that answers is connected to the call. That way if you are busy someone else can answer that call and keep the customers happy.
To set this up open up your dialplan, in this example we will use the default located at conf/dialplan/default.xml in a text editor in our terminal. Navigate to the extension you would like to use and add these lines:

  <extension name="failover_example">
   <condition field="destination_number" expression="^(1000)$">
    <action application="bridge" data="{ignore_early_media=true}sofia/internal/first@domain.com|sofia/internal/second@domain.com"/>

   </condition>
  </extension>

By adding a pipe between your endpoints you are telling FreeSWITCH to dial those endpoints sequentially. The first one that is successfully connected will get the call and FreeSWITCH will cease dialing the additional endpoints. Now, to do this FreeSWITCH needs to ignore any early media like ringing so we added ignore_early_media=true at the beginning to tell FreeSWITCH to only connect the call when it is answered. It is as easy as that.


clock

Time of Day Routing

Did you know you can configure FreeSWITCH to route to certain extensions based on the time of day? This is particularly convenient if you want to play a different greeting based on your office’s hours. To configure this you first need to define some variables for FreeSWITCH to use as a reference. For this example, we will assume our office is open 8:00 a.m. to 4:00 p.m. We start by adding this extension to the beginning of your dialplan context:


 <extension name="Time of day, day of week example" continue="true">
   <condition wday="2-6" hour="8-15" break="never">
    <action application="set" data="office_status=open" inline="true"/>
    <anti-action application="set" data="office_status=closed" inline="true"/>
   </condition>
 </extension>

Now you can use the previously defined variables to set your extensions. In the example below FreeSWITCH will first check to see if the office is open or closed based on the first condition we defined. After that, FreeSWITCH will then execute whichever dialplan extension is necessary depending on the value of ‘office_status’ in the first condition. This configuration allows you to set specific actions depending on the time of day and what you would like your IVR to do. In this example we are initiating a particular IVR depending on whether the office is open or closed.

 <extension name="Office_Hours, 2001_X">

   <condition field="destination_number" expression="^(2001)$">
    <action application="execute_extension" data="2001_${office_status}"/>
   </condition>
 </extension>
 <extension name="Open">
   <condition field="destination_number" expression="^(2001_open)$">
    <action application="answer"/>
    <action application="sleep" data="1000"/>
    <action application="sleep" data="500"/><!-- Open IVR -->
   </condition>
 </extension>
 <extension name="Closed">
   <condition field="destination_number" expression="^(2001_closed)$">
    <action application="answer"/>
    <action application="sleep" data="1000"/>
    <action application="sleep" data="500"/><!-- Closed IVR -->
   </condition>
 </extension>

We have also added continue=”true” and break=”never” in our conditions. These tell FreeSWITCH to keep looking for more matches and without them FreeSWITCH would stop. Additionally, it should be noted that by setting variables we can easily allow for more conditions. If we were to set the “open” and “closed” extensions in an action tag and anti-action tag we are limited by only two options. In our current example you could go on to add things like lunch or holiday hours.


RURI

Manipulating SIP Request URIs

Another cool feature in FreeSWITCH is the ability to manipulate SIP To: Headers. You can use customized SIP To: Headers when routing calls to endpoints registered within your setup. This lets you send the DID in cases where a single registration is representing multiple DIDs. There isn’t a single flag to set in order to do this so you will have to configure your dialplan to grab the user’s registration information and parse out the username, replacing it with your custom setting. Be sure to only replace the username to prevent issues with things like NAT traversal.
For this example, we have configured DID 123-456-7890, a username of user01, and domain of example.com. Our example extension will look like this:

 <extension name="call_1234567890">
   <condition field="destination_number" expression="^(?:+1|1)?1234567890$"/>
   <condition field="${sofia_contact(user01@example.com)}" expression="^[^\@]+(.*)">
    <action application="bridge" data="sofia/external/123457890$1"/>
   </condition>
 </extension>

This example shows the extension grabbing the user01 dial string and replacing the username with the preferred DID. In the first condition we are matching the determined DID and only if the incoming call matches that DID will the extension execute the actions. The second condition uses the results of an API, sofia_contact, to return the results as a value. This puts everything after the @ into the $1 variable which is then called during the bridge after our custom header. This preserves all the information required for contacting the server and sending the call to the correct destination.

FreeSWITCH Training from December 9th-11th!

News -

2600hz is hosting a FreeSWITCH boot camp! Get in on the action to learn the ins and outs of FreeSWITCH! The FreeSWITCH Bootcamp is an intense three-day training, providing in-depth coverage of FreeSWITCH installation, configuration, maintenance and programming so that you can build your business. The bootcamp will be hosted in the brand new office in beautiful San Francisco. Go into the bootcamp as a Novice -- and come out as a FreeSWITCH guru. Early bird pricing lasts until November 27th, but register now as there are limited spaces available! https://goo.gl/zbS4tP

Announcing the ClueCon Coder Games!

News -

So You Think You Can Code?

You've seen the presentations, you've asked your questions, you have the resources, now it is your time to shine by using the sponsor APIs to create something exciting! We want to see what you can do! Bonus points for each API you can incorporate! Go check out the APIs now to get a head start on the competition and get those creative juices flowing! You have less than two weeks to prepare!

Sponsor APIs: FreeSWITCH, Tropo, Kandy, Twilio, Plivo, and more...

IPv6 Round Table

IPv6 and why you should deploy it ASAP: John Brzozowski, Fellow and Chief Architect, IPv6 at Comcast, Bill Sandiford President of CNOC, Member of the board at ARIN.

Flowroute - Jeopardy

Think you know about SIP? Do you know enough to beat the competition? Flowroute is hosting a SIP themed game of Jeopardy! Put your brain to the test and come see how much you really know!

DTMF-u

Do you like all things games? Well, then this is the game for you! But there is a twist! Before you can win the game you must build it! Using your choice of language or API you must build a game! There will be three categories of DTMF-u; Tic-tac-toe, DTMF pattern recognition, or Freestyle. You could build something that plays a random DTMF sequence, receives player input, and then either continues or fails the player. Or maybe a WebRTC based game of tic-tac-toe? Or surprise us! Have fun with it! Creative ways to fail a player may give you bonus points. The top three games will be played by everyone and the winner of each will take home a prize! All gaming bots will be screened via a Turing test to ensure no unintended apocalyptic consequences.

Show and Tell

Alright, now is your chance! You have been playing with the code all day and this is your chance to show off! We want to know what you've done and how you did it. Use your creativity and skills as a programmer to impress the judges and win a prize! This is a no holds barred all out free for all! Any language doing anything! Knock our socks off and take home a fabulous prize and a year’s supply of bragging rights!

Raffle Grand Prize!

The grand prize is a laser engraved commemorative FreeSWITCH 1.6 Edition dual-core 13" Retina MacBook Pro!