[asterisk-commits] kharwell: branch kharwell/pimp_sip_state r389238 - in /team/kharwell/pimp_sip...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Mon May 20 10:41:34 CDT 2013


Author: kharwell
Date: Mon May 20 10:41:19 2013
New Revision: 389238

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=389238
Log:
Multiple revisions 389196,389200,389208

........
  r389196 | file | 2013-05-20 07:51:41 -0500 (Mon, 20 May 2013) | 369 lines
  
  Multiple revisions 388526,388531,388579,388598,388602,388617,388668,388701,388729,388751,388770,388818,388840,388896,388975-388976,389009,389011,389053,389085,389097,389116,389132,389148,389164,389180
  
  ........
    r388526 | jrose | 2013-05-13 14:20:33 -0300 (Mon, 13 May 2013) | 9 lines
    
    chan_gulp: Minor readability Improvements to chan_gulp
    
    (closes issue ASTERISK-21670)
    Reported by: Snuffy
    Review: https://reviewboard.asterisk.org/r/2473/
    Patches:
        gulp-coding-guide.diff uploaded by snuffy (license 5024)
  ........
    r388531 | kmoore | 2013-05-13 15:10:22 -0300 (Mon, 13 May 2013) | 15 lines
    
    Close libsrtp properly
    
    Ensure that libsrtp is shutdown properly when res_srtp is unloaded.
    
    (closes issue ASTERISK-21719)
    Reported by: Corey Farrell
    Patches:
        res_srtp-library-shutdown.patch uploaded by Corey Farrell
    ........
    
    Merged revisions 388529 from http://svn.asterisk.org/svn/asterisk/branches/1.8
    ........
    
    Merged revisions 388530 from http://svn.asterisk.org/svn/asterisk/branches/11
  ........
    r388579 | jrose | 2013-05-13 16:29:56 -0300 (Mon, 13 May 2013) | 13 lines
    
    pbx: Fix lack of cleanup on macrolock and context_table
    
    (closes issue ASTERISK-21723)
    Reported by: Corey Farrell
    Patches:
        core-pbx-cleanup.patch uploaded by Correy Farrell (license 5909)
    ........
    
    Merged revisions 388532 from http://svn.asterisk.org/svn/asterisk/branches/1.8
    ........
    
    Merged revisions 388578 from http://svn.asterisk.org/svn/asterisk/branches/11
  ........
    r388598 | kmoore | 2013-05-13 17:37:11 -0300 (Mon, 13 May 2013) | 11 lines
    
    Revert r388529 for now
    
    Adding the cleanup function needs some deeper thought since it
    apparently doesn't exist for all variants of libsrtp.
    ........
    
    Merged revisions 388596 from http://svn.asterisk.org/svn/asterisk/branches/1.8
    ........
    
    Merged revisions 388597 from http://svn.asterisk.org/svn/asterisk/branches/11
  ........
    r388602 | elguero | 2013-05-13 18:07:02 -0300 (Mon, 13 May 2013) | 26 lines
    
    Fix Crash Caused By One-way Audio With auto_* NAT Settings Fix
    
    The prior code committed, r385473, failed to take into consideration that not
    all outgoing calls will be to a peer.  My fault.
    
    This patch does the following:
    
    * Check if there is a related peer involved.  If there is, check and set NAT 
      settings according to the peer's settings.
    
    * Fix a problem with realtime peers.  If the global setting has auto_force_rport
      set and we issued a "sip reload" while a peer is still registered, the peer's
      flags for NAT are reset to off.  When this happens, we were always setting the
      contact address of the peer to that of the full contact info that we had.
    
    (closes issue ASTERISK-21374)
    Reported by: jmls
    Tested by: Michael L. Young
    Patches:
       asterisk-21374-fix-crash-and-rt-peers.diff by Michael L. Young (license 5026)
    
    Review: https://reviewboard.asterisk.org/r/2524/
    ........
    
    Merged revisions 388601 from http://svn.asterisk.org/svn/asterisk/branches/11
  ........
    r388617 | elguero | 2013-05-13 18:21:03 -0300 (Mon, 13 May 2013) | 18 lines
    
    Fix Missing CALL-ID When Logging Through Syslog
    
    The CALL-ID (ie [C-00000074]) is missing when logging to syslog.  This was just
    an oversight when this feature was added.
    
    * Add CALL-IDs when using syslog
    
    (closes issue ASTERISK-21430)
    Reported by: Nikola Ciprich
    Tested by: Nikola Ciprich, Michael L. Young
    Patches:
        asterisk-21430-syslog-callid_trunk.diff by Michael L. Young (license 5026)
    
    Review: https://reviewboard.asterisk.org/r/2526/
    ........
    
    Merged revisions 388605 from http://svn.asterisk.org/svn/asterisk/branches/11
  ........
    r388668 | kmoore | 2013-05-14 09:47:52 -0300 (Tue, 14 May 2013) | 10 lines
    
    Move JSON event generators into separate modules
    
    This moves the JSON event generators out of the Stasis-HTTP modules and
    into standalone JSON-related counterparts so that Stasis-HTTP and
    res_stasis can depend on them without creating dependency cycles. This
    also provides a future location for Swagger Model validator functions
    once the generators for that code are written.
    
    Review: https://reviewboard.asterisk.org/r/2534/
  ........
    r388701 | rmudgett | 2013-05-14 16:03:26 -0300 (Tue, 14 May 2013) | 14 lines
    
    Make ao2 global objects not always use the debug version of the ao2_ref() calls.
    
    The debug versions of ao2_ref() should only be used if REF_DEBUG is
    enabled so nothing is written to /tmp/refs unexpectedly.
    
    (closes issue ASTERISK-21785)
    Reported by: abelbeck
    Patches:
          jira_asterisk_21785_v11.patch (license #5621) patch uploaded by rmudgett
    Tested by: abelbeck
    ........
    
    Merged revisions 388700 from http://svn.asterisk.org/svn/asterisk/branches/11
  ........
    r388729 | dlee | 2013-05-14 18:45:08 -0300 (Tue, 14 May 2013) | 20 lines
    
    Break res_stasis into smaller files.
    
    When implementing playback for stasis-http, the monolithicedness of
    res_stasis really started to get in my way.
    
    This patch breaks the major components of res_stasis.c into individual
    files.
    
     * res/stasis/app.c - Stasis application tracking
     * res/stasis/control.c - Channel control objects
     * res/stasis/command.c - Channel command object
    
    This refactoring also allows res_stasis applications to be loaded as
    independent modules, such as the new res_stasis_answer module.
    
    The bulk of this patch is simply moving code from one file to another,
    adjusting names and adding accessors as necessary.
    
    Review: https://reviewboard.asterisk.org/r/2530/
  ........
    r388751 | dlee | 2013-05-14 23:37:22 -0300 (Tue, 14 May 2013) | 3 lines
    
    Refactored the rest of the message types to use the STASIS_MESSAGE_TYPE_*
    macros.
  ........
    r388770 | kmoore | 2013-05-15 09:42:04 -0300 (Wed, 15 May 2013) | 14 lines
    
    Use srtp_shutdown when available
    
    This allows the SRTP library to be shut down properly when the
    functionality is offered by libsrtp.
    
    Review: https://reviewboard.asterisk.org/r/2538/
    (closes issue ASTERISK-21719)
    ........
    
    Merged revisions 388768 from http://svn.asterisk.org/svn/asterisk/branches/1.8
    ........
    
    Merged revisions 388769 from http://svn.asterisk.org/svn/asterisk/branches/11
  ........
    r388818 | qwell | 2013-05-15 12:03:40 -0300 (Wed, 15 May 2013) | 18 lines
    
    Fix VM snapshot handling for combined INBOX.
    
    The snapshot API contains an option that allow for combining of new 
    and old messages within a single snapshot. New messages, however, 
    include options beyond just 'INBOX' - it also includes the Urgent 
    folder. A previous patch that combined INBOX and Urgent accidentally 
    impacted snapshots that attempted to gain messages from just the Old 
    folder. This patch fixes the snapshot gathering such that the API 
    returns the appropriate messages for the folder selected, with and 
    without the combine option.
    
    This should make it more clear about what's happening.
    
    Review: https://reviewboard.asterisk.org/r/2539/
    ........
    
    Merged revisions 388816 from http://svn.asterisk.org/svn/asterisk/branches/11
  ........
    r388840 | kharwell | 2013-05-15 12:58:56 -0300 (Wed, 15 May 2013) | 18 lines
    
    Fix for segfault in __ast_rwlock_destroy with DEBUG_THREADS
    
    If DEBUG_THREADS is enabled __ast_rwlock_destroy causes a segfault while trying
    to access a possible NULL t->track object.  A NULL check has been added before
    trying to access the memory.
    
    (closes issue ASTERISK-21724)
    Reported by: Corey Farrell
    Fixed by: Corey Farrell
    Patches:
    	ast_rwlock_destroy-segv.patch uploaded by Corey Farrell (license 5909)
    ........
    
    Merged revisions 388838 from http://svn.asterisk.org/svn/asterisk/branches/1.8
    ........
    
    Merged revisions 388839 from http://svn.asterisk.org/svn/asterisk/branches/11
  ........
    r388896 | dlee | 2013-05-15 18:13:29 -0300 (Wed, 15 May 2013) | 4 lines
    
    Fixed inverted logic in app_add_channel().
    
    Also added some missing doc comments for stasis/app.h.
  ........
    r388975 | jrose | 2013-05-17 14:36:10 -0300 (Fri, 17 May 2013) | 10 lines
    
    Stasis: Update security events to use Stasis
    
    Also moves ACL messages to the security topic and gets rid of the
    ACL topic
    
    (closes issue ASTERISK-21103)
    Reported by: Matt Jordan
    Review: https://reviewboard.asterisk.org/r/2496/
  ........
    r388976 | mjordan | 2013-05-17 14:43:58 -0300 (Fri, 17 May 2013) | 19 lines
    
    Publish the outbound channel's application/data when dialing
    
    This patch does two things:
    * It fixes a bug where the outbound channel's application/data set by the
      dialing API/app_dial is not communicated until the channel is hung up.
      If that happens, AMI would incorrectly send a NewExten event immediately
      after a Hangup. This isn't really AMI's fault, as the dialing APIs never
      communicated the 'helpful' app/data on the outbound channel until it was
      hungup.
    * It makes public sending a stasis message about a change in channel state.
      This is useful enough that - for now at least - it should be public. If
      operations on a channel go to being more coarse-grained, this function
      could be made private again.
    
    Review: https://reviewboard.asterisk.org/r/2548
    
    Note that this problem was found and reported by Matt DiMeo.
  ........
    r389009 | elguero | 2013-05-17 17:24:56 -0300 (Fri, 17 May 2013) | 17 lines
    
    Remove Character Limit On "inkeys" For IAX2
    
    Currently, the buffer for processing "inkeys" is limited to 256 characters.  If
    the user has many keys and the names of those key files are long, the 256
    character limit is not enough.
    
    * Change inkeys buffer to be dynamic
    
    (closes issue ASTERISK-21398)
    Reported by: Pavel Kopchyk
    Tested by: Pavel Kopchyk, Michael L. Young
    Patches:
        asterisk-21398-iax2-inkeys-dynamic-buffer_v3.diff
    					by Michael L. Young (license 5026)
    
    Review: https://reviewboard.asterisk.org/r/2501/
  ........
    r389011 | dlee | 2013-05-17 18:10:32 -0300 (Fri, 17 May 2013) | 27 lines
    
    Fix shutdown assertions in stasis-core
    
    In r388005, macros were introduced to consistently define message
    types. This added an assert if a message type was used either before
    it was initialized or after it had been cleaned up. It turns out that
    this assertion fires during shutdown.
    
    This actually exposed a hidden shutdown ordering problem. Since
    unsubscribing is asynchronous, it's possible that the message types
    used by the subscription could be freed before the final message of
    the subscription was processed.
    
    This patch adds stasis_subscription_join(), which blocks until the
    last message has been processed by the subscription. Since joining was
    most commonly done right after an unsubscribe, a
    stasis_unsubscribe_and_join() convenience function was also added.
    
    Similar functions were also added to the stasis_caching_topic and
    stasis_message_router, since they wrap subscriptions and have similar
    problems.
    
    Other code in trunk was refactored to join() where appropriate, or at
    least verify that the subscription was complete before being
    destroyed.
    
    Review: https://reviewboard.asterisk.org/r/2540
  ........
    r389053 | file | 2013-05-18 16:47:24 -0300 (Sat, 18 May 2013) | 7 lines
    
    Move origination to use the dialing API and send Stasis messages on dial begin and end.
    
    (closes issue ASTERISK-21549)
    Reported by: Matt Jordan
    
    Review: https://reviewboard.asterisk.org/r/2512/
  ........
    r389085 | file | 2013-05-18 19:49:14 -0300 (Sat, 18 May 2013) | 2 lines
    
    Fix a bug where synchronous origination (oddly enough triggered by doing an async manager Originate) would not work properly.
  ........
    r389097 | wedhorn | 2013-05-18 20:20:53 -0300 (Sat, 18 May 2013) | 16 lines
    
    Add call forward no answer to skinny and cleanup general callfwd handling.
    
    CallforwardNoAnswer uses a sched to determine when to forward the call. 
    Defaults to 20secs but configurable in skinny.conf.
    
    Adds dialType to each subchannel structure to be used to differentiate
    between normal dials that result in a call being placed (default) and
    other uses for the skinny_dialer (such as cfwd digit collection).
    Restructured all cfwd handling to use this new arrangement.
    
    (closes issue ASTERISK-21292)
    Reported by: wedhorn
    Tested by: myself
    Patches: 
        skinny-callfwdnoans03.diff uploaded by wedhorn (license 5019)
  ........
    r389116 | file | 2013-05-18 21:49:15 -0300 (Sat, 18 May 2013) | 2 lines
    
    If the caller of the originate API calls wants the channel ensure it has been requested and dialed.
  ........
    r389132 | file | 2013-05-18 23:21:44 -0300 (Sat, 18 May 2013) | 2 lines
    
    Don't hold the outgoing lock for a prolonged period of time as it may block the originator.
  ........
    r389148 | kmoore | 2013-05-19 14:45:42 -0300 (Sun, 19 May 2013) | 9 lines
    
    Add base XML documentation for res_sip
    
    Thanks to Brad Latus, this patch adds a significant amount much-needed
    documentation to res_sip. It should cover all existing configuration
    options currently in Asterisk trunk.
    
    Patch-by: Brad Latus (snuffy)
    Review: https://reviewboard.asterisk.org/r/2471/
  ........
    r389164 | wedhorn | 2013-05-19 16:45:14 -0300 (Sun, 19 May 2013) | 8 lines
    
    Add transfer softkey to ringout state to enable blond transfers.
    
    (closes issue ASTERISK-21327)
    Reported by: wedhorn
    Tested by: myself
    Patches: 
        skinny-blindxfer01.diff uploaded by wedhorn (license 5019)
  ........
    r389180 | may | 2013-05-19 17:52:34 -0300 (Sun, 19 May 2013) | 2 lines
    
    add ast_publish_channel_state according new event framework
  ........
  
  Merged revisions 388526,388531,388579,388598,388602,388617,388668,388701,388729,388751,388770,388818,388840,388896,388975-388976,389009,389011,389053,389085,389097,389116,389132,389148,389164,389180 from http://svn.asterisk.org/svn/asterisk/trunk
........
  r389200 | kmoore | 2013-05-20 08:37:50 -0500 (Mon, 20 May 2013) | 1 line
  
  Add documentation for media_encryption and use_avpf
........
  r389208 | root | 2013-05-20 09:18:00 -0500 (Mon, 20 May 2013) | 20 lines
  
  Multiple revisions 389202,389204
  
  ........
    r389202 | kmoore | 2013-05-20 08:45:50 -0500 (Mon, 20 May 2013) | 8 lines
    
    Add documentation for record_file_append
    
    When this option was added, it was noted in CHANGES, but was missing
    the XML documentation that this patch adds.
    
    (closes issue ASTERISK-21780)
    Patch-by: Brad Latus (snuffy)
  ........
    r389204 | file | 2013-05-20 09:02:37 -0500 (Mon, 20 May 2013) | 2 lines
    
    In Sorcery pass the name of the object being allocated to the allocator.
  ........
  
  Merged revisions 389202,389204 from file:///srv/subversion/repos/asterisk/trunk
........

Merged revisions 389196,389200,389208 from http://svn.asterisk.org/svn/asterisk/team/group/pimp_my_sip

Added:
    team/kharwell/pimp_sip_state/include/asterisk/stasis_app_impl.h
      - copied unchanged from r389208, team/group/pimp_my_sip/include/asterisk/stasis_app_impl.h
    team/kharwell/pimp_sip_state/res/res_stasis_answer.c
      - copied unchanged from r389208, team/group/pimp_my_sip/res/res_stasis_answer.c
    team/kharwell/pimp_sip_state/res/res_stasis_json_asterisk.c
      - copied unchanged from r389208, team/group/pimp_my_sip/res/res_stasis_json_asterisk.c
    team/kharwell/pimp_sip_state/res/res_stasis_json_asterisk.exports.in
      - copied unchanged from r389208, team/group/pimp_my_sip/res/res_stasis_json_asterisk.exports.in
    team/kharwell/pimp_sip_state/res/res_stasis_json_bridges.c
      - copied unchanged from r389208, team/group/pimp_my_sip/res/res_stasis_json_bridges.c
    team/kharwell/pimp_sip_state/res/res_stasis_json_bridges.exports.in
      - copied unchanged from r389208, team/group/pimp_my_sip/res/res_stasis_json_bridges.exports.in
    team/kharwell/pimp_sip_state/res/res_stasis_json_channels.c
      - copied unchanged from r389208, team/group/pimp_my_sip/res/res_stasis_json_channels.c
    team/kharwell/pimp_sip_state/res/res_stasis_json_channels.exports.in
      - copied unchanged from r389208, team/group/pimp_my_sip/res/res_stasis_json_channels.exports.in
    team/kharwell/pimp_sip_state/res/res_stasis_json_endpoints.c
      - copied unchanged from r389208, team/group/pimp_my_sip/res/res_stasis_json_endpoints.c
    team/kharwell/pimp_sip_state/res/res_stasis_json_endpoints.exports.in
      - copied unchanged from r389208, team/group/pimp_my_sip/res/res_stasis_json_endpoints.exports.in
    team/kharwell/pimp_sip_state/res/res_stasis_json_events.c
      - copied unchanged from r389208, team/group/pimp_my_sip/res/res_stasis_json_events.c
    team/kharwell/pimp_sip_state/res/res_stasis_json_events.exports.in
      - copied unchanged from r389208, team/group/pimp_my_sip/res/res_stasis_json_events.exports.in
    team/kharwell/pimp_sip_state/res/res_stasis_json_playback.c
      - copied unchanged from r389208, team/group/pimp_my_sip/res/res_stasis_json_playback.c
    team/kharwell/pimp_sip_state/res/res_stasis_json_playback.exports.in
      - copied unchanged from r389208, team/group/pimp_my_sip/res/res_stasis_json_playback.exports.in
    team/kharwell/pimp_sip_state/res/res_stasis_json_recordings.c
      - copied unchanged from r389208, team/group/pimp_my_sip/res/res_stasis_json_recordings.c
    team/kharwell/pimp_sip_state/res/res_stasis_json_recordings.exports.in
      - copied unchanged from r389208, team/group/pimp_my_sip/res/res_stasis_json_recordings.exports.in
    team/kharwell/pimp_sip_state/res/res_stasis_json_sounds.c
      - copied unchanged from r389208, team/group/pimp_my_sip/res/res_stasis_json_sounds.c
    team/kharwell/pimp_sip_state/res/res_stasis_json_sounds.exports.in
      - copied unchanged from r389208, team/group/pimp_my_sip/res/res_stasis_json_sounds.exports.in
    team/kharwell/pimp_sip_state/res/stasis/   (props changed)
      - copied from r389208, team/group/pimp_my_sip/res/stasis/
    team/kharwell/pimp_sip_state/res/stasis_json/
      - copied from r389208, team/group/pimp_my_sip/res/stasis_json/
    team/kharwell/pimp_sip_state/rest-api-templates/res_stasis_json_resource.c.mustache
      - copied unchanged from r389208, team/group/pimp_my_sip/rest-api-templates/res_stasis_json_resource.c.mustache
    team/kharwell/pimp_sip_state/rest-api-templates/res_stasis_json_resource.exports.mustache
      - copied unchanged from r389208, team/group/pimp_my_sip/rest-api-templates/res_stasis_json_resource.exports.mustache
    team/kharwell/pimp_sip_state/rest-api-templates/stasis_json_resource.h.mustache
      - copied unchanged from r389208, team/group/pimp_my_sip/rest-api-templates/stasis_json_resource.h.mustache
Modified:
    team/kharwell/pimp_sip_state/CHANGES
    team/kharwell/pimp_sip_state/addons/chan_ooh323.c
    team/kharwell/pimp_sip_state/addons/chan_ooh323.h
    team/kharwell/pimp_sip_state/apps/app_dial.c
    team/kharwell/pimp_sip_state/apps/app_queue.c
    team/kharwell/pimp_sip_state/apps/app_stasis.c
    team/kharwell/pimp_sip_state/apps/app_voicemail.c
    team/kharwell/pimp_sip_state/apps/confbridge/conf_config_parser.c
    team/kharwell/pimp_sip_state/channels/chan_gulp.c
    team/kharwell/pimp_sip_state/channels/chan_iax2.c
    team/kharwell/pimp_sip_state/channels/chan_sip.c
    team/kharwell/pimp_sip_state/channels/chan_skinny.c
    team/kharwell/pimp_sip_state/channels/sip/config_parser.c
    team/kharwell/pimp_sip_state/channels/sip/dialplan_functions.c
    team/kharwell/pimp_sip_state/channels/sip/include/config_parser.h
    team/kharwell/pimp_sip_state/channels/sip/include/sip.h
    team/kharwell/pimp_sip_state/channels/sip/security_events.c
    team/kharwell/pimp_sip_state/configs/skinny.conf.sample
    team/kharwell/pimp_sip_state/configure
    team/kharwell/pimp_sip_state/configure.ac
    team/kharwell/pimp_sip_state/funcs/func_presencestate.c
    team/kharwell/pimp_sip_state/include/asterisk/acl.h
    team/kharwell/pimp_sip_state/include/asterisk/astobj2.h
    team/kharwell/pimp_sip_state/include/asterisk/autoconfig.h.in
    team/kharwell/pimp_sip_state/include/asterisk/dial.h
    team/kharwell/pimp_sip_state/include/asterisk/json.h
    team/kharwell/pimp_sip_state/include/asterisk/module.h
    team/kharwell/pimp_sip_state/include/asterisk/netsock2.h
    team/kharwell/pimp_sip_state/include/asterisk/res_sip.h
    team/kharwell/pimp_sip_state/include/asterisk/security_events.h
    team/kharwell/pimp_sip_state/include/asterisk/security_events_defs.h
    team/kharwell/pimp_sip_state/include/asterisk/stasis.h
    team/kharwell/pimp_sip_state/include/asterisk/stasis_app.h
    team/kharwell/pimp_sip_state/include/asterisk/stasis_channels.h
    team/kharwell/pimp_sip_state/include/asterisk/stasis_message_router.h
    team/kharwell/pimp_sip_state/main/app.c
    team/kharwell/pimp_sip_state/main/asterisk.c
    team/kharwell/pimp_sip_state/main/astobj2.c
    team/kharwell/pimp_sip_state/main/channel.c
    team/kharwell/pimp_sip_state/main/devicestate.c
    team/kharwell/pimp_sip_state/main/dial.c
    team/kharwell/pimp_sip_state/main/endpoints.c
    team/kharwell/pimp_sip_state/main/json.c
    team/kharwell/pimp_sip_state/main/lock.c
    team/kharwell/pimp_sip_state/main/logger.c
    team/kharwell/pimp_sip_state/main/manager.c
    team/kharwell/pimp_sip_state/main/manager_channels.c
    team/kharwell/pimp_sip_state/main/named_acl.c
    team/kharwell/pimp_sip_state/main/pbx.c
    team/kharwell/pimp_sip_state/main/presencestate.c
    team/kharwell/pimp_sip_state/main/security_events.c
    team/kharwell/pimp_sip_state/main/sorcery.c
    team/kharwell/pimp_sip_state/main/stasis.c
    team/kharwell/pimp_sip_state/main/stasis_cache.c
    team/kharwell/pimp_sip_state/main/stasis_channels.c
    team/kharwell/pimp_sip_state/main/stasis_endpoints.c
    team/kharwell/pimp_sip_state/main/stasis_message_router.c
    team/kharwell/pimp_sip_state/main/test.c
    team/kharwell/pimp_sip_state/res/Makefile
    team/kharwell/pimp_sip_state/res/res_chan_stats.c
    team/kharwell/pimp_sip_state/res/res_jabber.c
    team/kharwell/pimp_sip_state/res/res_security_log.c
    team/kharwell/pimp_sip_state/res/res_sip.c
    team/kharwell/pimp_sip_state/res/res_sip/config_transport.c
    team/kharwell/pimp_sip_state/res/res_sip_acl.c
    team/kharwell/pimp_sip_state/res/res_sip_endpoint_identifier_ip.c
    team/kharwell/pimp_sip_state/res/res_sip_nat.c
    team/kharwell/pimp_sip_state/res/res_sip_outbound_registration.c
    team/kharwell/pimp_sip_state/res/res_srtp.c
    team/kharwell/pimp_sip_state/res/res_stasis.c
    team/kharwell/pimp_sip_state/res/res_stasis_http_events.c
    team/kharwell/pimp_sip_state/res/res_stasis_test.c
    team/kharwell/pimp_sip_state/res/stasis_http/resource_asterisk.h
    team/kharwell/pimp_sip_state/res/stasis_http/resource_bridges.h
    team/kharwell/pimp_sip_state/res/stasis_http/resource_channels.h
    team/kharwell/pimp_sip_state/res/stasis_http/resource_endpoints.h
    team/kharwell/pimp_sip_state/res/stasis_http/resource_events.h
    team/kharwell/pimp_sip_state/res/stasis_http/resource_playback.h
    team/kharwell/pimp_sip_state/res/stasis_http/resource_recordings.h
    team/kharwell/pimp_sip_state/res/stasis_http/resource_sounds.h
    team/kharwell/pimp_sip_state/rest-api-templates/make_stasis_http_stubs.py
    team/kharwell/pimp_sip_state/rest-api-templates/res_stasis_http_resource.c.mustache
    team/kharwell/pimp_sip_state/rest-api-templates/stasis_http_resource.h.mustache
    team/kharwell/pimp_sip_state/tests/test_res_stasis.c
    team/kharwell/pimp_sip_state/tests/test_security_events.c

Modified: team/kharwell/pimp_sip_state/CHANGES
URL: http://svnview.digium.com/svn/asterisk/team/kharwell/pimp_sip_state/CHANGES?view=diff&rev=389238&r1=389237&r2=389238
==============================================================================
--- team/kharwell/pimp_sip_state/CHANGES (original)
+++ team/kharwell/pimp_sip_state/CHANGES Mon May 20 10:41:19 2013
@@ -146,6 +146,11 @@
    If any resource is available the device state is considered to be not in use.
    If no resources exist or all are unavailable the device state is considered
    to be unavailable.
+
+Security Events Framework
+-------------------------
+ * Security Event timestamps now use ISO 8601 formatted date/time instead of the
+   "seconds-microseconds" format that it was using previously.
 
 Sorcery
 ------------------

Modified: team/kharwell/pimp_sip_state/addons/chan_ooh323.c
URL: http://svnview.digium.com/svn/asterisk/team/kharwell/pimp_sip_state/addons/chan_ooh323.c?view=diff&rev=389238&r1=389237&r2=389238
==============================================================================
--- team/kharwell/pimp_sip_state/addons/chan_ooh323.c (original)
+++ team/kharwell/pimp_sip_state/addons/chan_ooh323.c Mon May 20 10:41:19 2013
@@ -490,9 +490,8 @@
 	 	}
 
 		if (ch) {
-			manager_event(EVENT_FLAG_SYSTEM, "ChannelUpdate", 
-				"Channel: %s\r\nChanneltype: %s\r\n"
-				"CallRef: %d\r\n", ast_channel_name(ch), "OOH323", i->call_reference);
+			ast_publish_channel_state(ch);
+
 		}
 	} else
 		ast_log(LOG_WARNING, "Unable to allocate channel structure\n");
@@ -2149,8 +2148,7 @@
 
 			ast_queue_control(c, AST_CONTROL_ANSWER);
    			ast_channel_unlock(p->owner);
-			manager_event(EVENT_FLAG_SYSTEM,"ChannelUpdate","Channel: %s\r\nChanneltype: %s\r\n"
-				"CallRef: %d\r\n", ast_channel_name(c), "OOH323", p->call_reference);
+			ast_publish_channel_state(c);
 		}
 		ast_mutex_unlock(&p->lock);
 

Modified: team/kharwell/pimp_sip_state/addons/chan_ooh323.h
URL: http://svnview.digium.com/svn/asterisk/team/kharwell/pimp_sip_state/addons/chan_ooh323.h?view=diff&rev=389238&r1=389237&r2=389238
==============================================================================
--- team/kharwell/pimp_sip_state/addons/chan_ooh323.h (original)
+++ team/kharwell/pimp_sip_state/addons/chan_ooh323.h Mon May 20 10:41:19 2013
@@ -64,6 +64,7 @@
 #include "asterisk/format.h"
 #include "asterisk/format_cap.h"
 #include "asterisk/udptl.h"
+#include "asterisk/stasis_channels.h"
 
 #include "ootypes.h"
 #include "ooUtils.h"

Modified: team/kharwell/pimp_sip_state/apps/app_dial.c
URL: http://svnview.digium.com/svn/asterisk/team/kharwell/pimp_sip_state/apps/app_dial.c?view=diff&rev=389238&r1=389237&r2=389238
==============================================================================
--- team/kharwell/pimp_sip_state/apps/app_dial.c (original)
+++ team/kharwell/pimp_sip_state/apps/app_dial.c Mon May 20 10:41:19 2013
@@ -972,6 +972,7 @@
 
 		ast_channel_appl_set(c, "AppDial");
 		ast_channel_data_set(c, "(Outgoing Line)");
+		ast_publish_channel_state(c);
 
 		ast_channel_unlock(in);
 		if (single && !ast_test_flag64(o, OPT_IGNORE_CONNECTEDLINE)) {
@@ -2453,6 +2454,8 @@
 
 		ast_channel_appl_set(tc, "AppDial");
 		ast_channel_data_set(tc, "(Outgoing Line)");
+		ast_publish_channel_state(tc);
+
 		memset(ast_channel_whentohangup(tc), 0, sizeof(*ast_channel_whentohangup(tc)));
 
 		/* Determine CallerID to store in outgoing channel. */

Modified: team/kharwell/pimp_sip_state/apps/app_queue.c
URL: http://svnview.digium.com/svn/asterisk/team/kharwell/pimp_sip_state/apps/app_queue.c?view=diff&rev=389238&r1=389237&r2=389238
==============================================================================
--- team/kharwell/pimp_sip_state/apps/app_queue.c (original)
+++ team/kharwell/pimp_sip_state/apps/app_queue.c Mon May 20 10:41:19 2013
@@ -9866,9 +9866,7 @@
 
 	res |= ast_data_unregister(NULL);
 
-	if (device_state_sub) {
-		device_state_sub = stasis_unsubscribe(device_state_sub);
-	}
+	device_state_sub = stasis_unsubscribe_and_join(device_state_sub);
 
 	ast_extension_state_del(0, extension_state_cb);
 

Modified: team/kharwell/pimp_sip_state/apps/app_stasis.c
URL: http://svnview.digium.com/svn/asterisk/team/kharwell/pimp_sip_state/apps/app_stasis.c?view=diff&rev=389238&r1=389237&r2=389238
==============================================================================
--- team/kharwell/pimp_sip_state/apps/app_stasis.c (original)
+++ team/kharwell/pimp_sip_state/apps/app_stasis.c Mon May 20 10:41:19 2013
@@ -35,7 +35,7 @@
 #include "asterisk/app.h"
 #include "asterisk/module.h"
 #include "asterisk/stasis.h"
-#include "asterisk/stasis_app.h"
+#include "asterisk/stasis_app_impl.h"
 
 /*** DOCUMENTATION
 	<application name="Stasis" language="en_US">

Modified: team/kharwell/pimp_sip_state/apps/app_voicemail.c
URL: http://svnview.digium.com/svn/asterisk/team/kharwell/pimp_sip_state/apps/app_voicemail.c?view=diff&rev=389238&r1=389237&r2=389238
==============================================================================
--- team/kharwell/pimp_sip_state/apps/app_voicemail.c (original)
+++ team/kharwell/pimp_sip_state/apps/app_voicemail.c Mon May 20 10:41:19 2013
@@ -12689,9 +12689,7 @@
 {
 	poll_thread_run = 0;
 
-	if (mwi_sub_sub) {
-		mwi_sub_sub = stasis_unsubscribe(mwi_sub_sub);
-	}
+	mwi_sub_sub = stasis_unsubscribe_and_join(mwi_sub_sub);
 
 	ast_mutex_lock(&poll_lock);
 	ast_cond_signal(&poll_cond);
@@ -15118,24 +15116,20 @@
 	mailbox_snapshot->folders = ARRAY_LEN(mailbox_folders);
 
 	for (i = 0; i < mailbox_snapshot->folders; i++) {
-		int combining_old = 0;
-		/* Assume we are combining folders if:
-		 *  - The current index is the old folder index OR
-		 *  - The current index is urgent and we were looking for INBOX or all folders OR
-		 *  - The current index is INBOX and we were looking for Urgent or all folders
+		int msg_folder_index = i;
+
+		/* We want this message in the snapshot if any of the following:
+		 *   No folder was specified.
+		 *   The specified folder matches the current folder.
+		 *   The specified folder is INBOX AND we were asked to combine messages AND the current folder is either Old or Urgent.
 		 */
-		if ((i == old_index ||
-			(i == urgent_index && (this_index_only == inbox_index || this_index_only == -1)) ||
-			(i == inbox_index && (this_index_only == urgent_index || this_index_only == -1))) && (combine_INBOX_and_OLD)) {
-			combining_old = 1;
-		}
-
-		/* This if statement is confusing looking.  Here is what it means in english.
-		 * - If a folder is given to the function and that folder's index is not the one we are iterating over, skip it...
-		 * - Unless the folder provided is the INBOX folder and the current index is the OLD folder and we are combining OLD and INBOX msgs.
-		 */
-		if ((this_index_only != -1) && (this_index_only != i) && !(combining_old && i == old_index && this_index_only == inbox_index)) {
+		if (!(this_index_only == -1 || this_index_only == i || (this_index_only == inbox_index && combine_INBOX_and_OLD && (i == old_index || i == urgent_index)))) {
 			continue;
+		}
+
+		/* Make sure that Old or Urgent messages are marked as being in INBOX. */
+		if (combine_INBOX_and_OLD && (i == old_index || i == urgent_index)) {
+			msg_folder_index = inbox_index;
 		}
 
 		memset(&vms, 0, sizeof(vms));
@@ -15152,7 +15146,7 @@
 
 		/* Iterate through each msg, storing off info */
 		if (vms.lastmsg != -1) {
-			if ((vm_msg_snapshot_create(vmu, &vms, mailbox_snapshot, combining_old ? inbox_index : i, i, descending, sort_val))) {
+			if ((vm_msg_snapshot_create(vmu, &vms, mailbox_snapshot, msg_folder_index, i, descending, sort_val))) {
 				ast_log(LOG_WARNING, "Failed to create msg snapshots for %s@%s\n", mailbox, context);
 				goto snapshot_cleanup;
 			}

Modified: team/kharwell/pimp_sip_state/apps/confbridge/conf_config_parser.c
URL: http://svnview.digium.com/svn/asterisk/team/kharwell/pimp_sip_state/apps/confbridge/conf_config_parser.c?view=diff&rev=389238&r1=389237&r2=389238
==============================================================================
--- team/kharwell/pimp_sip_state/apps/confbridge/conf_config_parser.c (original)
+++ team/kharwell/pimp_sip_state/apps/confbridge/conf_config_parser.c Mon May 20 10:41:19 2013
@@ -290,6 +290,15 @@
 						allows the record name to be specified and a unique name to be chosen.
 						By default, the record_file is stored in Asterisk's spool/monitor directory
 						with a unique filename starting with the 'confbridge' prefix.
+					</para></description>
+				</configOption>
+				<configOption name="record_file_append" default="yes">
+					<synopsis>Append record file when starting/stopping on same conference recording</synopsis>
+					<description><para>
+						When record_file_append is set to yes, stopping and starting recording on a
+						conference adds the new portion to end of current record_file. When this is
+						set to no, a new record_file is generated every time you start then stop recording
+						on a conference.
 					</para></description>
 				</configOption>
 				<configOption name="video_mode">

Modified: team/kharwell/pimp_sip_state/channels/chan_gulp.c
URL: http://svnview.digium.com/svn/asterisk/team/kharwell/pimp_sip_state/channels/chan_gulp.c?view=diff&rev=389238&r1=389237&r2=389238
==============================================================================
--- team/kharwell/pimp_sip_state/channels/chan_gulp.c (original)
+++ team/kharwell/pimp_sip_state/channels/chan_gulp.c Mon May 20 10:41:19 2013
@@ -117,8 +117,10 @@
 {
 	struct gulp_pvt *pvt = obj;
 	int i;
+
 	ao2_cleanup(pvt->session);
 	pvt->session = NULL;
+
 	for (i = 0; i < SIP_MEDIA_SIZE; ++i) {
 		ao2_cleanup(pvt->media[i]);
 		pvt->media[i] = NULL;
@@ -186,15 +188,16 @@
 /*! \brief Dialplan function for constructing a dial string for calling all contacts */
 static int gulp_dial_contacts(struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t len)
 {
+	RAII_VAR(struct ast_sip_endpoint *, endpoint, NULL, ao2_cleanup);
+	RAII_VAR(struct ast_str *, dial, NULL, ast_free_ptr);
+	const char *aor_name;
+	char *rest;
+
 	AST_DECLARE_APP_ARGS(args,
 		AST_APP_ARG(endpoint_name);
 		AST_APP_ARG(aor_name);
 		AST_APP_ARG(request_user);
 	);
-	RAII_VAR(struct ast_sip_endpoint *, endpoint, NULL, ao2_cleanup);
-	const char *aor_name;
-	char *rest;
-	RAII_VAR(struct ast_str *, dial, NULL, ast_free_ptr);
 
 	AST_STANDARD_APP_ARGS(args, data);
 
@@ -402,12 +405,14 @@
 static void gulp_get_codec(struct ast_channel *chan, struct ast_format_cap *result)
 {
 	struct gulp_pvt *pvt = ast_channel_tech_pvt(chan);
+
 	ast_format_cap_copy(result, pvt->session->endpoint->codecs);
 }
 
 static int send_direct_media_request(void *data)
 {
 	RAII_VAR(struct ast_sip_session *, session, data, ao2_cleanup);
+
 	return ast_sip_session_refresh(session, NULL, NULL, session->endpoint->direct_media_method, 1);
 }
 
@@ -583,6 +588,7 @@
 	}
 
 	ao2_ref(session, -1);
+
 	return (status == PJ_SUCCESS) ? 0 : -1;
 }
 
@@ -604,6 +610,7 @@
 		ao2_cleanup(session);
 		return -1;
 	}
+
 	return 0;
 }
 
@@ -669,8 +676,8 @@
 static int gulp_write(struct ast_channel *ast, struct ast_frame *frame)
 {
 	struct gulp_pvt *pvt = ast_channel_tech_pvt(ast);
+	struct ast_sip_session_media *media;
 	int res = 0;
-	struct ast_sip_session_media *media;
 
 	switch (frame->frametype) {
 	case AST_FRAME_VOICE:
@@ -715,7 +722,9 @@
 static int fixup(void *data)
 {
 	struct fixup_data *fix_data = data;
+
 	fix_data->session->channel = fix_data->chan;
+
 	return 0;
 }
 
@@ -725,6 +734,7 @@
 	struct gulp_pvt *pvt = ast_channel_tech_pvt(newchan);
 	struct ast_sip_session *session = pvt->session;
 	struct fixup_data fix_data;
+
 	fix_data.session = session;
 	fix_data.chan = newchan;
 
@@ -751,6 +761,7 @@
 static void indicate_data_destroy(void *obj)
 {
 	struct indicate_data *ind_data = obj;
+
 	ast_free(ind_data->frame_data);
 	ao2_ref(ind_data->session, -1);
 }
@@ -759,35 +770,40 @@
 		int condition, int response_code, const void *frame_data, size_t datalen)
 {
 	struct indicate_data *ind_data = ao2_alloc(sizeof(*ind_data), indicate_data_destroy);
+
 	if (!ind_data) {
 		return NULL;
 	}
+
 	ind_data->frame_data = ast_malloc(datalen);
 	if (!ind_data->frame_data) {
 		ao2_ref(ind_data, -1);
 		return NULL;
 	}
+
 	memcpy(ind_data->frame_data, frame_data, datalen);
 	ind_data->datalen = datalen;
 	ind_data->condition = condition;
 	ind_data->response_code = response_code;
 	ao2_ref(session, +1);
 	ind_data->session = session;
+
 	return ind_data;
 }
 
 static int indicate(void *data)
 {
+	pjsip_tx_data *packet = NULL;
 	struct indicate_data *ind_data = data;
 	struct ast_sip_session *session = ind_data->session;
 	int response_code = ind_data->response_code;
-	pjsip_tx_data *packet = NULL;
 
 	if (pjsip_inv_answer(session->inv_session, response_code, NULL, NULL, &packet) == PJ_SUCCESS) {
 		ast_sip_session_send_response(session, packet);
 	}
 
 	ao2_ref(ind_data, -1);
+
 	return 0;
 }
 
@@ -829,11 +845,11 @@
 /*! \brief Function called by core to ask the channel to indicate some sort of condition */
 static int gulp_indicate(struct ast_channel *ast, int condition, const void *data, size_t datalen)
 {
-	int res = 0;
 	struct gulp_pvt *pvt = ast_channel_tech_pvt(ast);
 	struct ast_sip_session *session = pvt->session;
 	struct ast_sip_session_media *media;
 	int response_code = 0;
+	int res = 0;
 
 	switch (condition) {
 	case AST_CONTROL_RINGING:
@@ -936,8 +952,8 @@
 {
 	struct gulp_pvt *pvt = ast_channel_tech_pvt(chan);
 	struct ast_sip_session *session = pvt->session;
+	struct ast_sip_session_media *media = pvt->media[SIP_MEDIA_AUDIO];
 	int res = 0;
-	struct ast_sip_session_media *media = pvt->media[SIP_MEDIA_AUDIO];
 
 	switch (session->endpoint->dtmf) {
 	case AST_SIP_DTMF_RFC_4733:
@@ -1024,8 +1040,8 @@
 {
 	struct gulp_pvt *pvt = ast_channel_tech_pvt(ast);
 	struct ast_sip_session *session = pvt->session;
+	struct ast_sip_session_media *media = pvt->media[SIP_MEDIA_AUDIO];
 	int res = 0;
-	struct ast_sip_session_media *media = pvt->media[SIP_MEDIA_AUDIO];
 
 	switch (session->endpoint->dtmf) {
 	case AST_SIP_DTMF_INFO:
@@ -1087,6 +1103,7 @@
 		ao2_cleanup(session);
 		return -1;
 	}
+
 	return 0;
 }
 
@@ -1146,17 +1163,21 @@
 static void hangup_data_destroy(void *obj)
 {
 	struct hangup_data *h_data = obj;
+
 	h_data->chan = ast_channel_unref(h_data->chan);
 }
 
 static struct hangup_data *hangup_data_alloc(int cause, struct ast_channel *chan)
 {
 	struct hangup_data *h_data = ao2_alloc(sizeof(*h_data), hangup_data_destroy);
+
 	if (!h_data) {
 		return NULL;
 	}
+
 	h_data->cause = cause;
 	h_data->chan = ast_channel_ref(chan);
+
 	return h_data;
 }
 
@@ -1183,6 +1204,7 @@
 
 	ao2_cleanup(pvt);
 	ao2_cleanup(h_data);
+
 	return 0;
 }
 
@@ -1193,6 +1215,7 @@
 	struct ast_sip_session *session = pvt->session;
 	int cause = hangup_cause2sip(ast_channel_hangupcause(session->channel));
 	struct hangup_data *h_data = hangup_data_alloc(cause, ast);
+
 	if (!h_data) {
 		goto failure;
 	}
@@ -1201,6 +1224,7 @@
 		ast_log(LOG_WARNING, "Unable to push hangup task to the threadpool. Expect bad things\n");
 		goto failure;
 	}
+
 	return 0;
 
 failure:
@@ -1212,6 +1236,7 @@
 	ast_channel_tech_pvt_set(ast, NULL);
 

[... 8908 lines stripped ...]



More information about the asterisk-commits mailing list