Esse e o primeiro post da serie de CCX Scripting. Algumas coisas bacanas que podemos fazer com o CCX alem de pegar uma chamada e encaminhar para uma fila. Esse post surgiu de uma necessidade real em um cliente, e achei a solucao bastante interessante. Fica a dica para quem tambem estiver precisando.Basicamente o cliente queria que quando uma chamada entrasse no Call Center, o sistema identificasse o nome da pessoa pelo ramal, e exibisse na tela do agente. O jeito que encontrei para fazer isso e buscar o ramal no Corporate Directory do CUCM, encontrando o nome do usuario. Obvio que a premissa para isso e que os End Users do CUCM estejam propriamente configurados com o ramal certo. Geralmente em implantacoes com o LDAP integrado, isso ja vem certinho.Segue a logica de programacao abaixo:/* Variaveis */Document xmlCorpDirectoryString dirURLCorpDirString callingNumberString callingNameSet dirURLCorpDir = "http://X.X.X.X:8080/ccmcip/xmldirectorylist.jsp?n="callingNumber = Get Call Contact Info (Calling Number)if ((callingNumber != null && callingNumber.trim() != "")) Then xmlCorpDirectory = Create XML Document(URL[dirURLCorpDir + callingNumber]) callingName = Get XML Document Data (xmlCorpDirectory, "//Name") if ((callingName != null && callingName.trim() != "") Then /* Continue */ else Set callingName = "Nao identificado"else Set callingName = "Nao identificado"E como ficou no CCX Editor: Ola pessoal!Hoje vou fazer mais um post sobre UCCX Scripting, que teve origem em uma demanda real de um cliente. Basicamente o que esse cliente queria era que quando alguem estivesse na sua fila do CCX e, cansado de esperar, desligasse a chamada, um e-mail fosse enviado para o supervisor do atendimento informando o numero do cliente, para que a ligacao pudesse ser retornada depois.Hmmm, tricky, heim? Pensei eu com os meus botoes... "como vou fazer o script continuar o fluxo quando o cliente encerra a chamada?"Foi ai que, procurando referencias na Internet, cheguei a um exception chamado ContactInactiveException. Esse Exception consegue capturar o fluxo justamente quando o cliente do outro lado da linha encerra a ligacao. E com ele, desenvolvi esse script:/* Variaveis */String aniString csqID = "Fila"Prompt pEspera = P[espera.wav]Contact Emailani = Get Call Contact Info (Calling Number)Select Resource (csqID) Queued On Exception (ContactInactiveException) Goto ABANDONED <LABEL: QUEUE> Play Prompt (pEspera) Goto QUEUE<LABEL: ABANDONED>Email = Create eMail("Chamada perdida de "+ani)Send eMail(bnonogaki@ngk.com)E o script no editor ficou assim:Com isso, quando o cliente desligava a chamada durante a fila, um e-mail era enviado para bnonogaki@ngk.com com o conteudo "Chamada perdida de <ANI>"E claro que para isso funcionar, voce precisa de ter o licenciamento Premium do CCX (que tem suporte a e-mail), configurar o SMTP no servidor, e permitir o SMTP Relay do CCX no Exchange.Um scriptzinho simples, e bastante util... voce pode pegar o ANI e alimentar uma campanha de outbound dialer, por exemplo. Alias, outbound dialer seria um belo topico para um post futuro! :) Aeee galera!Primeiramente, eu gostaria de iniciar esse meu post pedindo desculpas ao Bruno por nao ter feito nenhum post aqui no CCIE Voice Brasil! hahahahaMas eu tive meus motivos, o Bruno me chamou para ser um colaborador aqui na epoca em que eu ja havia terminado o estudo do Blue Print e estava