Re: [AsteriskBrasil] RES: Sip Realtime

2010-09-22 Por tôpico Alex Tavares Faiotto
Vlw Pelas as Duas Explicações Pessoal.

Consegui resolver .

Abraço

Em 21 de setembro de 2010 21:56, Thiago Maluf malu...@gmail.com escreveu:

 1) call-limit = number : Number of simultaneous calls through this
 user/peer.
 2) Não sei se funciona com todas as conexões de realtime, mas no mysql
 basta colocar um atributo na sua coluna do sip-users chamada
 call-limit INT e você define o valor que quiser.

 Ok?

 Abs, Thiago.

 2010/9/21  alci...@sistecvoip.com.br:
  Olá...
 
 
 
  O seguinte...
 
  Você tem que ter uma função no banco pra calcular o tempo máximo que pode
  durar a ligação de acordo com o saldo do cliente e inserir no
  extensions.conf algo como:
 
 
 
  [default]
 
  exten  = _0X.,1,Mysql(Connect connid sip.server.com.br user senha
  NomeDoBancoSIP)
 
  exten  = _0X.,2,Mysql(Query resultid ${connid} select\
  f_calc_time_balance(${CALLERID(num)}\,\ ${SIP_HEADER(TO)})\ as\
 maxTime)
 
  exten  = _0X.,3,Mysql(Fetch fetchid ${resultid} maxTime)
 
  exten  = _0X.,4,Mysql(Clear ${resultid})
 
  exten  = _0X.,5,Mysql(Disconnect ${connid})
 
  exten  = _0X.,6,GotoIf($[${maxTime}=’’]|[${maxTime}=0]?7:8)
 
  exten  = _0X.,7,Hangup
 
  exten  = _0X.,8,Wait,1
 
  switch = Realtime/mycont...@extensions
 
 
 
  Digamos que a estrutura da tabela de rotas do banco seja algo como:
 
 
 
  /*==*/
 
  /* Table: routes*/
 
  /*==*/
 
  create table routes
 
  (
 
 pk_routesint not null,
 
 dsc_routevarchar(50) not null,
 
 context  varchar(30) not null,
 
 extenvarchar(30) not null,
 
 priority int not null,
 
 app  varchar(30) not null,
 
 appdata  varchar(128) not null,
 
 flag_active  smallint not null default,
 
 primary key (pk_routes)
 
  );
 
 
 
  No banco de dados você deve ter uma view que retorna as linhas das rotas
 a
  serem utilizadas pelo Realtime para poder determinar os parâmetros da
  aplicação Dial como abaixo:
 
 
 
  /*==*/
 
  /* View: vw_extensions  */
 
  /*==*/
 
  create view vw_extensions as
 
select pk_routes, context, exten, priority, app, appdata from routes
 
 where flag_active = 1
 
   and exten   is not null
 
   and exten''
 
   and context is not null
 
   and context  ''
 
 order by context, pk_routes;
 
 
 
 
 +---+---+---+--+--+--+
 
  | pk_routes | context   | exten | priority | app  |
  appdata  |
 
 
 +---+---+---+--+--+--+
 
  | 1 | mycontext | _0XX[23456]X. |9 | Dial |
  SIP/55${ext...@operadora:5060|90|S|${maxTime}|
 
  | 2 | mycontext | _0XX[789]X.   |9 | Dial |
  SIP/55${ext...@operadora:5060|90|S(${maxTime}|
 
  | 3 | mycontext | _00X. |9 | Dial |
  SIP/55${ext...@operadora:5060|90|S|${maxTime}|
 
 
 +---+---+---+--+--+--+
 
 
 
  A aplicação irá buscar somente os dados da tabela que realmente
 interessam
  ao asterisk e o parâmetro maxTime deve conter o tempo máximo de duração
 da
  chamada.
 
  O Realtime vai automaticamente fazer a chamada para view que retornará
  somente uma das linhas acima que é a rota que combina exatamente com o
  parâmetro ${EXTEN}.
 
  O contexto default está definido na tabela ‘sip.conf’ do asterisk que
 também
  deve estar dentro do banco de dados referindo-se, no caso acima, pela
 string
  ‘operadora’.
 
  Observe que o Realtime irá chamar somente o contexto ‘mycontext’ então
 nesta
  mesma tabela você poderá ter também rotas entrantes algo ‘myfrompstn’
  chamando pela mesma rotina alternado o comando da aplicação (switch =
  Realtime/myfromp...@extensions).
 
  Neste modelo você consegue com uma simples troca do campo flag_active,
 sendo
  1 rota ativa e 0 rota inativa, ter várias operadoras para realizar as
  terminações.
 
 
 
  Espero que ajude.
 
 
 
  De: asteriskbrasil-boun...@listas.asteriskbrasil.org
  [mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org] Em nome de
 Alex
  Tavares Faiotto
  Enviada em: terça-feira, 21 de setembro de 2010 16:58
  Para: asteriskbrasil@listas.asteriskbrasil.org
  Assunto: [AsteriskBrasil] Sip Realtime
 
 
 
  Pessoal, como eu coloco o parametro.
 
 
 
  call-limit
 
 
 
  no Sip REALTIME na tabela do banco?
 
  Vlw
 
  

Re: [AsteriskBrasil] RES: Sip Realtime

2010-09-22 Por tôpico Ricardo Landim
Posta na lista a slução... irá ajudar outras pessoas!

Em 22 de setembro de 2010 08:22, Alex Tavares Faiotto alexfaio...@globo.com
 escreveu:

 Vlw Pelas as Duas Explicações Pessoal.

 Consegui resolver .

 Abraço

 Em 21 de setembro de 2010 21:56, Thiago Maluf malu...@gmail.comescreveu:

 1) call-limit = number : Number of simultaneous calls through this
 user/peer.
 2) Não sei se funciona com todas as conexões de realtime, mas no mysql
 basta colocar um atributo na sua coluna do sip-users chamada
 call-limit INT e você define o valor que quiser.

 Ok?

 Abs, Thiago.

 2010/9/21  alci...@sistecvoip.com.br:
  Olá...
 
 
 
  O seguinte...
 
  Você tem que ter uma função no banco pra calcular o tempo máximo que
 pode
  durar a ligação de acordo com o saldo do cliente e inserir no
  extensions.conf algo como:
 
 
 
  [default]
 
  exten  = _0X.,1,Mysql(Connect connid sip.server.com.br user senha
  NomeDoBancoSIP)
 
  exten  = _0X.,2,Mysql(Query resultid ${connid} select\
  f_calc_time_balance(${CALLERID(num)}\,\ ${SIP_HEADER(TO)})\ as\
 maxTime)
 
  exten  = _0X.,3,Mysql(Fetch fetchid ${resultid} maxTime)
 
  exten  = _0X.,4,Mysql(Clear ${resultid})
 
  exten  = _0X.,5,Mysql(Disconnect ${connid})
 
  exten  = _0X.,6,GotoIf($[${maxTime}=’’]|[${maxTime}=0]?7:8)
 
  exten  = _0X.,7,Hangup
 
  exten  = _0X.,8,Wait,1
 
  switch = Realtime/mycont...@extensions
 
 
 
  Digamos que a estrutura da tabela de rotas do banco seja algo como:
 
 
 
  /*==*/
 
  /* Table: routes*/
 
  /*==*/
 
  create table routes
 
  (
 
 pk_routesint not null,
 
 dsc_routevarchar(50) not null,
 
 context  varchar(30) not null,
 
 extenvarchar(30) not null,
 
 priority int not null,
 
 app  varchar(30) not null,
 
 appdata  varchar(128) not null,
 
 flag_active  smallint not null default,
 
 primary key (pk_routes)
 
  );
 
 
 
  No banco de dados você deve ter uma view que retorna as linhas das rotas
 a
  serem utilizadas pelo Realtime para poder determinar os parâmetros da
  aplicação Dial como abaixo:
 
 
 
  /*==*/
 
  /* View: vw_extensions  */
 
  /*==*/
 
  create view vw_extensions as
 
select pk_routes, context, exten, priority, app, appdata from routes
 
 where flag_active = 1
 
   and exten   is not null
 
   and exten''
 
   and context is not null
 
   and context  ''
 
 order by context, pk_routes;
 
 
 
 
 +---+---+---+--+--+--+
 
  | pk_routes | context   | exten | priority | app  |
  appdata  |
 
 
 +---+---+---+--+--+--+
 
  | 1 | mycontext | _0XX[23456]X. |9 | Dial |
  SIP/55${ext...@operadora:5060|90|S|${maxTime}|
 
  | 2 | mycontext | _0XX[789]X.   |9 | Dial |
  SIP/55${ext...@operadora:5060|90|S(${maxTime}|
 
  | 3 | mycontext | _00X. |9 | Dial |
  SIP/55${ext...@operadora:5060|90|S|${maxTime}|
 
 
 +---+---+---+--+--+--+
 
 
 
  A aplicação irá buscar somente os dados da tabela que realmente
 interessam
  ao asterisk e o parâmetro maxTime deve conter o tempo máximo de duração
 da
  chamada.
 
  O Realtime vai automaticamente fazer a chamada para view que retornará
  somente uma das linhas acima que é a rota que combina exatamente com o
  parâmetro ${EXTEN}.
 
  O contexto default está definido na tabela ‘sip.conf’ do asterisk que
 também
  deve estar dentro do banco de dados referindo-se, no caso acima, pela
 string
  ‘operadora’.
 
  Observe que o Realtime irá chamar somente o contexto ‘mycontext’ então
 nesta
  mesma tabela você poderá ter também rotas entrantes algo ‘myfrompstn’
  chamando pela mesma rotina alternado o comando da aplicação (switch =
  Realtime/myfromp...@extensions).
 
  Neste modelo você consegue com uma simples troca do campo flag_active,
 sendo
  1 rota ativa e 0 rota inativa, ter várias operadoras para realizar as
  terminações.
 
 
 
  Espero que ajude.
 
 
 
  De: asteriskbrasil-boun...@listas.asteriskbrasil.org
  [mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org] Em nome de
 Alex
  Tavares Faiotto
  Enviada em: terça-feira, 21 de setembro de 2010 16:58
  Para: asteriskbrasil@listas.asteriskbrasil.org
  Assunto: [AsteriskBrasil] Sip Realtime
 
 
 
  

[AsteriskBrasil] RES: Sip Realtime

2010-09-21 Por tôpico alcindo
Olá...

 

O seguinte... 

Você tem que ter uma função no banco pra calcular o tempo máximo que pode
durar a ligação de acordo com o saldo do cliente e inserir no
extensions.conf algo como:

 

[default]

exten  = _0X.,1,Mysql(Connect connid sip.server.com.br user senha
NomeDoBancoSIP)

exten  = _0X.,2,Mysql(Query resultid ${connid} select\
f_calc_time_balance(${CALLERID(num)}\,\ ${SIP_HEADER(TO)})\ as\ maxTime)

exten  = _0X.,3,Mysql(Fetch fetchid ${resultid} maxTime)

exten  = _0X.,4,Mysql(Clear ${resultid})

exten  = _0X.,5,Mysql(Disconnect ${connid})

exten  = _0X.,6,GotoIf($[${maxTime}=’’]|[${maxTime}=0]?7:8)

exten  = _0X.,7,Hangup

exten  = _0X.,8,Wait,1

switch = Realtime/mycont...@extensions

 

Digamos que a estrutura da tabela de rotas do banco seja algo como:

 

/*==*/

/* Table: routes*/

/*==*/

create table routes

(

   pk_routesint not null,

   dsc_routevarchar(50) not null,

   context  varchar(30) not null,

   extenvarchar(30) not null,

   priority int not null,

   app  varchar(30) not null,

   appdata  varchar(128) not null,

   flag_active  smallint not null default,

   primary key (pk_routes)

);

 

No banco de dados você deve ter uma view que retorna as linhas das rotas a
serem utilizadas pelo Realtime para poder determinar os parâmetros da
aplicação Dial como abaixo:

 

/*==*/

/* View: vw_extensions  */

/*==*/

create view vw_extensions as

  select pk_routes, context, exten, priority, app, appdata from routes

   where flag_active = 1

 and exten   is not null

 and exten''

 and context is not null

 and context  ''

   order by context, pk_routes;

 

+---+---+---+--+--+-
-+

| pk_routes | context   | exten | priority | app  | appdata
|

+---+---+---+--+--+-
-+

| 1 | mycontext | _0XX[23456]X. |9 | Dial |
SIP/55${ext...@operadora:5060|90|S|${maxTime}| 

| 2 | mycontext | _0XX[789]X.   |9 | Dial |
SIP/55${ext...@operadora:5060|90|S(${maxTime}| 

| 3 | mycontext | _00X. |9 | Dial |
SIP/55${ext...@operadora:5060|90|S|${maxTime}| 

+---+---+---+--+--+-
-+

 

A aplicação irá buscar somente os dados da tabela que realmente interessam
ao asterisk e o parâmetro maxTime deve conter o tempo máximo de duração da
chamada. 

O Realtime vai automaticamente fazer a chamada para view que retornará
somente uma das linhas acima que é a rota que combina exatamente com o
parâmetro ${EXTEN}.

O contexto default está definido na tabela ‘sip.conf’ do asterisk que também
deve estar dentro do banco de dados referindo-se, no caso acima, pela string
‘operadora’.

Observe que o Realtime irá chamar somente o contexto ‘mycontext’ então nesta
mesma tabela você poderá ter também rotas entrantes algo ‘myfrompstn’
chamando pela mesma rotina alternado o comando da aplicação (switch =
Realtime/myfromp...@extensions).

Neste modelo você consegue com uma simples troca do campo flag_active, sendo
1 rota ativa e 0 rota inativa, ter várias operadoras para realizar as
terminações.

 

Espero que ajude.

 

De: asteriskbrasil-boun...@listas.asteriskbrasil.org
[mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org] Em nome de Alex
Tavares Faiotto
Enviada em: terça-feira, 21 de setembro de 2010 16:58
Para: asteriskbrasil@listas.asteriskbrasil.org
Assunto: [AsteriskBrasil] Sip Realtime

 

Pessoal, como eu coloco o parametro.

 

call-limit 

 

no Sip REALTIME na tabela do banco?

Vlw

___
KHOMP: qualidade em placas de E1, GSM, FXS e FXO para Asterisk. 
- Hardware com alta disponibilidade de recursos e qualidade KHOMP
- Suporte técnico local qualificado e gratuito 
Conheça a linha completa de produtos KHOMP em www.khomp.com.br
___
Temos tudo para seu projeto VoIP com Asterisk!
Descontos especiais para assinantes da AsteriskBrasil.org.
Registre-se e receba um cupom exclusivo de desconto!
Acesse agora www.voipmania.com.br
__
Lista de discussões AsteriskBrasil.org
AsteriskBrasil@listas.asteriskbrasil.org
http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
__
Para remover seu email desta 

Re: [AsteriskBrasil] RES: Sip Realtime

2010-09-21 Por tôpico Thiago Maluf
1) call-limit = number : Number of simultaneous calls through this user/peer.
2) Não sei se funciona com todas as conexões de realtime, mas no mysql
basta colocar um atributo na sua coluna do sip-users chamada
call-limit INT e você define o valor que quiser.

Ok?

Abs, Thiago.

2010/9/21  alci...@sistecvoip.com.br:
 Olá...



 O seguinte...

 Você tem que ter uma função no banco pra calcular o tempo máximo que pode
 durar a ligação de acordo com o saldo do cliente e inserir no
 extensions.conf algo como:



 [default]

 exten  = _0X.,1,Mysql(Connect connid sip.server.com.br user senha
 NomeDoBancoSIP)

 exten  = _0X.,2,Mysql(Query resultid ${connid} select\
 f_calc_time_balance(${CALLERID(num)}\,\ ${SIP_HEADER(TO)})\ as\ maxTime)

 exten  = _0X.,3,Mysql(Fetch fetchid ${resultid} maxTime)

 exten  = _0X.,4,Mysql(Clear ${resultid})

 exten  = _0X.,5,Mysql(Disconnect ${connid})

 exten  = _0X.,6,GotoIf($[${maxTime}=’’]|[${maxTime}=0]?7:8)

 exten  = _0X.,7,Hangup

 exten  = _0X.,8,Wait,1

 switch = Realtime/mycont...@extensions



 Digamos que a estrutura da tabela de rotas do banco seja algo como:



 /*==*/

 /* Table: routes    */

 /*==*/

 create table routes

 (

    pk_routes    int not null,

    dsc_route    varchar(50) not null,

    context  varchar(30) not null,

    exten    varchar(30) not null,

    priority int not null,

    app  varchar(30) not null,

    appdata  varchar(128) not null,

    flag_active  smallint not null default,

    primary key (pk_routes)

 );



 No banco de dados você deve ter uma view que retorna as linhas das rotas a
 serem utilizadas pelo Realtime para poder determinar os parâmetros da
 aplicação Dial como abaixo:



 /*==*/

 /* View: vw_extensions  */

 /*==*/

 create view vw_extensions as

   select pk_routes, context, exten, priority, app, appdata from routes

    where flag_active = 1

      and exten   is not null

      and exten    ''

      and context is not null

      and context  ''

    order by context, pk_routes;



 +---+---+---+--+--+--+

 | pk_routes | context   | exten | priority | app  |
 appdata  |

 +---+---+---+--+--+--+

 |     1 | mycontext | _0XX[23456]X. |    9 | Dial |
 SIP/55${ext...@operadora:5060|90|S|${maxTime}    |

 |     2 | mycontext | _0XX[789]X.   |    9 | Dial |
 SIP/55${ext...@operadora:5060|90|S(${maxTime}    |

 |     3 | mycontext | _00X.     |    9 | Dial |
 SIP/55${ext...@operadora:5060|90|S|${maxTime}    |

 +---+---+---+--+--+--+



 A aplicação irá buscar somente os dados da tabela que realmente interessam
 ao asterisk e o parâmetro maxTime deve conter o tempo máximo de duração da
 chamada.

 O Realtime vai automaticamente fazer a chamada para view que retornará
 somente uma das linhas acima que é a rota que combina exatamente com o
 parâmetro ${EXTEN}.

 O contexto default está definido na tabela ‘sip.conf’ do asterisk que também
 deve estar dentro do banco de dados referindo-se, no caso acima, pela string
 ‘operadora’.

 Observe que o Realtime irá chamar somente o contexto ‘mycontext’ então nesta
 mesma tabela você poderá ter também rotas entrantes algo ‘myfrompstn’
 chamando pela mesma rotina alternado o comando da aplicação (switch =
 Realtime/myfromp...@extensions).

 Neste modelo você consegue com uma simples troca do campo flag_active, sendo
 1 rota ativa e 0 rota inativa, ter várias operadoras para realizar as
 terminações.



 Espero que ajude.



 De: asteriskbrasil-boun...@listas.asteriskbrasil.org
 [mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org] Em nome de Alex
 Tavares Faiotto
 Enviada em: terça-feira, 21 de setembro de 2010 16:58
 Para: asteriskbrasil@listas.asteriskbrasil.org
 Assunto: [AsteriskBrasil] Sip Realtime



 Pessoal, como eu coloco o parametro.



 call-limit



 no Sip REALTIME na tabela do banco?

 Vlw

 ___
 KHOMP: qualidade em placas de E1, GSM, FXS e FXO para Asterisk.
 - Hardware com alta disponibilidade de recursos e qualidade KHOMP
 - Suporte técnico local qualificado e gratuito
 Conheça a linha completa de produtos KHOMP em www.khomp.com.br
 ___
 Temos tudo para seu projeto