asterisk 15.1.4

Asterisk is an open source framework for building communications applications. Asterisk turns an ordinary computer into a communications server. Asterisk powers IP PBX systems, VoIP gateways, conference servers and other custom solutions. It is used by small businesses, large businesses, call centers, carriers and government agencies, worldwide. Asterisk is free and open source.

Tags communication conferencing telephony sip
License GNU GPL
State stable

Recent Releases

15.1.415 Dec 2017 09:45 minor feature: AST-2017-012: Place single RTCP report block at beginning of report. When the RTCP code was transitioned over to Stasis a code change. Was made to keep track of how many reports are present. This count Controlled where report blocks were placed in the RTCP report. If a compound RTCP packet was received this logic would incorrectly. Place a report block in the wrong location resulting in a write to an invalid location. This change removes this counting logic and always places the report. Block at the first position. If in the future multiple reports are Supported the logic can be extended but for now keeping a count Serves no purpose.
15.1.303 Dec 2017 22:25 minor feature: AST-2017-013: chan_skinny: Call pthread_detach when sess threads end Chan_skinny creates a new thread for each new session. In trying to be a good cleanup citizen, the threads are joinable and the. Unload_module function does a pthread_cancel() and a pthread_join() on any sessions that are active at that time. This has an. Unintended side effect though. Since you can call pthread_join on a Thread that's already terminated, pthreads keeps the thread's Storage around until you explicitly call pthread_join (or Pthread_detach()). Since only the module_unload function was Calling pthread_join, and even then only on the ones active at the Tme, the storage for every thread/session ever created sticks Around until asterisk exits. A thread can detach itself so the session_destroy() function. Now calls pthread_detach() just before it frees the session Memory allocation. The module_unload function still takes care of the ones that are still active should the module be unloaded.
15.1.218 Nov 2017 04:25 minor feature: Res_pjsip: Add to list of valid characters for from_user. a regression where some characters were unable to be used in. The from_user field of an endpoint. Additionally, the backtick was Removed from the list of valid characters, since it is not valid, And it was replaced with a single quote, which is a valid character. res_pjsip_registrar.c: AOR and pjproject group deadlock. One of the patches for ASTERISK_27147 introduced a deadlock regression. When the connection oriented transport shut down, the code attempted to. Remove the associated contact. However, that same transport had just Requested a registration that we hadn't responded to yet. Depending Upon timing we could deadlock. Made send the REGISTER response after we completed processing the. Request contacts and released the AOR lock to avoid the deadlock.
15.1.109 Nov 2017 18:05 minor feature: AST-2017-009: pjproject: Add validation of numeric header values Parsing the numeric header fields like cseq, ttl, port, etc. all. Had the potential to overflow, either causing unintended values to be captured or, if the values were subsequently converted back to. Strings, a buffer overrun. To address this, new "strto" functions Have been created that do range checking and those functions are Used wherever possible in the parser. Created pjlib/include/limits.h and pjlib/include/compat/limits.h to either include the system limits.h or define common numeric. Limits if there is no system limits.h. Created strto*_validate functions in sip_parser that take bounds. And on failure call the on_str_parse_error function which prints an error message and calls PJ_THROW. Updated sip_parser to validate the numeric fields. an in sip_transport that prevented error messages. From being properly displayed. Added "volatile" to some variables referenced in PJ_CATCH blocks as the optimizer was sometimes optimizing them away. Length calculation in sip_transaction/create_tsx_key_2543 to account for signed ints being 11 characters, not 9. AST-2017-011 - res_pjsip_session: session leak when a call is rejected. A previous commit made it so when an invite session transitioned into a. Disconnected state destruction of the Asterisk pjsip session object was Postponed until either a transport error occurred or the event timer Expired. However, if a call was rejected (for instance a 488) before the Session was fully established the event timer may not have been initiated, or it was canceled without triggering either of the session finalizing states. Mentioned above. Really the only time destruction of the session should be delayed is when a BYE is being transacted. This is because it's possible in some cases for the. Session to be disconnected, but the BYE is still transacting. This patch makes it so the session object always gets released (no more. Memory leak) when the pjsip session is in a dis
15.0.004 Oct 2017 11:51 minor feature: asterisk 15.0.0 Released.