Commit Graph

3200 Commits

Author SHA1 Message Date
Russell Bryant
7c6e763258 chan_sip: Destroy variables on a sip_pvt before copying vars from the sip_peer.
Don't duplicate variables on the sip_pvt.  Just reset the variable list each
time.

(closes issue #19202)
Reported by: wdoekes
Patches:
      issue19202_destroy_challenged_invite_chanvars.patch uploaded by wdoekes (license 717)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@317867 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-06 20:01:16 +00:00
Russell Bryant
d5a0fb899a chan_sip: fix a deadlock in check_rtp_timeout.
Don't block doing silly deadlock avoidance.  Just return and try again later.
The funciton gets called often enough that it's fine.  Also, this change was
already made in trunk.

(closes issue #18791)
Reported by: irroot
Patches:
      chan_sip.rtptimeout.patch uploaded by irroot (license 52)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@317865 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-06 19:46:49 +00:00
Russell Bryant
25ccc62ee9 URI encode less characters in the RPID and Contact headers.
If this change causes any problems, we will need to backport the more extensive
uri encoding and decoding handling changes that are in trunk/1.10.

(closes issue #18686)
Reported by: wolfgang
Patches:
      quick-and-dirty.patch uploaded by wdoekes (license 717)
Tested by: wdoekes, devellow, wolfgang, mav3rick


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@317861 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-06 19:35:00 +00:00
Richard Mudgett
900e3e5d03 Fix SIP connected line updates.
This patch fixes a couple SIP connected line update problems:

1) The connected line needs to be updated when the initial INVITE is sent
if there is a peer callerid configured.  Previously, the connected line
information did not get reported until the call was connected so SIP could
not report connected line information in ringing or progress messages.

2) The connected line should not be updated on initial connect if there is
no connected line information.  Previously, all it did was wipe out any
default preset CONNECTEDLINE information set by the dialplan with empty
strings.

(closes issue #18367)
Reported by: GeorgeKonopacki
Patches:
      issue18367_v1.8.patch uploaded by rmudgett (license 664)
Tested by: rmudgett

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@317670 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-06 16:19:18 +00:00
Russell Bryant
6446ba738b Fix some consistency issues with jitterbuffer config.
Store the defaults noted in the sample config files in the jitterbuffer config
data structure.  This makes the CLI commands that output these settings show
the right thing.  Also only show the settings that are relevant in the settings
CLI commands, based on which jitterbuffer is selected and whether it's enabled.

(closes issue #19083)
Reported by: rgagnon
Patches:
      issue-19083-trunk-r313139.diff uploaded by rgagnon (license 1202)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@317478 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-05 22:53:45 +00:00
Russell Bryant
1ccfa50ba8 Fix more "set but unused" warnings.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@317474 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-05 22:36:33 +00:00
Jonathan Rose
fd5f6b5174 Resolves a deadlock that occurs during sip_new
This is based on an uncommitted patch by jpeeler for the issue.  Instead of
relocking and then unlocking the channel though, we keep the lock on the channel
until we are finished doing what we need to the channel.

(closes issue #18441)
Reported by: Alric



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@317283 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-05 19:09:13 +00:00
Russell Bryant
06efd495b2 Merged revisions 317255 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r317255 | russell | 2011-05-05 13:29:53 -0500 (Thu, 05 May 2011) | 22 lines
  
  Merged revisions 317211 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r317211 | russell | 2011-05-05 13:20:29 -0500 (Thu, 05 May 2011) | 15 lines
    
    chan_sip: fix broken realtime peer count, fix memory leak
    
    This patch addresses two bugs in chan_sip:
    
    1) The count of realtime peers and users was off.  The increment checked the
    value of the caching option, while the decrement did not.
    
    2) Add a missing regfree() for a regex.
    
    (closes issue #19108)
    Reported by: vrban
    Patches:
          missing_regfree.patch uploaded by vrban (license 756)
          sip_object_counter.patch uploaded by vrban (license 756)
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@317281 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-05 18:39:44 +00:00
Matthew Nicholson
976060a8ca Set SO_KEEPALIVE on SIP TCP sockets so that they eventually go away when a peer
abruptly disappears.  This mostly occurs after a successful registration.

(closes issue #17544)
Reported by: marcelloceschia
Patches:
      (modified) tcptls.patch uploaded by st (license 907)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@317196 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-05 18:02:52 +00:00
David Vossel
e389fab7dd Merged revisions 316616 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

........
  r316616 | dvossel | 2011-05-04 08:40:41 -0500 (Wed, 04 May 2011) | 12 lines
  
  Fixes session-timers=refuse not being enforced for *caller*
  
  During handle_request_invite, the session timer mode was retrieved from
  a cached variable.  This patch forces a peer lookup of the session timer
  mode in the case of an incoming invite.
  
  (closes issue #18804)
  Reported by: wdoekes
  Patches: 
        issue18804_session_timer_refuse_caller.patch uploaded by wdoekes (license 717)
        issue_18804_v2.diff uploaded by dvossel (license 671)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@316617 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-04 13:44:41 +00:00
David Vossel
981716535a Never put the Require: timer header in an Invite.
This has already been discussed and should have been resolved earlier.  View
revsion 285565's log for more information about why it is important to not
put timer in the Require header.

(closes issue #18704)
Reported by: mfrager


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@316217 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-03 18:59:06 +00:00
Matthew Nicholson
e8210addf8 Merged revisions 315893 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r315893 | mnicholson | 2011-04-27 14:03:05 -0500 (Wed, 27 Apr 2011) | 21 lines
  
  Merged revisions 315891 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r315891 | mnicholson | 2011-04-27 13:57:56 -0500 (Wed, 27 Apr 2011) | 14 lines
    
    Fix our compliance with RFC 3261 section 18.2.2.
    
    This change optimizes the free_via() function and removes some redundant null
    checking. It also fixes compliance with RFC 3261 section 18.2.2 by always using
    the port specified in the Via header for routing responses (even when maddr is
    not set). Also the htons() function is now used when setting the port.
    Additional documentation comments have been added in various places to make the
    logic in the code clearer.
    
    (closes issue #18951)
    Reported by: jmls
    Patches:
          issue18951_set_proper_port_from_via.patch uploaded by wdoekes (license 717) (modified)
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@315894 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-27 19:14:27 +00:00
Terry Wilson
e4ef679575 Merged revisions 315672 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r315672 | twilson | 2011-04-26 15:52:25 -0700 (Tue, 26 Apr 2011) | 18 lines
  
  Merged revisions 315671 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r315671 | twilson | 2011-04-26 15:47:56 -0700 (Tue, 26 Apr 2011) | 11 lines
    
    Make sure unregistering a peer unlinks it from the peer container
    
    Instead of mostly copying the code from expire_register, just use the function
    that "does the right thing".
    
    (closes issue #16033)
    Reported by: kkm
    Patches: 
          016033-tilgman-fixed-refcount.diff uploaded by kkm (license 888)
    Tested by: kkm, tilghman, twilson
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@315673 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-26 22:56:19 +00:00
Russell Bryant
f575dd5397 Merged revisions 315212 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

........
  r315212 | russell | 2011-04-25 14:00:24 -0500 (Mon, 25 Apr 2011) | 7 lines
  
  Don't link non-cached realtime peers into the peers_by_ip container.
  
  (closes issue #18924)
  Reported by: wdoekes
  Patches:
        issue18924_uncached_realtime_peers_leak-1.6.2.17.patch uploaded by wdoekes (license 717)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@315213 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-25 19:04:28 +00:00
Matthew Nicholson
4468fe047e Merged revisions 314620 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r314620 | mnicholson | 2011-04-21 13:22:19 -0500 (Thu, 21 Apr 2011) | 20 lines
  
  Merged revisions 314607 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r314607 | mnicholson | 2011-04-21 13:19:21 -0500 (Thu, 21 Apr 2011) | 14 lines
    
    Added limits to the number of unauthenticated sessions TCP based protocols are allowed to have open simultaneously.  Also added timeouts for unauthenticated sessions where it made sense to do so.
    
    Unrelated, the manager interface now properly checks if the user has the "system" privilege before executing shell commands via the Originate action. 
    
    AST-2011-005
    AST-2011-006
    
    (closes issue #18787)
    Reported by: kobaz
    
    (related to issue #18996)
    Reported by: tzafrir
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@314628 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-21 18:24:05 +00:00
Terry Wilson
459ab135c2 Merged revisions 314549 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

........
  r314549 | twilson | 2011-04-20 17:17:34 -0700 (Wed, 20 Apr 2011) | 6 lines
  
  Don't allocate more space than necessary for a sip_pkt
  
  This extra allocation is a hold-over from when pkt->data was a 
  character array. Now that it is an allocated string, just allocate 
  enough for the sip_pkt.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@314550 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-21 00:23:04 +00:00
David Vossel
4c1dd375f7 Remove the need for deadlock avoidance in chan_sip do_monitor.
Deadlock avoidance between the sip pvt and the pvt->owner is
very difficult.  Now that channel's are ao2 objects, this complication
is no longer necessary.  It turns out the pvt's msg queue only
exists because of deadlock avoidance (when deadlock avoidance fails
msgs were added to a queue to be processed later), so this goes away as well.

The technique used in the new sip_lock_pvt_full() function should
be used as a template for replacing all locations where deadlock
avoidance occurs between a channel tech_pvt and the pvt's owner.
My hope is that this will begin a reversal of the invalid channel
driver locking architecture we have been using for so long. 

This patch also resolves an issue where the pvt->owner gets
unlocked during processing the msg queue.

(closes issue #18690)
Reported by: dvossel

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@314067 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-18 15:23:45 +00:00
David Vossel
2998c62fc4 sip codec negotiation of dynamic rtp payloads error fix
This patch fixes how chan_sip handles dynamic rtp payload types
it does not understand.  At the moment if a dynamic payload's mime
type does not match one we understand, the payload does not get
removed from our payload table.  As a result of this, the payload
is set to whatever dynamic codec we use internally for that payload
number on outgoing INVITES.  This is incorrect.

This patch fixes this by properly checking the rtpmap set function's
return code to make sure it was found.  The function can return both
-1 and -2 depending on the source of the mismatch.  We were just
checking -1 explicitly.

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@314017 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-18 13:41:06 +00:00
Richard Mudgett
ddc3fac28b Add 416 response to OPTIONS packet.
RFC3261 Section 11.2 says the response code to an OPTIONS packet needs to
be the same as if it were an INVITE.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@312889 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-05 16:19:35 +00:00
Richard Mudgett
0acdb60dbd Responding to OPTIONS packet with 404 because Asterisk not looking for "s" extension.
The get_destination() function was not using the "s" extension when the
request URI did not specify an extension.  This is a regression caused
when the URI parsing code was extracted into parse_uri().

Made get_destination() substitute the "s" extension when the parsed URI
results in an empty string.

(closes issue #18348)
Reported by: shmaize
Patches:
      issue18348_v1.8.patch uploaded by rmudgett (license 664)
Tested by: shmaize


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@312866 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-05 15:38:14 +00:00
Jonathan Rose
7cf95da39a Changes some print statements/events to use a blank string in place of NULL if the string in question is NULL.
This is supposed to improve Solaris compatibility since Solaris goes berserk when trying to output NULL strings.

(closes issue #18759)
Reported by: bklang
Patches:
      null-strings.patch uploaded by bklang (license 919)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@311352 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-03-18 16:19:05 +00:00
Mark Michelson
d409098f0e Be more tolerant of what URI we accept for call completion PUBLISH requests.
(closes issue #18946)
Reported by: GeorgeKonopacki
Patches: 
      18946.patch uploaded by mmichelson (license 60)
Tested by: GeorgeKonopacki



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@310231 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-03-10 15:17:04 +00:00
Jason Parker
546b652f1f Merged revisions 309255 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

........
  r309255 | qwell | 2011-03-02 13:53:47 -0600 (Wed, 02 Mar 2011) | 8 lines
  
  Fix usage of "hasvoicemail=yes" and "mailbox=" in users.conf for SIP.
  
  Since it's a duplicate, nothing is going to be done, so delme doesn't need to
  be set at all.  Strangely, when this was added, this was being set to 1 in 1.6,
  and 0 in trunk.
  
  (issue AST-439)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@309256 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-03-02 19:54:20 +00:00
David Vossel
0a577f6cdd Merged revisions 309083 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

........
  r309083 | dvossel | 2011-03-01 10:05:25 -0600 (Tue, 01 Mar 2011) | 9 lines
  
  Fixes thread blocking issue in the sip TCP/TLS implementation.
  
  (closes issue #18497)
  Reported by: vois
  Patches:
        issues_18497.diff uploaded by dvossel (license 671)
  Tested by: vois, rossbeer, kowalma, Freddi_Fonet
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@309084 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-03-01 16:09:11 +00:00
Alec L Davis
73254a28cb Fix Deadlock with attended transfer of SIP call
Call path 
  sip_set_rtp_peer (locks chan then pvt)
   transmit_reinvite_with_sdp
    try_suggested_sip_codec
     pbx_builtin_getvar_helper (locks p->owner)

But by the time p->owner lock was attempted, seems as though chan and p->owner were different.

So in sip_set_rtp_peer, lock pvt first then lock p->owner using deadlocking methods.

(closes issue #18837)
Reported by: alecdavis
Patches: 
      bug18837-trunk.diff3.txt uploaded by alecdavis (license 585)
Tested by: alecdavis, Irontec, ZX81, cmaj

Review: [https://reviewboard.asterisk.org/r/1126/]



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@308945 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-25 18:52:53 +00:00
Terry Wilson
f0992a0b5e Merged revisions 308678 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

........
  r308678 | twilson | 2011-02-23 21:38:22 -0600 (Wed, 23 Feb 2011) | 8 lines
  
  Use remotesecret to authenticate with a remote party
  
  The remotesecret option was only being used for outbound registration
  and not for placing calls. This patch uses remotesecret on outbound
  calls if it is set, otherwise secret is still used.
  
  Review: https://reviewboard.asterisk.org/r/1107/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@308679 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-24 03:41:34 +00:00
Richard Mudgett
a5f6367057 No response sent for SIP CC subscribe/resubscribe request.
Asterisk does not send a response if we try to subscribe for call
completion after we have received a 180 Ringing.  You can only subscribe
for call completion when the call has been cleared.

When we receive the 180 Ringing, for this call, its call-completion state
is 'CC_AVAILABLE'.  If we then send a subscribe message to Asterisk, it
trys to change the call-completion state to 'CC_CALLER_REQUESTED'.
Because this is an invalid state change, it just ignores the message.  The
only state Asterisk will accept our subscribe message is in the
'CC_CALLER_OFFERED' state.

Asterisk will go into the 'CC_CALLER_OFFERED' when the SIP client clears
the call by sending a CANCEL.

Asterisk should always send a response.  Even if its a negative one.


The fix is to allow for the CCSS core to notify a CC agent that a failure
has occurred when CC is requested.  The "ack" callback is replaced with a
"respond" callback.  The "respond" callback has a parameter indicating
either a successful response or a specific type of failure that may need
to be communicated to the requester.

(closes issue #18336)
Reported by: GeorgeKonopacki
Tested by: mmichelson, rmudgett

JIRA SWP-2633

(closes issue #18337)
Reported by: GeorgeKonopacki
Tested by: mmichelson

JIRA SWP-2634


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@307879 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-15 16:13:55 +00:00
Terry Wilson
cd3b672f45 Merged revisions 306973 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r306973 | twilson | 2011-02-08 12:14:09 -0800 (Tue, 08 Feb 2011) | 9 lines
  
  Merged revisions 306972 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r306972 | twilson | 2011-02-08 12:05:13 -0800 (Tue, 08 Feb 2011) | 2 lines
    
    Fix comparison for REFER Replaces tags with pedantic=yes
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@306979 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-08 20:18:08 +00:00
Terry Wilson
4b54ce5ce5 Merged revisions 306618 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r306618 | twilson | 2011-02-07 13:59:54 -0800 (Mon, 07 Feb 2011) | 17 lines
  
  Merged revisions 306617 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r306617 | twilson | 2011-02-07 13:51:43 -0800 (Mon, 07 Feb 2011) | 10 lines
    
    Don't allow a REFER w/replaces to replace its own dialog
    
    Asterisk currently accepts a REFER with a Refer-To with an embedded Replaces
    header that matches the dialog of the REFER. This would be a situation like A
    calls B, A calls C, A transfers B to A, which is just silly. This patch makes
    the transfer fail instead of making Asterisk freak out and forget to hang other
    channels up.
    
    Review: https://reviewboard.asterisk.org/r/1093/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@306619 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-07 22:15:27 +00:00
Jeff Peeler
6bb8cc3a9b Fix SIP deadlock involving state changes.
Once again a call to pbx_builtin_getvar_helper (and pbx_builtin_setvar_helper)
has caused locking problems. Both of these functions lock the channel when
the channel argument is passed in!

In this case, the suspected problem (the backtrace makes it impossible to tell)
was the private being locked in sip_set_rtp_peer and then:
transmit_reinvite_with_sdp
 try_suggested_sip_codec
   pbx_builtin_getvar_helper
(Traced to verify that the fix was only required in 1.8 and later.)

(closes issue #18491)
Reported by: cmaj
Patches: 
      chan_sip_fix_deadlocks_bug_18491.txt uploaded by cmaj (license 830)
Tested by: cmaj



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@306215 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-03 23:49:28 +00:00
Richard Mudgett
a785544090 Merged revisions 305889 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r305889 | rmudgett | 2011-02-02 18:15:07 -0600 (Wed, 02 Feb 2011) | 17 lines
  
  Merged revisions 305888 via svnmerge from
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r305888 | rmudgett | 2011-02-02 18:02:43 -0600 (Wed, 02 Feb 2011) | 8 lines
  
    Minor AST_FRAME_TEXT related issues.
  
    * Include the null terminator in the buffer length.  When the frame is
    queued it is copied.  If the null terminator is not part of the frame
    buffer length, the receiver could see garbage appended onto it.
  
    * Add channel lock protection with ast_sendtext().
  
    * Fixed AMI SendText action ast_sendtext() return value check.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@305923 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-03 00:24:40 +00:00
Andrew Latham
b7c58ed676 Replace link to old doc with new wiki page.
Link to https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@305753 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-02 15:08:33 +00:00
Jason Parker
1a5122534c Merged revisions 305253 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r305253 | qwell | 2011-01-31 16:59:34 -0600 (Mon, 31 Jan 2011) | 17 lines
  
  Merged revisions 305252 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r305252 | qwell | 2011-01-31 16:56:54 -0600 (Mon, 31 Jan 2011) | 10 lines
    
    Prevent a crash when dialing a technology with no destination (ex: Dial(SIP/))
    
    chan_iax2 and other channel drivers already had code to prevent this.  The
    attempt that app_dial was making to prevent it was not correct, so I fixed that.
    
    (closes issue #18371)
    Reported by: gbour
    Patches: 
          18371.patch uploaded by gbour (license 1162)
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@305254 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-31 23:07:00 +00:00
Matthew Nicholson
15b9d1ac10 Merged revisions 304244 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r304244 | mnicholson | 2011-01-26 14:42:16 -0600 (Wed, 26 Jan 2011) | 13 lines
  
  Merged revisions 304241 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r304241 | mnicholson | 2011-01-26 14:38:22 -0600 (Wed, 26 Jan 2011) | 6 lines
    
    This patch modifies chan_sip to route responses to the address the request came from.  It also modifies chan_sip to respect the maddr parameter in the Via header.
    
    ABE-2664
    
    Review: https://reviewboard.asterisk.org/r/1059/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@304245 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-26 20:43:27 +00:00
Terry Wilson
412ac4639d Merged revisions 303960 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r303960 | twilson | 2011-01-25 16:02:42 -0600 (Tue, 25 Jan 2011) | 23 lines
  
  Merged revisions 303906 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r303906 | twilson | 2011-01-25 14:50:59 -0600 (Tue, 25 Jan 2011) | 16 lines
    
    Guard against retransmitting BYEs indefinitely
    
    In the case of an attended transfer (A calls B, A atxfers to C) where
    A becomes unreachable before replying to Asterisk's BYE, Asterisk can
    sometimes retransmit the BYE indefinitely. This is because
    __sip_autodestruct tests p->refer && !ast_test_flag(&p->flags[0],
    SIP_ALREADYGONE and will then transmit a BYE. When this BYE times out,
    it will not ever be marked as ALREADYGONE, so when __sip_autodestruct
    is called again, we end up starting the cycle over.
    
    This patch adds a call to sip_alreadygone(pkt->owner) in retrans_pkt
    in the case of a BYE that has timed out. This should prevent Asterisk
    from trying to transmit new BYE messages in the future.
    
    Review: https://reviewboard.asterisk.org/r/1077/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@303962 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-25 22:09:01 +00:00
Tilghman Lesher
ab1f22bb75 Merged revisions 303858 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

........
  r303858 | tilghman | 2011-01-25 12:41:26 -0600 (Tue, 25 Jan 2011) | 5 lines
  
  Fix "sip show user <tab>", so that it actually shows results, instead of just completing the last entry.
  
  (closes issue #16675)
  Reported by: pj
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@303860 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-25 18:55:27 +00:00
Sean Bright
4e770f12bf Initialize an uninitialized variable.
(closes issue #18640)
Reported by: jcovert
Patches:
      chan_sip.c.patch uploaded by jcovert (license 551)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@302414 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-19 15:45:17 +00:00
Matthew Nicholson
34bda44174 Merged revisions 302313 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r302313 | mnicholson | 2011-01-18 15:40:03 -0600 (Tue, 18 Jan 2011) | 11 lines
  
  Merged revisions 302311 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r302311 | mnicholson | 2011-01-18 15:35:03 -0600 (Tue, 18 Jan 2011) | 4 lines
    
    URI encode the user part of the contact header.
    
    ABE-2705
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@302314 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-18 21:43:21 +00:00
Jeff Peeler
9190854417 Resolve deadlock involving REFER.
Two fixes:
1) One must always have the private unlocked before calling
pbx_builtin_setvar_helper to not invalidate locking order since it locks the
channel.
2) Unlock the channel before calling pbx_find_extension, which starts and stops
autoservice during the lookup. The problem scenario as illustrated by the
reporter:

Thread: do_monitor
-----------------------
handle_request_do
 handle_incoming
  handle_request_refer
   ast_parking_ext_valid
    pbx_find_extension
     ast_autoservice_stop
      while (chan_list_state == as_chan_list_state) { usleep(1000); }

Thread: autoservice_run
-----------------------
autoservice_run
 chan = ast_waitfor_n
  ast_waitfor_nandfds
   ast_waitfor_nandfds_classic / simple / complex (depending on your system)
    ast_channel_lock(c[x]);

handle_request_do and schedule_process_request_queue locks the owner
if it exists. The autoservice thread is waiting for the channel lock, which
wasn't ever released since the do_monitor thread was waiting for autoservice
operations to complete. Solved by unlocking the channel but keeping a reference
to guarantee safety.

(closes issue #18403)
Reported by: jthurman
Patches: 
      20110103-blind_deadlock.diff uploaded by jthurman (license 614)
      issue18403.patch uploaded by jpeeler (license 325)
Tested by: jthurman



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@301790 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-14 17:32:52 +00:00
Terry Wilson
08938fe910 Merged revisions 301682 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

........
  r301682 | twilson | 2011-01-12 15:05:02 -0600 (Wed, 12 Jan 2011) | 9 lines
  
  Don't reject all SUBSCRIBE auth requests
  
  When merging another SUBSCRIBE fix from 1.4, some braces were put in
  the wrong place. This patch fixes that.
  
  (closes issue #18597)
  Reported by: thsgmbh
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@301683 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-12 21:19:48 +00:00
Leif Madsen
d5036e449b Merged revisions 300520 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

........
  r300520 | lmadsen | 2011-01-04 15:52:41 -0600 (Tue, 04 Jan 2011) | 9 lines
  
  Fix backwards and broken XML documentation.
  
  (closes issue #18547)
  Reported by: jcovert
  Patches: 
        xmldoc.c.patch uploaded by jcovert (license 551)
        chan_iax2.c.doc.patch uploaded by jcovert (license 551)
        chan_sip.c.patch uploaded by jcovert (license 551)
        chan_agent.c.patch uploaded by jcovert (license 551)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@300521 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-04 21:53:27 +00:00
Terry Wilson
be2b52c028 Merged revisions 300298 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r300298 | twilson | 2011-01-04 11:37:26 -0600 (Tue, 04 Jan 2011) | 22 lines
  
  Merged revisions 300216 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r300216 | twilson | 2011-01-04 11:11:48 -0600 (Tue, 04 Jan 2011) | 15 lines
    
    Don't authenticate SUBSCRIBE re-transmissions
    
    This only skips authentication on retransmissions that are already
    authenticated. A similar method is already used for INVITES. This
    is the kind of thing we end up having to do when we don't have a
    transaction layer...
    
    (closes issue #18075)
    Reported by: mdu113
    Patches: 
          diff.txt uploaded by twilson (license 396)
    Tested by: twilson, mdu113
    
    Review: https://reviewboard.asterisk.org/r/1005/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@300301 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-04 17:54:41 +00:00
Matthew Nicholson
7358372d1a Merged revisions 299242 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r299242 | mnicholson | 2010-12-20 15:25:35 -0600 (Mon, 20 Dec 2010) | 23 lines
  
  Merged revisions 299194,299198,299220 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r299194 | mnicholson | 2010-12-20 14:45:38 -0600 (Mon, 20 Dec 2010) | 6 lines
    
    Respond as soon as possible with a 202 Accepted to refer requests.
    
    This change also plugs a few memory leaks that can occur when parking sip calls.
    
    ABE-2656
  ........
    r299198 | mnicholson | 2010-12-20 15:00:44 -0600 (Mon, 20 Dec 2010) | 2 lines
    
    Remove changes to via processing that were not supposed to go into the last commit.
  ........
    r299220 | mnicholson | 2010-12-20 15:21:39 -0600 (Mon, 20 Dec 2010) | 4 lines
    
    Use ast_free() instead of free()
    
    ABE-2656
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@299353 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-12-21 15:25:03 +00:00
Mark Michelson
bc5602a88f Fix a couple of CCSS issues.
* Make sure to allocate a cc_params structure
  when creating autopeers.

* Use sip_uri_cmp when retrieving SIP CC agents
  and monitors in case parameters appear in the
  URI.

(closes issue #18504)
Reported by: kkm

(closes issue #18338)
Reported by: GeorgeKonopacki
Patches: 
      18338.diff uploaded by mmichelson (license 60)
Tested by: GeorgeKonopacki




git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@299248 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-12-20 21:38:30 +00:00
Tzafrir Cohen
8a73e54701 Typos: recieved => received
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@299004 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-12-20 09:14:29 +00:00
Brad Watkins
1c1631cebf Fix parsing of mwi => lines in sip.conf
Reworking parsing of mwi => lines to resolve a segfault.  Also add a set of unit tests for the function that does the parsing.

(closes issue #18350)
Reported by: gbour
Tested by: Marquis, gbour

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@298773 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-12-17 17:26:31 +00:00
Tilghman Lesher
5bc2e04ec0 Ensure the ipaddr field in realtime is large enough to handle IPv6 addresses.
(closes issue #18464)
 Reported by: IgorG
 Patches: 
       realtime_ipv6store.diff uploaded by IgorG (license 20)
       (plus a few additional lines by tilghman)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@298539 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-12-16 09:28:17 +00:00
Terry Wilson
7310e07564 Merged revisions 297960 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r297960 | twilson | 2010-12-09 16:10:31 -0600 (Thu, 09 Dec 2010) | 21 lines
  
  Merged revisions 297959 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r297959 | twilson | 2010-12-09 16:00:30 -0600 (Thu, 09 Dec 2010) | 14 lines
    
    Ignore spurious REGISTER requests
    
    If a REGISTER request with a Call-ID matching an existing transaction is received
    it was possible that the REGISTER request would overwrite the initreq of the
    private structure. This info is used to generate messages for other responses in
    the transaction. This patch ignores REGISTER requests that match non-REGISTER
    transactions.
    
    (closes issue #18051)
    Reported by: eeman
    Tested by: twilson
    
    Review: https://reviewboard.asterisk.org/r/1050/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@297965 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-12-09 22:18:19 +00:00
Jeff Peeler
00143b2778 Merged revisions 297605 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r297605 | jpeeler | 2010-12-06 16:03:04 -0600 (Mon, 06 Dec 2010) | 18 lines
  
  Merged revisions 297603 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r297603 | jpeeler | 2010-12-06 15:57:15 -0600 (Mon, 06 Dec 2010) | 12 lines
    
    Improve handling of REGISTER requests with multiple contact headers.
    
    The changes here attempt to more strictly follow RFC 3261 section 10.3.
    Basically the following will now cause a 400 Bad Response to be returned, if:
    - multiple Contact headers are present with one set to expire all bindings ("*")
    - wildcard parameter is specified for Contact without Expires header or Expires
      header is not set to zero.
    
    ABE-2442
    ABE-2443
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@297607 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-12-06 22:06:37 +00:00
Jeff Peeler
add7816848 Merged revisions 297073 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r297073 | jpeeler | 2010-12-01 11:52:46 -0600 (Wed, 01 Dec 2010) | 30 lines
  
  Merged revisions 297072 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r297072 | jpeeler | 2010-12-01 11:50:09 -0600 (Wed, 01 Dec 2010) | 23 lines
    
    Fix not stopping MOH when transfered local channel queue member is answered.
    
    The problem here is only present when local channels are used with the MOH
    passthru option as well as no optimization (/nm). I will describe the slightly
    bizarre scenario that was used to test, where phones B and C are queue members:
    
    Phone A dials into a queue with two members using local channels and the above
    options. Phone B answers. Phone A blind transfers phone B into the same queue.
    Phone A hangs up. Phone C answers, but phone B didn't stop playing MOH.
    
    In this scenario, the unhold frame that should have gotten to phone B never
    arrived due to the masquerade from the blind transfer. This is usually fine
    since app_queue manages the starting and stopping of MOH. However, with the
    passthrough option enabled when app_queue attempts to stop MOH it tries to do
    so on the local channel rather than the real channel. The easiest solution
    was to just make sure to send an unhold frame during the transfer since it
    wouldn't make sense to have MOH playing after a transfer anyway. This only
    modifies SIP transfers, but the other transfers did not seem to be a problem.
    If DTMF based transfers were a problem it might be okay to add ast_moh_stop
    to finishup, but I didn't want to have to add that unless required.
    
    ABE-2624
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@297075 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-12-01 17:53:13 +00:00