[Freeswitch-svn] [commit] r10744 - in freeswitch/trunk/src: . mod/endpoints/mod_sofia

FreeSWITCH SVN anthm at freeswitch.org
Fri Dec 12 14:34:41 PST 2008


Author: anthm
Date: Fri Dec 12 17:34:41 2008
New Revision: 10744

Log:
sonus sonus sonus, sonus is a 4 letter word

Modified:
   freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c
   freeswitch/trunk/src/switch_rtp.c

Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c	(original)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c	Fri Dec 12 17:34:41 2008
@@ -2197,6 +2197,16 @@
 			switch_set_flag_locked(tech_pvt, TFLAG_BUGGY_2833);
 			switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Activate Buggy RFC2833 Mode!\n");
 		}
+
+		if (strstr(tech_pvt->origin, "Sonus_UAC")) {
+			switch_set_flag_locked(tech_pvt, TFLAG_BUGGY_2833);
+			switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, 
+							  "Hello,\nI see you have a Sonus!\n"
+							  "FYI, Sonus cannot follow the RFC on the proper way to send DTMF.\n"
+							  "Sadly, my creator had to spend several hours figuring this out so I thought you'd like to know that!\n"
+							  "Don't worry, DTMF will work but you may want to ask them to fix it......\n"
+							  );
+		}
 	}
 
 	if ((m = sdp->sdp_media) && (m->m_mode == sdp_sendonly || m->m_mode == sdp_inactive)) {

Modified: freeswitch/trunk/src/switch_rtp.c
==============================================================================
--- freeswitch/trunk/src/switch_rtp.c	(original)
+++ freeswitch/trunk/src/switch_rtp.c	Fri Dec 12 17:34:41 2008
@@ -1204,6 +1204,9 @@
 							  rtp_session->dtmf_data.timestamp_dtmf,
 							  rtp_session->dtmf_data.out_digit_sofar,
 							  rtp_session->dtmf_data.out_digit_sub_sofar, rtp_session->dtmf_data.out_digit_dur, rtp_session->seq);
+			if (switch_test_flag(rtp_session, SWITCH_RTP_FLAG_BUGGY_2833)) {
+				rtp_session->dtmf_data.timestamp_dtmf = rtp_session->last_write_ts + samples;
+			}
 		}
 
 		if (loops != 1) {



More information about the Freeswitch-svn mailing list