<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>
<font size="3" style="font-size:12pt;">&nbsp; &nbsp;Resume teu problema, quem sabe eu entenda...</font><div><font size="3" style="font-size:12pt;">por que isso que ta ai embaixa ta meio confuso pra mim...<br id="FontBreak"></font><br><br><div><br></div>Hudson <br>048 8413 7000<div>048 3039 8899 opcao 2</div><div>www.easyteltelecom.com.br</div><div><br></div><div>Para quem nao cre, nenhuma prova converte,</div><div>Para aquele que cre, nenhuma prova precisa.</div><br><br><div><div id="SkyDrivePlaceholder"></div><hr id="stopSpelling">From: asterisk@aquidolado.com.br<br>To: asteriskbrasil@listas.asteriskbrasil.org<br>Date: Wed, 6 Jun 2012 16:51:18 -0300<br>Subject: [AsteriskBrasil] RES:  AMI - Queue Status<br><br>
<style><!--
.ExternalClass p.ecxMsoNormal, .ExternalClass li.ecxMsoNormal, .ExternalClass div.ecxMsoNormal
{margin-bottom:.0001pt;font-size:11.0pt;font-family:"Calibri","sans-serif";}
.ExternalClass a:link, .ExternalClass span.ecxMsoHyperlink
{color:blue;text-decoration:underline;}
.ExternalClass a:visited, .ExternalClass span.ecxMsoHyperlinkFollowed
{color:purple;text-decoration:underline;}
.ExternalClass p.ecxMsoListParagraph, .ExternalClass li.ecxMsoListParagraph, .ExternalClass div.ecxMsoListParagraph
{margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;margin-bottom:.0001pt;font-size:11.0pt;font-family:"Calibri","sans-serif";}
.ExternalClass span.ecxEstiloDeEmail18
{font-family:"Calibri","sans-serif";color:windowtext;}
.ExternalClass span.ecxEstiloDeEmail19
{font-family:"Calibri","sans-serif";color:#1F497D;}
.ExternalClass .ecxMsoChpDefault
{font-size:10.0pt;}
@page WordSection1
{size:612.0pt 792.0pt;}
.ExternalClass div.ecxWordSection1
{page:WordSection1;}
.ExternalClass ol
{margin-bottom:0cm;}
.ExternalClass ul
{margin-bottom:0cm;}

--></style><div class="ecxWordSection1"><p class="ecxMsoNormal"><span style="color:#1F497D">Pessoal</span></p><p class="ecxMsoNormal"><span style="color:#1F497D">&nbsp;</span></p><p class="ecxMsoNormal"><span style="color:#1F497D">Ninguém? Nada?</span></p><p class="ecxMsoNormal"><span style="color:#1F497D">Nem link nem nada? Caminho? Já procurei e não sei o que estes valores dizem.</span></p><p class="ecxMsoNormal"><span style="color:#1F497D">&nbsp;</span></p><p class="ecxMsoNormal"><span style="color:#1F497D">Um abraço</span></p><p class="ecxMsoNormal"><span style="color:#1F497D">Ribeiro</span></p><p class="ecxMsoNormal"><span style="color:#1F497D">&nbsp;</span></p><div><div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm"><p class="ecxMsoNormal"><b><span style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;">De:</span></b><span style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;"> asteriskbrasil-bounces@listas.asteriskbrasil.org [mailto:asteriskbrasil-bounces@listas.asteriskbrasil.org] <b>Em nome de </b>Ribeiro<br><b>Enviada em:</b> quarta-feira, 6 de junho de 2012 00:22<br><b>Para:</b> asteriskbrasil@listas.asteriskbrasil.org<br><b>Assunto:</b> [AsteriskBrasil] AMI - Queue Status</span></p></div></div><p class="ecxMsoNormal">&nbsp;</p><p class="ecxMsoNormal">Pessoal</p><p class="ecxMsoNormal">&nbsp;</p><p class="ecxMsoNormal">Acabei a primeira parte de minha integração Asterisk/Aplicação.</p><p class="ecxMsoNormal">Perguntei a um tempo atrás o caminho e já cheguei no primeiro hotel.. <span style="font-family:Wingdings">J</span></p><p class="ecxMsoNormal">Mas vamos lá... Documentação extremamente superficial.</p><p class="ecxMsoNormal">Funcionando está, mas não consegui ainda entender algumas informações que eu estou recebendo.</p><p class="ecxMsoNormal">Aconselho aos que usam fila, pois tem alguns dados bem interessantes, mesmo que não façam uso de AMI ou sejam desenvolvedores.</p><p class="ecxMsoNormal">&nbsp;</p><p class="ecxMsoNormal">Estou utilizando AJAM (AMI Web).</p><p class="ecxMsoNormal">&nbsp;</p><p class="ecxMsoNormal">Solicitação de status da fila:</p><p class="ecxMsoNormal">&nbsp;</p><p class="ecxMsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:green">&lt;response type='object' id='unknown'&gt;&lt;generic response='Success' message='Queue status will follow' /&gt;&lt;/response&gt;</span></p><p class="ecxMsoNormal" style="text-autospace:none"><span lang="EN-US">Beleza! Sucesso na carga. </span>Recebi 3 eventos diferentes: QueueParams (Dados da fila), QueueMember (Membros da fila) e QueueEntry (Ligações na fila e ainda não atendidas).</p><p class="ecxMsoNormal" style="text-autospace:none">&nbsp;</p><p class="ecxMsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:green">&lt;generic event='QueueParams' queue='50' max='0' strategy='ringall' calls='1' holdtime='11' talktime='122' completed='23' abandoned='6' servicelevel='60' servicelevelperf='95.7' weight='0' /&gt;</span></p><p class="ecxMsoNormal" style="text-autospace:none">Estes são os dados da fila:</p><p class="ecxMsoNormal" style="text-autospace:none">Queue=’50’ – Numero da fila – O número que disco para entrar na fila</p><p class="ecxMsoNormal" style="text-autospace:none">Max=’0’ – Quantidade máxima de pessoas que podem ficar na fila – Está ilimitada.</p><p class="ecxMsoNormal" style="text-autospace:none">Strategy=’ringall’ – Estratégia... Sem problema... Bem documentado isso.</p><p class="ecxMsoNormal" style="text-autospace:none">Calls=’1’ – Ligações na fila e ainda não atendidas. Me parece perfeito. Testado e não encontrei problemas.</p><p class="ecxMsoNormal" style="text-autospace:none">HoldTime=’11’ – Aqui começa meu problema... Pelo que entendi são 11 segundos “em média” que uma pessoa espera. Fiz o diversos testes com diversos tempos altos e o valor não altera. Esta média é de quantas ligações? Todas as feitas até hoje? Não é, pois o valor já mudou sem muita lógica... Me iluminem aqui...</p><p class="ecxMsoNormal" style="text-autospace:none">TalkTime=’122’ – Este é irmão do HoldTime pelo que eu entendi. É a média não explicada do tempo de ligação, ou seja, 00:02:02 de média do telefone falando. Também preciso de ajuda.</p><p class="ecxMsoNormal" style="text-autospace:none">Completed=’23’ – Outro... Este não tem nada a ver com os dois de cima. É a quantidade de ligações que foram atendidas. Mas quando que iniciou? Alguém para me ajudar aqui?</p><p class="ecxMsoNormal" style="text-autospace:none">Abandoned=’6’ – Abandonadas pelo cliente antes de serem atendidas. Tem tudo a ver com o completed. Mas a mesma pergunta. Abandonadas na última hora? No último dia? Ajuda aqui também.</p><p class="ecxMsoNormal" style="text-autospace:none">ServiceLevel=’60’ – Haaaa.... Este é o cara? Não. Eu achava que era ele, mas não é. No Elastix está escrito assim: “Used for service level statistics (calls answered within service level time frame)”. Como está 60 segundos, não vou nem tentar explicar os números de cima. Pensando e pesquisando, acho que entendi.</p><p class="ecxMsoNormal" style="text-autospace:none">ServiceLevelPerf=’95.7’ – Este número e o nome das tags me levaram a entender uma coisa legal... Este não é o TMA e sim o percentual de ligações atendidas em 60 segundos. É isso mesmo?</p><p class="ecxMsoNormal" style="text-autospace:none">Weight=’0’ – Pelo que entendi é o peso desta fila em relação a outros “canais”, ou seja, quanto maior o número, sua prioridade será maior para atendimento. Alguém poderia me explicar o que seria este “canal”? Não entendo como duas filas se cruzariam.</p><p class="ecxMsoNormal" style="text-autospace:none">&nbsp;</p><p class="ecxMsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:green">&lt;response type='object' id='unknown'&gt;&lt;generic event='QueueMember' queue='50' name='Fixo' location='Local/10@from-queue/n' membership='dynamic' penalty='0' callstaken='11' lastcall='1338677447' status='2' paused='0' /&gt;&lt;/response&gt;</span></p><p class="ecxMsoNormal" style="text-autospace:none">Estes são os dados dos membros da fila:</p><p class="ecxMsoNormal" style="text-autospace:none">Queue=’50’ – Mesmo do de cima. Usado para vincular um ao outro.</p><p class="ecxMsoNormal" style="text-autospace:none">Name=’Fixo’ – Nome do ramal (Extensão) informado na criação do mesmo.</p><p class="ecxMsoNormal" style="text-autospace:none">Location=’Local/10@from-queue/n’ – Nome interno do ramal. Coisa do Arterisk. Usei ele depois para duas coisas, sendo uma na gambiarra e outra correta. Digo mais abaixo e se alguém quiser explicar melhor, seja com link, agradeço.</p><p class="ecxMsoNormal" style="text-autospace:none">Membership=’dynamic’ – Se o ramal é estático ou dinâmico. Um dinâmico entra na fila com ‘&lt;Numero da fila&gt;*’, que neste caso seria ‘50*’ e sai com ‘50**’. Pelo que eu entendi um estático faz parte da fila e pronto e um dinâmico pode entrar e sair. Porém a mensagem diz que meu ramal estático saiu da fila com ‘50**’ e na verdade não saiu. Uso Elastix e entendo que é falta de carinho com o código de quem o fez.</p><p class="ecxMsoNormal" style="text-autospace:none">Penalty=’0’ – O nome é estranho, mas eu entendi que quanto maior, menor a prioridade de tocar. Por exemplo um estagiário. Se tem alguém com Penalty menor, a ligação é enviada para ele antes. Só quando não tem ninguém menor disponível é que o estagiário atende. Entendo que dependa da estratégia, mas não sei qual. Seria bom saber.</p><p class="ecxMsoNormal" style="text-autospace:none">CallsTaken=’11’ – Ligações atendidas por este membro. Entendo que ele atendeu 11 ligações. Porém a soma dos membros não é igual ao completed da parte de cima. Muito estranho isso... Alguém poderia me explicar?</p><p class="ecxMsoNormal" style="text-autospace:none">LastCall=’1338677447’ – No primeiro momento me pareceu ser o número do telefone de quem fez a última ligação, mas não é. Me parece ser o “UniqueID”, sem o “.” e os 3 números no final. Não me pareceu útil mesmo e não tenho certeza se é isso mesmo. Alguém me confirma?</p><p class="ecxMsoNormal" style="text-autospace:none">Status=’2’ – Diz se o ramal está ocupado, tocando, em uso, etc. Peguei a tabela completa no código fonte do Asterisk. Sem problemas.</p><p class="ecxMsoNormal" style="text-autospace:none">Paused=’0’ – Se o ramal está em pausa. Em pausa, ele não faz parte da fila. Seria igual a um membro dinâmico pressionar ‘50**’ e sair, mas neste caso ele permanece na fila e você consegue visualizar.</p><p class="ecxMsoNormal" style="text-autospace:none">&nbsp;</p><p class="ecxMsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:green">&lt;response type='object' id='unknown'&gt;&lt;generic event='QueueEntry' queue='50' position='1' channel='SIP/10-000000a6' uniqueid='1338791132.268' calleridnum='10' calleridname='Pedido:Fixo' connectedlinenum='unknown' connectedlinename='unknown' wait='10' /&gt;&lt;/response&gt;</span></p><p class="ecxMsoNormal">Estes estão na fila ainda sem atendimento:</p><p class="ecxMsoNormal">Queue=’50’ – Mesma coisa. Eles estão na fila ‘50’ neste caso. O mesmo dos de cima.</p><p class="ecxMsoNormal">Position=’1’ – Posição na fila. Perfeito e entendido. Este é o próximo a ser atendido. Atendido este, o ‘2’ vira ‘1’ e os demais descem.</p><p class="ecxMsoNormal">Channel=’SIP/10-000000a6’ – O canal que a ligação está passando para chegar a fila. Coisas de Asterisk. Entendo que seja este canal que está relacionado ao Weight.</p><p class="ecxMsoNormal">UniqueID='1338791132.268' – Identificação única deste canal. Eu conseguiria achar esta ligação entre outras por este número. É isso mesmo?</p><p class="ecxMsoNormal">CallerIDNum=’10’ – Este é o cara que eu procurava... O número de telefone do ligador.</p><p class="ecxMsoNormal">CallerIDName=’Fixo’ – Este é o nome do ligador. Nos EUA e outros países, a operadora envia o numero do telefone e o nome da pessoa. Aqui no Brasil, o sistema inovador e proprietário envia somente o número do telefone. De qualquer forma, tem como colocar um nome aqui por AGI ou outras formas até mais fáceis. No Elastix (FreePBX) chama-se “CallerID Lookup Sources”.</p><p class="ecxMsoNormal">ConnectedLineNum=’unknown’ – Ramal de quem atendeu.</p><p class="ecxMsoNormal">ConnectedLineName=’unknown’ – Nome do ramal de quem atendeu. O mesmo que o Name do members acima.</p><p class="ecxMsoNormal">Wait=’10’ – Tempo de espera na fila: 10 segundos.</p><p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:green">&nbsp;</span></p><p class="ecxMsoNormal">Isso foi o que eu descobri e não descobri. Ajuda outros o que eu descobri e me ajudem a entender o que eu não entendi. Detalhado, vou editar e colocar no Wiki, mas preciso da ajuda de vocês.</p><p class="ecxMsoNormal">&nbsp;</p><p class="ecxMsoNormal">Problemas: Não estou usando evento. Os eventos são disparados quando alguma coisa acontece e se nada acontecer, não recebo nada. Isso eu entendi.</p><p class="ecxMsoNormal">Mas não estou usando por uns motivos técnicos. Meu servidor com a aplicação está “nas nuvens” e na DMZ. Meu servidor Asterisk está protegido com um Firewall e não é acessível da “rua”. Desta forma, estou com um serviço interno rodando, pegando os dados do Arterisk e replicando para o outro servidor “nas nuvens” por um protocolo proprietário e mesmo invadido, não ajuda muito a ninguém. Não se tem controle de nada.</p><p class="ecxMsoNormal">E este mesmo programa já é usado para trafegar dados e se fosse usar eventos, teria que duplicar o canal de comunicação ou fazer uma coisa bem mais complexa. Segui sem o evento.</p><p class="ecxMsoNormal">Vou explicar o que eu já tenho: Pausar e Despausar membros. Funciona perfeitamente. Tenho todos os dados nesta resposta. Preciso do Location citado aqui, que lá chama-se Interface (Isso é horrível, pois o cada hora o nome muda), o Queue e se é para Pausar ou Despausar. Perfeito!</p><p class="ecxMsoNormal">&nbsp;</p><p class="ecxMsoNormal">Mas como nem tudo na vida são flores... Eu preciso do CallerID de quem liga DEPOIS que o membro da fila atendeu. Isso não rola. A informação fica por 1 segundo e depois some... É preenchido o ConnectedLineNum e o ConnectedLineName, se mantém por 1 segundo e depois some e eu preciso disso. O que eu fiz?</p><p class="ecxMsoNormal">Recupei pelo Status, que retona todas as ligações em andamento. Mas não tem como vincular uma coisa na outra, ou seja, o ramal do membro com a ligação. Eu teria que carregar outros dados, como os ramais para poder vincular e não estava a fim. Não sei onde. Seria procurar uma agulha em um palheiro. Então fiz o seguinte:</p><p class="ecxMsoNormal">&nbsp;</p><p class="ecxMsoListParagraph" style="text-indent:-18.0pt"><span style="font-family:Symbol"><span style="">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span>Retirei o “/n” do final do Location e armazenei em uma variável.</p><p class="ecxMsoListParagraph" style="text-indent:-18.0pt"><span style="font-family:Symbol"><span style="">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span>Comparei se o começo do Channel do Status é igual a variável que eu criei.</p><p class="ecxMsoListParagraph">&nbsp;</p><p class="ecxMsoListParagraph">Isso me retorna duas linhas. Aparentemente uma do telefone do ligador para a fila e outro da fila para o ramal. Pelo menos foi o que me pareceu.</p><p class="ecxMsoListParagraph">&nbsp;</p><p class="ecxMsoListParagraph" style="text-indent:-18.0pt"><span style="font-family:Symbol"><span style="">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span>Então eu fico com a linha que tem ‘ChannelState=6’ e ‘Extension=s’. Não sei o que estes dois significam, mas funcionou.</p><p class="ecxMsoNormal">&nbsp;</p><p class="ecxMsoNormal">Se alguém tiver uma forma melhor de fazer isso ou mais correta, me informe. Seria de boa ajuda.</p><p class="ecxMsoNormal">Conto com a ajuda de todos.</p><p class="ecxMsoNormal">&nbsp;</p><p class="ecxMsoNormal">Um abraço</p><p class="ecxMsoNormal">Ribeiro</p></div><br>_______________________________________________
KHOMP Inova��o: External Board Series
M�dulos de 1/2 rack e 1U para todas as interfaces e solu��es Asterisk e FreeSWITCH.
Tenha a External Series Experience na sua aplica��o. Visite�www.khomp.com
_______________________________________________
DIGIVOICE  Fabricante de Placas de Voz e Channel Bank
20 anos de experi�ncia com E1(R2/ISDN), FXS, FXO e GSM
Centro Treinamento - Curso de PABX IP -  Asterisk  - Site  www.digivoice.com.br
________
YEALINK: Telefones IP e V�deoPhones IP com o melhor custo/benef�cio do mercado.
email: yealink@commlogik.com.br | www.commlogik.com.br | (11) 5503-1011
______________________________________________
Para remover seu email desta lista, basta enviar um email em branco para asteriskbrasil-unsubscribe@listas.asteriskbrasil.org</div></div>                                               </div></body>
</html>