Commit Graph

2007 Commits

Author SHA1 Message Date
Joshua Colp
0eb5bea853 Don't overwrite caller ID name on a trunk with the configured fullname when using users.conf
(issue ABE-1989)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@228547 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-06 18:32:58 +00:00
Matthew Nicholson
841a1d5ed5 Modify the SDP parsing code to parse session and media level items separately.
With the new code, media level proprieties should no longer be confused with session level proprieties. This change also reorganizes some of the SDP parsing code which should make it easier to manage in the future.

(closes issue #14994)
Reported by: frawd
Tested by: frawd, mnicholson, file

Review: https://reviewboard.asterisk.org/r/385/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@227758 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-04 19:55:44 +00:00
Joshua Colp
7f8c4f7278 Fix a security issue where sending a REGISTER with a differing username in the From
URI and Authorization header would reveal whether it was valid or not.

(AST-2009-008)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@227700 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-04 19:17:39 +00:00
Joshua Colp
f4298a49f0 Fix a bug where an RPID header could be generated with a blank username in the URI.
(closes issue #15909)
Reported by: kobaz


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@227166 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-03 15:36:16 +00:00
Olle Johansson
6ad9ff8acc Fixing bug before someone reports it...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@227090 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-03 10:48:41 +00:00
Olle Johansson
8239b12ab7 Adding IP address in Contact ACL log message and removing redundant message
(based on kpfleming's feedback)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@227089 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-03 10:41:45 +00:00
Olle Johansson
05390babd0 Use proper response code when violating Contact ACL's.
Review: https://reviewboard.asterisk.org/r/415/

Thanks kpfleming for a quick review.
(EDVX-003)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@227088 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-03 10:29:59 +00:00
David Brooks
e3103c39a7 SIP channel name uniqueness
SIP channel names were supposed to be unique by way of a name suffix derived from the
pointer to the channel's private data. Uniqueness was preserved on 32-bit systems, but
not on 64-bit systems. This patch, as suggested by kpfleming, replaces this suffix with
a simple incremented unsigned int.

(closes issue #15152)
Reported by: palbrecht

Review: https://reviewboard.asterisk.org/r/420/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@226972 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-02 20:52:53 +00:00
David Vossel
bedd6eb8a4 IAX/SIP shrinkcallerid option
The shrinking of caller id removes '(', ' ', ')', non-trailing '.',
and '-' from the string.  This means values such as 555.5555 and
test-test result in 555555 and testtest.  There are instances,
such as Skype integration, where a specific value is passed via
caller id that must be preserved unmodified.  This patch makes
the shrinking of caller id optional in chan_sip and chan_iax in
order to support such cases.  By default this option is on to
preserve previous expected behavior.

(closes issue #15940)
Reported by: dimas
Patches:
      v2-15940.patch uploaded by dimas (license 88)
      15940_shrinkcallerid_trunk.c uploaded by dvossel (license 671)
Tested by: dvossel

Review: https://reviewboard.asterisk.org/r/408/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@225032 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-21 14:37:04 +00:00
Kevin P. Fleming
0a226d933f Remove automatic switching from T.38 to voice mode in chan_sip.
chan_sip has some code to automatically switch from T.38 mode to voice mode when
a voice frame is written to the channel while it is in T.38 mode; this was
intended to handle the situation when a FAX transmission has ended and the channel
is not yet hung up, but is causing problems at the beginning of FAX sessions as
well when there are still voice frames 'in flight' at the time the T.38 negotiation
completes. This patch removes the automatic switchover.
  
(issue #16025)
Reported by: jamicque



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@223692 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-12 15:30:40 +00:00
David Vossel
a6e33cd544 fixes sip registration using authuser in user.conf
(closes issue #14954)
Reported by: tornblad
Tested by: mmichelson, tornblad, dvossel



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@223205 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-09 17:52:35 +00:00
David Vossel
7d5c81565a 'auth=' did not parse md5 secret correctly
(closes issue https://issues.asterisk.org/view.php?id=15949)
Reported by: ebroad
Patches:
      authparsefix.patch uploaded by ebroad (license 878)
      15949_trunk.diff uploaded by dvossel (license 671)
Tested by: ebroad


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@223142 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-09 17:18:54 +00:00
David Vossel
9cc4a5b792 crash on transfer
handle_invite_replaces() attempts to uplock a pvt's
owner channel without first verifing that it exists.

(issue #16027)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@222542 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-07 17:41:21 +00:00
Matthew Nicholson
ae49400957 Use unsigned ints for portinuri flags.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@221588 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-01 15:24:00 +00:00
Matthew Nicholson
fe4b70c4f5 Make portinuri a bitfield.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@221489 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-30 23:15:17 +00:00
Matthew Nicholson
050d830ec2 Fix SRV lookup and Request-URI generation in chan_sip.
This patch adds a new field "portinuri" to the sip dialog struct and the sip peer struct.  That field is used during RURI generation to determine if the port should be included in the RURI.  It is also used in some places to determine if an SRV lookup should occur.

(closes issue #14418)
Reported by: klaus3000
Tested by: klaus3000, mnicholson

Review: https://reviewboard.asterisk.org/r/369/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@221360 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-30 19:36:06 +00:00
Terry Wilson
96564de25e Change the SSRC by default when our media stream changes
Be default, change SSRC when doing an audio stream changes Asterisk doesn't
honor marker bit when reinvited to already-bridged RTP streams,resulting in
far-end stack discarding packets with "old" timestamps that areactually part of
a new stream.  This patch sends AST_CONTROL_SRCUPDATE whenever there is a
reinvite, unless the 'constantssrc' is set to true in sip.conf.

The original issue reported to Digium support detailed the following situation:
ITSP <-> Asterisk 1.4.26.2 <-> SIP-based Application Server Call comes in
fromITSP, Asterisk dials the app server which sends a re-invite back
toAsterisk--not to negotiate to send media directly to the ITSP, but to
indicatethat it's changing the stream it's sending to Asterisk.  The app
servergenerates a new SSRC, sequence numbers, timestamps, and sets the marker
bit on the new stream.  Asterisk passes through the teimstamp of the new stream,
butdoes not reset the SSRC, sequence numbers, or set the marker bit.

When the timestamp on the new stream is older than the timestamp on the
originalstream, the ITSP (which doesn't know there has been any change) discards
the newframes because it thinks they are too old.  This patch addresses this by
changing the SSRC on a stream update unless constantssrc=true is set in
sip.conf.

Review: https://reviewboard.asterisk.org/r/374/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@221086 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-30 14:49:11 +00:00
Tilghman Lesher
a0bc561b9e Reduce CPU usage related to building a peer merely for devicestates.
This fixes a 100% CPU problem in the SIP driver, found by profiling
the driver while the problem was occurring.
(closes issue #14309)
 Reported by: pkempgen
 Patches: 
       20090924__issue14309.diff.txt uploaded by tilghman (license 14)
 Tested by: pkempgen, vrban


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@220873 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-29 17:59:26 +00:00
David Vossel
66fff128f0 via-header branches not updated correctly on INVITE
INVITE requests must always contain a new unique branch id. When
a new branch id is created for an INVITE, the dialog's invite_branch
variable must be updated so CANCEL requests use the correct branch id.

(closes issue #15262)
Reported by: maniax
Patches:
      asterisk-1.6.1.0-sip-branch.patch uploaded by tweety (license 608)
      invite_new_branch_trunk.diff uploaded by dvossel (license 671)
Tested by: maniax, dvossel



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@219450 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-18 16:19:15 +00:00
Mark Michelson
e2dabd44a3 Send a 100 Trying response when we detect a spiral.
This was problematic during spiral tests at SIPit...
along with some other things as well.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@219320 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-17 22:20:50 +00:00
David Vossel
7e0f2c802f INVITE w/Replaces deadlock fix
This patch cleans up the locking logic in chan_sip.c's
handle_invite_replaces() function as well as making use
of ast_do_masquerade() rather than forcing the masquerade
on an ast_read().  The code had several redundant unlocks
that would result in 'freed more times than we've locked!'
errors. I cleaned these up as well as moving all the unlock
logic to the end of the function.  This patch should also
resolve the issue people were having with the replacecall
channel never being unlocked with one legged calls.

(closes issue #15151)
Reported by: irroot
Patches:
      invite_w_replaces_1.4.diff uploaded by dvossel (license 671)
Tested by: irroot, dvossel

Review: https://reviewboard.asterisk.org/r/371/



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@219303 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-17 21:29:37 +00:00
Matthew Nicholson
ca41240806 Send request contact header field with response to registrer queries instead of the address of record.
(closes issue #14438)
Reported by: ravindrad
Patches:
      regquerypatch uploaded by ravindrad (license 684)
Tested by: ravindrad


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@218578 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-15 16:03:54 +00:00
Kevin P. Fleming
b36f0b9340 revert accidental commit
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@218498 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-15 14:57:01 +00:00
Kevin P. Fleming
2c027162a2 Use proper hostname for downloading sound files.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@218497 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-15 14:55:58 +00:00
Tilghman Lesher
fb591b9f93 Backport realtime fix to 1.4
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@217917 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-10 23:15:21 +00:00
Olle Johansson
b546a14a99 Remove harmful code that causes endless loops.
Remove code that causes loops in registrations. 

We have agreed that the patch that this code was part of was bad. I am ripping out the code that causes 
the issue. putnopvut needs to check the rest of the patch, if it needs to be changed as well.

This solves the issue reported in #15540, but needs more work before we close it (as described above).



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@217668 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-10 19:07:24 +00:00
Michiel van Baak
da349b0e75 make chan_sip compile under devmode again
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@216432 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-04 13:53:09 +00:00
Olle Johansson
05899c19a1 Make apps send PROGRESS control frame for early media and fix too early media issue in SIP
The issue at hand is that some legacy (dying) PBX systems send empty media frames on PRI
links *before* any call progress. The SIP channel receives these frames and by default
signals 183 Session progress and starts sending media. This will cause phones to 
play silence and ignore the later 180 ringing message. A bad user experience.

The fix is twofold:
- We discovered that asterisk apps that support early media ("noanswer") did not send
  any PROGRESS frame to indicate early media. Fixed.
- We introduce a setting in chan_sip so that users can disable any relay of media frames
  before the outbound channel actually indicates any sort of call progress.
  In 1.4, 1.6.0 and 1.6.1, this will be disabled for backward compatibility. In later versions
  of Asterisk, this will be enabled. We don't assume that it will change your Asterisk
  phone experience - only for the better.

We encourage third-party application developers to make sure that if they have applications
that wants to send early media, add a PROGRESS control frame transmission to make sure that
all channel drivers actually will start sending early media. This has not been the default
in Asterisk previous to this patch, so if you got inspiration from our code, you need to
update accordingly. Sorry for the trouble and thanks for your support.

This code has been running for a few months in a large scale installation (over 250
servers with PRI and/or BRI links to old PBX systems). 
That's no proof that this is an excellent patch, but, well, it's tested :-)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@216430 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-04 13:45:48 +00:00
Terry Wilson
82b1e162e1 Re-send non-100 provisional responses to prevent cancellation
From section 13.3.1.1 of RFC 3261:

   If the UAS desires an extended period of time to answer the INVITE,
   it will need to ask for an "extension" in order to prevent proxies
   from canceling the transaction. A proxy has the option of canceling
   a transaction when there is a gap of 3 minutes between responses in a
   transaction. To prevent cancellation, the UAS MUST send a non-100
   provisional response at every minute, to handle the possibility of
   lost provisional responses.

(closes issue #11157)
Reported by: rjain
Tested by: twilson

Review: https://reviewboard.asterisk.org/r/315/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@215682 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-02 21:41:22 +00:00
Kevin P. Fleming
79221dad8d Ensure that T.38 INVITEs generated by Asterisk properly result in T.38 being enabled.
(closes issue #15373)
Reported by: dcolombo
Patches:
      chan_sip.patch uploaded by mbrancaleoni (license 342)
Tested by: dcolombo, mbrancaleoni


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@213631 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-21 20:23:45 +00:00
Mark Michelson
ad76c40551 Backport fix so that outbound CANCEL requests have same branch as challenged INVITEs.
There already was code present to be sure that a CANCEL will contain the same branch-id
as the INVITE it is cancelling. However, for INVITES which are challenged downstream,
this mechanism did not work properly. Now this is taken care of.

This is a backport of a fix already present in all 1.6.X branches and in trunk. It also
fixes ABE-1907.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@211807 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-12 18:46:09 +00:00
Tilghman Lesher
63cc189747 AST-2009-005
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@211528 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-10 19:15:57 +00:00
Mark Michelson
38e98f42bc Only send a BYE when hanging up a channel that is up.
For cases where Asterisk sends an INVITE and receives a non 2XX final
response, Asterisk would follow the INVITE transaction by immediately
sending a BYE, which was unnecessary.

(closes issue #14575)
Reported by: chris-mac



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@208587 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-24 18:26:50 +00:00
Mark Michelson
1c46ba9635 Fix a problem where a 491 response could be sent out of dialog.
This generalizes the fix for issue 13849. The initial fix corrected the
problem that Asterisk would reply with a 491 if a reinvite were received
from an endpoint and we had not yet received an ACK from that endpoint
for the initial INVITE it had sent us. This expansion also allows Asterisk
to appropriately handle an INVITE with authorization credentials if Asterisk
had not received an ACK from the previous transaction in which Asterisk had
responded to an unauthorized INVITE with a 407.

(closes issue #14239)
Reported by: klaus3000
Patches:
      14239.patch uploaded by mmichelson (license 60)
Tested by: klaus3000
	  


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@208386 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-23 19:24:21 +00:00
Mark Michelson
94bc859e81 Remove inaccurate XXX comment.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@208312 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-23 16:29:18 +00:00
Mark Michelson
eb5f3170fc Properly handle 183 responses which do not contain an SDP.
(closes issue #15442)
Reported by: ffloimair
Patches:
      15442.patch uploaded by mmichelson (license 60)
Tested by: tkarl, ffloimair


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@208262 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-23 15:43:07 +00:00
Mark Michelson
423a444c0b Answer video SDP offers properly when videosupport is not enabled.
Copied from Review board:

In issue 12434, the reporter describes a situation in which audio and video 
is offered on the call, but because videosupport is disabled in sip.conf, 
Asterisk gives no response at all to the video offer. According to RFC 3264, 
all media offers should have a corresponding answer. For offers we do not 
intend to actually reply to with meaningful values, we should still reply 
with the port for the media stream set to 0.

In this patch, we take note of what types of media have been offered and 
save the information on the sip_pvt. The SDP in the response will take into 
account whether media was offered. If we are not otherwise going to answer 
a media offer, we will insert an appropriate m= line with the port set to 0.

It is important to note that this patch is pretty much a bandage being 
applied to a broken bone. The patch *only* helps for situations where video 
is offered but videosupport is disabled and when udptl_pt is disabled but 
T.38 is offered. Asterisk is not guaranteed to respond to every media offer. 
Notable cases are when multiple streams of the same type are offered. 
The 2 media stream limit is still present with this patch, too.

In trunk and the 1.6.X branches, things will be a bit different since Asterisk 
also supports text in SDPs as well.

(closes issue #12434)
Reported by: mnnojd

Review: https://reviewboard.asterisk.org/r/311
Review: https://reviewboard.asterisk.org/r/313



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@207423 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-20 19:39:59 +00:00
David Vossel
98a6820737 sip option flags handled incorrectly
(issue #15376)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@207033 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-17 18:00:38 +00:00
David Vossel
7c82de7d7e SIP incorrect From: header information when callpres is prohib
Some ITSP make use of the "Anonymous" display name to detect a
requirement to withhold caller id across the PSTN. This does
not work if the display name is "Unknown".

(closes issue #14465)
Reported by: Nick_Lewis
Patches:
      chan_sip.c-callerpres.patch uploaded by Nick (license 657)
      chan_sip.c-callerpres_trunk.patch uploaded by dvossel (license 671)
Tested by: Nick_Lewis, dvossel



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@206938 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-17 16:05:06 +00:00
Mark Michelson
12b5e7706c Properly ACK 487 responses to canceled INVITEs.
From the review board request:
The fix from review 298 has exposed a new bug in chan_sip.

When we hang up an outgoing call, we first will dump all the outstanding 
packets on the sip_pvt using __sip_pretend_ack. Then, if we can, we send 
a CANCEL. The problem with this is that since destroyed all the outstanding 
packets on the dialog, we cannot match the incoming 487 response to our 
INVITE. Because we cannot match the response, we do not send an ACK.

To correct this, instead of using __sip_pretend_ack, I have changed the code 
to loop through the list of packets and call __sip_semi_ack on each one 
instead. This causes us to stop retransmitting the requests, but we still have 
them around in case we get responses for them.

When discussing this earlier today with Josh Colp, we both agreed that in the 
majority of cases, this would be enough of a fix. However, we also agreed that 
we should have a safety net in place in case we never receive a response to 
our initial INVITE. To handle this, I have modified __sip_autodestruct to 
behave similar to the way it does in Asterisk 1.4. If there are outstanding 
packets on the sip_pvt, the needdestroy flag is not set, and the last request 
on the dialog was either a CANCEL or BYE, then we set the needdestroy flag and 
reschedule destruction for 10 seconds in the future. If, though, the 
needdestroy flag is set, then we use __sip_pretend_ack to kill the remaining 
outstanding packets so that the monitor thread can destroy the sip_pvt.

I ran two separate tests. First, I placed a call from my Aastra phone to my 
Polycom phone. I hung up the Aastra before the Polycom answered. I verified 
through sip debug output that Asterisk properly ACKed the 487 received from the 
Polycom.

For my second test, I set up a SIPp UAS scenario so that it would send a 200 OK 
in response to a CANCEL but would not send a 487 for the original INVITE. I 
verified that after about 40 seconds, Asterisk properly cleans up the outgoing 
sip_pvt for the call.

Review: https://reviewboard.asterisk.org/r/308



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@205877 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-10 17:39:13 +00:00
David Vossel
1678f43bfa SIP registration auth loop caused by stale nonce
If an endpoint sends two registration requests in a very short
period of time with the same nonce, both receive 401 responses
from Asterisk, each with a different nonce (the second 401
containing the current nonce and the first one being stale).
If the endpoint responds to the first 401, it does not match
the current nonce so Asterisk sends a third 401 with a newly
generated nonce (which updates the current nonce)... Now if
the endpoint responds to the second 401, it does not match the
current nonce either and Asterisk sends a fourth 401 with a
newly generated nonce... This loop goes on and on.

There appears to be a simple fix for this.  If the nonce from
the request does not match our nonce, but is a good response
to a previous nonce, instead of sending a 401 with a newly
generated nonce, use the current one instead.  This breaks
the loop as the nonce is not updated until a response is
received. Additional logic has been added to make sure no
nonce can be responded to twice though.

(closes issue #15102)
Reported by: Jamuel
Patches:
      patch-bug_0015102 uploaded by Jamuel (license 809)
      nonce_sip.diff uploaded by dvossel (license 671)
Tested by: Jamuel

Review: https://reviewboard.asterisk.org/r/289/



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@205804 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-10 16:23:59 +00:00
Mark Michelson
43a5245325 Ensure that outbound NOTIFY requests are properly routed through stateful proxies.
With this change, we make note of Record-Route headers present in any SUBSCRIBE
request that we receive so that our outbound NOTIFY requests will have the proper
Route headers in them.

(closes issue #14725)
Reported by: ibc



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@205775 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-10 15:51:36 +00:00
Mark Michelson
e5bef05d8f Add error message so that it is clear why a SIP peer was not processed when
a DNS lookup fails on a host or outboundproxy.

(closes issue #13432)
Reported by: p_lindheimer
Patches:
      outboundproxy.patch uploaded by p (license 558)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@204300 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-29 22:45:34 +00:00
Mark Michelson
439ce618c5 Fix build oops.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@204246 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-29 21:37:05 +00:00
Mark Michelson
9589d9fb2e Fix a problem where chan_sip would ignore "old" but valid responses.
chan_sip has had a problem for quite a long time that would manifest when
Asterisk would send multiple SIP responses on the same dialog before receiving
a response. The problem occurred because chan_sip only kept track of the highest
outgoing sequence number used on the dialog. If Asterisk sent two requests out,
and a response arrived for the first request sent, then Asterisk would ignore
the response. The result was that Asterisk would continue retransmitting the
requests and ignoring the responses until the maximum number of retransmissions
had been reached.

The fix here is to rearrange the code a bit so that instead of simply comparing
the sequence number of the response to our latest outgoing sequence number, we
walk our list of outstanding packets and determine if there is a match. If there is,
we continue. If not, then we ignore the response.

In doing this, I found a few completely useless variables that I have now removed.

(closes issue #11231)
Reported by: flefoll

Review: https://reviewboard.asterisk.org/r/298


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@204243 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-29 21:23:43 +00:00
Russell Bryant
c05d6ceccd Resolve a crash related to a T.38 reinvite race condition.
This change resolves a crash observed locally during some T.38 testing.
A call was set up using a call file, and when the T.38 reinvite came in,
the channel state was still AST_STATE_DOWN.  The reason is explained by
a comment in the code that previously lived in the handling of
AST_STATE_RINGING.  This change modifies the logic to handle the same
race condition for any channel state that is not UP.

(closes ABE-1895)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@203115 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-25 16:02:16 +00:00
Mark Michelson
a1fa4f0391 Use the handy UNLINK macro instead of hand-coding the same thing in-line.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@202966 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-24 18:28:47 +00:00
David Vossel
d6106936cb MWI NOTIFY contains a wrong URI if Asterisk listens to non-standard port and transport
(closes issue #14659)
Reported by: klaus3000
Patches:
      patch_chan_sip_fixMWIuri_1.4.txt uploaded by klaus3000 (license 65)
      mwi_port-transport_trunk.diff uploaded by dvossel (license 671)
Tested by: dvossel, klaus3000

Review: https://reviewboard.asterisk.org/r/288/



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@202671 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-23 16:28:46 +00:00
Mark Michelson
f76b499923 Fix more memory leaks that may result if rtp is not successfully allocated.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@202601 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-23 15:22:35 +00:00
Mark Michelson
b0c0c17764 Fix potential memory leak in chan_sip when video rtp is not allocated properly.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@202572 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-23 15:08:27 +00:00