armor.tel

Verkehr zu +999-Nummern routen

Für Betreiber und Besitzer von SIP-Servern: wie Sie Anrufe und Nachrichten an +999-Nummern zustellen und wie sie zu Ihnen gelangen. Offene Standards, ohne Vertrag und ohne Registrierung. Jede +999-Nummer gehört einer über Persona verifizierten Person.

+999-Nummern für Ihre Telefonanlage

Der einfachste Weg zu Nummern für Mitarbeiter und Abteilungen: kostenlos, ohne Betreiber und ohne Vertrag, in einer Minute auf dieser Website. Sie richten die Nummer im Konto auf Ihre Telefonanlage, und von da an ist sie eine gewöhnliche eingehende Nummer, nur dass Anrufe dorthin nichts kosten.

  1. Nummer nehmen

    In der Armor-App, dann melden Sie sich bei Ihrem Konto auf armor.tel an.

  2. Auf Ihre Telefonanlage richten

    Im Konto, neben der Nummer: „Anrufe“ → „an meine Telefonanlage“ → der Servername, zum Beispiel pbx.example.com.

  3. Auf der Telefonanlage empfangen

    Der Anruf kommt bei sip:+999…@pbx.example.com an. Der Port stammt aus dem SRV-Eintrag _sip._udp, sonst 5060.

Routing: ENUM

Jede vergebene Nummer hat einen NAPTR-Eintrag in der Zone e164.armor.tel. Der Name besteht aus den Ziffern der Nummer in umgekehrter Reihenfolge, durch Punkte getrennt. Die Zone ist mit DNSSEC signiert. Prüfen Sie die Signaturen: Sonst bedeutet ein gefälschter Eintrag eine gekaperte Nummer.

Signalisierung: SIP

Medien: RTP

Wie ein Anruf abläuft

  1. 100 Trying, dann 180

    Der Server weckt die schlafenden Geräte des Nutzers per Push und lässt sie alle gleichzeitig klingeln. Das erste 180 kann einige Sekunden dauern.

  2. 200 OK vom Ersten, der abnimmt

    Die anderen Geräte hören auf zu klingeln. Die Medien laufen über den Armor-Server; die Adressen stehen im SDP der Antwort.

  3. Fehler

    404: Die Nummer ist nicht vergeben. 480: Kein Gerät ist online. 486: besetzt oder abgelehnt. 503: Limit erreicht.

Nachrichten

SIP MESSAGE an dieselbe Adresse sip:+999…@sip.armor.tel, mit einem Body vom Typ text/plain oder message/cpim. Der Server stellt sie allen Geräten des Nutzers zu, und Offline-Geräten, sobald sie online kommen; die Antwort ist 202. Die Antwort des Nutzers geht an die Adresse in Ihrem From, sie muss also aus dem Internet erreichbar sein.

Verkehr von +999 zu Ihnen

Der Armor-Server führt keine ausgehenden Anrufe in andere Netze. Ein +999-Nutzer erreicht Ihre Nummern über ein Konto bei Ihnen: Er fügt Ihre Leitung in der App hinzu und ruft von Ihrer Nummer aus an. Für Sie ist er ein gewöhnlicher SIP-Teilnehmer.

Beispiel: Asterisk

PJSIP, Asterisk 18 und neuer. Eingehende Anrufe an Ihre +999-Nummern werden ohne Registrierung angenommen, aber nur für die aufgeführten Nummern. Ausgehende Anrufe an +999 gehen an die Adresse aus 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)

Beispiel: FreeSWITCH

Eingehende Anrufe nimmt das Profil external an (Port 5080: Veröffentlichen Sie einen SRV-Eintrag _sip._udp.pbx.example.com mit diesem Port). Ausgehende Anrufe laufen über 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>

Testen

Die Testnummer +999 100 000 00 01 antwortet und sagt die Uhrzeit an: eine bequeme Möglichkeit, Route, Transport und Medien zu prüfen. Bei Fragen und zur Aufnahme in den Katalog schreiben Sie an ops@armor.tel.