Enable RFC 5939 even if SRTP is disabled
This commit is contained in:
parent
8ba06270ed
commit
4962638959
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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>
|
||||
|
|
Loading…
Reference in New Issue