armor.tel

Instradamento del traffico verso i numeri +999

Per operatori e proprietari di server SIP: come consegnare chiamate e messaggi ai numeri +999 e come arrivano a te. Standard aperti, senza contratto e senza registrazione. Ogni numero +999 appartiene a una persona verificata tramite Persona.

Numeri +999 per il tuo PBX

Il modo più semplice per avere numeri per dipendenti e reparti: gratis, senza operatore e senza contratto, in un minuto su questo sito. Nell'account punti il numero al tuo PBX e da quel momento è un normale numero in ingresso, con la differenza che le chiamate verso di esso non costano nulla.

  1. Prendi un numero

    Nell'app Armor, poi accedi al tuo account su armor.tel.

  2. Puntalo al tuo PBX

    Nell'account, accanto al numero: «Chiamate» → «al mio centralino» → il nome del server, ad esempio pbx.example.com.

  3. Ricezione sul PBX

    La chiamata arriva a sip:+999…@pbx.example.com. La porta viene dal record SRV _sip._udp, altrimenti è 5060.

Instradamento: ENUM

Ogni numero emesso ha un record NAPTR nella zona e164.armor.tel. Il nome è formato dalle cifre del numero in ordine inverso, separate da punti. La zona è firmata con DNSSEC. Verifica le firme: altrimenti un record falsificato significa un numero dirottato.

Segnalazione: SIP

Media: RTP

Come procede una chiamata

  1. 100 Trying, poi 180

    Il server sveglia con un push i dispositivi dell'utente in standby e li fa squillare tutti insieme. Il primo 180 può richiedere qualche secondo.

  2. 200 OK dal primo che risponde

    Gli altri dispositivi smettono di squillare. I media passano per il server Armor; gli indirizzi sono nell'SDP della risposta.

  3. Errori

    404: il numero non è emesso. 480: nessun dispositivo online. 486: occupato o rifiutato. 503: limite raggiunto.

Messaggi

SIP MESSAGE allo stesso indirizzo sip:+999…@sip.armor.tel, con un corpo text/plain o message/cpim. Il server lo consegna a tutti i dispositivi dell'utente, e a quelli offline quando tornano online; la risposta è 202. La risposta dell'utente va all'indirizzo nel tuo From, che quindi deve essere raggiungibile da internet.

Traffico da +999 verso di te

Il server Armor non effettua chiamate in uscita verso altre reti. Un utente +999 raggiunge i tuoi numeri tramite un account presso di te: aggiunge la tua linea all'app e chiama dal tuo numero. Per te è un normale abbonato SIP.

Esempio: Asterisk

PJSIP, Asterisk 18 e successivi. Le chiamate in arrivo ai tuoi numeri +999 vengono accettate senza registrazione, ma solo per i numeri elencati. Le chiamate in uscita verso +999 vanno all'indirizzo ricavato da 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)

Esempio: FreeSWITCH

Le chiamate in arrivo sono accettate dal profilo external (porta 5080: pubblica un record SRV _sip._udp.pbx.example.com con questa porta). Le chiamate in uscita passano da 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>

Test

Il numero di prova +999 100 000 00 01 risponde e dice l'ora: un modo pratico per verificare instradamento, trasporto e media. Per domande e per entrare nel catalogo, scrivi a ops@armor.tel.