armor.tel

Encaminhamento de tráfego para números +999

Para operadores e donos de servidores SIP: como entregar chamadas e mensagens a números +999 e como estas chegam até si. Normas abertas, sem contrato e sem registo. Cada número +999 pertence a uma pessoa verificada através da Persona.

Números +999 para a sua PBX

A forma mais simples de obter números para colaboradores e departamentos: gratuitos, sem operador e sem contrato, num minuto neste site. Aponta o número para a sua PBX na conta e, a partir daí, é um número de entrada normal, exceto que as chamadas para ele não custam nada.

  1. Obtenha um número

    Na aplicação Armor e depois inicie sessão na sua conta em armor.tel.

  2. Aponte-o para a sua PBX

    Na conta, junto ao número: «Chamadas» → «para a minha PBX» → o nome do servidor, por exemplo pbx.example.com.

  3. Receba na PBX

    A chamada chega a sip:+999…@pbx.example.com. A porta vem do registo SRV _sip._udp, caso contrário 5060.

Encaminhamento: ENUM

Cada número emitido tem um registo NAPTR na zona e164.armor.tel. O nome são os dígitos do número por ordem inversa, separados por pontos. A zona é assinada com DNSSEC. Verifique as assinaturas: caso contrário, um registo falsificado significa um número sequestrado.

Sinalização: SIP

Média: RTP

Como decorre uma chamada

  1. 100 Trying, depois 180

    O servidor acorda com um push os dispositivos adormecidos do utilizador e faz tocar todos ao mesmo tempo. O primeiro 180 pode demorar alguns segundos.

  2. 200 OK de quem atender primeiro

    Os outros dispositivos deixam de tocar. A média passa pelo servidor Armor; os endereços estão no SDP da resposta.

  3. Erros

    404: o número não foi emitido. 480: nenhum dispositivo está online. 486: ocupado ou recusado. 503: limite atingido.

Mensagens

SIP MESSAGE para o mesmo endereço sip:+999…@sip.armor.tel, com corpo text/plain ou message/cpim. O servidor entrega-a a todos os dispositivos do utilizador, e aos que estão offline quando ficarem online; a resposta é 202. A resposta do utilizador vai para o endereço do seu From, que por isso tem de ser acessível a partir da internet.

Tráfego de +999 para si

O servidor Armor não faz chamadas de saída para outras redes. Um utilizador +999 chega aos seus números através de uma conta consigo: adiciona a sua linha à aplicação e liga a partir do seu número. Para si, é um assinante SIP normal.

Exemplo: Asterisk

PJSIP, Asterisk 18 e posteriores. As chamadas de entrada para os seus números +999 são aceites sem registo, mas só para os números listados. As chamadas de saída para +999 vão para o endereço do ENUM.

; pjsip.conf
[transport-udp]
type=transport
protocol=udp
bind=0.0.0.0:5060

; Calls to your +999: the caller found the PBX in ENUM, no registration
[anonymous]
type=endpoint
context=from-armor
disallow=all
allow=opus,g722,alaw,ulaw
rtp_symmetric=yes
rewrite_contact=yes
direct_media=no

; Calls to +999 from your PBX
[armor]
type=endpoint
context=from-armor
disallow=all
allow=opus,g722,alaw,ulaw
from_domain=pbx.example.com
direct_media=no
; extensions.conf
[from-armor]
; your +999 number -> an extension
exten => +9997309051305,1,Dial(PJSIP/101,30)
 same => n,Hangup()

; include in your users' context: include => to-armor
[to-armor]
exten => _+999XXXXXXXXXX,1,Set(URI=${ENUMLOOKUP(${EXTEN},sip,,1,e164.armor.tel)})
 same => n,GotoIf($["${URI}" = ""]?missing)
 same => n,Dial(PJSIP/armor/sip:${URI},60)
 same => n,Hangup()
 same => n(missing),Hangup(1)

Exemplo: FreeSWITCH

As chamadas de entrada são aceites pelo perfil external (porta 5080: publique um registo SRV _sip._udp.pbx.example.com com esta porta). As chamadas de saída passam por mod_enum.

<!-- autoload_configs/enum.conf.xml (and mod_enum in modules.conf.xml) -->
<configuration name="enum.conf" description="ENUM">
  <settings>
    <param name="default-root" value="e164.armor.tel"/>
  </settings>
  <routes>
    <route service="E2U+SIP" regex="sip:(.*)" replace="sofia/external/$1"/>
  </routes>
</configuration>
<!-- dialplan/public/armor.xml: calls to your +999 -->
<include>
  <extension name="armor-in">
    <condition field="destination_number" expression="^\+9997309051305$">
      <action application="bridge" data="user/1001@${domain_name}"/>
    </condition>
  </extension>
</include>

<!-- dialplan/default/armor.xml: calls to +999 from the PBX -->
<include>
  <extension name="armor-out">
    <condition field="destination_number" expression="^(\+999\d{10})$">
      <action application="enum" data="$1 e164.armor.tel"/>
      <action application="bridge" data="${enum_auto_route}"/>
    </condition>
  </extension>
</include>

Teste

O número de teste +999 100 000 00 01 atende e diz as horas: uma forma prática de verificar a rota, o transporte e a média. Para perguntas e para entrar no catálogo, escreva para ops@armor.tel.