Entendi Pessoal da Lista
Será que alguém já utilizou desta forma, ou existe alguma outra forma de fazer isto? Já que o DeadAgi talvez possa não funcionar Att Danilo Almeida -----Mensagem original----- De: asteriskbrasil-boun...@listas.asteriskbrasil.org [mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org] Em nome de Mike Tesliuk Enviada em: Tuesday, June 19, 2012 11:08 AM Para: asteriskbrasil@listas.asteriskbrasil.org Assunto: Re: [AsteriskBrasil] RES: RES: RES: Funcionamento Asterisk com PHP Se você colocar depois do dial tem que ser no contexto de desligamento (h) , pois normalmente depois de falar a sua ponta vai desligar e não vai executar nada, e também não testei executar o AGI depois de desligar Em 19-06-2012 11:01, Danilo Almeida escreveu: > Mike, > > O campo userfield eu uso para gravar o diretório da gravação, aqui o certo > seria mesmo eu mandar para o AGI e fazer o tratamento no código e depois > gravar em uma outra tabela do banco os valores com o RECID da ligação. > > Abaixo eu acrescentei a linha no contexto que mandaria para o AGI, seria > dessa maneira mesmo? Nesse caso estou enviando para meu arquivo PHP. > > Nesse arquivo faria todos os calculo e no final geraria o log e também > gravaria no banco de dados > > ; PARA fixo MOVEL VOIP EX: 99216200 >> exten => _[1-5]XXXXXXX,1,NoOp(---> NOVA LIGACAO EXTERNA VOIP<--) >> exten => _[1-5]XXXXXXX,n,NoOp(---> DE ${CALLERID(num)} PARA ${EXTEN}<--) >> exten => _[1-5]XXXXXXX,n,Set(DESTINO=${EXTEN}) >> exten => _[1-5]XXXXXXX,n,Macro(gravacao,voip) >> exten => _[1-5]XXXXXXX,n,Macro(saidapstn,) >> exten => _[1-5]XXXXXXX,n,Macro(checasaida,) >> exten => _[1-5]XXXXXXX,n,Macro(checasenha,) >> exten => _[1-5]XXXXXXX,n,GotoIf($["${SAIDALIBERADA}" = "NAO"]?desligar) >> exten => _[1-5]XXXXXXX,n,GotoIf($["${SAIDAPSTN}" = "SIM"]?pstn) >> exten => _[1-5]XXXXXXX,n,GotoIf($["${SAIDAFIXOLOCAL}" = "PSTN"]?pstn) >> exten => _[1-5]XXXXXXX,n,GotoIf($["${SAIDAFIXOLOCAL}" = "VOIP"]?voip) >> exten => _[1-5]XXXXXXX,n,GotoIf($["${SAIDAFIXOLOCAL}" = "A2B"]?a2b) >> exten => _[1-5]XXXXXXX,n,Macro(hangupcall,) >> exten => _[1-5]XXXXXXX,n(pstn),Set(CDR(accountcode)=TO-PSTN) >> exten => _[1-5]XXXXXXX,n,Dial(${PORTAPSTN}/${EXTEN},40,Tg) >> exten => _[1-5]XXXXXXX,n,Macro(sinalizacao,${DIALSTATUS}) >> exten => _[1-5]XXXXXXX,n,Macro(hangupcall,) >> exten => _[1-5]XXXXXXX,n(voip),Set(CDR(accountcode)=TO-VOIP) >> exten => > _[1-5]XXXXXXX,n,Dial(SIP/${TECHPREFIX}${CODINCIOVOIP}${DDDLOCAL}${EXTEN}@${O > PERADORA-VOIP},40,Tg) >> exten => _[1-5]XXXXXXX,n(desligar),Macro(sinalizacao,${DIALSTATUS}) >> exten => _[1-5]XXXXXXX,n,Agi(tarifador.php) ;acrescentei aqqui a linha que > manda para AGI > >> exten => _[1-5]XXXXXXX,n,Macro(hangupcall,) > > Att > Danilo Almeida > > -----Mensagem original----- > De: asteriskbrasil-boun...@listas.asteriskbrasil.org > [mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org] Em nome de Mike > Tesliuk > Enviada em: Tuesday, June 19, 2012 9:20 AM > Para: asteriskbrasil@listas.asteriskbrasil.org > Assunto: Re: [AsteriskBrasil] RES: RES: RES: RES: RES: RES: Funcionamento > Asterisk com PHP > > eu pessoalmente deixaria o controle todo no banco de dados e faria o > dial pelo agi mesmo, porem voce pode continuar da maneira que esta, > fazer todo o tratamento da chamada, mandar para o agi para ele pegar o > valor das tarifas e tudo mais , ao sair do agi, voce poderia definir uma > variavel para userfield do cdr com a tarifa para esta chamada, poderia > tabem setar um ID ou algo assim para facilitar sua identificacao ex: > Set(CDR(userfield)="55432:0,12" > > > ali voce acrescentou um identificador para a chamada e o tempo, ao > terminar a chamada voce pode fazer um update ou algo assim em outra > tabela baseado nas variaveis definidas > > se voce colocar no seu contexto um h,1,NoOp(ANSWEREDTIME: > ${ANSWEREDTIME}) voce vai ver que ele mostra o tempo da chamada que é o > valor final que voce precisa (isso ocorrerá após desligar), > provavelmente voce pode usar a propria funcao de mysql do asterisk para > também no h fazer o update no banco > > lembre-se que no seu where voce vai usear 'WHERE userfield like '55432:%' > > a ideia seria fazer o proprio asterisk executar a conta matematica, e > mandar o update para o cdr ou outra tabela . > > Em 19/06/12 09:01, Danilo Almeida escreveu: >> Mike >> >> Com esse script eu já estou conseguindo entender o negócio. Só tem uma >> coisa, no extensions vc não faz o Dial e sim no script da tarifação né? >> >> #executando a discagem >> $AGI->exec("Dial", "SIP/tronco/197"); >> >> No meu caso, tenho uma documentação nessa parte de configuração do > asterisk >> onde outras pessoas também usa, a gente só vai adaptando ela conforme a >> necessidade, to querendo implementar mais essa função do tarifador nesse >> esquema.... abaixo esta a forma que utilizo, por exemplo, para discar pra >> fixo local: >> >> ; PARA fixo MOVEL VOIP EX: 99216200 >> exten => _[1-5]XXXXXXX,1,NoOp(---> NOVA LIGACAO EXTERNA VOIP<--) >> exten => _[1-5]XXXXXXX,n,NoOp(---> DE ${CALLERID(num)} PARA ${EXTEN}<--) >> exten => _[1-5]XXXXXXX,n,Set(DESTINO=${EXTEN}) >> exten => _[1-5]XXXXXXX,n,Macro(gravacao,voip) >> exten => _[1-5]XXXXXXX,n,Macro(saidapstn,) >> exten => _[1-5]XXXXXXX,n,Macro(checasaida,) >> exten => _[1-5]XXXXXXX,n,Macro(checasenha,) >> exten => _[1-5]XXXXXXX,n,GotoIf($["${SAIDALIBERADA}" = "NAO"]?desligar) >> exten => _[1-5]XXXXXXX,n,GotoIf($["${SAIDAPSTN}" = "SIM"]?pstn) >> exten => _[1-5]XXXXXXX,n,GotoIf($["${SAIDAFIXOLOCAL}" = "PSTN"]?pstn) >> exten => _[1-5]XXXXXXX,n,GotoIf($["${SAIDAFIXOLOCAL}" = "VOIP"]?voip) >> exten => _[1-5]XXXXXXX,n,GotoIf($["${SAIDAFIXOLOCAL}" = "A2B"]?a2b) >> exten => _[1-5]XXXXXXX,n,Macro(hangupcall,) >> exten => _[1-5]XXXXXXX,n(pstn),Set(CDR(accountcode)=TO-PSTN) >> exten => _[1-5]XXXXXXX,n,Dial(${PORTAPSTN}/${EXTEN},40,Tg) >> exten => _[1-5]XXXXXXX,n,Macro(sinalizacao,${DIALSTATUS}) >> exten => _[1-5]XXXXXXX,n,Macro(hangupcall,) >> exten => _[1-5]XXXXXXX,n(voip),Set(CDR(accountcode)=TO-VOIP) >> exten => >> > _[1-5]XXXXXXX,n,Dial(SIP/${TECHPREFIX}${CODINCIOVOIP}${DDDLOCAL}${EXTEN}@${O >> PERADORA-VOIP},40,Tg) >> exten => _[1-5]XXXXXXX,n(desligar),Macro(sinalizacao,${DIALSTATUS}) >> exten => _[1-5]XXXXXXX,n,Macro(hangupcall,) >> >> esse context não foi eu quem fez, e sim outro funcionario que nao faz mais >> parte da empresa. No começo do extensions eu adiciono as variáveis e > depois >> o contexto faz tudo sozinho (se sai pelo voip ou pstn, DDD local, etc) >> >> a questão é, de que maneira eu posso usar o AGI nesse contexto sem sair do >> padrão para realizar a tarifação da chamada? >> Sei que para ficar de forma mais simplificada como esta este, precisarei > dar >> uma mexida nesse contexto, mais por enquanto só quero adaptar ai para >> conseguir fazer a tarifação. >> >> E valeu pelo script que foi excelente para mim que estou começando a >> aprender trabalhar com AGI >> >> Att >> Danilo Almeida >> >> -----Mensagem original----- >> De: asteriskbrasil-boun...@listas.asteriskbrasil.org >> [mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org] Em nome de Mike >> Tesliuk >> Enviada em: Monday, June 18, 2012 7:12 PM >> Para: asteriskbrasil@listas.asteriskbrasil.org >> Assunto: Re: [AsteriskBrasil] RES: RES: RES: RES: RES: Funcionamento >> Asterisk com PHP >> >> vamos pensar: >> >> Eu estou usando asterisk 1.8 >> >> fiz um extension que manda para o agi, e desliga, >> >> exten => 1101,1,Agi(teste-tarifacao.agi) >> exten => 1101,n,Hangup() >> >> >> neste agi tem o seguinte. >> >> ------------------ >> >> #!/usr/bin/perl >> >> >> use Asterisk::AGI; >> >> $AGI = new Asterisk::AGI; >> %input = $AGI->ReadParse(); >> >> # Pegando datas e coisas do genero >> my ($sec,$min,$hour,$mday,$mon,$year, >> $wday,$yday,$isdst) = localtime time; >> >> if($mday< 10){ >> $mday = "0" . $mday; >> } >> >> $year = $year + 1900; >> >> $mon = $mon + 1; >> >> if($mon< 10){ >> $mon = "0" . $mon; >> } >> >> $starttime = "$year-$mon-$mday $hour:$min:$sec"; >> >> #definindo o custo da tarifa >> $tarifa="0.481"; >> >> $callerid = $AGI->get_variable("CALLERID(num)"); >> $destino = $AGI->get_variable("EXTEN"); >> >> >> #executando a discagem >> $AGI->exec("Dial", "SIP/tronco/197"); >> >> >> # pegando a variavel com o tempo de atendidod do canal >> $tempo = $AGI->get_variable("ANSWEREDTIME"); >> >> # cobrando minimo de 30 segundos >> if($tempo< 30){ >> $tempo = 30; >> } >> >> >> >> $segundos = ($tempo / 60); >> >> $custo = ($segundos * $tarifa); >> >> >> >> >> >> # Gerando nosso log num arquivo de texto, voce poderia usar um mysql >> para isso >> >> system("echo '$starttime,$callerid,$destino,$tempo,$custo,$tarifa'>> >> /tmp/billing.csv"); >> >> >> >> >> >> >> >> ------------------- >> >> >> No caso, ele vai gerar um arquivo de billing >> >> o conteudo dele é o seguinte (duas ligações, uma de poucos segundos e >> outra de mais de um minuto) >> >> >> O formato do arquivo é: >> >> data,quem,pra_onde,tempo_da_chamada_atendida,valor,tarifa >> >> Abaixo o conteudo: >> >> 2012-06-18 18:42:1,114,11001,30,0.2405,0.481 >> 2012-06-18 18:45:8,114,11001,69,0.55315,0.481 >> >> >> no meu caso aqui ele em alguns momentos nao gerou a escrita no arquivo, >> não olhei o porque, talvez algum erro meu, mas enfim, a base é esta. >> >> >> eu escrevi a saida em um arquivo de texto, poderia ser um banco de dados >> por exemplo e por ai vai. >> >> >> >> >> Em 18-06-2012 18:11, Danilo Almeida escreveu: >>> Ribeiro >>> >>> Não entendo como conseguirei fazer isso, pois após o término da ligação, >>> como farei para calcular o custo dela? >>> >>> Att >>> >>> Danilo ALmeida >>> >>> -----Mensagem original----- >>> De: asteriskbrasil-boun...@listas.asteriskbrasil.org >>> [mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org] Em nome de >> Ribeiro >>> Enviada em: Monday, June 18, 2012 4:53 PM >>> Para: asteriskbrasil@listas.asteriskbrasil.org >>> Assunto: [AsteriskBrasil] RES: RES: RES: RES: Funcionamento Asterisk com >> PHP >>> Danilo >>> >>> Não pelo DeadAGI para a sobrecarga. Pelo evento do AMI/AJAM. Estes podem >>> causar. >>> Entendi sua necessidade, mas não seria melhor pegar pelo banco de dados, >>> adicionar uma coluna sua ou copiar os dados para outra tabela? Isso >> geraria >>> menos carga e seria mais fácil de você conseguir implementar. >>> >>> Um abraço >>> Ribeiro >>> >>> -----Mensagem original----- >>> De: asteriskbrasil-boun...@listas.asteriskbrasil.org >>> [mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org] Em nome de >> Danilo >>> Almeida >>> Enviada em: segunda-feira, 18 de junho de 2012 09:07 >>> Para: asteriskbrasil@listas.asteriskbrasil.org >>> Assunto: [AsteriskBrasil] RES: RES: RES: Funcionamento Asterisk com PHP >>> >>> Sei que já existem diversos tarifadores, é que trabalho em uma empresa de >>> telefonia voIP e quero desenvolver um específico da empresa. >>> Já tenho o script pronto, só que no script e só imprime o valor direto na >>> tela do cliente. Quando o cliente faz uma busca de ligação, ele pega o >>> tempo, faz o calculo e imprime na tela. >>> No asterisk, já esta configurado para gravar as infos no BD, quero > somente >>> conseguir gravar o valor em um novo campo da Tabela. >>> >>> Exemplo: >>> >>> Quando a ligação encerrar, pegar a informação dessa ligação, fazer o >> calculo >>> e dar um update na tabela jogando o valor no campo custo desta mesma >>> ligação. >>> Pelo que vi, isso seria feito pelo DeadAGI, mais como vc disse não sei se >> é >>> a melhor opção pelo fato de poder dar uma sobrecarga. >>> >>> Teria alguma outra forma de fazer isto? >>> >>> obrigado >>> Danilo Alameida >>> -----Mensagem original----- >>> De: asteriskbrasil-boun...@listas.asteriskbrasil.org >>> [mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org] Em nome de >> Ribeiro >>> Enviada em: Monday, June 18, 2012 2:50 AM >>> Para: asteriskbrasil@listas.asteriskbrasil.org >>> Assunto: [AsteriskBrasil] RES: RES: Funcionamento Asterisk com PHP >>> >>> Danilo >>> >>> Já existem tarifadores diversos e até demais no mercado e muitos Free. >>> Alguns até do pessoal aqui. >>> Veja o A2Billing. Ele faz exatamente o que você deseja, já está pronto e >> não >>> tem custo. >>> Acesso ao banco de dados, utilização de um tarifador ou pegar os dados do >>> sistema é o que eu faria, pois você só precisa pegar os dados da ligação >> que >>> já acabou e o Asterisk guarda isso por padrão. >>> Por exemplo: Eu uso o Elastix. Nele tem a aba Report. Em CDR Report eu >> tenho >>> todas as ligações realizadas e eu consigo exportar para CSV. Ele lhe > daria >>> TODOS os dados que você deseja de forma fácil, direta, clara e fácil. Tem >> o >>> canal, duração, origem e destino e se foi atendida ou não. >>> Você também consegue se integrar com o A2Billing. >>> Na verdade é matar uma mosca com uma bomba nuclear o A2Billing para você, >>> mas pode ser feito. >>> >>> Independente da sua solução, como já foi dito, tem o cálculo de custo, > que >>> não é tão simples quanto parece. >>> >>> Sobre o AGI: Em seu caso, você não precisa monitorar as ligações no >> momento >>> em que elas estão acontecendo e entendo que o AGI não atenda você para >> isso. >>> Você poderia usar o DeadAGI para pegar os dados depois do hangup ou um >>> AMI/AJAM com eventos. Neste caso ele dispara o evento toda vez que alguma >>> coisa acontece. Existem vários eventos e eu seguiria pelo evento Crd, > onde >>> toda vez que ocorre um hangup, ele lhe informa o canal que sofreu hangup > e >>> seus dados. >>> Mais dados sobre eventos: >>> http://www.voip-info.org/wiki/view/asterisk+manager+events . Só que tem > um >>> problema. O Astrisk fica pesado, pois ele armazena todos os hungups que >>> ocorreram e em sistemas de tráfego intenso isso pode gerar sobrecarga. Só >>> fique esperto que cada ligação gera 2 canais pelo menos (Pode gerar mais) >> e >>> você tem que entender o que cada canal faz para saber qual deles tem a >>> informação que você deseja ou quais deles contém. >>> >>> Um abraço >>> Ribeiro >>> >>> -----Mensagem original----- >>> De: asteriskbrasil-boun...@listas.asteriskbrasil.org >>> [mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org] Em nome de >>> danilo.alme...@g1telecom.com.br Enviada em: domingo, 17 de junho de 2012 >>> 22:07 >>> Para: asteriskbrasil@listas.asteriskbrasil.org >>> Assunto: [AsteriskBrasil] RES: Funcionamento Asterisk com PHP >>> >>> Ribeiro >>> >>> Isso já é um ótimo começo pra mim, mais com essas 3 opções, eu consigo >>> enviar um bloco de comando e salvar em um arquivo de conf por exemplo que >>> possa ser meus ramais sip e depois da um include no sip.conf? >>> Andei lendo também sobre AGI, mais o material que achei na internet a >>> maioria ou explica coisas avançadas ou coisas básicas que não se encaixa >> no >>> meu projeto. >>> >>> A princípio quero pegar o tempo da ligação e o uniqueid em uma pagina PHP >>> fazer o cálculo do custo da ligação e armazenar no banco. >>> >>> Seria feito pela AGI? >>> >>> Obrigado >>> >>> Danilo Almeida >>> >>> _______________________________________________ >>> 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: yeal...@commlogik.com.br | www.commlogik.com.br | (11) 5503-1011 >>> ______________________________________________ >>> Para remover seu email desta lista, basta enviar um email em branco para >>> asteriskbrasil-unsubscr...@listas.asteriskbrasil.org >>> >>> >>> _______________________________________________ >>> 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: yeal...@commlogik.com.br | www.commlogik.com.br | (11) 5503-1011 >>> ______________________________________________ >>> Para remover seu email desta lista, basta enviar um email em branco para >>> asteriskbrasil-unsubscr...@listas.asteriskbrasil.org >>> >>> _______________________________________________ >>> 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: yeal...@commlogik.com.br | www.commlogik.com.br | (11) 5503-1011 >>> ______________________________________________ >>> Para remover seu email desta lista, basta enviar um email em branco para >>> asteriskbrasil-unsubscr...@listas.asteriskbrasil.org >>> >>> >>> _______________________________________________ >>> 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: yeal...@commlogik.com.br | www.commlogik.com.br | (11) 5503-1011 >>> ______________________________________________ >>> Para remover seu email desta lista, basta enviar um email em branco para >>> asteriskbrasil-unsubscr...@listas.asteriskbrasil.org >>> >>> _______________________________________________ >>> 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: yeal...@commlogik.com.br | www.commlogik.com.br | (11) 5503-1011 >>> ______________________________________________ >>> Para remover seu email desta lista, basta enviar um email em branco para >> asteriskbrasil-unsubscr...@listas.asteriskbrasil.org >> >> _______________________________________________ >> 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: yeal...@commlogik.com.br | www.commlogik.com.br | (11) 5503-1011 >> ______________________________________________ >> Para remover seu email desta lista, basta enviar um email em branco para >> asteriskbrasil-unsubscr...@listas.asteriskbrasil.org >> >> _______________________________________________ >> 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: yeal...@commlogik.com.br | www.commlogik.com.br | (11) 5503-1011 >> ______________________________________________ >> Para remover seu email desta lista, basta enviar um email em branco para > asteriskbrasil-unsubscr...@listas.asteriskbrasil.org > > > _______________________________________________ > 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: yeal...@commlogik.com.br | www.commlogik.com.br | (11) 5503-1011 > ______________________________________________ > Para remover seu email desta lista, basta enviar um email em branco para > asteriskbrasil-unsubscr...@listas.asteriskbrasil.org > > _______________________________________________ > 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: yeal...@commlogik.com.br | www.commlogik.com.br | (11) 5503-1011 > ______________________________________________ > Para remover seu email desta lista, basta enviar um email em branco para asteriskbrasil-unsubscr...@listas.asteriskbrasil.org _______________________________________________ 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: yeal...@commlogik.com.br | www.commlogik.com.br | (11) 5503-1011 ______________________________________________ Para remover seu email desta lista, basta enviar um email em branco para asteriskbrasil-unsubscr...@listas.asteriskbrasil.org _______________________________________________ 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: yeal...@commlogik.com.br | www.commlogik.com.br | (11) 5503-1011 ______________________________________________ Para remover seu email desta lista, basta enviar um email em branco para asteriskbrasil-unsubscr...@listas.asteriskbrasil.org