[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