[Frage] Eingehender Anruf: Welche Rufnummer wurde vom Anrufer gewählt?

killerbees19

Neuer User
Mitglied seit
20 Jan 2009
Beiträge
14
Punkte für Reaktionen
0
Punkte
1
Servus,

nach mehreren Jahren als stiller Mitleser melde ich mich heute erstmals zu Wort :)
Verzeiht mir, falls diese Frage besser in das Fritz!Box Telefonie Forum gepasst hätte.

Folgende Ausgangssituation: Ich habe eine Fritz!Box 7390, die an einem analogen Telefonanschluss hängt und an diversen SIP-Servern angemeldet ist. Die eingehenden Anrufe werden an diverse Analogtelefone (an der Fritz!Box angeschlossen) und IP-Telefone (ebenfalls an der Fritz!Box angemeldet) weiter gereicht. Neu dazu gekommen ist vor einiger Zeit ein Asterisk-Server (v1.6 unter Debian Wheezy) im Netzwerk, der als GSM-Gateway für kostengünstige Handytelefonate für die an der Fritz!Box angeschlossenen Telefone dient. Die Fritz!Box ist dafür beim Asterisk-Server angemeldet. Das funktioniert soweit seit Monaten problemlos. Über die entsprechende *12X# Vorwahl wird der Asterisk genutzt, bei Bedarf auch automatisch über die Wahlregeln.

Nun würde ich gerne alle eingehenden (Analog & VoIP) Anrufe auch vom Asterisk-Server behandeln lassen. Dafür habe ich ein neues IP-Telefon in der Fritz!Box eingerichtet, das der Asterisk auch problemlos nutzt. Alle Anrufe landem am Server und ich erhalte im CLI korrekte Debug-Ausgaben. Eine weitere Behandlung findet noch nicht statt.

Nun die eigentliche Frage: Gibt es irgendeine Möglichkeit (Asterisk Variable oder Funktion) die genutzte Leitung/Rufnummer der eingehenden Anrufe auszulesen? Das eingerichtete IP-Telefon an der Fritz!Box reagiert auf mehrere Nummern. Ich fand bisher aber keine Möglichkeit, diese im Asterisk wieder zu trennen. Ich habe also mehrere Leitungen, die alle im gleichen Kontext/Extension landen und keine Unterscheidung anhand der Zielrufnummer zulassen.

Oder besteht die einzige Möglichkeit darin, für jede Zielrufnummer auf der Fritz!Box ein eigenes IP-Telefon einzurichten und mit Asterisk zu koppeln? Falls es nur mit mehreren IP-Telefonen für Asterisk funktioniert, weiß zufällig jemand die maximale Anzahl der anlegbaren IP-Telefone bei der Fritz!Box?

Danke schon einmal im Voraus für eure Hilfe ;)


MfG Christian
 
Es kann sein das die Fritzbox schon einige Informationen verschluckt, probiere mal eine Ausgabe der CallerID:
Code:
noop(${CALLERID(all)})

Ansonsten schau Dir mal im besonderen das Feld "dnid" der CallerID an.
 
In der Ausgabe steht also an keiner Stelle irgendwo die Zielrufnummer, sodass man diese rausschneiden könnte? Was steht denn da statt dessen? Die z.B. 620? Poste doch mal das Log.
 
Code:
Noop(${CALLERID(all)});
Noop(${CALLERID(dnid)});
ergibt
Code:
    -- Executing [s@example:5] NoOp("SIP/623-00000000", """ <anonymous>") in new stack
    -- Executing [s@example:6] NoOp("SIP/623-00000000", "") in new stack
bzw. die Rufnummer des Anrufers anstatt "anonymous".


MfG Christian
 
In dem Fall bleibt Dir wohl nur die Calls direkt im Asterisk anzunehmen und dort an die Fritzbox weiterzureichen, dann bist Du auch wesentlich flexibler.
 
Oder eben, wie im ersten Beitrag angedeutet, mehrere IP-Telefone für Asterisik auf der Fritz!Box einzurichten. Das ist mit maximal 10 zwar relativ beschränkt, aber es müsste sich für die nächste Zeit einmal ausgehen. Denn die Fritz!Box soll aus diversen Gründen an erster Stelle für Telefonie bleiben, der Asterisik soll nur ein optionaler Zusatz sein, der nicht 24/7 benötigt wird. Trotzdem Danke für die Tipps! :)


MfG Christian
 
Gibt es irgendeine Möglichkeit (Asterisk Variable oder Funktion) die genutzte Leitung/Rufnummer der eingehenden Anrufe auszulesen?
Was steht denn in SIP_HEADER(From)?
 
Die einzig saubere Lösung für Deinen Fall ist eine eigene Nebenstelle in der Fritzbox für die einzelnen Nummern. Zumindest habe ich auch alles Mögliche durchprobiert, aber nichts brauchbares gefunden.

Ich habe letztlich das umgekehrte Problem, also beim rauswählen int.S0 -> FBF (Wahlregel) -> Asterisk -> große weite Welt, mit Hilfe des Callmonitors gelöst. Per Callmonitor werden die rufende und gerufene Nummer in die AstDB geschrieben und im Dialplan nach einem Wait(1) ausgewertet.
Obgleich das recht zuverlässig funktioniert, ist es doch gebastelt und daher in Deinem Fall nur bei Überschreitung der 10-Clients Grenze zu empfehlen.
 
An so eine Bastellösung hatte ich auch schon einmal kurz gedacht, dann vor meinem Forenpost aber wieder verworfen, weil ich dachte, dass es doch noch eine saubere Lösung (außer mit mehreren SIP-Verbindungen Fritz!Box <-> Asterisk) gibt. Das werde ich im Laufe der nächsten Zeit vielleicht doch ausprobieren, da ich gerne solche "exotischen" Setups teste. Den Callmonitor plane ich außerdem sowieso wegen einer statistischen Auswertung und anderen Spielereien anzuzapfen, dann könnte ich das gleich mit einbauen. Danke für diesen wertvollen Denkanstoß!

Bis dahin wird vorerst einmal das 10-er Client Limit ausgereizt :D


MfG Christian
 
Asterisk kann wohl auch Capi statt sip mit der Fritz!Box sprechen. Ich denke da bekommt man mehr Daten mit. Genauere Details kenne ich aber nicht.

Liebe Grüße
Uwe
 
Rund 5 Jahre später stehe ich vor der gleichen Herausforderung: ich habe "n" FritzBoxen, an denen jeweils 3 bis >10 Rufnummern anliegen. (Direkt per ISDN und/oder Provider-SIP sowie ggf. über zusätzliche SIP-Anbieter.)

Mit Fritz!OS 06.83 an der 7490 bekomme ich bei mehreren Rufnummern, auf den das FB-IP-Telefon reagiert, dieses im Asterisk (13.13):
Code:
    -- Executing [dtag-in@fbdtag:1] NoOp("SIP/dtag-in-000001e2", "SIP incoming from FB7490/DTAG") in new stack
    -- Executing [dtag-in@fbdtag:2] NoOp("SIP/dtag-in-000001e2", "CallerID: num=01762....... name=") in new stack
    -- Executing [dtag-in@fbdtag:3] NoOp("SIP/dtag-in-000001e2", "SIP From: <sip:[email protected]>;tag=2DF310FC6A6264CE") in new stack
    -- Executing [dtag-in@fbdtag:4] NoOp("SIP/dtag-in-000001e2", "SIP To  : <sip:[email protected]:5060>") in new stack
    -- Executing [dtag-in@fbdtag:5] NoOp("SIP/dtag-in-000001e2", "SIP PAI : ") in new stack
    -- Executing [dtag-in@fbdtag:6] NoOp("SIP/dtag-in-000001e2", "SIP RPI : ") in new stack
    -- Executing [dtag-in@fbdtag:7] Hangup("SIP/dtag-in-000001e2", "") in new stack

Kurz; weiterhin kein Unterscheidungsmerkmal, welche initiale Nummer angerufen wurde. Da z. T. >10 Rufnummern pro FB genutzt werden und eigentlich die Asterisk-Infrastruktur nur ergänzend, nicht übernehmend, geplant war, stellt sich mir die Frage, ob jemand in den letzten Jahren dies vielleicht anders gelöst hat? Sprich, eine Variable gefunden, aus der die gewählte Rufnummer hervorgeht?
 
Ich weiß nicht ob es dir hilft, aber der Callmonitor auf Port 1012 gibt neben der caller# auch die called# und sip# aus.
 
Moins


Eigentlich ganz einfach :D
Der letzte Teil des "register" ist bei mir die zugewiesene Nummer des Registrars der Fritz!Box.
So weiss ich immer welche Nummer der Fritz!Box angerufen wurde.
Also:
Code:
;Fritz!Box (Modell: 7560 OS: 6.92) IPv4
register => user:[email protected]:5060/zugewiesene_Nummer_in_der_fritzbox
Für meine Nummern braucht es dann noch die passende Extension...
Code:
exten => _6[08]XXXXXX,1(fbf_incoming),NoOp("${CALLERID(all)}" "-->" "${EXTEN}")
Das geht natürlich nur mit Registraren, denen nur eine Nummer zugewiesen wurde.
...aber was solls, ich hab 10 Nummern und 10 Fritz!Box Registrare, ich muss da nicht sparen.

Ach ja, die Variable in der dann die angerufene Fritz!Box Nummer steht, ist, wie nicht anders zu erwarten: ${EXTEN}
:rolleyes: ( Nur der Vollständigkeit halber )
 
Zuletzt bearbeitet:
Eigentlich ganz einfach :D
Der letzte Teil des "register" ist bei mir die zugewiesene Nummer des Registrars der Fritz!Box.
So weiss ich immer welche Nummer der Fritz!Box angerufen wurde. […]

Ja, mit einer 1:1-Abbildung Rufnummer FB <-> SIP-Registrar FB <-> SIP-Peer * ist das trivial; aber ich möchte/kann (da für interne sowie VPN-Verbindungen ca. 4 SIP-Registrare an der "Internet-FB" benötigt werden) keine 1:1-Abbildung vornehmen. Daher ist das bei mir ein "FB-Kennzeichner", und bei Asterisk kommt das dann wie oben an.

[…] Callmonitor auf Port 1012 […]

Es sieht, nach einer schnellen Befragung von Tante G, nicht so aus, als sei das einfach in einen Asterisk-Dialplan integrierbar?
 
Zumal die Verbindung auf Port 1012 dauerhaft gehalten werden muss, sprich, schon vor dem Anruf.

Dafür reicht bei mir ein interner Anruf, beispielsweise von einem DECT-MT auf **621, um die zugewiesene Nummer zu sehen....
Code:
Executing [68XXXXXX@fbf1:1] NoOp("SIP/fbfgateway0-0000000f", """DECT-MT 1" <**610>" "-->" "68XXXXXX"")
...und bei so einen internen Anruf bleibt der Callmonitor ( Port 1012 ) mucksmäuschenstill.
 
Zuletzt bearbeitet:
JFTR, der Einsatzzweck ist eigentlich "SIP statt ISDN-Kabel": Bislang geht noch ein ISDN-S0 von der 7490 im Keller am VDSL-Anschluß durch die Stockwerke, im EG hängt eine weitere 7490 für DECT daran. Neue Nummer auf FB wird automatisch zu den Rufnummern, die auf dem S0 signalisiert werden, hinzugefügt. Wg. zunehmend nervigem Anruferaufkommen soll nun zwischen die Keller- und die EG-7490 ein Asterisk geschleift werden, der entweder bekannte Callcenter-Nummern per Rufumleitung in der Keller-7490 mit dem "Voicespam"-Setup beglückt (vgl. auch hier; quasi die deutsche Variante von It's Lenny …), die sonstigen Anrufe gegen Tellows checkt und ggf. in ein entsprechendes Setup verzweigt oder direkt die Telefone an der EG-7490 klingeln läßt. Gleichzeitig soll Telefonie auch ohne die Asterisk-VM noch möglich sein (WAF ist wichtig) …
 
Fritz!Box
Ist bei mir so, dass meist mit ( WAF ) DECT über die Fritz!Box telefoniert wird.

Asterisk
Externe Anrufe kommen ja immer über den ersten Peer ( fbfgateway0 ) rein.
...wegen der ersten korrespondierenden IP, die Asterisk findet.
So kann ich eben auch locker mal unterscheiden, anhand von ${EXTEN}, welcher Peer mit dieser zugewiesenen Nummer zum Rausrufen ( fbfgateway0 bis fbfgateway9 ) genutzt werden muss, damit der Anrufer erkennen kann, dass die Nummer die er angewählt hat, zurückruft.
...wenn ich dass mit dem SNOM machen will, welches nur am Asterisk hängt.
 
IMHO geht das auch alles auf einer FB.
Ich frage neuerdings auch den Tellows-Score ab und laß mir den anzeigen.
Damit kann man dann ja alles Mögliche machen, z.B kurz annehmen und auflegen.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.