armor.tel

Acheminer le trafic vers les numéros +999

Pour les opérateurs et les propriétaires de serveurs SIP : comment acheminer les appels et les messages vers les numéros +999 et comment ils vous parviennent. Standards ouverts, sans contrat ni inscription. Chaque numéro +999 appartient à une personne vérifiée via Persona.

Des numéros +999 pour votre PBX

La façon la plus simple d’obtenir des numéros pour les employés et les services : gratuits, sans opérateur ni contrat, en une minute sur ce site. Vous dirigez le numéro vers votre PBX dans le compte, et ensuite c’est un numéro entrant ordinaire, sauf que les appels vers lui ne coûtent rien.

  1. Prendre un numéro

    Dans l’application Armor, puis connectez-vous à votre compte sur armor.tel.

  2. Le diriger vers votre PBX

    Dans le compte, à côté du numéro : « Appels » → « vers mon PBX » → le nom du serveur, par exemple pbx.example.com.

  3. Recevoir sur le PBX

    L’appel arrive à sip:+999…@pbx.example.com. Le port vient de l’enregistrement SRV _sip._udp, sinon 5060.

Routage : ENUM

Chaque numéro délivré a un enregistrement NAPTR dans la zone e164.armor.tel. Le nom est formé des chiffres du numéro dans l’ordre inverse, séparés par des points. La zone est signée avec DNSSEC. Vérifiez les signatures : sinon, un enregistrement falsifié signifie un numéro détourné.

Signalisation : SIP

Média : RTP

Déroulement d’un appel

  1. 100 Trying, puis 180

    Le serveur réveille par une notification push les appareils en veille de l’utilisateur et les fait tous sonner en même temps. Le premier 180 peut prendre quelques secondes.

  2. 200 OK du premier qui répond

    Les autres appareils cessent de sonner. Le média passe par le serveur Armor ; les adresses sont dans le SDP de la réponse.

  3. Erreurs

    404 : le numéro n’est pas délivré. 480 : aucun appareil en ligne. 486 : occupé ou refusé. 503 : limite atteinte.

Messages

SIP MESSAGE vers la même adresse sip:+999…@sip.armor.tel, avec un corps text/plain ou message/cpim. Le serveur le remet à tous les appareils de l’utilisateur, et aux appareils hors ligne quand ils se connectent ; la réponse est 202. La réponse de l’utilisateur va à l’adresse de votre From, qui doit donc être joignable depuis internet.

Trafic de +999 vers vous

Le serveur Armor ne passe aucun appel sortant vers d’autres réseaux. Un utilisateur +999 joint vos numéros via un compte chez vous : il ajoute votre ligne dans l’application et appelle depuis votre numéro. Pour vous, c’est un abonné SIP ordinaire.

Exemple : Asterisk

PJSIP, Asterisk 18 et suivants. Les appels entrants vers vos numéros +999 sont acceptés sans enregistrement, mais uniquement pour les numéros listés. Les appels sortants vers +999 vont à l’adresse issue d’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)

Exemple : FreeSWITCH

Les appels entrants sont acceptés par le profil external (port 5080 : publiez un enregistrement SRV _sip._udp.pbx.example.com avec ce port). Les appels sortants passent par 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

Le numéro de test +999 100 000 00 01 répond et annonce l’heure : un moyen pratique de vérifier la route, le transport et le média. Pour des questions et pour rejoindre le catalogue, écrivez à ops@armor.tel.