From: Mark Michelson Date: Wed, 17 Jun 2009 20:10:01 +0000 (+0000) Subject: Fix problem with no audio due to ignoring the SDP. X-Git-Tag: 11.0.0-beta1~4660 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=99b98d8f9a35e968e9447760bc1714299fb1cf87;p=thirdparty%2Fasterisk.git Fix problem with no audio due to ignoring the SDP. A recent change to our SDP version comparison made audio not function on some calls. This was because of a test wherein we were trying to see if an unsigned value was less than 0. This is a dumb comparison and arguably the compiler should have warned about it. Alas, though, it slipped past. Now it's fixed by changing the variable to be a signed type. Found by several developers. Tested by mnicholson and dbrooks. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@201462 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 144b6fa1cc..8caaebfd71 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -1797,7 +1797,7 @@ struct sip_pvt { int sessionid; /*!< SDP Session ID */ long branch; /*!< The branch identifier of this session */ long invite_branch; /*!< The branch used when we sent the initial INVITE */ - uint64_t sessionversion_remote; /*!< Remote UA's SDP Session Version */ + int64_t sessionversion_remote; /*!< Remote UA's SDP Session Version */ struct sockaddr_in sa; /*!< Our peer */ struct sockaddr_in redirip; /*!< Where our RTP should be going if not to us */ struct sockaddr_in vredirip; /*!< Where our Video RTP should be going if not to us */ @@ -7834,7 +7834,7 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action int last_rtpmap_codec=0; char buf[SIPBUFSIZE]; - uint64_t rua_version; + int64_t rua_version; int red_data_pt[10]; int red_num_gen = 0; @@ -7887,7 +7887,7 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action ast_log(LOG_WARNING, "SDP syntax error in o= line\n"); return -1; } - if (!sscanf(token, "%" SCNu64, &rua_version)) { + if (!sscanf(token, "%" SCNd64, &rua_version)) { ast_log(LOG_WARNING, "SDP syntax error in o= line version\n"); return -1; }