switch from &quot;global variables&quot; to &quot;group funcions&quot;. It's much more functional.<br>Basically, you can set a group for an incoming channel, and count &quot;group instances&quot; across all channels. No necessity to decrement a variable, because group setting is channel dependent, so disappear when given channel is hangup.
<br><br>Search for GROUP() and GROUP_COUNT() functions on <a href="http://www.voip-info.org">http://www.voip-info.org</a><br><br>It's a thing like this:<br><br>exten =&gt; 33006712,1,GotoIf($[${GROUP_COUNT(LINES)} &gt;= 10]?101:201)
<br><br>exten =&gt; 33006712,101,Dial(mISDN/g:E1/34507725)<br><br>exten =&gt; 33006712,201,Set(GROUP()=LINES)<br><div style="direction: ltr;">exten =&gt; 33006712,202,Dial(SIP/192.168.0.65:5080&amp;SIP/192.168.0.65:5090)<br>
</div><br>Basically, in priority 201 you set the group named &quot;LINES&quot; for that channel before dialing your sip phone.<br>In priority 1, instead, you check your &quot;used lines counter&quot; getting the number of active asterisk channels having group set to &quot;LINES&quot;.
<br><br>that's all<br><br><div><span class="gmail_quote">2006/5/22, Christophorus Laube &lt;<a href="mailto:bob@semanticedge.de">bob@semanticedge.de</a>&gt;:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi there,<br><br>I want to set up an extension set that acts different depending on the count<br>of used lines. I have a EuroISDN E1 board with mISDN and I only want to offer<br>10 lines. Therefore I set up a global variables LINES in the general section
<br>of extensions.conf and instantiate it with 0. I a call is incoming I check<br>the LINES variable wether is 10 or more. If so I make a call transfer. If not<br>I increment the variable and direct the call to an internal SIP address.
<br>After finishing the call I want to decrement the variable again, of course.<br>My extension set looks like this way:<br><br>[general]<br>static=yes<br>writeprotect=no<br>LINES =&gt; 0<br><br>[E1]<br>exten =&gt; 33006712,1,GotoIf($[${LINES} &gt;= 10]?101:201)
<br><br>exten =&gt; 33006712,101,Dial(mISDN/g:E1/34507725)<br><br>exten =&gt; 33006712,201,SetGlobalVar(LINES=$[ ${LINES} +1 ])<br>exten =&gt; 33006712,202,Dial(SIP/192.168.0.65:5080&amp;SIP/192.168.0.65:5090)<br>exten =&gt; 33006712-ANSWER,203,Answer()
<br>exten =&gt; 33006712-HANGUP,204,SetGlobalVar(LINES=$[ ${LINES} -1])<br>exten =&gt; 33006712,205,SetGlobalVar(LINES=$[ ${LINES} -1 ])<br>exten =&gt; 33006712,206,Hangup()<br><br>My problem is that the increment works perfectly, but the decrement is not
<br>working. I added the last two extensions only because the hangup-extension<br>did not work.<br>Can anyone of you help me, please.<br><br>TIA, Christophorus Laube<br>_______________________________________________<br>--Bandwidth and Colocation provided by 
<a href="http://Easynews.com">Easynews.com</a> --<br><br>Asterisk-Users mailing list<br>To UNSUBSCRIBE or update options visit:<br>&nbsp;&nbsp; <a href="http://lists.digium.com/mailman/listinfo/asterisk-users">http://lists.digium.com/mailman/listinfo/asterisk-users
</a><br></blockquote></div><br>