Project "FreeSWITCH Source" received a push.

branch: master updated

       via: 231a7ffaa19886653705c217a73d8e25b705503c (commit)
       via: be3483b924a674e4c4f0f05734e7e4917634f3ca (commit)
       via: e6e4bcea734fbfb54b901ff8b1107ddfe76b7010 (commit)
       via: 068d36a5c95c5a4143f423b7c36cbe6d5cea36d5 (commit)
       via: 9986f4ebf2a0c40cc99bc7f9f03f2dec6ae74645 (commit)
       via: 6d3abd41cadef3a2bff8175487c094c80d7d9cf7 (commit)
       via: b3ac44f555a80f8278c5f915cfb36766903905a4 (commit)
       via: 9e6503a482ff533ff214b01a07c3432be14ff1ce (commit)
       via: 97a2b4f9025099bdab5718a13ee36d15a6152411 (commit)
       via: 68b2756970bd4280eba700b7439afdff374fd9e3 (commit)
       via: 9b0c16b5d48a7b9d0ea15ac429a8ca4c8eef8693 (commit)
       via: f05fe55594ffca6edc8f4e74204650aa219ed1ac (commit)
       via: 08f494b80802aacf101705382f149ca4b028eb57 (commit)
       via: daa28cfccae9b171221408f3af4f8c10283e67b3 (commit)
       via: c64b78577f65b586ff6d7af711c79d0427fc61c5 (commit)
      from: 9a8eea27feb6f300d5adeb078cad82974681bca7 (commit)


= COMMIT LOG ===========================================================
committer: Leon de Rooij
comments: 
Merge branch 'master' of ssh://git.freeswitch.org/freeswitch
committer: Raymond Chandler
comments: 
Merge branch 'master' of fs-git:freeswitch
committer: Raymond Chandler
comments: 
TEST-002

diff --git a/conf/freeswitch.xml b/conf/freeswitch.xml
index 5fc9402..6914128 100644
--- a/conf/freeswitch.xml
+++ b/conf/freeswitch.xml
@@ -61,5 +61,4 @@
       <X-PRE-PROCESS cmd="include" data="lang/ru/*.xml"/>
     </macros>
   </section>
-
 </document>
committer: Daniel Swarbrick
comments: 
partial implementation of channel list via snmp

diff --git a/src/mod/event_handlers/mod_snmp/FREESWITCH-MIB b/src/mod/event_handlers/mod_snmp/FREESWITCH-MIB
index 9584c8b..11c3999 100644
--- a/src/mod/event_handlers/mod_snmp/FREESWITCH-MIB
+++ b/src/mod/event_handlers/mod_snmp/FREESWITCH-MIB
@@ -107,4 +107,88 @@ maxSessionsPerSecond OBJECT-TYPE
         "Maximum permissible sessions per second"
     ::= { systemStats 7 }
 
+
+ChannelEntry ::= SEQUENCE {
+    chanUUID        DisplayString,
+    chanDirection   DisplayString,
+    chanCreated     DisplayString,
+    chanName        DisplayString,
+    chanState       DisplayString,
+    chanCIDName     DisplayString,
+    chanCIDNum      DisplayString
+}
+
+channelList OBJECT-TYPE
+    SYNTAX      SEQUENCE OF ChannelEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+        "A table containing a list of active channels"
+    ::= { core 9 }
+
+channelEntry OBJECT-TYPE
+    SYNTAX      ChannelEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+        "A channel entry"
+    INDEX { chanIndex }
+    ::= { channelList 1 }
+
+chanUUID OBJECT-TYPE
+    SYNTAX      DisplayString
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+        "The channel UUID."
+    ::= { channelEntry 1 }
+
+chanDirection OBJECT-TYPE
+    SYNTAX      DisplayString
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+        "The channel direction."
+    ::= { channelEntry 2 }
+
+chanCreated OBJECT-TYPE
+    SYNTAX      DisplayString
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+        "Channel creation timestamp."
+    ::= { channelEntry 3 }
+
+chanName OBJECT-TYPE
+    SYNTAX      DisplayString
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+        "The channel name."
+    ::= { channelEntry 4 }
+
+chanState OBJECT-TYPE
+    SYNTAX      DisplayString
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+        "The channel state."
+    ::= { channelEntry 5 }
+
+chanCIDName OBJECT-TYPE
+    SYNTAX      DisplayString
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+        "The channel caller ID name."
+    ::= { channelEntry 6 }
+
+chanCIDNum OBJECT-TYPE
+    SYNTAX      DisplayString
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+        "The channel caller ID number."
+    ::= { channelEntry 7 }
+
 END
diff --git a/src/mod/event_handlers/mod_snmp/mod_snmp.c b/src/mod/event_handlers/mod_snmp/mod_snmp.c
index 56c7be1..d415d4f 100644
--- a/src/mod/event_handlers/mod_snmp/mod_snmp.c
+++ b/src/mod/event_handlers/mod_snmp/mod_snmp.c
@@ -109,7 +109,7 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_snmp_load)
 	 */
 	netsnmp_ds_set_int(NETSNMP_DS_APPLICATION_ID, NETSNMP_DS_AGENT_AGENTX_PING_INTERVAL, 2);
 
-	init_subagent();  
+	init_subagent(pool);
 	init_snmp("mod_snmp");
 
 	return status;
diff --git a/src/mod/event_handlers/mod_snmp/subagent.c b/src/mod/event_handlers/mod_snmp/subagent.c
index bad3dc6..7b9faa7 100644
--- a/src/mod/event_handlers/mod_snmp/subagent.c
+++ b/src/mod/event_handlers/mod_snmp/subagent.c
@@ -36,27 +36,108 @@
 #include <net-snmp/agent/net-snmp-agent-includes.h>
 #include "subagent.h"
 
+netsnmp_table_registration_info *ch_table_info;
+netsnmp_tdata *ch_table;
+netsnmp_handler_registration *ch_reginfo;
+uint32_t idx;
 
-void init_subagent(void)
+
+static int sql_count_callback(void *pArg, int argc, char **argv, char **columnNames)
 {
-	static oid identity_oid[] = { 1,3,6,1,4,1,27880,1,1 };
-	static oid systemStats_oid[] = { 1,3,6,1,4,1,27880,1,2 };
+	uint32_t *count = (uint32_t *) pArg;
+	*count = atoi(argv[0]);
+	return 0;
+}
 
-	DEBUGMSGTL(("init_subagent", "Initializing\n"));
 
-	netsnmp_register_scalar_group(netsnmp_create_handler_registration("identity", handle_identity, identity_oid, OID_LENGTH(identity_oid), HANDLER_CAN_RONLY), 1, 2);
-	netsnmp_register_scalar_group(netsnmp_create_handler_registration("systemStats", handle_systemStats, systemStats_oid, OID_LENGTH(systemStats_oid), HANDLER_CAN_RONLY), 1, 7);
+static int channelList_callback(void *pArg, int argc, char **argv, char **columnNames)
+{
+	chan_entry_t *entry;
+	netsnmp_tdata_row *row;
+
+	switch_zmalloc(entry, sizeof(chan_entry_t));
+	if (!entry)
+		return 0;
+
+	row = netsnmp_tdata_create_row();
+	if (!row) {
+		switch_safe_free(entry);
+		return 0;
+	}
+	row->data = entry;
+
+	entry->idx = idx++;
+	strncpy(entry->uuid, argv[0], sizeof(entry->uuid));
+	strncpy(entry->direction, argv[1], sizeof(entry->direction));
+	strncpy(entry->created, argv[2], sizeof(entry->created));
+	strncpy(entry->name, argv[4], sizeof(entry->name));
+	strncpy(entry->state, argv[5], sizeof(entry->state));
+	strncpy(entry->cid_name, argv[6], sizeof(entry->cid_name));
+	strncpy(entry->cid_num, argv[7], sizeof(entry->cid_num));
+
+	netsnmp_tdata_row_add_index(row, ASN_INTEGER, &entry->idx, sizeof(entry->idx));
+	netsnmp_tdata_add_row(ch_table, row);
+	return 0;
 }
 
 
-static int sql_count_callback(void *pArg, int argc, char **argv, char **columnNames)
+void channelList_free(netsnmp_cache *cache, void *magic)
 {
-	uint32_t *count = (uint32_t *) pArg;
-	*count = atoi(argv[0]);
+	netsnmp_tdata_row *row = netsnmp_tdata_row_first(ch_table);
+
+	/* Delete table rows one by one */
+	while (row) {
+		netsnmp_tdata_remove_and_delete_row(ch_table, row);
+		switch_safe_free(row->data);
+		row = netsnmp_tdata_row_first(ch_table);
+	}
+}
+
+
+int channelList_load(netsnmp_cache *cache, void *vmagic)
+{
+	switch_cache_db_handle_t *dbh;
+	char sql[1024] = "", hostname[256] = "";
+
+	channelList_free(cache, NULL);
+
+	if (switch_core_db_handle(&dbh) != SWITCH_STATUS_SUCCESS) {
+		return 0;
+	}
+
+	idx = 1;
+	gethostname(hostname, sizeof(hostname));
+	sprintf(sql, "SELECT * FROM channels WHERE hostname='%s' ORDER BY created_epoch", hostname);
+	switch_cache_db_execute_sql_callback(dbh, sql, channelList_callback, NULL, NULL);
+
+	switch_cache_db_release_db_handle(&dbh);
+
 	return 0;
 }
 
 
+void init_subagent(switch_memory_pool_t *pool)
+{
+	static oid identity_oid[] = { 1,3,6,1,4,1,27880,1,1 };
+	static oid systemStats_oid[] = { 1,3,6,1,4,1,27880,1,2 };
+	static oid channelList_oid[] = { 1,3,6,1,4,1,27880,1,9 };
+
+	DEBUGMSGTL(("init_subagent", "mod_snmp subagent initializing\n"));
+
+	netsnmp_register_scalar_group(netsnmp_create_handler_registration("identity", handle_identity, identity_oid, OID_LENGTH(identity_oid), HANDLER_CAN_RONLY), 1, 2);
+	netsnmp_register_scalar_group(netsnmp_create_handler_registration("systemStats", handle_systemStats, systemStats_oid, OID_LENGTH(systemStats_oid), HANDLER_CAN_RONLY), 1, 7);
+
+	ch_table_info = switch_core_alloc(pool, sizeof(netsnmp_table_registration_info));
+	netsnmp_table_helper_add_index(ch_table_info, ASN_INTEGER);
+	ch_table_info->min_column = 1;
+	ch_table_info->max_column = 7;
+	ch_table = netsnmp_tdata_create_table("channelList", 0);
+	ch_reginfo = netsnmp_create_handler_registration("channelList", handle_channelList, channelList_oid, OID_LENGTH(channelList_oid), HANDLER_CAN_RONLY);
+	netsnmp_tdata_register(ch_reginfo, ch_table, ch_table_info);
+	netsnmp_inject_handler(ch_reginfo, netsnmp_get_cache_handler(5, channelList_load, channelList_free, channelList_oid, OID_LENGTH(channelList_oid)));
+}
+
+
 int handle_identity(netsnmp_mib_handler *handler, netsnmp_handler_registration *reginfo, netsnmp_agent_request_info *reqinfo, netsnmp_request_info *requests)
 {
 	netsnmp_request_info *request = NULL;
@@ -97,7 +178,7 @@ int handle_systemStats(netsnmp_mib_handler *handler, netsnmp_handler_registratio
 	netsnmp_request_info *request = NULL;
 	oid subid;
 	switch_time_t uptime;
-	uint32_t int_val;
+	uint32_t int_val = 0;
 
 	switch(reqinfo->mode) {
 	case MODE_GET:
@@ -160,6 +241,55 @@ int handle_systemStats(netsnmp_mib_handler *handler, netsnmp_handler_registratio
 }
 
 
+int handle_channelList(netsnmp_mib_handler *handler, netsnmp_handler_registration *reginfo, netsnmp_agent_request_info *reqinfo, netsnmp_request_info *requests)
+{
+	netsnmp_request_info *request;
+	netsnmp_table_request_info *table_info;
+	chan_entry_t *entry;
+
+	switch (reqinfo->mode) {
+	case MODE_GET:
+		for (request = requests; request; request = request->next) {
+			table_info = netsnmp_extract_table_info(request);
+			entry = (chan_entry_t *) netsnmp_tdata_extract_entry(request);
+
+			switch (table_info->colnum) {
+			case CH_UUID:
+				snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR, (u_char *) entry->uuid, strlen(entry->uuid));
+				break;
+			case CH_DIRECTION:
+				snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR, (u_char *) entry->direction, strlen(entry->direction));
+				break;
+			case CH_CREATED:
+				snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR, (u_char *) entry->created, strlen(entry->created));
+				break;
+			case CH_NAME:
+				snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR, (u_char *) entry->name, strlen(entry->name));
+				break;
+			case CH_STATE:
+				snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR, (u_char *) entry->state, strlen(entry->state));
+				break;
+			case CH_CID_NAME:
+				snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR, (u_char *) entry->cid_name, strlen(entry->cid_name));
+				break;
+			case CH_CID_NUM:
+				snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR, (u_char *) entry->cid_num, strlen(entry->cid_num));
+				break;
+			default:
+				snmp_log(LOG_WARNING, "Unregistered OID-suffix requested (%d)\n", table_info->colnum);
+				netsnmp_set_request_error(reqinfo, request, SNMP_NOSUCHOBJECT);
+			}
+		}
+		break;
+	default:
+		/* we should never get here, so this is a really bad error */
+		snmp_log(LOG_ERR, "Unknown mode (%d) in handle_foo\n", reqinfo->mode );
+		return SNMP_ERR_GENERR;
+	}
+
+	return SNMP_ERR_NOERROR;
+}
+
 
 /* For Emacs:
  * Local Variables:
diff --git a/src/mod/event_handlers/mod_snmp/subagent.h b/src/mod/event_handlers/mod_snmp/subagent.h
index 3315378..0070b2c 100644
--- a/src/mod/event_handlers/mod_snmp/subagent.h
+++ b/src/mod/event_handlers/mod_snmp/subagent.h
@@ -14,9 +14,29 @@
 #define SS_SESSIONS_PER_SECOND		6
 #define SS_MAX_SESSIONS_PER_SECOND	7
 
+/* .1.3.6.1.4.1.27880.1.9 */
+#define CH_UUID				1
+#define CH_DIRECTION			2
+#define CH_CREATED			3
+#define CH_NAME				4
+#define CH_STATE			5
+#define CH_CID_NAME			6
+#define CH_CID_NUM			7
 
-void init_subagent(void);
+typedef struct {
+	uint32_t idx;
+	char uuid[38];
+	char direction[32];
+	char created[128];
+	char name[1024];
+	char state[64];
+	char cid_name[1024];
+	char cid_num[256];
+} chan_entry_t;
+
+void init_subagent(switch_memory_pool_t *pool);
 Netsnmp_Node_Handler handle_identity;
 Netsnmp_Node_Handler handle_systemStats;
+Netsnmp_Node_Handler handle_channelList;
 
 #endif /* subagent_H */
committer: Raymond Chandler
comments: 
Merge branch 'master' of fs-git:freeswitch
committer: Raymond Chandler
comments: 
TEST-001

diff --git a/conf/freeswitch.xml b/conf/freeswitch.xml
index 6ed99ef..5fc9402 100644
--- a/conf/freeswitch.xml
+++ b/conf/freeswitch.xml
@@ -63,4 +63,3 @@
   </section>
 
 </document>
-
committer: Daniel Swarbrick
comments: 
add support for getting current call count

diff --git a/src/mod/event_handlers/mod_snmp/subagent.c b/src/mod/event_handlers/mod_snmp/subagent.c
index 8f08baf..bad3dc6 100644
--- a/src/mod/event_handlers/mod_snmp/subagent.c
+++ b/src/mod/event_handlers/mod_snmp/subagent.c
@@ -49,6 +49,14 @@ void init_subagent(void)
 }
 
 
+static int sql_count_callback(void *pArg, int argc, char **argv, char **columnNames)
+{
+	uint32_t *count = (uint32_t *) pArg;
+	*count = atoi(argv[0]);
+	return 0;
+}
+
+
 int handle_identity(netsnmp_mib_handler *handler, netsnmp_handler_registration *reginfo, netsnmp_agent_request_info *reqinfo, netsnmp_request_info *requests)
 {
 	netsnmp_request_info *request = NULL;
@@ -113,13 +121,20 @@ int handle_systemStats(netsnmp_mib_handler *handler, netsnmp_handler_registratio
 			snmp_set_var_typed_value(requests->requestvb, ASN_GAUGE, (u_char *) &int_val, sizeof(int_val));
 			break;
 		case SS_CURRENT_CALLS:
-			/*
-			 * This is zero for now, since there is no convenient way to get total call
-			 * count (not to be confused with session count), without touching the
-			 * database.
-			 */
-			int_val = 0;
+			{
+			switch_cache_db_handle_t *dbh;
+			char sql[1024] = "", hostname[256] = "";
+
+			if (switch_core_db_handle(&dbh) != SWITCH_STATUS_SUCCESS) {
+				return SNMP_ERR_GENERR;
+			}
+
+			gethostname(hostname, sizeof(hostname));
+			sprintf(sql, "SELECT COUNT(*) FROM calls WHERE hostname='%s'", hostname);
+			switch_cache_db_execute_sql_callback(dbh, sql, sql_count_callback, &int_val, NULL);
 			snmp_set_var_typed_value(requests->requestvb, ASN_GAUGE, (u_char *) &int_val, sizeof(int_val));
+			switch_cache_db_release_db_handle(&dbh);
+			}
 			break;
 		case SS_SESSIONS_PER_SECOND:
 			switch_core_session_ctl(SCSC_LAST_SPS, &int_val);
committer: Raymond Chandler
comments: 
test

diff --git a/conf/freeswitch.xml b/conf/freeswitch.xml
index 80e7728..6ed99ef 100644
--- a/conf/freeswitch.xml
+++ b/conf/freeswitch.xml
@@ -64,4 +64,3 @@
 
 </document>
 
-
committer: Raymond Chandler
comments: 
test

diff --git a/conf/freeswitch.xml b/conf/freeswitch.xml
index 6ed99ef..80e7728 100644
--- a/conf/freeswitch.xml
+++ b/conf/freeswitch.xml
@@ -64,3 +64,4 @@
 
 </document>
 
+
committer: Raymond Chandler
comments: 
test

diff --git a/conf/freeswitch.xml b/conf/freeswitch.xml
index 5fc9402..6ed99ef 100644
--- a/conf/freeswitch.xml
+++ b/conf/freeswitch.xml
@@ -63,3 +63,4 @@
   </section>
 
 </document>
+
committer: Raymond Chandler
comments: 
test

diff --git a/conf/freeswitch.xml b/conf/freeswitch.xml
index 6ed99ef..5fc9402 100644
--- a/conf/freeswitch.xml
+++ b/conf/freeswitch.xml
@@ -63,4 +63,3 @@
   </section>
 
 </document>
-
committer: Raymond Chandler
comments: 
test

diff --git a/conf/freeswitch.xml b/conf/freeswitch.xml
index 80e7728..6ed99ef 100644
--- a/conf/freeswitch.xml
+++ b/conf/freeswitch.xml
@@ -64,4 +64,3 @@
 
 </document>
 
-
committer: Daniel Swarbrick
comments: 
typo

diff --git a/src/mod/event_handlers/mod_snmp/subagent.c b/src/mod/event_handlers/mod_snmp/subagent.c
index 2da9ebe..8f08baf 100644
--- a/src/mod/event_handlers/mod_snmp/subagent.c
+++ b/src/mod/event_handlers/mod_snmp/subagent.c
@@ -109,7 +109,7 @@ int handle_systemStats(netsnmp_mib_handler *handler, netsnmp_handler_registratio
 			snmp_set_var_typed_value(requests->requestvb, ASN_GAUGE, (u_char *) &int_val, sizeof(int_val));
 			break;
 		case SS_MAX_SESSIONS:
-			switch_core_session_ctl(SCSC_MAX_SESSIONS, &int_val);;
+			switch_core_session_ctl(SCSC_MAX_SESSIONS, &int_val);
 			snmp_set_var_typed_value(requests->requestvb, ASN_GAUGE, (u_char *) &int_val, sizeof(int_val));
 			break;
 		case SS_CURRENT_CALLS:
committer: Jeff Lenk
comments: 
add missing files

diff --git a/libs/freetdm/msvc/freetdm.2010.vcxproj b/libs/freetdm/msvc/freetdm.2010.vcxproj
index 71eb6db..aecb9ef 100644
--- a/libs/freetdm/msvc/freetdm.2010.vcxproj
+++ b/libs/freetdm/msvc/freetdm.2010.vcxproj
@@ -188,6 +188,7 @@
     <ClInclude Include="..\src\include\ftdm_os.h" />
     <ClInclude Include="..\src\include\private\ftdm_sched.h" />
     <ClInclude Include="..\src\include\ftdm_threadmutex.h" />
+    <ClInclude Include="..\src\include\private\ftdm_state.h" />
     <ClInclude Include="..\src\include\private\ftdm_types.h" />
     <ClInclude Include="..\src\include\private\g711.h" />
     <ClInclude Include="..\src\include\private\hashtable.h" />
@@ -209,6 +210,7 @@
     <ClCompile Include="..\src\ftdm_io.c" />
     <ClCompile Include="..\src\ftdm_queue.c" />
     <ClCompile Include="..\src\ftdm_sched.c" />
+    <ClCompile Include="..\src\ftdm_state.c" />
     <ClCompile Include="..\src\ftdm_threadmutex.c" />
     <ClCompile Include="..\src\g711.c" />
     <ClCompile Include="..\src\hashtable.c" />
diff --git a/libs/freetdm/msvc/freetdm.2010.vcxproj.filters b/libs/freetdm/msvc/freetdm.2010.vcxproj.filters
index ed642ba..e6dc40d 100644
--- a/libs/freetdm/msvc/freetdm.2010.vcxproj.filters
+++ b/libs/freetdm/msvc/freetdm.2010.vcxproj.filters
@@ -71,6 +71,9 @@
     <ClInclude Include="..\src\include\private\uart.h">
       <Filter>Header Files</Filter>
     </ClInclude>
+    <ClInclude Include="..\src\include\private\ftdm_state.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <ClCompile Include="..\src\fsk.c">
@@ -124,5 +127,8 @@
     <ClCompile Include="..\src\uart.c">
       <Filter>Source Files</Filter>
     </ClCompile>
+    <ClCompile Include="..\src\ftdm_state.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
   </ItemGroup>
 </Project>
\ No newline at end of file
committer: Travis Cross
comments: 
.gitignore compressed files

diff --git a/.gitignore b/.gitignore
index 304b42c..c53d07d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -33,6 +33,12 @@
 *.ilk
 *.bsc
 *.pch
+*.tar
+*.gz
+*.tgz
+*.xz
+*.bz2
+*.tbz2
 core.*
 /Path
 /w32/Library/lastversion
@@ -79,7 +85,6 @@ configure.lineno
 /scripts/fsxs
 /scripts/gentls_cert
 /a.out.dSYM
-/freeswitch-sounds-*
 src/mod/applications/mod_easyroute/Makefile
 src/mod/applications/mod_lcr/Makefile
 src/mod/applications/mod_nibblebill/Makefile
diff --git a/src/mod/endpoints/mod_gsmopen/.gitignore b/src/mod/endpoints/mod_gsmopen/.gitignore
index 9fdeeb1..fe8dc68 100644
--- a/src/mod/endpoints/mod_gsmopen/.gitignore
+++ b/src/mod/endpoints/mod_gsmopen/.gitignore
@@ -1,2 +1,4 @@
 !/gsmlib/gsmlib-*/aclocal.m4
 !/gsmlib/gsmlib-*/configure
+!/gsmlib/gsmlib-1.10.tar.gz
+!/gsmlib/gsmlib_1.10-12ubuntu1.diff.gz
========================================================================

Summary of changes:
 .gitignore                                     |    7 +-
 conf/freeswitch.xml                            |    3 -
 libs/freetdm/msvc/freetdm.2010.vcxproj         |    2 +
 libs/freetdm/msvc/freetdm.2010.vcxproj.filters |    6 +
 src/mod/endpoints/mod_gsmopen/.gitignore       |    2 +
 src/mod/event_handlers/mod_snmp/FREESWITCH-MIB |   84 ++++++++++++
 src/mod/event_handlers/mod_snmp/mod_snmp.c     |    2 +-
 src/mod/event_handlers/mod_snmp/subagent.c     |  165 ++++++++++++++++++++++--
 src/mod/event_handlers/mod_snmp/subagent.h     |   22 +++-
 9 files changed, 277 insertions(+), 16 deletions(-)

this email was generated because of /git/your-repo.git/hooks/post-receive by the file /git-core/contrib/hooks/post-receive-email
For more info, see http://blog.chomperstomp.com/?p=630 --
FreeSWITCH Source