Revision
14745
Author
anthm
Date
2009-09-02 13:44:33 -0500 (Wed, 02 Sep 2009)

Log Message

add graceful zrtp failure

Modified Paths

Diff

Modified: freeswitch/trunk/src/switch_rtp.c (14744 => 14745)


--- freeswitch/trunk/src/switch_rtp.c	2009-09-02 18:33:33 UTC (rev 14744)
+++ freeswitch/trunk/src/switch_rtp.c	2009-09-02 18:44:33 UTC (rev 14745)
@@ -600,12 +600,16 @@
 		
 		zrtp_log_set_log_engine(zrtp_logger);
 		zrtp_log_set_level(4);
-		if (zrtp_status_ok != zrtp_init(&zrtp_config, &zrtp_global)) {
-			abort();
+		if (zrtp_status_ok == zrtp_init(&zrtp_config, &zrtp_global)) {
+		
+			memcpy(zid, zid_string, 12);
+			switch_scheduler_add_task(switch_epoch_time_now(NULL) + 900, zrtp_cache_save_callback, "zrtp_cache_save", "core", 0, NULL, SSHF_NONE | SSHF_NO_DEL);
+		} else {
+			switch_core_set_variable("zrtp_enabled", NULL);
+			zrtp_on = 0;
+			switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "ZRTP init failed!\n");
 		}
 		
-		memcpy(zid, zid_string, 12);
-		switch_scheduler_add_task(switch_epoch_time_now(NULL) + 900, zrtp_cache_save_callback, "zrtp_cache_save", "core", 0, NULL, SSHF_NONE | SSHF_NO_DEL);
 	}
 #endif
 	srtp_init();