Don't hard code the RTP payload type to 101 (bug #2192)
authorMark Spencer <markster@digium.com>
Sat, 31 Jul 2004 20:31:11 +0000 (20:31 +0000)
committerMark Spencer <markster@digium.com>
Sat, 31 Jul 2004 20:31:11 +0000 (20:31 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3552 65c4cc65-6c06-0410-ace0-fbb531ad65f3

include/asterisk/module.h
rtp.c

index aba7298..83f44eb 100755 (executable)
@@ -158,7 +158,7 @@ void ast_unregister_atexit(void (*func)(void));
 
 #define LOCAL_USER_ADD(u) { \
  \
-       if (!(u=malloc(sizeof(struct localuser)))) { \
+       if (!(u=(struct localuser *)malloc(sizeof(struct localuser)))) { \
                ast_log(LOG_WARNING, "Out of memory\n"); \
                return -1; \
        } \
diff --git a/rtp.c b/rtp.c
index 3d0c513..55a4e35 100755 (executable)
--- a/rtp.c
+++ b/rtp.c
@@ -965,6 +965,7 @@ int ast_rtp_senddigit(struct ast_rtp *rtp, char digit)
        int res;
        int ms;
        int x;
+       int payload;
        char data[256];
        char iabuf[INET_ADDRSTRLEN];
 
@@ -982,7 +983,7 @@ int ast_rtp_senddigit(struct ast_rtp *rtp, char digit)
                ast_log(LOG_WARNING, "Don't know how to represent '%c'\n", digit);
                return -1;
        }
-       
+       payload = ast_rtp_lookup_code(rtp, 0, AST_RTP_DTMF);
 
        /* If we have no peer, return immediately */    
        if (!rtp->them.sin_addr.s_addr)
@@ -1001,7 +1002,7 @@ int ast_rtp_senddigit(struct ast_rtp *rtp, char digit)
        
        /* Get a pointer to the header */
        rtpheader = (unsigned int *)data;
-       rtpheader[0] = htonl((2 << 30) | (1 << 23) | (101 << 16) | (rtp->seqno++));
+       rtpheader[0] = htonl((2 << 30) | (1 << 23) | (payload << 16) | (rtp->seqno++));
        rtpheader[1] = htonl(rtp->lastts);
        rtpheader[2] = htonl(rtp->ssrc); 
        rtpheader[3] = htonl((digit << 24) | (0xa << 16) | (0));