29 de set. de 2008

Troca dinâmica de contexto

 

Pessoal,

Semana passada tive uma dúvida e postei o seguinte tópico na lista de discussão de Asterisk:

2008/9/27 Fellipe Pinheiro <fellipe_pinheiro@hotmail.com>

Olá companheiros da lista,

estou com uma dúvida que está infernizando o meu sono.

Cenário: Uma empresa com 15 ramais, sendo que 5 ramais são externos. Todos os ramais fazem ligação a vontade, inclusive os externos. O que está ocasionando em ligações pessoais fora do expediente.

Pergunta: Eu queria saber se existe alguma forma, no asterisk, que eu mude o plano de discagem do ramal quando ele se conectar externamente. Tipo, permitir só ligações entre ramais ou permitir, apenas, ligações locais.

desde já, agradeço

att,

Fellipe Pinheiro

 

O nosso amigo e colaborador deste blog, Shazaum, respondeu o seguinte:

cara da um show na aplicação
cli> show application gotoiftime

gotoiftime(18:00-07:00|sun-sat|*|*?context-foraexpediante,s,1)


http://www.voip-info.org/wiki-Asterisk+cmd+GotoIfTime

 

Quero agradecer ao Shazaum pela dica. finalmente consegui dormir tranquilo. hehehe

abraços!!

iPhone de 32gb? (iPod Touch Mod)

 

Que tal economizar seu dinheirinho em ligações, pacote de dados e no preço do aparelho?

A solução está nos links abaixo e é bem simples, com um simples microfone e um aplicativo você terá voip no seu iPod Touch e será livre! pena que é uma realidade apenas para quem tem wireless sempre perto.

Turn Your iPod Touch into an iPhone: http://lifehacker.com/378511/turn-your-ipod-touch-into-an-iphone

Siphon: http://code.google.com/p/siphon/

Adeus operadoras!

27 de set. de 2008

Escreva você mesmo

Alguma vez você já quis escrever um módulo Asterisk?

Enquanto alguns dos módulos Asterisk são bem complicados, a anatomia de um módulo Asterisk é bem simples। Vamos começar com um "HelloWord" nos Modulos do Asterisk: res_helloworld।c

Este exemplo é baseado em Asterisk-1.6. No entanto, a criação de módulos para o Asterisk-1.4 é quase a mesma coisa.

Crie o res_helloword.c no diretorio res/ do fonte asterisk..

A primeira coisa a fazer nos modulos é colocar o include da biblioteca do asterisk "asterisk.h "

ex: #include "asterisk.h"

Em seguida, incluir a macro ASTERISK_FILE_VERSION. Isto registra o arquivo com o "core show file version" na cli, e mostra a última revisão feita no svn.

ASTERISK_FILE_VERSION(__FILE__, "$Revision: $")

Incluir no cabeçaho do asterisk o module tb. Isto inclui as definições necessárias para implementar um módulo Asterisk
#include "asterisk/module.h"

Inclua tb o cabeçalho do arquivo que permite-nos utilizar a interface do Asterisk. Isto vai imprimir mensagens de log, para que o nosso novo módulo realmente faz alguma coisa.

#include "asterisk/logger.h"

agora hora de incluir as duas funções que cada módulo deve ter no Asterisk। são elas load_module () e unload_module () :-) । Estas funções são chamadas quando o Asterisk carrega e descarrega o módulo.

static int load_module(void)
{
ast_log(LOG_NOTICE, "Hello World!\n");
return AST_MODULE_LOAD_SUCCESS;
}


static int unload_module(void)
{
ast_log(LOG_NOTICE, "Goodbye World!\n");
return 0;
}

Por fim, cada módulo deve incluir um exemplo de uma das macros AST_MODULE_INFO. Esta macro inclui o código necessário para o módulo se registar adequadamente quando o Asterisk carregar.
AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Hello World");

O resultado final deverá parecido com este: res_helloworld.c

Quando você executar o make para compilar Asterisk, o sistema de construção deve localizar automaticamente o seu módulo. Será compilado e instalado com o resto do Asterisk. Compilar, instalar e executar Asterisk. Em seguida, verifique se o módulo foi carregado:
*CLI> module show like helloworld
Module Description Use Count
res_helloworld.so Hello World 0
1 modules loaded

Você também pode descarregar e carregar o seu módulo, e ao ver a mensagem apropriada no Asterisk logger.
*CLI> module unload res_helloworld.so
[Jun 19 10:50:57] NOTICE[26612]: res_helloworld.c:35 unload_module: Goodbye World!
*CLI> module load res_helloworld.so
[Jun 19 10:51:05] NOTICE[26612]: res_helloworld.c:42 load_module: Hello World!
Loaded res_helloworld.so => (Hello World)

25 de set. de 2008

VoIP com Asterisk é o tema da Linux Magazine Especial #03

 

Conversar por voz pela Internet já não é mistério. No entanto, você sabe se sua empresa está se beneficiando ao máximo do VoIP?

A Linux Magazine Especial #03 aborda as tecnologias e soluções VoIP disponíveis para que você equipe sua empresa com o que há de mais moderno, eficiente e amigável, sem exceder os custos. Aprenda a instalar e configurar um servidor Asterisk com os principais recursos (DDR, URA, DAC, filas de atendimento, caixa postal de voz e muito mais) e conheça os melhores clientes VoIP disponíveis para sistemas Linux.

Mercado: Você conhece a fundo o mercado brasileiro de VoIP e seus principais players? Nós entrevistamos os executivos dos maiores fornecedores de equipamentos e das principais operadoras VoIP para você ficar a par de suas estratégias de mercado e descobrir qual se alinha melhor aos objetivos da sua empresa.

17 de set. de 2008

Elastix - Parte 3


Uma boa sacada do Elastix é que já vem instalado o Hylafax. Portanto, é só você criar um ramal IAX e criar um servidor de fax virtual direcionando para este ramal. Pronto, você já tem um servidor de fax instalado.

segue o screenshot da tela de FAX do Elastix:

image

Visual Dialplan


Parece que é uma ferramenta legal. Não testei, ainda.

Quem souber, comente por favor.

Elastix - Parte 2


eh pessoal. minha simpatia com o Elastix está se aumentando a cada dia.

Gostei muito do suporte a Call Center que ele tem. As ferramentas para Call Center para asterisk não são fáceis de achar. Quando vc consegue achar, o custo é caro. O módulo para Call Center do Elastix é bem enxuto. Porém, bem fácil configuração.

 

Seguem alguns screenshots do módulo Call Center do Elastix:

 

imageimage

image

 

confira mais em http://www.elastix.org

abraços!!

att,

Fellipe Pinheiro

16 de set. de 2008

Elastix

Estou testando um distribuição chamada Elastix. Até que é uma distribuição muito boa. Tem uma boa interface web, você pode instalar um modulo para suporte em Call Center, tem um bom relatório.
Simplificando, vale a pena a instalação.

para maiores informações, acesse www.elastix.org

abraços!!

Fellipe Pinheiro

Interligar dois servidores asterisk (cluster)

Este é o procedimento para você interligar matriz/filial de servidores asterisk e eles se falaram de ramal pra ramal
Considerando que na matriz, vc tem ramais começados por 1000 (ex: 1000, 1001, etc), e na filial, ramais começados por 2000 (Ex: 2000, 2001, 2002, etc).

A configuração abaixo você deverá fazer na Matriz:

extensions.conf (servidor matriz)

[cluster]
exten=>_2XXX,1,Dial(IAX2/pbx:1234@IP_do_SERVIDOR_FILIAL/${EXTEN})

iax.conf

[pbx] (servidor matriz)
type=friend
context=from-internal
auth=md5
secret=1234
trunk=yes


A configuração abaixo você deverá fazer na Filial:

extensions.conf (servidor filial)

[cluster]
exten=>_1XXX,1,Dial(IAX2/pbx:1234@IP_do_SERVIDOR_MATRIZ/${EXTEN})

iax.conf

[pbx] (servidor filial)
type=friend
context=from-internal
auth=md5
secret=1234
trunk=yes


Não é difícil, depois é só fazer os includes da macro "cluster" na Matriz e na Filial.

Abraços!!

Fellipe Pinheiro