<p dir="ltr">Em 17/06/2013 15:52, &quot;Daniel Feliciano&quot; &lt;<a href="mailto:danielfelicianoseg@hotmail.com">danielfelicianoseg@hotmail.com</a>&gt; escreveu:<br>
&gt;<br>
&gt; Boa tarde lista, <br>
&gt; estou com a seguinte situacao, teria a principio 4 linhas onde posso estar recebendo ligacao em qualquer delas simultaneas, porem precisaria que quando alguem ligasse para um numero, automaticamente bloqueasse as outras 3 linhas até que a linha em uso fosse liberada.<br>

&gt;  <br>
&gt; Resumindo, apesar de ter 4 linhas, so poderia receber uma ligacao por vez, independente do tronco. É uma situacao atipica mesma.</p>
<p dir="ltr">Olá!</p>
<p dir="ltr">Se colocar &quot;call-limit=1&quot; no sip.conf, é possível saber se as linhas estão sendo usadas pela variável ,Set(CALLS=$[${SIPPEER(&lt;LINHA 1 SIP&gt;:curcalls)}+ ${SIPPEER(&lt;LINHA 2 SIP&gt;:curcalls)}+${SIPPEER(&lt;LINHA 3 SIP&gt;:curcalls)}+ ${SIPPEER(&lt;LINHA 4 SIP&gt;:curcalls)}]), mas isso seria interessante se fossem todas linhas SIP e quisesse saber qual linha está ocupada. Então no contexto faça GotoIf($[${CALLS} &gt; 1]?ocupado) antes do dial para o ramal.</p>

<p dir="ltr">Exemplo:<br>
        same =&gt; n, Set(CALLS=$[${SIPPEER(&lt;LINHA 1 SIP&gt;:curcalls)}+ ${SIPPEER(&lt;LINHA 2 SIP&gt;:curcalls)}+${SIPPEER(&lt;LINHA 3 SIP&gt;:curcalls)}+ ${SIPPEER(&lt;LINHA 4 SIP&gt;:curcalls)}])<br>
        same =&gt; n,GotoIf($[${CALLS} &gt; 1]?ocupado)<br>
        same =&gt; n,Dial(SIP/&lt;ramal&gt;...)<br>
        same =&gt; n,Hangup()<br>
        same =&gt; n(ocupado),PlayBack(vm-unavailble)<br>
        same =&gt; n,Set(DIALSTATUS=CHANUNAVAIL)<br>
        same =&gt; n,Hangup()<br><br></p>
<p dir="ltr">Ou ainda, antes do dial para o ramal no contexto de entrada, defina o grupo é verifique as chamadas do grupo.</p>
<p dir="ltr">Exemplo:<br>
        same =&gt; n,Set(GROUP()=entrada)<br>
        same =&gt; n,GotoIf($[${GROUP_COUNT(entrada)} &gt; 1]?ocupado)<br>
        same =&gt; n,Dial(SIP/&lt;ramal&gt;...)<br>
        same =&gt; n,Hangup()<br>
        same =&gt; n(ocupado),PlayBack(vm-unavailble)<br>
        same =&gt; n,Set(DIALSTATUS=CHANUNAVAIL)<br>
        same =&gt; n,Hangup()</p>
<p dir="ltr">[]&#39;s<br>
        Junior Polegato</p>