Commit Graph

2302 Commits

Author SHA1 Message Date
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
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
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
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
David M. Lee 13ce1cee50 stasis: Fixed scoping problem with bridge tracking.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@402817 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-14 15:01:51 +00:00
Joshua Colp 0f7db6c413 res_ari_channels: Add the ability to stop locally generated ringing on a channel.
Using the 'ring' operation it is possible to start locally generated ringback if
the channel is answered. This change adds the ability to stop it by using DELETE.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@402804 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-13 23:09:38 +00:00
Kevin Harwell 129cd55355 ari endpoints: GET /ari/endpoints/{invalid-tech} should return a 404
Was returning a 404 on a valid technology with an empty list of endpoints.
Now checking against the channel tech to make sure the tech itself is valid
and not just an empty list of endpoints.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@402793 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-12 23:16:58 +00:00
Kevin Harwell 59dc668622 ari endpoints: GET /ari/endpoints/{invalid-tech} should return a 404
Implementation listing endpoints by technology returned an empty array if no
matching endpoints were found.  Fixed so a "404 Not Found" will be returned
instead.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@402787 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-12 22:15:41 +00:00
Kevin Harwell 1d6201ab9c pjsip_messaging, pjsip_header_funcs: Crashes due to NULL pointer dereferences
Both res_pjsip_messaging and res_pjsip_header_funcs were causing asterisk to
crash because they were trying to dereference a NULL pointer.

In the case of res_pjsip_messaging it was attempting to "print" a contact
header that did not exist.  In fact contact headers should not be part of
a SIP MESSAGE, so the offending code was simply removed.

In the case of res_pjsip_header_funcs a null private channel tech was being
passed to the function and then later dereferenced.  Added null checks (and
error logging) to the read/write function handlers to guard against crashing.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@402757 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-12 16:45:42 +00:00
David M. Lee 1432a9d59d Fixed a typ.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@402738 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-12 15:26:26 +00:00
Richard Mudgett 82c2db6592 res_stasis.c: Fix locking issues with the app_bridge_moh container.
* Fix unlinking from the app_bridges_moh container in remove_bridge_moh()
without a lock under normal circumstances.

* Made check ast_bridge_set_after_callback() return value in
bridge_moh_create() to handle failure.

* Fixed SCOPED_AO2LOCK() locking over too much scope in
stasis_app_bridge_moh_channel() and stasis_app_bridge_moh_stop().

* Fixed unusual usage of ao2_unlink_flag() in control_unlink().

* Fixed orphaned bridge from off nominal path in
stasis_app_bridge_create().

* Fixed strange construct in stasis_app_unsubscribe().  From a bad merge?

* Made load_module() cleanup on failure.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@402593 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-08 20:20:27 +00:00
Mark Michelson 6ced38003d Clarify an ambiguous error message.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@402582 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-08 19:22:14 +00:00
David M. Lee 7d1bfe62b6 res_pjsip: Print a helpful error message if sorcery registration fails
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@402570 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-08 18:48:28 +00:00
David M. Lee 13c51ecc13 Changes from make ari-stubs after r402560
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@402561 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-08 17:59:10 +00:00
Kevin Harwell 952cd73827 ARI playback: Rename ARI Playback to Playbacks
Before playback was the only non plural resource.  It has been renamed to
playbacks for consistency.

(closes issue ASTERISK-22737)
Reported by: Paul Belanger


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@402560 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-08 17:39:43 +00:00
David M. Lee a274df3a21 ari: Add application/x-www-form-urlencoded parameter support
ARI POST calls only accept parameters via the URL's query string.
While this works, it's atypical for HTTP API's in general, and
specifically frowned upon with RESTful API's.

This patch adds parsing for application/x-www-form-urlencoded request
bodies if they are sent in with the request. Any variables parsed this
way are prepended to the variable list supplied by the query string.

(closes issue ASTERISK-22743)
Review: https://reviewboard.asterisk.org/r/2986/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@402555 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-08 17:28:40 +00:00
Jonathan Rose 7194a6e59c PJSIP: Improve error handling in digest authenticator
Previously, regardless of whether failure to authenticate was due to
lacking any authentication or actually failing authentication, the
Digest Authenticator would simply return that a challenge was still
needed. It will continue to do that when no authentication information
is in the received SIP digest, but when authentication information
is present and does not pass authentication, that will be treated as
an authentication error. This is to ensure that PJSIP will issue
security events indicated failed auths.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@402537 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-07 23:16:30 +00:00
David M. Lee 2f92695c22 ari: User better nicknames for ARI operations
While working on building client libraries from the Swagger API, I
noticed a problem with the nicknames.

    channel.deleteChannel()
    channel.answerChannel()
    channel.muteChannel()

Etc. We put the object name in the nickname (since we were generating C
code), but it makes OO generators redundant.

This patch makes the nicknames more OO friendly. This resulted in a lot
of name changing within the res_ari_*.so modules, but not much else.

There were a couple of other fixed I made in the process.

 * When reversible operations (POST /hold, POST /unhold) were made more
   RESTful (POST /hold, DELETE /unhold), the path for the second operation
   was left in the API declaration. This worked, but really the two
   operations should have been on the same API.
 * The POST /unmute operation had still not been REST-ified.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@402528 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-07 21:09:18 +00:00
Joshua Colp 26458aa615 res_ari_channels: Add ring operation, dtmf operation, hangup reasons, and tweak early media.
The ring operation sends ringing to the specified channel it is invoked on.
The dtmf operation can be used to send DTMF digits to the specified channel
of a specific length with a wait time in between. Finally hangup reasons
allow you to specify why a channel is being hung up (busy, congestion).

Early media behavior has also been tweaked slightly. When playing media to a channel
it will no longer automatically answer. If it has not been answered a progress indication
is sent instead.

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

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@402358 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-01 14:37:00 +00:00
Kinsey Moore de407196b8 chan_sip: Fix RTCP port for SRFLX ICE candidates
This corrects one-way audio between Asterisk and Chrome/jssip as a
result of Asterisk inserting the incorrect RTCP port into RTCP SRFLX
ICE candidates. This also exposes an ICE component enumeration to
extract further details from candidates.

(closes issue ASTERISK-21383)
Reported by: Shaun Clark
Review: https://reviewboard.asterisk.org/r/2967/
........

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@402348 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-01 12:38:22 +00:00
Joshua Colp 6a6332b86d res_ari_channels: Fix a deadlock when originating multiple channels close to eachother.
If a Stasis application is specified an implicit subscription is done on the originated
channel. This was previously done with the channel lock held which is dangerous as the
underlying code locks the container and iterates items. This change releases the lock
on the originated channel before subscribing occurs.

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

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@402346 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-01 12:31:51 +00:00
Joshua Colp adf78c11ea res_stasis: Ensure the channel is always departed from the bridge when it leaves.
This change adds a command to the command queue to explicitly depart the channel
from the bridge when it is told it has left. If the channel has already been departed
or has entered a different bridge this command will become a no-op.

(closes issue ASTERISK-22703)
Reported by: John Bigelow

(closes issue ASTERISK-22634)
Reported by: Kevin Harwell

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@402336 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-11-01 12:12:32 +00:00
David M. Lee a181e534e0 stasis: add functions embarrassingly missing from r400522
I neglected to implement two of the endpoint subscription functions when
I did the work. Normally, you'll only hit that when you unsubscribe from
a specific endpoint.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@402276 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-10-31 14:43:44 +00:00
Kevin Harwell 8a08f73fe0 pjsip_messaging: Added debug for in dialog messaging
(issue ASTERISK-22777)
Reported by: Matt Jordan


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@402265 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-10-30 17:52:55 +00:00
Kinsey Moore e81d1ab8cd ARI: Remove channels/{channelId}/dial
This removes the /ari/channels/{channelId}/dial URI since it is
redundant, overly complex, is likely to become more externally complex
over time, and is too high-level compared with other ARI operations.
See the following for further information:
http://lists.digium.com/pipermail/asterisk-app-dev/2013-October/000002.html

(closes issue ASTERISK-22784)
Reported by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/2968/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@402152 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-10-29 12:51:15 +00:00
Joshua Colp 8de298e17b res_ari_playback: Add missing 404 error response for GET and DELETE.
(closes issue ASTERISK-22722)
Reported by: Richard Mudgett


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@402139 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-10-29 11:15:16 +00:00
Richard Mudgett ca09cb657c res_stasis.c: Made use the ao2_container callback templates.
* Made res_stasis.c use the OBJ_SEARCH_XXX defines.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@402055 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-10-26 00:34:25 +00:00
Richard Mudgett d1e6a11deb You'd think that new files would be free of whitespace issues. But you would be wrong.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@402003 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-10-25 22:02:31 +00:00
Jonathan Rose 0bdbdbf3fc ARI: channel/bridge recording errors when invalid format specified
Asterisk will now issue 422 if recording is requested against channels
or bridges with an unknown format

(closes issue ASTERISK-22626)
Reported by: Joshua Colp
Review: https://reviewboard.asterisk.org/r/2939/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@402001 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-10-25 21:53:31 +00:00
Jonathan Rose f503fc5673 ARI recordings: Issue HTTP failures for recording requests with file conflicts
If a file already exists in the recordings directory with the same name as what
we would record, issue a 422 instead of relying on the internal failure and
issuing success.

(closes issue ASTERISK-22623)
Reported by: Joshua Colp
Review: https://reviewboard.asterisk.org/r/2922/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@401973 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-10-25 21:20:42 +00:00
Jonathan Rose 155ba34659 PJSIP: Add log messages when requests are received for non-existent endpoints
(closes issue ASTERISK-22552)
Reported by: Rusty Newton
Review: https://reviewboard.asterisk.org/r/2934/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@401938 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-10-25 17:34:30 +00:00
Jonathan Rose ac7cd94477 res_rtp_asterisk: Address jittery DTMF events in RTP streams
(closes issue ASTERISK-21170)
Reported by: NITESH BANSAL
Patches:
    dtmf-timestamp.patch uploaded by NITESH BANSAL (license 6418)
Review: https://reviewboard.asterisk.org/r/2938/
........

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

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@401621 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-10-23 17:45:36 +00:00
Matthew Jordan d8bda6cf59 res_rtp_asterisk: Fix crash when RTCP is not available during SSRC change
In r400089, a patch was put in to correct erroneous RTCP statistic resets.
Unfortunately, ast_rtp_read can be called on an RTP instance that does not
have RTCP information. This patch prevents that crash by only resetting
the statistics if we do actually have an RTCP instance.

(issue AST-1174)

(closes issue ASTERISK-22667)
Reported by: John Bigelow
........

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

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@401447 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-10-22 22:50:23 +00:00
Richard Mudgett 420b5e27db res_parking: Give parking timeout comebacktoorigin channel DTMF features.
Parking timeouts did not set any DTMF features for the channel calling the
parker back.

* Added code to set the parkedcalltransfers, parkedcallreparking,
parkedcallhangup, and parkedcallrecording options appropriately for the
channels when a parking timeout occurs.  The recall channel DTMF options
are set using the BRIDGE_FEATURES channel variable to allow the other
timeout options to have the DTMF features available.

(closes issue ASTERISK-22630)
Reported by: Kevin Harwell

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@401422 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-10-22 16:32:23 +00:00
Richard Mudgett 51adbac546 res_parking: Update XML documention for DTMF features after parking timeout.
* Updated the XML documentation to indicate that the parkedcalltransfers,
parkedcallreparking, parkedcallhangup, and parkedcallrecording
configuration options also apply to parking timeouts.

(issue ASTERISK-22630)
Reported by: Kevin Harwell

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@401420 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-10-22 16:26:20 +00:00
Joshua Colp abcc1c0c15 Return a channel snapshot when originating using ARI, and subscribe the Stasis application to it.
This change allows a user of ARI to know what channel it has originated and also follow any
progress. If a Stasis application is provided it will be automatically subscribed to the
originated channel immediately.

(closes issue ASTERISK-22485)
Reported by: David Lee

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@401281 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-10-19 14:43:41 +00:00
Richard Mudgett 0b00869558 res_parking: Remove setting useless flag.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@401271 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-10-18 22:51:26 +00:00
Richard Mudgett aa4e8c4ab3 Add channel lock protection around translation path setup.
Most callers of ast_channel_make_compatible() happen before the channels
enter a two party bridge.  With the new bridging framework, two party
bridging technologies may also call ast_channel_make_compatible() when
there is more than one thread involved with the two channels.

* Added channel lock protection in set_format() and
ast_channel_make_compatible_helper() when dealing with the channel's
native formats while setting up a translation path.

* Fixed best_src_fmt and best_dst_fmt usage consistency in
ast_channel_make_compatible_helper().  The call to
ast_translator_best_choice() got them backwards.

* Updated some callers of ast_channel_make_compatible() and the function
documentation.  There is actually a difference between the two channels
passed in.

* Fixed the deadlock potential in res_fax.c dealing with
ast_channel_make_compatible().  The deadlock potential was already there
anyway because res_fax called ast_channel_make_compatible() with chan
locked.

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

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@401239 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-10-18 16:52:32 +00:00
Jonathan Rose 990e413335 res_parking: Fix bug where reloading immediately wipes new parkpos extensions
(closes issue ASTERISK-22631)
Reported by: Kevin Harwell


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@401158 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-10-17 18:16:33 +00:00
Kinsey Moore 766dc7c765 Reduce log level of a non-pubsub error message
Drop an error log message to debug level 1 since distributed device
state functions correctly when receiving this message and it spams the
logs.

(closes issue ASTERISK-22410)
Reported by: abelbeck
Patches:
    asterisk-1.8-res_jabber-log-nonpubsub-error-to-debug.patch uploaded by abelbeck (License 5903)
    asterisk-11-res_xmpp-log-nonpubsub-error-to-debug.patch uploaded by abelbeck (License 5903)
........

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

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@401121 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-10-17 15:40:20 +00:00
Richard Mudgett ec516d1896 ARI: Fix crash when POST /playback/{id}/control does not have an operation parameter.
(closes issue ASTERISK-22680)
Reported by: John Bigelow


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@401107 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-10-16 21:20:21 +00:00