Asterisk Development

You are currently browsing the articles from the VoIP Digest matching the category Asterisk Development.

PIKA Technologies Connects Skype to Asterisk Open Source PBX

Note: Nice to see another third party application to connect your Asterisk PBX to your Skype account. 
 
PIKA Technologies today announced the upcoming release of a new addition to the PIKA Connect product line.  The second generation PIKA Connect for Asterisk is a channel driver for the popular open source Linux-based Asterisk PBX, enabling connectivity to Skype.

 

This release of PIKA Connect for Asterisk, available in November, allows Asterisk-based applications to use Skype to receive incoming and/or make outgoing calls, provides access to the calling Skype ID profile information (caller ID), and has touch tone (DTMF) detection capabilities.  Skype clients running on Windows based PCs are connected to the channel driver via PIKA’s AllOnHost™ (host-based) voice processing technology.  Skype clients can be distributed across an unlimited number of Windows PCs to achieve the density requirements the voice application may require. 

“Given the ever increasing use of Asterisk in business communication solutions and the rapid adoption of Skype as a business-to-business communication tool it seemed natural to do a mashup of these two very popular technologies,” said David Clarke, Business Development Manager at PIKA Technologies. “Our second generation PIKA Connect for Asterisk channel driver makes it a seamless exercise to Skype-enable your Asterisk based solution.”

PIKA has already implemented this technology in their own corporate PBX system, allowing customers to contact them directly via Skype. Using Skype, customers are able to call PIKA from anywhere in the world, free of charge, using any computer with Skype installed.  It is as simple as a click of a button on the PIKA website: www.pikatechnologies.com   The Skype call in turn is carried over the Skype network and terminated directly on PIKA’s Asterisk based auto attendant.  No extra phone lines or ports on the PBX are required.  Once answered, callers can navigate the auto attendant in the normal fashion using the Skype dial pad (touch tone digits).  All internal extensions as well as speed dials for sales and support are accepted. 

PIKA is currently enlisting Beta candidates for the second generation PIKA Connect for Asterisk.  If you are an Asterisk user or developer interested in running a Beta trial, please contact David Clarke at david.clarke@pikatech.com or skype davidclarkepika

See PIKA Technologies at the Fall VON show, September 11 to 14th, 2006, Booth 1366 or visit

 

Written by Dal on September 11th, 2006 with no comments.
Read more articles on Asterisk Development.

Digium’s response to posting of G.729 and G.723 source code

On September 4, 2006 an anonymous poster sent a message to these mailing lists containing a link to a package of source code claiming that it was "Digium's G.729 and G.723 codecs".

Response: As far as we can tell, that statement was not accurate.  While the code posted appears to contain some of the same functionality as the G.729 modules we use, it is not the code used to produce our G.729 binary codec modules, and we do not offer a G.723 binary codec module at all.

 

In addition, we are not certain of the exact origin of the code, and so we are concerned that the package of source code that was posted may contain code from third parties that is not licensed for redistribution, or not licensed under the terms that the posting suggested would apply to it.

We have therefore removed the links to the package from our mailing list archives.  We recognize the importance of the integrity of these archives, but we do not wish to facilitate violation of anyone's copyrights or license agreements.

--
Kevin P. Fleming
Senior Software Engineer
Digium, Inc.
 

Written by Dal on September 7th, 2006 with no comments.
Read more articles on Asterisk Development.

Your Ad Here

Asterisk-Java 0.3-m1 released

Asterisk-Java 0.3-m1, a Java library for Asterisk PBX integration, has been released.  The Asterisk-Java package consists of a set of Java classes that allow you to easily build Java applications that interact with an Asterisk PBX Server. Asterisk-Java supports both interfaces that Asterisk provides for this scenario: The FastAGI protocol and the Manager API.

 

The 0.3-m1 milestone release focuses on ease of use and provides the new org.asteriskjava.live package that takes care of the lowlevel action and event handling of the Manager API and offers an intuitive API for Java developers. Asterisk-Java has been updated to take advantage of the new features of Java 5.0 and therfore requires a Java Virtual Machine of at least version 1.5.0.

Asterisk-Java is used in several commercial environments and by the following Open Source projects:


    * Asterisk-JTAPI
      JTAPI implementation for Asterisk.
      http://asterisk-jtapi.sf.net/
    * Asterisk-IM
      A plugin for the Jive Messenger XMPP (jabber) server. It provides integrated presence between your IM client and phone, notification of incoming calls by IM and originate calls from supported IM clients.
      http://www.jivesoftware.org/asterisk-im/
    * Asterisk Desktop Manager (ADM)
      A desktop application that will allow for automatic on-call volume reduction, one click dial from clipboard, integrated phonebook and more.
      http://adm.hamnett.org/

Asterisk-Java is available under Apache 2.0 license at:
http://asteriskjava.org

 

 

Written by Dal on August 26th, 2006 with no comments.
Read more articles on Asterisk Development.

Recent additions to the Digium Asterisk Development Team

Some of you may have noticed some new people with '@digium.com' email addresses lately... yes, we have been hiring to expand our Asterisk development team and I should have made an official announcement some time ago.

 

Joshua Colp joined our development team a few months ago. Josh (file on IRC/Mantis) has been working on Asterisk development for quite some time and had contributed many features and bug fixes as a volunteer community member, along with being very active on the IRC channels and issue tracker.

Steve Murphy joined our development team at the beginning of June. Steve (murf on IRC/Mantis) had rewritten Asterisk's expression parser and the AEL language parser as a volunteer community member, along with various other bug fixes and improvements.

Jason Parker joined our development team at the beginning of this week. Jason (qwell on IRC/Mantis) has been maintaining the chan_skinny driver for Cisco SCCP phones as well acting as a bug marshal and fixing various bugs in Asterisk for the past year or more.

Russell Bryant has been a Digium part-time employee and an active Asterisk maintainer since before I got involved with Asterisk :-) His contributions are innumerable, and he has worked far more than the 'ten to twenty hours per week' he claims to have available outside of his school work! Russell (russellb on IRC/Mantis) will be joining us full time in Huntsville after the winter semester is complete, when he expects to graduate.

Please join me in welcoming all these new members of our development team; they are helping to make Asterisk (and our other software products) better every day and will enable us to accelerate our products into the future.

--
Kevin P. Fleming
Senior Software Engineer
Digium, Inc.
 

Written by Dal on August 16th, 2006 with no comments.
Read more articles on Asterisk Development.

TwinCities Asterisk Users Group - Saturday August 12th - 11:30am

Hello,
The next meeting is this Saturday, and 11:30am at Onvoy in the west metro.

Onvoy is located at  Hwy169 and I-394 in the west metro area.
http://maps.google.com/maps?q=Onvoy,+300+Highway+169+S,+55426

 

Onvoy Corporate
300 S. Highway 169, Suite 700
Minneapolis, MN 55426
http://maps.google.com/maps?q=Onvoy,+300+Highway+169+S,+55426

Meetings are held monthly on the second Saturday of each month, excluding July and December. The Agenda is posted online
http://www.voip-info.org/wiki/index.php?page=Twin+Cities+Asterisk+User+Group+Agenda

This month we'll be discussing telephone set options for Asterisk VoIP systems.

Please bring your telephone sets in to share with other members. I'm hoping we all get a change to touch and feel most of the telephones the market has to offer.

Don't miss this meeting!
DOOR PRIZES: I know we're going to be giving away atleast one Polycom telephone set. These baby's are a wonderful addition to your Asterisk hardware collection.

If you're having a problem with Asterisk, bring your questions to a meeting for free help. We love helping new users!

Come to a meeting to meet other asterisk users, see asterisk solutions, win a door prize, eat food, or for the good company, to look for work, if your looking for employees, to go out for a drive, to get out of your house, whatever, JUST COME TO THE MEETING!

New visitors can help themselves to FREE FXO Interface cards (So you can connect your phone line, and have a timing source for meetme and IAX protocols). Some members have been known to swap hardware at the meetings.  Have extra VoIP gear, looking for VoIP gear? There's plenty of hardware to see. Have you been to a meeting recently?

Please come and share your own ideas and learn from others. As always,we'll have food.

We are always looking for help with meeting topics. If you feel like taking the lead, please do and simply let me know if you need anything.

Meeting starts at 11:30am and parking is available everywhere. Meetings run about 2 hours.

Look forward to seeing you there.

http://www.voip-info.org/tiki-index.php?page=Asterisk%20User%20Group%20TwinCities%20Minnesota%20USA
http://www.tcaug.net/

If you have a product or service you'd like to introduce to our members, send a private message to ejo1(at)soundchoicecomm.com and we'll see if we can't get you listed as next month's sponsor.

PS: Eric Osterberg will have a dozen or so Polycom IP500 series telephone sets at a onetime special price only available at this meeting. So bring your checkbooks. This will be a blowout sale on used but refurbished hardware. He has 30 sets available, so contact me if you'd like to have more at the meeting. (New handsets, new cords, new keycaps, lastest software from an authorized polycom dealer)
 

Written by Dal on August 10th, 2006 with no comments.
Read more articles on Asterisk Development.

Asterisk Development - libss7

Hey all! For the past year I have been working on and off on an SS7 implementation here at Digium called libss7. I have it to the point where it can pass phone calls, so I figured it would be a good time to release it and let people begin testing it. It's still somewhat "bare bones" in functionality, but I've been doing a lot of fleshing out of the implementation.

 

Currently, it has been used (making and receiving phone calls) and  developed in an ITU SS7 environment, but I have a good chunk of the code included which is required for ANSI support as well.  I think I'm going to get an ANSI link in a few weeks, so hopefully I'll have that  tested and working relatively soon.

It supports MTP2, MTP3, and ISUP.  After I get these layers fleshed  out, I'm planning on starting on SCCP and the layers above that with the eventual goal of database-lookup and SMS support.

To test, you must have a T1/E1 card as well as an SS7 link.  You also need to have zaptel installed on your system.

Here are the instructions for checking it out of subversion and getting it working:

`svn co http://svn.digium.com/svn/libss7/trunk libss7`
`cd libss7`
`make install`

Right now, the changes to chan_zap are implemented in a special developer branch of asterisk. These are the instructions to check it out
`svn co http://svn.digium.com/svn/asterisk/team/mattf/asterisk-ss7
asterisk-ss7`
`cd asterisk-ss7`

If you haven't compiled trunk yet, you may have to run `make` a few times so that the configure script runs and sets things up properly.  It should find libss7, and compile chan_zap with support for it.  The link is brought up automatically when Asterisk starts.

Configuration in zaptel.conf is similar to that of a PRI.  Your signalling channel will be set as a "dchan" and the bearer channels are set as "bchan".  For information about setting up zapata.conf, see the sample zapata.conf in the configs/zapata.conf.sample in the asterisk-ss7 branch.  There also is a libss7 project section on Mantis now for any bugs that you might encounter.

Matthew Fredrickson

 

Written by Dal on August 2nd, 2006 with no comments.
Read more articles on Asterisk Development.

Internet Security Systems Discovers and Provides Preemptive Protection for Two Asterisk Vulnerabilities

Internet Security Systems, Inc., the worldwide leader in preemptive, enterprise security, today announced that its X-Force research and development team has discovered and provided protection for ISS customers from two vulnerabilities in the Inter-Asterisk eXchange protocol version 2 (IAX2). The vulnerabilities, if exploited, could lead to complete denial of office telephone or Internet services in environments where Asterisk private branch exchange (PBX) is in use.

 

Asterisk is an open source, freely available application that allows organizations to access all of the features of a typical telephony PBX, including voicemail services, call conferencing, interactive voice response, call queuing, three-way calling and caller ID services.

"Users of Voice over Internet Protocol (VoIP) systems must be mindful not only of denial-of-service vulnerabilities in their VoIP PBX implementations, such as the vulnerability discovered in Asterisk, but underlying VoIP protocol weaknesses that may leave organizations open to vishing, a new security threat which uses VoIP to steal user information, and spam over the VoIP network," said Chris Rouland, chief technology officer of Internet Security Systems. "By leveraging preemptive protection from Internet Security Systems, organizations can avoid the potential loss of productivity and the business ramifications caused by these VoIP flaws as well as the underlying operating systems vulnerabilities that VoIP platforms run on."

ISS X-Force has discovered a denial of service vulnerability in the IAX2, which is used by Asterisk PBX to exchange Voice over Internet Protocol (VoIP) and call content. The vulnerability is apparent if an attacker floods the phone service with call requests, thereby preventing the phone service from handling new telephone calls.

ISS X-Force discovered a second vulnerability that allows an attacker to leverage accounts without passwords on an Asterisk PBX network to flood another network with large amounts of traffic. The volume of traffic can saturate the victim's Internet connection and cause complete denial of Internet service to the victim. Additionally, victims of the attack may experience reduced quality of service.

Asterisk has already released a patch to address the denial of service vulnerability. Asterisk users are urged to upgrade as soon as they can practically do so, or ensure that they do not expose IAX2 services to the public if it is not necessary. Asterisk users are strongly advised to ensure that no accounts are configured without passwords. For more details visit www.asterisk.org.

ISS has provided customers with preemptive protection for these flaws through its Proventia security platform. ISS' preemptive technology is based on the research and discoveries of its X-Force research and development team. By protecting against vulnerabilities rather than known exploits, ISS' Virtual Patch(R) technology keeps organizations ahead of Internet threats until they are able to obtain, test and apply patches from affected vendors.

The ISS X-Force advisory on this vulnerability can be found at: http://xforce.iss.net/xforce/alerts/id/228 and http://xforce.iss.net/xforce/alerts/id/229.

 

Written by Dal on July 17th, 2006 with no comments.
Read more articles on Asterisk Development.

Asterisk Live Communications Server Integration

Hi All,

We are getting ready to release our Call Control Gateway application which allows for both remote phone control and PC to phone integration between LCS and an Asterisk PBX. The gateway is scheduled to be released in the beginning of Nov. Currently we are looking for Beta Testers that are interested in this solution. More information on the product, along with the Beta Application can be found on our website at:

http://www.m-networks.net/uccg/


William Mandra
M-Networks

Written by Dal on January 1st, 1970 with no comments.
Read more articles on Asterisk Development.

Astricon 2006: Serious Asterisk Testing

Note:  Thank You Jeremy 
 
I have been given access to a Spirent Abacus for the duration of Astricon. I intend to put this box to good usage for the benefit of Asterisk. Along with the Abacus, I intend to bring a couple/few mini-itx and embedded platforms, so we can easily load Asterisk down and still acquire debug information others will need to solve any problems.
 
I am attempting to acquire a couple higher end machines (dual xeon or perhaps a dual, dual-core system), for some serious high-load testing, but I may not be able to acquire the appropriate hardware in time. If anyone already has any higher-end machine(s) they can let us abuse for Astricon, let me know and I will ensure proper credit is given.

 

We need to determine a set of tests to run. It is my intention to simulate a typical enterprise/provider environment by having discreet components of the test operation - sip proxy (ser), sbc, gateway, soft-switch.

We will send various different types of common and uncommon traffic patterns to the test system, so we can measure and report on the performance of Asterisk on each component. I would also like to put Asterisk's SS7 implementation to some serious testing, but very honestly I have limited SS7 skills at this time. The Abacus also supports H.323 and SCCP, so we should also dedicate some time to these protocols as well.

Lets discuss,

Jeremy McNamara

Written by Dal on January 1st, 1970 with no comments.
Read more articles on Asterisk Development.

AstriConVideo ! Paris Nov 20-22! Book your calendar!

Friends in the Asterisk Video Task Force (and other developers on asterisk-dev), time to register for the Asterisk Video Task Force Meeting - November 20-22 in Paris ! The meeting will be hosted by INRIA, the French national institute for research in science and computing. Philippe Sultan at Inria is our host, as well as an active contributor to Asterisk.

 

The INRIA office is outside of Paris, in Rocquencourt. There will be buses going to and
from downtown Paris, so we're staying in Paris to get proper inspiration :-)

My suggestion is that we start 10 AM on Monday, nov 20th, and continue to 3 PM (15:00) on Wednesday, November 22nd. On Tuesday, we're eating dinner together in Paris (sponsors welcome :-) )

This is going to be a very practical meeting with interoperability tests between various devices, SIP debugging and coding. We need to figure out a way to add proper handling of video attributes in Asterisk and maybe look at additional features I know that you are working on out there:

- Video on hold (streaming)
- Video prompts for IVRs
- T.140 text in addition to video
- Integration with 3G video
- Video conferencing
- Additional topics (codename-pinapple etc)

Let's investigate these areas together, trying to find solutions that we can work forward on integration with other Open Source products or just experience in connections to commercial products.

There will be a very limited amount of seats. You will have to cover your own costs for travelling and eating, but there will be no registration fee (thanks to INRIA)

**** Register by mailing info@edvina.net today.

We have no seats for people who wants to "listen in" or "meet people" 
- this is a working meeting only. I hope you understand this. You do not need to  be an
Asterisk guru or developer, but still have knowledge about SIP and Video so that you can contribute.

My travel agency will handle hotel reservations, so we can stay in the same place. They can also assist you with booking flights, if needed. Emnet, my admin, will take care of the details.

A big thank you to INRIA for hosting this meeting. And a big thank you to other french contributors that offered to help with meeting rooms.

Cheers,
/Olle & Philippe

Links:

INRIA's website :
http://www.inria.fr/index.en.html

Access INRIA Rocquencourt research unit :
http://www-rocq.inria.fr/en/inria-rocq/moyens_acces/index.htm

 

Written by Dal on January 1st, 1970 with no comments.
Read more articles on Asterisk Development.

Astricon: Developer Summit Topics

Greetings and Salutations Folks!

As you all probably know we are having a Developer Summit at Astricon on  the fast approaching Tuesday of next week. Participants have been chosen for the "speaking table" part of it and if you are curious about who those people are their names are listed at  http://www.asterisk.org/developers/astriconusa2006devsummit. While it  may seem like a small group this will work to our advantage and should  allow us to focus more on what we want to discuss.

Onto the real reason for this email though... what topics would you like  to see discussed? It's a simple question with many answers and I'll let the thread blossom with responses :)

--
Joshua Colp
Software Developer
Digium, Inc.

Written by Dal on January 1st, 1970 with no comments.
Read more articles on Asterisk Development.

Astricon 2006: Developer Summit Topics

Greetings and Salutations Folks!

As you all probably know we are having a Developer Summit at Astricon on  the fast approaching Tuesday of next week. Participants have been chosen for the "speaking table" part of it and if you are curious about who those people are their names are listed at  http://www.asterisk.org/developers/astriconusa2006devsummit. While it  may seem like a small group this will work to our advantage and should  allow us to focus more on what we want to discuss.

Onto the real reason for this email though... what topics would you like  to see discussed? It's a simple question with many answers and I'll let the thread blossom with responses :)

--
Joshua Colp
Software Developer
Digium, Inc.

Written by Dal on January 1st, 1970 with no comments.
Read more articles on Asterisk Development.

chan_celliax for Managing Cellphones via Asterisk - First Release

I'm pleased to announce that chan_celliax has been released as pre-Beta tuesday Oct 24th, in concomitance with the Asterisk Developer's Summit at Astricon Dallas.

chan_celliax is a new channel for Asterisk that manages cellphones through a Celliax adapter, composed by a datacable (for commands) and an audiocable (for the voice) interfacing the computer soundcard.  It manages cellphones using both the AT (most phones) and the FBUS2
(Nokia proprietary) command set.

chan_celliax is also capable of making and receiving Skype calls, and has an app like app_directory that let you choose which one of your Skype contacts you want to call.

 

As additional features, chan_celliax can manage (on Linux) voicemodems that use the ALSA modem driver (but with voicemodems it can't interact with Skype), and has got CLI commands: console, dial and hangup similar to the ones in chan_oss, useful for testing without hardware.

chan_celliax runs on Asterisk 1.2 on Linux and Windows (with cygwin and a little modification to the compilation of Asterisk to avoid the calls to sigkill). At date it runs on Asterisk 1.4 only in Linux
(because of the different compilation procedure of Asterisk 1.4, that does not build on cygwin). Hopefully it will run on FreeBSD.

Together with chan_celliax is distributed the Celliax Developer's LiveCD, with a working installation of Asterisk, chan_celliax, and configuration utilities based on Knoppix. Celliax Developer's LiveCD comes complete with all the developer's tools needed to recompile from svn and remaster
the LiveCD itself.  The LiveCD contains also the cygwin installer and the tgz with the asterisk-celliax stuff to be untarred in a basic cygwin installation.

The lucky ones of you guys who are at Astricon Developer's Summit will find some cables and CDs in the Code Zone.

More info on the site www.celliax.org, with forums, downloads, svn, trac, etc.

Please, report bug and issues to www.celliax.org/trac , is pre-beta software ;-)

Happy hacking,

Giovanni Maruzzelli
 

Written by Dal on January 1st, 1970 with no comments.
Read more articles on Asterisk Development.

Astricon 2006: Developers Summit Conference Call (In Progress)

Note: I am tuned in currently and they are discussing some good stuff.  Tune In.

If you want to listen into the Developers Summit meeting at Astricon you can call 972-961-7666 or IAX2/conference@switch-2.nufone.net/4569.

Jeremy McNamara
 

Written by Dal on January 1st, 1970 with no comments.
Read more articles on Asterisk Development.

Experiment: Effect on Speed of Asterisk Priority Engine by Large Dialplans

 

Note:
  Steve Murphy posted this to the list and I found it interesting.
 
First, terminology. When I say context, I am speaking in terms of the extensions.conf file. A Context is a container for a set of Extensions, which in turn are containers of Priorities. Extensions have a "name", which can consist of a simple pattern. An individual Priority usually consists of an application call, eg. VoicemailMain().

Now, within the bowels of Asterisk, each channel records the context name, the extension name, and the priority number of the next priority to execute. The first thing Asterisk does is lookup the context, then looks up the extension in that context, and then searches for the priority number to execute. These three lookups get done for every line of code. Why? Millions of reasons: with goto's, etc, the context/exten/priority is just plugged into the channel, and the engine will then fetch that. Saving these refs by name makes it so the dialplan can be reloaded mid-stream, and for the most part survive without a hitch.

The important thing to remember is that all 3 of these objects are stored in linear linked lists.

Now, the fun part. The lookups for the extensions and priorities get done quite often. So, I did studies of the 3 individual lookups that are done to find an arbitrary priority to execute. I am currently using threaded red-black binary trees instead of the simple linked-lists for contexts and priorities. It's not LGPL code, so I can't use them in asterisk, but until I get LGPL'd code, or our own hashtabs, I'm using them for an experiment.

The extension patterns are matched in a linear fashion, with no early cutoffs; that last extension in the list might yield the best match. To speed this up, I take a different route. I take the first character of each pattern, and I form a tree, where each level down is another, subsequent character set from the patterns. Patterns that start with similar character sequences share a path down the tree. The maximum depth of the tree coincides with the longest pattern in the set. To match, I follow a path down thru the tree until the final leaf is reached. It is possible that one sequence of characters can match more than one path down the tree. In this case, all possible paths are followed, and the metrics followed along the way determine the 'best' match. This algorithm is fairly simple, and much faster-- when you have a lot of patterns. Let's see, it's about O(5*(averagePatternLength)). You form this tree after the context is created and populated. It is stored in the ast_context structure.

Threaded red-black binary trees are a cousin of the AVL trees, binary trees that implement algorithms to keep them optimally balanced at all times. They have log(n) search times, which is pretty good compared to linked lists, which will have n/2 search times, where n is the number of items in the structure. So, if your set has 1000 items, a linear search will find the result, by looking at 500 items, on the average. With RB trees, you'd look thru at less than 9 or 10 items on the average. Much nicer!

 

Effect on Speed of Asterisk Priority Engine by Large Dialplans

Written by Dal on January 1st, 1970 with no comments.
Read more articles on Asterisk Development.

Asterisk Development :: Staying busy, please have patience

Note: A message from Ollie 

Friends,

The focus among the core developer team now is: FIXING BUGS! We need to focus on fixing all bug reports for 1.2 and 1.4 to get 1.4 out. Please have some patience with us if we don't respond directly to proposals for new things, review your cool patches for future addition or comment on your proposal to make Asterisk 200% more effective by moving one line of code. The focus has to be on the bug tracker and the issues we have in the current beta.

We need all the assistance we can get in locating reporting bugs, testing patches, creating patch proposals. The more the community activates itself, the faster we can release a good and production-ready 1.4.

 

 

Thanks for your help and understanding,

/Olle

Written by Dal on January 1st, 1970 with no comments.
Read more articles on Asterisk Development.

Zaptel 1.2.11 released for Asterisk

The Asterisk Development Team is pleased to announce the release of version 1.2.11 of Zaptel. This release includes a small number of fixes, primarily to support recently updated hardware products from Digium. It also contains a very large XPP driver update from Xorcom for their Zaptel-compatible products.
 
Thanks for supporting Asterisk and Zaptel!

Written by Dal on January 1st, 1970 with no comments.
Read more articles on Asterisk Development.

Asterisk 1.4 GUI Screenshots

I just installed the brand new Asterisk GUI framework on my personal Asterisk machine. Here are a few screenshots as a quick preview.

svn checkout: http://svn.digium.com/svn/asterisk-gui/trunk asterisk-gui

Using this interface will require Asterisk 1.4.

Pictures                           Size

asterisk-gui-home.png115.36 KB
asterisk-gui-users.png147.59 KB
asterisk-gui-menus.png133.26 KB
asterisk-gui-channels.png119.02 KB

Click Here for more Info

 

Written by Dal on January 1st, 1970 with no comments.
Read more articles on Asterisk Development.

Asterisk Summary - TLS support for HTTP, AMI and more

Note: Luigi Rizzo posted this on the Asterisk Dev list.  Some of our readers should get some value out of this.

A few days ago i asked about certificate negotiation in asterisk.

On a related topic, i have been thinking for a while on how to provide TLS support for HTTP, AMI and more services within asterisk, keeping in mind the current state of affairs, the feedback i received on the above request, and with the goal of minimizing changes to the current code base.  I think I am at a stage where i have no more ideas, so attached you find:

- a description of the current situation with respect to the implementation of TLS support for HTTP and AMI;
- a workplan on how to add TLS support to AMI,
- general considerations on how to provide TLS TCP sockets.

Please let me know if you have better ideas on the above, but be careful that "the devil is in the details" (e.g. we still needs a poll()-able fd for the TLS sockets), and that we are a bit constrained by backward compatibility issues so e.g. changing internal interfaces such as the one for CLI commands is not really feasible without widespread changes to the code.

Note that the relevant code (currently in main/http.c, possibly to be relocated elsewhere) is designed to be as independent as possible from the specific service. So its functionalities can be reused
(hopefully without modifications) wherever we need TLS TCP sockets.

Feedback welcome.

        cheers
        luigi

--- CURRENT STATE - AMI ---

As it is now, the AMI code does I/O on the level-2 file descriptor returned by accept() (or created in generic_http_callback() in the case of AMI-over-HTTP).  On the input side, the code loops around the function get_input() interpreting a returns of 1 as "full line available" and 0 as "possibly an interrupt arrived".

On the output side, with only one exception, all I/O is performed in the function send_string(), called by either astman_append(), or by (internally) by process_events(). The routine tries to write
a buffer to the file descriptor with a bounded timeout.  (in fact, the way it is written, ast_carefulwrite() does not give any guarantee). In order for the above to work, the socket must be in non-blocking
mode (block-sockets=false in manager.conf).

The exception, on the output side, is the function action_command(), which runs a CLI command over AMI. In this case the file descriptor is passed directly to ast_cli_command() so there is no control on the way I/O is performed.
  
The input part loops around get_input() to read one line at a time from the socketinput() to read one line at a time from the socket. get_input() is also expected to return 0 (and an empty buffer) when a signal is sent to the thread, typically because there is a new event to be processed.

--- CURRENT STATE - HTTP ---

The code in main/http.c has full https support. This is relatively straightforward because all I/O is done using a FILE * descriptor. The latter is obtained by just using fdopen() on the socket returned by accept() in case of plain http requests, or by using funopen() or fopencookie() (depending on
which one is available) to install handlers to encrypt/decrypt the data.

The routines to set up the tls session are generalized in a way that they can be made globally visible and used by other modules.

--- ADDING TLS SUPPORT TO AMI ---
In my opinion the way to go for adding TLS support to the manager interface is the same used for http, i.e.

  1. change the code to use a FILE * instead of a level-2 file descriptor

  2. on setup, call the function ssl_setup() (from main/http.c) to establish the encrypted connection.

#2 is trivial - it basically requires to change from static to globally visible the TLS/SSL support functions/variables currently in http.c

#1 is mostly trivial too, and requires the following steps.

a) after the accept, make sure that make_file_from_fd() (from http.c) is called on the socket to create a proper FILE * for plain or encrypted sessions;

b) change the function get_input() to use fread() instead of read() to collect the data. One can still do the ast_wait_for_input() on the original descriptor returned by accept().

c) change the function send_string() to work on the FILE *.
   This is also relatively straightforward, especially given that a rewrite is necessary anyways because ast_carefulwrite() does not give the guarantees we want.

d) modify the function action_command() so that it creates a temporary file descriptor to be passed to ast_cli_command(), and then read back the data from the temp file and write it to the output with send_string(). The code is similar to what is done in generic_http_callback() to support AMI-over-HTTP.

--- GENERIC TLS TCP SOCKETS ---

Other applications needing (server) TLS sockets should likely be able to reuse most of the functions in main/http.c, namely server_start() and server_root(), which take charge of killing any old instance of the service on the same port, creating a new thread in charge of doing the accept(), and then
creating new threads in charge of the certificate negotiation and I/O for the new session.

For client TLS sockets, there is not much support, but all should be needed after the conventional socket()/[bind()/]connect() is just a call to make_file_from_fd() to set up a proper FILE *.

We can provide a wrapper for the above if there is a need (i don't know if any other modules currently use client TLS sockets).

--- SERVER CERTIFICATE ---

At the moment, the code that reads the server's certificate is within function ssl_setup(), and the code above is written assuming only one certificate for the whole server, accessible from the
variable ssl_ctx. It is not difficult to let each service use a different certificate. As pointed out by Klaus Darilion, let the server pick the certificate depending on the request (useful for the equivalent of 'virtual domains') requires some additional features ("server name" TLS extension) which i
don't know how to implement.

--- THE END ---

Written by Dal on January 1st, 1970 with no comments.
Read more articles on Asterisk Development.

ChanSkype 1.2.6 Released

Hi folks, just to let you know that a new ChanSkype release is available at:

www.chanskype.com

This release has better startup handling and fully supports DTMF - either inbound or outbound your Asterisk box.

Best regards,

Paulo Mannheimer
The ChanSkype team

Written by Dal on January 1st, 1970 with no comments.
Read more articles on Asterisk Development.

IAX 128 bit encryption in Asterisk

Note:  FYI 
 
As of asterisk version 1.2.4 (maybe before) there is a rather undocumented channel encryption feature included in chan_iax2. After successful authentication the whole channel including control data and voice data is encrypted with AES128.
 
Click Here for more Information 

Written by Dal on January 1st, 1970 with no comments.
Read more articles on Asterisk Development.

Planning for AstriDevCon USA 2007

Note:  Kevin Fleming posted this update about the Asterisk developer conference on the list. 
 
We have an offer to host another developer's conference, just like the one we did in Pisa last year. This time it will be held in Atlanta, so the developers in North America will have an easier time getting there :-) The earliest we can get access to the facility is approximately May 10th; if we do what we did last year, we'll be there for four full days. The facility will be centrally located, with easy access (on foot) to shopping, restaurants, the Georgia Aquarium, etc.
At this point I'd like to find out how much interest there is in such an event; while I'm not ready to take official requests to attend yet, we need to do some planning for the number of people that would attend. Just like the Pisa event, the facility (meeting rooms, lab rooms, etc.) will be provided and there will also be high-speed Internet access (wireless).
 
Since the event will be held so close to Digium's main office, we'll likely bring quite a few pieces of equipment with us, so there should be plenty of servers, PSTN interface cards, phones, etc. Basically, that means attendees will be responsible for bringing their own laptop(s), and their own airfare/hotel accommodations.
 
If you would be interested in participating in this event, please email me off-list to let me know. I won't take it as a commitment... this is only for planning purposes. If things work out, we'll start the official process in about another month, to give people plenty of time to get inexpensive airfare.

Written by Dal on January 1st, 1970 with no comments.
Read more articles on Asterisk Development.

Adtran Execs Defect To Digium, Plan Channel Push

Note:   This should help their management team and hardware support and integration.  Now we need some high profile security and data backup execs :P 
 
Open Source VoIP vendor Digium on Tuesday named a new CEO and a new vice president of worldwide sales, bringing on two former Adtran executives to fill the roles. Danny Windham, former president, COO and director of networking vendor Adtran, is joining Digium as its chief executive. Huntsville, Ala.-based Digium is the creator and primary developer of the Asterisk open-source VoIP platform.
Steven Harvey, former vice president of enterprise networks and competitive service provider sales at Adtran, has been named vice president of worldwide sales at Digium. With the executive additions, Digium Founder and President Mark Spencer is taking on the newly created position of chairman and CTO.
 
Windham, who has been a member of the Digium board for the last seven years, will be responsible for Digium's corporate strategy and day-to-day operations. A 16-year Adtran veteran, he served as president and COO since September 2005. He was named to Adtran's board a year ago, a seat he is now vacating. Harvey will drive Digium's channel strategy and business development activities.
 
He has overseen Adtran's channel partner program for nine of his 11 years at the company, ushering in recent updates to the vendor's Advantage Partner Program, including the launch of a deal registration program, the rollout of a new partner relationship management system and a more than $1 million investment to build a channel telesales group. Harvey said he and Windham are moving to Digium as part of a plan to build a multitiered channel, much as they did together at Adtran.
 
Harvey said he plans on working with the channel team at Digium to craft the company's channel program. When they began working together at Adtran, the company was primarily a direct-sales culture within the enterprise business, which the duo moved to a 95 percent channel sales model with $125 million in enterprise sales for 2006.
 
With the planned release this quarter of a new Asterisk hardware appliance for small businesses, Digium is poised to appeal to a group of VARs that might not have shown interest in Asterisk historically because of the difficulty in configuring and supporting the product.
 
"We're simplifying the product into one discreet unit, helping VARs cross the chasm of voice/data convergence," Harvey said. "This helps them simplify their convergence challenges." Adtran and Digium already have strong ties.
 
In addition to Windham's seat on Digium's board, Adtran holds an equity interest in Digium, and Spencer formerly worked as a co-op student at Adtran, also based in Huntsville. Harvey is being replaced at Adtran by Ted Cole, who has been named vice president of channel sales. Adtran will not be replacing Windham, according to a company spokesperson.
 
Source:  CRN 

Written by Dal on January 1st, 1970 with no comments.
Read more articles on Asterisk Development.

Your Ad Here