Digium heeft versie 1.2.12 van Asterisk uitgebracht, de opensource telefooncentralesoftware voor BSD, Linux en Mac OS X. Het programma beschikt onder andere over voicemail, conferencing en call queuing, caller ID, ADSI, SIP en H.323. Voor een compleet overzicht van de featureset kun je op deze pagina terrecht. Het changelog van deze release laat de volgende veranderingen zien:
Changes in version 1.2.12:
- channel.c: Swap spies during masquerading
- apps/app_authenticate.c: Jump logic was backwards: goto returns 0 if it succeeds, and we should jump if authentication fails. (Bug #7907)
- channels/chan_local.c: Use ast_best_codec to set the read/write format
- apps/app_record.c: Format vulnerability fix - allowing the user to specify a format is not a good idea (Bug 7811)
- cdr.c: Let's use the same thing we use in other places to calculate our time for ast_cond_timedwait (issue #7697 reported by bn999)
- logger.c: This should fix the problem reported in 7564: logger config file errors getting lost because logging isn't configured yet. The problem was that the code that exists to handle this case was not getting reached, because other tests were causing an early return from ast_log().
- Makefile: added hours,minutes,seconds .gsm files to the install portion of the makefile, as per bug 7545
- res/res_agi.c: Don't close the second file descriptor if it's the same as the first one, as it will have already been closed elsewhere and could cause massive panic. (issue #7699 reported by bn999)
- channels/chan_agent.c: Look ma! No more deadlocks!
As posted from #7458 and others similar to it in Mantis: p->app_lock was a mutex really designed for use with agents not in callback mode. That being the case, I've tried to code it so that when callback mode is used, the app_lock mutex will not be locked/unlocked at all. Please let me know how you make out - and if you continue to deadlock now, please reproduce the deadlock logging information and post to Mantis. - channels/chan_misdn.c: fixed pipe consuming bug when using chanIsAvail (#7878), also moved a debug log to the very begining of misdn_hangup.
- channels/chan_iax2.c: Make realtime regseconds work as people expected (0 on registration expiration or release, and actual on normal state) (issue #7684 reported by kshumard)
- include/asterisk/chanspy.h, apps/app_chanspy.c, apps/app_mixmonitor.c, channel.c: Merge in last round of spy fixes. This should hopefully eliminate all the issues people have been seeing by distinctly separating what each component (core/spy) is responsible for. Core is responsible for adding a spy to a channel, feeding frames to the spy, removing the spy from a channel, and telling the spy to stop. Spy is responsible for reading frames in, and cleaning up after itself.
- configs/zapata.conf.sample: Small typo in zapata.conf.sample Reported by ppyy in 7881
- channels/chan_sip.c: Don't kill the pvt before we have sent ACK on CANCEL
- apps/app_queue.c: Make sure the forwarded channel inherits variables appropriately when we receive a call forward in the queue. (#7867 - raarts reported and patched)
- apps/app_queue.c: Don't keep trying the same member in certain strategies when members of the queue are unavailable (#7278 - diLLec reported and patched)
- apps/app_chanspy.c: Let's NOT spy on Zap/psuedo channels, mmmmmmmmk?
- apps/app_queue.c: Setting a retry of 0 is generally not a good idea and shouldn't be allowed. (#7574 - reported by regin)
- channels/chan_sip.c: Only wipe the redirected audio & video IP/port if it's specified, and trigger a reinvite.
- channels/chan_sip.c, include/asterisk/rtp.h, rtp.c: put in proper fix for issue #7294 instead of the broken partial fix that was committed, and thereby also fix issue #7438
- channel.c: Finish up the last commit (was worse then originally reported)
- channel.c: Don't treat an unexpected control subclass as voice (issue #7858 reported by PCadach)
- channels/chan_sip.c: Issue #7572 - Hangup when receiving a buggy 487 response to an INVITE
- channels/chan_mgcp.c, channels/chan_phone.c, channels/chan_local.c, channels/chan_misdn.c, channels/chan_sip.c, channels/chan_skinny.c, channels/chan_features.c, channels/chan_h323.c, channels/chan_iax2.c: Restore original functionality of 1.2 in places where ANI was not set, but was changed to be set. The original change was done to ensure that the behavior of the "callerid" option in each channel driver was consistent, but it caused an unexpected behavior change of CDR records for users, so this change is being reverted in 1.2. (issue #7695)
- include/asterisk/lock.h: Properly handle an ETIMEDOUT result from pthread_cond_timedwait (issue #7318 reported by arkadia)
- channels/chan_sip.c: Issue 7822 - don't use SRV lookups if it's disabled.
- pbx/pbx_config.c: clean up last commit ... most notably, there is no reason to do heap allocations here, and it also included a potential memory leak
- pbx/pbx_config.c: Fixes for bug 7813, via patch submitted by stevens.
- doc/README.variables: Removed from the docs the mention of the ! and =~ operators, as these were knocked out of ast_expr2 because they were new features. Let's hope I can keep them from getting knocked out of the trunk, too!
- apps/app_macro.c: According to a note added to 7731 by mneuhauser, this will repair a break caused by the last fix (7731).
- channels/chan_zap.c: Don't send proceeding twice (#7800)
- apps/app_voicemail.c: Text only - clarify the reason for entry into authentication mode when the skipuser option is ignored
- include/asterisk/linkedlists.h, channel.c, pbx.c: Fix a few issues related to the handling of channel variables - in pbx_builtin_serialize_variables(), the variable list traversal would stop on a variables with empty name/values, which is not appropriate - When removing the GROUP variables, use AST_LIST_REMOVE_CURRENT instead of AST_LIST_REMOVE - During masquerading, when copying the variables list from one channel to the other, using AST_LIST_INSERT_TAIL is not valid for appending a whole list. It leaves the tail pointer of the list invalid. Introduce a new macro, AST_LIST_APPEND_LIST that appends a list properly. (issue #7802, softins)
- configs/zapata.conf.sample: Minor documentation fix to add the 'dynamic' dialplan option from angler
- res/res_agi.c: Revert last change - breaks retrieval of builtin variables