[AsteriskBrasil] [ElastixBrasil] Re: Como criar ramais em lote no Elastix

Alexandre Correa ajcorrea em gmail.com
Segunda Abril 1 00:27:17 BRT 2013


pode trocar esse tanto de consulta de INSERT por isto:



                $query[] = "

INSERT INTO sip (id, keyword, data, flags) values

('$ramal','secret','$senha',2),
('$ramal','dtmfmode','rfc2833',3),
('$ramal','canreinvite','no',4),
('$ramal','context','from-internal',5),
('$ramal','host','dynamic',6),
('$ramal','type','friend',7),
('$ramal','nat','yes',8),
('$ramal','port','5060',9),
('$ramal','qualify','yes',10),
('$ramal','callgroup','$callgroup',11),
('$ramal','pickupgroup','$pickupgroup',12),
('$ramal','disallow','$codec_disallow',13),
('$ramal','allow','$codec_allow',14),
('$ramal','dial','SIP/$ramal',15),
('$ramal','accountcode','',16),
('$ramal','mailbox','$ramal em device',17),
('$ramal','deny','$deny',18),
('$ramal','permit','$permit',19),
('$ramal','account','$ramal',20),
('$ramal','callerid','$ramal <$ramal>',21),
('$ramal','record_in','$gravar_in',22),
('$ramal','record_out','$gravar_out',23)

";

apenas 1 insert :)


Sds.
Alexandre J. Correa
Onda Internet
http://www.onda.net.br


IPV6 Ready !!!



2013/3/31 Roger Pitigliani <rogerwinter em gmail.com>

> Segue script em php para gerar ramais em sequencia.
> Crie um arquivo /tmp/gerar_ramais.php e coloque o conteudo abaixo.
> Edite as configurações de banco de dados e configurações dos ramais que
> deseja e também a quantidade.que deseja gerar.
>
> Salve e execute:
> php -f /tmp/gerar_ramais.php
>
> Depois de executado, vá na interface web e dê um Aplicar na confs.
>
> <?php
>
>         $mysql_host = '127.0.0.1';
>         $mysql_user = 'root';
>         $mysql_pass = 'senhadomysql';
>         $mysql_base = 'asterisk';
>
>         $primeiro_ramal = 2001;
>         $quantidade = 20;
>         $prefix_name = "Ramal ";
>         $gravar_in = "Always"; // Always, Adhoc, Never
>         $gravar_out = "Always"; // Always, Adhoc, Never
>         $deny = "0.0.0.0/0.0.0.0";
>         $permit = "192.168.1.0/255.255.255.0"; // Redes que podem se
> registrar
>         $senha_prefix = "prefixosenha";
>         $callgroup = "1";
>         $pickupgroup = "1";
>         $codec_disallow = "all";
>         $codec_allow = "alaw&ulaw";
>
>         $db =
> mysqli_connect("$mysql_host","$mysql_user","$mysql_pass","$mysql_base");
>
>         if( ! $db ){
>                 echo "Erro ao conectar base de dados\n$db->error\n";
>                 exit;
>         }
>
>         echo "Gerando Ramais \n";
>         for( $ramal = $primeiro_ramal; $ramal <
> ($primeiro_ramal+$quantidade); $ramal++ ){
>
>                 // Checa se ramal ja existe.
>                 $sqlcheck = "SELECT COUNT(*) as quant FROM sip WHERE id =
> '$ramal';";
>                 $rescheck = $db->query($sqlcheck);
>                 $check = $rescheck->fetch_object();
>
>                 if( $check->quant > 0 ){
>                         echo "Opa! Ramal $ramal ja existe, ignorando \n";
>                         continue;
>                 }
>
>                 $query = array();
>                 $senha = $senha_prefix . $ramal;
>
>                 $query[] = "DELETE FROM users WHERE extension = '$ramal';";
>                 $query[] = "DELETE FROM devices WHERE id = '$ramal';";
>                 $query[] = "DELETE FROM sip WHERE id = '$ramal';";
>                 $query[] = "DELETE FROM fax_users WHERE user = '$ramal';";
>
>                 $query[] = "INSERT INTO users
> (extension,password,name,voicemail,ringtimer,noanswer,recording,outboundcid,sipname)
>                                 values ('$ramal', '', '$ramal', 'novm',
> '0', '', 'out=$gravar_out|in=$gravar_in', '', '$ramal')";
>                 $query[] = "INSERT INTO devices
> (id,tech,dial,devicetype,user,description,emergency_cid)
>                                 values
> ('$ramal','sip','SIP/$ramal','fixed','$ramal','$ramal','');";
>                 $query[] = "INSERT INTO sip (id, keyword, data, flags)
> values ('$ramal','secret','$senha',2)";
>                 $query[] = "INSERT INTO sip (id, keyword, data, flags)
> values ('$ramal','dtmfmode','rfc2833',3)";
>                 $query[] = "INSERT INTO sip (id, keyword, data, flags)
> values ('$ramal','canreinvite','no',4)";
>                 $query[] = "INSERT INTO sip (id, keyword, data, flags)
> values ('$ramal','context','from-internal',5)";
>                 $query[] = "INSERT INTO sip (id, keyword, data, flags)
> values ('$ramal','host','dynamic',6)";
>                 $query[] = "INSERT INTO sip (id, keyword, data, flags)
> values ('$ramal','type','friend',7)";
>                 $query[] = "INSERT INTO sip (id, keyword, data, flags)
> values ('$ramal','nat','yes',8)";
>                 $query[] = "INSERT INTO sip (id, keyword, data, flags)
> values ('$ramal','port','5060',9)";
>                 $query[] = "INSERT INTO sip (id, keyword, data, flags)
> values ('$ramal','qualify','yes',10)";
>                 $query[] = "INSERT INTO sip (id, keyword, data, flags)
> values ('$ramal','callgroup','$callgroup',11)";
>                 $query[] = "INSERT INTO sip (id, keyword, data, flags)
> values ('$ramal','pickupgroup','$pickupgroup',12)";
>                 $query[] = "INSERT INTO sip (id, keyword, data, flags)
> values ('$ramal','disallow','$codec_disallow',13)";
>                 $query[] = "INSERT INTO sip (id, keyword, data, flags)
> values ('$ramal','allow','$codec_allow',14)";
>                 $query[] = "INSERT INTO sip (id, keyword, data, flags)
> values ('$ramal','dial','SIP/$ramal',15)";
>                 $query[] = "INSERT INTO sip (id, keyword, data, flags)
> values ('$ramal','accountcode','',16)";
>                 $query[] = "INSERT INTO sip (id, keyword, data, flags)
> values ('$ramal','mailbox','$ramal em device',17)";
>                 $query[] = "INSERT INTO sip (id, keyword, data, flags)
> values ('$ramal','deny','$deny',18)";
>                 $query[] = "INSERT INTO sip (id, keyword, data, flags)
> values ('$ramal','permit','$permit',19)";
>                 $query[] = "INSERT INTO sip (id, keyword, data, flags)
> values ('$ramal','account','$ramal',20)";
>                 $query[] = "INSERT INTO sip (id, keyword, data, flags)
> values ('$ramal','callerid','$ramal <$ramal>',21)";
>                 $query[] = "INSERT INTO sip (id, keyword, data, flags)
> values ('$ramal','record_in','$gravar_in',22)";
>                 $query[] = "INSERT INTO sip (id, keyword, data, flags)
> values ('$ramal','record_out','$gravar_out',23)";
>                 $query[] = "REPLACE INTO fax_users (user, faxenabled,
> faxemail) VALUES ('$ramal','','')";
>                 $query[] = "UPDATE admin SET value = 'true' WHERE variable
> = 'need_reload'";
>
>                 $db->query("SET AUTOCOMMIT = 0");
>                 $db->query("START TRANSACTION");
>                 $erros = 0;
>                 $erros_array = array();
>
>                 foreach( $query as $qry ){
>                         if( ! $db->query($qry) ){
>                                 $erros++;
>                                 $erros_array[] = "Erro: $db->error \n";
>                         }
>                 }
>
>                 if( $erros > 0 ){
>                         echo "Ramal $ramal nao foi criado pelos seguintes
> erros\n";
>                         print_r($erros_array);
>                         $db->query("ROLLBACK");
>                 }else{
>                         echo "Ramal $ramal criado com sucesso\n";
>                         $db->query("COMMIT");
>                 }
>
>                 $db->query("SET AUTOCOMMIT = 1");
>
>         }
>
> ?>
>
>
>
>
> Em 31 de março de 2013 14:12, Edemilson <edemilson em fsis.com.br> escreveu:
>
>> Fiz examente o que o Sato disse, mas dá um erro "Verify the header -
>> Incomplete Columns"...como resolver isso ?
>>
>> Em sexta-feira, 22 de março de 2013 11h33min23s UTC-3, amsato escreveu:
>>
>>> Em certas ocasiões podemos precisar criar 100 ou mais ramais num único
>>> servidor Elastix. Criar estes ramais um por um no procedimento normal vai
>>> ser muito trabalhoso e cansativo.
>>>
>>>
>>>
>>> Para este tipo de situação no Elastix existe o módulo *"Batch of
>>> Extensions"*, onde podemos criar diversos ramais a partir de um arquivo
>>> de dados csv.
>>>
>>>
>>>
>>> Para utilizar este módulo, primeiro crie pelo menos um ramal com todas
>>> as características necessárias e depois descarregue o arquivo csv, clicando
>>> no *"Download the current extensions in CSV format"* para ter como
>>> exemplo de configuração.
>>>
>>>
>>>
>>> Adicione todos os ramais necessários no arquivo csv, seguindo o padrão
>>> do ramal existente. Salve e selecione este arquivo para fazer o upload para
>>> o módulo e no final clique no botão *"Upload CSV file"* para realizar a
>>> importação dos ramais.
>>>
>>>
>>>
>>> **** Contribua também com alguma documentação, isto vai ajudar a todos
>>> da Comunidade ***          *
>>>
>>>
>>>
>>> * Curtir <http://www.facebook.com/r.php?fbpage_id=123090474440127&r=111>
>>> *
>>>
>>> *http://www.facebook.com/ElastixBrasil*
>>>
>>> *https://twitter.com/ElastixBrasil*
>>>
>>>
>>>
>>> *Alberto M. Sato
>>> **Diretor Técnico*
>>> *Innovus Sistemas Eletrônicos - Soluções VoIP
>>>
>>> *Volta Redonda/RJ - Brasil
>>> amsato em innovus.com.br
>>> (24) 3076-2325
>>> (11) 4063-7416 / (21) 4063-7416
>>> (31) 4062-7416 / (41) 4063-7416
>>> *Ramal/LigVoIP:* 319
>>>
>>> www.albertosato.voipcenter.**com.br<http://www.albertosato.voipcenter.com.br/>
>>> www.dicasasterisk.**asteriskonline.com.br<http://www.dicasasterisk.asteriskonline.com.br/>
>>> www.dicasvoip.voipcenter.com.**br<http://www.dicasvoip.voipcenter.com.br/>
>>>
>>>
>>>
>>  --
>>
>> ---
>> Você está recebendo esta mensagem porque se inscreveu no grupo
>> "ElastixBrasil" dos Grupos do Google.
>> Para cancelar a inscrição neste grupo e parar de receber seus e-mails,
>> envie um e-mail para elastixbrasil+unsubscribe em googlegroups.com.
>> Para postar neste grupo, envie um e-mail para
>> elastixbrasil em googlegroups.com.
>> Visite este grupo em
>> http://groups.google.com/group/elastixbrasil?hl=pt-BR.
>> Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
>>
>>
>>
>
>
>
> --
> --
> Roger Pitigliani
> rogerwinter em gmail.com
> Skype: roger.pitigliani
>
> _______________________________________________
> KHOMP: completa linha de placas externas FXO, FXS, GSM e E1;
> Media Gateways de 1 a 64 E1s para SIP com R2, ISDN e SS7;
> Intercomunicadores para acesso remoto via rede IP. Conheça em
> 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
> _______________________________________________
> ALIGERA – Fabricante nacional de Gateways SIP-E1 para R2, ISDN e SS7.
> Placas de 1E1, 2E1, 4E1 e 8E1 para PCI ou PCI Express.
> Channel Bank – Appliance Asterisk - Acesse www.aligera.com.br.
> _______________________________________________
> Para remover seu email desta lista, basta enviar um email em branco para
> asteriskbrasil-unsubscribe em listas.asteriskbrasil.org
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20130401/261fe72d/attachment-0001.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil