Posted: Wed Apr 29, 2009 2:52 pm Post subject: [asterisk-dev] Bounty for parking on @
I'd like to offer a bounty for a feature for Asterisk where an AGI
program can park and retrieve calls on parking slots that are of the
form <slot>@<context>, where <slot> is a number and <context> is an
arbitrary string.
Asterisk will not choose a slot; the AGI program will always specify
which exact slot and context to use. The AGI will keep track of which to
use in its own database. It's acceptable for Asterisk to return an error
if the AGI tries to park on a slot that's already in use. If you want to
implement automatic choosing of slots for the benefit of other Asterisk
users that's fine, but our code will always specify which slot to use
and your code must at least have an option to allow this.
It must not be necessary to pre-define either slots or contexts in
Asterisk configuration files. It must be completely dynamic for the AGI
to choose at run-time.
The call flow should work as follows:
1. A call comes in from an external number.
2. Asterisk passes control to the AGI.
3. The AGI does a Dial() with the "t" option to a SIP phone on a remote
SIP registrar.
4. The destination transfers the call using # or its own transfer
button. The # for the transfer should be the only thing in this call
flow that's set in the Asterisk configuration files.
5. The transfer call comes back to the AGI, which decides that the
transferrer wants to park the call. Each transferring phone may have a
different code to park calls, so this is configured in the AGI's
database rather than Asterisk's features.conf.
6. The AGI instructs Asterisk to park the original inbound call on
<slot>@<context>.
7. Asterisk does this, and reads <slot> to the transferring phone.
8. The transferring phone hangs up.
9. Another telephone calls a number to pick up the parked call that goes
to the AGI. This number may be <slot> or it may not. For example, a user
may have *99<slot> configured in the AGI's database to pick up parked
calls. Only the AGI should care about this.
10. The AGI instructs Asterisk to connect this call with the call parked
on <slot>@<context>.
Steps 1, 2, 3, 4, 5, 8, and 9 already exist. Steps 6, 7, and 10 need
written. I'm also open to other ideas for call flows; please discuss
with me before starting work however.
If anyone would like to write this, and it gets accepted into the
Asterisk subversion repository for a future Asterisk version,
Integrics is willing to pay a bounty of USD 500, payable by PayPal.
Posted: Wed Apr 29, 2009 6:59 pm Post subject: [asterisk-dev] Bounty for parking on @
On Wed, 2009-04-29 at 16:39 +0100, Alistair Cunningham wrote:
Quote:
I'd like to offer a bounty for a feature for Asterisk where an AGI
program can park and retrieve calls on parking slots that are of the
form <slot>@<context>, where <slot> is a number and <context> is an
arbitrary string.
I was halfway through writing an email that stated that this
functionality is already available via the Park() dialplan application.
Unfortunately, there appear to be some bugs in the implementation, which
I've documented on the bug tracker [1]. Let me document what I was able
to figure out so far:
To quote the built-in help on that application:
If you set the PARKINGEXTEN variable to an extension in your
parking context, Park() will park the call on that extension,
unless it already exists. In that case, execution will continue
at next priority.
So, that part works today. Combine that with the ability of having
multiple parking lots (available in 1.6.1 and later), and you *should*
have what you need to accomplish your goal.
The problem is that I can't find any way of reliably parking a call in a
non-default parking lot. The sample features.conf file in Asterisk
1.6.1 says:
; You can set parkinglot with the CHANNEL dialplan function
Unfortunately, this doesn't work for me. The code would also suggest
that the Park() application might look at a channel variable named
PARKINGLOT, but that doesn't work either.
As I stated earlier, I've filed a bug on the bug tracker [1], and
hopefully a developer will find time soon to take a look and fix the
problem.
Posted: Wed Apr 29, 2009 8:02 pm Post subject: [asterisk-dev] Bounty for parking on @
Jared Smith wrote:
Quote:
On Wed, 2009-04-29 at 16:39 +0100, Alistair Cunningham wrote:
> I'd like to offer a bounty for a feature for Asterisk where an AGI
> program can park and retrieve calls on parking slots that are of the
> form <slot>@<context>, where <slot> is a number and <context> is an
> arbitrary string.
I was halfway through writing an email that stated that this
functionality is already available via the Park() dialplan application.
Unfortunately, there appear to be some bugs in the implementation, which
I've documented on the bug tracker [1]. Let me document what I was able
to figure out so far:
To quote the built-in help on that application:
If you set the PARKINGEXTEN variable to an extension in your
parking context, Park() will park the call on that extension,
unless it already exists. In that case, execution will continue
at next priority.
So, that part works today. Combine that with the ability of having
multiple parking lots (available in 1.6.1 and later), and you *should*
have what you need to accomplish your goal.
The problem is that I can't find any way of reliably parking a call in a
non-default parking lot. The sample features.conf file in Asterisk
1.6.1 says:
; You can set parkinglot with the CHANNEL dialplan function
Unfortunately, this doesn't work for me. The code would also suggest
that the Park() application might look at a channel variable named
PARKINGLOT, but that doesn't work either.
As I stated earlier, I've filed a bug on the bug tracker [1], and
hopefully a developer will find time soon to take a look and fix the
problem.
Thank you, but unfortunately this still doesn't meet the requirements as
the "edvinapark" context in your example needs to be defined in the
Asterisk configuration files. For a hosted PBX system with hundreds of
thousands of users (which is what this is for), that's not going to scale.
Posted: Wed Apr 29, 2009 8:07 pm Post subject: [asterisk-dev] Bounty for parking on @
On Wed, 29 Apr 2009, Alistair Cunningham wrote:
Quote:
Jared,
Thank you, but unfortunately this still doesn't meet the requirements as
the "edvinapark" context in your example needs to be defined in the
Asterisk configuration files. For a hosted PBX system with hundreds of
thousands of users (which is what this is for), that's not going to scale.
So for a system with hundreds of thousands of users you want to offer a
bounty of $500? Pretty cheap!
j
_______________________________________________
--Bandwidth and Colocation Provided by http://www.api-digital.com--
Posted: Wed Apr 29, 2009 8:16 pm Post subject: [asterisk-dev] Bounty for parking on @
Jeff LaCoursiere wrote:
Quote:
So for a system with hundreds of thousands of users you want to offer a
bounty of $500? Pretty cheap!
I've offered a bounty of $1000 for a larger development item in the
past, and had around 10 developers offer their services. I think it
likely someone will bite at $500.
Posted: Wed Apr 29, 2009 9:36 pm Post subject: [asterisk-dev] Bounty for parking on @
On Wed, 2009-04-29 at 21:53 +0100, Alistair Cunningham wrote:
Quote:
Thank you, but unfortunately this still doesn't meet the requirements as
the "edvinapark" context in your example needs to be defined in the
Asterisk configuration files. For a hosted PBX system with hundreds of
thousands of users (which is what this is for), that's not going to scale.
I'm sorry that wouldn't work for you... On a related note, I did get the
multiple parking lots working on my system, and was able to set the
parking lot dynamically using either the CHANNEL dialplan function or
the PARKINGLOT channel variable (in Asterisk 1.6.1.0). It turns out the
problems I was encountering were entirely located between my keyboard
and chair.
So, to make a long story short, essentially what you need is dynamic
parking lots (that don't have to be created in features.conf).
--
Jared Smith
Training Manager
Digium, Inc.
_______________________________________________
--Bandwidth and Colocation Provided by http://www.api-digital.com--
Posted: Wed Apr 29, 2009 10:08 pm Post subject: [asterisk-dev] Bounty for parking on @
Jared Smith wrote:
Quote:
On Wed, 2009-04-29 at 21:53 +0100, Alistair Cunningham wrote:
> Thank you, but unfortunately this still doesn't meet the requirements as
> the "edvinapark" context in your example needs to be defined in the
> Asterisk configuration files. For a hosted PBX system with hundreds of
> thousands of users (which is what this is for), that's not going to scale.
I'm sorry that wouldn't work for you... On a related note, I did get the
multiple parking lots working on my system, and was able to set the
parking lot dynamically using either the CHANNEL dialplan function or
the PARKINGLOT channel variable (in Asterisk 1.6.1.0). It turns out the
problems I was encountering were entirely located between my keyboard
and chair.
So, to make a long story short, essentially what you need is dynamic
parking lots (that don't have to be created in features.conf).
Jared,
Thank you very much for your testing; I think that could form the basis
of a solution. If someone would like to take the features you've
described and make them fully dynamic, I'd be very happy to pay them the
bounty.
I'd like to offer a bounty for a feature for Asterisk where an AGI
program can park and retrieve calls on parking slots that are of the
form <slot>@<context>, where <slot> is a number and <context> is an
arbitrary string.
Asterisk will not choose a slot; the AGI program will always specify
which exact slot and context to use. The AGI will keep track of which to
use in its own database. It's acceptable for Asterisk to return an error
if the AGI tries to park on a slot that's already in use. If you want to
implement automatic choosing of slots for the benefit of other Asterisk
users that's fine, but our code will always specify which slot to use
and your code must at least have an option to allow this.
It must not be necessary to pre-define either slots or contexts in
Asterisk configuration files. It must be completely dynamic for the AGI
to choose at run-time.
The call flow should work as follows:
1. A call comes in from an external number.
2. Asterisk passes control to the AGI.
3. The AGI does a Dial() with the "t" option to a SIP phone on a remote
SIP registrar.
4. The destination transfers the call using # or its own transfer
button. The # for the transfer should be the only thing in this call
flow that's set in the Asterisk configuration files.
5. The transfer call comes back to the AGI, which decides that the
transferrer wants to park the call. Each transferring phone may have a
different code to park calls, so this is configured in the AGI's
database rather than Asterisk's features.conf.
6. The AGI instructs Asterisk to park the original inbound call on
<slot>@<context>.
7. Asterisk does this, and reads <slot> to the transferring phone.
8. The transferring phone hangs up.
9. Another telephone calls a number to pick up the parked call that goes
to the AGI. This number may be <slot> or it may not. For example, a user
may have *99<slot> configured in the AGI's database to pick up parked
calls. Only the AGI should care about this.
10. The AGI instructs Asterisk to connect this call with the call parked
on <slot>@<context>.
Steps 1, 2, 3, 4, 5, 8, and 9 already exist. Steps 6, 7, and 10 need
written. I'm also open to other ideas for call flows; please discuss
with me before starting work however.
If anyone would like to write this, and it gets accepted into the
Asterisk subversion repository for a future Asterisk version,
Integrics is willing to pay a bounty of USD 500, payable by PayPal.
_______________________________________________
--Bandwidth and Colocation Provided by http://www.api-digital.com--
Posted: Mon May 11, 2009 9:03 am Post subject: [asterisk-dev] Bounty for parking on @
Hi!
I have partially done this work, but at this moment parkinglots created dynamically on base of configured in features.conf or default settings. Also some new variables introduced, that needed for dynamically creation of parkinglots. That new variables:
PARKINGDYNAMIC - name of parkinglot in features.conf, that used as base for dynamic one
PARKINGDYNCONTEXT - context using for parking
PARKINGDYNPOS - range of extensions using for parking
[parkinglot_edvina]
context => edvinapark
parkpos => 800-850
findslot => next
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum