Asterisk is een uitgebreide PBX voor het BSD-, Linux- en Mac OS X-platform. Het programma biedt alle functies die je van een telefooncentrale mag verwachten. Het beschikt onder andere over mogelijkheden voor voicemail, conferencing en call queuing. Daarnaast is er ondersteuning voor caller ID services, ADSI, SIP en H.323 aanwezig. Voor een compleet overzicht van alle mogelijkheden verwijzen we jullie door naar deze pagina. De ontwikkelaars hebben versie 1.2.8 van Asterisk de deur uitgedaan met de volgende lijst van veranderingen:
Version 1.2.8:Version 1.2.7.1:
- apps/app_queue.c: Fix infinite loop scenario and add some sanity checking to prevent segfault on a NULL parameter coming in (which probably shouldn't happen, but just to be safe...)
- apps/app_queue.c: A new way to try and deal with deadlocks that occur in app_queue at present. Using this approach, we only manipulate the main queue mutexes when we get a dev state change on a device that is actually a member of a queue. Backported from /trunk for the "bug fix".
- apps/app_meetme.c: Don't play the enter sound twice when a person joins a conference after the leader has joined it. (issue #6138 reported by shanermn)
- codecs/gsm/Makefile: don't try to use -march=s390 when building on S/390 systems (reported via asterisk-users mailing list)
- channels/chan_sip.c: allow SIPCHANINFO(peername) to work for calls from users as well (issue #7215)
- configs/extensions.conf.sample: Get rid of an incorrect SIP dial string in the sample extensions.conf - I even tried variations... no go (issue #7222 reported by arkadia)
- channels/chan_sip.c: oops... make sure to stop processing a request once we have sent an authentication challenge (issue #7220)
- channels/chan_sip.c: don't send CANCEL on a pending INVITE if we haven't received a provisional response yet... mark it pending until the first response is received (issue #7079)
- apps/app_meetme.c: app_meetme used the ast_max_exten instead of path_max solves bug 6822
- apps/app_dial.c: Merge branch for bug 6264 (Privacy option 2 returns dial-status ANSWER / option_priority_jumping not respected) (reported by jkoopmann and branch by murf)
- logger.c: Fix deadlock caused by a race condition in the logger when reloading (issue #7195 reported and fixed by softins)
- res/res_agi.c: support video recording via AGI 'RECORD FILE' command (issue #7068)
- apps/app_queue.c: fix various bugs related to exiting from queue via keypress and moh handling (issue #6776, different fix)
- channels/chan_zap.c: respect 'usecallingpres' in zapata.conf even if CLID has not been set for the channel (issue #7123)
- channels/chan_sip.c, configs/sip.conf.sample: add an option to allow the admin to 'hide' SIP user/peer names from systems trying to 'fish' names
- channels/chan_iax2.c: fix the sourceaddress option (issue #7213, alphaque)
- channels/chan_sip.c: simplify/fix lock retry, and fix comment
- channels/chan_sip.c: Sanity check code for an extended failure in trying to obtain a channel lock that may have been obtained elsewhere. Prevents the monitor thread of the SIP module from going into an infinite loop, effectively, breaking SIP until you restart Asterisk or the mutex is unlocked, whichever comes first.
- dnsmgr.c, res/res_features.c, include/asterisk/linkedlists.h, include/asterisk/lock.h, apps/app_sql_postgres.c, pbx.c: backport some mutex initialization and linked list handling fixes from trunk
- res/res_features.c: Fix a potential leak and correct (hopefully) a segfault under certain conditions. #6784 (vovan and perry testing)
- apps/app_waitforsilence.c: Increase the silence threshold to 128 to "fix" it, so I'm told. (issue #6595 reported by davetroy fixed by casper)
- res/res_features.c: Use the correct language when playing the transfer sound (issue #7109 reported by casper)
- channels/chan_local.c: Preserve presentation bit when going through chan_local (issue #7002 reported by acunningham)
- apps/app_meetme.c: Bug 7194 - spelling fix
- pbx.c: Bug 7196 - month range did not work
- res/res_features.c: When an application that is executed via applicationmap and exits non-zero, make sure that we pass through the correct return value from the application to make sure a segfault doesn't occur by a bridge trying to continue when it should not. Also, when executing applications via applicationmap, make sure that the application is executed against the channel whose DTMF caused it to be fired off in the first place. (part 1/2 of #7090 - this is the only fix that will be applied to both 1.2 and /trunk) acunningham and blitzrage on testing...
- channels/chan_sip.c: fix the possibility of writing one byte past the end of a buffer. (issue #7189, Mithraen)
- apps/app_queue.c: don't allow queue member devices to ring longer than the total queue timeout (issue #6423, reported and patched by bcnit)
- apps/app_sms.c: fix a case where code made assumptions about how memory for variables is allocatted on the stack - this patch is slightly different than the one that went in for the trunk
- channels/chan_iax2.c: don't try to predict where the compiler will place things on the stack... put them in the right place explicitly (issues #7029 and #7100, maybe others)
- channels/chan_sip.c: use the specified 'subscribecontext' for a peer rather than the context found via the target domain (domain contexts are for calls, not for subscriptions) (issue #7122, reported by raarts)
- utils/smsq.c: fix the build of smsq with -Werror. I learned something new about format strings from this patch! (issue #7141, Mithraen)
- asterisk.c: This explicit poll is only needed on mac. In fact, it breaks some systems such as some versions of Fedora, causing 'asterisk -rx' to never exit. This has been tested on systems showing the asterisk -rx problem, as well as other unaffected versions of linux, mac osx 10.4, and FreeBSD 6. (issue #7071)
- channels/chan_zap.c: Make the minidle option actually exist as documented (issue #7159 reported by imran)
- apps/app_voicemail.c: When forwarding messages use the context that the active voicemail user was found in. (issue #7010)
- enum.c: Backport of fix for issue #6654 that was fixed in trunk but not here
- apps/app_queue.c: Treat paused queue members as unreachable (issue #7127 reported by peterh)
- channels/chan_sip.c: fix up a few more places to find the SDP properly (fallout from fix for #7124)
- channels/chan_sip.c: handle incoming multipart/mixed message bodies in SIP and find the SDP, if present (issue #7124 reported and patched by eborgstrom, but very different fix)
- enum.c: use unsigned counters for handling answer/IE lengths while processing DNS results (issue #7174)
- channels/chan_sip.c: support 'inactive' tag for SDP media streams (simple fix, proper fix will appear in 1.4 release) (issue #7130)
- apps/app_hasnewvoicemail.c: Bug 7167 - HasNewVoicemail and VMCOUNT() didn't work when USE_ODBC_STORAGE was defined
- apps/app_voicemail.c: Return -1 on error in ODBC messagecount and 0 on success (issue #7133 reported by cfieldmtm)
- apps/app_voicemail.c: Fix endless looping message by checking value of res before doing retries stuff. (issue #7140 reported by tanischen)
- apps/app_meetme.c: Video in meetme? Hmmm. Removed until we do have some code for it.
- channels/chan_iax2.c: Fix codec priority stuff during authentication (issue #6194 reported by jkoopmann)
- channels/chan_sip.c: Issue #7176 - Crash in expire_register (We need to find out what's causing peer to be undefined, so this is just a bandaid, not a real fix)
- apps/app_voicemail.c: Priority jumping not working on VoiceMail app with new syntax (issue #7164 reported and fixed by alvaro_palma_aste)
- apps/app_osplookup.c: OSPNext does not handle success/failure correctly (issue #7147 reported and fixed by eborgstrom)
- channels/chan_sip.c: chan_sip did not use the TRANSFER_CONTEXT for transfers, like res_features. Now fixed.
- apps/app_voicemail.c: Bug 7125 - Fix race condition between resequencing and leaving a message
- apps/app_dial.c: Inherit channel variables during call forwards when going through chan_local (issue #7095 reported by raarts)
- channel.c: don't leak frames when deferring DTMF or dropping duplicate ANSWER frames (issue #7041, slightly different fix, reported/patched by clausf)
- apps/app_voicemail.c: Bug 7134 - File descriptor leak with ODBC storage of voicemail
- funcs/func_logic.c: Bug 7086 - pbx_checkcondition substitution, so that arbitrary strings are true (for regex)
- rtp.c: backport fix from trunk for bug #6934, ensuring that RTP mark bit is changed when SSRC changes
- channels/chan_sip.c: ensure that we send a response to REGISTER requests that are successfully authenticated but contain invalid Contact URIs
- channels/chan_sip.c, doc/README.variables: Add the appropriate jumping behavior that is the standard for 1.2.X to SIPGetHeader that is now deprecated in /trunk. #7111 (blitzrage!!!)
- apps/app_voicemail.c: Correct memory leak in find_user_realtime #7118 (fnordian)
- channels/chan_sip.c: Issue 7103 - mikma - The header is named "Require" - Don't reply to ACK (Not using patch against trunk)
- channels/chan_agent.c: Don't show agents as available when they are in wrap-up time. #6726 (ZX81)
- apps/app_queue.c: Make QueueStatusComplete event thread safe by wrapping it inside the queue lock clause already there. #7013 (bziherl reporting)
- apps/app_queue.c: Don't recheck valid_exit() after getting the result from say_position (which already checks it). Should prevent another loop if the caller hits digits during the position announcement. #6776 (tgj reporting)
- res/res_features.c: Incorrect log statement when playing transfer sounds (issue #7008 reported and fixed by nathan)
- apps/app_meetme.c: Fix playback behavior to exit correctly when we receive a hangup during playback of the invalid pin message. #7091 (AntD reporting)
- asterisk.c: Reset the value of ast_mainpid if we fork so future remote unix connections display the correct PID. #7098 (tzafrir reporting)
- frame.c: fix a problem where the frame's data pointer is overwritten by the newly allocated data buffer before the data can be copied from it. This is in the ast_frisolate() function which is rarely used. (issue #6732, stefankroon)
- channels/chan_zap.c: ensure that the appropriate manager events are sent in all of the places where alarms are detected or cleared (issue #6866, flefoll)
- channels/chan_h323.c: update chan_h323 to reflect the new prototype for rtp_set_peer (issue #6560, casper) This was fixed a couple months ago in the trunk, but never in 1.2.
- apps/app_voicemail.c, include/asterisk/app.h, app.c: Voicemailfixes along with an API change approved by russellb to fix the bug(s). (jcollie and supczinskib) #7064
- apps/app_while.c, apps/app_macro.c: use pbx_checkcondition() instead of ast_true() to evaluate the condition for MacroIf and WhileIf (issue #7086)
- apps/app_queue.c: Bug 7023 - reload should not unpause members
- apps/app_verbose.c: Make sure that only the "|" is a recognized delimiter for Verbose(), as the app documentation already specifies. #7080 (alessiof reporting)
- apps/app_dial.c: Correct application documentation to make users aware that certain options cannot be used in conjunction with others. #6666 (chotaire)
- redhat/asterisk.spec: fix up "make rpm" - don't reference the gzipped man page, because we don't store them compressed anymore - add some files that currently were not listed (issue #6837)
- channels/chan_sip.c: Issue #7074 - Problem with long contact lines
- file.c: Make certain ast_stopstream() sets the channel's stream members to NULL after closing them. #7067 (jcomellas)
- apps/app_privacy.c: Prompt does not request '#' to end input, so the application should not require it
- apps/app_nbscat.c, apps/app_festival.c, apps/app_mp3.c, apps/app_zapras.c, asterisk.c, apps/app_externalivr.c, apps/app_ices.c, res/res_musiconhold.c, include/asterisk/options.h: Bug 6864 - drop realtime priority on ALL external processes
- apps/app_voicemail.c: Make sure that when someone 0's out while recording a msg and then chooses to DELETE the recorded file, the .txt file isn't left around by itself to cause problems later. #7061 (dimitripietro reporting, blitzrage confirmed)
- pbx.c: add missing locking of the dialplan functions list in the "show functions" CLI command
- apps/app_skel.c: fix this to actually compile so people can learn from it
- cdr/cdr_sqlite.c: eliminate compiler warning
- channels/chan_iax2.c: remove a pointless comparison, since the buffer is smaller than the length being checked for
- Makefile, editline/configure, cdr/Makefile, channels/Makefile, db1-ast/Makefile: allow top-level OPTIMIZE setting to affect builds in these subdirectories too
- Makefile: let the compiler determine whether hardware or software floating point should be used (like we do in the editline subdirectory)
- Makefile, apps/Makefile: remove extraneous -m64 flag that is not needed remove old 'look' target which is no longer needed (these are coming from Debian patches
) - editline/makelist: ensure that the script output is correctly generated when the system's character set does not use the English lowercase/uppercase character groups
- Makefile: do installation in subdirs as a separate target (so external modules can use the Makefile more easily) generate final messages -after- running any post-install script that may be present
- configs/zapata.conf.sample, configs/mgcp.conf.sample, configs/sip.conf.sample: note that group assignments must be from 0 to 63 (issue #7048)
- apps/app_queue.c: Queue(somequeue,,,,) -> interpreted as Queue(somequeue,,,,0) (issue #7044 reported nathan fixed by jsmith - sort of)
- channels/chan_zap.c: Fix buglet in channel reassignment on SETUP_ACK
- apps/app_voicemail.c: do not allow for users to forward voicemail to themselves, patch from 7001
- channel.c: Bug 7004 - release all threads waiting on a condition prior to freeing it
- contrib/scripts/safe_asterisk.8, contrib/scripts/safe_asterisk: support system-specific scripts in safe_asterisk, before starting Asterisk proper
- cdr/cdr_odbc.c: Bug 6553 - plug memory leaks when ODBC connection is down
- pbx.c: properly handle brace-wrapped strings in variable/function references in the dialplan
- apps/app_random.c: Bug 6984 - off by one error in Random()
- res/res_musiconhold.c: Bug 6544 - when we remove a music class, the thread servicing it should die
- sounds.txt: uncomment files that actually do exist (oops)
- sounds.txt: update text to match actual prompts being distributed (thanks to Kinsey in the support department for reviewing all the prompts!)
- apps/app_voicemail.c: Bug 6947 - Allow vm broadcasts to more than 256 characters worth of mailboxes
Version 1.2.7:
- apps/app_page.c: oops... let's not set a variable and then immediately overwrite it while assuming its old value will magically return
- pbx.c: Bug 6957 - variable names beginning with CALLERID weren't substituted correctly
Version 1.2.6:
- apps/app_dial.c: Bug 6490 - telco intercept should report NOANSWER instead of CHANUNAVAIL
- apps/app_voicemail.c: Bug 6061 - Fix ODBC storage of VM on PGSQL and MSSQL
- Makefile: don't create a 'voicemail' symlink in the sounds directory; app_voicemail has not needed it since January of 2005 (issue #6613)
- asterisk.c: Bug 6097 - possible descriptor leak
- apps/app_page.c: don't call the originating device as part of the Page() operation (issue #6932)
- channel.c: simplify spy queue flushing logic, and always force a flush when one side gets full, even if the other side is not empty (issue #6457)
- pbx/pbx_config.c: don't destroy the entire dialplan during 'reload', just atomically replace it like 'extensions reload' does (issue #6047)
- include/asterisk/linkedlists.h: Minor linked lists bug fix. When you're dealing with swapping entries around a lot it can cause a seg fault.
- apps/app_dial.c: handle call time limit properly when warning is requested _after_ call would hae already ended (issue #6356)
- apps/app_voicemail.c, app.c: When using the silence detector in ast_play_and_record() and ast_play_and_prepend(), the truncation code never gets called to remove the detected silence, because the value of res is zero when control gets to that point. #6903 w/some mods (softins)
- res/res_features.c: Don't say that we can pass an 'exten' argument in the documentation of Park() when we really cannot. #6902 (opsys)
- apps/app_voicemail.c: Bug 6914 - .txt file fails to rename on operator out
- formats/format_jpeg.c: Bug 6913 - fix for possible buffer overflow
- channels/chan_sip.c: - Fix cause codes - Add cause code for incompatible formats
- channels/chan_sip.c: - Fix possible minor memory leak in chan_sip - Return proper cause code on memory allocation error
- apps/app_meetme.c: fix typo
- apps/app_meetme.c: small fix... don't try to check conference details if it couldn't be created or found
- apps/app_meetme.c: don't try to support 'i' or 'r' options if chan_zap is not loaded, and warn the user when they attempt to use them (issue #6675) update application help text to more clearly define when Zaptel and chan_zap are required
- apps/app_alarmreceiver.c: move continue out of block that checks verbose level (issue #6880)
- pbx.c: Unlock channel on failure so that ast_mutex_destroy doesn't throw a fit (issue #6647 reported by casper)
- CREDITS, enum.c: Issue #6654: Enum crash on ADDRESS record, possibly bad record, but still a crash
- channels/chan_zap.c: Issue #6878 - Unhide DNDstate manager events (thanks casper)
- apps/app_queue.c: Issue #6882 - move "res=-1" out of verbosity block, minor code cleanups (casper)
- apps/app_senddtmf.c: Adds documentation to show what the w flag. Patch from Ian Kinner at Digium.
- configs/features.conf.sample: Issue 6870 - document that parking lots need to be numeric
- channels/chan_sip.c: Issue #6848 take two - Use the tag provided by the SUBSCRIBE request when sending NOTIFY
- channels/chan_sip.c: Ugly patch to avoid hangup causes in non-final responses
- channels/chan_iax2.c: move a NULL check to before the first time the pointer is dereferenced (issue #6832)
- channels/chan_iax2.c: fix the situation where bindport is specified but bindaddr is not (issue #6616)
- pbx.c: ensure that hint watchers (subscribers) cannot be added or removed while the dialplan is being modified
- channels/chan_sip.c: Bug 6853 - Manager fixes: 1) extra ActionID, 2) missing colon
- asterisk.c: Bug 6849 - trivial typo fix
- codecs/gsm/Makefile: Add another check for 64-bit goodness (issue #6850 reported by evilbunny)
- res/res_musiconhold.c: Do not exceed the array size for maximum allowed moh files. (issue #6842)
- res/res_features.c: Set initial value on adsipark
- apps/app_groupcount.c: Typo fix.
- configs/extensions.conf.sample: Typo (Issue 6839, casper)
- include/asterisk/pbx.h, apps/app_stack.c, pbx.c: Bug 6830 - Let GosubIf work with the same conditions as a GotoIf (change in API approved by Russell)
- pbx.c: Bug 6835 - Updates to GotoIf help text
- strcompat.c: tell unsetenv for solaris to return the result of the setenv call
- channels/chan_sip.c: Issue #6823 - Portability issue with the registration port number patch from yesterday. Be compatible with more systems than OS/X :-) Thanks Rizzo for the advice.
- include/asterisk/linkedlists.h: ensure that list traversal loops which skip entries properly update the 'previous entry' pointer so when entries _are_ removed the list does not get damaged
- agi/Makefile, strcompat.c, astmm.c: backport astmm + sparc fixes from the trunk
- channels/chan_iax2.c: fix Bus Error on sparc (issue #6354)
- channels/chan_sip.c: Fix breakage of NAT support for peers with qualify=yes. Thanks Damin for access to your system, sorry folks.
- pbx/pbx_ael.c: fix the order in which for loops are expanded (issue #6810)
- contrib/init.d/rc.redhat.asterisk: Bug 6815 - Adding quotes to make bash happy
- channels/chan_sip.c: Issue #6736 - Use flags for OPTION messages. Thanks Casper!
- channels/chan_sip.c: Issue #6597 - sip show registry shows incorrect port
- channels/chan_sip.c: Issue #6409 - Use "s" extension when there's no username in the URI
- contrib/init.d/rc.redhat.asterisk: Bug 6601 - More configuration abilities for the RH init script
- apps/app_voicemail.c: Fix incorrect size of zeroing (left over from when maxmsg was hardcoded at 100)
- apps/app_voicemail.c: Bug 6783 - When context is specified, voicemail should look for mailboxes in that context
- image.c: use the correct variable in an error message (issue #6791)
- apps/app_voicemail.c: Fix a typo in the app description
- include/asterisk/sched.h: Doxygen comment typo corrections
- res/res_features.c: Issue #6764 - Return BUSY signal when other party is busy at Attended Transfer (Reported by mnachev)
- channels/chan_zap.c: Fix SETUP_ACK handling so that we change channels if so requested
- apps/app_meetme.c: Bug #5884 - fix a possible race state in app_meetme when a channel has gone away and we are reading continuously for more frames. (mneuhauser)
- apps/app_readfile.c: don't crash when asked to read from a file that doesn't exist (issue #6786)
- apps/app_voicemail.c: Fix a minor code issue
- apps/app_voicemail.c: Issue #6781 - Verbose levels not enforced in app_voicemail (Reported by flobi)
- include/asterisk/cdr.h, cdr.c: Issue #5918 - Disposition showing FAILED even though call is answered successfully (Reported by tracinet)
- pbx.c: Issue #6780 - ast_pbx_outgoing_cdr_failed description fix. (Reported and fixed by casper)
- channels/chan_sip.c: Issue #6766 - fix ;user=phone functionality. (Reported by alein, fix by russell - thanks!)
- configs/features.conf.sample: add a note explaining how to set the DYNAMIC_FEATURES variable to allow the use of custom features (issue #6747)
- res/res_features.c: fix crash when using the ParkAndAnnounce application. When using this application, there will be no peer channel to play the parking announcement to. (issue #6756)
- funcs/func_strings.c: fix REGEX on strings that contain quotes (issue #6678)
- sounds.txt: fix spelling of whiskey
- apps/app_meetme.c: don't add conference participant if the user hangs up while recording their name (issue #6661)
- sample.call: re-add the Account parameter to the sample call file since it's not really deprecated since the CDR function is no longer built in
- apps/app_voicemail.c: Bug 6714 - Workaround to avoid retrieving incomplete voicemail message
- editline/term.c: Do away with some warnings and fix some indentation
- channels/chan_iax2.c: Do not overwrite ANI if it's set by IE (sendani=yes in the peer)
- apps/app_dial.c: revert the change made in revision 12927 in favor of keeping the original behavior of the option. The documentation has now been updated to reflect the actual behavior. (issue #6523)
- channels/chan_sip.c: Reset global_rtautoclear at sip reload
- ast_expr2.y, ast_expr2.c: Bug 6737 - Fix compile warning on OS X
- configs/sip.conf.sample: Issue #6690 - clarify progressinband default setting
- channels/chan_zap.c: always use the callerid signalling method set in the zt_pvt strucutre as opposed to the last one read from the config file (issue #6734, with mods)
- channels/chan_sip.c: To quote giant developers: "Oops". Thanks, Tony!
- cdr.c: - remove some calculations that will always result in 0 - if a CDR was never started, don't try to calculate a duration and consider it failed
- channels/chan_sip.c: Issue #6728: Remove parameters to Event: header on SUBSCRIBE requests
- apps/app_dial.c: when using the G() option to Dial, fix sending the called channel to 1 priority beyond what was specified (issue #6523)
- apps/app_queue.c: fix a problem with not loading realtime queue members by always reloading a realtime queue from the database even if it is found in the list (issue #6680)
- pbx.c: add locking to protect the list of global dialplan variables
- codecs/gsm/Makefile: fix build on parisc (issue #6704)
- channels/chan_sip.c: Issue #5937 - Make sure SIP CANCEL's are re-transmitted
- channels/chan_sip.c: Issue #6576 - SIP_CODEC not used for early media (reported by gpapadop73)
- channels/chan_sip.c: Issue #6657 - Ignore 183 session progress without SDP
- channels/chan_sip.c: Bug 6020 - Race condition where packet could be lost if first packet on list is acked
- editline/np/vis.c, editline/readline.c: Bug 6664 - More fixes for Solaris
- channel.c: Revert earlier change
- channel.c: Fix for astmm compilation
- configs/zapata.conf.sample: fix a typo in the description of the ringtimeout option
- channels/chan_sip.c: Clear page2 flags at reload too
- apps/app_mixmonitor.c: Substitute variables in the post_process string (if it exists) before those variables could possibly disappear (channel hangup) #6462