[asterisk-commits] kharwell: branch kharwell/pimp_sip_qualify r391887 - in /team/kharwell/pimp_s...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Fri Jun 14 15:35:45 CDT 2013


Author: kharwell
Date: Fri Jun 14 15:35:42 2013
New Revision: 391887

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=391887
Log:
Multiple revisions 391781,391834,391866,391886

........
  r391781 | root | 2013-06-14 11:18:09 -0500 (Fri, 14 Jun 2013) | 21 lines
  
  Multiple revisions 391776-391777
  
  ........
    r391776 | kmoore | 2013-06-14 11:08:55 -0500 (Fri, 14 Jun 2013) | 6 lines
    
    Publish bridge snapshots more often
    
    Bridge snapshot events were missing some important transitions that
    were noticed in subsequent snapshots. Snapshots will now be published
    on all bridge reconfigurations.
  ........
    r391777 | kmoore | 2013-06-14 11:12:44 -0500 (Fri, 14 Jun 2013) | 5 lines
    
    Fix a crash in CEL bridge snapshot handling
    
    Properly search for bridge association structures so that they are
    found when expected and handle cases where they don't exist.
  ........
  
  Merged revisions 391776-391777 from file:///srv/subversion/repos/asterisk/trunk
........
  r391834 | root | 2013-06-14 12:17:58 -0500 (Fri, 14 Jun 2013) | 17 lines
  
  app_mixmonitor: Fix crashes caused by unloading app_mixmonitor
  
  Unloading app_mixmonitor while active mixmonitors were running would
  cause a segfault. This patch fixes that by making it impossible to
  unload app_mixmonitor while mixmonitors are active.
  
  Review: https://reviewboard.asterisk.org/r/2624/
  ........
  
  Merged revisions 391778 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  ........
  
  Merged revisions 391794 from http://svn.asterisk.org/svn/asterisk/branches/11
  ........
  
  Merged revisions 391828 from file:///srv/subversion/repos/asterisk/trunk
........
  r391866 | root | 2013-06-14 14:17:53 -0500 (Fri, 14 Jun 2013) | 17 lines
  
  Multiple revisions 391855-391856
  
  ........
    r391855 | kmoore | 2013-06-14 13:46:00 -0500 (Fri, 14 Jun 2013) | 5 lines
    
    Fix two more possible crashes in CEL
    
    These are locations that should return valid snapshots, but need to be
    handled if not.
  ........
    r391856 | kmoore | 2013-06-14 13:50:21 -0500 (Fri, 14 Jun 2013) | 1 line
    
    Revert parts of r391855 that were not ready to go in to trunk
  ........
  
  Merged revisions 391855-391856 from file:///srv/subversion/repos/asterisk/trunk
........
  r391886 | kharwell | 2013-06-14 15:26:23 -0500 (Fri, 14 Jun 2013) | 10 lines
  
  Added call pickup group configuration options
  
  Added the ability to configure pick up groups automatically on a channel
  created for a chan_gulp endpoint. This includes: callgroup, pickupgroup,
  namedcallgroup, namedpickupgroup.
  
  (closes issue ASTERISK-21505)
  Reported by: Matt Jordan
  Review: https://reviewboard.asterisk.org/r/2589/
........

Merged revisions 391781,391834,391866,391886 from http://svn.asterisk.org/svn/asterisk/team/group/pimp_my_sip

Modified:
    team/kharwell/pimp_sip_qualify/   (props changed)
    team/kharwell/pimp_sip_qualify/channels/chan_gulp.c
    team/kharwell/pimp_sip_qualify/include/asterisk/res_sip.h
    team/kharwell/pimp_sip_qualify/res/res_sip.c
    team/kharwell/pimp_sip_qualify/res/res_sip/sip_configuration.c

Propchange: team/kharwell/pimp_sip_qualify/
------------------------------------------------------------------------------
--- pimp_sip_qualify-integrated (original)
+++ pimp_sip_qualify-integrated Fri Jun 14 15:35:42 2013
@@ -1,1 +1,1 @@
-/team/group/pimp_my_sip:1-391869
+/team/group/pimp_my_sip:1-391886

Modified: team/kharwell/pimp_sip_qualify/channels/chan_gulp.c
URL: http://svnview.digium.com/svn/asterisk/team/kharwell/pimp_sip_qualify/channels/chan_gulp.c?view=diff&rev=391887&r1=391886&r2=391887
==============================================================================
--- team/kharwell/pimp_sip_qualify/channels/chan_gulp.c (original)
+++ team/kharwell/pimp_sip_qualify/channels/chan_gulp.c Fri Jun 14 15:35:42 2013
@@ -578,6 +578,12 @@
 	ast_channel_context_set(chan, session->endpoint->context);
 	ast_channel_exten_set(chan, S_OR(exten, "s"));
 	ast_channel_priority_set(chan, 1);
+
+	ast_channel_callgroup_set(chan, session->endpoint->callgroup);
+	ast_channel_pickupgroup_set(chan, session->endpoint->pickupgroup);
+
+	ast_channel_named_callgroups_set(chan, session->endpoint->named_callgroups);
+	ast_channel_named_pickupgroups_set(chan, session->endpoint->named_pickupgroups);
 
 	return chan;
 }

Modified: team/kharwell/pimp_sip_qualify/include/asterisk/res_sip.h
URL: http://svnview.digium.com/svn/asterisk/team/kharwell/pimp_sip_qualify/include/asterisk/res_sip.h?view=diff&rev=391887&r1=391886&r2=391887
==============================================================================
--- team/kharwell/pimp_sip_qualify/include/asterisk/res_sip.h (original)
+++ team/kharwell/pimp_sip_qualify/include/asterisk/res_sip.h Fri Jun 14 15:35:42 2013
@@ -392,6 +392,14 @@
 	unsigned int one_touch_recording;
 	/*! Boolean indicating if ringing should be sent as inband progress */
 	unsigned int inband_progress;
+	/*! Call group */
+	ast_group_t callgroup;
+	/*! Pickup group */
+	ast_group_t pickupgroup;
+	/*! Named call group */
+	struct ast_namedgroups *named_callgroups;
+	/*! Named pickup group */
+	struct ast_namedgroups *named_pickupgroups;
 };
 
 /*!

Modified: team/kharwell/pimp_sip_qualify/res/res_sip.c
URL: http://svnview.digium.com/svn/asterisk/team/kharwell/pimp_sip_qualify/res/res_sip.c?view=diff&rev=391887&r1=391886&r2=391887
==============================================================================
--- team/kharwell/pimp_sip_qualify/res/res_sip.c (original)
+++ team/kharwell/pimp_sip_qualify/res/res_sip.c Fri Jun 14 15:35:42 2013
@@ -345,6 +345,34 @@
 						to indicate ringing and will NOT send it as audio.
 					</para></description>
 				</configOption>
+				<configOption name="callgroup">
+					<synopsis>The numeric pickup groups for a channel.</synopsis>
+					<description><para>
+						Can be set to a comma separated list of numbers or ranges between the values
+						of 0-63 (maximum of 64 groups).
+					</para></description>
+				</configOption>
+				<configOption name="pickupgroup">
+					<synopsis>The numeric pickup groups that a channel can pickup.</synopsis>
+					<description><para>
+						Can be set to a comma separated list of numbers or ranges between the values
+						of 0-63 (maximum of 64 groups).
+					</para></description>
+				</configOption>
+				<configOption name="namedcallgroup">
+					<synopsis>The named pickup groups for a channel.</synopsis>
+					<description><para>
+						Can be set to a comma separated list of case sensitive strings limited by
+						supported line length.
+					</para></description>
+				</configOption>
+				<configOption name="namedpickupgroup">
+					<synopsis>The named pickup groups that a channel can pickup.</synopsis>
+					<description><para>
+						Can be set to a comma separated list of case sensitive strings limited by
+						supported line length.
+					</para></description>
+				</configOption>
 			</configObject>
 			<configObject name="auth">
 				<synopsis>Authentication type</synopsis>

Modified: team/kharwell/pimp_sip_qualify/res/res_sip/sip_configuration.c
URL: http://svnview.digium.com/svn/asterisk/team/kharwell/pimp_sip_qualify/res/res_sip/sip_configuration.c?view=diff&rev=391887&r1=391886&r2=391887
==============================================================================
--- team/kharwell/pimp_sip_qualify/res/res_sip/sip_configuration.c (original)
+++ team/kharwell/pimp_sip_qualify/res/res_sip/sip_configuration.c Fri Jun 14 15:35:42 2013
@@ -387,6 +387,48 @@
 		endpoint->media_encryption = AST_SIP_MEDIA_ENCRYPT_SDES;
 	/*} else if (!strcasecmp("dtls", var->value)) {
 		endpoint->media_encryption = AST_SIP_MEDIA_ENCRYPT_DTLS;*/
+	} else {
+		return -1;
+	}
+
+	return 0;
+}
+
+static int group_handler(const struct aco_option *opt,
+			 struct ast_variable *var, void *obj)
+{
+	struct ast_sip_endpoint *endpoint = obj;
+
+	if (!strncmp(var->name, "callgroup", 9)) {
+		if (!(endpoint->callgroup = ast_get_group(var->value))) {
+			return -1;
+		}
+	} else if (!strncmp(var->name, "pickupgroup", 11)) {
+		if (!(endpoint->pickupgroup = ast_get_group(var->value))) {
+			return -1;
+		}
+	} else {
+		return -1;
+	}
+
+	return 0;
+}
+
+static int named_groups_handler(const struct aco_option *opt,
+				struct ast_variable *var, void *obj)
+{
+	struct ast_sip_endpoint *endpoint = obj;
+
+	if (!strncmp(var->name, "namedcallgroup", 14)) {
+		if (!(endpoint->named_callgroups =
+		      ast_get_namedgroups(var->value))) {
+			return -1;
+		}
+	} else if (!strncmp(var->name, "namedpickupgroup", 16)) {
+		if (!(endpoint->named_pickupgroups =
+		      ast_get_namedgroups(var->value))) {
+			return -1;
+		}
 	} else {
 		return -1;
 	}
@@ -474,6 +516,10 @@
 	ast_sorcery_object_field_register(sip_sorcery, "endpoint", "use_avpf", "no", OPT_BOOL_T, 1, FLDSET(struct ast_sip_endpoint, use_avpf));
 	ast_sorcery_object_field_register(sip_sorcery, "endpoint", "one_touch_recording", "no", OPT_BOOL_T, 1, FLDSET(struct ast_sip_endpoint, one_touch_recording));
 	ast_sorcery_object_field_register(sip_sorcery, "endpoint", "inband_progress", "no", OPT_BOOL_T, 1, FLDSET(struct ast_sip_endpoint, inband_progress));
+	ast_sorcery_object_field_register_custom(sip_sorcery, "endpoint", "callgroup", "", group_handler, NULL, 0, 0);
+	ast_sorcery_object_field_register_custom(sip_sorcery, "endpoint", "pickupgroup", "", group_handler, NULL, 0, 0);
+	ast_sorcery_object_field_register_custom(sip_sorcery, "endpoint", "namedcallgroup", "", named_groups_handler, NULL, 0, 0);
+	ast_sorcery_object_field_register_custom(sip_sorcery, "endpoint", "namedpickupgroup", "", named_groups_handler, NULL, 0, 0);
 
 	if (ast_sip_initialize_sorcery_transport(sip_sorcery)) {
 		ast_log(LOG_ERROR, "Failed to register SIP transport support with sorcery\n");
@@ -534,6 +580,9 @@
 	destroy_auths(endpoint->sip_inbound_auths, endpoint->num_inbound_auths);
 	destroy_auths(endpoint->sip_outbound_auths, endpoint->num_outbound_auths);
 	ast_party_id_free(&endpoint->id);
+
+	endpoint->named_callgroups = ast_unref_namedgroups(endpoint->named_callgroups);
+	endpoint->named_pickupgroups = ast_unref_namedgroups(endpoint->named_pickupgroups);
 }
 
 void *ast_sip_endpoint_alloc(const char *name)




More information about the asterisk-commits mailing list