summaryrefslogtreecommitdiff
path: root/images
diff options
context:
space:
mode:
authorMatthew Jordan <mjordan@digium.com>2013-06-28 15:50:56 +0000
committerMatthew Jordan <mjordan@digium.com>2013-06-28 15:50:56 +0000
commit6cc03db6426b70dce47471a20ab5d42f163dc419 (patch)
treef4c1c79573c63e00ef165e4784a6b806e1634593 /images
parentf6211b6b70414499878afd8101be6018dc08ec6a (diff)
Better handle parking in CDRs
Parking typically occurs when a channel is transferred to a parking extension. When this occurs, the channel never actually hits the dialplan if the extension it was transferred to was a "parking extension", that is, the extension in the first priority calls the Park application. Instead, the channel is immediately sent into the holding bridge acting as the parking bridge. This is problematic. Because we never go out to the dialplan, the CDRs won't transition properly and the application field will not be set to "Park". CDRs typically swallow holding bridges, so the CDR itself won't even be generated. This patch handles this by pulling out the holding bridge handling into its own CDR state. CDRs now have an explicit parking state that accounts for this specific subclass of the holding bridge. In addition, we handle the parking stasis message to set application specific data on the CDR such that the last known application for the CDR properly reflects "Park". This is a bit sad since we're working around the odd internal implementation of parking that exists in Asterisk (and that we had to maintain in order to continue to meet some odd use cases of parking), but at least the code to handle that is where it belongs: in CDRs as opposed to sprinkled liberally throughout the codebase. This patch also properly clears the OUTBOUND channel flag from a channel when it leaves a bridge, and tweaks up dialing handling to properly compare the correct CDR with the channel calling/being dialed. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@393130 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'images')
0 files changed, 0 insertions, 0 deletions