Re: [AsteriskBrasil] RES: Sip Realtime
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
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
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
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