[Freeswitch-svn] [commit] r13461 - in freeswitch/trunk: conf src
FreeSWITCH SVN
brian at freeswitch.org
Tue May 26 22:07:19 PDT 2009
Author: brian
Date: Wed May 27 00:07:19 2009
New Revision: 13461
Log:
zrtp_secure_media=true will have to be set to true in order for your zrtp to work moving forward similar to how srtp_secure_media works.
Modified:
freeswitch/trunk/conf/vars.xml
freeswitch/trunk/src/switch_rtp.c
Modified: freeswitch/trunk/conf/vars.xml
==============================================================================
--- freeswitch/trunk/conf/vars.xml (original)
+++ freeswitch/trunk/conf/vars.xml Wed May 27 00:07:19 2009
@@ -26,6 +26,9 @@
<X-PRE-PROCESS cmd="set" data="domain=$${local_ip_v4}"/>
<X-PRE-PROCESS cmd="set" data="domain_name=$${domain}"/>
<X-PRE-PROCESS cmd="set" data="hold_music=local_stream://moh"/>
+
+ <!-- Enable ZRTP globally you can override this on a per channel basis -->
+ <X-PRE-PROCESS cmd="set" data="zrtp_secure_media=true"/>
<!--
xmpp_client_profile and xmpp_server_profile
xmpp_client_profile can be any string.
Modified: freeswitch/trunk/src/switch_rtp.c
==============================================================================
--- freeswitch/trunk/src/switch_rtp.c (original)
+++ freeswitch/trunk/src/switch_rtp.c Wed May 27 00:07:19 2009
@@ -1107,35 +1107,38 @@
int initiator = 0;
switch_core_session_t *session = switch_core_memory_pool_get_data(rtp_session->pool, "__session");
switch_channel_t *channel = switch_core_session_get_channel(session);
+ const char *zrtp_enabled = switch_channel_get_variable(channel, "zrtp_secure_media");
- if (switch_channel_direction(channel) == SWITCH_CALL_DIRECTION_OUTBOUND) {
- initiator = 1;
- }
-
- rtp_session->zrtp_profile = switch_core_alloc(rtp_session->pool, sizeof(*rtp_session->zrtp_profile));
- zrtp_profile_defaults(rtp_session->zrtp_profile, zrtp_global);
-
- rtp_session->zrtp_profile->allowclear = 0;
- rtp_session->zrtp_profile->disclose_bit = 0;
- rtp_session->zrtp_profile->cache_ttl = -1;
-
- if (zrtp_status_ok != zrtp_session_init(zrtp_global, rtp_session->zrtp_profile, zid, initiator, &rtp_session->zrtp_session)) {
- switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error! zRTP INIT Failed\n");
- zrtp_session_down(rtp_session->zrtp_session);
- rtp_session->zrtp_session = NULL;
- }
-
- zrtp_session_set_userdata(rtp_session->zrtp_session, rtp_session);
-
- if (zrtp_status_ok != zrtp_stream_attach(rtp_session->zrtp_session, &rtp_session->zrtp_ctx)) {
- abort();
- }
- zrtp_stream_set_userdata(rtp_session->zrtp_ctx, rtp_session);
-
- if (switch_true(switch_channel_get_variable(channel, "zrtp_enrollment"))) {
- zrtp_stream_registration_start(rtp_session->zrtp_ctx, rtp_session->ssrc);
- } else {
- zrtp_stream_start(rtp_session->zrtp_ctx, rtp_session->ssrc);
+ if (switch_true(zrtp_enabled)) {
+ if (switch_channel_direction(channel) == SWITCH_CALL_DIRECTION_OUTBOUND) {
+ initiator = 1;
+ }
+
+ rtp_session->zrtp_profile = switch_core_alloc(rtp_session->pool, sizeof(*rtp_session->zrtp_profile));
+ zrtp_profile_defaults(rtp_session->zrtp_profile, zrtp_global);
+
+ rtp_session->zrtp_profile->allowclear = 0;
+ rtp_session->zrtp_profile->disclose_bit = 0;
+ rtp_session->zrtp_profile->cache_ttl = -1;
+
+ if (zrtp_status_ok != zrtp_session_init(zrtp_global, rtp_session->zrtp_profile, zid, initiator, &rtp_session->zrtp_session)) {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error! zRTP INIT Failed\n");
+ zrtp_session_down(rtp_session->zrtp_session);
+ rtp_session->zrtp_session = NULL;
+ }
+
+ zrtp_session_set_userdata(rtp_session->zrtp_session, rtp_session);
+
+ if (zrtp_status_ok != zrtp_stream_attach(rtp_session->zrtp_session, &rtp_session->zrtp_ctx)) {
+ abort();
+ }
+ zrtp_stream_set_userdata(rtp_session->zrtp_ctx, rtp_session);
+
+ if (switch_true(switch_channel_get_variable(channel, "zrtp_enrollment"))) {
+ zrtp_stream_registration_start(rtp_session->zrtp_ctx, rtp_session->ssrc);
+ } else {
+ zrtp_stream_start(rtp_session->zrtp_ctx, rtp_session->ssrc);
+ }
}
}
#endif
More information about the Freeswitch-svn
mailing list