<span style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt"><span style="font-family: tahoma,arial,sans-serif; font-size: 10pt;"><hr width="100%" size="2" align="center" />
<b>From</b>: "Phil Frost" &lt;phil@macprofessionals.com&gt;<br />
<b>Sent</b>: Thursday, February 23, 2012 4:39 PM<br />
<b>To</b>: "Asterisk Users Mailing List - Non-Commercial Discussion" &lt;asterisk-users@lists.digium.com&gt;<br />
<b>Subject</b>: Re: [asterisk-users] Rejecting transfers to in-use parking spaces</span><br />
<br />
On Feb 23, 2012, at 16:32 , Richard Mudgett wrote:<br />
&gt;&gt; exten =&gt; _*70[123],1,NoOp(parking in ${EXTEN:1})<br />
&gt;&gt; same =&gt; n,Set(PARKINGEXTEN=${EXTEN:1})<br />
&gt;&gt; same =&gt;<br />
&gt;&gt; n,GotoIf(${DEVICE_STATE(park:${PARKINGEXTEN}@parkedcalls)}=INUSE?busy)<br />
&gt;&gt; same =&gt; n,Park()<br />
&gt;&gt; same =&gt; n(busy),Busy()<br />
&gt;&gt; <br />
&gt;&gt; What I'm hoping to<br />
&gt;&gt; accomplish is have Asterisk respond to the Sip REFER to *701 with a<br />
&gt;&gt; 404 or similar response; if Asterisk can do this, then the Snom will<br />
&gt;&gt; say "transfer failed!".<br />
<br />
&gt; The dialplan device state check above is not always going to work<br />
&gt; because another call could park in that space between the check<br />
&gt; and the actual park. [...]<br />
&gt; <br />
&gt; Please note that for Asterisk to detect an extension as a parking<br />
&gt; extension, the first priority of the extension must be the park<br />
&gt; application. If the park application is not the first priority of<br />
&gt; the extension, then the transfer is treated as a normal transfer.<br />
<br />
<br />
Hmm. Well, I could live with that race condition. Our call volume is low enough that the odds of hitting it acceptably low.<br />
<br />
I'm not entirely sure what it means for Asterisk to detect an extension as a parking extension. Can you please explain how a parking transfer is different than a normal transfer?<br />
<br />
--<br />
_____________________________________________________________________<br />
<br />
I was working on this today. I have it figured out but I don't have simple dialplan code I can share as we are doing a lot of external db and script calls to make ours work with our realtime stuff.&nbsp;We also are using the Dynamic Parking stuff as well I pulled that out to simplify things. <br />
<br />
<span lang="EN">
<p>[DoPark-Pickup-BlindPark]</p>
<p>exten =&gt; s,1,NoOp(Dynamic Parking Pickup)<br />
exten =&gt; s,n,NoOp(Return Parked Call)<br />
exten =&gt; s,n,GoToIf($[${LEN(${BLINDTRANSFER})} &gt; 0]?doParkAttempt,1)</p>
<p>exten =&gt; s,n,ParkedCall( PLACE DIALED EXTENSION VARIABLE HERE)</p>
<p>exten =&gt; doParkAttempt,1,NoOp(Attempt To Park)<br />
Place logic to parse the ${BLINDTRANSFER}&nbsp; to get the return to extension </p>
<p>exten =&gt; doParkAttempt,n,Set(PARKINGLOT="Your Lot or var to handle the lot")<br />
exten =&gt; doParkAttempt,n,Set(PARKINGEXTEN=( PLACE DIALED EXTENSION VARIABLE HERE))&nbsp;<br />
exten =&gt; doParkAttempt,n,Park(time out, return_context, return_ext, return priority, s)<br />
<br />
If park fails return the call back to your return context, exten, priotiry<br />
<br />
exten =&gt; doParkAttempt,n,Goto(return_context,return,ext, return priority) <br />
<br />
Good luck<br />
Bryant</p>
</span>exten =&gt; doParkAttempt,n,Goto(return_context,return,ext, return priority) Good luckBryant</span>