[Freeswitch-dev] Exchange 2007 UM - DTMF problem

UV uv at talknet.com.au
Mon Jun 30 03:46:40 EDT 2008


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: freeswitch-users-bounces at lists.freeswitch.org
[mailto:freeswitch-users-bounces at lists.freeswitch.org] On Behalf Of UV
Sent: Sunday, June 29, 2008 7:45 PM
To: freeswitch-users at lists.freeswitch.org
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: freeswitch-users-bounces at lists.freeswitch.org

[mailto:freeswitch-users-bounces at lists.freeswitch.org] On Behalf Of Steve

Underwood

Sent: Sunday, June 29, 2008 3:42 PM

To: freeswitch-users at lists.freeswitch.org

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

 

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20080630/87b7f3a0/attachment-0001.html 


More information about the Freeswitch-dev mailing list