[asterisk-users] Dynamic Call parking

Jonas Kellens jonas.kellens at telenet.be
Thu Jul 3 07:49:50 CDT 2014


Hello,

I know now after some testing that there is no dynamic call parking. 
Also explains why you find no example when searching the internet : no 
one has a working example.

I have now the following working case :

features.conf :

[general]
parkeddynamic = yes

[parkinglot_770000]
findslot => first


dialplan :

[Jul  3 13:47:50]     -- Executing [891 at from-770000:4] 
NoOp("SIP/SipT01-00000000", "") in new stack
[Jul  3 13:47:50]     -- Executing [891 at from-770000:5] 
Set("SIP/SipT01-00000000", "PARKINGDYNEXTEN=891") in new stack
[Jul  3 13:47:50]     -- Executing [891 at from-770000:6] 
Set("SIP/SipT01-00000000", "PARKINGDYNPOS=890-891") in new stack
[Jul  3 13:47:50]     -- Executing [891 at from-770000:7] 
Set("SIP/SipT01-00000000", "PARKINGDYNCONTEXT=parked_770000") in new stack
[Jul  3 13:47:50]     -- Executing [891 at from-770000:8] 
Park("SIP/SipT01-00000000", "40000,,,,,parkinglot_770000") in new stack
[Jul  3 13:47:50]     -- Registered extension context 'parked_770000'; 
registrar: features
[Jul  3 13:47:50]     -- Added extension '891' priority 1 to parked_770000
[Jul  3 13:47:50]     -- Added extension '890' priority -1 to parked_770000
[Jul  3 13:47:50]     -- Added extension '891' priority -1 to parked_770000
[Jul  3 13:47:50]   == Parked SIP/SipT01-00000000 on 890 (lot 
parkinglot_770000). Will timeout back to extension [from-770000] s, 1 in 
40 seconds
[Jul  3 13:47:50]     -- Added extension '890' priority 1 to parked_770000


Remarks :

The park position (890) is not announced, so you have no idea.

PARKINGDYNEXTEN does nothing, could not find out what it is for.
PARKINGDYNPOS creates parking positions, but if you change this in the 
dialplan, there is no dynamical change in the parkinglot. You need to 
restart Asterisk for changes to take effect.
PARKINGDYNCONTEXT dynamically creates a context for hints, but don't 
understand fully what else it is for.

The function Park() when using it without extra parameters always seems 
to park in the default (defining PARKINGDYNAMIC, PARKINGEXTEN, 
PARKINGDYNEXTEN, PARKINGDYNPOS, PARKINGDYNCONTEXT changes nothing)

When you use the function Park() with the parking lot parameter (here : 
parkinglot_770000) then this context for parking calls is used ! So this 
works (as you can see in the dialplan)

For every change you make in the dialplan (say you change 
PARKINGDYNCONTEXT=parked_707070) , you need to restart Asterisk to take 
effect. Unless you restart Asterisk, calls stay in the context 
parked_707070. A simple 'reload' makes no changes. Nothing dynamic here.


Hints :

Hints are automatically created if you use 'parkinghints = yes' but you 
need to issue a 'dialplan reload' AFTER the first call is parked because 
before a call has been parked, the context is not created inside the 
dialplan.
So if you include for example the context [parked_770000] you will get 
an error when you issue a 'dialplan reload'' because you try to include 
a context that does not exist (it will exist once you have at least 
parked 1 call)



My conclusion : Call Parking still remains very static. Creating call 
parking inside the dialplan is not possible, you still need to use 
features.conf and restart Asterisk after every change.



Kind regards,
Jonas.


On 03-07-14 03:05, Richard Mudgett wrote:
>
>
>
> On Wed, Jul 2, 2014 at 4:39 AM, Jonas Kellens 
> <jonas.kellens at telenet.be <mailto:jonas.kellens at telenet.be>> wrote:
>
>     Hello,
>
>     I am trying to create a dynamic call parking lot using
>     https://wiki.asterisk.org/wiki/display/AST/Application_Park
>
>     But this manual is not enough to fix my problem : Asterisk keeps
>     trying to park the call in the default parking lot :
>
>
>     [Jul  2 11:32:14]     -- Executing [3333 at from-770000:5]
>     Set("SIP/testacc77000-00000002", "PARKINGDYNAMIC=parkinglot_test")
>     in new stack
>     [Jul  2 11:32:14]     -- Executing [3333 at from-770000:6]
>     Set("SIP/testacc77000-00000002", "PARKINGEXTEN=3300") in new stack
>     [Jul  2 11:32:14]     -- Executing [3333 at from-770000:7]
>     Set("SIP/testacc77000-00000002", "PARKINGDYNEXTEN=110") in new stack
>     [Jul  2 11:32:14]     -- Executing [3333 at from-770000:8]
>     Set("SIP/testacc77000-00000002", "PARKINGDYNPOS=111-120") in new stack
>     [Jul  2 11:32:14]     -- Executing [3333 at from-770000:9]
>     Set("SIP/testacc77000-00000002",
>     "PARKINGDYNCONTEXT=contextfromtestpark") in new stack
>     [Jul  2 11:32:14]     -- Executing [3333 at from-770000:10]
>     Park("SIP/testacc77000-00000002", "") in new stack
>     [Jul  2 11:32:14] WARNING[28618]: features.c:1291
>     park_space_reserve: PARKINGEXTEN=3300 is not in default (701-750).
>     [Jul  2 11:32:14]     -- <SIP/testacc77000-00000002> Playing
>     'pbx-parkingfailed.alaw' (language 'nl')
>
>
>     I have the following in features.conf :
>
>     [parkinglot_test]
>     context => testparkinglot
>     findslot => next
>
>
> This parking lot is invalid because it does not have any defined 
> parking spaces.  As
> a result it does not exist.  Check you log for error messages when 
> Asterisk loaded.
> Alternately, you can issue the CLI "module reload features" command 
> and see the errors.
>
> Only the default parking lot has default parking spaces defined.  All 
> other parking lots
> configured in features.conf must specify the parking spaces.
>
>
>
>     I read that [parkinglot_test] will be used as a template to create
>     the dynamic call park. So all necessary parameters are given
>     inside the dialplan (PARKINGDYNAMIC, PARKINGEXTEN,
>     PARKINGDYNEXTEN, PARKINGDYNPOS, PARKINGDYNCONTEXT).
>
>
>     So why does Asterisk always uses the default ? I clearly create
>     the dynamic call park inside the dialplan.
>
>
> {quote}
> If you set the |PARKINGDYNAMIC| variable and this parking lot exists 
> then it will be used as
> a template for the newly created dynamic lot. Otherwise, the default 
> parking lot will be used.
> {quote}
>
> Since parkinglot_test does not exist due to a configuration error, the 
> default parking lot is used.
>
> Richard
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20140703/7f4f1a68/attachment.html>


More information about the asterisk-users mailing list