[AsteriskBrasil] RES: Sip Realtime

Thiago Maluf malufrj em gmail.com
Terça Setembro 21 21:56:37 BRT 2010


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  <alcindo em 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/mycontext em 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${EXTEN}@operadora:5060|90|S|${maxTime}            |
>
> |         2 | mycontext | _0XX[789]X.   |        9 | Dial |
> SIP/55${EXTEN}@operadora:5060|90|S(${maxTime}            |
>
> |         3 | mycontext | _00X.         |        9 | Dial |
> SIP/55${EXTEN}@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/myfrompstn em 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-bounces em listas.asteriskbrasil.org
> [mailto:asteriskbrasil-bounces em listas.asteriskbrasil.org] Em nome de Alex
> Tavares Faiotto
> Enviada em: terça-feira, 21 de setembro de 2010 16:58
> Para: asteriskbrasil em 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 em listas.asteriskbrasil.org
> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
> ______________________________________________
> Para remover seu email desta lista, basta enviar um email em branco para
> asteriskbrasil-unsubscribe em listas.asteriskbrasil.org
>



-- 
----------------------------------------------------------------
Thiago Maluf Resende
Tel: +55 21 9700-9113
e-mail: malufrj em gmail.com


Mais detalhes sobre a lista de discussão AsteriskBrasil