[AsteriskBrasil] RES: Res: função fsocko pen() para se conectar a CLI?

2009-07-20 Por tôpico Vandeir Aniceto Pinheiro - PresTI
Rodrigo 

 

Faz um teste ai coloca a seguinte linha no inicio do seu arquivo 

 

set_time_limit(0); // tira a limitação do tempo de execução do php

 

 

 

Vandeir Aniceto Pinheiro

Tecnologia da Informação

  _  

De: asteriskbrasil-boun...@listas.asteriskbrasil.org 
[mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org] Em nome de Carlos 
Eduardo
Enviada em: segunda-feira, 20 de julho de 2009 10:09
Para: asteriskbrasil@listas.asteriskbrasil.org
Assunto: [AsteriskBrasil] Res: função fsockopen() para se conectar a CLI?

 

Bom dia a todos.

 

Rodrigo Obrigado pela ajuda, mas ainda não funcionou, como eu disse 
anteriormente quando uso o while é como se entrrasse me um loop infinito, 
segue o erro:

 

Fatal error: Maximum execution time of 30 seconds exceeded in 
/var/www/asterisk/teste_retorno_cli.php on line 34

 

segue a linha:

 

while(!$versionok){

 

segue uma parte do codigo:

 

fputs ($socket, Action: command\r\n);
fputs ($socket, Command: core show version\r\n\r\n);
while(!$versionok){
  $version .= fread($socket,8192);
  if(strpos($version, Asterisk)){
 $pos = strpos($version, Asterisk);
  $version = substr($version, $pos);
  $pos_end = strpos($version, \n);
  $version = substr($version, 0, $pos_end);
  $versionok = 1;

 

 

  _  

De: Rodrigo Vian lis...@porttaltecnologia.com.br
Para: asteriskbrasil@listas.asteriskbrasil.org
Enviadas: Sexta-feira, 17 de Julho de 2009 17:45:12
Assunto: Re: [AsteriskBrasil] função fsockopen() para se conectar a CLI‏

Segue um exemplo:

$errno=0 ;
$errstr=0 ;

$server=localhost;
$port=5038;
$username=usuario;
$password=senha;

$socket = fsockopen ($server, $port, $errno, $errstr, 20);
if (!$socket) {
        echo Nao foi possivel connect no servidor Asterisk. Cheque se 
Asterisk manager esta ativo - /etc/asterisk/manager.conf\r\n;
        exit();
} else {
        stream_set_blocking($socket, 0);
        fputs ($socket, Action: login\r\n);
        fputs ($socket, Username: {$username}\r\n);
        fputs ($socket, Secret: {$password}\r\n);
        fputs ($socket, Events: off\r\n\r\n);
}
while(1){
        $log .= fread($socket,8192);
        if(strpos($log, Message: Authentication failed)){
                echo Nao foi possivel connect no servidor 
Asterisk. Cheque se Asterisk manager esta ativo - 
/etc/asterisk/manager.conf\r\n;
                exit();
        }
        if(strpos($log, Message: Authentication accepted)){
                break 1;
        }


fputs ($socket, Action: command\r\n);
fputs ($socket, Command: core show version\r\n\r\n);
while(!$versionok){
        $version .= fread($socket,8192);
        if(strpos($version, Asterisk)){
                $pos = strpos($version, Asterisk);
                $version = substr($version, $pos);
                $pos_end = strpos($version, \n);
                $version = substr($version, 0, $pos_end);
                $versionok = 1;
        }
}

Qualquer clica aqui pra te ajudar:
http://www.voip-info.org/wiki/view/Asterisk+manager+Example:+PHP

Espero ter ajudado...

Abraços

Carlos Eduardo escreveu: 

Boa tarde a todos da Lista
 
Sou novato com PHP, estou tentando me conectar a CLI e executar o comando 
database show e escrever o resultado na pagina web,
Estou usando a seguinte função em uma pagina php:
 
$socket = fsockopen(192.168.0.215,1234);
 fputs($socket, Action: Login\r\n);
 fputs($socket, UserName: user\r\n);
 fputs($socket, Secret: senha\r\n\r\n);
 fputs($socket, Action: Command\r\n);
 fputs($socket, Command: database show\r\n\r\n);
 
porem na hora de escrever o resultado se eu uso o while entra em um loop 
'infinito'
 
while (!feof($socket)) { 
  echo fgets($socket, 128); 
  } 
 
consegui escrever porem dessa forma:

fgets($socket,128);
 $resp01 = fread($socket, 8192);
  $resp01 = fread($socket, 8192);
  $resp01 = fread($socket, 8192);
  $resp01 = fread($socket, 8192);
         echo ($resp01).brbr; // essa linha é a que me 
interessa, só que para eu conseguir escreverr tenho que quebra-lá o problema 
é que não sei o tamanho da matriz
   $respo = split( :,$resp01);
         echo $respo[0] .  br;
         echo $respo[1] .  br;
         echo $respo[2] .  br;
         echo $respo[3] .  br;
  $resp01 = fread($socket, 8192);
  
 fclose($socket);
 
 
o que eu preciso é escrever na tela os ramais que estão registrados,
 
Desde já obrigado pela força.

 

  _  

Veja quais são os assuntos do momento no Yahoo! + Buscados: Top 10 
http://br.rd.yahoo.com/mail/taglines/mail/*http:/br.maisbuscados.yahoo.com/  
- Celebridades 
http://br.rd.yahoo.com/mail/taglines/mail/*http:/br.maisbuscados.yahoo.com/celebridades/
  - Música 

[AsteriskBrasil] RES: CDR no MySQL

2008-11-24 Por tôpico Vandeir Aniceto Pinheiro - PresTI
Olá Flavio,

 

Da uma olhada no log do seu Servidor mysql  e veja qual informação ele ta
tentando fazer insert, esse erro é porque ele ta tentando fazer um insert no
campo id  que não é tipo inteiro.

 

 

 

Vandeir

PresTI

  _  

De: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Em nome de Flavio
Benedini - EvidenciaCSI
Enviada em: segunda-feira, 24 de novembro de 2008 11:08
Para: asteriskbrasil@listas.asteriskbrasil.org
Assunto: [AsteriskBrasil] CDR no MySQL

 

Ola lista,

 

Estou com um problema de gravação do CDR no Banco mysql, estou usando
asterisk 1.6 e mysql 5.0. Com o asterisk addon compilado corretamente.

O banco está em outro servidor já ativo.

 

Os arquivos de configuração estão assim:

 

cdr.conf

[general]

;enable=yes

;unanswered = no

;batch=no

;size=100

;time=300

;scheduleronly=no

;safeshutdown=yes

 

[csv]

usegmtime=yes; log date/time in GMT.  Default is no

loguniqueid=yes  ; log uniqueid.  Default is no

loguserfield=yes ; log user field.  Default is no

 

 

cdr_mysql.conf

[global]

hostname=10.32.0.10

dbname=asterisk

table=cdr

password=*

user=user

port=3306

sock=/tmp/mysql.sock

 

 [aliases]

start=calldate

callerid=clid

;src=src

;dst=dst

;dcontext=dcontext

;channel=channel

;dstchannel=dstchannel

;lastapp=lastapp

;lastdata=lastdata

;duration=duration

;billsec=billsec

;disposition=disposition

;amaflags=amaflags

;accountcode=accountcode

;userfield=userfield

;uniqueid=uniqueid

 

res_mysql.conf

[general]

dbhost = 10.32.0.10

dbname = asterisk

dbuser = user

dbpass = *

dbport = 3306

;dbsock = /tmp/mysql.sock

 

 

Executando os comandos no CLI, tenho a seguinte resposta:

*CLI cdr show status

CDR logging: enabled

CDR mode: simple

CDR output unanswered calls: no

CDR registered backend: mysql

CDR registered backend: csv

CDR registered backend: cdr-custom

 

*CLI cdr mysql status

Connected to [EMAIL PROTECTED], port 3306 using table cdr for 35 seconds.

  Wrote 0 records since last restart.

 

 

Quando completo uma ligação, recebo a seguinte mensagem de erro:

[Nov 24 11:04:26] ERROR[14609]: cdr_addon_mysql.c:320 mysql_log: Failed to
insert into database: (1366) Incorrect integer value: '' for column 'id' at
row 1

 

E então parece que ele se desconecta do mysql:

*CLI cdr mysql status

Not currently connected to a MySQL server.

 

Será que alguém pode me ajudar

 

Flavio Benedini
Tecnologia  Informacão
Grupo Evidência
Fone: +55(19)3209-0330
mail: [EMAIL PROTECTED] 
 http://www.evidenciacsi.com.br/ www.evidenciagrupo.com.br

 

 

image001.jpg___
2 a 4 de Dezembro - IPComm 2008
Com presença de engenheiros da Digium e Jon maddog Hall.
http://www.ipcomm2008.com.br

Compre uma camiseta da AsteriskBrasil.org!
http://www.voipmania.com.br

Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro na rede 
Freenode.net: #asterisk-br
___
Lista de discussões AsteriskBrasil.org
AsteriskBrasil@listas.asteriskbrasil.org
http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil

[AsteriskBrasil] RES: INICIANTE

2008-09-09 Por tôpico Vandeir Aniceto Pinheiro - PresTI
Olá Bruno,

Segue abaixo link a documentação e indicação de book é muito boa!
Comece sempre pelo desenvolvedor!

http://www.asterisk.org/support



-Mensagem original-
De: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Em nome de Claudio
Pereira
Enviada em: terça-feira, 9 de setembro de 2008 17:35
Para: asteriskbrasil@listas.asteriskbrasil.org
Assunto: Re: [AsteriskBrasil] INICIANTE

Pra que GRITAR tanto assim? oO

[  ]'s Claudio

2008/9/9 Bruno Tavares [EMAIL PROTECTED]:
 PESSOAL, ACABEI DE ME INSCREVER NA LISTA E QUERIA UM AUXILIO DE VOCÊS.

 PRETENDO COMEÇAR À ESTUDAR O ASTERISK PARA OFERECER À MEUS CLIENTES,
 JÁ TRABALHO COM SERVIDORES LINUX (FIREWALL, PROXY, WEB E ETC), TEM
 ALUNS MATERIAIS NA NET, MAS QUERIA INDICAÇÃO DE MATERIAIS QUE
 REALMENTE SÃO BONS E NÃO FICAR GARIMPANDO TUTOS MALUCOS POR AÍ,
 PORTANTO QUERIA QUE VOCÊS ME INDICASSEM POR ONDE COMEÇAR, TANTO EM
 QUESTÃO DE SOFTWARE TANTO EM HARDWARE, QUAIS OS HARDWARES BÁSICOS QUE
 DEVO COMPRAR PARA COMEÇAR À ESTUDAR EM CASA OU NO MEU LABORATÓRIO?

 DESDE JÁ AGRADEÇO E ESPERO EM BREVE PODER AJUDAR AQUI NA LISTA.
 ___
 Compre uma camiseta da AsteriskBrasil.org!
 http://www.voipmania.com.br

 Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro na
rede Freenode.net: #asterisk-br
 ___
 Lista de discussões AsteriskBrasil.org
 AsteriskBrasil@listas.asteriskbrasil.org
 http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil




-- 
Claudio Pereira aka IndioX
GentooBR - http://gentoobr.org
mailto: [EMAIL PROTECTED]
-
Gentoo Documentation Member
http://gdp.gentoo.org
___
Compre uma camiseta da AsteriskBrasil.org!
http://www.voipmania.com.br

Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro na
rede Freenode.net: #asterisk-br
___
Lista de discussões AsteriskBrasil.org
AsteriskBrasil@listas.asteriskbrasil.org
http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil

___
Compre uma camiseta da AsteriskBrasil.org!
http://www.voipmania.com.br

Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro na rede 
Freenode.net: #asterisk-br
___
Lista de discussões AsteriskBrasil.org
AsteriskBrasil@listas.asteriskbrasil.org
http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil