<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman,new york,times,serif;font-size:12pt"><div>Boa tarde Thiago<br><br>Primeiramente desculpe a demora na resposta a coisa ta corrida aqui estamos em fase de finalização de um PBX-IP focado em GSM... <br><br>Bom então segue exemplo solicitado.<br><br>Pelo que vi nos e-mails seus anteriores vc Liga de A para B, deixa B "onHold" e após A liga para C conversam entre eles e se C aceitar A digita algum DTMF e volta com B + Chanspy de C, correto?<br><br>Bom tentando repassar ao teu contexto...<br><br>A -> Dial(B)<br>A pressiona feature ou dtmf exemplo *1 para iniciar a operação e *2 para juntar as 3 partes;<br>ChannelRedirect de B para um contexto onHold, mais ou menos assim - ChannelRedirect(${BRIDGEPEER},espera,s,1)<br><br>Goto A para o canal solicitando numero destino - Goto(digite,s,1)<br>Após ler a extensão a ser discada e tocar
o audio em A faz o dial para aquela extensão (contexto "digite" extensão "XXXX")<br>B está on Hold...<br><br><br>[espera]<br>exten => s,1,NoOp(Canal em espera ${CHANNEL})<br>exten => s,n,MusicOnHold()<br><br>[digite]<br>exten => s,1,NoOp(Buscando numero destino)<br>exten => s,n,Set(InWait=${BRIDGEPEER})<br>/Com SHARED no canal<br>;exten => s,n,Set(SHARED(InWait)=${BRIDGEPEER}) //seta uma variavel chamada InWait compartilhada neste canal;<br><br>/Setando Variavel no cana em espera<br>;exten => s,n,Set(SHARED(Variavel,${BRIDGEPEER})=ABC) //Setando a variavel compartilhada no canal que esta em espera<br><br>exten => s,n,BackGround(arquivodeAudioPedindoDestino)<br>exten => s,n,WaitExten()<br><br><br>exten => XXXX,1,NoOp(Destino será ${EXTEN})<br>exten => XXXX,n,Dial(${EXTEN},timeout,tTgF(junta-B-C^s^1))<br>exten => XXXX,n,NoOp(Destino desligou... voltando para B)<br>exten =>
XXXX,n,Bridge(${InWait))<br></div><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><br>exten => *1,1,NoOp(Junta os 3)<br>exten => *1,n,Aqui vai o restante do codigo... chanspy... etc<br><br>[junta-B-C]<br>exten => s,1,NoOp(A desligou... juntando B e C)<br>exten => s,n,Set(InWait=${IMPORT(${BRIDGEPEER},InWait)}) definindo a variavel inWait para este canal<br>exten => s,n,Bridge(${InWait})<br><br>/Visualizando a variavel compartilhada que estava no canal em espera "B"<br>
;exten => s,n,NoOp( Compartilhada em espera é ${SHARED(Variavel,${InWait})}) deverá retornar ABC<br>
<br><br>/Recuperando com SHARED variavel compartilhada que estava no canal A<br>;exten => s,n,Bridge(${SHARED(InWait,${BRIDGEPEER})})<br><br><br>Deste modo, Caso C deseja falar com B, basta A desligar; e se C desligar, A volta a falar com B.<br>Caso seja pressionado *1 juntará os 3 (a implementar)...<br><br>O uso do Import e do Shared são quase iguais, os cuidados que tens que tomar é que a sintaxe eh diferente<br>setando = IMPORT(CANAL,NOME_DA_VAR) / recuperando = ${IMPORT(CANAL,NOME_DA_VAR)}<br>setando = SHARED(NOME_DA_VAR,CANAL) / recuperando = ${SHARED(NOME_DA_VAR,CANAL)}<br> o legal do Shared que você pode setar uma variavel compartilhada em outro canal fora do contexto, mas que esteja em execução por exemplo, e retornar a mesma quando quiser via SHARED também... variaveis que são setadas via SHARED só retornam por ele<br><br>Set(Teste=123) é diferente de Set(SHARED(Teste)=123).<br><br>O interessante é não utilizar variaveis
globais "__Teste" pois em um cenário com muitas chamadas elas irão mudar constantemente... diferente das variaveis de canal que são dinâmicas e quando desligado são "apagadas"...<br><br>Não testei os contextos no asterisk... é só para Ilustrar... provavelmente se copiar e colar não funcionará.<br><br>Espero que tenha conseguido sanar sua duvida... qqr coisa to aqui =)<br><br>Abraço<br>Att<br>Vagner de Menezes<br><br><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><font face="Tahoma" size="2"><hr size="1"><b><span style="font-weight: bold;">De:</span></b> Thiago Bruni Tawil <stomaz.fei@gmail.com><br><b><span style="font-weight: bold;">Para:</span></b> asteriskbrasil@listas.asteriskbrasil.org<br><b><span style="font-weight: bold;">Enviadas:</span></b> Terça-feira, 29 de Março de 2011 16:35:31<br><b><span style="font-weight: bold;">Assunto:</span></b> Re: [AsteriskBrasil] exportar variável de uma macro
para um contexto<br></font><br>Vagner, Você poderia me dar algum exemplo de sucesso usando o SHARED???<br>EU não consigo fazer funcionar.. dove estar errando alguma coisa!<br><br>Valeu!<br><br><div class="gmail_quote">Em 24 de março de 2011 18:02, Thiago Bruni Tawil <span dir="ltr"><<a rel="nofollow" ymailto="mailto:stomaz.fei@gmail.com" target="_blank" href="mailto:stomaz.fei@gmail.com">stomaz.fei@gmail.com</a>></span> escreveu:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><p>Kras.. eu <a rel="nofollow" target="_blank" href="http://fiz.pro">fiz.pro</a> trampo... acho que pega mal eu passar tudo.. agora to no metro indo pra casa... amanha eu dou uma explicada... a dica eh... colocaros 3 canais em contextos separados.. depois juntar dois deles com brige, e o 3o por chanspy... boa sorte!!!</p>
<p></p><blockquote type="cite">Em 24/03/2011 16:12, "alexandre - aldeia digital" <<a rel="nofollow" ymailto="mailto:alepaes@ad2.com.br" target="_blank" href="mailto:alepaes@ad2.com.br">alepaes@ad2.com.br</a>> escreveu:<div class="im"><br>
Perguntinhas:<br>
--não precisa mostrar o "peixe" se não quiser... :P --<br>
<br>
1) Você está usando o Channel Redirect para um meetme quando disca *3 ?<br>
2) O que acontece se o C não quiser participar? Você entra no meetme<br>
direto?<br>
<br>
<br>
Alexandre<br>
Aldeia Digital<br>
<br>
Em 24-03-2011 15:47, Thiago Bruni Tawil escreveu:<br>
</div><p><font color="#500050"><div class="im">> Rodrigo Valeu pela preocupação.... mas já consegui fazer o que eu queria!<br></div>> Deu trabalho.. mas val...</font></p><div class="im"><p><font color="#500050">> <mailto:<a rel="nofollow" ymailto="mailto:stomaz.fei@gmail.com" target="_blank" href="mailto:stomaz.fei@gmail.com">stomaz.fei@gmail.com</a>>> escreveu:<br>
></font></p></div><p><font color="#500050"><div class="im">> A função SHARED e IMPORT são perfeitas!!<br>><br>> Valeu Vagner!!<br></div>> Ogribado Pessoal pela aj...</font></p><div class="im">> <<a rel="nofollow" ymailto="mailto:stomaz.fei@gmail.com" target="_blank" href="mailto:stomaz.fei@gmail.com">stomaz.fei@gmail.com</a> <mailto:<a rel="nofollow" ymailto="mailto:stomaz.fei@gmail.com" target="_blank" href="mailto:stomaz.fei@gmail.com">stomaz.fei@gmail.com</a>>> escreveu:<br>
</div><p><font color="#500050"><div class="im">><br>> Na verdade eu precisaria exportar uma variável de um canal para<br>> outro..<br></div>> ...</font></p><div class="im">> <<a rel="nofollow" ymailto="mailto:alepaes@ad2.com.br" target="_blank" href="mailto:alepaes@ad2.com.br">alepaes@ad2.com.br</a> <mailto:<a rel="nofollow" ymailto="mailto:alepaes@ad2.com.br" target="_blank" href="mailto:alepaes@ad2.com.br">alepaes@ad2.com.br</a>>> escreveu:<br>
</div><p><font color="#500050"><div class="im">><br>> E se usar 2 undescores ?<br>><br>> exten => s,1,Set(__ABC=10)<br>><br>><br>><br></div>> ...</font></p><div class="im">
> <mailto:<a rel="nofollow" ymailto="mailto:stomaz.fei@gmail.com" target="_blank" href="mailto:stomaz.fei@gmail.com">stomaz.fei@gmail.com</a> <mailto:<a rel="nofollow" ymailto="mailto:stomaz.fei@gmail.com" target="_blank" href="mailto:stomaz.fei@gmail.com">stomaz.fei@gmail.com</a>>>><br>
</div><p><font color="#500050">> escreveu:<br>> ><br>> > Acontece que eu estou separando os...</font></p><div class="im">> <mailto:<a rel="nofollow" ymailto="mailto:sylvio.sdr@gmail.com" target="_blank" href="mailto:sylvio.sdr@gmail.com">sylvio.sdr@gmail.com</a> <mailto:<a rel="nofollow" ymailto="mailto:sylvio.sdr@gmail.com" target="_blank" href="mailto:sylvio.sdr@gmail.com">sylvio.sdr@gmail.com</a>>>><br>
</div><p><font color="#500050">> escreveu:<br>> ><br>> > As variaveis criadas so deixam...</font></p>> > <mailto:<a rel="nofollow" ymailto="mailto:rodrigoferreiralang@gmail.com" target="_blank" href="mailto:rodrigoferreiralang@gmail.com">rodrigoferreiralang@gmail.com</a><br>
<p><font color="#500050"><div class="im">> <mailto:<a rel="nofollow" ymailto="mailto:rodrigoferreiralang@gmail.com" target="_blank" href="mailto:rodrigoferreiralang@gmail.com">rodrigoferreiralang@gmail.com</a>>>> escreveu:<br>> ><br></div>
> > ...</font></p><div class="im">
> <mailto:<a rel="nofollow" ymailto="mailto:stomaz.fei@gmail.com" target="_blank" href="mailto:stomaz.fei@gmail.com">stomaz.fei@gmail.com</a> <mailto:<a rel="nofollow" ymailto="mailto:stomaz.fei@gmail.com" target="_blank" href="mailto:stomaz.fei@gmail.com">stomaz.fei@gmail.com</a>>>><br>
</div><p><font color="#500050">> > escreveu:<br>> ><br>> > Olá...</font></p><p><font color="#500050"><div class="im">> <mailto:<a rel="nofollow" ymailto="mailto:asteriskbrasil-unsubscribe@listas.asteriskbrasil.org" target="_blank" href="mailto:asteriskbrasil-unsubscribe@listas.asteriskbrasil.org">asteriskbrasil-unsubscribe@listas.asteriskbrasil.org</a>>><br>
> ><br></div>> ...</font></p><div class="im"><p><font color="#500050">> <<a rel="nofollow" target="_blank" href="http://www.khomp.com.br">http://www.khomp.com.br</a>><br>> > _______________________________...</font></p>
</div>
> <<a rel="nofollow" target="_blank" href="http://www.voipmania.com.br">http://www.voipmania.com.br</a>> <<a rel="nofollow" target="_blank" href="http://www.voipmania.com.br">http://www.voipmania.com.br</a>><br>
<p><font color="#500050">> > VOIPMANIA STORE<br>> > ________<br>> > ...</font></p><p><font color="#500050"><div class="im">> <mailto:<a rel="nofollow" ymailto="mailto:asteriskbrasil-unsubscribe@listas.asteriskbrasil.org" target="_blank" href="mailto:asteriskbrasil-unsubscribe@listas.asteriskbrasil.org">asteriskbrasil-unsubscribe@listas.asteriskbrasil.org</a>>><br>
> ><br></div>> ...</font></p></blockquote>
</blockquote></div><br>
</div></div>
</div><br>
</body></html>