Commit Graph

3179 Commits

Author SHA1 Message Date
Richard Mudgett
9de3aa9c60 Timout or error on INFO or MESSAGE transaction causes call to be lost.
When exchanging INFO messages within a call, 4xx error causes the call to
be disconnected although RFC 2976 explicitly states that such transactions
do not modify the state of the dialog.

When exchanging MESSAGE messages within a call, 4xx error causes the call
to be disconnected.  To provide least surprise, we should not disconnect
the call since a MESSAGE is like INFO in this case.  (Implied by RFC 3428
Section 2)

(closes issue ASTERISK-17901)
Reported by: neutrino88

Review: https://reviewboard.asterisk.org/r/1257/
Review: https://reviewboard.asterisk.org/r/1258/

JIRA SWP-3486


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@324481 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-22 18:41:20 +00:00
Richard Mudgett
f5e0f04c19 Comments and whitespace in chan_sip.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@324479 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-22 18:26:55 +00:00
Terry Wilson
6ca0976235 Ignore media offers with a port of 0
Section 5.1 of RFC3264 states:
  A port number of zero in the offer indicates that the stream is offered
  but MUST NOT be used.

(closes issue ASTERISK-17845)
Reported by: jacco
Patches: 
      issue19281_2.patch uploaded by jacco (license 1277)
Tested by: jacco, twilson


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@324237 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-20 17:33:07 +00:00
Terry Wilson
c84e7b911e Lock the channel before calling the setoption callback
The channel needs to be locked before calling these callback functions. Also,
sip_setoption needs to lock the pvt and a check p->rtp is non-null before using
it.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@324048 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-16 22:35:41 +00:00
Jonathan Rose
f9e5239e8a Changes contact use in build_peer to use the FORCE_RPORT flag instead of RPORT_PRESENT
It turned out that this was causing NAT=Yes to always use rport when present which was
against 1.6.2 behavior and the check itself was redundant since the only way this
segment of code could be reached was if RPORT_PRESENT was already evaluated as true
earlier.

(closes issue ASTERISK-17789)
Reported by: byronclark
Patches: 
      use_sip_nat_force_rport.patch uploaded by byronclark (license 1200)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@323371 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-14 16:38:43 +00:00
Terry Wilson
ee2920afba Add rtpkeepalives back to 1.8
The RTP-engine conversion left out support for handling rtpkeepalives.
This patch adds them back.

(closes issue ASTERISK-17304)
Reported by: lmadsen

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@323370 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-14 16:33:55 +00:00
Matthew Nicholson
aad782c474 Unlock the sip channel during fax detection like chan_dahdi does to prevent a deadlock with ast_autoservice_stop.
(closes issue ASTERISK-17798)
tested by mnicholson


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@323040 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-10 19:20:41 +00:00
Matthew Nicholson
099d17c4cb don't drop any voice frames when checking for T.38 during early media
(closes issue ASTERISK-17705)
Review: https://reviewboard.asterisk.org/r/1186/
patch by oej
reported by oej


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@322807 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-09 17:37:07 +00:00
Jonathan Rose
5f46b994f4 Adds ast_escape_encoded utility to properly handle escaping of quoted field before uri.
This commit backports a feature in trunk affecting initreqprep so that display name won't
be encoded improperly. Also includes unit tests for the ast_escape_quoted function.
This patch gives 1.8 a much improved outlook in countries which don't use standard
ASCII characters.

(closes issue ASTERISK-16949)
Reported by: Örn Arnarson
Review: https://reviewboard.asterisk.org/r/1235/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@322585 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-09 14:06:42 +00:00
Gregory Nietsky
f644955b66 Make handle_request_publish do dialog expiration and destruction.
This patch fixes handle_request_publish so that it does dialog expiration and destruction.

  Without this patch the incoming PUBLISH requests will get stuck in the dialog list.
  Restarting asterisk is the only way to remove them.

  Personal observation on one system the server hung up while looping through the channels
  rendering asterisk unusable and all sip phones unregisterd when they try reregister
  more requests are added.

  (closes issue #18898)
  Reported by: gareth
  Tested by: loloski, Chainsaw, wimpy, se, kuj, irroot

  Jira: https://issues.asterisk.org/jira/browse/ASTERISK-17915
  Review: https://reviewboard.asterisk.org/r/1253


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@322322 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-08 06:18:38 +00:00
Richard Mudgett
ca817c31e8 Correct IAX2 and SIP event subscription description string.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@321812 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-03 19:55:21 +00:00
Leif Madsen
b4f0e4b5c9 Enhance NOTICE message to know who couldn't access the dialplan.
(closes issue #19390)
Reported by: lmadsen
Patches: 
      __20110531-sip-notice-tweak.txt uploaded by lmadsen (license 10)
Tested by: russell


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@321511 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-31 16:04:47 +00:00
Mark Murawki
a35ebe0f61 Fixed build problem with dev mode enabled, which was caused by commit 321100. Reformulated patch to be more generic.
Moved the sip uri parse variable initalization to parse_uri_full in reqresp_parser.c.  This will ensure that any use of parse uri will have null output variables if the parse fails.

(closes issue #19346)
Reported by: kobaz
Tested by: kobaz,JonathanRose

Review: [full review board URL with trailing slash]


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@321155 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-26 21:48:45 +00:00
Mark Murawki
d21c41b26a ast_sockaddr_resolve() in netsock2.c may deref a null pointer
Added a null check in netsock2 ast_sockaddr_resolve() as well as added default initalizers in chan_sip parse_uri_legacy_check() to make sure that invalid uris will make null (and not undefined) user,pass,domain,transport variables

(closes issue #19346)
Reported by: kobaz
Patches: 
      netsock2.patch uploaded by kobaz (license 834)
Tested by: kobaz, Marquis



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@321100 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-26 20:09:35 +00:00
Richard Mudgett
b6ed006d32 Native SIP CCSS sends bad CC cancel SUBSCRIBE message.
The SUBSCRIBE message used to cancel a CC request has incorrect To/From
SIP headers.  They are reversed and the dialog tags are the same when they
should not be.  If pedantic mode was disabled, then the cancel would have
succeeded despite the incorrect message.

* The SIP_OUTGOING flag was not set correctly for the dialog and I had to
move some CC subscribe handling code as a result.

* Initialized the dialog subscribed type to CALL_COMPLETION earlier.  If a
CC request SUBSCRIBE message comes in and the CC instance is not found,
the 404 response was duplicated.

JIRA AST-568
JIRA SWP-3493


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@320883 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-25 22:25:18 +00:00
Jonathan Rose
b2d4426842 Fixes segfault occuring in chan_sip.c at __set_address_from_contact
Checks to see if domain contains anything before sending it off to ast_sockaddr_resolve
which is where the segfault was occuring due to null str.

(closes issue #18857)
Reported by: sybasesql

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@320504 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-23 14:33:20 +00:00
Matthew Nicholson
0f7713ec17 This commit modifies the way polling is done on TLS sockets.
Because of the buffering the TLS layer does, polling is unreliable. If poll is
called while there is data waiting to be read in the TLS layer but not at the
network layer, the messaging processing engine will not proceed until something
else writes data to the socket, which may not occur. This change modifies the
logic around TLS sockets to only poll after a failed read on a non-blocking
socket. This way we know that there is no data waiting to be read from the
buffering layer.

(closes issue #19182)
Reported by: st
Patches:
      ssl-poll-fix3.diff uploaded by mnicholson (license 96)
Tested by: mnicholson


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@320180 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-20 18:48:46 +00:00
Jonathan Rose
b3a2f27111 Adds legacy_useroption_parsing to address interoperability concerns.
With the new option engaged, Asterisk should interpret user fields with useroptions
contained within the userfield of the uri by stripping them out of the original message
whenever a semicolon is encountered in the userfield string.

(closes issue #18344)
Reported by: danimal
Tested by: jrose

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@319938 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-20 13:28:24 +00:00
Terry Wilson
35a3aa4601 Merged revisions 319653 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r319653 | twilson | 2011-05-18 16:11:57 -0700 (Wed, 18 May 2011) | 15 lines
  
  Merged revisions 319652 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r319652 | twilson | 2011-05-18 16:04:35 -0700 (Wed, 18 May 2011) | 8 lines
    
    Make sure everyone gets an unhold when a transfer succeeds
    
    Some phones, like the Snom phones, send a hold to the transfer target after
    before sending the REFER. We need to make sure that we unhold the parties
    that are being connected after the masquerade. If Local channels with the /nm
    option are used when dialing the parties, hold music would still be playing on
    the transfer target, even after being connected with the transferee.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@319654 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-18 23:15:58 +00:00
Terry Wilson
0219829eef Unbreak the storing of registrations for restart
The fix for issue 18882 broke retrieving non-realtime peers from the ast_db
on restart/reload. This patch tries to unbreak things while leaving the intent
of the original fix intact.
(closes issue #19318)
Reported by: remiq
Patches: 
      diff.txt uploaded by twilson (license 396)
Tested by: lmadsen, remiq


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@319552 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-18 20:22:36 +00:00
Terry Wilson
ac0cc37ab5 Merged revisions 319202 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

........
  r319202 | twilson | 2011-05-16 11:00:21 -0700 (Mon, 16 May 2011) | 4 lines
  
  Unlink a peer from peers_by_ip when expiring a registration
  
  Review: https://reviewboard.asterisk.org/r/1218/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@319204 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-16 18:17:43 +00:00
David Vossel
215638e661 Merged revisions 319144 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

........
  r319144 | dvossel | 2011-05-16 10:56:16 -0500 (Mon, 16 May 2011) | 2 lines
  
  Fixes issue with peer ref-counting during handle_request_subscribe.

  (closes issue #19293)
  Reported by: irroot
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@319145 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-16 15:57:26 +00:00
Matthew Nicholson
6f625f139a Make sure tcptls_session exists before dereferencing it.
(closes issue #19192)
Reported by: stknob
Patches:
      10-tcptls-unreachable-peer-segfault.patch uploaded by Chainsaw (license 723)
Tested by: vois, Chainsaw


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@319142 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-16 15:53:26 +00:00
Brett Bryant
6ddb2e9ee0 This patch allows TCP peers into the ast_db where they were previously
restricted.

(closes issue #18882)
Reported by: cmaj
Patches: 
      patch-chan_sip-1.8.3-rc2-allow-tcp-peer-store-db-and-readonly-rt-backend.diff.txt
      uploaded by cmaj (license 830)
Tested by: cmaj



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@318917 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-13 17:56:04 +00:00
Alec L Davis
87d80af96c Fix directed group pickup feature code *8 with pickupsounds enabled
Since 1.6.2, the new pickupsound and pickupfailsound in features.conf cause many issues.

1). chan_sip:handle_request_invite() shouldn't be playing out the fail/success audio, as it has 'netlock' locked.
2). dialplan applications for directed_pickups shouldn't beep.
3). feature code for directed pickup should beep on success/failure if configured.

Created a sip_pickup() thread to handle the pickup and playout the audio, spawned from handle_request_invite.

Moved app_directed:pickup_do() to features:ast_do_pickup().

Functions below, all now use the new ast_do_pickup()
app_directed_pickup.c:
   pickup_by_channel()
   pickup_by_exten()
   pickup_by_mark()
   pickup_by_part()
features.c:
   ast_pickup_call()

(closes issue #18654)
Reported by: Docent
Patches: 
      ast_do_pickup_1.8_trunk.diff.txt uploaded by alecdavis (license 585)
Tested by: lmadsen, francesco_r, amilcar, isis242, alecdavis, irroot, rymkus, loloski, rmudgett

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@318671 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-12 22:52:08 +00:00
Terry Wilson
84b9092e03 Comment out the REF_DEBUG that slipped in during debugging
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@318550 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-11 18:47:33 +00:00
Terry Wilson
5badb39856 Merged revisions 318548 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

........
  r318548 | twilson | 2011-05-11 12:15:39 -0500 (Wed, 11 May 2011) | 19 lines
  
  Clean up several chan_sip reference leaks
  
  Several situations in the code could lead to peers or sip_pvt references
  being leaked. This would cause RTP ports to never be destroyed (leading
  to exhaustion of all available RTP ports) and memory leaks.
  
  The original patch for this issue from rgagnon was the result of an
  obscene amount of testing and hard work, for which I am very grateful. I
  did some cleanup and added a few additional refcount fixes that I found.
  
  (closes issue #17255)
  Reported by: kvveltho
  Patches: 
        tag-1.6.2.17-r309252-sip-dos-mem-leak-fix.diff uploaded by rgagnon (license 1202)
  Tested by: rgagnon, twilson, wdoekes, loloski
  
  Review: https://reviewboard.asterisk.org/r/1101/
  Review: https://reviewboard.asterisk.org/r/1207/
  Review: https://reviewboard.asterisk.org/r/1210/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@318549 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-11 18:39:48 +00:00
Terry Wilson
f96cf88212 Merged revisions 318331 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

........
  r318331 | twilson | 2011-05-09 15:04:41 -0500 (Mon, 09 May 2011) | 12 lines
  
  Don't offer video to directmedia callee unless caller offered it as well
  
  Make sure that when directmedia is enabled, that video is not offered to the
  callee even if it supports it. p->vrtp will not exist since the caller didn't
  offer video.
  
  (closes issue #19195)
  Reported by: one47
  Patches: 
        sip_cant_add_video_rtp uploaded by one47 (license 23)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@318337 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-09 20:23:15 +00:00
David Vossel
a0d4192e2d Merged revisions 318230 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

........
  r318230 | dvossel | 2011-05-09 11:51:45 -0500 (Mon, 09 May 2011) | 7 lines
  
  Fixes cases where sip_set_rtp_peer can return too early during media path reset.
  
  (closes issue #19225)
  Reported by: one47
  Patches:
        sip_set_rtp_peer.patch uploaded by one47 (license 23)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@318233 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-09 17:09:55 +00:00
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