[Asterisk-Dev] RFC3389 problem a little more info.. Again

Claus Futtrup cf at internetit.dk
Wed Sep 8 03:49:03 MST 2004


Well here's the info you requested:

Got RTP packet from 80.165.28.198:24221 (type 13, seq 1, ts 0, len = 5)
RFC3389: 5 bytes, level 0...
DEBUG data rlrwh, rtp->f.data: 0, rtp->f.datalen: 0, rtp->f.samples; 0.....
RFC3389: Copying 5 bytes.... 
DEBUG rtp->f.data: 0, rtp->f.datalen: 4, rtp->f.samples; 0.....
Killed


        if (len < 24) {
                printf("DEBUG data %s, rtp->f.data: %d, rtp->f.datalen: %d, rtp->f.samples; %d.....\n", data, rtp->f.data, rtp->f.d
                printf("RFC3389: Copying %d bytes.... \n", len);
                rtp->f.datalen = len - 1;
                printf("DEBUG rtp->f.data: %d, rtp->f.datalen: %d, rtp->f.samples; %d.....\n", rtp->f.data, rtp->f.datalen, rtp->f.
                memcpy(rtp->f.data, data + 1, len - 1);
                printf("RFC3389: Copying finished %d bytes.... \n", len);
        } else {
                 printf("RFC3389: Copying 0 bytes.... \n");
                rtp->f.datalen = 0;
        }

Kind Regards
 
Claus Futtrup

"The box said 'Requires Windows 95, NT, or better,' so I installed Linux."

 
This message is for the designated recipient only and may contain privileged
or confidential information.  If you have received it in error, please
notify the sender immediately and delete the original.  Any other use of the
email by you is prohibited.
  ----- Original Message ----- 
  From: Rob Gagnon 
  To: Asterisk Developers Mailing List 
  Sent: Tuesday, September 07, 2004 8:17 PM
  Subject: Re: [Asterisk-Dev] RFC3389 problem a little more info..


  If you can reproduce this easily, try debug output of rtp->f.mallocd, and the value of the rtp->f.data pointer.  I would bet both are zero somehow when that function runs.
    ----- Original Message ----- 
    From: cf at internetit.dk 
    To: asterisk-dev at lists.digium.com 
    Sent: Tuesday, September 07, 2004 11:28 AM
    Subject: [Asterisk-Dev] RFC3389 problem a little more info..


    Hi Again,

    Added some more info in rtp.c, and this the problem:

    RFC3389: 5 bytes, level 0...
    RFC3389: Copying 5 bytes.... 
    Segmentation fault

    static struct ast_frame *process_rfc3389(struct ast_rtp *rtp, unsigned char *data, int len)
    {
            struct ast_frame *f = NULL;
            /* Convert comfort noise into audio with various codecs.  Unfortunately this doesn't
               totally help us out becuase we don't have an engine to keep it going and we are not
               guaranteed to have it every 20ms or anything */
    #if 1
            printf("RFC3389: %d bytes, level %d...\n", len, rtp->lastrxformat);
    #endif  
            if (!(rtp->flags & FLAG_3389_WARNING)) {
                    ast_log(LOG_NOTICE, "RFC3389 support incomplete.  Turn off on client if possible\n");
                    rtp->flags |= FLAG_3389_WARNING;
            }
            /* Must have at least one byte */
            if (!len) {
                    printf("RFC3389: Lenghth is -1 or null bytes.... \n");
                    return NULL;
            }
            if (len < 24) {
                    printf("RFC3389: Copying %d bytes.... \n", len);
                    rtp->f.datalen = len - 1;
                    memcpy(rtp->f.data, data + 1, len - 1);
                    printf("RFC3389: Copying finished %d bytes.... \n", len);
            } else {
                     printf("RFC3389: Copying 0 bytes.... \n");
                    rtp->f.datalen = 0;
            }
            printf("RFC3389: Preparing return.... \n");
            rtp->f.frametype = AST_FRAME_CNG;
            rtp->f.subclass = data[0] & 0x7f;
            rtp->f.datalen = len - 1;
            rtp->f.samples = 0;
            rtp->f.delivery.tv_usec = rtp->f.delivery.tv_sec = 0;
            f = &rtp->f;
            printf("RFC3389: Returning f.... \n");
            return f;
    }

    Does this occur because the len is set but the data isn't there??

    Kind regards

    Claus


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


    _______________________________________________
    Asterisk-Dev mailing list
    Asterisk-Dev at lists.digium.com
    http://lists.digium.com/mailman/listinfo/asterisk-dev
    To UNSUBSCRIBE or update options visit:
       http://lists.digium.com/mailman/listinfo/asterisk-dev


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


  _______________________________________________
  Asterisk-Dev mailing list
  Asterisk-Dev at lists.digium.com
  http://lists.digium.com/mailman/listinfo/asterisk-dev
  To UNSUBSCRIBE or update options visit:
     http://lists.digium.com/mailman/listinfo/asterisk-dev


  ---
  Outgoing mail is certified Virus Free.
  Checked by AVG anti-virus system (http://www.grisoft.com).
  Version: 6.0.754 / Virus Database: 504 - Release Date: 06-09-2004
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.digium.com/pipermail/asterisk-dev/attachments/20040908/90e51d5b/attachment.htm


More information about the asterisk-dev mailing list