I thought of moving this thread over here.
We’re trying to make the FS work with MS Exchange 2007 (in a non-RFC4733-compliant mode). For this to work, we need to get the Duration count start from 0 instead of starting from 160 (or any other sample rate). We assume these are the lines needed to be changed: >From /src/switch_rtp.c 1042 rtp_session->dtmf_data.out_digit_sofar = samples; 1043 rtp_session->dtmf_data.out_digit_sub_sofar = samples; To /src/switch_rtp.c 1042 rtp_session->dtmf_data.out_digit_sofar = 0; 1043 rtp_session->dtmf_data.out_digit_sub_sofar = 0; Are we missing anything? Are we breaking anything? (except compliancy) -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of UV Sent: Sunday, June 29, 2008 7:45 PM To: [EMAIL PROTECTED] Subject: Re: [Freeswitch-users] Exchange 2007 UM - DTMF problem Apparently, not only MS do not comply with RFC4733 but also SJphone, Xlite (eyebeam) and Cisco (Call manager, IP phones, etc) amongst others. Is there anyway I can make FS's Duration to start from 0? I'm happy to change the code myself with a little guidance. -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Steve Underwood Sent: Sunday, June 29, 2008 3:42 PM To: [EMAIL PROTECTED] Subject: Re: [Freeswitch-users] Exchange 2007 UM - DTMF problem Hi, Brian West wrote: > So if you can tell me where this is wrong as per 2833 and the > clarification via 4733 ? > > rfc4733 obsoletes rfc2833 and says this: > The special duration value of zero is reserved to indicate that the > event lasts "forever", i.e., is a state and is considered to be > effective until updated. A sender MUST NOT transmit a zero duration > for events other than those defined as states. The receiver SHOULD > ignore an event report with zero duration if the event is not a > state. > /b > PS: http://www.rfc-editor.org/rfc/rfc4733.txt > As well as that definition in RFC4733, they also have an example working in the way the text describes. They send DTMF with a packet rate of one every 50ms. The first packet of the DTMF sequence contains a duration of 400. What does FS actually do when a sequence starts at 0? Does it just drop the first packet, or the whole sequence? If it just drops the first packet, and the far end cares, that's seriously broken on their part. It means a single lost packet screws up the whole sequence. Not good. If FS drops the whole sequence, that might be a little too aggressive. Some will argue that a gateway should be totally transparent in these situations, but total transparency is only workable in simplistic cases. In the end, if MS are doing this you can be sure it will not be fixed, and must be tolerated. Regards, Steve
_______________________________________________ Freeswitch-dev mailing list [email protected] http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org
