Enable RFC 5939 even if SRTP is disabled

This commit is contained in:
bossiel 2012-11-06 17:05:23 +00:00
parent 8ba06270ed
commit 4962638959
5 changed files with 11 additions and 8 deletions

View File

@ -80,7 +80,7 @@ int tdav_consumer_t140_set_ondata_cb(tdav_consumer_t140_t* self, const void* con
}
//
// WaveAPI consumer object definition
// T.140 consumer object definition
//
/* constructor */
static tsk_object_t* tdav_consumer_t140_ctor(tsk_object_t * self, va_list * app)

View File

@ -82,7 +82,7 @@ int tdav_producer_send_data(tdav_producer_t140_t* self, enum tmedia_t140_data_ty
}
//
// WaveAPI producer object definition
// T.140 producer object definition
//
/* constructor */
static tsk_object_t* tdav_producer_t140_ctor(tsk_object_t * self, va_list * app)

View File

@ -54,8 +54,8 @@
#define T140_LOSS_CHAR_CHAR 0xFFFD
#define T140_LOSS_UTF8 0xEFBFBD
#define T140_WAIT_FOR_MISSING_PKT_RED_OFF 500 /*Time to wait for missing pkts in RED is OFF (in ms) */
#define T140_WAIT_FOR_MISSING_PKT_RED_ON 3000 /*Time to wait for missing pkts in RED is ON (in ms) */
#define T140_WAIT_FOR_MISSING_PKT_RED_OFF 500 /*Time to wait for missing pkts when RED is OFF (in ms) */
#define T140_WAIT_FOR_MISSING_PKT_RED_ON 3000 /*Time to wait for missing pkts when RED is ON (in ms) */
#define T140_WAIT_FOR_BUFFERING 300 /* Time to wait for buffering (T.140 blocks forming) */
#define T140_WAIT_FOR_IDLE 10000 /* Time to wait before entering in IDLE state */
@ -568,7 +568,7 @@ static tsk_size_t _tdav_session_t140_encap_red(tdav_session_t140_t* self, void**
pout_data_ptr8 += block_curr->data.size;
}
if((*last_data = red_blocks_hdrs_size == red_blocks_size)){
if((*last_data = (red_blocks_hdrs_size == red_blocks_size))){
// no data available -> clear items, send empty block, schedule idle timer, cancel buffering timer
if(TSK_TIMER_ID_IS_VALID(self->encoder.timer_buffering.id)){
tsk_timer_manager_cancel(self->h_timer, self->encoder.timer_buffering.id);

View File

@ -492,15 +492,17 @@ const tsdp_header_M_t* tdav_session_av_get_lo(tdav_session_av_t* self, tsk_bool_
}
else{
if(!self->use_avpf){ // only negotiate if not already using AVPF
tsk_bool_t enable_srtp = tsk_true;
#if HAVE_SRTP
tsk_bool_t enable_srtp = (have_libsrtp && (self->srtp_mode == tmedia_srtp_mode_mandatory || self->srtp_mode == tmedia_srtp_mode_optional));
enable_srtp = (have_libsrtp && (self->srtp_mode == tmedia_srtp_mode_mandatory || self->srtp_mode == tmedia_srtp_mode_optional));
#endif
// "a=acap:1 crypto" is not included because most of SIP client don't support RFC 5939
// "a=crypto" is always used to indicate optional support for SRTP
tsdp_header_M_add_headers(base->M.lo,
TSDP_HEADER_A_VA_ARGS("tcap", enable_srtp ? "1 RTP/SAVPF" : "1 RTP/AVPF"),
TSDP_HEADER_A_VA_ARGS("pcfg", "1 t=1"),
tsk_null);
#endif
}
}
}

View File

@ -164,7 +164,7 @@
</div>
<div class="span6">
<h3>
Main Features</h3>
Doubango VoIP Features</h3>
<br />
<ul>
<li>SIP (RFC 3261, 3GPP TS 24.229 Rel-9)</li>
@ -191,6 +191,7 @@
<li>MSRP (RFC 4975 and 5547)</li>
<li>Audio/Video (AMR, Speex, G.729, G.711, GSM, iLBC, VP8, H.264, H.263, Theora, MP4V-ES...)</li>
<li>Full HD (1080p) video</li>
<li>T.140: Text Over IP (<a href="http://en.wikipedia.org/wiki/Text_over_IP">http://en.wikipedia.org/wiki/Text_over_IP</a>)</li>
<li>...and many other features</li>
</ul>
</div>