Table of Contents |
---|
...
Transações Aninhadas
O módulo de integração SOAP da plataforma SIPPulseoferece o suporte a transações aninhadas. Isso serve para que o sistema ofereça o recurso de two-phase-commit em transações iniciadas por outros sistemas, utilizando o protocolo XA.
Para que isso ocorra, o sistema que inicia a transação deverá controlar todos os serviços chamados, conforme exemplo abaixo:
...
O componente Transaction Coodinator será o responsável por iniciar as transações, e com base no resultado dos processamentos ele irá confirmar (commit) ou abortar (rollback) as operações.
...
Acesso a Views do Sistema
O SIPPulse disponibiliza acesso de leitura aos dados gerados pelo sistema através de acesso a tabelas e views.
Sugerimos que os acessos a volumes grandes de dados sejam feitos fora dos horários de pico para evitar perda de desempenho no ambiente.
Acessando View vi_cdrs
O SIPPulse disponibiliza acesso aos bilhetes (já tarifados) gerados pelo sistema através de uma view de banco de dados chamada vi_cdrs.
Obtendo os dados do usuário de integração de acesso a base de dados, será possível executar consultas a essa view e recuperar os bilhetes gerados pelo sistema.
Exemplo de Consulta Filtrando por Assinante, Serviço e Período:
Code Block |
---|
SELECT * FROM vi_cdrs
WHERE accountcode = '600002@sippulse.com'
AND service = 'pstn'
AND call_start_time BETWEEN '2012-10-01 00:00:00' AND '2012-10-05 23:59:59'; |
O resultado da execução de uma consulta na vi_cdrs retornará os campos listados abaixo:
Campos
Campo | Tipo | Descrição | Exemplo |
---|---|---|---|
id (PK) | bigint | Identificador do registro | auto_increment |
call_start_time | datetime | Data do início da chamada. | 2012-03-24 09:27:20 |
src_uri | varchar(255) | SIP URI do originador da chamada. | |
dst_uri | varchar(255) | SIP URI do destino da chamada. | sip:554830258080@[ip do gateway] |
caller_domain | varchar(255) | Domínio do assinante que originou a chamada. | |
caller_id | varchar(255) | Login do assinante que originou a chamada | 600002 |
sip_call_id | varchar(255) | Identificador do diálogo | |
sip_from_tag | varchar(255) | Tag gerada para marcar o originador da chamada. | |
sip_to_tag | varchar(255) | Tag gerada para marcar o destinatário da chamada. | |
duration | varchar(255) | Tempo da duração da chamada em segundos. | 45 127 |
rate | double | Tarifa de venda aplicada para a chamada. | 0.18 0.197 |
price | double | Preço total da chamada para o assinante. | 0.56 2.36 |
accountcode | varchar(128) | Accountcode do assinante que executou a chamada. | |
service | varchar(32) | Tipo de serviço da chamada executada. | 0800, acobrar, timeout, local, net, pstn, did. |
rateplan_name | varchar(64) | Nome do plano de tarifas usado para tarifar a chamada. | PRÉ-BRONZE PÓS-OURO |
rateplan_tx_conn | int(11) | Taxa de Conexão do plano de tarifas usado para tarifar a chamada. | 30 60 |
rateplan_cadency | int(11) | Cadência do plano de tarifas usado para tarifar a chamada. | 1 6 |
rateplan_markup | double | Markup do plano de tarifas usado para tarifar a chamada. | 10 20.5 |
rateplan_prepaid | tinyint(1) | Indica se o plano de tarifas é PRÉ ou PÓS pago. 0 para pós-pago e 1 para pré-pago. | 0 1 |
rateplan_rateid | int(11) | RateId do plano de tarifas usado para tarifar a chamada. | 20000 30000 |
reseller_id | int(11) | Identificador de revenda a qual o assinante está associado. Se o valor estiver NULL, o assinante não está associado a nenhuma revenda. | NULL 1 |
reseller_name | varchar(64) | Nome da revenda a qual o assinante está associado. Se o valor estiver NULL, o assinante não está associado a nenhuma revenda. | NULL Revenda ACME |
reseller_rateplan_id | int(11) | Identificador do plano de tarifas da revenda usado para tarifar a chamada. | 2000 3000 |
gwid | int(10) | Identificador do gateway por onde a chamada foi executada. | 12001 |
gw_address | varchar(64) | Endereço IP do gateway por onde a chamada foi executada. | 201.64.23.11 |
gw_name | varchar(64) | Nome do gateway por onde a chamada foi executada. | Asterisk Interno Gateway SP |
gw_rateid | int(11) | RateId do plano de tarifas associado ao gateway que executou a chamada. | 20000 30000 |
providerid | int(11) | Identificador do provedor associado ao gateway que executou a chamada. | 2 |
provider_name | varchar(64) | Nome do provedor associado ao gateway que executou a chamada. | OperadoraSul OperadoraNorte |
provider_tx_conn | int(11) | Taxa de Conexão do provedor associado ao gateway que executou a chamada. | 30 60 |
provider_cadency | int(11) | Cadência do provedor associado ao gateway que executou a chamada | 1 6 |
profile | varchar(20) | Profile ao qual o assinante está associado. | DEFAULT |
user_agent | varchar(64) | User Agent usado na execução da chamada. | Blink 0.2.7 (Windows) |
src_ip | varchar(15) | Endereço IP do originador da chamada. | 189.4.123.226 |
matched_prefix | varchar(20) | Prefixo da tarifa de venda usada para a tarifação. | 5511 |
matched_prefix_name | varchar(128) | Nome da tarifa de venda usada para a tarifação. | SAO PAULO FIXO |
reseller_rate reseller_price reseller_matched_prefix reseller_matched_prefix_name | double double varchar(20) varchar(128) | Mesma descrição dos outros campos com nome igual. Só que esses campos são associados a uma revenda quanto o assinante está em uma revenda. | 0.15 1.25 5517 RIO DE JANEIRO |
cost | double | Tarifa de custo aplicada para a chamada. | 0.23 |
cost_price | double | Custo total de compra da chamada. | 0.86 |
Acessando Tabela Acc
O SIPPulse disponibiliza acesso aos bilhetes de chamada não completadas com a causa detalhada do processamento
Obtendo os dados do usuário de integração de acesso a base de dados, será possível executar consultas a essa tabela e recuperar os bilhetes gerados pelo sistema.
Exemplo de Consulta Filtrando por Assinante, Serviço e Período:
Code Block |
---|
SELECT * FROM acc
WHERE accountcode = '600002@sippulse.com'
AND method = 'INVITE'
AND sip_code not in (200, 302) AND service = 'pstn'
AND time BETWEEN '2012-10-01 00:00:00' AND '2012-10-05 23:59:59'; |
O resultado da execução de uma consulta na tabela acc, retornará os campos listados abaixo:
Campos
Campo | Tipo | Descrição | Exemplo |
---|---|---|---|
id (PK) | bigint | Identificador do registro | auto_increment |
time | datetime | Data do início da chamada. | 2012-03-24 09:27:20 |
sip_code | varchar(3) | código de retorno da transação SIP. | 408 |
sip_reason | varchar(32) | mensagem de retorno da transação SIP. | Request Timeout |
src_uri | varchar(255) | SIP URI do originador da chamada. | |
dst_uri | varchar(255) | SIP URI do destino da chamada. | sip:554830258080@[ip do gateway] |
caller_domain | varchar(255) | Domínio do assinante que originou a chamada. | |
caller_id | varchar(255) | Login do assinante que originou a chamada. | 600002 |
callid | varchar(255) | Identificador do diálogo | |
from_tag | varchar(255) | Tag gerada para marcar o originador da chamada. | |
to_tag | varchar(255) | Tag gerada para marcar o destinatário da chamada. | |
accountcode | varchar(128) | Accountcode do assinante que executou a chamada. | |
service | varchar(32) | Tipo de serviço da chamada executada. | 0800, acobrar, timeout, local, net, pstn, did. |
gwid | int(10) | Identificador do gateway por onde a chamada foi executada. | 12001 |
profile | varchar(20) | Profile ao qual o assinante está associado. | DEFAULT |
user_agent | varchar(64) | User Agent usado na execução da chamada. | Blink 0.2.7 (Windows) |
src_ip | varchar(15) | Endereço IP do originador da chamada. | 189.4.123.226 |
poippi_origem | varchar(10) | Ponto de demarcação de origem do entroncamento (DETRAF). Somente versão STFC. | |
poippi_destino | varchar(10) | Ponto de demarcação de destino do entroncamento (DETRAF). Somente versão STFC. | |
eot_origem | varchar(3) | EOT de origem do entroncamento (DETRAF). Somente versão STFC. | |
eot_destino | varchar(3) | EOT de destino de demarcação de entroncamento (DETRAF). Somente verão STFC. | |
direction | varchar(8) | Direção da Chamada. Somente versão STFC. | inbound/outbound |
descritor | varchar(5) | Descritor da Chamada. Somente versão STFC |
...
A plataforma SIPPulse disponibiliza acesso a vários serviços através de WEBServices padrão SOAP (XML over HTTP). Através desta interface é possível integrar qualquer sistema utilizando a maioria das linguagens de programação do mercado.
...
Operation Name: listDomains
Parâmetros:
Parâmetro | Tipo | Descrição | Requerido |
---|---|---|---|
principal | UserPrincipal | Objeto que contém as credenciais de acesso de um administrador do sistema (descrito mais abaixo). | sim |
Dados de Retorno:
Tipo | Descrição |
---|---|
List<Domain> | Lista dos Domínios em que o administrador possui acesso para gerenciamento. |
...