Mick,

I did ultimately force asterisk to the point where it will not accept or send rfc2833. I did this by modifying chan_sip.c in the function add_noncodec_to_sdp I simply put a return statement in the logic before it got to the point where asterisk would add all the supported codecs to the sdp. Here is the snippet of the code that I altered.

static void add_noncodec_to_sdp(const struct sip_pvt *p, int format, int sample_rate, char **m_buf, size_t *m_size, char **a_buf, size_t *a_size,
                               int debug)
{
       int rtp_code;

       if (debug)
ast_verbose("Adding non-codec 0x%x (%s) to SDP\n", format, ast_rtp_lookup_mime_subtype(0, format));

/* Stagg Forcing Return so as to force INBAND in SDP Nothing below should execute*/
               return;
...


As I put it in my reply to the the mailing list, this is an ugly hack, but at least for my situation it works 99% of the time. I am currently using my server as a proxy server between my customers and my upstream carrier, so I really don't care about rfc2833, and as such I can afford to implement this ugly hack.

--Stagg




Mick Noordewier wrote:

Dear Stagg,

I saw your posting on Asterisk-Users, and I have a similar problem.  I
haven't seen any other solution, so I though I would ask if you had an
update before I posted to the list myself.

I tried a version of your modification, removing the "a=fmtp" line on
the SIP invite response.  However, there is still another line "m=audio
10988 RTP/AVP 0 101" response that the carrier detects.  This seems
unresponsive to any dtmfmode statement in sip.conf.  My carrier then
sends out of band dtmf as it did before, even though I've got
dtmfmode=inband in sip.conf.  Before I start hacking further, do you
know a way to suppress the rfc2833 indication in this response?

Many thanks for any help,

Mick Noordewier
[EMAIL PROTECTED]

------------------------------------------------------------------------------------

Re: [Asterisk-Users] dtmfmode=inband but SDP also indicates rfc2833

Stagg Shelton
Sun, 02 Jul 2006 13:38:23 -0700
I answered my own question. My objective was reached with a simple
return statement on line 4384 of chan_sip.c in asterisk 1.2.9.1 ftp
download. The effect that this has is that asterisk will return a 200 OK
that indicates in the SDP that only inband DTMF is supported. My carrier
detects this and their NexTone Session Switch sends out dtmf inband.

It sucks having to force asterisk to operate in this manner, but
hopefully asterisk implementation of rfc2833 will get the bugs worked
out, if they are in fact bugs, and not design desicions.

Stagg Shelton wrote:


   I'm trying to figure out a way around a problem that I'm having. My
   carrier sends me a SIP INVITE that indicates that the dtmf modes
   available are inband (0), and rfc2833 (101). My asterisk server
   (1.2.9.1) sends back a 200 OK message and shows in its SDP Media
   Description that we accept inband (0) and rfc2833 (101). My carrier
   therefore sends all DTMF via rfc2833 which obviously causes problems
   since asterisk is configured for inband.

   I've tried going pure rfc2833 with the carrier, and am having DTMF
   related problems. From the research that I have done with my issue
   it seems to be a problem with the way asterisk sends the rfc2833
   packets out at nearly the same time. Altering the timing that
   asterisk uses to send the rfc2833 packets seems too deeply seated in
   asterisk. I therefore have settled on the idea on using inband for
   dtmf. My termination tests using inband have been successful.

   So here is what i think will solve my particular problem. I just
   want to respond with a 200 OK that does not contain anything about
   rfc2833 in the SDP. Is this fairly doable. I've been diging through
   chan_sip.c and think I could just make a couple of modifications to
   make asterisk do what I need it to. I'm hoping to have someone who
   is familiar with chan_sip.c enlighten me as to whether or not this
   can be done, and what functions I would need to modify in order to
   make it happen.

   Thank You
   Stagg Shelton
   www.oneringnetworks.com


_______________________________________________
--Bandwidth and Colocation provided by Easynews.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to