Olle E. Johansson
2004-May-16 03:37 UTC
[Asterisk-Users] ** Asterisk Sunday Morning News: Contribute to the community
Another Asterisk week has gone by. A lot of changes has been submitted into the CVS head, only a few to CVS stable. CVS stable only changes for bug fixes now. * Using MGCP? Please step forward!! ----------------------------------- There are a number of MGCP bugs and fixes in the bug tracker that needs more activity. If you are using the MGCP protocol, please step forward and help us fix this. Visit the bug tracker today, http://bugs.digium.com * Hiding in the shadows? Please step forward!! ---------------------------------------------- While discussing additions to Asterisk, I often hear that "well, I got this implemented on my Asterisk". Or "There's a lot of bugs in that module that I've fixed a long time ago". That makes me feel sad. Open Source programming is a cooperative effort to provide software for all of us. It's about sharing cost of software development. Don't misinterpret me, Asterisk is a commercial project and most of us are working in the project to earn money or lower the cost for a commercial project. If you have additions or fixes to Asterisk you have not contributed, please do so. Someone will need it. Contact one of the bug marshals via mail or on the IRC to help you. This is the right time. We're building a new Asterisk. The best part is that if you add your fixes, you will soon find that other people start taking your ideas to new levels and you'll gain more than you parted with. This will not happen if you just sit on your patches alone in your closet. Step out! * FreeBSD support is finally fixed! ----------------------------------- If I awarded Asterisk "code contributor of the week" awards, this week's award would go to Dr Rich Murphey. He's added a lot of code fixes to make Asterisk work better on FreeBSD systems. He's also fixed the recursive mutex bug that has been a show- stopper for some time. That fix is not in CVS head yet, but will make it there soon. Rich, thank you! The award, a nice cup of tea on my veranda, waits for you here in Sollentuna, Sweden. (Yes, this is a very personal choice, since I'm using Asterisk on FreeBSD. A one man dictator-award-jury in action :-) * Improved language support --------------------------- Thanks to our new bug marshal, Fran Boon, aka Flavour, we now have even better support for various languages in Asterisk. The applications that are changing each week is saynumber(), saydate() and voicemail(). This is done with the help of a large team of programmers working with Fran to make Asterisk work better in international environments. Thank you, all of you! By using setlanguage() you can change the default language of Asterisk. This will also affect the syntax used for saying various messages in these applications. You can also set the default language for a peer/user or voicemail user in the configuration files. See http://www.voip-info.org/tiki-index.php?page=Asterisk+multi-language for more information on these features. * Dial plan tips of the week: Discover the variables! ----------------------------------------------------- When creating a dial plan, there's a lot of logic to help you. One thing that takes time to discover is the use of variables. Asterisk has a range of globally defined variables that you can use to configure extensions the way you want. Here's a list: ${CALLERID} Caller ID ${CALLERIDNAME} Caller ID Name only ${CALLERIDNUM} Caller ID Number only ${EXTEN} Current extension ${CONTEXT} Current context ${PRIORITY} Current priority ${CHANNEL} Current channel name ${ENV(VAR)} Environmental variable VAR ${LEN(VAR)} String length of VAR (integer) ${EPOCH} Current unix style epoch ${DATETIME} Current date time in the format: YYYY-MM-DD_HH:MM:SS ${TIMESTAMP} Current date time in the format: YYYYMMDD-HHMMSS ${UNIQUEID} Current call unique identifier ${DNID} Dialed Number Identifier ${RDNIS} Redirected Dial Number ID Service ${HANGUPCAUSE} Asterisk hangup cause ${ACCOUNTCODE} Account code (if specified) ${LANGUAGE} Current language ${SIPDOMAIN} SIP destination domain of an inbound call (if appropriate) ${SIPUSERAGENT} SIP user agent ${SIPCALLID} SIP Call-ID: header verbatim (for logging or CDR matching) Applications that works with variables * set your own variables with the setvar() and the setglobalvar() application. * the gotoif() app lets you can make conditional tests on variables and jump to various extensions or priorities of your dial plan. * the cut() app lets you divide a variable in two or more parts To learn more, read README.variables in your docs/ directory. Or visit the Wiki: http://www.voip-info.org/tiki-index.php?page=Asterisk+variables * Useful pointers: ------------------ * Asterisk: http://www.asterisk.org * Asterisk mailing lists: http://lists.digium.com (users, dev, biz and cvs mailing list) * Asterisk bug tracker: http://bugs.digium.com * Asterisk IRC channel: #asterisk on irc.freenode.net * Digium: http://www.digium.com * Wiki: http://www.voip-info.org * Voip Search: http://search.voip-forum.com * Astricon: http://www.astricon.net Have a nice Asterisk week! /Olle PS. If you have information that you want me to include in next week's edition, please mail me off list.
Ernest W. Lessenger
2004-May-17 09:10 UTC
[Asterisk-Users] ** Asterisk Sunday Morning News: Contribute to the community
You know what would be cool? A "Show Variables" command in the cli. It could return something like this... Variable Scope Channel ========================================CallerID C ZAP/1-1 EPOCH G EXTEN C ZAP/1-1 ... --Ernest> * Dial plan tips of the week: Discover the variables! > ----------------------------------------------------- > When creating a dial plan, there's a lot of logic to help > you. One thing that > takes time to discover is the use of variables. > Asterisk has a range of globally defined variables that you can use to > configure extensions the way you want. Here's a list: > ${CALLERID} Caller ID > ${CALLERIDNAME} Caller ID Name only > ${CALLERIDNUM} Caller ID Number only > ${EXTEN} Current extension > ${CONTEXT} Current context > ${PRIORITY} Current priority > ${CHANNEL} Current channel name > ${ENV(VAR)} Environmental variable VAR > ${LEN(VAR)} String length of VAR (integer) > ${EPOCH} Current unix style epoch > ${DATETIME} Current date time in the format: YYYY-MM-DD_HH:MM:SS > ${TIMESTAMP} Current date time in the format: YYYYMMDD-HHMMSS > ${UNIQUEID} Current call unique identifier > ${DNID} Dialed Number Identifier > ${RDNIS} Redirected Dial Number ID Service > ${HANGUPCAUSE} Asterisk hangup cause > ${ACCOUNTCODE} Account code (if specified) > ${LANGUAGE} Current language > ${SIPDOMAIN} SIP destination domain of an inbound call (if > appropriate) > ${SIPUSERAGENT} SIP user agent > ${SIPCALLID} SIP Call-ID: header verbatim (for logging or > CDR matching) > > Applications that works with variables > * set your own variables with the setvar() and the > setglobalvar() application. > * the gotoif() app lets you can make conditional tests on > variables and > jump to various extensions or priorities of your dial plan. > * the cut() app lets you divide a variable in two or more parts > > To learn more, read README.variables in your docs/ directory. > Or visit the Wiki: > http://www.voip-info.org/tiki-index.php?page=Asterisk+variables