YAPC::Brasil 2009, OpenSIPS e PERL

Post on 30-Nov-2014

1.296 views 1 download

description

 

Transcript of YAPC::Brasil 2009, OpenSIPS e PERL

Perl com OpensipsThiago Rondon

YAPC::Brasil 2009

IntroduçãoBásico

ExemplosDicas

Pergunta:O que é SIP ?

Pergunta:O que é OpenSips ?

Pergunta:Perl no OpenSips ?

IntroduçãoBásico

ExemplosDicas

Compilar e Instalar o módulo perl.so:Makefile: EXCLUDE_MODULES

opensips.cfg

loadmodule(“perl.so”) ....modparam(“perl”, “filename”, “/path/to/perlfunctions.pl”);

route {

if (method==”INVITE”) { perl_exec(“function”, “param”);

}

}

IntroduçãoBásico

ExemplosDicas

Trocar183 (Early media) por 180 (Ringing)

• Delay para completar chamada.

• Evitar ring “falso” do software cliente.

Flagsuse OpenSIPS;use OpenSIPS::Constants;sub setflag { $_->setFlag(FL_GREEN);}

sub readflag { $_->readFlag(FL_MAGENTA);}

Headersuse OpenSIPS;sub headernames { my $m = shift; my @h = $m->getHeaderNames(); foreach (@h) { my $f = $_; log(L_INFO, "header $f\n"); }}

::PhoneNumbers

• Módulo OpenSips::Utils::PhoneNumbers

• Política de discagem para os clientes.

IPC::Shareable

• Variável persistente entre múltiplas conexões. (processos)

IntroduçãoBásico

ExemplosDicas

Perl Virtual Database

• Módulo: perlvdb

• Alias

• LDAP

Dicas

• Manipulação dos headers

• Logs customizados

• Flags

• Números

Dicas - Interação

• http://www.opensips.org/

• Mailling list pt_BR

Perguntas ? Dúvidas ?

Comentários ? Sugestões ?

Obrigado!Thiago Rondon

thiago@aware.com.brhttp://www.aware.com.br/