bayonne-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: FW: [Bayonne-devel] The GNU Telephony Roadmap


From: David Sugar
Subject: Re: FW: [Bayonne-devel] The GNU Telephony Roadmap
Date: Tue, 06 Jun 2006 10:52:28 -0400
User-agent: Thunderbird 1.5.0.2 (X11/20060501)

Well, while not directly in the roadmap, for very short term, starting
with release 1.5.6, Bayonne2 can now act as a SIP proxy/registrar for
external devices, receiving the dialed number in %session.dialed, so I
think with some scripting you could possibly make it operate as some
kind of gateway by loading the SIP with the existing voicetronix card
driver together.  There incidentally also exists a methodology for
creating Bayonne dialing plans.  With some further work, and a lot more
testing, it could be very possible to make Bayonne behave much more like
a complete and self-contained SIP phone system, although my original
focus and intent was on telecenter & ACD functionality.  Longer term,
however, I expect to have trollgw, a new and separate server, which will
be better at being a dedicated function and high capacity PSTN gateway.

Julien Chavanton wrote:
> Hi David,
> 
> I am not sure about something, are you planning Voip/Pstn gateway
> support? If so with what pstn interface are you planning to start?
> 
> Personally I still think this is a really important feature.
> 
> Julien
> 
> -----Original Message-----
> From: address@hidden
> [mailto:address@hidden
> g] On Behalf Of David Sugar
> Sent: June 3, 2006 10:55 AM
> To: mailing_list_bayonne-devel
> Subject: [Bayonne-devel] The GNU Telephony Roadmap
> 
> I had been either sick, very busy, or away for parts of the past two
> weeks.  I have however recently made available a number of interesting
> releases from things that had actually been in development from a long
> time ago, and I will later this summer bring out some entirely new
> things.  I wish to explain how these releases relate to, and what is my
> overall roadmap for, GNU Telephony for the next several years.
> 
> * Bayonne XML and webservices
> 
> The last two point releases of Bayonne2 have focused on enabling Bayonne
> to be both a producer and consumer of XML documents.  This included the
> re-introducing of BayonneXML to allow GNU Bayonne servers to query and
> process call sessions under the control of web served documents.  I see
> XML documents as the way to enable common publishing and presentation of
> documents, whether on the web for browsers in xhtml, for editing through
> odt, for the visually impaired in daisy, and voicexml and/or BayonneXML
> for presentation to telephone callers.  Produce once and distribute
> everywhere.
> 
> Bayonne server bindings offered new opportunities for introducing new
> application service with Bayonne.  Now that we are working with
> BayonneXML again, I also wish to introduce Bayonne Daisy as a server
> binding for the GNU Alexandria project.  There also remains a lot of
> work to make BayonneXML more fully consistent with CCXML/CallXML.
> 
> Bayonne2 web services provide a model both for system management and for
> integrating Bayonne with other application services.  Initially I have
> introduced several .html status pages which automatically refresh, and
> hence can be used to monitor the server, and a new XML dialect,
> serverResponse, which allows one to send a GET request to known uri's,
> with optional query arguments, and retrieve a XML response document
> which is simpler than the POST driven XMLRPC reply system.  In the
> future I will also be adding XMLRPC to Bayonne web services.  The
> existing web service also needs support for authentication.
> 
> Bayonne web services makes it possible to telephony enable existing
> applications, either from other web services, or by using common
> scripting languages.  Along with the existing Bayonne::Libexec.pm
> module, and similar modules for Python, Java, C#, and php that also
> exist, I will be writing a Bayonne::Webservice.pm (and
> Bayonne::xmlrpc.pm) module for different scripting languages to future
> Bayonne distributions to make it easier to write such applications that
> integrate with Bayonne.
> 
> * On frameworks and platforms
> 
> There has been some effort being made in an entirely new sub-project,
> GNU Telephony Open Embedded.  This work is focused on making the core
> GNU Telephony frameworks available for two uses; for those developing
> softphone applications handheld devices, potentially using GPE, OPIE, or
> QTOPIA; and for deploying embedded servers (including things like GNU
> Bayonne) on appliances.
> 
> With regard to our framework libraries, there are specific goals for
> each.  These goals are consistent both with features that have been
> missing but deemed vital to add, and with addressing needs suggested by
> other goals.
> 
> In GNU Common C++, there will be work on introducing SSLStream (and
> later SSLSocket) in the ccext2 library, using openssl.  The existing
> URLStream class will then be rewritten to support SSLStream and to
> support SSL web sites.  From the perspective of GNU Bayonne, binders
> like BayonneXML which consume web sites will eventually be rewritten to
> use URLStream rather than depend on external libexec based xml-fetch, to
> increase performance.  Other uses will include support for creation of
> services which depend on secure communications, and hence support for
> things like key management and encryption will also be added to the GNU
> Common C++ framework directly.
> 
> In GNU ccAudio2, some work has been completed on improving plugin
> support for codecs, including those which have irregular packet sizes.
> This work will be used to modify the AudioStream class with methods that
> allow a codec to pull data and synchronize I/O to packet boundaries.  An
> example of this will be found in the interaction of the future mpg audio
> codec plugin with the audio file streaming class.
> 
> GNU ccAudio2 now includes primitive resample support.  This allows
> audiotool to do basic "rate conversion".  This needs to integrated with
> a smart resampler algorithm.  In addition, I will be adding support for
> generating false audio positioning in ccAudio2's existing capability to
> convert mono to stereo audio.  This will be very useful in future
> telephony softphone client work.  There are many gaps remaining in
> ccAudio2, including fsk/fax decoding, which still need to be addressed.
> 
> In GNU ccRTP, I am going to look at how we can simplify templates, so
> that we do not have to have entirely separate templates for IPV4, IPV6,
> etc.  I may also look at introducing some hard coded classes for certain
> common RTP profiles.  However, we do not have any large issues in GNU
> ccRTP, that I see, only those that will either make the library easier
> to use, or better suited for embedded applications.
> 
> On the Microsoft Windows platform, I recently re-organized CAPE, and
> broke compatibility with past releases of CAPE dependent software in the
> process.  This was done to standardize the naming convention we used for
> DLL's so that versioning of API's would be better represented.  I also
> used it as an opportunity to introduce a bunch of additional libraries
> as part of CAPE for building GNU ccAudio2 codec support, including
> Speex, and a stand-alone GSM audio DLL.  The existing .dsp project
> files for GNU Bayonne can be made to work with the new CAPE releases by
> adjusting the link library names.
> 
> * Migration of past services
> 
> Recently I did a partial rewrite of the globalcall driver stack to try
> and eliminate issues with call failure states.  This became 1.2.16,
> which still has one open issue with handling of disconnect on outbound
> calls, and included the new snmp module.  I intend to resolve that issue
> this or next weekend, and then have a new release (1.2.17).  Afterward,
> I will be focusing on migrating dialogic driver support to Bayonne2.
> 
> * Introduction of new services
> 
> Many new areas of development are still in my workshop, and so have not
> yet made it into software I have released.  However, I am very shortly
> going to introduce the first of what will become several new free
> software generic Internet media servers through GNU Telephony.  None of
> these break new ground directly, although they are engineered to my
> expectations, and are meant to be used for experimentation in
> convergence of telephony, Internet radio, IMS, and IPTV, over the next
> several years.  Free media requires freedom in the tools which propagate
> it, as well as freedom in the formats it is encoded in, and the
> infrastructure it is carried on.
> 
> The first of these new servers will be the Nijmegen audio, video, and
> internet radio streaming server, which implements the icecast protocol,
> and supports plugins as media sources.  Initial releases will be
> available sometime on or before August 1st, when I will demonstrate this
> new server during ClueCon in Chicago.  Later this year I am introducing
> a RTSP based generic streaming media server.
> 
> Because it is vital to our enterprise vision for GNU Telephony, a third
> effort will be made to introduce Troll gateways, and this time again as
> a stand-alone server.  This will focus on the idea of tightly coupling
> the RTP stack to the telephony device for optimal gateway I/O
> performance.  The other advantage this offers is being able to offload
> transcoding to the telephony card, and presenting those codecs which the
> device nativily supports.  This is from our vision of optimizing system
> load and maximizing system capacity.  There are already other gateways
> that support such functionality through extensive transcoding.
> 
> Part of this enterprise vision focuses on separating telephony into
> three parts; a gateway for when dealing with PSTN/ISDN trunking
> services, an application/media server (Bayonne), and a call
> control/session manager/registrar/call server.  For H.323 networks,
> GNUGK is already an excellent resource.  For SIP there are things like
> SIPX and Vocal, although each breaks up the functionality into separate
> micro services.  I have thought about introducing a new kind of SIP
> proxy/registrar that focuses on peer-to-peer audio while managing SIP
> sessions, call state, call groups, etc.
> 
> Another important consideration has been in developing applications with
> GNU Telephony.  Part of this will be addressed in several long term
> applications that are currently being developed, including a model
> Bayonne-based SIP telecenter.  Other applications we will look at is
> large scale Bayonne hosted voice mail and ACD systems.  Some of these
> projects have waited on the introduction of Bayonne web services.
> 
> * Our long term vision of the future of VOIP
> 
> There are several areas I consider important to the future of telephony
> and collaborative communications including the question of the telephone
> handset, an instrument traditionally of low quality audio reception.
> The interest in GNU Telephony Open Embedded, and in migrating client
> softphone development to embedded devices in general is related to our
> goal of eliminating the traditional handset altogether.
> 
> Part of this idea involves re-thinking audio as it relates to telephony.
> While some have focused on questions like narrow-band vs wide-band, and
> hence overall quality of audio at the expense of bandwidth, I have
> chosen to focus on something different; how we can treat audio as a
> "spacial" environment for the listener, and so I have been experimenting
> with false spacial positioning through regenerated and artificially time
> shifted stereo.
> 
> The real value of this comes into play when considering audio mixing for
> audio conferencing.  The traditional way to do this is to route all the
> participants audio into a common conference server, mixing the audio
> together, and feeding each user the mixed result, minus their own audio.
> 
> By maintaining multiple peer connections at the VOIP (Voice Over IP
> networks) client (VOIP telephone phone devices), it is possible to mix
> audio at the end point rather than at the server.  This means each
> connection can also be given a separate and distinct false spacial
> position in the resulting false stereo audio that you then hear.  It is
> far easier and more natural to have a multiparty conference without
> confusion when each speaker "appears" to be in a different spacial
> location then when you mix their signals together at some central point.
> 
> This also relates to the question of latency, which, particularly for
> VOIP, is a very important question.  In current VOIP networks, latency
> can often approach 1/4 of a second, which is enough to be disturbing and
> ineffective.  Each hop through a server, such as for mixing, or
> spoke-wheel configured centralized networks, adds significantly to
> latency, especially on poorly designed software, and hence even further
> reduces the quality of the call.  Peer to peer calling, besides offering
> greater privacy, also reduces latency by removing intermediary servers.
> 
> Other areas I have been exploring include ways to provide better
> security and privacy in VOIP, and not just by securing the audio channel
> with encryption.  Given recent events, I have come to consider it vital
> to hide even basic signaling and call session information.  In this
> area, I have looked at ideas like forward publishing and caching SIP
> location information through peer-to-peer networks for direct calling
> when trying to locate people, rather than depending on traditional SIP
> registrars and proxies which introduces signaling information at central
> control and intercept points.  My long term goal in VOIP is to introduce
> massively scalable and secure peer-to-peer calling services with a focus
> on endpoint development and which have no centralized control points.
> 
> * Legal issues & infrastructure
> 
> Of course, much of our vision for private, secure, and anonymous VOIP
> calling, including anonymous PSTN gateways, are things which I happen to
> consider a basic human right to privacy, and which fall well outside the
> scope of what will be permitted under new surveillance mandates such as
> those driven by CALEA.  This is one reason we are locating some specific
> VOIP work outside of the U.S.  We may need to do the same with current
> and future work in media servers should future digital restrictions
> mandates also appear, such as the broadcast flags.
> 
> I also have recently been able to consolidate much of our separate web
> resources into one place, under the new wiki.  This has made it much
> easier to consolidate project management overall.  As part of this
> process, I do plan to setup a bugzilla site to consolidate bug tracking.
> 
> Which particular area of the roadmap gets attention will depend on where
> we happen to find time, funding, and resources.
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Bayonne-devel mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/bayonne-devel
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Bayonne-devel mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/bayonne-devel

reply via email to

[Prev in Thread] Current Thread [Next in Thread]