[Home]

Summary:ASTERISK-15419: [patch] ParkAndAnnounce() Does Not Seem To Respect Multiple Parking Lots
Reporter:Michael Wyres (mwyres)Labels:
Date Opened:2010-01-12 17:45:14.000-0600Date Closed:2010-03-10 15:01:22.000-0600
Priority:MajorRegression?No
Status:Closed/CompleteComponents:Applications/app_parkandannounce
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) bug_16592.diff
Description:When trying to set a target parking lot for use with ParkAndAnnounce() using ${PARKINGLOT} and ${CHANNEL(parkinglot)}, ParkAndAnnounce() does not appear to respect these settings in the same way that Park() does.


****** ADDITIONAL INFORMATION ******

Relevant sections from features.conf:

[general]
parkext => 700
parkpos => 701-799
findslot => next

[featuremap]

[applicationmap]

[parkinglot_customer1]
context => customer1park
parkpos => 800-850
findslot => next



Relevant sections from extensions.conf:

[customer1-parking]
exten => _X.,1,NoOp(Parking call for customer1...)
exten => _X.,2,Set(PARKINGLOT=parkinglot_customer1)
exten => _X.,3,Set(CHANNEL(parkinglot)=parkinglot_customer1)
exten => _X.,4,ParkAndAnnounce(PARKED:call-waiting,60,Local/${EXTEN}@customer1)
exten => _X.,5,Hangup()


Call gets parked, call back works, but the call is parked in the default lot.  If line 4 of the dialplan is replaced with:

exten => _X.,4,Park()

...the call is parked in the correct lot (ie: parkinglot_customer1)

Clearly, Park() respects the settings, and ParkAndAnnounce() does not, in this instance.
Comments:By: Leif Madsen (lmadsen) 2010-01-13 09:14:18.000-0600

This is likely a feature request, so I'm marking it as such, however, I'm not going to close it because I think it is probably expected behaviour for ParkAndAnnounce() to work the same as Park() in terms of multiple parking lots. I'm leaving this open for now until someone else trumps me :)

By: Michael Wyres (mwyres) 2010-01-13 16:39:34.000-0600

Would definitely be extremely useful to get this one sorted out - they way our solution is architected for multi-tenancy, calls are parked onto a different server than which the user/phone is registered, so being able to split calls into different parking lots is crucial - being on a different server, using ParkAndAnnounce allows the callback to be placed back to the right user by passing the call (via DUNDi) back to a server the user lives on.

By: snuffy (snuffy) 2010-01-25 15:40:44.000-0600

This is the 'sledgehammer' approach, another is to create a 'link' between app_parkandannounce.c and features.c.

This involves setting the 'lot' number passed to ast_masq_park_call() to be -99 and then in park_space_reserve check for that 'lot' number and try to find the ${PAARKINGLOT} / ${CHANNEL(PARKINGLOT)} on 'chan' not just 'peer'

By: Michael Wyres (mwyres) 2010-02-02 16:06:34.000-0600

I have tested this now with both 1.6.2.0 and 1.6.1.12 (which I have also been using, and found to have the same issue), and this patch appears to work, and correctly places calls in the defined parking lots.

By: Digium Subversion (svnbot) 2010-03-10 14:51:24.000-0600

Repository: asterisk
Revision: 251679

U   trunk/main/features.c

------------------------------------------------------------------------
r251679 | jpeeler | 2010-03-10 14:51:23 -0600 (Wed, 10 Mar 2010) | 13 lines

Fix ParkAndAnnounce not respecting parking options.

The patch ensures that if a peer does not exist, parking settings are read from
the channel. A unit test has been written to ensure proper operation for both
standard parking and parking using masquerades.

(closes issue ASTERISK-15419)
Reported by: mwyres
Patches:
     bug_16592.diff uploaded by snuffy (license 35)

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

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=251679

By: Digium Subversion (svnbot) 2010-03-10 14:53:56.000-0600

Repository: asterisk
Revision: 251681

_U  branches/1.6.0/

------------------------------------------------------------------------
r251681 | jpeeler | 2010-03-10 14:53:56 -0600 (Wed, 10 Mar 2010) | 19 lines

Blocked revisions 251679 via svnmerge

........
 r251679 | jpeeler | 2010-03-10 14:51:23 -0600 (Wed, 10 Mar 2010) | 13 lines
 
 Fix ParkAndAnnounce not respecting parking options.
 
 The patch ensures that if a peer does not exist, parking settings are read from
 the channel. A unit test has been written to ensure proper operation for both
 standard parking and parking using masquerades.
 
 (closes issue ASTERISK-15419)
 Reported by: mwyres
 Patches:
       bug_16592.diff uploaded by snuffy (license 35)
 
 Review: https://reviewboard.asterisk.org/r/539/
........

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=251681

By: Digium Subversion (svnbot) 2010-03-10 14:59:02.000-0600

Repository: asterisk
Revision: 251684

_U  branches/1.6.1/
U   branches/1.6.1/main/features.c

------------------------------------------------------------------------
r251684 | jpeeler | 2010-03-10 14:59:02 -0600 (Wed, 10 Mar 2010) | 20 lines

Merged revisions 251679 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
 r251679 | jpeeler | 2010-03-10 14:51:23 -0600 (Wed, 10 Mar 2010) | 13 lines
 
 Fix ParkAndAnnounce not respecting parking options.
 
 The patch ensures that if a peer does not exist, parking settings are read from
 the channel. A unit test has been written to ensure proper operation for both
 standard parking and parking using masquerades.
 
 (closes issue ASTERISK-15419)
 Reported by: mwyres
 Patches:
       bug_16592.diff uploaded by snuffy (license 35)
 
 Review: https://reviewboard.asterisk.org/r/539/
........

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=251684

By: Digium Subversion (svnbot) 2010-03-10 15:01:21.000-0600

Repository: asterisk
Revision: 251685

_U  branches/1.6.2/
U   branches/1.6.2/main/features.c

------------------------------------------------------------------------
r251685 | jpeeler | 2010-03-10 15:01:21 -0600 (Wed, 10 Mar 2010) | 20 lines

Merged revisions 251679 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
 r251679 | jpeeler | 2010-03-10 14:51:23 -0600 (Wed, 10 Mar 2010) | 13 lines
 
 Fix ParkAndAnnounce not respecting parking options.
 
 The patch ensures that if a peer does not exist, parking settings are read from
 the channel. A unit test has been written to ensure proper operation for both
 standard parking and parking using masquerades.
 
 (closes issue ASTERISK-15419)
 Reported by: mwyres
 Patches:
       bug_16592.diff uploaded by snuffy (license 35)
 
 Review: https://reviewboard.asterisk.org/r/539/
........

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=251685