Commit Graph

3392 Commits

Author SHA1 Message Date
Terry Wilson 99cae5b750 Opaquify channel stringfields
Continue channel opaque-ification by wrapping all of the stringfields.
Eventually, we will restrict what can actually set these variables, but
the purpose for now is to hide the implementation and keep people from
adding code that directly accesses the channel structure. Semantic
changes will follow afterward.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@352348 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-24 20:12:09 +00:00
Richard Mudgett 74508e3bca Fix sip_cfg.notifycid to be set with the defined enum values.
The invalid value used when notifycid was enabled was benign.  As far as
the code was concerned -1 and 1 are equivalent.

(closes issue ASTERISK-19232)
Reported by: Eike Kuiper
........

Merged revisions 352090 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 352091 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@352092 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-23 17:36:28 +00:00
Mark Michelson 02408a2476 Remove XXX comment that is not necessary.
........

Merged revisions 352016 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 352017 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@352019 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-21 00:11:13 +00:00
Mark Michelson ab8ba431b6 Fix RTP reference leak.
If a blind transfer were initiated using a REFER without a prior
reINVITE to place the call on hold, AND if Asterisk were sending
RTCP reports, then there was a reference for the RTP instance
of the transferer.

This fixes the issue by merging two similar but slightly conflicting
sections of code into a single area. It also adds a stop_media_flows()
call in the case that the transferer's UA never sends a BYE to us
like it is supposed to.

(issue ASTERISK-19192)

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

Merged revisions 352014 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 352015 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@352018 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-21 00:10:35 +00:00
Richard Mudgett d0c765497d Make CLI sip show channel list the complete route set.
(closes issue ASTERISK-16877)
Reported by: klaus3000
Patches:
      show-complete-routeset-patch.txt (license #5054) patch uploaded by klaus3000 (modified)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@351977 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-20 23:05:06 +00:00
Kinsey Moore c6fd4f5d74 SIP session timeout AMI event
Add an AMI event in the Call category that is issued when a call is terminated
due to either RTP stream inactivity or SIP session timer expiration.

Event description:

Event: SessionTimeout
Source: source
Channel: channel-name
Uniqueid: channel-unique-id

`source` can be either RTPTimeout or SIPSessionTimer

(closes issue ASTERISK-16467)
Patch-by: Kirill Katsnelson


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@351939 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-20 21:26:50 +00:00
Jonathan Rose 1a6960099b Adds setting of mwi_from field to check_auth_result check_peer_ok
(closes ASTERISK-19057)
Reported By: Yuri
Patches: 348360chan_sip.diff uploaded by Yuri (license 5242)
........

Merged revisions 351759 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 351762 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@351764 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-20 16:00:58 +00:00
Richard Mudgett ae32acfa3e Misc minor fixes in reqresp_parser.c and chan_sip.c.
* Fix corner cases in get_calleridname() parsing and ensure that the
output buffer is nul terminated.

* Make get_calleridname() truncate the name it parses if the given buffer
is too small rather than abandoning the parse and not returning anything
for the name.  Adjusted get_calleridname_test() unit test to handle the
truncation change.

* Fix get_in_brackets_test() unit test to check the results of
get_in_brackets() correctly.

* Fix parse_name_andor_addr() to not return the address of a local buffer.
This function is currently not used.

* Fix potential NULL pointer dereference in sip_sendtext().

* No need to memset(calleridname) in check_user_full() or tmp_name in
get_name_and_number() because get_calleridname() ensures that it is nul
terminated.

* Reply with an accurate response if get_msg_text() fails in
receive_message().  This is academic in v1.8 because get_msg_text() can
never fail.
........

Merged revisions 351618 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 351646 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@351667 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-19 23:31:17 +00:00
Jonathan Rose 6fd0ac9dcd Eliminates doubling the :port part of SIP Notify Message-Account headers.
This patch prevents the domain string from getting mangled during the initreqprep
step by moving the initialization to before its immediate use.  It also documents
this pitfall for the ast_sockaddr_stringify functions.

(issue ASTERISK-19057)
Reported by: Yuri
Review: https://reviewboard.asterisk.org/r/1678/
........

Merged revisions 351559 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 351560 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@351561 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-19 21:55:41 +00:00
Joshua Colp ddf421bd5c Prevent crash when an SDP offer is received with an encrypted video stream when support for video is disabled and res_srtp is loaded.
(closes issue ASTERISK-19202)
Reported by: Catalin Sanda
........

Merged revisions 351504 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 351505 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@351506 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-19 21:13:02 +00:00
Stefan Schmidt f69fd136f4 The get_pai function in chan_sip.c didn't recognized a proper callerid name and
number from a P-Asserted-Identity cause the header parsing logic was wrong. 
Changing the parsing functions to the sip header parsing APIs in 
reqresp_parser.h solves this problem.

Review: https://reviewboard.asterisk.org/r/1673
Reviewed by: wdoekes2 and Mark Michelson
........

Merged revisions 351396 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 351408 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@351409 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-18 16:02:15 +00:00
Mark Michelson 5af788ccd0 Use built-in parsing functions for Contact and Record-Route headers.
If a Contact or a Record-Route header had a quoted string with an
item in angle brackets, then we would mis-parse it. For instance,
"Bob <1234>" <1234@example.org>
would be misparsed as having the URI "1234"
The fix for this is to use parsing functions from reqresp_parser.h
since they are heavily tested and are awesome.

(issue ASTERISK-18990)
........

Merged revisions 351284 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 351286 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@351288 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-17 16:56:04 +00:00
Matthew Jordan f86621eb93 Fix udptl issue with initial INVITE introduced by r351027
When an inital INVITE occurs that contains image media, a channel
is not yet associated with the SIP dialog.  The file descriptor
associated with the udptl session needs to be set in
initialize_udptl or in sip_new to account for this scenario.
........

Merged revisions 351233 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 351234 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@351235 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-17 16:08:43 +00:00
Russell Bryant 141dd18848 Merged revisions 351183 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r351183 | russell | 2012-01-16 20:43:19 -0500 (Mon, 16 Jan 2012) | 29 lines
  
  Merged revisions 351182 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r351182 | russell | 2012-01-16 20:37:03 -0500 (Mon, 16 Jan 2012) | 22 lines
    
    Add some missing locking in chan_sip.
    
    This patch adds some missing locking to the function 
    send_provisional_keepalive_full().  This function is called from the scheduler,
    which is processed in the SIP monitor thread.  The associated channel (or pbx)
    thread will also be using the same sip_pvt and ast_channel so locking must be
    used.  The sip_pvt_lock_full() function is used to ensure proper locking order
    in a safe manner.
    
    In passing, document a suspected reference counting error in this function.
    The "fix" is left commented out because when the "fix" is present, crashes
    occur.  My theory is that fixing it is exposing a reference counting error
    elsewhere, but I don't know where.  (Or my analysis of this being a problem
    could have been completely wrong in the first place).  Leave the comment in
    the code for so that someone may investigate it again in the future.
    
    Also add a bit of doxygen to transmit_provisional_response().
    
    (closes issue ASTERISK-18979)
    
    Review: https://reviewboard.asterisk.org/r/1648
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@351184 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-17 01:48:12 +00:00
Terry Wilson aacc158072 Ensure ACK retransmit & hangup on non-200 response to INVITE
When handling a non-2xx final response on an INVITE transaction, we have to
keep the transaction around after we send an ACK in case we receive a
retransmission of the response so we can re-transmit the ACK, but also tear
down the ast_channel as soon as we transmit the ACK. Before this patch, we
could fail at both of these things. Calling sip_alreadygone/needdestroy
prevented us from keeping the transaction up and retransmitting the ACK, and
queueing CONGESTION was not sufficient to cause the channel to be torn down
when originating calls via the CLI, for example.

This patch queues a hangup with CONGESTION instead of just queueing CONGESTION
for these responses and removes the sip_alreadygone and sip_needdestroy calls
from handle_response_invite on non-2xx responses. It relies on the hangup
calling sip_scheddestroy.

For more information, see section 17.1.1.1 of RFC 3261.

(closes issue ASTERISK-17717)
Review: https://reviewboard.asterisk.org/r/1672/
........

Merged revisions 351130 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 351131 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@351143 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-16 21:50:10 +00:00
Terry Wilson fb5924ebe8 Don't prematurely stop SIP session timer
When Asterisk is the UAS (incoming call, endpoint is re-inviting) the SIP session timer expires after half the time the sip endpoint indicates in the Session-expires header in proc_session_timer(). The session timer was being stopped totally and being handled as an error case instead of running again until the second expiry. This patch treats the half-time expiry as a non-error case and continues the timer until the true expiry.

(closes issue ASTERISK-18996)
Reported by: Thomas Arimont
Tested by: Thomas Arimont
Patches: session_timer_fix.diff by Terry Wilson (License #5357)
  based on session_timer.patch by Thomas Arimont (License #5525)
........

Merged revisions 351080 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 351081 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@351082 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-16 20:15:24 +00:00
Matthew Jordan e09527b10d Create and initialize udptl only when dialog negotiates for image media
Prior to this patch, the udptl struct was allocated and initialized when a
dialog was associated with a peer that supported T.38, when a new SIP
channel was allocated, or what an INVITE request was received.  This resulted
in any dialog associated with a peer that supported T.38 having udptl support
assigned to it, including the UDP ports needed for communication.  This
occurred even in non-INVITE dialogs that would never send image media.

This patch creates and initializes the udptl structure only when the SDP
for a dialog specifies that image media is supported, or when Asterisk
indicates through the appropriate control frame that a dialog is to support
T.38.

(closes issue ASTERISK-16698)
Reported by: under
Tested by: Stefan Schmidt
Patches: udptl_20120113.diff uploaded by mjordan (License #6283)

(closes issue ASTERISK-16794)
Reported by: Elazar Broad
Tested by: Stefan Schmidt

review: https://reviewboard.asterisk.org/r/1668/
........

Merged revisions 351027 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 351028 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@351029 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-16 19:13:56 +00:00
Terry Wilson 04da92c379 Replace direct access to channel name with accessor functions
There are many benefits to making the ast_channel an opaque handle, from
increasing maintainability to presenting ways to kill masquerades. This patch
kicks things off by taking things a field at a time, renaming the field to
'__do_not_use_${fieldname}' and then writing setters/getters and converting the
existing code to using them. When all fields are done, we can move ast_channel
to a C file from channel.h and lop off the '__do_not_use_'.

This patch sets up main/channel_interal_api.c to be the only file that actually
accesses the ast_channel's fields directly. The intent would be for any API
functions in channel.c to use the accessor functions. No more monkeying around
with channel internals. We should use our own APIs.

The interesting changes in this patch are the addition of
channel_internal_api.c, the moving of the AST_DATA stuff from channel.c to
channel_internal_api.c (note: the AST_DATA stuff will have to be reworked to
use accessor functions when ast_channel is really opaque), and some re-working
of the way channel iterators/callbacks are handled so as to avoid creating fake
ast_channels on the stack to pass in matching data by directly accessing fields
(since "name" is a stringfield and the fake channel doesn't init the
stringfields, you can't use the ast_channel_name_set() function). I went with
ast_channel_name(chan) for a getter, and ast_channel_name_set(chan, name) for a
setter.

The majority of the grunt-work for this change was done by writing a semantic
patch using Coccinelle ( http://coccinelle.lip6.fr/ ).

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@350223 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-09 22:15:50 +00:00
Terry Wilson b35a3a5c4a Don't leak CID in From header when presentation=unavailable
When someone does Set(CALLERPRES()=unavailable) (or
Set(CALLERID(pres)=unavailable)) when sendrpid=no, the From header shows
"Anonymous" <anonymous@anonymous.invalid>. When sendrpid=yes/pai, the From
header will still display the callerid info, even though we supply an rpid
header with the anonymous info. It seems like we shouldn't leak that info in
any case. Skimming http://tools.ietf.org/html/draft-ietf-sip-privacy-04 seems
to indicate that one shouldn't send identifying info in the From in this case.

This patch anonymizes the From header as well even when sendrpid=yes/pai.

(closes issue ASTERISK-16538)

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

Merged revisions 349968 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 349977 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349978 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-06 23:31:25 +00:00
Jonathan Rose dd3f9b51c8 Adds Subscription-State header to notify with call completion. per RFC3265
(Closes issue ASTERISK-17953)
Reported by: George Konopacki
Patches:
	19400.patch uploaded by mmichelson (license 5049)
........

Merged revisions 349482 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 349502 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349503 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-04 19:53:49 +00:00
Russell Bryant 1a8b769fdc Fix some minor formatting issues based on coding guidelines.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349410 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-12-31 15:48:09 +00:00
Russell Bryant 2b2d34b3c9 Constify tag argument in REF_DEBUG related code.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349409 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-12-31 15:45:57 +00:00
Jonathan Rose 19a4928fee INFO/Record request configurable to use dynamic features
Adds two new options to SIP peers allowing them to specify features (dynamic or builtin)
to use when sending INFO/record requests. Recordonfeature activates whatever feature
is specified when recieving a record: on request while recordofffeature activates
whatever feature is specified when receiving a record: off request. Both of these
features can be disabled by setting the feature to an empty string.

(closes issue ASTERISK-16507)
Reported by: Jon Bright
Review: https://reviewboard.asterisk.org/r/1634/



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349098 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-12-23 20:42:21 +00:00
Jonathan Rose 03596bcb47 chan_sip autocreatepeer=persist option for auto-created peers to survive reload
This patch moves destruction of sip peers to immediately after the general section of
sip.conf is read so that autocreatepeer setting can be read before deletion of peers.
If autocreatepeer=persist at reload, then peers created by the autocreatepeer setting
will be skipped when purging the current SIP peer list.

(closes ASTERISK-16508)
Reported by: Kirill Katsnelson
Patches:
	017797-kkm-persist-autopeers-1.8.patch uploaded by Kirill Katsnelson (license 5845)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349097 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-12-23 20:19:33 +00:00
Richard Mudgett 32e35e5fcd Fix extension state callback references in chan_sip.
Chan_sip gives a dialog reference to the extension state callback and
assumes that when ast_extension_state_del() returns, the callback cannot
happen anymore.  Chan_sip then reduces the dialog reference count
associated with the callback.  Recent changes (ASTERISK-17760) have
resulted in the potential for the callback to happen after
ast_extension_state_del() has returned.  For chan_sip, this could be very
bad because the dialog pointer could have already been destroyed.

* Added ast_extension_state_add_destroy() so chan_sip can account for the
sip_pvt reference given to the extension state callback when the extension
state callback is deleted.

* Fix pbx.c awkward statecbs handling in ast_extension_state_add_destroy()
and handle_statechange() now that the struct ast_state_cb has a destructor
to call.

* Ensure that ast_extension_state_add_destroy() will never return -1 or 0
for a successful registration.

* Fixed pbx.c statecbs_cmp() to compare the correct information.  The
passed in value to compare is a change_cb function pointer not an object
pointer.

* Make pbx.c ast_merge_contexts_and_delete() not perform callbacks with
AST_EXTENSION_REMOVED with locks held.  Chan_sip is notorious for
deadlocking when those locks are held during the callback.

* Removed unused lock declaration for the pbx.c store_hints list.

(closes issue ASTERISK-18844)
Reported by: rmudgett

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

Merged revisions 348940 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 348952 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348953 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-12-23 02:35:13 +00:00
Stefan Schmidt 7d1c55d093 Fix possible misshandling of an incoming SIP response as a peer poke response.
Also make sure peer has even qualify enabled when handle a peer poke response.

(closes issue ASTERISK-18940)
Reported by: Vitaliy
Tested by: Vitaliy and UnixDev

Review: https://reviewboard.asterisk.org/r/1620
Reviewed by: David Vossel
........

Merged revisions 348048 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 348056 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348061 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-12-13 15:22:48 +00:00
Walter Doekes 463bfdb400 Fix regression when using tcpenable=no and tlsenable=yes.
The tlsenable settings are tucked away in main/tcptls.c, so I missed
them when resolving ASTERISK-18837. This should resolve the test suite
breakage of the sip tls tests.

Review: https://reviewboard.asterisk.org/r/1615
Reviewed by: Matt Jordan
........

Merged revisions 347718 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 347727 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@347735 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-12-08 21:32:36 +00:00
Terry Wilson e279b30f5a Don't crash on INFO automon request with no channel
AST-2011-014. When automon was enabled in features.conf, it was possible
to crash Asterisk by sending an INFO request if no channel had been
created yet.

(closes issue ASTERISK-18805)
........

Merged revisions 347530 from http://svn.asterisk.org/svn/asterisk/branches/1.6.2
........

Merged revisions 347531 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 347532 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@347533 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-12-08 16:24:29 +00:00
Richard Mudgett 7e634c21f8 Make SIP INFO messages for dtmf-relay signals case insensitive.
(closes issue ASTERISK-18924)
Reported by: Kevin Taylor
........

Merged revisions 347292 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 347293 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@347294 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-12-06 23:58:44 +00:00
Walter Doekes e14f572132 Don't allow transport=tcp when tcpenable=no.
When tcpenable=no, sending to transport=tcp hosts was still allowed.
Resolving the source address wasn't possible and yielded the string
"(null)" in SIP messages. Fixed that and a couple of not-so-correct
log messages.

(closes issue ASTERISK-18837)
Reported by: Andreas Topp

Review: https://reviewboard.asterisk.org/r/1585
Reviewed by: Matt Jordan
........

Merged revisions 347166 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 347167 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@347168 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-12-06 19:44:27 +00:00
Matthew Jordan b8dba87a4c Fixed crash from orphaned MWI subscriptions in chan_sip
This patch resolves the issue where MWI subscriptions are orphaned
by subsequent SIP SUBSCRIBE messages.  When a peer is removed, either
by pruning realtime SIP peers or by unloading / loading chan_sip, the
MWI subscriptions that were orphaned would still be on the event engine
list of valid subscriptions but have a pointer to a peer that no longer
was valid.  When an MWI event would occur, this would cause a seg fault.

(closes issue ASTERISK-18663)
Reported by: Ross Beer
Tested by: Ross Beer, Matt Jordan
Patches:
  blf_mwi_diff_12_06_11.txt uploaded by Matt Jordan (license 6283)

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

Merged revisions 347058 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 347068 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@347069 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-12-06 17:34:35 +00:00
Walter Doekes 6209c5a894 For SIP REGISTER fix domain-only URIs and domain ACL bypass.
The code that allowed admins to create users with domain-only uri's had
stopped to work in 1.8 because of the reqresp parser rewrites. This is
fixed now: if you have a [mydomain.com] sip user, you can register with
useraddr sip:mydomain.com. Note that in that case -- if you're using
domain ACLs (a configured domain list) -- mydomain.com must be in the
allow list as well.

Reviewboard r1606 shows a list of registration combinations and which
SIP response codes are returned.

Review: https://reviewboard.asterisk.org/r/1533/
Reviewed by: Terry Wilson

(closes issue ASTERISK-18389)
(closes issue ASTERISK-18741)
........

Merged revisions 346899 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 346900 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@346901 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-12-04 10:08:19 +00:00
Matthew Jordan fa4a7dcc45 Update SIP MESSAGE To parsing to correctly handle URI
The previous patch (r346040) incorrectly parsed the URI in the presence
of a port, e.g., user@hostname:port would fail as the port would be
double appended to the SIP message.  This patch uses the parse_uri function
to correctly parse the URI into its username and hostname parts, and places
them in the correct fields in the sip_pvt structure.

(issue ASTERISK-18903)
Review: https://reviewboard.asterisk.org/r/1597/
........

Merged revisions 346856 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@346857 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-12-02 23:30:21 +00:00
Jonathan Rose 39424ebad2 Change 183 Ringing in sipfrag body to 180 ringing. 183 Ringing isn't even a thing.
183 is actually a session progress message.

(closes issue ASTERISK-18925)
Reported by: Sebastian Denz
Tested by: jrose
Patches:
	asterisk18-use_180_instead_of_183_in_sipfrag.diff by Sebastian Denz (License #6139)
........

Merged revisions 346697 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 346698 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@346699 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-12-01 20:46:12 +00:00
Tilghman Lesher 56b21b4683 Remove the few places where we try to ast_verbose() without a newline.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@346655 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-30 23:38:34 +00:00
Jonathan Rose 9ef171ffe0 r346525 | jrose | 2011-11-30 15:10:38 -0600 (Wed, 30 Nov 2011) | 18 lines
Cleaning up chan_sip/tcptls file descriptor closing.

This patch attempts to eliminate various possible instances of undefined behavior caused
by invoking close/fclose in situations where fclose may have already been issued on a
tcptls_session_instance and/or closing file descriptors that don't have a valid index
for fd (-1). Thanks for more than a little help from wdoekes.

(closes issue ASTERISK-18700)
Reported by: Erik Wallin

(issue ASTERISK-18345)
Reported by: Stephane Cazelas

(issue ASTERISK-18342)
Reported by: Stephane Chazelas

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

Merged revisions 346564 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 346565 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@346566 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-30 22:03:02 +00:00
Jonathan Rose fb4c483eb7 Reverting 346525 due to accidental patch against trunk instead of 1.8
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@346563 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-30 21:32:23 +00:00
Jonathan Rose 6fa827b5d0 Cleaning up chan_sip/tcptls file descriptor closing.
This patch attempts to eliminate various possible instances of undefined behavior caused
by invoking close/fclose in situations where fclose may have already been issued on a
tcptls_session_instance and/or closing file descriptors that don't have a valid index
for fd (-1). Thanks for more than a little help from wdoekes.

(closes issue ASTERISK-18700)
Reported by: Erik Wallin

(issue ASTERISK-18345)
Reported by: Stephane Cazelas

(issue ASTERISK-18342)
Reported by: Stephane Chazelas

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@346525 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-30 21:10:38 +00:00
Tilghman Lesher 77b670c4ab Allow each logging destination and console to have its own notion of the verbosity level.
Review: https://reviewboard.asterisk.org/r/1599


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@346391 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-29 18:43:16 +00:00
Walter Doekes 2ee874178e Minor cleanup in chan_sip get_msg_text() function.
In r116240, get_msg_text() got an extra parameter to fix the unwanted
addition of trailing newlines to SIP MESSAGE bodies. This caused all
linefeeds to be trimmed, which isn't right either. This is a stop-gap;
the right fix is to return the original SIP request body.

Review: https://reviewboard.asterisk.org/r/1586
Reviewed by: Matt Jordan
........

Merged revisions 346147 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 346198 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@346199 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-23 20:48:42 +00:00
Matthew Jordan 76394a727f Fixed SendMessage stripping extension from To: header in SIP MESSAGE
When using the MessageSend application to send a SIP MESSAGE to a non-peer,
chan_sip attempted to validate the hostname or IP Address.  In the process,
it stripped off the extension and failed to add it back to the sip_pvt
structure before transmitting.  This patch adds the full URI passed in
from the message core to the sip_pvt structure.

(closes issue ASTERISK-18903)
Reported by: Shaun Clark
Tested by: Matt Jordan

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

Merged revisions 346040 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@346053 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-23 16:23:34 +00:00
Terry Wilson 32d0faac9c Default to nat=yes; warn when nat in general and peer differ
It is possible to enumerate SIP usernames when the general and user/peer
nat settings differ in whether to respond to the port a request is sent
from or the port listed for responses in the Via header. In 1.4 and 1.6.2,
this would mean if one setting was nat=yes or nat=route and the other was
either nat=no or nat=never. In 1.8 and 10, this would mean when one was
nat=force_rport and the other was nat=no.

In order to address this problem, it was decided to switch the default
behavior to nat=yes/force_rport as it is the most commonly used option
and to strongly discourage setting nat per-peer/user when at all possible.

For more discussion of the issue, please see:
  http://lists.digium.com/pipermail/asterisk-dev/2011-November/052191.html

(closes issue ASTERISK-18862)
Review: https://reviewboard.asterisk.org/r/1591/
........

Merged revisions 345776 from http://svn.asterisk.org/svn/asterisk/branches/1.4
........

Merged revisions 345800 from http://svn.asterisk.org/svn/asterisk/branches/1.6.2
........

Merged revisions 345828 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 345830 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@345831 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-21 21:09:59 +00:00
Richard Mudgett 113612b9d6 Restore SIP DTMF overlap dialing method.
The recent fix for ASTERISK-17288 to get RFC3578 SIP overlap support
working correctly removed a long standing ability to do overlap dialing
using DTMF in the early media phase of a call.

See ASTERISK-18702 it has a very good description of the issue.

I started with Pavel Troller's chan_sip.diff patch on issue
ASTERISK-18702.

* Added 'dtmf' enum value to sip.conf allowoverlap config option.  The new
option value causes the Incomplte application to not send anything with
chan_sip so the caller can supply more digits via DTMF.

* Renames SIP_GET_DEST_PICKUP_EXTEN_FOUND to SIP_GET_DEST_EXTEN_MATCHMORE
since that is what it really means.

* Fixed get_destination() inconsistency with the pickup extension
matching.

* Fixed initialization of PAGE3 of global_flags in reload_config().

(closes issue ASTERISK-18702)
Reported by: Pavel Troller

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

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

Merged revisions 345273 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 345275 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@345276 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-14 22:05:39 +00:00
Kinsey Moore 818ac23b92 Ensure that a null vmexten does not cause a segfault
When sip_send_mwi_to_peer was modified recently to avoid deadlocks, vmexten
was not expected to be null.  This change handles that situation to avoid
a segfault.
........

Merged revisions 345063 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 345064 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@345065 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-14 15:11:09 +00:00
Kinsey Moore a4365a8ae2 Fix regression introduced by SDP fixups
If capability is adjusted when switching to UDPTL during fax transmission, fax
teardown fails.  Make sure capability is only touched if RTP is active.  This
regression was introduced in R344385.
........

Merged revisions 344769 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 344770 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@344771 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-11 20:15:16 +00:00
Richard Mudgett e48cecc848 Check sip.conf maxforwards parameter for range 1 <= x <= 255.
JIRA AST-710
........

Merged revisions 344715 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 344716 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@344717 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-11 18:37:32 +00:00
Kinsey Moore c225800646 Fix several bugs with SDP parsing and well-formedness of responses
Fix bug ASTERISK-16558 which dealt with the order of responses to incoming
streams defined by SDP.

Fix unreported bug where offering multiple same-type streams would cause
Asterisk to reply with an incorrect SDP response missing one or more streams
without a proper declination.

Fix bugs related to a single non-audio stream being offered with responses
requesting codecs that were not offered in the initial invite along with an
additional audio stream that was not in the initial invite.

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

Merged revisions 344385 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 344386 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@344387 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-10 18:15:02 +00:00
Richard Mudgett 6d481420ce Fix deadlock during dialplan reload.
Another deadlock between the conlock/hints and channels/channel locking
orders.

* Don't hold the channel and private lock in sip_new() when calling
ast_exists_extension().

(closes issue ASTERISK-18740)
Reported by: Byron Clark
Patches:
      sip_exists_exten_dlock_3.diff (license #5041) patch uploaded by Gregory Hinton Nietsky
      ASTERISK-18740.patch (license #6157) patch uploaded by Byron Clark
Tested by: Byron Clark
........

Merged revisions 344268 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 344271 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@344272 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-09 20:55:43 +00:00
Terry Wilson 04f04ff39d Don't treat a host:port string as a domain
The domain matching code prior to 1.8 used to manually remove the port
from the host:port string when determining if an incoming request
matched the list of domains. When switching to the new parsing
functions, the documentation implied that the "domain" was being
returned by these functions, when instead it was returning the
"hostport" as defined by RFC 3261. This led to confusion and resulted
in 1.8+ rejecting an incoming request from x.x.x.x:xxxxx when
domain=x.x.x.x was set in sip.conf.

This patch renames the "domain" variables in the parsing functions to
"hostport" to more accurately describe what it is that they are
returning and also properly truncates the resulting hostport strings
when dealing with domain matching.

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

Merged revisions 344215 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 344216 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@344217 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-09 20:10:52 +00:00
Richard Mudgett 9537f22c54 Residual changes for Asterisk v10 branch from ASTERISK-18747.
Residual changes for Asterisk v10 branch from ASTERISK-18747 after
https://reviewboard.asterisk.org/r/1564/ commit and associated dialogs
callid hash key change fix.

* Make check_rtp_timeout() return CMP_MATCH if need to delete dialog from
dialogs_rtpcheck.  This is an optimization to avoid an unneeded
lock/unlock and object search when using ao2_unlink.

* Prevent crash in check_rtp_timeout() if dialog->rtp is NULL.

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

Merged revisions 344004 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@344005 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-08 22:14:38 +00:00
David Vossel 5cb719acec Merged revisions 343900 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

........
  r343900 | dvossel | 2011-11-08 12:29:33 -0600 (Tue, 08 Nov 2011) | 11 lines
  
  Fixes regression caused by r343635
  
  There was a missing unlock for a function return that is only
  present in Asterisk 10 and Asterisk Trunk.
  
  (closes issue ASTERISK-18839)
  Reported by: Michael L. Young
  Patches:
      asterisk-18839-missing-lock-trunk-v2.diff (License #5026) patch uploaded by Michael L. Young
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@343905 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-08 18:35:19 +00:00
Richard Mudgett cee432c9d8 Fixed reference to incorrect variable if unknown host configured crash.
* Fixed a LOG_ERROR message referencing the config variable list v that
had previously been processed and became NULL.

* Added error return value set that was missing in an ast_append_ha()
error return path.

(closes issue ASTERISK-18743)
Reported by: Michele
Patches:
      issueA18743-fix_dynamic_exclude_static_bad_host_log.patch (license #5674) patch uploaded by Walter Doekes
Tested by: Michele
........

Merged revisions 343851 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 343852 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@343853 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-08 18:02:51 +00:00
Kinsey Moore 5249a147b8 Make "sip show settings" CLI command get RPID flags from the right global page
The "Trust RPID" and "Send RPID" entries in the "sip show settings" CLI command
pulled the flags from the incorrect global flags page.  These are now read from
sip global flags page 0.

(closes issue AST-711)
........

Merged revisions 343743 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@343744 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-07 22:37:51 +00:00
Matthew Nicholson 2b6ebcb9e9 respect case changes in peer names on sip reload
ASTERISK-18669
........

Merged revisions 343690 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 343691 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@343692 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-07 21:44:05 +00:00
Richard Mudgett 98e494d4a0 Fix __sip_subscribe_mwi_do() incorectly changing dialogs hash key callid.
Changing an object value used as a container key requires removing the
object from the container and reinserting it.

* Created change_callid_pvt() to call instead of build_callid_pvt().  The
change_callid_pvt() will correctly change the dialog callid so the ao2
conainter can explicitly unlink it.
........

Merged revisions 343637 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 343677 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@343684 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-07 21:29:01 +00:00
Kinsey Moore 1c526d3d7d Prevent BLF subscriptions from causing deadlocks
Fix a locking inversion in sip_send_mwi_to_peer that was causing deadlocks.
This function now requires that both the peer and associated pvt be unlocked
before it is called for cases where peer and peer->mwipvt form a circular
reference.

(closes issue ASTERISK-18663)
Review: https://reviewboard.asterisk.org/r/1563/
........

Merged revisions 343621 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 343635 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@343636 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-07 20:35:58 +00:00
Richard Mudgett 7a5f6684f0 Fix deadlock if peer is destroyed while sending MWI notice.
A dialog cannot be destroyed by the ao2_callback dialog_needdestroy
because of a deadlock between the dialogs container lock and the RWLOCK of
the events subscription list.

* Create dialogs_to_destroy container to hold dialogs that will be
destroyed.

* Ensure that the event subscription callback will never happen with an
invalid peer pointer by making the event callback removal the first thing
in the peer destructor callback.

NOTE: This particular deadlock will not happen with Asterisk 10, but some
of the changes still apply.

(closes issue ASTERISK-18747)
Reported by: Gregory Hinton Nietsky

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

Merged revisions 343577 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 343578 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@343579 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-07 19:54:09 +00:00
Terry Wilson 7f883ef495 Remove registertrying option in chan_sip
This option is not only useless, but has been broken since inception since
the flag was never copied from the peer where it is set to the pvt where
it was checked. RFC 3261 specificially states that you should not send a
provisional response to a non-INVITE request, and if we did fix the code
so that it worked, it would cause the same kind of user enumeration
vulnerability that we've discussed with the nat= setting. This patch
removes registertrying option and any code that would have sent a 100
response to a register.

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

Merged revisions 343220 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 343221 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@343222 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-02 23:08:46 +00:00
Walter Doekes f7bdc835a4 Fix improper warning introduced by r342927 and more tweaks
Changeset r342927 introduced a warning which was only supposed to be
emitted when a found realtime peer had an empty (or no) name. It turned
out that there were some inconsistencies left. Now found peers with an
empty name are explicitly ignored like before r342927 but better.

Reviewed by: Stefan Schmidts, Terry Wilson

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

Merged revisions 343181 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 343192 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@343219 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-02 22:46:27 +00:00
Walter Doekes b41b49ea0e Several fixes to the chan_sip dynamic realtime peer/user lookup
There were several problems with the dynamic realtime peer/user lookup
code. The lookup logic had become rather hard to read due to lots of
incremental changes to the realtime_peer function. And, during the
addition of the sipregs functionality, several possibilities for memory
leaks had been introduced. The insecure=port matching has always been
broken for anyone using the sipregs family. And, related, the broken
implementation forced those using sipregs to *still* have an ipaddr
column on their sippeers table.

Thanks Terry Wilson for comprehensive testing and finding and fixing
unexpected behaviour from the multientry realtime call which caused
the realtime_peer to have a completely unused code path.

This changeset fixes the leaks, the lookup inconsistenties and that
you won't need an ipaddr column on your sippeers table anymore (when
you're using sipregs). Beware that when you're using sipregs, peers
with insecure=port will now start matching!

(closes issue ASTERISK-17792)
(closes issue ASTERISK-18356)
Reported by: marcelloceschia, Walter Doekes
Reviewed by: Terry Wilson

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

Merged revisions 342927 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 342929 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@342930 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-01 21:02:56 +00:00
Jonathan Rose 05c6628c55 Outbound SIP OPTIONS messages will now include fromuser of related peer.
This behavior matches up more closely with the way invite/register/etc are handled.
This patch also modifies some adjacent code for code style compliance.  Pretty minor.

(closes issue ASTERISK-17616)
Reported by: Jeremy Kister
Patches:
     chan_sip.c-options-fromuser-fix-v1.patch uploaded by Jeremy Kister (license #6232)
........

Merged revisions 342061 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 342062 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@342063 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-24 20:01:28 +00:00
Terry Wilson 5f8648892f Don't use is_int() since it doesn't link well on all platforms
Just create an normal API function in strings.h that does the same thing
just to be safe.

ASTERISK-17146
........

Merged revisions 341379 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 341380 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@341381 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-19 07:45:06 +00:00
Stefan Schmidt 2816ccc516 Don't sent in-dialog requests like UPDATE when Asterisk has not yet received a Contact URI from a UAS
........

Merged revisions 341366 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 341377 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@341378 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-19 07:27:58 +00:00
Terry Wilson b0076c5be1 Don't resolve numeric hosts or contact unresolved hosts
If a SIP dial string contains a numeric hostname that is not a peer name,
don't try to resolve it as it is unlikely that someone really means
Dial(SIP/0.0.4.26) when Dial(SIP/1050) is called. Also, make sure that
create_addr returns -1 if an address isn't resolved so that we don't
attempt to send SIP requests to an address that doesn't resolve.

(closes issue ASTERISK-17146, ASTERISK-17716)

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

Merged revisions 341314 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 341315 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@341316 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-18 23:45:35 +00:00
Richard Mudgett 10de040b6e More parking issues.
* Fix potential deadlocks in SIP and IAX blind transfer to parking.

* Fix SIP, IAX, DAHDI analog, and MGCP channel drivers to respect the
parkext_exclusive option with transfers (Park(,,,,,exclusive_lot)
parameter).  Created ast_park_call_exten() and ast_masq_park_call_exten()
to maintian API compatibility.

* Made masq_park_call() handle a failed ast_channel_masquerade() setup.

* Reduced excessive struct parkeduser.peername[] size.
........

Merged revisions 341254 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 341255 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@341256 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-18 21:15:45 +00:00
Terry Wilson 9f83c2b513 Initialize variables before calling parse_uri
If parse_uri was called with an empty URI, some pointers would be
modified and an invalid read could result. This patch avoids calling
parse_uri with an empty contact uri when parsing REGISTER requests. 

AST-2011-012

(closes issue ASTERISK-18668)
........

Merged revisions 341189 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 341190 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@341191 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-17 17:38:53 +00:00
Terry Wilson 2cb5178d29 Don't try to remove peers without IPs from peers_by_ip
(closes issue ASTERISK-18696)
........

Merged revisions 341088 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 341089 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@341090 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-17 15:45:18 +00:00
Kinsey Moore 4b9546abdf Merged revisions 340971 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r340971 | kmoore | 2011-10-14 15:50:37 -0500 (Fri, 14 Oct 2011) | 15 lines
  
  Merged revisions 340970 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r340970 | kmoore | 2011-10-14 15:49:39 -0500 (Fri, 14 Oct 2011) | 8 lines
    
    Quiet RTCP Receiver Reports during fax transmission
    
    RTCP is now disabled for "inactive" RTP audio streams during SIP T.38 sessions.
    The ability to disable RTCP streams in res_rtp_asterisk was missing, so this
    code was added to support the bug fix.
    
    (closes issue ASTERISK-18400)
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@340972 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-14 20:51:19 +00:00
Stefan Schmidt c48bee8e82 Merged revisions 340718 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r340718 | schmidts | 2011-10-13 06:59:50 +0000 (Thu, 13 Oct 2011) | 9 lines
  
  Merged revisions 340717 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r340717 | schmidts | 2011-10-13 06:58:00 +0000 (Thu, 13 Oct 2011) | 3 lines
    
    storing the route-set also on a 181 response not only on 180,182 or 183.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@340720 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-13 07:05:43 +00:00
Terry Wilson 5c77498afd Initialize ast_sockaddr before calling ast_sockaddr_resolve
Avoid possible jump based on unitialized value
........

Merged revisions 340715 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 340716 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@340719 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-13 07:02:11 +00:00
Stefan Schmidt ee8844782c Merged revisions 340577 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r340577 | schmidts | 2011-10-12 20:33:37 +0000 (Mit, 12 Okt 2011) | 9 lines
  
  Merged revisions 340576 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r340576 | schmidts | 2011-10-12 20:30:37 +0000 (Mit, 12 Okt 2011) | 3 lines
    
    Store route-set from provisional SIP responses so early-dialog requests can be routed properly
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@340626 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-12 21:28:52 +00:00
Terry Wilson e7ebf7d5ab Merged revisions 340578 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r340578 | twilson | 2011-10-12 13:57:19 -0700 (Wed, 12 Oct 2011) | 16 lines
  
  Merged revisions 340534 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r340534 | twilson | 2011-10-12 13:19:36 -0700 (Wed, 12 Oct 2011) | 9 lines
    
    Update SIP realtime fullcontact regardless of caching
    
    We should update the fullcontact field in the realtime table whether or
    not rtcachefriends is set. There is no reason to treat a non-cached
    realtime entity differently than a cached in this regard.
    
    (closes issue ASTERISK-18446)
     Reported by: wdoekes
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@340579 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-12 21:02:24 +00:00
Paul Belanger f2cc666a99 Fix verbose messages when IPv6 logic was added
(closes issue ASTERISK-18612)
Reported by: Tim Osman
........

Merged revisions 340418 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 340419 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@340420 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-12 16:29:14 +00:00
Richard Mudgett b63c1cc545 Fix some potential deadlocks pointed out by helgrind.
* Fixed deadlock potential calling dialog_unlink_all() in
__sip_autodestruct().  Found by helgrind.

* Fixed deadlock potential in handle_request_invite() after calling
sip_new().  Found by helgrind.

* The sip_new() function now returns with the created channel already
locked.

* Removed the dead code that starts a PBX in in sip_new().  No sip_new()
callers caused that code to be executed and it was a bad thing to do
anyway.

* Removed unused parameters and return value from dialog_unlink_all().

* Made dialog_unlink_all() and __sip_autodestruct() safely obtain the
owner and private channel locks without a deadlock avoidance loop.
........

Merged revisions 340284 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 340310 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@340318 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-11 19:28:23 +00:00
Matthew Jordan 4ec8d57454 Merged revisions 340165 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r340165 | mjordan | 2011-10-10 15:30:18 -0500 (Mon, 10 Oct 2011) | 20 lines
  
  Merged revisions 340164 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r340164 | mjordan | 2011-10-10 15:23:48 -0500 (Mon, 10 Oct 2011) | 13 lines
    
    Updated chan_sip to place calls on hold if SDP address in INVITE is ANY
    
    This patch fixes the case where an INVITE is received with c=0.0.0.0 or ::.
    In this case, the call should be placed on hold.  Previously, we checked for
    the address being null; this patch keeps that behavior but also checks for
    the ANY IP addresses.
    
    Review: https://reviewboard.asterisk.org/r/1504/
    
    (closes issue ASTERISK-18086)
    Reported by: James Bottomley
    Tested by: Matt Jordan
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@340166 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-10 20:39:39 +00:00
Richard Mudgett 2f82296096 Merged revisions 339626 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r339626 | rmudgett | 2011-10-06 12:53:00 -0500 (Thu, 06 Oct 2011) | 25 lines
  
  Merged revisions 339625 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r339625 | rmudgett | 2011-10-06 12:49:38 -0500 (Thu, 06 Oct 2011) | 18 lines
    
    Fix debugging messages generated by 'udptl debug'.
    
    * Makes chan_sip set the tag to the channel name.
    
    * Fixes received debug message sequence number.
    
    * Removed tx/rx debug message type since it was hard coded to 0.
    
    * Made udptl.c logged message header consistent if possible: "UDPTL (%s): ".
    
    * Removed unused rx_expected_seq_no from struct ast_udptl.
    
    (closes issue ASTERISK-18401)
    Reported by: Kevin P. Fleming
    Patches:
          jira_asterisk_18401_v1.8.patch (license #5621) patch uploaded by rmudgett
    Tested by: Matthew Nicholson
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@339627 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-06 17:54:42 +00:00
Leif Madsen 34bf1527e8 Merged revisions 339148 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r339148 | lmadsen | 2011-10-03 15:13:16 -0500 (Mon, 03 Oct 2011) | 14 lines
  
  Merged revisions 339147 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r339147 | lmadsen | 2011-10-03 15:12:43 -0500 (Mon, 03 Oct 2011) | 6 lines
    
    Remove duplicated Maxforwards line in AMI output.
    
    (Closes issue ASTERISK-18637)
    Reported by: Jacek Konieczny
    Patches:
         asterisk-sipshowpeer.patch (License #6298) uploaded by Jacek Konieczny
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@339149 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-03 20:13:44 +00:00
Terry Wilson 2644af39b4 Merged revisions 339088 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r339088 | twilson | 2011-10-03 11:44:27 -0700 (Mon, 03 Oct 2011) | 17 lines
  
  Merged revisions 339086 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r339086 | twilson | 2011-10-03 11:40:52 -0700 (Mon, 03 Oct 2011) | 10 lines
    
    Properly ignore AST_CONTROL_UPDATE_RTP_PEER in more places
    
    After the change in r336294, the new AST_CONTROL_UPDATE_RTP_PEER frame
    is sent when a re-invite happens. If we receive a re-invite from a device
    the waitstream_core was not aware of the new control frame and would drop
    the call.
    
    (closes issue ASTERISK-18610)
    	Reported by: Kristijan_Vrban
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@339090 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-03 18:58:33 +00:00
Olle Johansson 260648043b Formatting changes only
--Denna och nedanstående rader kommer inte med i loggmeddelandet--

M    channels/chan_sip.c


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@338755 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-30 19:25:36 +00:00
Richard Mudgett 977742747d Fix formatting of AMI header for SIP show peer.
ASTERISK-17486 exposed the problem for AMI parsers.

(closes issue ASTERISK-18649)
Reported by: Jacek Konieczny
Patches:
      asterisk-sipshowpeer_response_end.patch (license #6298) patch uploaded by Jacek Konieczny
........

Merged revisions 338663 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 338664 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@338665 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-30 16:40:14 +00:00
Gregory Nietsky c4a7d0e2c7 Merged revisions 338417 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r338417 | irroot | 2011-09-29 14:16:42 +0200 (Thu, 29 Sep 2011) | 19 lines
  
  Merged revisions 338416 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r338416 | irroot | 2011-09-29 14:13:05 +0200 (Thu, 29 Sep 2011) | 12 lines
    
    The rtptimeout setting is ignored on a per peer basis.
    
    Not only is the rtptimeout ignored in some cases but 
    rtpkeepalive and rtpholdtimeout is affected.
    
    this commit also removes rtptimeout/rtpholdtimeout on
    text rtp.
    
    (closes issue ASTERISK-18559)
    
    Review: https://reviewboard.asterisk.org/r/1452
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@338435 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-29 12:22:43 +00:00
Olle Johansson 6e0f7be7c9 Whitespace (red blobs) fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@338042 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-27 12:45:25 +00:00
Jonathan Rose 5982bdcb7c Merged revisions 337595,337597 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

........
  r337595 | jrose | 2011-09-22 10:35:50 -0500 (Thu, 22 Sep 2011) | 12 lines
  
  Generate Security events in chan_sip using new Security Events Framework
  
  Security Events Framework was added in 1.8 and support was added for AMI to generate
  events at that time. This patch adds support for chan_sip to generate security events.
  
  (closes issue ASTERISK-18264)
  Reported by: Michael L. Young
  Patches:
       security_events_chan_sip_v4.patch (license #5026) by Michael L. Young
  Review: https://reviewboard.asterisk.org/r/1362/
........
  r337597 | jrose | 2011-09-22 10:47:05 -0500 (Thu, 22 Sep 2011) | 10 lines
  
  Forgot to svn add new files to r337595
  
  Part of Generating security events for chan_sip
  
  (issue ASTERISK-18264)
  Reported by: Michael L. Young
  Patches:
      security_events_chan_sip_v4.patch (License #5026) by Michael L. Young
  Reviewboard: https://reviewboard.asterisk.org/r/1362/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@337600 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-22 16:35:20 +00:00
Gregory Nietsky 8493c46308 Merged revisions 336936 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

........
  r336936 | irroot | 2011-09-20 18:51:59 +0200 (Tue, 20 Sep 2011) | 14 lines
  
  
  Allow Setting Auth Tag Bit length Based on invite or config option
  
  Update the SIP SRTP API to allow use of 32 or 80 bit taglen.
  Curently only 80 bit is supported.
  
  The outgoing invite will use the taglen of the incoming invite preventing
  one-way audio.
  
  (Closes issue ASTERISK-17895)
  
  Review: https://reviewboard.asterisk.org/r/1173/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@336937 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-20 16:56:11 +00:00
Terry Wilson 098efb6641 Merged revisions 336792 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r336792 | twilson | 2011-09-19 17:13:34 -0500 (Mon, 19 Sep 2011) | 9 lines
  
  Merged revisions 336791 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r336791 | twilson | 2011-09-19 17:07:58 -0500 (Mon, 19 Sep 2011) | 2 lines
    
    Don't interfere with T.38 reinvites

    This is an update to the fix for ASTERISK-18340 and ASTERISK-17725
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@336837 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-19 22:28:17 +00:00
Olle Johansson 1ec4cb8ea0 Merged revisions 336502 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r336502 | oej | 2011-09-19 15:38:53 +0200 (Mån, 19 Sep 2011) | 12 lines
  
  Merged revisions 336501 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r336501 | oej | 2011-09-19 15:33:50 +0200 (Mån, 19 Sep 2011) | 5 lines
    
    Add diversion header to a 302 redirect response if we have diversion data 
    
    (closes issue ASTERISK-18143)
    	patch by oej
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@336505 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-19 13:57:26 +00:00
Olle Johansson 5b4b76d3aa Merged revisions 336381 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r336381 | oej | 2011-09-19 12:05:00 +0200 (Mån, 19 Sep 2011) | 16 lines
  
  Merged revisions 336378 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r336378 | oej | 2011-09-19 11:40:44 +0200 (Mån, 19 Sep 2011) | 9 lines
    
    Add missing unlock at MWI message sending time
    
    (closes issue ASTERISK-18573)
    
    Patches:
       sip_mwi_lock.patch (license #5041) by Gregory Hinton Nietsky
    
    Thanks to irrot for the reminder, to Gregory for the patch!
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@336382 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-19 10:10:11 +00:00
Jonathan Rose beae2df26e Merged revisions 336307 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r336307 | jrose | 2011-09-16 16:09:20 -0500 (Fri, 16 Sep 2011) | 20 lines
  
  Merged revisions 336294 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r336294 | jrose | 2011-09-16 14:53:40 -0500 (Fri, 16 Sep 2011) | 13 lines
    
    Fix bad RTP media bridges in directmedia calls on peers separated by multiple Asterisk nodes.
    
    In a situation involving devices on separate Asterisk trunks, the remote RTP bridge would
    break when starting a call with directmedia. This patch queues a new type of control frame
    so that our RTP bridge loop can properly detect when these situations occur and check to see
    if peers need to be updated in order to send their media to the proper location.
    
    (Closes issue ASTERISK-18340)
    Reported by: Thomas Arimont
    (Closes issue ASTERISK-17725)
    Reported by: kwk
    Tested by: twilson, jrose
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@336311 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-16 21:20:02 +00:00
Olle Johansson 5c6d438231 Documentation updates
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@335385 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-12 14:33:43 +00:00
Olle Johansson 55b060fb35 Small documentation updates
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@335349 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-12 14:22:56 +00:00
Olle Johansson 404151ad65 New sip.conf option for setting default tonezone for channel or individual devices
Review: https://reviewboard.asterisk.org/r/1429/

(closes issue ASTERISK-18497)

Thanks to russellb for peer review.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@335325 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-12 13:57:57 +00:00
Olle Johansson e4a11bcb6e Merged revisions 335323 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r335323 | oej | 2011-09-12 15:47:13 +0200 (Mån, 12 Sep 2011) | 19 lines
  
  Merged revisions 335319 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r335319 | oej | 2011-09-12 15:25:30 +0200 (Mån, 12 Sep 2011) | 12 lines
    
    Lock the peer->mvipvt to avoid crashes with SIP history enabled
    
    After the launch of 1.6 event-based MWI we have two threads handling the peer->mwipvt,
    which cause issues with SIP history additions in combination with the max limit for
    number of history entries.
    
    Review: https://reviewboard.asterisk.org/r/1373/
    
    (closes issue ASTERISK-18288)
    
    Thanks to irrot for peer review. Work with this bug funded by IPvision AS
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@335324 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-12 13:50:24 +00:00
Stefan Schmidt 986f2d8836 Merged revisions 335260 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r335260 | schmidts | 2011-09-12 11:11:45 +0000 (Mon, 12 Sep 2011) | 12 lines
  
  Merged revisions 335259 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r335259 | schmidts | 2011-09-12 11:09:19 +0000 (Mon, 12 Sep 2011) | 6 lines
    
    build_peer doesnt unlink a peer object from peers_by_ip container which leads to a wrong refcounter value.
    adding an ao2_unlink from the peers_by_ip container fix it.
    
    Review: https://reviewboard.asterisk.org/r/1428/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@335261 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-12 11:15:01 +00:00
Matthew Jordan 8b5ba33fe0 Merged revisions 335078 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r335078 | mjordan | 2011-09-09 11:27:01 -0500 (Fri, 09 Sep 2011) | 29 lines
  
  Merged revisions 335064 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r335064 | mjordan | 2011-09-09 11:09:09 -0500 (Fri, 09 Sep 2011) | 23 lines
    
    Updated SIP 484 handling; added Incomplete control frame
    
    When a SIP phone uses the dial application and receives a 484 Address 
    Incomplete response, if overlapped dialing is enabled for SIP, then
    the 484 Address Incomplete is forwarded back to the SIP phone and the
    HANGUPCAUSE channel variable is set to 28.  Previously, the Incomplete
    application dialplan logic was automatically triggered; now, explicit
    dialplan usage of the application is required.
    
    Additionally, this patch adds a new AST_CONTOL_FRAME type called
    AST_CONTROL_INCOMPLETE.  If a channel driver receives this control frame,
    it is an indication that the dialplan expects more digits back from the
    device.  If the device supports overlap dialing it should attempt to 
    notify the device that the dialplan is waiting for more digits; otherwise,
    it can handle the frame in a manner appropriate to the channel driver.
    
    (closes issue ASTERISK-17288)
    Reported by: Mikael Carlsson
    Tested by: Matthew Jordan
    
    Review: https://reviewboard.asterisk.org/r/1416/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@335079 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-09 16:28:23 +00:00
Matthew Nicholson 9dd15059f6 Merged revisions 334157 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r334157 | mnicholson | 2011-08-31 13:53:40 -0500 (Wed, 31 Aug 2011) | 11 lines
  
  Merged revisions 334156 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r334156 | mnicholson | 2011-08-31 13:50:33 -0500 (Wed, 31 Aug 2011) | 4 lines
    
    Disable T.38 when we get a invite with image media port set to 0
    
    ASTERISK-17678
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@334158 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-31 18:54:33 +00:00
Richard Mudgett 89e79698fd Optimize chan_sip.c check_rtp_timeout() function.
* Make check_rtp_timeout() remember the values returned by
ast_rtp_instance_get_timeout(), ast_rtp_instance_get_hold_timeout(), and
ast_rtp_instance_get_keepalive() instead of repeatedly calling them.

(closes issue ASTERISK-18319)
Reported by: Rob Gagnon
Patches:
      issue-18319-trunk-r333066.diff (License #6159) patch uploaded by Rob Gagnon

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@334115 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-31 18:11:23 +00:00
Kinsey Moore 82229cc690 Merged revisions 334007 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r334007 | kmoore | 2011-08-31 10:19:30 -0500 (Wed, 31 Aug 2011) | 14 lines
  
  Merged revisions 334006 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r334006 | kmoore | 2011-08-31 10:18:37 -0500 (Wed, 31 Aug 2011) | 7 lines
    
    Correct an AMI protocol violation with SIPshowpeer
    
    The response of SIPshowpeer ends with "\r\n\r\n". Since other commands are
    ended by using \r\n this confuses any interfacing script.
    
    (closes issue ASTERISK-17486)
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@334008 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-31 15:20:21 +00:00
Terry Wilson ba3d34708e Merged revisions 333837 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r333837 | twilson | 2011-08-29 16:41:13 -0500 (Mon, 29 Aug 2011) | 22 lines
  
  Merged revisions 333836 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r333836 | twilson | 2011-08-29 16:38:31 -0500 (Mon, 29 Aug 2011) | 15 lines
    
    Refresh peer address if DNS unavailable at peer creation
    
    If Asterisk starts and no DNS is available, outbound registrations will fail
    indefinitely. This patch copies the address from the sip_registry struct, which
    will be updated, to the peer->addr when necessary.
    
    If dnsmgr is enabled, the registration fails without the patch because even
    though the address on the registry is updated via dnsmgr, the address is just
    copied on the first try. Since we use ast_sockaddr_copy, dnsmgr can't update
    the address that is copied to the sip_pvt or peers.
    
    Closes issue ASTERISK-18000
    
    Review: https://reviewboard.asterisk.org/r/1335/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@333838 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-29 21:43:33 +00:00
Jonathan Rose 269082f035 Merged revisions 332119 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r332119 | jrose | 2011-08-16 12:45:38 -0500 (Tue, 16 Aug 2011) | 23 lines
  
  Merged revisions 332118 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r332118 | jrose | 2011-08-16 12:38:19 -0500 (Tue, 16 Aug 2011) | 16 lines
    
    ASTERISK-18067 ASTERISK-15479 - White Space affects mailbox value, multiple MWI subs
    
    Before, having multiple subscriptions to mailboxes on a sip peer set via the mailbox
    setting in sip.conf would only result in updates being sent on whichever mailbox
    triggered the mwi event.  Now all of them get counted regardless.  Also fixes a bug
    involving parsing of the mailbox option in sip.conf so that trailing and leading
    spaces before/after commas are trimmed.
    
    (closes issue ASTERISK-18067)
    Reported by: aragon
    
    (closes issue ASTERISK-15479)
    Reported by: Ben Winslow
    Patches: chan_sip.c-mwi_multi_mailbox_fix-1.6.2.13.diff (License #5288) patch uploaded by Ben Winslow
     
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@332120 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-16 17:53:23 +00:00
Matthew Nicholson 1858e274e3 Merged revisions 332027 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r332027 | mnicholson | 2011-08-16 10:08:40 -0500 (Tue, 16 Aug 2011) | 9 lines
  
  Merged revisions 332026 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r332026 | mnicholson | 2011-08-16 10:06:31 -0500 (Tue, 16 Aug 2011) | 2 lines
    
    use DEFAULT_STORE_SIP_CAUSE to set the default value for the 'storesipcause' option
    
    AST-580
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@332028 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-16 15:10:18 +00:00
Matthew Nicholson 8f2e8d4b8a Merged revisions 332022 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r332022 | mnicholson | 2011-08-16 09:40:37 -0500 (Tue, 16 Aug 2011) | 16 lines
  
  In 10 and trunk this option is disabled by default.
  
  Merged revisions 332021 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r332021 | mnicholson | 2011-08-16 09:20:43 -0500 (Tue, 16 Aug 2011) | 7 lines
    
    Added the 'storesipcause' option to sip.conf to allow the user to disable the
    setting of HASH(SIP_CAUSE,<chan name>) on the channel.
    
    Having chan_sip set HASH(SIP_CAUSE,<chan name>) on the channel carries a
    significant performance penalty because of the usage of the MASTER_CHANNEL()
    dialplan function.
    
    AST-580
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@332023 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-16 14:41:23 +00:00
David Vossel 30b2f36c72 Merged revisions 331868 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r331868 | dvossel | 2011-08-15 10:14:13 -0500 (Mon, 15 Aug 2011) | 12 lines
  
  Merged revisions 331867 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r331867 | dvossel | 2011-08-15 10:12:16 -0500 (Mon, 15 Aug 2011) | 6 lines
    
    Fixes locking inversion issues present in the handling of the sip REFER method.
    
    (closes issue ASTERISK-18082)
    Reported by: James Van Vleet
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@331869 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-15 15:15:43 +00:00
Olle Johansson 6b7e997df2 Formatting guideline fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@331830 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-15 13:27:06 +00:00
Kinsey Moore a6ea606a78 Merged revisions 331518 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r331518 | kmoore | 2011-08-10 17:23:49 -0500 (Wed, 10 Aug 2011) | 17 lines
  
  Merged revisions 331517 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r331517 | kmoore | 2011-08-10 17:23:08 -0500 (Wed, 10 Aug 2011) | 10 lines
    
    SIP Notify via AMI or CLI leaks SIP PVTs
    
    Any SIP notify sent via AMI or CLI leaks a SIP PVT with ref count +2.  Removing
    the additional ref just before the invite and adding an unref following it
    corrects the issue as seen via REF_DEBUG.  The unref existed in a distant
    revision and it appears as though the wrong ref operation was removed.
    
    (closes issue ASTERISK-18091)
    Review: https://reviewboard.asterisk.org/r/1332/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@331519 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-10 22:24:38 +00:00
Jonathan Rose dc9513a69d SIP display-name needed to be empty for Avaya IP500
In order to address a compatability issue with certain features on certain devices
which rely on display name content to change behavior, initreqprep in chan_sip.c
has been changed to no longer substitute cid_number into the display name when
cid_name isn't present.  Instead, it will send no display name in that case.

(closes issue ASTERISK-16198)
Reported by: Walter Doekes

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




git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@331371 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-10 15:45:57 +00:00
Richard Mudgett b99b1116be Merged revisions 331265 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r331265 | rmudgett | 2011-08-09 18:12:49 -0500 (Tue, 09 Aug 2011) | 22 lines
  
  Merged revisions 331248 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r331248 | rmudgett | 2011-08-09 17:12:59 -0500 (Tue, 09 Aug 2011) | 15 lines
    
    Misc minor items found in code.
    
    * Add some reentrancy protection in pbx.c when creating the contexts_table
    hash table.
    
    * Fix inverted test in chan_sip.c conditional code.
    
    * Fix uninitialized variable and use of the wrong variable in chan_iax2.c.
    
    * Fix test of return value in app_parkandannounce.c.  Explicitly testing
    for -1 is bad if the function does not actually return that value when it
    fails.
    
    * Fixup some comments and add some curly braces in features.c.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@331266 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-09 23:17:13 +00:00
David Vossel 6f112cce0d Merged revisions 330579 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r330579 | dvossel | 2011-08-02 11:08:57 -0500 (Tue, 02 Aug 2011) | 9 lines
  
  Merged revisions 330578 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r330578 | dvossel | 2011-08-02 11:07:02 -0500 (Tue, 02 Aug 2011) | 2 lines
    
    Optimization to buffer initialization fix.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@330580 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-02 16:09:50 +00:00
David Vossel d50e68c827 Merged revisions 330576 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r330576 | dvossel | 2011-08-02 10:55:36 -0500 (Tue, 02 Aug 2011) | 12 lines
  
  Merged revisions 330575 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r330575 | dvossel | 2011-08-02 10:53:21 -0500 (Tue, 02 Aug 2011) | 5 lines
    
    Fixes uninitialized string buffer in log message.
    
    (closes issue ASTERISK-17200)
    Reported by: lmadsen
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@330577 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-02 16:04:34 +00:00
Jason Parker 16a32f5030 Merged revisions 329995 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r329995 | qwell | 2011-07-28 10:45:49 -0500 (Thu, 28 Jul 2011) | 13 lines
  
  Merged revisions 329994 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r329994 | qwell | 2011-07-28 10:45:24 -0500 (Thu, 28 Jul 2011) | 6 lines
    
    Fix a SIP transfer deadlock.
    
    The locking in this function is very scary.  There are like 6 structs involved.
    
    (closes issue AST-470)
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@329996 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-28 15:46:16 +00:00
Sean Bright 73462b32dd Merged revisions 329896 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r329896 | seanbright | 2011-07-28 07:35:27 -0400 (Thu, 28 Jul 2011) | 9 lines
  
  Merged revisions 329895 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r329895 | seanbright | 2011-07-28 07:34:33 -0400 (Thu, 28 Jul 2011) | 2 lines
    
    Make the output of Externhost in 'sip show settings' more consistent.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@329897 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-28 11:36:12 +00:00
Gregory Nietsky 5c627eba2b Remove lastmsgssent from sip it has not been working since 1.6
Clean up the return values to be consistant not currently used
Add doxygen returns
MWI Event is sent on Register

(closes issue ASTERISK-17866)
Reported by: one47
Tested by: irroot, mvanbaak
Review: https://reviewboard.asterisk.org/r/1172/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@329391 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-25 09:39:54 +00:00
Kinsey Moore 9c232a5470 Merged revisions 328936 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/2.0

................
  r328936 | kmoore | 2011-07-20 14:01:37 -0500 (Wed, 20 Jul 2011) | 15 lines
  
  Merged revisions 328935 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r328935 | kmoore | 2011-07-20 14:00:23 -0500 (Wed, 20 Jul 2011) | 8 lines
    
    Inband DTMF regression
    
    The functionality of inband DTMF in chan_sip relied upon
    ast_rtp_instance_dtmf_mode_get/set not working properly to avoid calling
    ast_rtp_instance_dtmf_begin/end on RTP streams with inband DTMF. According to
    documentation, ast_rtp_instance_dtmf_begin/end is meant only for RFC2833 DTMF,
    never inband.  This fixes the regression introduced in revision 328823.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@328937 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-20 19:03:17 +00:00
Kinsey Moore 1dc97eb69b Merged revisions 328824 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.10

................
  r328824 | kmoore | 2011-07-19 13:05:21 -0500 (Tue, 19 Jul 2011) | 18 lines
  
  Merged revisions 328823 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r328823 | kmoore | 2011-07-19 12:57:18 -0500 (Tue, 19 Jul 2011) | 11 lines
    
    RTP bridge away with inband DTMF and feature detection
    
    When deciding whether Asterisk was allowed to bridge the call away from the
    core, chan_sip did not take into account the usage of features on dialed
    channels that require monitoring of DTMF on channels utilizing inband DTMF.
    This would cause Asterisk to allow the call to be locally or remotely bridged, 
    preventing access to the data required to detect activations of such features.
    
    (closes 17237)
    Review: https://reviewboard.asterisk.org/r/1302/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@328825 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-19 18:07:22 +00:00
Mark Murawki 8888df3a23 Merged revisions 328611 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.10

................
  r328611 | markm | 2011-07-18 08:56:49 -0400 (Mon, 18 Jul 2011) | 15 lines
  
  Merged revisions 328608 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r328608 | markm | 2011-07-18 08:35:57 -0400 (Mon, 18 Jul 2011) | 9 lines
    
    If the sip private structure is null, sip_setoption() will defref the null pointer and crash.
    
    Ideally, sip_setoption shouldn't be called if there is a lack of a sip private structure.  But this will fix a crash.
    
    (closes issue ASTERISK-17909)
    Reported by: Mark Murawski
    Tested by: Mark Murawski
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@328612 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-18 12:58:02 +00:00
Richard Mudgett 145c174565 Merged revisions 328329 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.10

........
  r328329 | rmudgett | 2011-07-14 19:19:32 -0500 (Thu, 14 Jul 2011) | 2 lines
  
  Make hint watcher callback take const strings for context and exten parameters.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@328344 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-15 00:23:14 +00:00
Richard Mudgett 4a7726b605 Merged revisions 328317 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.10

................
  r328317 | rmudgett | 2011-07-14 18:28:49 -0500 (Thu, 14 Jul 2011) | 13 lines
  
  Merged revisions 328302 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r328302 | rmudgett | 2011-07-14 18:12:06 -0500 (Thu, 14 Jul 2011) | 6 lines
    
    Missing SIP pvt and channel unlock in sip_set_rtp_peer().
    
    Regression introduced by -r326144.
    
    Add missing SIP pvt and channel unlock in sip_set_rtp_peer().
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@328318 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-14 23:34:43 +00:00
Leif Madsen a525edea59 Merged revisions 328247 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.10

................
  r328247 | lmadsen | 2011-07-14 16:25:31 -0400 (Thu, 14 Jul 2011) | 14 lines
  
  Merged revisions 328209 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r328209 | lmadsen | 2011-07-14 16:13:06 -0400 (Thu, 14 Jul 2011) | 6 lines
    
    Introduce <support_level> tags in MODULEINFO.
    This change introduces MODULEINFO into many modules in Asterisk in order to show
    the community support level for those modules. This is used by changes committed
    to menuselect by Russell Bryant recently (r917 in menuselect). More information about
    the support level types and what they mean is available on the wiki at
    https://wiki.asterisk.org/wiki/display/AST/Asterisk+Module+Support+States
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@328259 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-14 20:28:54 +00:00
Richard Mudgett 0e613fd544 Merged revisions 327211 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r327211 | rmudgett | 2011-07-08 16:41:58 -0500 (Fri, 08 Jul 2011) | 9 lines
  
  INVITE 403 Forbidden response always retransmits the maximum times.
  
  Asterisk sends a 403 Forbidden response if authentication fails for an
  INVITE as required.  However, it ignores the ACK and keeps retransmitting
  the response.
  
  * Made not delete the to-tag in the dialog so the expected ACK can be
  matched with the dialog and stop the retransmissions.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@327212 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-08 21:43:49 +00:00
David Vossel 513c680b8c Adds pass-through support for codec CELT.
This patch adds pass-through support for CELT.  CELT
formats are defined in codecs.conf and can be configured
to any sample rate a CELT endpoint supports.  This patch also
addresses a crash in channel.c resulting from a frame list being
freed incorrectly.  This crash was discovered while testing a CELT
translator which had to split encoded audio into multiple frames.
The codec translator is not a part of this patch, but may be
contributed in the future.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@326855 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-07 19:39:17 +00:00
Matthew Nicholson ba1cc98f1a Merged revisions 326683 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r326683 | mnicholson | 2011-07-07 10:28:25 -0500 (Thu, 07 Jul 2011) | 3 lines
  
  use sips: or sip: depending on the transport in use when building reply digest
  URIs
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@326684 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-07 15:28:47 +00:00
Matthew Nicholson 14553512ee Merged revisions 326681 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r326681 | mnicholson | 2011-07-07 10:25:49 -0500 (Thu, 07 Jul 2011) | 3 lines
  
  make the uri parameter used in reply digests more standards compliant in
  certain cases by prepending "sip:" or "sips:" to it
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@326682 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-07 15:26:42 +00:00
David Vossel a7c6f0445e Fixes newlines from being stripped from out of dialog sip MESSAGES.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@326544 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-06 17:39:36 +00:00
Tilghman Lesher 7d179abfd4 Merged revisions 326411 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r326411 | tilghman | 2011-07-05 17:08:29 -0500 (Tue, 05 Jul 2011) | 14 lines
  
  Add the attribute "type" to each "<use>" for menuselect.
  
  This matters only when autoconf fails to detect that weak linking is supported.
  External optional dependencies will become optional in both cases, as they are
  removed at compile time when not detected.  However, runtime-optional modules
  are made mandatory when weak linking is not found.  This change affects only
  the external optional dependencies; previously, they were incorrectly required
  when weak linking support was not detected.
  
  Patches:
  	20110702__issue18062__asterisk_trunk.diff.txt by tilghman (License #5003)
  
  Tested by: iasgoscouk
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@326412 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-05 22:11:40 +00:00
Richard Mudgett 14d510c5b7 Merged revisions 326291 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r326291 | rmudgett | 2011-07-05 12:22:59 -0500 (Tue, 05 Jul 2011) | 23 lines
  
  Used auth= parameter freed during "sip reload" causes crash.
  
  If you use the auth= parameter and do a "sip reload" while there is an
  ongoing call.  The peer->auth data points to free'd memory.
  
  The patch does several things:
  
  1) Puts the authentication list into an ao2 object for reference counting
  to fix the reported crash during a SIP reload.
  
  2) Converts the authentication list from open coding to AST list macros.
  
  3) Adds display of the global authentication list in "sip show settings".
  
  (closes issue ASTERISK-17939)
  Reported by: wdoekes
  Patches:
        jira_asterisk_17939_v1.8.patch (license #5621) patch uploaded by rmudgett
  
  Review: https://reviewboard.asterisk.org/r/1303/
  
  JIRA SWP-3526
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@326321 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-05 17:35:54 +00:00
Richard Mudgett 76e4e2e777 Merged revisions 326144 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r326144 | rmudgett | 2011-07-01 16:07:22 -0500 (Fri, 01 Jul 2011) | 16 lines
  
  Better way to get chan and pvt lock for issue ASTERISK-17431.
  
  Redoes -r308945 for issue ASTERISK-17431 deadlock fix for
  sip_set_udptl_peer() and sip_set_rtp_peer().
  
  * Lock the channels in the defined order and avoid the need for a deadlock
  avoidance loop.
  
  * Lock the channel before getting the pointer to the private structure to
  be sure that the pointer will not change due to a masquerade or channel
  hangup.
  
  * To preserve sanity, check that chan and p->owner are the same.  (Pointer
  rearangements should not happen without the protection of locks because
  bad things tend to happen otherwise.)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@326145 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-01 21:11:34 +00:00
Richard Mudgett 39a7152df3 Merged revisions 325935 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r325935 | rmudgett | 2011-06-30 15:39:45 -0500 (Thu, 30 Jun 2011) | 11 lines
  
  Misc minor changes in chan_sip.
  
  * Add load failure exit if primary SIP container(s) could not get created
  in chan_sip.c:load_module().
  
  * Removed a redundant static prototype.
  
  * Some typos.
  
  * Some whitespace.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@325936 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-30 20:47:44 +00:00
Kinsey Moore 1d93d217f0 Merged revisions 325740 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r325740 | kmoore | 2011-06-29 16:49:21 -0500 (Wed, 29 Jun 2011) | 7 lines
  
  chan_sip: cleanup from the introduction of ast_str
  
  Remove the length field from sip_req and sip_pkt in chan_sip since they are
  redundant (ast_str holds its own length) and refactor the necessary functions.
  
  Review: https://reviewboard.asterisk.org/r/1281/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@325741 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-29 21:50:32 +00:00
Kevin P. Fleming 37d6d89d97 Merged revisions 325416 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r325416 | kpfleming | 2011-06-28 16:50:43 -0500 (Tue, 28 Jun 2011) | 3 lines
  
  Fix random misspelling noticed on asterisk-users.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@325417 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-28 21:51:19 +00:00
David Vossel bb4e0c7f7c Merged revisions 325339 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r325339 | dvossel | 2011-06-28 15:31:00 -0500 (Tue, 28 Jun 2011) | 4 lines
  
  Fixes locking inversion caused by holding sip pvt lock during async_goto.
  
  (closes ASTERISK-17352)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@325345 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-28 20:32:22 +00:00
David Vossel 4812697542 Fixes issue with video and text not being reinvited correctly with directmedia
If a SDP does not modify the session, we ignore it.  However, we were defaulting
no text and video support to true before checking to see if the sdp modified
anything or not.  This would result in process_sdp ignoring an sdp but removing
video and text from the call during direct media reinvites.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@325151 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-28 15:34:59 +00:00
Terry Wilson 04fc1c6cea Don't forget to build the Via when sending MESSAGE
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@325046 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-28 00:07:47 +00:00
Richard Mudgett 04226479b3 Merged revisions 324914 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r324914 | rmudgett | 2011-06-27 10:37:19 -0500 (Mon, 27 Jun 2011) | 21 lines
  
  When subscribing MWI to an unsolicited mailbox the first notification is incorrect.
  
  A remote peer subscribed to MWI with the unsolicited option and a local
  phone subscribed to the remote mailbox.  The notify message-summary events
  are sent correctly except for the first one when subscribing, which will
  always be 0.  This means the phone MWI indicator will be wrong until the
  mailbox read/unread count changes and the event is fired.
  
  Looks like this is a regression from ASTERISK-16149.
  
  * Fix the logic to check the cache and if allowed then fallback to
  manually counting mailbox messages.
  
  (closes issue ASTERISK-17997)
  Reported by: rsw686
  Patches:
        jira_asterisk_17997_v1.8.patch (license #5621) uploaded by rmudgett
  Tested by: rsw686
  
  JIRA SWP-3551
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@324915 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-27 15:38:44 +00:00
Kinsey Moore 3c10d69544 Merged revisions 324678 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r324678 | kmoore | 2011-06-23 13:29:17 -0500 (Thu, 23 Jun 2011) | 11 lines
  
  Merged revisions 324643 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r324643 | kmoore | 2011-06-23 13:21:12 -0500 (Thu, 23 Jun 2011) | 4 lines
    
    Addresses AST-2011-008, memory corruption and remote crash in SIP driver.
    
    AST-2011-008
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@324708 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-23 18:52:59 +00:00
Richard Mudgett 10480072aa Merged revisions 324491 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r324491 | rmudgett | 2011-06-22 14:16:29 -0500 (Wed, 22 Jun 2011) | 1 line
  
  Use correct variable for text SRTP media.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@324495 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-22 19:17:56 +00:00
Terry Wilson 385b8c6f8b Merged revisions 324484 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r324484 | twilson | 2011-06-22 13:52:04 -0500 (Wed, 22 Jun 2011) | 20 lines
  
  Stop sending IPv6 link-local scope-ids in SIP messages
  
  The idea behind the patch listed below was used, but in a more targeted manner.
  There are now address stringification functions for addresses that are meant to
  be sent to a remote party. Link-local scope-ids only make sense on the machine
  from which they originate and so are stripped in the new functions.
  
  There is also a host sanitization function added to chan_sip which is used
  for when peer and dialog tohost fields or sip_registry hostnames are used to
  craft a SIP message.
  
  Also added are some basic unit tests for netsock2 address parsing.
  
  (closes issue ASTERISK-17711)
  Reported by: ch_djalel
  Patches:
        asterisk-1.8.3.2-ipv6_ll_scope.patch uploaded by ch_djalel (license 1251)
  
  Review: https://reviewboard.asterisk.org/r/1278/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@324487 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-22 19:12:24 +00:00
Richard Mudgett 9000732418 Merged revisions 324481 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

Also fixed a reference leak in an error path in sip_msg_send().

........
  r324481 | rmudgett | 2011-06-22 13:41:20 -0500 (Wed, 22 Jun 2011) | 19 lines

  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/trunk@324482 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-22 18:45:24 +00:00
Richard Mudgett e8c0be8fc2 Merged revisions 324479 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r324479 | rmudgett | 2011-06-22 13:26:55 -0500 (Wed, 22 Jun 2011) | 1 line
  
  Comments and whitespace in chan_sip.c
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@324480 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-22 18:27:43 +00:00
David Vossel b005d8dd53 Fixes issue with finding correct extension when message context is used.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@324302 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-21 15:49:23 +00:00
Terry Wilson ece8a5702a Merged revisions 324237 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r324237 | twilson | 2011-06-20 12:33:07 -0500 (Mon, 20 Jun 2011) | 12 lines
  
  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/trunk@324238 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-20 17:34:45 +00:00
Terry Wilson 34e2305ae7 Merged revisions 324048 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r324048 | twilson | 2011-06-16 17:35:41 -0500 (Thu, 16 Jun 2011) | 8 lines
  
  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/trunk@324050 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-16 22:49:49 +00:00
Terry Wilson abd7ef817e Merged revisions 323370 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r323370 | twilson | 2011-06-14 09:33:55 -0700 (Tue, 14 Jun 2011) | 10 lines
  
  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/trunk@323374 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-14 17:03:37 +00:00
Jonathan Rose 00181729b4 Merged revisions 323371 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r323371 | jrose | 2011-06-14 11:38:43 -0500 (Tue, 14 Jun 2011) | 12 lines
  
  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/trunk@323372 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-14 16:47:18 +00:00
David Vossel 379370a396 Store sip peer name as var data on a outofcall msg.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@323325 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-14 14:37:41 +00:00
David Vossel 0bd877621e Addition of "outofcall_message_context" sip.conf option.
Review: https://reviewboard.asterisk.org/r/1265/



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@323212 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-13 19:43:57 +00:00
Matthew Nicholson 4c459c2c85 Merged revisions 323040 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r323040 | mnicholson | 2011-06-10 14:20:41 -0500 (Fri, 10 Jun 2011) | 5 lines
  
  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/trunk@323041 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-10 19:22:48 +00:00
Matthew Nicholson 53ef4bfc16 Merged revisions 322807 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r322807 | mnicholson | 2011-06-09 12:37:07 -0500 (Thu, 09 Jun 2011) | 5 lines
  
  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/trunk@322808 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-09 17:43:27 +00:00
Gregory Nietsky 4cd9bc43c2 Merged revisions 322322 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r322322 | irroot | 2011-06-08 08:18:38 +0200 (Wed, 08 Jun 2011) | 18 lines
  
    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/trunk@322323 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-08 06:45:55 +00:00
Richard Mudgett ba625fa7d5 Correct some whitespace and a reference debug message.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@322284 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-07 23:14:25 +00:00
Richard Mudgett 397c379a7d Merged revisions 321812-321813 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r321812 | rmudgett | 2011-06-03 14:55:21 -0500 (Fri, 03 Jun 2011) | 1 line
  
  Correct IAX2 and SIP event subscription description string.
........
  r321813 | rmudgett | 2011-06-03 14:56:09 -0500 (Fri, 03 Jun 2011) | 1 line
  
  Constify subscription description parameter string.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@321814 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-03 19:57:03 +00:00
Russell Bryant 9cd3cf2e71 Fix message destination extension.
Don't send all messages to 's'.  Get the destination from the request URI.
(Found using automated test cases).


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@321617 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-02 22:09:05 +00:00
Russell Bryant 3f4d0e8743 Support routing text messages outside of a call.
Asterisk now has protocol independent support for processing text messages
outside of a call.  Messages are routed through the Asterisk dialplan.
SIP MESSAGE and XMPP are currently supported.  There are options in sip.conf
and jabber.conf that enable these features.

There is a new application, MessageSend().  There are two new functions,
MESSAGE() and MESSAGE_DATA().  Documentation will be available on
the project wiki, wiki.asterisk.org.

Thanks to Terry Wilson for the assistance with development and to David Vossel
for helping with some additional testing.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@321546 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-01 21:31:40 +00:00
Leif Madsen 42907d40cd Merged revisions 321511 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r321511 | lmadsen | 2011-05-31 12:04:47 -0400 (Tue, 31 May 2011) | 8 lines
  
  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/trunk@321512 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-31 16:06:21 +00:00
Mark Murawki 9a7f807278 Merged revisions 321155 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r321155 | markm | 2011-05-26 17:48:45 -0400 (Thu, 26 May 2011) | 10 lines
  
  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/trunk@321156 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-26 21:50:06 +00:00
Mark Murawki 0648d9595b Merged revisions 321100 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r321100 | markm | 2011-05-26 16:09:35 -0400 (Thu, 26 May 2011) | 11 lines
  
  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/trunk@321101 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-26 20:16:28 +00:00
Richard Mudgett dbfac9cb55 Merged revisions 320883 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r320883 | rmudgett | 2011-05-25 17:25:18 -0500 (Wed, 25 May 2011) | 17 lines
  
  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/trunk@320884 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-25 22:28:01 +00:00
Jonathan Rose 12d7d81e6c Merged revisions 320504 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r320504 | jrose | 2011-05-23 09:33:20 -0500 (Mon, 23 May 2011) | 10 lines
  
  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/trunk@320505 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-23 14:40:59 +00:00
Matthew Nicholson 81bd779c24 Merged revisions 320180 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r320180 | mnicholson | 2011-05-20 13:48:46 -0500 (Fri, 20 May 2011) | 16 lines
  
  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/trunk@320181 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-20 18:49:48 +00:00
Jonathan Rose f90bc95f0d Merged revisions 319938 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r319938 | jrose | 2011-05-20 08:28:24 -0500 (Fri, 20 May 2011) | 12 lines
  
  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/trunk@319939 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-20 13:42:15 +00:00
Terry Wilson 573108e63c Merged revisions 319654 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r319654 | twilson | 2011-05-18 16:15:58 -0700 (Wed, 18 May 2011) | 22 lines
  
  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/trunk@319661 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-18 23:18:32 +00:00
Terry Wilson 99aaceacad Merged revisions 319552 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r319552 | twilson | 2011-05-18 13:22:36 -0700 (Wed, 18 May 2011) | 11 lines
  
  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/trunk@319564 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-18 20:25:32 +00:00
Terry Wilson d34d46a16e Merged revisions 319204 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r319204 | twilson | 2011-05-16 13:17:43 -0500 (Mon, 16 May 2011) | 11 lines
  
  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/trunk@319212 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-16 18:21:17 +00:00
David Vossel 980d896bde Merged revisions 319145 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r319145 | dvossel | 2011-05-16 10:57:26 -0500 (Mon, 16 May 2011) | 9 lines
  
  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/trunk@319146 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-16 15:58:12 +00:00
Matthew Nicholson 8e719c62b0 Merged revisions 319142 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r319142 | mnicholson | 2011-05-16 10:53:26 -0500 (Mon, 16 May 2011) | 8 lines
  
  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/trunk@319143 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-16 15:54:52 +00:00
Gregory Nietsky 32d43ebe19 When a error in T.38 negotiation happens or its rejected on a channel the
state of the channel reverts to unknown this should be rejected.
 
 this is important for negotiating T.38 gateway see #13405

 This patch adds a option T38_REJECTED that behaves as T38_DISABLED except it reports state rejected.

 Trivial Change to res_fax to honnor UNAVAILABLE and REJECTED states.

 (closes issue #18889)
 Reported by: irroot
 Tested by: irroot, darkbasic, 	mnicholson

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@319087 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-16 14:56:53 +00:00
Brett Bryant 547490144c Merged revisions 318917 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r318917 | bbryant | 2011-05-13 13:56:04 -0400 (Fri, 13 May 2011) | 11 lines
  
  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/trunk@318918 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-13 17:58:53 +00:00
Alec L Davis 892b7a2efd Merged revisions 318671 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r318671 | alecdavis | 2011-05-13 10:52:08 +1200 (Fri, 13 May 2011) | 30 lines
  
  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/trunk@318672 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-12 22:56:43 +00:00
Terry Wilson 475c264bd2 Merged revisions 318550 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r318550 | twilson | 2011-05-11 13:47:33 -0500 (Wed, 11 May 2011) | 2 lines
  
  Comment out the REF_DEBUG that slipped in during debugging
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@318552 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-11 18:52:53 +00:00
Terry Wilson da4016544e Merged revisions 318549 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r318549 | twilson | 2011-05-11 13:39:48 -0500 (Wed, 11 May 2011) | 27 lines
  
  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/trunk@318551 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-11 18:50:51 +00:00
Terry Wilson 07b3742ad2 Merged revisions 318337 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r318337 | twilson | 2011-05-09 15:23:15 -0500 (Mon, 09 May 2011) | 18 lines
  
  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/trunk@318400 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-10 00:22:02 +00:00
David Vossel 4c35291c6b Merged revisions 318233 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r318233 | dvossel | 2011-05-09 12:09:55 -0500 (Mon, 09 May 2011) | 14 lines
  
  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/trunk@318234 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-09 17:13:01 +00:00
Russell Bryant 33b7cc2ef6 Merged revisions 317867 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r317867 | russell | 2011-05-06 15:01:16 -0500 (Fri, 06 May 2011) | 10 lines
  
  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/trunk@317868 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-06 20:02:31 +00:00
Russell Bryant ae8dbde4a8 Merged revisions 317865 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r317865 | russell | 2011-05-06 14:46:49 -0500 (Fri, 06 May 2011) | 11 lines
  
  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/trunk@317866 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-06 19:48:06 +00:00
Richard Mudgett 307f148adb Merged revisions 317670 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r317670 | rmudgett | 2011-05-06 11:19:18 -0500 (Fri, 06 May 2011) | 22 lines
  
  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/trunk@317671 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-06 16:23:14 +00:00
Russell Bryant 0938974902 Merged revisions 317478 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r317478 | russell | 2011-05-05 17:53:45 -0500 (Thu, 05 May 2011) | 12 lines
  
  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/trunk@317479 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-05 22:55:09 +00:00
Russell Bryant f0f5e237bf Merged revisions 317474 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r317474 | russell | 2011-05-05 17:36:33 -0500 (Thu, 05 May 2011) | 2 lines
  
  Fix more "set but unused" warnings.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@317475 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-05 22:44:52 +00:00
Jonathan Rose 932e34ee62 Merged revisions 317283 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r317283 | jrose | 2011-05-05 14:09:13 -0500 (Thu, 05 May 2011) | 10 lines
  
  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/trunk@317334 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-05 19:33:11 +00:00
Russell Bryant 4d612d126b Merged revisions 317281 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r317281 | russell | 2011-05-05 13:39:44 -0500 (Thu, 05 May 2011) | 29 lines
  
  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/trunk@317282 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-05 18:46:22 +00:00
Matthew Nicholson 89da27b780 Merged revisions 317196 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r317196 | mnicholson | 2011-05-05 13:02:52 -0500 (Thu, 05 May 2011) | 8 lines
  
  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/trunk@317198 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-05 18:09:23 +00:00
David Vossel 1f96380da5 Reverts rev 316218 as it breaks parsing the [general] section of sip.conf.
The functionality this patch attempts to achieve should already
be possible using [general](+) in the config file.

issue #17957



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@316798 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-04 16:42:19 +00:00
David Vossel 3bf4b09a6e Merged revisions 316617 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r316617 | dvossel | 2011-05-04 08:44:41 -0500 (Wed, 04 May 2011) | 19 lines
  
  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/trunk@316618 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-04 13:48:07 +00:00
Tilghman Lesher ed56ae3ef7 If multiple [general] contexts occur from sip.conf (usually due to external includes), merge them.
The original implementation of this did the merging of all contexts with the
same name in the realtime layer, but that implementation severely breaks
drivers which use the same context name (e.g. iax.conf, type={peer,user}).
Therefore, the implementation needs to do the merging for particular entries
only, based upon what contexts would allow that in the channel driver itself.
This implementation is for chan_sip only, but others could be added in the
future.

(closes issue #17957)
 Reported by: marcelloceschia
 Patches: 
       chan-sip_parsing-general_branch162.patch uploaded by marcelloceschia (license 1079)
 Tested by: tilghman


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@316428 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-03 23:36:35 +00:00
David Vossel db72ee299a Merged revisions 316217 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r316217 | dvossel | 2011-05-03 13:59:06 -0500 (Tue, 03 May 2011) | 9 lines
  
  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/trunk@316218 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-03 19:00:26 +00:00
Matthew Nicholson e87639fc26 Merged revisions 315894 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r315894 | mnicholson | 2011-04-27 14:14:27 -0500 (Wed, 27 Apr 2011) | 28 lines
  
  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/trunk@315895 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-27 19:15:49 +00:00
Terry Wilson 181661c617 Merged revisions 315673 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r315673 | twilson | 2011-04-26 15:56:19 -0700 (Tue, 26 Apr 2011) | 25 lines
  
  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/trunk@315675 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-26 23:10:58 +00:00
Terry Wilson bd354a0378 Make sure to create the caps structure for autocreated peers
Because crashing is bad.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@315674 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-26 23:04:10 +00:00
Russell Bryant 1c14c67ce8 Merged revisions 315213 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r315213 | russell | 2011-04-25 14:04:28 -0500 (Mon, 25 Apr 2011) | 14 lines
  
  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/trunk@315214 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-25 19:06:08 +00:00
Matthew Nicholson 079e794b1c Merged revisions 314628 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r314628 | mnicholson | 2011-04-21 13:24:05 -0500 (Thu, 21 Apr 2011) | 27 lines
  
  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/trunk@314666 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-21 18:32:50 +00:00
Terry Wilson b8f253161b Merged revisions 314550 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r314550 | twilson | 2011-04-20 17:23:04 -0700 (Wed, 20 Apr 2011) | 13 lines
  
  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/trunk@314551 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-21 00:29:21 +00:00
David Vossel 642249c360 Merged revisions 314067 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r314067 | dvossel | 2011-04-18 10:23:45 -0500 (Mon, 18 Apr 2011) | 22 lines
  
  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/trunk@314078 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-18 16:22:55 +00:00
David Vossel 4b4549106b Merged revisions 314017 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r314017 | dvossel | 2011-04-18 08:41:06 -0500 (Mon, 18 Apr 2011) | 17 lines
  
  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/trunk@314018 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-18 13:42:51 +00:00
Leif Madsen b8b1d085db Add 'description' field for CLI and Manager output
(closes issue #19076)
Reported by: lmadsen
Patches: 
      __20110408-channel-description.txt uploaded by lmadsen (license 10)
Tested by: lmadsen

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

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@313528 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-13 15:49:33 +00:00
Richard Mudgett ad30fa7569 Merged revisions 312889 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r312889 | rmudgett | 2011-04-05 11:19:35 -0500 (Tue, 05 Apr 2011) | 5 lines
  
  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/trunk@312897 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-05 16:21:28 +00:00
Richard Mudgett e005f07b7d Merged revisions 312866 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r312866 | rmudgett | 2011-04-05 10:38:14 -0500 (Tue, 05 Apr 2011) | 15 lines
  
  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/trunk@312868 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-05 15:40:38 +00:00
Jonathan Rose f91462e7ca Merged revisions 311352 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r311352 | jrose | 2011-03-18 11:19:05 -0500 (Fri, 18 Mar 2011) | 10 lines
  
  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/trunk@311373 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-03-18 16:24:19 +00:00
Mark Michelson 0d66e03bf4 Merged revisions 310231 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r310231 | mmichelson | 2011-03-10 09:17:04 -0600 (Thu, 10 Mar 2011) | 9 lines
  
  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/trunk@310238 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-03-10 15:28:55 +00:00
Jason Parker 070cb4ef87 Merged revisions 309256 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r309256 | qwell | 2011-03-02 13:54:20 -0600 (Wed, 02 Mar 2011) | 15 lines
  
  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/trunk@309257 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-03-02 19:54:43 +00:00
David Vossel 8e603ab4e1 Merged revisions 309084 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r309084 | dvossel | 2011-03-01 10:09:11 -0600 (Tue, 01 Mar 2011) | 15 lines
  
  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/trunk@309090 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-03-01 16:22:27 +00:00
Alec L Davis b6e37118c9 Merged revisions 308945 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r308945 | alecdavis | 2011-02-26 07:52:53 +1300 (Sat, 26 Feb 2011) | 21 lines
  
  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/trunk@308946 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-25 18:58:10 +00:00
Terry Wilson 5deb544d06 Merged revisions 308679 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r308679 | twilson | 2011-02-23 21:41:34 -0600 (Wed, 23 Feb 2011) | 15 lines
  
  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/trunk@308680 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-24 03:49:07 +00:00
David Vossel d760e81f37 Media Project Phase2: SILK 8khz-24khz, SLINEAR 8khz-192khz, SPEEX 32khz, hd audio ConfBridge, and other stuff
-Functional changes
1. Dynamic global format list build by codecs defined in codecs.conf
2. SILK 8khz, 12khz, 16khz, and 24khz with custom attributes defined in codecs.conf
3. Negotiation of SILK attributes in chan_sip.
4. SPEEX 32khz with translation
5. SLINEAR 8khz, 12khz, 24khz, 32khz, 44.1khz, 48khz, 96khz, 192khz with translation
   using codec_resample.c
6. Various changes to RTP code required to properly handle the dynamic format list
   and formats with attributes.
7. ConfBridge now dynamically jumps to the best possible sample rate.  This allows
   for conferences to take advantage of HD audio (Which sounds awesome)
8. Audiohooks are no longer limited to 8khz audio, and most effects have been
   updated to take advantage of this such as Volume, DENOISE, PITCH_SHIFT.
9. codec_resample now uses its own code rather than depending on libresample.

-Organizational changes
Global format list is moved from frame.c to format.c
Various format specific functions moved from frame.c to format.c

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@308582 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-22 23:04:49 +00:00