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

Reply via email to