Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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
yyyy-MM-dd HH:mm:ss

src_uri

varchar(255)

SIP URI do originador da chamada.

sip:600002@sippulse.com

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.

sippulse.com

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.

600002@sippulse.com

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
yyyy-MM-dd HH:mm:ss

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.

sip:600002@sippulse.com

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.

sippulse.com

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.

600002@sippulse.com

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.

...