[asterisk-commits] mmichelson: branch group/CCSS r229959 - /team/group/CCSS/channels/chan_sip.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Fri Nov 13 10:58:46 CST 2009


Author: mmichelson
Date: Fri Nov 13 10:58:42 2009
New Revision: 229959

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=229959
Log:
Some initial work towards SIP EPA stuff.

Also fixed a compile issue due to a variable whose
name I forgot to change.


Modified:
    team/group/CCSS/channels/chan_sip.c

Modified: team/group/CCSS/channels/chan_sip.c
URL: http://svnview.digium.com/svn/asterisk/team/group/CCSS/channels/chan_sip.c?view=diff&rev=229959&r1=229958&r2=229959
==============================================================================
--- team/group/CCSS/channels/chan_sip.c (original)
+++ team/group/CCSS/channels/chan_sip.c Fri Nov 13 10:58:42 2009
@@ -1649,6 +1649,49 @@
 	enum referstatus status;			/*!< REFER status */
 };
 
+const int EPA_MAX_BUCKETS = 37;
+
+struct sip_epa_callbacks {
+	/*XXX STUB */
+};
+
+static int cc_epa_hash_fn(const void *obj, const int flags)
+{
+	/*XXX STUB */
+	return 0;
+}
+
+static int cc_epa_cmp_fn(void *obj, void *arg, int flags)
+{
+	/*XXX STUB*/
+	return 0;
+}
+
+static struct event_publication_agent {
+	enum subscriptiontype event;
+	const char *name;
+	struct ao2_container *entries;
+	struct sip_epa_callbacks *callbacks;
+	ao2_hash_fn *hash_fn;
+	ao2_callback_fn *cmp_fn;
+} event_publication_agents [] = {
+	{.event = CALL_COMPLETION, .name = "call-completion",
+	 .hash_fn = cc_epa_hash_fn, .cmp_fn = cc_epa_cmp_fn,},
+};
+
+static int initialize_epas(void)
+{
+	int i, res = 0;
+	for (i = 0; i < ARRAY_LEN(event_publication_agents); i++) {
+		if (!((event_publication_agents[i].entries) = ao2_container_alloc(EPA_MAX_BUCKETS, 
+				event_publication_agents[i].hash_fn, 
+				event_publication_agents[i].cmp_fn))) {
+			res = -1;
+		}
+	}
+	return res;
+}
+
 /*!
  * Used to create new entity IDs by ESCs.
  */
@@ -22673,7 +22716,7 @@
 	auth_result = check_user(p, req, SIP_PUBLISH, uri, XMIT_RELIABLE, sin);
 	if (auth_result == AUTH_CHALLENGE_SENT) {
 		return 0;
-	} else if (res < 0) {
+	} else if (auth_result < 0) {
 		if (auth_result == AUTH_FAKE_AUTH) {
 			ast_log(LOG_NOTICE, "Sending fake auth rejection for device %s\n", get_header(req, "From"));
 			transmit_fake_auth_response(p, SIP_INVITE, req, XMIT_RELIABLE);
@@ -27427,6 +27470,7 @@
 	sip_send_all_registers();
 	sip_send_all_mwi_subscriptions();
 	initialize_escs();
+	initialize_epas();
 
 	/* And start the monitor for the first time */
 	restart_monitor();




More information about the asterisk-commits mailing list