Integração - PCRT 5.7

Integração - PCRT 5.7

Sumário:


Banco de dados

Além de permitir a extração de relatórios pela interface do sistema, a plataforma SIPPulse também disponibiliza um acesso a banco de dados para recuperação de informações já consolidadas em grandes volumes. Disponibilizamos view's dos CDR's das chamadas e outras informaçõ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:

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

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.8

 

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:

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

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

 


APIs de integração

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. 

Abaixo segue as especificações dos serviços disponíveis na API de integração.

Transações Aninhadas


O módulo de integração SOAP da plataforma SIPPulse oferece 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.


DomainWS - Listar Domínios

Esta função tem por objetivo listar os domínios ativos na plataforma.

URL Descritiva do Serviço:

http://<IP_SERVER>:<PORT>/SipPulse/DomainWS?wsdl

IP_SERVER: Endereço do servidor que hospeda o sistema.

PORT: Porta de acesso ao serviço. Geralmente utilizamos a porta 8080.

Exemplo: 

http://sippulse.com:8080/SipPulse/DomainWS?wsdl

Operation Name: listDomains

Parâmetros:

Parâmetro

Tipo

Descrição

Requerido

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

Tipo

Descrição

List<Domain>

Lista dos Domínios em que o administrador possui acesso para gerenciamento.

 

ProfileWS - Listar Profiles por Domínio

Esta função tem por objetivo listar os profiles associados a um domínio.

URL Descritiva do Serviço:

http://<IP_SERVER>:<PORT>/SipPulse/ProfileWS?wsdl

IP_SERVER: Endereço do servidor que hospeda o sistema.

PORT: Porta de acesso ao serviço. Geralmente utilizamos a porta 8080.

Exemplo: 

http://sippulse.com:8080/SipPulse/ProfileWS?wsdl

Operation Name: listProfilesByDomain

Parâmetros:

Parâmetro

Tipo

Descrição

Requerido

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

Tipo

Descrição

List<Profile>

Lista dos Profiles associados ao domínio.

 

SubscriberWS - Ativar Assinantes

Esta função tem por objetivo ativar um assinante dentro da plataforma.

URL Descritiva do Serviço:

http://<IP_SERVER>:<PORT>/SipPulse/SubscriberWS?wsdl

IP_SERVER: Endereço do servidor que hospeda o sistema.

PORT: Porta de acesso ao serviço. Geralmente utilizamos a porta 8080.

Exemplo: 

http://sippulse.com:8080/SipPulse/SubscriberWS?wsdl

Operation Name: activateSubscriber

Parâmetros:

Parâmetro

Tipo

Descrição

Requerido

Parâmetro

Tipo

Descrição

Requerido

username

String

Username do assinante.

SIM

domain

String

Domínio do assinante.

SIM

principal

UserPrincipal

Objeto que contém as credenciais de acesso de um administrador do sistema (descrito mais abaixo).

SIM

 

SubscriberWS - Desativar Assinantes

Esta função tem por objetivo desativar um assinante dentro da plataforma.

URL Descritiva do Serviço:

http://<IP_SERVER>:<PORT>/SipPulse/SubscriberWS?wsdl

IP_SERVER: Endereço do servidor que hospeda o sistema.

PORT: Porta de acesso ao serviço. Geralmente utilizamos a porta 8080.

Exemplo: 

http://sippulse.com:8080/SipPulse/SubscriberWS?wsdl

Operation Name: blockSubscriber

Parâmetros:

Parâmetro

Tipo

Descrição

Requerido

Parâmetro

Tipo

Descrição

Requerido

username

String

Username do assinante.

SIM

domain

String

Domínio do assinante.

SIM

principal

UserPrincipal

Objeto que contém as credenciais de acesso de um administrador do sistema (descrito mais abaixo).

SIM

SubscriberWS – Ativar Notificação de Saldo Baixo

Esta função tem por objetivo ativar o aviso de saldo baixo para um assinante dentro da plataforma.

URL Descritiva do Serviço:

http://<IP_SERVER>:<PORT>/SipPulse/SubscriberWS?wsdl

IP_SERVER: Endereço do servidor que hospeda o sistema.

PORT: Porta de acesso ao serviço. Geralmente utilizamos a porta 8080.

Exemplo: 

http://sippulse.com:8080/SipPulse/SubscriberWS?wsdl

Operation Name: activateLowCreditNotification

Parâmetros:

Parâmetro

Tipo

Descrição

Requerido

Parâmetro

Tipo

Descrição

Requerido

Username

String

Username do assinante.

SIM

Domain

String

Domínio do assinante.

SIM

lowCreditLimit

Double

Limite para saldo ser considerado baixo.

SIM

Principal

UserPrincipal

Objeto que contém as credenciais de acesso de um administrador do sistema (descrito mais abaixo).

SIM

SubscriberWS - Desativar Notificação de Saldo Baixo

Esta função tem por objetivo desativar o aviso de saldo baixo para um assinante dentro da plataforma.

URL Descritiva do Serviço:

http://<IP_SERVER>:<PORT>/SipPulse/SubscriberWS?wsdl

IP_SERVER: Endereço do servidor que hospeda o sistema.

PORT: Porta de acesso ao serviço. Geralmente utilizamos a porta 8080.

Exemplo: 

http://sippulse.com:8080/SipPulse/SubscriberWS?wsdl

Operation Name: blockLowCreditNotification

Parâmetro

Tipo

Descrição

Requerido

Parâmetro

Tipo

Descrição

Requerido

username

String

Username do assinante.

SIM

domain

String

Domínio do assinante.

SIM

principal

UserPrincipal

Objeto que contém as credenciais de acesso de um administrador do sistema (descrito mais abaixo).

SIM

SubscriberWS - Ativar Chamadas Privadas

Esta função tem por objetivo ativar o recurso de chamadas privadas de um assinante dentro da plataforma.

URL Descritiva do Serviço:

http://<IP_SERVER>:<PORT>/SipPulse/SubscriberWS?wsdl

IP_SERVER: Endereço do servidor que hospeda o sistema.

PORT: Porta de acesso ao serviço. Geralmente utilizamos a porta 8080.

Exemplo: 

http://sippulse.com:8080/SipPulse/SubscriberWS?wsdl

Operation Name: activatePrivacyCalls

Parâmetros:

Parâmetro

Tipo

Descrição

Requerido

Parâmetro

Tipo

Descrição

Requerido

username

String

Username do assinante.

SIM

domain

String

Domínio do assinante.

SIM

principal

UserPrincipal

Objeto que contém as credenciais de acesso de um administrador do sistema (descrito mais abaixo).

SIM

SubscriberWS - Desativar Chamadas Privadas

Esta função tem por objetivo desativar o recurso de chamadas privadas de um assinante dentro da plataforma.

URL Descritiva do Serviço:

http://<IP_SERVER>:<PORT>/SipPulse/SubscriberWS?wsdl

IP_SERVER: Endereço do servidor que hospeda o sistema.

PORT: Porta de acesso ao serviço. Geralmente utilizamos a porta 8080.

Exemplo: 

http://sippulse.com:8080/SipPulse/SubscriberWS?wsdl

Operation Name: blockPrivacyCalls

Parâmetros: 

Parâmetro

Tipo

Descrição

Requerido

Parâmetro

Tipo

Descrição

Requerido

username

SIPPulse Routing and Billing Solutions for SIP