Home

Resources

Products

Developers

Main • Dumbchan

A Truly "Dumb" Channel

First, there is nothing to configure with the dumbchan module. It is only useful for programmers developing applications with YATE. If the description below doesn't make sense to you, you don't need it so don't worry about it.

For external modules/scripts, the dumb channel module provides Data Endpoints to and from nowhere.

This is best explained with an example:

Assume that we have an IVR script that connects to YATE via extmodule. This script does some routing, plays some audio to the caller, and responds to dtmfs. Instead of actually writing an audio player, the script-writer wanted to make use of the existing wavefile module in order to play the audio.

Here is the logic for the script:

  • Tell YATE that this script is interested in call.route messages
  • Wait for call.route messages to come in from YATE
  • When a call comes in (let's say on Sip Channel sip/1), I get a call.route message. I respond to the message telling the caller that they should connect their Data Endpoints to a dumb/ channel's endpoints.
  • The caller interprets the response as a confirmation that they should proceed with the call. Internally, the Sip Channel sends a call.execute request to YATE requesting to be connected to a dumb/ channel.
  • The dumb channel basically creates a new identifier for itself, let's say dumb/1, that YATE can use for this call
  • After processing the call.execute, sip/1's Data Source is connected to dumb/1's Data Consumer and sip/1's Data Consumer is connected to dumb/1's Data Source. Since a dumb channel's Data Source comes from nowhere, sip/1's Data Consumer is effectively consuming nothing - For audio channels (which most channels will be), that means silence. Also, since dumb channel's Data Consumer goes to nowhere, any audio that sip/1 sends goes unheard.
  • When the IVR script wants to play an audio file, it sends a chan.attach message to YATE requesting that the wavefile module be attached to dumb/1's Data Source so that it no longer comes from nowhere. Any audio that the wavefile module plays will be heard by whoever is listening on sip/1's Data Consumer end (usually a person).

A script author could make use of similar principles to record audio from callers. They would just instruct YATE to chan.attach a wavefile recorder to a dumb channel's Data Consumer.

3 May 2010:
Yate 3.0.0 alpha 3 released. Featuring the new Jabber server and wideband audio.
Download NOW

8 March 2010:
Yate 2.2 released. Mostly bug fixes. Dahdi compatible. Latest 2 release before 3.0.

6-7 February 2010:
Yate booth at FOSDEM 2010. Free CD with Freesentral available.

2 Nov 2009:
Yate 2.1 launched. Can replace a Cisco PGW2200 to control a Cisco AS54xx.

6 Aug 2008:
Yate and OpenSIPS (former OpenSER) join to build IP based clusters.

4 Aug 2008:
Yate 2 launched.

10 Jul 2008:
Yate presentation in Germany.

Feb 2008:
Yate 2.0.0 alpha 2 released. New routing module allows sending ENUM routed or forked calls to numbers of registered phones. More...

21 Jan 2008:
Yate 2 alpha released. Major changes, new ISDN, SS7 and MGCP stack. Added analogic and RBS support.

3 September:
Yate 1.3 released. Minor fixes and improvments mainly in client and SIP.

14 August:
Yate based ISDN passive recording system released by Trisys.

16 April:
Yate 1.2 released. Added Jingle and XML support, PBX improved.

25 September:
YateAdmin 1 released.

25 September:
Yate 1.1 released. Fallback routing from a database, fax support in Linux and bug fixes. Changelog and Download availables.

11 July 2006:
O'Reilly published an article about prototyping telephony applications with Yate and Python.

10 July 2006:
Yate 1 released. Includes YIAX, YSIP, YRTP and many new features.

June 1st 2006:
New Yate website launched


EditHistoryBacklinksRecent ChangesSearch