Re: [AsteriskBrasil] RES: Asterisk + MS Sql
Sim com o __ você seta a variável GLOBAL. Em 31 de agosto de 2012 09:53, Alexander escreveu: > Nas AGIs que utilizo eu uso da seguinte forma: > > $AGI->set_variable("INDIVIDUO",$NOME_INDIDIDUO); > > ** ** > > Sem esse “__”, se não me engano isso é utilizado para variáveis global no > extension.conf. > > ** ** > > Mas se utiliza “__” no extensions também tem que colocar: > > exten => _*1230,n,NoOP(NOME DO INDIVIDUO ${*__INDIVIDUO}) > > ** ** > > Att. > > Alexander > > ** ** > > *De:* asteriskbrasil-boun...@listas.asteriskbrasil.org [mailto: > asteriskbrasil-boun...@listas.asteriskbrasil.org] *Em nome de *Daviramos > Roussenq Fortunato > *Enviada em:* sexta-feira, 31 de agosto de 2012 10:43 > *Para:* asteriskbrasil@listas.asteriskbrasil.org > *Assunto:* Re: [AsteriskBrasil] Asterisk + MS Sql > > ** ** > > Conforme mencionei, não fiz o teste. Vamos lá. > > ** ** > > 1 : { Qual a necessidade desta instancia se o objeto criado não esta sendo > chamado? > $astman = new AGI_AsteriskManager(); > } > > ** ** > > Pode retirar que vai funcionar normalmente. > > ** ** > > 2 : { Ao definir a varial ${INDIVIDUO} sua referencia no php é desta forma > ? > $AGI->set_variable("__ > INDIVIDUO",0); > } > > ** ** > > Deve ser: > > ** ** > > $AGI->set_variable("__INDIVIDUO",$NOME_INDIDIDUO); > > ** ** > > Acho que agora funciona, se alguém poder testar. > > ** ** > > Em 31 de agosto de 2012 09:11, Ricardo Augusto > escreveu: > > Amigo analisando teu post, fiquei com algumas duvidas. > > Usou programador php e um novato estudante das funcionalidades AGI. > > O codigo a baixo exemplifica, mas deixa algumas duvidas : > 1 : { Qual a necessidade desta instancia se o objeto criado não esta sendo > chamado? > $astman = new AGI_AsteriskManager(); > } > 2 : { Ao definir a varial ${INDIVIDUO} sua referencia no php é desta forma > ? > $AGI->set_variable("__ > INDIVIDUO",0); > } > > Oque não ficou claro é a atribuição do nome obtido no banco a variavel > ${INDIVIDUO} dentro do php, acredito que tenha uma referencia direta e > clara a = b, mas pela pouca experiencia no ambiente, posso não ter essa > visão e compreensao. > > Agradeço desde já pela atenção. > > Ricardo Augusto > - > > exten => _1230,1,Answer > exten => _1230,n,AGI(LerDadosMSSql.php) > exten => _1230,n,NoOP(NOME DO INDIVIDUO ${INDIVIDUO}) > exten => _1230,n,Hangup > > > LerDadosMSSql.php > (corpo do arquivo) > #!/usr/bin/php -q > require_once "phpagi.php"; > require_once "phpagi-asmanager.php"; > $AGI = new AGI(); > $astman = new AGI_AsteriskManager(); > > if (!$astman->connect("127.0.0.1", "manager", "managersecret")) > { > exit (1); > } > > $host = "IP_DATA_BASE"; > $user = "usuario_database"; > $pass = "senha_database"; > $banco = "nome_database"; > > $conexao = mssql_connect($host, $user, $pass) or debug("Erro de conexão."); > mssql_select_db($banco,$conexao) or debug("Erro ao tentar abrir o Banco."); > > $telefone = get_var($AGI,'CALLERID(number)'); > > $sql = "SELECT NOME_INDIVIDUO FROM tabela WHERE > NUMERO_TELEFONE='$telefone'"; > $result = mssql_query($SQL,$conexao); > > while($linha = mssql_fetch_array($result)) { > $NOME_INDIDIDUO = $linha[0]; > } > > $AGI->set_variable("__INDIVIDUO",0); > exit( 0 ); > > function get_var( $agi, $value) { > $r = $agi->get_variable( $value ); > if ($r['result'] == 1) { > $result = $r['data']; > return $result; > } > return ''; > } > > ?> > > ___ > 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 > > > > > > ** ** > > -- > Atenciosamente > Daviramos Roussenq Fortunato > > ___ > 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 melho
[AsteriskBrasil] RES: Asterisk + MS Sql
Nas AGIs que utilizo eu uso da seguinte forma: $AGI->set_variable("INDIVIDUO",$NOME_INDIDIDUO); Sem esse __, se não me engano isso é utilizado para variáveis global no extension.conf. Mas se utiliza __ no extensions também tem que colocar: exten => _1230,n,NoOP(NOME DO INDIVIDUO ${__INDIVIDUO}) Att. Alexander De: asteriskbrasil-boun...@listas.asteriskbrasil.org [mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org] Em nome de Daviramos Roussenq Fortunato Enviada em: sexta-feira, 31 de agosto de 2012 10:43 Para: asteriskbrasil@listas.asteriskbrasil.org Assunto: Re: [AsteriskBrasil] Asterisk + MS Sql Conforme mencionei, não fiz o teste. Vamos lá. 1 : { Qual a necessidade desta instancia se o objeto criado não esta sendo chamado? $astman = new AGI_AsteriskManager(); } Pode retirar que vai funcionar normalmente. 2 : { Ao definir a varial ${INDIVIDUO} sua referencia no php é desta forma ? $AGI->set_variable("__ INDIVIDUO",0); } Deve ser: $AGI->set_variable("__INDIVIDUO",$NOME_INDIDIDUO); Acho que agora funciona, se alguém poder testar. Em 31 de agosto de 2012 09:11, Ricardo Augusto escreveu: Amigo analisando teu post, fiquei com algumas duvidas. Usou programador php e um novato estudante das funcionalidades AGI. O codigo a baixo exemplifica, mas deixa algumas duvidas : 1 : { Qual a necessidade desta instancia se o objeto criado não esta sendo chamado? $astman = new AGI_AsteriskManager(); } 2 : { Ao definir a varial ${INDIVIDUO} sua referencia no php é desta forma ? $AGI->set_variable("__ INDIVIDUO",0); } Oque não ficou claro é a atribuição do nome obtido no banco a variavel ${INDIVIDUO} dentro do php, acredito que tenha uma referencia direta e clara a = b, mas pela pouca experiencia no ambiente, posso não ter essa visão e compreensao. Agradeço desde já pela atenção. Ricardo Augusto - exten => _1230,1,Answer exten => _1230,n,AGI(LerDadosMSSql.php) exten => _1230,n,NoOP(NOME DO INDIVIDUO ${INDIVIDUO}) exten => _1230,n,Hangup LerDadosMSSql.php (corpo do arquivo) #!/usr/bin/php -q connect("127.0.0.1", "manager", "managersecret")) { exit (1); } $host = "IP_DATA_BASE"; $user = "usuario_database"; $pass = "senha_database"; $banco = "nome_database"; $conexao = mssql_connect($host, $user, $pass) or debug("Erro de conexão."); mssql_select_db($banco,$conexao) or debug("Erro ao tentar abrir o Banco."); $telefone = get_var($AGI,'CALLERID(number)'); $sql = "SELECT NOME_INDIVIDUO FROM tabela WHERE NUMERO_TELEFONE='$telefone'"; $result = mssql_query($SQL,$conexao); while($linha = mssql_fetch_array($result)) { $NOME_INDIDIDUO = $linha[0]; } $AGI->set_variable("__INDIVIDUO",0); exit( 0 ); function get_var( $agi, $value) { $r = $agi->get_variable( $value ); if ($r['result'] == 1) { $result = $r['data']; return $result; } return ''; } ?> ___ 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 -- Atenciosamente Daviramos Roussenq Fortunato ___ 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
[AsteriskBrasil] RES: Asterisk + MS Sql
Esse link já vai começar a te ajudar Que e ligando o asterisk no sql http://gheeknet.wordpress.com/2011/10/13/perl-to-microsoft-sql-server-2008-s tandard-via-odbc-using-freetds-drivers/ depois procura sobre algo na lista ou no Google de um contexto que faça consulta no SQL...tem muita coisa vai aos poucos que o pessoal te ajuda aqui Tb... De: asteriskbrasil-boun...@listas.asteriskbrasil.org [mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org] Em nome de silvio barros Enviada em: quarta-feira, 29 de agosto de 2012 17:33 Para: asteriskbrasil@listas.asteriskbrasil.org Assunto: [AsteriskBrasil] Asterisk + MS Sql Boa noite pessoal. Gostaria de saber se tem uma forma de ao receber uma ligação antes de tocar o asterisk pegar o numero de origem fazer uma consulta no banco de dados "MS SQL" dai criar uma condição para que se ele existir ao tocar no soft-phone aparecer o nome da pessoa e não o numero. Como poderia fazer isso? De ultimo caso pensei em fazer uma migração da base do MSsql para mysql e assim provavelmente teria como. Alguém teria uma dica de como fazer essa operação com banco Ms-SQL ou MySQL? Grato pela atenção de todos. ___ 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