[asterisk-commits] file: branch file/pimp_sip_media r381153 - in /team/file/pimp_sip_media: ./ c...
SVN commits to the Asterisk project
asterisk-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 asterisk-commits
mailing list