diff options
author | Mark Michelson <mmichelson@digium.com> | 2009-06-17 20:10:01 +0000 |
---|---|---|
committer | Mark Michelson <mmichelson@digium.com> | 2009-06-17 20:10:01 +0000 |
commit | 99b98d8f9a35e968e9447760bc1714299fb1cf87 (patch) | |
tree | 50b8e79699a8046e5be625eff3e908215a0bbd89 /channels/chan_sip.c | |
parent | d8cc968adc2f6281076563e045577af2d8edd610 (diff) |
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
Diffstat (limited to 'channels/chan_sip.c')
-rw-r--r-- | channels/chan_sip.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 144b6fa1c..8caaebfd7 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; } |