terça-feira, 18 de março de 2014

Secure Conference Bridge

Nossa, agora me dei conta de como faz tempo que não escrevo aqui no blog! Desse jeito, como é que vou querer vender ele pra Cisco algum dia? hahaha! Enfim, escreverei hoje sobre um tema que me custou muito para fazer funcionar, simplesmente porque é extremamente difícil de encontrar boas referências sobre essa configuração na Internet: Conference Bridge com criptografia (usando a infraestrutura de certificados do cliente).

É um tema bastante similar ao que escrevi outro dia sobre SIP Trunk over TLS, só que criaremos outras chaves, outro trustpoint, etc. E novamente, reforçarei o que escrevi nesse post sobre Secure SIP: Isso definitivamente não é a minha área de especialidade, então certamente tem coisa que pode estar errada. O que mostro abaixo é como eu fiz e deu certo.

1. Crie um par de chaves (pública e privada) no Voice Gateway, dando um nome qualquer (diferente do nome que foi dado às chaves do Secure SIP). Sugiro o nome da própria Conference Bridge:
crypto key generate rsa general-keys label CFB_Teste_01 mod 2048 exportable

2. Crie um Trustpoint no Voice Gateway, e nomeie ele com o mesmo nome da Conference Bridge:
crypto pki trustpoint CFB_Teste_01
 enrollment terminal
 fqdn none
 subject-name CN=CFB_Teste_01  ! -- Aqui está o segredo. O CN do certificado deve conter o nome da Conference Bridge
 revocation-check none
 rsakeypair CFB_Teste_01

3. Autentique o trustpoint, incluindo certificado Root
crypto pki authenticate CFB_Teste_01

Ao dar o comando, o roteador vai pedir para você colar o certificado root. Esse certificado você deve pedir ao cliente:
Enter the base 64 encoded CA certificate
<COLE A STRING CONTENDO O CERTIFICADO ROOT>

4. Gere o CSR (Certificate Sign Request) do roteador para ser assinado pelo cliente:
crypto pki enroll CFB_Teste_01
%Start certificate enrolment ..
Include serial? No
Include IP Address? No
Display CSR? Yes

O roteador vai gerar uma string no terminal. Você deve copiar toda ela num TXT e encaminhar para o cliente assinar no CA dele. Caso seja um Windows, o template deve conter as funções TLS Web Server Authentication, TLS Web Client Authentication e IPSec End System.


5. Quando o cliente enviar o certificado assinado pelo CA dele, importe de volta para o Roteador:
crypto pki import CFB_Teste_01 certificate
Enter the base 64 encoded certificate
<COLE A STRING CONTENDO O CERTIFICADO ASSINADO>

6. Importe os certificados Root no CUCM como CallManager-trust, e assine os certificados do CUCM no CA do cliente. O passo-a-passo desse procedimento está detalhado no post sobre Secure SIP.

7. Crie uma nova Conference Bridge no roteador, como de costume, porém, seguindo os comando abaixo:
sccp local GigabitEthernet0/0
sccp ccm <CUCM1> identifier 1 version 7.0 trustpoint CFB_Teste_01
sccp ccm <CUCM2> identifier 2 version 7.0 trustpoint CFB_Teste_01
sccp ip precedence 3
sccp

sccp ccm group 1
 bind interface GigabitEthernet0/0
 associate ccm 2 priority 1
 associate ccm 1 priority 2
 associate profile 1 register CFB_Teste_01

dspfarm profile 1 conference security
 trustpoint CFB_Teste_01
 codec g729br8
 codec g729r8
 codec g729abr8
 codec g729ar8
 codec g711alaw
 codec g711ulaw
 maximum sessions 2
 associate application SCCP

8. Ao criar a CFB no Call Manager, marque a opção "Encrypted Conference Bridge".

Pronto, a sua Conference Bridge já está encriptada!

quarta-feira, 29 de janeiro de 2014

UCCX Scripting: Mandando um e-mail quando o cliente desiste de esperar na fila

Olá 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 alguém 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 número do cliente, para que a ligação pudesse ser retornada depois.

Hmmm, tricky, heim? Pensei eu com os meus botões... "como vou fazer o script continuar o fluxo quando o cliente encerra a chamada?"

Foi aí que, procurando referências 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 ligação. E com ele, desenvolvi esse script:

/* Variáveis */
String ani
String csqID = "Fila"
Prompt pEspera = P[espera.wav]
Contact Email

ani = 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 conteúdo "Chamada perdida de <ANI>"

É claro que para isso funcionar, você 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 útil... você pode pegar o ANI e alimentar uma campanha de outbound dialer, por exemplo. Aliás, outbound dialer seria um belo tópico para um post futuro! :)

sexta-feira, 17 de janeiro de 2014

UCCX Scripting: Buscando usuarios no Corporate Directory

Esse é o primeiro post da série de CCX Scripting. Algumas coisas bacanas que podemos fazer com o CCX além de pegar uma chamada e encaminhar para uma fila. Esse post surgiu de uma necessidade real em um cliente, e achei a solução bastante interessante. Fica a dica para quem também 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 é buscar o ramal no Corporate Directory do CUCM, encontrando o nome do usuário. Obvio que a premissa para isso é que os End Users do CUCM estejam propriamente configurados com o ramal certo. Geralmente em implantações com o LDAP integrado, isso já vem certinho.

Segue a lógica de programação abaixo:

/* Variáveis */
Document xmlCorpDirectory
String dirURLCorpDir
String callingNumber
String callingName

Set 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:

quarta-feira, 15 de janeiro de 2014

Luciano Tamarozzi, CCIE #41857

Pessoal, abaixo um depoimento do Luciano Tamarozzi, que passou na prova no começo desse ano. Parabéns Luciano!!!

################################################################################

Primeiramente Bruno obrigado pela Oportunidade e Parabéns pelo Blog ele me ajudou muito nesta jornada.

Bom minha trajetória é semelhante a dos demais CCIEs, mas acho interessante compartilhar para que as pessoas que estão estudando tenham alguma referencia, no meu caso cada vez que via um depoimento aqui no Blog ficava mais animado e com vontade de passar.
Minha saga começou no inicio de 2012 quando comecei a montar um LAB em casa, optei por montar por que na época o único link de internet que chegava a minha casa era 3G assim não era possível usar LABs Alugados, levei até Outubro de 2012 para montar e comprei tudo pelo Ebay. Assim que terminei de montar o LAB resolvi comprar os materiais para começar estudar e junto com alguns amigos comprei os materiais do INE.
Assim que compramos o material já iniciei os estudos, a primeira fase de estudos é a hora de você aprender todas as tecnologias contidas Blueprint e nesta fase você não vai a fundo a cada item, por exemplo, você não precisa saber implementar Gatekeeper com todas as variações mas sim entender bem o conceito, esta fase durou 5 meses eu estudava cerca de 2 horas por dia durante a semana e 8 horas em cada dia de folga. 
Então em março fiz a prova escrita, pois já tinha conhecimento sobre todas as tecnologias da contidas na prova, em seguida já iniciei o Workbook 1 do INE nesta parte você aprende todas as variações de cada tecnologia você realmente vai a fundo em cada item e o importante era a precisão e não a velocidade, em paralelo ao Workbook 1 também estava lendo alguns documentos ( Admin Guides e algumas seções do SRND), acabei o workbook 1 em Julho nesta época já estava estudando 4 horas por dia durante a semana e 12 horas cada dia de folga definitivamente já não tinha mais vida Social.
No final de Julho agendei o LAB para final de novembro, comecei então Workbook 2 que são de MOC LABs usei tanto o INE quanto o IPExpert, optei pelos 2 para ser mais efetivo pois quando você faz o LAB varias vezes você acaba decorando e não é tão proveitoso. Durante a semana eu fazia 1 lab em 3 dias, os 2 primeiros eram as configurações e o terceiro era só para a correção, é muito mais efetivo quando você corrige sua prova com a cabeça fria sem o stress de ter feito um monte de configurações, você corrige a prova mais critico. Quem havia indicado esse método foi um amigo que já havia passado no LAB.
Em meados de Setembro já estava comendo tudo com farinha, porem não havia conseguido preparar uma das coisas mais importantes que é a estratégia, nessa época o Bruno lançou 2 posts interessantes sobre estratégia, com base nestes Posts e a Ajuda de outro amigo que estava Estudando consegui desenvolver minha própria estratégia e assim conseguia terminar os LABs em até 4 horas.
Chegando a época da prova peguei férias aonde trabalho e fiquei 100% dedicado ao LAB, então no final de Novembro fui para Sao Jose e fiz minha primeira tentativa, fui bem consegui terminar e testar tudo e sai de lá com a certeza de ter passado, porem quando vi o resultado que havia falhado foi uma surpresa e não sabia aonde poderia ter errado, voltando ao Brasil falei com alguns amigos e consegui entender onde errei porem desanimei, pois não havia mais vagas para fazer o LAB que mudava a versão em fevereiro. No começo de dezembro eu estava no Trem e o Peterson me ligou avisando que abriram algumas vagas em RTP, fui correndo para tentar agendar, mas como eu havia ficado a noite inteira logando para ver se havia vagas, meu login foi bloqueado e só ia liberar no dia seguinte, meus amigos ficaram monitorando as vagas e em cerca de 1 hora só sobrou uma, foi então que liguei para Cisco e pedi para eles agendarem para min depois de muita conversa eles decidiram agendar e marcaram para 05 de janeiro. 

Marcado a próxima tentativa a minha empresa me deu mais 15 dias de Férias o que me ajudou muito a pegar o Ritmo novamente. Chegou a hora do LAB e foram difíceis os primeiros 30 minutos, pois minha mão estava congelada, após isso as configurações renderam bem e consegui terminar o LAB antes do almoço (RTP foi 5 horas antes do almoço), depois foi só corrigir e checar alguns detalhes com o Proctor. Sai de lá com medo, pois na tentativa anterior também havia terminado e testado, ai para aliviar fui à casa de um amigo que mora lá e fizemos um churrasco depois cheguei ao hotel e fui dormir acordei então as 3 da manhã com um e-mail da Cisco informando que o resultado do LAB já estava disponível e para minha alegria havia passado. Não tem palavras para descrever a alegria de ter passado!


O conselho que dou para quem vai tentar é que se prepare tanto Psicologicamente e Financeiramente, como o Bruno disse antes é bom ter dinheiro para 2 ou 3 tentativas se passar antes é lucro. Não estude sozinho procure pessoas que estão estudando para compartilhar experiências, isso me ajudou muito. E não desanime quando falhar, mas sim aprenda com o erro.


Agora estou na torcida dos amigos que irão prestar a prova nos próximos dias e provavelmente teremos mais CCIEs Voice no Brasil.

Gostaria de Agradecer aos Amigos: Sergio Polizer, Peterson, Alan, Fernando Cesar e Emanuel Damasceno. Todos me ajudaram nesta Jornada!


################################################################################

sexta-feira, 10 de janeiro de 2014

Criptografando o seu SIP Trunk com TLS

Fala pessoal!!!
Primeiramente, gostaria de desejar um feliz 2014!!

Faz bastante tempo que eu num faço um post no blog que não seja relatos de pessoas que passaram na prova. Confesso que é uma forma bastante prática de manter o blog atualizado! hahaha... só que num é só disso que pode viver o blog, né? Por outro lado, o blueprint atual está quase no fim, e não tenho o intuito de ficar me atualizando no blueprint novo para postar coisas relativas à próxima prova (a não ser que eu capitalize o blog e comece a ganhar dinheiro com isso! hahaha).

Portanto, hoje farei um post sobre um assunto que num tem nada a ver com a prova (pelo menos não a atual), mas que eu achei extremamente difícil achar referências boas na Internet quando precisei fazer. É sobre a configuração de um voice gateway SIP criptografado (TLS), usando certificados da estrutura do cliente. O que tem bastante na internet é sobre como fazer usando certificados self-signed do CUCM e Gateway, mas convenhamos que num deployment real, dificilmente isso vai acontecer. Geralmente o cliente tem toda uma estrutura de certificados da empresa para os seus serviços, e pede que a gente utilize essa estrutura.

Ok, serei sincero. Isso definitivamente não é a minha área de especialidade, então certamente tem coisa que pode estar errada. O que mostro abaixo é como eu fiz e deu certo.

Importando os certificados no Roteador

1. Crie um par de chaves (pública e privada) no Voice Gateway, dando um nome qualquer. Sugiro nomear com o próprio Hostname do roteador:

crypto key generate rsa general-keys label <HOSTNAME> mod 2048 exportable

2. Crie um Trustpoint no Voice Gateway, e nomeie ele com o Hostname:

crypto pki trustpoint <HOSTNAME>
 enrollment terminal
 fqdn HOSTNAME.domain.example.com ! - hostname e domínio
 subject-name CN=HOSTNAME.domain.example.com
 revocation-check none
 rsakeypair <HOSTNAME> ! - referencia às chaves criadas  no passo 1

3. Autentique o trustpoint, incluindo certificado Root

crypto pki authenticate <HOSTNAME>

Ao dar o comando, o roteador vai pedir para você colar o certificado root. Esse certificado você deve pedir ao cliente:

Enter the base 64 encoded CA certificate
<COLE A STRING CONTENDO O CERTIFICADO ROOT>

4. Gere o CSR (Certificate Sign Request) do roteador para ser assinado pelo cliente:

crypto pki enroll <HOSTNAME>
%Start certificate enrolment ..
Include serial? No
Include IP Address? No
Display CSR? Yes

O roteador vai gerar uma string, que você deve copiar toda ela num TXT e encaminhar para o cliente assinar no CA dele. Caso seja um Windows, o template deve conter as funções TLS Web Server Authentication, TLS Web Client Authentication e IPSec End System.


5. Quando o cliente enviar o certificado assinado pelo CA dele, importe de volta para o Roteador:

crypto pki import <HOSTNAME> certificate
Enter the base 64 encoded certificate
<COLE A STRING CONTENDO O CERTIFICADO ASSINADO>

Agora vamos fazer a parte dos certificados do CUCM.

Importando os certificados no CUCM

1. No CUCM, entre no OS Administrator. Vá em Security >> Certificate Management

2. Clique em Upload Certificate, e faça upload do Certificado Root para CallManager-trust e tomcat-trust.

3. Clique em Generate CSR e gere os CSRs do CallManager e tomcat.

4. Clique em Download CSR para baixar os arquivos

5. Envie para o cliente assinar no CA dele. Caso seja um Windows, o template deve conter as funções TLS Web Server Authentication, TLS Web Client Authentication e IPSec End System.

6. Quando o cliente mandar os certificados assinados, importe novamente como CallManager e tomcat (sem o trust).

7. Faça isso em todos os servidores do cluster, e depois reinicie tudo.

Configurando o SIP Trunk no CUCM

1. Crie um SIP Trunk Security Profile, marcando a opção Encrypted, com transport type TLS. No X.509 Subject Name, coloque o Hostname e Domain name do roteador, como no exemplo abaixo



2. Crie um SIP Trunk como o usual, mas marque a opção SRTP Allowed, aplique o Security Profile criado acima, e utilize a porta 5061 como Destination Port. Como Device Name do trunk, utilize o Hostname do roteador.

Configurando o SIP Trunk no Gateway

1. Crie a dial-peer voip normalmente, porém com os dois comandos destacados abaixo:
dial-peer voice X voip
 destination-pattern <XXXX>
 session protocol sipv2
 session target ipv4:x.x.x.x:5061
 session transport tcp tls
 srtp fallback
 (...)

2. Configure o SIP-TLS:

sip-ua
 crypto signalling remote-addr <CUCM-Pub> 255.255.255.255 trustpoint <HOSTNAME> strict-cipher
 crypto signalling remote-addr <CUCM-Sub> 255.255.255.255 trustpoint <HOSTNAME> strict-cipher

E pronto!

Troubleshooting

Esses debugs são muito úteis para fazer o troubleshooting do TLS
debug ssl openssl errors
debug ssl openssl msg
debug ssl openssl state
show sip-ua connection tcp tls detail

quarta-feira, 18 de dezembro de 2013

Diego Nóbrega, CCIE #41728

Uma coisa é passar no CCIE, e outra coisa é passar no CCIE com um turbilhão de coisas acontecendo na sua vida pessoal. Realmente, o que o Diego fez é para poucos. Quando o mundo inteiro parecia estar indo contra ele, ele levantou a cabeça, e sempre com muito bom humor deu um tapa na cara dos problemas, e uma voadora na nuca dos desafios.
Acompanhei a saga do Diego do começo ao fim. Foram muitas conversas, muitos desabafos, muitos rabiscos no quadro, e até "empurradas" de leve! hehehe... Vi ele 100% focado e confiante, e vi também ele quase desistindo da porra toda e largando tudo para o alto.
Quando recebi a notícia de que ele havia passado, fiquei realmente muito feliz. Foi como se eu mesmo tivesse passado... Mentira!!! Nem foi tão da hora assim! ehuaheuaheuhauea... Mas foi realmente uma notícia que me deixou muito contente e aliviado. Até porque tava foda estar com um engenheiro a menos no time! hahahaha
Diegão, parabéns cara! Sei o quanto foi difícil, não só pela prova em si, mas por tudo que você passou nesse 1 ano. Espero que esse sacrifício te traga bons frutos daqui pra frente.

################################################################################

Antes de qualquer coisa...
Obrigado!!! Obrigado Deus, filhos, família, amigos e à Dimension Data!

Acho que os fatores cruciais para minha aprovação foi o apoio incondicional que tive (simplesmente de todo mundo), determinação e força de vontade. Minha jornada para o CCIE Voice teve início no final de Novembro de 2012, quando fui sinalizado pela Dimension Data quanto ao apoio nesta empreitada, neste momento, aproveitei a promoção do Black Friday e reservei minha vaga pro bootcamp com o VIK no IPExpert.

Utilizei todo material do IPExpert como base dos estudos e também o Blog do Bruno. Comecei assistindo aos videos do Vik, bem conceitual, mas eu já havia alterado minha rotina, minha vida era dentro do Laboratório da Dimension Data que ficou exclusivo para meu uso.

Após assistir a todos os videos e ter muitas anotações, parti para o WorkBook I, fui fazendo os labs, testando funcionalidade por funcionalidade, a cada dia que passava me sentia mais satisfeito com meu desenvolvimento e via quao grande era o abismo entre o nível "Professional" e "Expert", mas eu sabia que esse abismo ia se tornando cada vez menor a cada dia que passava. Tive o apoio muito próximo do Bruno, que sempre arrumava um tempinho pra tirar as dúvidas que surgiam (o blog também está bem rico de informações e tem uma leitura agradável).

O proximo passo foi partir pro Workbook II e já de olho nos labs do BootCamp. Eu simplesmente treinava todos os dias, sem folga, sem carnaval, sem pascoa, sem nada, meu foco era total nos labs mas ainda estava muuuito lento, mesmo confiante tecnicamente, sabia que velocidade era crucial pro exame e esse era meu gap naquele momento.

Fui pra San Jose para participar do BootCamp (Maio) e posso dizer que me deu uma visão mais clara sobre o formato da prova, o Vik é foi muito atencioso e sempre entrou em detalhes dos tópicos abordados no blue print, realmente vale muito a pena. Além do Vik, foi lá que conheci o Evandro Nunes (finado), por coincidência estavamos no mesmo hotel e passamos quase 20 dias lado a lado, trocavamos idéia direto, davamos risada de monte e ele se mostrou uma grande pessoa.
A primeira tentativa foi tensa de mais, o relógio foi o pior inimigo e falhei (dentro do esperado).

Retornado ao Brasil parei de fazer lab durante uma semana para poder digerir tudo que passei nos seis meses de preparação. Passado mais 10 dias vem a notícia...meu relacionamento de quase doze anos e dois filhos tinha ruído... minha casinha caiu. Foi FODA!!! Foram noites e noites sem sono e já tinha marcado novamente a prova. Em meio a tanta porrada veio a notícia que o Evandro havia sido aprovado. PQP!!! Ele me ligou, comemoramos, chorei minhas pitangas e ele me disse pra não desistir e fazer isso pelos meus filhos. Aos poucos e com ajuda da minha família, filhos e amigos fui me recompondo... até que... recebo a notícia que o Evandro havia passado mal e falecido. Mais um baque! Mesmo com os revés, tentei manter o foco; tentei fazer lab mas a cabeça num tava ajudando.
Dei o meu melhor (dentro do possível) e parti pra RTP em Setembro, pra segunda tentativa. Novamente um revés, mas eu estava preparado pra paulada.

Voltei para o Brasil e até pensei em desistir, mas meus amigos, minha família e meus filhos me deram muuuuita força.
Com a ajuda de todos superei as porradas, reagendei a prova e voltei a fazer lab, só que desta vez num ritmo frenééético, a rotina era realmente pesada, mas em compensação eu estava rápido e muito consistente. Apesar de ser minha última tentativa nesse blue print, minha confiança era muito grande.

Parti novamente pra RTP, fui com um amigo e dividimos o hotel. A companhia foi importante pra poder tirar um pouco o foco e tensão pré prova.
Chegado o grande dia! Fui pra Cisco bem tranquilo e só mentalizava que eu tinha que manter o foco e seguir minha abordagem pra prova.

Abri minha prova e fui preenchendo minhas tabelas. Estava muito preparado. Mandei bala e tentei fazer o máximo possível antes do almoço. Saí pra almoçar e não faltava muito para terminar, só um detalhe, do nada meu Pub estava inacessível e o proctor teve de intervir. Travei!!!

Voltei do almoço e o proctor resolveu o problema com o PUB. Nesse momento pensei... é o meu momento... Finalizei o lab e voltei em item por item, virgula por virgula, corrigi os detalhes e testei td novamente.
Ufaaa... apesar do cansaço tinha certeza que dei o meu melhor e teria minha vida de volta.

Voltei ao hotel e a primeira coisa que fiz foi dar um F5 kkkkk. Fui jantar, jogar conversa fora e tals e voltei pro hotel e mais um F5...PQP que angústia.
Estava exausto e apaguei. Acordei 7:30 e da-lhe F5, F5, F5 e nada de e-mail. Acessei a página da Cisco e apareceu algo diferente do usual...Pass!!!
Desloguei do portal e desliguei meu PC. Mesmo tendo visto o Pass fiquei pensando "será que ví certo?"

Compartilhei as novidades com todos! Mãe, Bruno, todo mundo do trampo, meus amigos, minha namorada (pois é, esqueci de comentar que nesse meio tempo conheci uma mulher maravilhosa que também me ajudou muito e continua me ajudando), mas o melhor foi quando pude falar com minha filha.

Ela perguntou como eu estava e tals e na sequência ela mandou... Pai você passou???
Respondi que sim e ela não parou de comemorar...

PQP tem coisa que é impagável!!!

Novamente só tenho a agradecer a Deus e todos que me cercam! Sozinho eu jamais teria conseguido!

Pra quem pretende encarar esta guerra, deixo uma dica:
- Esteja preparado para as baixas e cicatrizes pós guerra.
- Não compre essa briga sozinho.
- Enjoy your journey


<3<3<3<3<3<3
Abs,

Diego Nóbrega

################################################################################

quarta-feira, 27 de novembro de 2013

Victor Cavalcante, CCIE #41440

Galera, saiu ontem o segundo CCIE Voice Cearense, Victor Cavalcante!!! Parabéns macho, por essa conquista!!! hehehe

################################################################################

Gostaria de agradecer a Deus mais uma graça ofertada por ele em minha vida ,sem ele nada posso. Dedico tb a minha amada mãe Albetiza que la de cima torce pro meu sucesso e felicidade.
Agradeço a minha esposa Jéssica Gomes pelos longos anos de paciência dedicação , compreensão que foi fundamental para o meu sucesso nesta empreitanda (sem você meu amor ,nada posso) e minha filha Tayla que mesmo na barriga da mamãe leva a dedicatoria.
Dedico ao meu amigo Emanuel Damasceno que me ajudou muito durante toda a minha caminhada CCIE com seu enorme conhecimento e experiencia compartilhando conhecimento , conselhos e nunca (eu repito) NUNCA em nenhum um momento ( mesmo depois que ele passou no seu ccie voice) deixou de me ajudar. Muitas sessões de teamviwer , skype (audio , video), enfim um exemplo de grande amigo do peito e tambem meu mentor (se alguem tiver interessado em ter know-how em ccie voice, fale com ele heheheheh) .Obrigado por tudo melzin meu id tb e seu hehehehe pode se considerar double agora.
Tambêm dedico ao meu estimado amigo Vagner Aragão que me emprestou equipamentos para que eu pude-se "Labear" bastante e teve a enorme paciência de deixar comigo , muito obrigado pela torcida e pelo financiamento CCIE , o que você precisar mano pode contar comigo meu amigo. Vamo organizar um baba pra comemorar.

Obrigado a todos os meus amigos que torceram por mim nesta minha empreitada que durou alguns anos , se sintam realmente abraçados por mim. Muito obrigado pela torcida.

Agradeço a minha dedicação , empenho e disciplina.

Obrigado tambėm ao Raul Motta que me fez o convite pra trabalhar em Angola e assim eu pude-se evoluir como humano e profissional , que de certa forma ajudou no sucesso desta empreitada rumo ao CCIE.

A sensação de não acreditar ainda e muito forte vlw a todos pela torcida.
Alô Cearà e todo Nordeste , bota mais um CCIE na conta , aaa de Voice viu hehhehehehehehe.
Iiiieeeeeeeeeeeeeeiiiiiiihhhh"

Victor Cavalcante

################################################################################