Commit Graph

24882 Commits

Author SHA1 Message Date
Joshua Colp
67ea0c2078 endpoints: Keep a reference to channel ids when creating snapshot.
The snapshot process for endpoints uses the channel ids present
on the endpoint itself. Without keeping a reference it was possible
for the strings to be freed underneath any consumer of an endpoint
snapshot.

A reference is now held by the snapshot to the channel ids and
released when the snapshot is destroyed.

(issue ASTERISK-22801)
Reported by: Matt Jordan


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403542 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-12-09 18:31:13 +00:00
Richard Mudgett
117286dd87 sorcery: Eliminate shadowing a varaible that caused confusion.
* Eliminated shadowing of the __ast_sorcery_apply_config() name parameter
causing confusion.

* Fix potential crash from sorcery.conf user input in
__ast_sorcery_apply_config() if the user supplied a malformed config line
that is missing the sorcery object type name.

* Remove redundant test in __ast_sorcery_apply_config().  !config and
config == CONFIGS_STATUS_FILEMISSING are identical.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403541 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-12-09 18:31:07 +00:00
Richard Mudgett
56b4c16073 sorcery: Whitespace
You would think that a new file would start off without any whitespace
oddities.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403527 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-12-09 18:01:25 +00:00
Joshua Colp
1167576cc8 res_pjsip_nat: Add NAT module to session dialogs.
Due to the way pjproject internally works it was possible for the
NAT module to not be invoked on messages with-in a session dialog.
This means that the various parts of the message would not get rewritten
with the source IP address and port.

This change uses a session supplement to add the NAT module
to the dialog on the first incoming or outgoing INVITE.

(closes issue ASTERISK-22941)
Reported by: Leif Madsen


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403510 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-12-09 16:40:59 +00:00
Matthew Jordan
c3ba9d186c res_fax_spandsp: Always init T.38 session to avoid crashes during state change
Prior to this patch, res_fax_spandsp was conservative with how it initialized
the spandsp T.38 context. It would only initialize it if the driver thought
the current state was a T.38 fax. While this works fine in nominal situations,
in certain off nominal situations, res_fax_spandsp can believe that a T.38
fax will not occur when in fact one has started. In particular, this was
discovered when res_fax would fall back to audio after timing out on a T.38
upgrade. The SIP channel driver would continue to retry the re-INVITE and -
if the remote end responded after res_fax timed out with a 200 OK - a T.38
frame would be delivered to the res_fax stack when it no longer expected it.

As it turns out, there does not appear to be any downside to always
initializing the T.38 context, other than the actual memory allocation.
Since that avoids this off nominal situation (and others which are equally
likely hard to predict), this is the safest way to avoid this problem.

Much thanks to Torrey as well for providing a scenario that reproduces this
issue.

(closes issue ASTERISK-21242)
Reported by: Ashley Winters
Tested by: Torrey Searle
patches:
  always-init-t38.patch uploaded by awinters (License 6477)
  A_PARTY.xml uploaded by tsearle (License 5334)
........

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

Merged revisions 403450 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403458 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-12-09 03:19:39 +00:00
Matthew Jordan
1d2de2fdb8 res_config_sqlite: Check for CDR unregistration failures
If the CDR unregistration fails due to an inflight CDR, the
res_config_sqlite module needs to bail on unloading itself. Otherwise,
the config could be unloaded (including the CDR table name) while the
CDR engine posts a CDR to the still registered backend, resulting in
a crash.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403435 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-12-08 05:54:53 +00:00
David M. Lee
c0b4e18900 Reverting r403311. It's causing ARI tests to hang.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403398 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-12-05 20:49:52 +00:00
Kevin Harwell
c8a92c8125 res_pjsip_registrar: undefined function pointer symbol
Used a static wrapper around the offending function to alleviate the issue.

Reported by: rmudgett



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403377 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-12-04 21:41:24 +00:00
Joshua Colp
3a33afa7cd res_pjsip_t38: Don't pass T.38 control frames through to other hooks.
This crept up during gateway testing where the gateway would receive
the request to negotiate and assume it came from the remote side, causing
the gateway state machine to go a little, to a use a technical term,
"wonky".


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403364 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-12-04 20:53:32 +00:00
Mark Michelson
a36332e42f Initialize the hash value argument to pj_hash_get() to 0.
Passing a non-zero value causes PJLIB to use the given input as the
hash value. Passing zero causes the parameter to become an output parameter
that receives the hash value that was computed based on the given key.

This change essentially makes ast_sip_dict_get() properly retrieve the
desired value.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403349 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-12-04 18:40:23 +00:00
David M. Lee
55798c532a ari: Fix deadlock problem with functions that use autoservice.
The code for getting channel variables from ARI assumed that you needed
to lock the channel in order to properly execute functions and read
channel variables. Apparently, this is not the case, since any dialplan
function that puts the channel into autoservice deadlocks when
attempting to remove the channel from autoservice.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403342 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-12-03 20:17:48 +00:00
Joshua Colp
3dfd810c6c res_pjsip_session: Add support for PJMEDIA_SDP_NEG_ALLOW_MEDIA_CHANGE flag.
Newer versions of PJSIP have changed to using a flag for the
PJMEDIA_SDP_NEG_ALLOW_MEDIA_CHANGE instead of a define. This adds a
configure check to detect the presence of the flag and use it if found.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403329 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-12-03 17:59:41 +00:00
Richard Mudgett
1123e09e2f sorcery, bucket: Change observer remove calls to take const callbacks struct.
* Make ast_sorcery_observer_remove() accept a const callbacks struct.

* Make ast_sorcery_observer_remove() tolerant of the sorcery parameter
being NULL.  Now it can be called within a module unload routine if the
sorcery initialization fails.

* Fix ast_sorcery_observer_add() to fail if the container link fails.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403324 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-12-03 17:23:50 +00:00
Joshua Colp
cb6204eb0a media_index: Make media indexing tolerable of bad symlinks.
Media indexing will now skip over files and directories that stat
will not return information about. This can occur under normal
conditions when a symbolic link points to a location that no longer
exists.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403312 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-12-03 16:37:26 +00:00
Mark Michelson
4b7ba33125 Add channel locking for channel snapshot creation.
This adds channel locks around calls to create channel snapshots as well
as other functions which operate on a channel and then end up
creating a channel snapshot. Functions that expect the channel to be
locked prior to being called have had their documentation updated to
indicate such.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403311 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-12-03 16:33:49 +00:00
Joshua Colp
d904906a1a Revert revision 403304: Fixed the filename for the ari.conf docs
The changed value refers to the name of the module. The name of the
configuration file is specified in the configFile section.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403310 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-12-03 16:32:12 +00:00
David M. Lee
1a940480b5 Fixed the filename for the ari.conf docs
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403304 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-12-02 18:34:50 +00:00
Alexandr Anikin
d80611a52e remove unwanted property svn:mergeinfo
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403291 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-12-02 18:03:15 +00:00
Alexandr Anikin
c90c183e92 Check and reject non-digits e164 values on peers and general sections in ooh323.conf
Regenerate e164 endpoint list on reload ooh323
(issue ASTERISK-22901)
Reported by: Cyril CONSTANTIN
Patches:
	ASTERISK-22901.patch
........

Merged revisions 403288 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403290 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-12-02 17:58:33 +00:00
Joshua Colp
7026284b5a res_pjsip_session: Apply fromuser and fromdomain to all requests as documented.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403271 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-12-01 21:12:37 +00:00
Joshua Colp
fb7c0d5ecc res_pjsip_t38: Add the framehook to the channel only on first INVITE.
The check for determining whether the T.38 framehook should be added to
the channel or not has now been changed to guarantee adding only occurs
on the first incoming or outgoing INVITE.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403258 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-12-01 20:04:02 +00:00
Joshua Colp
e0cfdf5655 res_pjsip_transport_websocket: Fix security events and simplify implementation.
Transport type determination for security events has been simplified to use
the type present on the message itself instead of searching through configured
transports to find the transport used.

The actual WebSocket transport has also been simplified. It now leverages the
existing PJSIP transport manager for finding the active WebSocket transport
for outgoing messages. This removes the need for res_pjsip_transport_websocket
to store a mapping itself.

(closes issue ASTERISK-22897)
Reported by: Max E. Reyes Vera J.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403256 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-12-01 19:56:38 +00:00
Joshua Colp
021f49bad7 res_ari: Add Recording events to the validator.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403240 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-30 14:11:55 +00:00
Joshua Colp
e9a5c707d6 res_pjsip_sdp_rtp: Don't produce an invalid media stream with no formats.
Depending on configuration it was possible for a media stream to be
created without any media formats. The produced SDP would fail internal
validation and cause a crash.

The code will now no longer add media streams with no formats to the SDP,
allowing it to pass validation and work.

(closes issue ASTERISK-22858)
Reported by: Anthony Messina


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403223 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-28 02:12:04 +00:00
Joshua Colp
457ddd6cc1 res_pjsip_header_funcs: Don't add headers to re-INVITEs.
When sending a re-INVITE to an endpoint it was possible for received
headers to be added as well (since they are stored for retrieval using
the PJSIP_HEADER dialplan function). This caused a broken (and
potentially large) SIP INVITE to be produced and sent.

This changes the module so it will no longer add headers to
re-INVITEs.

(closes issue ASTERISK-22882)
Reported by: David M. Lee


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403221 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-28 01:56:02 +00:00
Joshua Colp
54523ed21e res_stasis_playback: Add 'number', 'digits', and 'characters' URI scheme implementations.
This change adds new URI scheme implementations for playing numbers, digits,
and characters. This is done as part of the normal playback mechanism and can
be used with queueing to create a combined sentence.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403209 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-28 00:53:43 +00:00
Joshua Colp
4a9e6d06a7 res_pjsip_session: Add configurable behavior for redirects.
The action taken when a redirect occurs is now configurable on a
per-endpoint basis. The redirect can either be treated as a redirect
to a local extension, to a URI that is dialed through the Asterisk
core, or to a URI that is dialed within PJSIP itself.

(closes issue ASTERISK-21710)
Reported by: Matt Jordan

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403207 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-28 00:36:53 +00:00
Joshua Colp
c40e808b14 res_pjsip: Fix crash when reloading certain configurations.
Certain options available that specify a SIP URI perform validation
on the provided URI using the PJSIP URI parser. This operation
requires that the thread executing it be registered with the PJLIB
library. During reloads this was done on a thread which was NOT
registered with it.

This fixes the problem by creating a task which reloads the
configuration on a PJSIP thread.

(closes issue ASTERISK-22923)
Reported by: Anthony Messina


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403179 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-27 16:09:48 +00:00
David M. Lee
094c5e2cca ari:Add application/json parameter support
The patch allows ARI to parse request parameters from an incoming JSON
request body, instead of requiring the request to come in as query
parameters (which is just weird for POST and DELETE) or form
parameters (which is okay, but a bit asymmetric given that all of our
responses are JSON).

For any operation that does _not_ have a parameter defined of type
body (i.e. "paramType": "body" in the API declaration), if a request
provides a request body with a Content type of "application/json", the
provided JSON document is parsed and searched for parameters.

The expected fields in the provided JSON document should match the
query parameters defined for the operation. If the parameter has
'allowMultiple' set, then the field in the JSON document may
optionally be an array of values.

(closes issue ASTERISK-22685)
Review: https://reviewboard.asterisk.org/r/2994/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403175 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-27 15:36:16 +00:00
Joshua Colp
5537def54d res_pjsip: Update handling of some options to work with new option names.
Some options (such as call_group and pickup_group) share the same configuration
handler and decide what logic to use based on the name of the option. These
handlers were not updated to check for the new option names and were treating
the options as invalid.

This change simply updates the handlers with the proper names of the options.

(closes issue ASTERISK-22922)
Reported by: Anthony Messina


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403173 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-27 15:31:05 +00:00
Joshua Colp
9a2df36dd4 Fix a configure issue with PJSIP transaction group lock detection.
The configure check did not use the provided paths for pjproject
if provided when looking for transaction group lock support.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403160 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-26 22:33:19 +00:00
Kevin Harwell
99d5cb8555 ARI: Implement device state API
Created a data model and implemented functionality for an ARI device state
resource.  The following operations have been added that allow a user to
manipulate an ARI controlled device:

Create/Change the state of an ARI controlled device
PUT    /deviceStates/{deviceName}&{deviceState}

Retrieve all ARI controlled devices
GET    /deviceStates

Retrieve the current state of a device
GET    /deviceStates/{deviceName}

Destroy a device-state controlled by ARI
DELETE /deviceStates/{deviceName}

The ARI controlled device must begin with 'Stasis:'.  An example controlled
device name would be Stasis:Example.  A 'DeviceStateChanged' event has also
been added so that an application can subscribe and receive device change
events.  Any device state, ARI controlled or not, can be subscribed to.

While adding the event, the underlying subscription control mechanism was
refactored so that all current and future resource subscriptions would be
the same.  Each event resource must now register itself in order to be able
to properly handle [un]subscribes.

(issue ASTERISK-22838)
Reported by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/3025/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403134 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-23 17:38:29 +00:00
Kevin Harwell
24568ea6c9 res_pjsip: AMI commands and events.
Created the following AMI commands and corresponding events for res_pjsip:

PJSIPShowEndpoints - Provides a listing of all pjsip endpoints and a few
                     select attributes on each.
  Events:
    EndpointList - for each endpoint a few attributes.
    EndpointlistComplete - after all endpoints have been listed.

PJSIPShowEndpoint - Provides a detail list of attributes for a specified
                    endpoint.
  Events:
    EndpointDetail - attributes on an endpoint.
    AorDetail - raised for each AOR on an endpoint.
    AuthDetail - raised for each associated inbound and outbound auth
    TransportDetail - transport attributes.
    IdentifyDetail - attributes for the identify object associated with
                     the endpoint.
    EndpointDetailComplete - last event raised after all detail events.

PJSIPShowRegistrationsInbound - Provides a detail listing of all inbound
                                registrations.
  Events:
    InboundRegistrationDetail - inbound registration attributes for each
                                registration.
    InboundRegistrationDetailComplete - raised after all detail records have
                                been listed.

PJSIPShowRegistrationsOutbound  - Provides a detail listing of all outbound
                                  registrations.
  Events:
    OutboundRegistrationDetail - outbound registration attributes for each
                                 registration.
    OutboundRegistrationDetailComplete - raised after all detail records
                                 have been listed.

PJSIPShowSubscriptionsInbound - A detail listing of all inbound subscriptions
                                and their attributes.
  Events:
    SubscriptionDetail - on each subscription detailed attributes
    SubscriptionDetailComplete - raised after all detail records have
                                 been listed.

PJSIPShowSubscriptionsOutbound - A detail listing of all outboundbound
                                subscriptions and their attributes.
  Events:
    SubscriptionDetail - on each subscription detailed attributes
    SubscriptionDetailComplete - raised after all detail records have
                                 been listed.

(issue ASTERISK-22609)
Reported by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/2959/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403131 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-23 17:14:22 +00:00
Joshua Colp
22f800d14e ari: Add events for playback and recording.
While there were events defined for playback and recording
these were not actually sent. This change implements the
to_json handlers which produces them.

(closes issue ASTERISK-22710)
Reported by: Jonathan Rose

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403119 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-23 12:51:31 +00:00
Joshua Colp
60e700565a ari: Add Snoop operation for spying/whispering on channels.
The Snoop operation can be invoked on a channel to spy or
whisper on it. It returns a channel that any channel operations
can then be invoked on (such as record to do monitoring).

(closes issue ASTERISK-22780)
Reported by: Matt Jordan

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403117 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-23 12:38:04 +00:00
Kinsey Moore
10381f238a Make sure unit tests compile
This fixes the unit tests that were broken by r403069 and several
functions requiring a new parameter for sanitization of JSON messages
generated from object snapshots.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403094 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-22 23:44:39 +00:00
Kevin Harwell
1222501fcf res_pjsip: convert configuration settings names to snake case some more
Updated the alembic script for pjsip.  Also, the dtls config parsing stuff was
expecting strings with no underscores, so removed the underscores from the
option name before passing it to the parser.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403082 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-22 22:24:43 +00:00
Kinsey Moore
0045449943 ARI: Don't leak implementation details
This change prevents channels used as implementation details from
leaking out to ARI. It does this by preventing creation of JSON blobs
of channel snapshots created from those channels and sanitizing JSON
blobs of bridge snapshots as they are created. This introduces a
framework for excluding information from output targeted at Stasis
applications on a consumer-by-consumer basis using channel sanitization
callbacks which could be extended to bridges or endpoints if necessary.

This prevents unhelpful error messages from being generated by
ast_json_pack.

This also corrects a bug where BridgeCreated events would not be
created.

(closes issue ASTERISK-22744)
Review: https://reviewboard.asterisk.org/r/2987/
Reported by: David M. Lee


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403069 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-22 20:01:26 +00:00
Kevin Harwell
1ac597135a res_pjsip: convert configuration settings names to snake case
Renamed, where appropriate, the configuration options for chan/res_pjsip to use
snake case (compound words separated by an underscore).  For example, faxdetect
will become fax_detect, recordofffeature will become record_off_feature, etc...

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403022 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-22 17:19:18 +00:00
Joshua Colp
58059314cd translate: Move freeing of frame to after it is used.
When translating from one format to another it is possible
to inform the translation function that the source frame should
be freed. This was previously done immediately but shortly
afterwards the frame that was freed was accessed and used again.

This change moves code around a bit so that the frame is now
freed after it has been completely used.

(closes issue ASTERISK-22788)
Reported by: Corey Farrell
Patches:
	translate-access-after-free-11up.patch uploaded by coreyfarrell (license 5909)
	translate-access-after-free-1.8.patch uploaded by coreyfarrell (license 5909)
........

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

Merged revisions 403015 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403016 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-22 17:11:46 +00:00
David M. Lee
5d515b50a6 ari: Fix #include to match generated headers for snakeCase resource files
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@402993 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-21 22:35:44 +00:00
David M. Lee
4f346b155c ari: Fix generators for resources with camelCase names.
For the new deviceState resource, we need to properly generate
device_state.[ch] files.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@402981 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-21 21:21:43 +00:00
Matthew Jordan
32c6a4b5db res_pjsip_session: Fix memory leak of direct media format capabilities
The direct media format capabilities are always allocated in
ast_sip_session_alloc and were not freed in the session destructor. Whoops.

(This being the third whoops caught by Scott and Nitesh's valgrind work for
the Asterisk Test Suite. Nifty!)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@402968 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-21 19:21:20 +00:00
Richard Mudgett
01c44f6bed voicemail: Fixup some doxygen comments.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@402956 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-21 19:08:40 +00:00
Richard Mudgett
f2d75eb74b bucket: Fix scheme ref leak in __ast_bucket_scheme_register().
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@402944 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-21 18:00:39 +00:00
Matthew Jordan
57967ec04a res_pjsip_sdp_rtp: Fix use of uninitialized value in PJSIP
In PJMEDIA, pjmedia_sdp_rtpmap_to_attr will attempt to use the string
rtpmap.param regardless of its length value. Simply setting the length to 0
does not prevent the garbage on the stack in rtpmap.param.ptr from being
formatted in a sprintf call. This patch initializes the string to NULL so that
at the very least, something is provided to the function that is predictable.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@402941 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-21 17:52:11 +00:00
Matthew Jordan
ef01e90ecf res_pjsip_mwi: Fix memory leak of MWI subscriptions container
This patch fixes a reference counting memory leak on the ao2_container
created as part of create_mwi_subscriptions. When we create the container
in this routine, the intent is to hand lifetime ownership over to the global
container unsolicited_mwi. When ao2_global_obj_replace_unref is called, the
reference count on mwi_subscriptions (the container) will be bumped by 1;
however, the function does not decrement the reference count on
mwi_subscriptions when this occurs. This will prevent the container from being
fully disposed of when Asterisk exits (or on any subsequent call to this
operation, such as during a reload).



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@402940 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-21 17:49:28 +00:00
David M. Lee
4fd244e273 ari: Add silence generator controls
This patch adds the ability to start a silence generator on a channel
via ARI. This generator will play silence on the channel (avoiding audio
timeouts on the peer) until it is stopped, or some other media operation
is started (like playing media, starting music on hold, etc.).

(closes issue ASTERISK-22514)
Review: https://reviewboard.asterisk.org/r/3019/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@402926 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-21 15:55:33 +00:00
Joshua Colp
527a8b08de res_pjsip_caller_id: Don't overwrite user portion of the From header when fromuser is set.
The fromuser option is used to explicitly set the user within the From header. The
res_pjsip_caller_id module did not take this setting into account when determining
if the From header could be modified or not.

(closes issue ASTERISK-22866)
Reported by: Anthony Messina


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@402891 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-19 23:17:18 +00:00
Joshua Colp
18a2f38b76 res_pjsip: Add support for building against pjproject with SIP transaction group lock support.
SIP transaction group lock support has been backported into our pjproject. Since the code
now internally uses a group lock the code is now changed to unlock it if present. Note
that the act of finding the transaction is what actually returns it locked.

For further information about group locks check out the wiki page at:
http://trac.pjsip.org/repos/wiki/Group_Lock

(issue ASTERISK-22818)
Reported by: Matt Jordan


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@402864 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-16 13:44:47 +00:00