YAPC::Brasil 2009, OpenSIPS e PERL

21
Perl com Opensips Thiago Rondon YAPC::Brasil 2009

description

 

Transcript of YAPC::Brasil 2009, OpenSIPS e PERL

Page 1: YAPC::Brasil 2009, OpenSIPS e PERL

Perl com OpensipsThiago Rondon

YAPC::Brasil 2009

Page 2: YAPC::Brasil 2009, OpenSIPS e PERL

IntroduçãoBásico

ExemplosDicas

Page 3: YAPC::Brasil 2009, OpenSIPS e PERL

Pergunta:O que é SIP ?

Page 4: YAPC::Brasil 2009, OpenSIPS e PERL

Pergunta:O que é OpenSips ?

Page 5: YAPC::Brasil 2009, OpenSIPS e PERL

Pergunta:Perl no OpenSips ?

Page 6: YAPC::Brasil 2009, OpenSIPS e PERL

IntroduçãoBásico

ExemplosDicas

Page 7: YAPC::Brasil 2009, OpenSIPS e PERL

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

Page 8: YAPC::Brasil 2009, OpenSIPS e PERL

opensips.cfg

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

Page 9: YAPC::Brasil 2009, OpenSIPS e PERL

route {

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

}

}

Page 10: YAPC::Brasil 2009, OpenSIPS e PERL

IntroduçãoBásico

ExemplosDicas

Page 11: YAPC::Brasil 2009, OpenSIPS e PERL

Trocar183 (Early media) por 180 (Ringing)

• Delay para completar chamada.

• Evitar ring “falso” do software cliente.

Page 12: YAPC::Brasil 2009, OpenSIPS e PERL

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

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

Page 13: YAPC::Brasil 2009, OpenSIPS e PERL

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

Page 14: YAPC::Brasil 2009, OpenSIPS e PERL

::PhoneNumbers

• Módulo OpenSips::Utils::PhoneNumbers

• Política de discagem para os clientes.

Page 15: YAPC::Brasil 2009, OpenSIPS e PERL

IPC::Shareable

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

Page 16: YAPC::Brasil 2009, OpenSIPS e PERL

IntroduçãoBásico

ExemplosDicas

Page 17: YAPC::Brasil 2009, OpenSIPS e PERL

Perl Virtual Database

• Módulo: perlvdb

• Alias

• LDAP

Page 18: YAPC::Brasil 2009, OpenSIPS e PERL

Dicas

• Manipulação dos headers

• Logs customizados

• Flags

• Números

Page 19: YAPC::Brasil 2009, OpenSIPS e PERL

Dicas - Interação

• http://www.opensips.org/

• Mailling list pt_BR

Page 20: YAPC::Brasil 2009, OpenSIPS e PERL

Perguntas ? Dúvidas ?

Comentários ? Sugestões ?