[svn-commits] file: branch file/pimp_sip_media r381153 - in /team/file/pimp_sip_media: ./ c...

SVN commits to the Digium repositories svn-commits at lists.digium.com
Sun Feb 10 15:19:38 CST 2013


Author: file
Date: Sun Feb 10 15:19:32 2013
New Revision: 381153

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=381153
Log:
Multiple revisions 380859,380899,380929,380946,380960,381001,381020,381040,381072,381089,381105,381121,381137,381150

........
  r380859 | root | 2013-02-05 14:18:05 -0400 (Tue, 05 Feb 2013) | 24 lines
  
  Merged revisions 380855,380858 via svnmerge from 
  file:///srv/subversion/repos/asterisk/trunk
  
  ................
    r380855 | rmudgett | 2013-02-05 12:13:09 -0600 (Tue, 05 Feb 2013) | 10 lines
    
    Separate option_types[] from the struct definition.
    
    Updated the option_types[] doxygen comment.
    ........
    
    Merged revisions 380853 from http://svn.asterisk.org/svn/asterisk/branches/1.8
    ........
    
    Merged revisions 380854 from http://svn.asterisk.org/svn/asterisk/branches/11
  ................
    r380858 | rmudgett | 2013-02-05 12:17:29 -0600 (Tue, 05 Feb 2013) | 5 lines
    
    Because the compiler can check types with a struct copy and memcpy() cannot.
    ........
    
    Merged revisions 380856 from http://svn.asterisk.org/svn/asterisk/branches/11
  ................
........
  r380899 | root | 2013-02-05 15:17:55 -0400 (Tue, 05 Feb 2013) | 60 lines
  
  Merged revisions 380890,380893,380896 via svnmerge from 
  file:///srv/subversion/repos/asterisk/trunk
  
  ................
    r380890 | rmudgett | 2013-02-05 12:28:51 -0600 (Tue, 05 Feb 2013) | 5 lines
    
    app_page: Fixup application XML documentation typos and inaccuracies.
    ........
    
    Merged revisions 380869 from http://svn.asterisk.org/svn/asterisk/branches/11
  ................
    r380893 | rmudgett | 2013-02-05 12:50:50 -0600 (Tue, 05 Feb 2013) | 17 lines
    
    app_confbridge: Fix error messages on exiting conference.
    
    A marked user ending a conference with only end_marked users generates
    error messages:
    ERROR[0000][C-00000000]: confbridge/conf_state.c:47 conf_invalid_event_fn: Invalid event for confbridge user ''
    
    * The MULTI_MARKED state was doing too much when it was kicking out the
    end_marked users from the conference.  The kicked out users will clean up
    after themselves when they exit the conference.
    
    (closes issue ASTERISK-20991)
    Reported by: Jeremy Kister
    Tested by: rmudgett
    ........
    
    Merged revisions 380892 from http://svn.asterisk.org/svn/asterisk/branches/11
  ................
    r380896 | rmudgett | 2013-02-05 13:11:33 -0600 (Tue, 05 Feb 2013) | 27 lines
    
    app_page and app_confbridge: Fix custom announcement on entering conference.
    
    The Page and ConfBridge custom announcement did not play when users
    entered the conference.
    
    * Fix the CONFBRIDGE(user,announcement) file not getting played.  The code
    to do this got removed accidentally when the ConfBridge code was
    restructured to be more state machine like.
    
    * Fixed play_prompt_to_user() doxygen comments.
    
    * Fixed the Page A(x) and n options for the caller.  The caller never
    played the announcement file and totally ignored the n option.  The code
    to do this was lost when the application was converted to use ConfBridge.
    
    * Factored out setup_profile_bridge(), setup_profile_paged(), and
    setup_profile_caller() routines to setup ConfBridge profiles.  Made each
    profile setup routine use the default template if one has not already been
    setup by dialplan.
    
    (closes issue ASTERISK-20990)
    Reported by: Jeremy Kister
    Tested by: rmudgett
    ........
    
    Merged revisions 380894 from http://svn.asterisk.org/svn/asterisk/branches/11
  ................
........
  r380929 | root | 2013-02-06 03:18:16 -0400 (Wed, 06 Feb 2013) | 20 lines
  
  Merged revisions 380925 via svnmerge from 
  file:///srv/subversion/repos/asterisk/trunk
  
  ........
    r380925 | wedhorn | 2013-02-06 00:55:02 -0600 (Wed, 06 Feb 2013) | 13 lines
    
    Reset skinny vmexten and immeddial char on reload.
    
    Make skinny reset vmexten and immeddial to '\0' on reload to ensure that
    it is set to '\0' if the appropriate item is removed/commented in 
    skinny.conf. Also small fix re immeddial char in skinny.conf and add
    immedial setting to skinny show settings.
    
    (closes issue ASTERISK-21037)
    Reported by: snuffy
    Tested by: snuffy, myself
    Patches: 
        immed_dial_fix.diff uploaded by snuffy (license 5024)
  ........
........
  r380946 | root | 2013-02-06 05:18:18 -0400 (Wed, 06 Feb 2013) | 22 lines
  
  Merged revisions 380943 via svnmerge from 
  file:///srv/subversion/repos/asterisk/trunk
  
  ................
    r380943 | wedhorn | 2013-02-06 02:44:32 -0600 (Wed, 06 Feb 2013) | 15 lines
    
    Fix reload skinny with active devices.
    
    Patch ensures that d->activeline and l->activesub are moved over to the
    new device and line so that on callend the appropriate subs can be found
    to complete hangup before device resets.
    
    (closes issue ASTERISK-16610)
    Reported by: wedhorn
    Tested by: snuffy, myself
    Patches: 
        skinny-reloadactive01.diff uploaded by wedhorn (license 5019)
    ........
    
    Merged revisions 380942 from http://svn.asterisk.org/svn/asterisk/branches/11
  ................
........
  r380960 | file | 2013-02-06 08:40:35 -0400 (Wed, 06 Feb 2013) | 1 line
  
  Use the configured endpoint context when creating a channel.
........
  r381001 | root | 2013-02-06 17:18:20 -0400 (Wed, 06 Feb 2013) | 22 lines
  
  Merged revisions 380977 via svnmerge from 
  file:///srv/subversion/repos/asterisk/trunk
  
  ................
    r380977 | dlee | 2013-02-06 14:18:05 -0600 (Wed, 06 Feb 2013) | 15 lines
    
    Fixed failing test from r380696.
    
    When I added my extensive suite of session timer unit tests, apparently one of
    them was failing and I never noticed. If neither Min-SE nor Session-Expires is
    set in the header, it was responding with a Session-Expires of the global
    maxmimum instead of the configured max for the endpoint.
    
    (issue ASTERISK-20787)
    ........
    
    Merged revisions 380973 from http://svn.asterisk.org/svn/asterisk/branches/1.8
    ........
    
    Merged revisions 380974 from http://svn.asterisk.org/svn/asterisk/branches/11
  ................
........
  r381020 | root | 2013-02-07 11:19:00 -0400 (Thu, 07 Feb 2013) | 15 lines
  
  Merged revisions 381017 via svnmerge from 
  file:///srv/subversion/repos/asterisk/trunk
  
  ........
    r381017 | kmoore | 2013-02-07 09:16:44 -0600 (Thu, 07 Feb 2013) | 8 lines
    
    Add aggregate operations for stuctures with string fields
    
    Add struct-level comparison and copying of string fields to reduce the
    complexity of whole-struct comparison and copying when using string
    fields. The new macros do not take into account non-stringfield data.
    
    Review: https://reviewboard.asterisk.org/r/2308/
  ........
........
  r381040 | root | 2013-02-07 14:18:18 -0400 (Thu, 07 Feb 2013) | 16 lines
  
  Merged revisions 381037 via svnmerge from 
  file:///srv/subversion/repos/asterisk/trunk
  
  ........
    r381037 | file | 2013-02-07 11:57:10 -0600 (Thu, 07 Feb 2013) | 9 lines
    
    Fix a bug where a changed configuration file might not be available to all sorcery object types.
    
    Since res_sorcery_config used a static name of "res_sorcery_config" to inform the configuration
    file API that it asked for the configuration file it was possible during a reload for some sorcery
    object types not to receive the new configuration file.
    
    This change introduces a UUID on a per-sorcery config instance basis so that the unchanged state
    is kept on an instance basis and not for the res_sorcery_config module as a whole.
  ........
........
  r381072 | root | 2013-02-08 14:18:32 -0400 (Fri, 08 Feb 2013) | 34 lines
  
  Merged revisions 381068-381069 via svnmerge from 
  file:///srv/subversion/repos/asterisk/trunk
  
  ................
    r381068 | jrose | 2013-02-08 11:36:23 -0600 (Fri, 08 Feb 2013) | 8 lines
    
    Call Parking: Set PARKINGLOT and PARKINGSLOT variables on all parked calls
    
    These two variables were previously not being set when comebacktoorigin=yes
    and the example configs seemed to imply that they should be. Since there
    is no harm in this and since calls that are sent back to origin are capable
    of continuing in the dialplan, this seemed like a no-brainer. Also it
    supports some bridging tests I've been working on.
  ................
    r381069 | rmudgett | 2013-02-08 11:37:27 -0600 (Fri, 08 Feb 2013) | 17 lines
    
    app_confbridge: Fix crash from receiving an AMI action after ConfBridge unloaded.
    
    Unloading ConfBridge caused the next AMI action received to crash
    Asterisk.
    
    * Add the missing unregister of AMI action ConfbridgeSetSingleVideoSrc
    when ConfBridge is unloaded.
    
    (closes issue ASTERISK-20994)
    Reported by: Jeremy Kister
    Patches:
          jira_asterisk_20994_v11.patch (license #5621) patch uploaded by rmudgett
    Tested by: Rusty Newton, Jeremy Kister
    ........
    
    Merged revisions 381067 from http://svn.asterisk.org/svn/asterisk/branches/11
  ................
........
  r381089 | root | 2013-02-08 22:18:21 -0400 (Fri, 08 Feb 2013) | 9 lines
  
  Merged revisions 381086 via svnmerge from 
  file:///srv/subversion/repos/asterisk/trunk
  
  ........
    r381086 | rmudgett | 2013-02-08 19:31:55 -0600 (Fri, 08 Feb 2013) | 1 line
    
    Make ast_do_masquerade() a void function.
  ........
........
  r381105 | root | 2013-02-09 00:18:16 -0400 (Sat, 09 Feb 2013) | 17 lines
  
  Merged revisions 381102 via svnmerge from 
  file:///srv/subversion/repos/asterisk/trunk
  
  ........
    r381102 | rmudgett | 2013-02-08 21:51:32 -0600 (Fri, 08 Feb 2013) | 10 lines
    
    pbx: Make function and application containers take advantage of being sorted.
    
    * Fixed "core show function" tab completion and token count checking.
    
    * Refactored function and application container handling code to reduce
    redundancy.
    
    * Made __ast_pbx_run() return using the defines the caller should expect.
    Doesn't change the returned values.  Just made use the defines.
  ........
........
  r381121 | root | 2013-02-09 17:18:51 -0400 (Sat, 09 Feb 2013) | 19 lines
  
  Merged revisions 381118 via svnmerge from 
  file:///srv/subversion/repos/asterisk/trunk
  
  ........
    r381118 | rmudgett | 2013-02-09 14:58:53 -0600 (Sat, 09 Feb 2013) | 12 lines
    
    pbx: Fix regression caused by taking advantage of the function name sort.
    
    Taking advantage of the sorted order of the registered functions container
    requires that they are actually inserted in the expected sort order.
    
    * Insert the registered functions into the container in case sensitive
    position.  As a result, only the complete_functions() routine needs to
    search the entire container because it does a case insensitive search for
    convenience.
    
    Caught by the unit tests.
  ........
........
  r381137 | root | 2013-02-10 11:18:54 -0400 (Sun, 10 Feb 2013) | 14 lines
  
  Merged revisions 381134 via svnmerge from 
  file:///srv/subversion/repos/asterisk/trunk
  
  ........
    r381134 | file | 2013-02-10 08:58:37 -0600 (Sun, 10 Feb 2013) | 7 lines
    
    Add additional functionality to the Sorcery API.
    
    This commit adds native implementation support for copying and diffing objects,
    as well as the ability to load or reload on a per-object type level.
    
    Review: https://reviewboard.asterisk.org/r/2320/
  ........
........
  r381150 | file | 2013-02-10 17:10:20 -0400 (Sun, 10 Feb 2013) | 1 line
  
  Add a session supplement callback for when the session is being destroyed.
........

Merged revisions 380859,380899,380929,380946,380960,381001,381020,381040,381072,381089,381105,381121,381137,381150 from http://svn.asterisk.org/svn/asterisk/team/group/pimp_my_sip

Modified:
    team/file/pimp_sip_media/   (props changed)
    team/file/pimp_sip_media/channels/chan_gulp.c
    team/file/pimp_sip_media/include/asterisk/res_sip_session.h
    team/file/pimp_sip_media/res/res_sip_session.c

Propchange: team/file/pimp_sip_media/
------------------------------------------------------------------------------
--- pimp-integrated (original)
+++ pimp-integrated Sun Feb 10 15:19:32 2013
@@ -1,1 +1,1 @@
-/team/group/pimp_my_sip:1-380846
+/team/group/pimp_my_sip:1-381150

Modified: team/file/pimp_sip_media/channels/chan_gulp.c
URL: http://svnview.digium.com/svn/asterisk/team/file/pimp_sip_media/channels/chan_gulp.c?view=diff&rev=381153&r1=381152&r2=381153
==============================================================================
--- team/file/pimp_sip_media/channels/chan_gulp.c (original)
+++ team/file/pimp_sip_media/channels/chan_gulp.c Sun Feb 10 15:19:32 2013
@@ -183,7 +183,7 @@
 
 	ast_channel_adsicpe_set(chan, AST_ADSI_UNAVAILABLE);
 
-	ast_channel_context_set(chan, "default");
+	ast_channel_context_set(chan, session->endpoint->context);
 	ast_channel_exten_set(chan, S_OR(exten, "s"));
 	ast_channel_priority_set(chan, 1);
 

Modified: team/file/pimp_sip_media/include/asterisk/res_sip_session.h
URL: http://svnview.digium.com/svn/asterisk/team/file/pimp_sip_media/include/asterisk/res_sip_session.h?view=diff&rev=381153&r1=381152&r2=381153
==============================================================================
--- team/file/pimp_sip_media/include/asterisk/res_sip_session.h (original)
+++ team/file/pimp_sip_media/include/asterisk/res_sip_session.h Sun Feb 10 15:19:32 2013
@@ -92,25 +92,28 @@
  * These can be registered by any module in order to add
  * processing to incoming and outgoing SIP requests and responses
  */
-struct ast_sip_session_supplement {
-    /*! Method on which to call the callbacks. If NULL, call on all methods */
-    const char *method;
-    /*! Notification that the session has begun */
-    void (*session_begin)(struct ast_sip_session *session);
-    /*! Notification that the session has ended */
-    void (*session_end)(struct ast_sip_session *session);
-    /*!
-     * \brief Called on incoming SIP request
-     * This method can indicate a failure in processing in its return. If there
-     * is a failure, it is required that this method sends a response to the request.
-     */
-    int (*incoming_request)(struct ast_sip_session *session, struct pjsip_rx_data *rdata);
-    /*! Called on an incoming SIP response */
-    void (*incoming_response)(struct ast_sip_session *session, struct pjsip_rx_data *rdata);
-    /*! Called on an outgoing SIP request */
-    void (*outgoing_request)(struct ast_sip_session *session, struct pjsip_tx_data *tdata);
-    /*! Called on an outgoing SIP response */
-    void (*outgoing_response)(struct ast_sip_session *session, struct pjsip_tx_data *tdata);
+struct ast_sip_session_supplement{
+	/*! Method on which to call the callbacks. If NULL, call on all methods */
+	const char *method;
+	/*! Notification that the session has begun */
+	void (*session_begin)(struct ast_sip_session *session);
+	/*! Notification that the session has ended */
+	void (*session_end)(struct ast_sip_session *session);
+	/*! Notification that the session is being destroyed */
+	void (*session_destroy)(struct ast_sip_session *session);
+	/*!
+	 * \brief Called on incoming SIP request
+	 * This method can indicate a failure in processing in its return. If there
+	 * is a failure, it is required that this method sends a response to the request.
+
+	 */
+	int (*incoming_request)(struct ast_sip_session *session, struct pjsip_rx_data *rdata);
+	/*! Called on an incoming SIP response */
+	void (*incoming_response)(struct ast_sip_session *session, struct pjsip_rx_data *rdata);
+	/*! Called on an outgoing SIP request */
+	void (*outgoing_request)(struct ast_sip_session *session, struct pjsip_tx_data *tdata);
+	/*! Called on an outgoing SIP response */
+	void (*outgoing_response)(struct ast_sip_session *session, struct pjsip_tx_data *tdata);
 	/*! Next item in the list */
 	AST_LIST_ENTRY(ast_sip_session_supplement) next;
 };
@@ -124,35 +127,44 @@
 struct ast_sip_session_sdp_handler {
 	/*! An identifier for this handler */
 	const char *id;
-    /*!
-     * \brief Set session details based on a stream in an incoming SDP offer or answer
-     * \param session The session for which the media is being negotiated
+	/*!
+	 * \brief Set session details based on a stream in an incoming SDP offer or answer
+	 * \param session The session for which the media is being negotiated
 	 * \param sdp The entire SDP. Useful for getting "global" information, such as connections or attributes
-     * \param stream The stream on which to operate
-     * \retval 0 The stream was not handled by this handler. If there are other registered handlers for this stream type, they will be called.
-     * \retval <0 There was an error encountered. No further operation will take place and the current negotiation will be abandoned.
-     * \retval >0 The stream was handled by this handler. No further handler of this stream type will be called.
-     */
-    int (*negotiate_incoming_sdp_stream)(struct ast_sip_session *session, const struct pjmedia_sdp_session *sdp, const struct pjmedia_sdp_media *stream);
-    /*!
-     * \brief Create an SDP media stream and add it to the outgoing SDP offer or answer
-     * \param session The session for which media is being added
+	 * \param stream The stream on which to operate
+	 * \retval 0 The stream was not handled by this handler. If there are other registered handlers for this stream type, they will be called.
+	 * \retval <0 There was an error encountered. No further operation will take place and the current negotiation will be abandoned.
+	 * \retval >0 The stream was handled by this handler. No further handler of this stream type will be called.
+	 */
+	int (*negotiate_incoming_sdp_stream)(struct ast_sip_session *session, const struct pjmedia_sdp_session *sdp, const struct pjmedia_sdp_media *stream);
+	/*!
+	 * \brief Create an SDP media stream and add it to the outgoing SDP offer or answer
+	 * \param session The session for which media is being added
+	 * \param stream The stream on which to operate
+	 * \retval 0 The stream was not handled by this handler. If there are other registered handlers for this stream type, they will be called.
+	 * \retval <0 There was an error encountered. No further operation will take place and the current negotiation will be abandoned.
+	 * \retval >0 The stream was handled by this handler. No further handler of this stream type will be called.
+	 */
+	int (*handle_incoming_sdp_stream)(struct ast_sip_session *session, const struct pjmedia_sdp_session *sdp, struct pjmedia_sdp_media *stream);
+	/*!
+	 * \brief Create an SDP media stream and add it to the outgoing SDP offer or answer
+	 * \param session The session for which media is being added
 	 * \param sdp The entire SDP as currently built
-     * \retval 0 This handler has no stream to add. If there are other registered handlers for this stream type, they will be called.
-     * \retval <0 There was an error encountered. No further operation will take place and the current SDP negotiation will be abandoned.
-     * \retval >0 The handler has a stream to be added to the SDP. No further handler of this stream type will be called.
-     */
-    int (*create_outgoing_sdp_stream)(struct ast_sip_session *session, struct pjmedia_sdp_session *sdp);
-    /*!
-     * \brief Apply a negotiated SDP media stream
-     * \param session The session for which media is being applied
-     * \param sdp The entire SDP
-     * \param stream The stream which to apply
-     * \retval 0 The stream was not applied by this handler. If there are other registered handlers for this stream type, they will be called.
-     * \retval <0 There was an error encountered. No further operation will take place and the current application will be abandoned.
-     * \retval >0 The stream was handled by this handler. No further handler of this stream type will be called.
-     */
-    int (*apply_negotiated_sdp_stream)(struct ast_sip_session *session, const struct pjmedia_sdp_session *sdp, const struct pjmedia_sdp_media *stream);
+	 * \retval 0 This handler has no stream to add. If there are other registered handlers for this stream type, they will be called.
+	 * \retval <0 There was an error encountered. No further operation will take place and the current SDP negotiation will be abandoned.
+	 * \retval >0 The handler has a stream to be added to the SDP. No further handler of this stream type will be called.
+	 */
+	int (*create_outgoing_sdp_stream)(struct ast_sip_session *session, struct pjmedia_sdp_session *sdp);
+	/*!
+	 * \brief Apply a negotiated SDP media stream
+	 * \param session The session for which media is being applied
+	 * \param sdp The entire SDP
+	 * \param stream The stream which to apply
+	 * \retval 0 The stream was not applied by this handler. If there are other registered handlers for this stream type, they will be called.
+	 * \retval <0 There was an error encountered. No further operation will take place and the current application will be abandoned.
+	 * \retval >0 The stream was handled by this handler. No further handler of this stream type will be called.
+	 */
+	int (*apply_negotiated_sdp_stream)(struct ast_sip_session *session, const struct pjmedia_sdp_session *sdp, const struct pjmedia_sdp_media *stream);
 	/*! Next item int he list. */
 	AST_LIST_ENTRY(ast_sip_session_sdp_handler) next;
 };

Modified: team/file/pimp_sip_media/res/res_sip_session.c
URL: http://svnview.digium.com/svn/asterisk/team/file/pimp_sip_media/res/res_sip_session.c?view=diff&rev=381153&r1=381152&r2=381153
==============================================================================
--- team/file/pimp_sip_media/res/res_sip_session.c (original)
+++ team/file/pimp_sip_media/res/res_sip_session.c Sun Feb 10 15:19:32 2013
@@ -459,6 +459,9 @@
 
 	ast_debug(3, "Destroying SIP session\n");
 	while ((supplement = AST_LIST_REMOVE_HEAD(&session->supplements, next))) {
+		if (supplement->session_destroy) {
+			supplement->session_destroy(session);
+		}
 		ast_free(supplement);
 	}
 	ast_sip_destroy_work(session->work);




More information about the svn-commits mailing list