And a bug fix for the previous news entry - see what happens when I take too long to post the news! :)
Hello!
I think I have completed the fix for bug 6002, and anyone interested is invited to review and/or test the code. I explained in a previous mailing what the algorithm would do, so you may wish to review the bug:
http://bugs.digium.com/view.php?id=6002
And my earlier letter
The branch containing the fixes for 6002:
http://svn.digium.com/svn/asterisk/team/murf/bug6002
The fixes themselves involve changes to these files:
Index: pbx/pbx_config.c
Index: pbx/pbx_ael.c
Index: channels/chan_zap.c
Index: channels/chan_sip.c
Index: channels/chan_iax2.c
Index: channels/chan_skinny.c
Index: channels/chan_local.c
Index: apps/app_meetme.c
Index: apps/app_dial.c
Index: apps/app_queue.c
Index: include/asterisk/_private.h
Index: include/asterisk/pbx.h
Index: include/asterisk/pval.h
Index: main/channel.c
Index: main/features.c
Index: main/asterisk.c
Index: main/autoservice.c
Index: main/pbx.c
Index: res/ael/pval.c
Index: res/ael/ael.tab.c
Index: res/ael/ael.y
Index: res/ael/ael_lex.c
Index: res/ael/ael.tab.h
Index: res/ael/ael.flex
Index: utils/ael_main.c
Index: utils/extconf.c
Index: utils/conf2ael.c
Index: utils/Makefile
The scope of the fixes seems a bit extensive, but because I decided it would be better to modify the interface to the AEL parser, the stuff in utils was affected, as well as the stuff in res/ael.
All aps and channel drivers that added contexts or extensions to the dialplan had to be slightly tweaked as to how they did it.
Results:
I wanted to reduce the time that the dialplan was locked during a merge_contexts_and_delete() call. In this, I was successful. For my tiny test dialplan, I reduced the write-lock time from roughly 43 microseconds, to 3-6 microseconds.
You may not be very impressed that I could reduce the lock-down time from 43 to 3-6 microseconds, but you have to realize that this is a SMALL dialplan. I dialplan with 10-20 K priorities will have substantially larger lock-down times. Especially if it has lots and lots of contexts. But it will always have a lock-down time of 3-6 microseconds.
Well, I take that back. Actually, I've reduced the lock-down time to the time to change 2 pointers, and save, and then restore the hint data. If you have a lot of hints, that will slow down the merge time.
Now, also keep in mind that the new algorithm requires a lot more processing. The bulk of it, though, is done outside the lock-down period. For my small test dialplan, the total time to perform merge_contexts_and_delete() is about 31000 microseconds (about 700 times slower). Again, only 3-6 of those microseconds were spent locked down, so (at least to me) the extra time is not spent in a critical path, so it's not a big deal.
By the way, my tiny test dialplan is 47 contexts, 240 extensions, 624 priorities, most of them in AEL, about 15 or so contexts in extensions.conf.
I've thrashed this code with reloads ("dialplan reload", and "ael reload"), and "stop gracefully". I've spec'd :"regcontext=xxx" in sip.conf, and also had the xxx context in AEL. I've verified that priorities registered in the name of "sip", but attached to a context with registrar of "pbx_ael" were not lost when AEL reloaded. Duplicate contexts are no longer possible.
Any other acid tests you'd like to perform, now is the time, or suffer when this stuff gets merged into trunk.
murf
--
Steve Murphy
Software Developer
Digium
Current Rating: 0/10 (0 votes) Similar Articles (Based on Title)*-dev Developers meeting at von - September 10, 2006 Olle has posted details of the developers meeting at VON.
*-dev Open Source Pavilion at AstriCon: Your project wanted - July 31, 2009 John Todd has posted a note to let people know that Digium will give you a free booth and passes to Astricon for an Open Source project.
Dialplan proposal-- Killing bug 6002 - March 10, 2008 Steve Murphy has posted his musings on duplicated dialplan entries.
Sangoma Experience - Review - April 8, 2005 Mattf from vicimarketing has posted details of his experience with the Sangoma A104.
Sipura SPA-841 Phone Review - April 11, 2005 Kerry has posted details of a review of the Sipura SPA-841 VoIP Phone.
UTStarcom F1000 WiFi IP Phone Review - July 1, 2005 weicheng jiang has posted a review of the F1000 Wifi phone.
VoipSpeak: PC SpeakerPhone Review - November 7, 2005 VoipSpeak has a review of some speaker phone add on devices for your computer.
Linksys SPA-941 Review - November 18, 2005 Kerry Garrison has posted detals of an SPA-941 Review.
Review of Xorcoms new USB channel bank - February 7, 2006 Steven Sokol has posted details of a review of the new Xorcom channel bank and some info on the latest IAXPhone.
Polycom Communicator Review - March 27, 2007 Voipspeak.net has written up a review of the Polycom Communicator CS100.
Using Review Board for Code Reviews - October 22, 2008 Russell Bryant has posted details of the usage of Review Board for reviewing changes.
OnSIP: Aastra 57i Review - September 10, 2009 The OnSIP blog has a review of the Aastra 57i VoIP phone.
Review ExternalIVR cleanup - November 16, 2009 David Ruggles has posted details of the review request for External IVR.
12 mantis issues Ready for Review - June 2, 2010 Paul Belanger has posted a note about some issues in the Asterisk issue tracker which are marked as ready for review and asks if people could have a look at them.
Original Content (C) 2004-2010
Matt Riddell

Icons by: FastIcon.com
|
AstriDevCon: October 29th, Washington DC August 23, 2010 Average Vote: 10
John Todd has posted a note about the AstriDevCon conference which occurs within the Astricon conference.
Code Review: SRTP support for Asterisk March 12, 2009 Average Vote: 10
Terry Wilson has moved his SRTP branch onto the Digium review board.
The Everything Asterisk Video Collection August 5, 2010 Average Vote: 10
Steven Sokol has posted a blog entry on Asterisk Video Resources.
Voip-Forum: Lots of new articles March 12, 2005 Average Vote: 10
Oej's Voip-Forum.com site has posted lots of new news articles while I've been away. Hopefully you found them via the asterisk-docs site. If not I've bookmarked them for you.
Interview with Mark Spencer November 26, 2004 Average Vote: 9.9
We have managed to get an interview with Mark Spencer AKA Markster. Mark Spencer is the creator of Asterisk and by far the most active developer.
Asterisk and Kamailio realtime integration tutorial May 24, 2010 Average Vote: 9.9
Daniel-Constantin Mierla has posted a link to a tutorial on integrating Asterisk and Kamailio using realtime.
Asterisk and Kamailio (openser) realtime integration August 5, 2010 Average Vote: 9.8
Daniel-Constantin Mierla posted a writeup on combining Asterisk and Kamailio.
Asterisk IPv6 update February 1, 2010 Average Vote: 9.8
Olle has posted an update on IPV6 in Asterisk and a link to a blog post of his.
Proposal for T.38 transparent gateway design in Asterisk April 29, 2010 Average Vote: 9.8
Kevin Fleming has posted a proposed design for a transparent T.38 gateway for Asterisk:
Back to life July 21, 2010 Average Vote: 9.8
Hey all - I am back online after some pretty big projects which have taken all my time. Will be updating the Asterisk news over the next few days.
Announcing Adhearsion 0.8.5 August 25, 2010 Average Vote: 9.8
Ben Klang has posted a note about the latest release of Adhearsion - a framework for developing Asterisk based solutions using Ruby.
app_swift v2.0 released July 21, 2010 Average Vote: 9.8
Like a few of these news stories that I will be posting over the next couple of days this is a little old - hope it is not something you have already seen. This one is for a new version of the app_swift text-to-speech module for Asterisk 1.2, 1.4, and 1.6.
Monitoring Asterisk with Munin January 7, 2010 Average Vote: 9.7
I had a few requests for these munin plugins after some discussion on one of the Asterisk lists and thought people might like them.
GUI changes from Trixbox, FreePBX, 2600hz, BlueBox September 1, 2010 Average Vote: 9.7
Ok, bear with me on this one. If you understand all the ramifications, FreePBX has split to a new project called BlueBox contained within the 2600hz project. This obviously has implications for Trixbox that uses FreePBX to provide quite a bit of functionality.
Nerd Vittles: Finally... Installing Asterisk at Home on Your Windows PC February 9, 2006 Average Vote: 9.7
Ward Mundy has posted details of a how to for installing Asterisk at Home on a windows machine without removing windows.
Asterisk 1.8.0-beta5 Now Available September 9, 2010 The Asterisk Development Team has announced the release of Asterisk 1.8.0-beta5.
libpri 1.4.11.4 Now Available September 3, 2010 The Asterisk Development Team has announced the release of libpri 1.4.11.4.
New CDR Stats Package September 1, 2010 This one has been a long time coming. A new CDR stats package from Star2Billing to replace the 7 year old stalwart for viewing Asterisk call detail records.
GUI changes from Trixbox, FreePBX, 2600hz, BlueBox September 1, 2010 Ok, bear with me on this one. If you understand all the ramifications, FreePBX has split to a new project called BlueBox contained within the 2600hz project. This obviously has implications for Trixbox that uses FreePBX to provide quite a bit of functionality.
RazorQuotePBP Asterisk Payment Module August 31, 2010 RazorQuote has sent us a press release about the launch of RazorQuotePBP, a native Asterisk module that allows any Asterisk connected device to accept credit card payments.
CloudVox: Install an open source Asterisk phone app and get 250 dollars August 30, 2010 CloudVox is running a competition for people to receive 250 dollars for writing up some documentation for Open Source applications on CloudVox - first in first served.
AstriCon approaches August 25, 2010 John Todd has posted a note about the upcoming AstriCon conference in Washington, DC, and the innovation awards.
Announcing Adhearsion 0.8.5 August 25, 2010 Ben Klang has posted a note about the latest release of Adhearsion - a framework for developing Asterisk based solutions using Ruby.
Asterisk 1.8.0-beta4 Now Available August 25, 2010 The Asterisk Development Team has announced the release of Asterisk 1.8.0-beta4.
AstriDevCon: October 29th, Washington DC August 23, 2010 John Todd has posted a note about the AstriDevCon conference which occurs within the Astricon conference.
|