[HowTo] Fehlende Funktionen der FBF mittels minimalem Asterisk nachrüsten

@ henry90
Es kann sein, dass sich die Umleitungen nicht so einfach einstellen lassen, bzw. dass es bei manchen Providern nicht geht.
Du musst die Umleitung bei Nichterreichbarkeit auch aktivieren.
Viele Provider leiten dann die Gespräche auf den AB um, bzw. machen eine Ansage. Das ist dann für den Anrufenden kostenpflichtig.
Mit einem Anruf bei der Hotline des Providers lässt sich das Problem beheben, wenn die üblichen USSD-Codes (z. B. https://www.t-mobile.de/steuercodes/0,23096,28920-_,00.html ) nicht wirken.
 
Zuletzt bearbeitet:
Es kann sein, dass sich die Umleitungen nicht so einfach einstellen lassen, bzw. dass es bei manchen Providern nicht geht.

es gilt auch hier wieder die Grundregel: auf alles was man nicht selbst macht, darf man sich auch nicht verlassen.

Im konkreten Fall bedeutet das, wenn man die Umleitung/den Parallelruf nicht selbst initiiert (per Asterisk) darf man sich nicht wundern, wenn es nicht funktioniert (weil pbx-network die CID mal wieder verbockt hat)
 
@ Tippfehler
Super, das ist genau der richtige Link.
Habe ein CF-Nichterreichbarkeit **62*NUMMER# *) gemacht auf eine existierende aber nicht verwendete Nummer an einem nicht angeschlossenen Fritzbox-Fon2-Anschluss.
Klappt 1a.
Jetzt steht meiner Parallelfunktion nichts mehr entgegen, egal, ob die Handys eingeschaltet sind oder nicht :)
Vielen Dank, auch an erik! :)

*) besser: **004*NUMMER#
siehe Beitrag #104
 
Zuletzt bearbeitet:
Mir ist gerade etwas aufgefallen:

Ich benutze die einfache Konfiguration vom ersten Post.

Wenn ich jetzt einen Anruf erhalte und ihn am Festnetz entgegen nehme klingelt es am Handy weiter bis zur Besinnungslosigkeit.

Kann man dem Asterisk irgendwie mitteilen dass das Gespräch angenommen wurde?
 
[incomming]
exten => _X.,1,Dial(Local/Mobil@gateways&Local/SimQuadrat@gateways,50,o)
Natürlich sollte das Klingeln aufhören mit dem Abheben am Festnetz.
Klingelt das Handy denn sogar länger als 50 Sek?
 
Ja das hat deutlich länger geklingelt. Ich hatte die 50 aber auch nicht eingetragen. Habe es jetzt nachgeholt.

Trotzdem dürfte es ja nicht weiter klingeln

Update 06.02.2015: Die 50 war natürlich doch eingetragen. Ich habe alles nochmal neu aufgesetzt aber es klingelt weiterhin an der jeweils anderen Nummer unaufhörlich.
Woran kann das liegen?
 
Zuletzt bearbeitet:
So, ich habe erneut alles aufgesetzt mit dem Image von raspberry-asterisk.org

Die extensions.conf und die sip.conf habe ich komplett mit den beiden Dateien aus dem Eröffnungspost ersetzt. Nun funktioniert alles wie es soll. Wenn ich abnehme hört das jeweilge andere Gerät auf zu klingeln.

Nun funktionieren logischerweise andere Funktionen, die ich bei FreePBX eintrage, nicht mehr.

Wie kriege ich es nun hin, dass folgendes möglich ist:

- 2 ausgehende Leitungen Dellmont (Trunk1 mit Nr 1234 und Trunk2 mit Nr 5678)
- 2 Nebenstellen für die Fritzbox (6000 und 6001)
- Nebenstelle 6000 telefoniert raus über Trunk1 -> Nr. 1234 wird übertragen
- Nebenstelle 6001 telefoniert raus über Trunk2 -> Nr. 5678 wird übertragen
- keine eingehenden Anrufe über diese Konstellation

Problem ist:
- Ich kann das in FreePBX mit den originalen extensions.conf und sip.conf realisieren. Funktioniert natürlich auch. Das setzt aber meine Parallelruffunktion außer Kraft.
- Trage ich die Inhalte aus dem Eröffnungspost in die vorhandenen extensions.conf und sip.conf ein, funktionieren zwar die ausgehenden Anrufe über die 2 Leitungen wie gewünscht aber die Parallelruffunktion geht nicht.

Ich habe gestern und vorgestern fast den ganzen Tag damit verbracht, dies zu realisieren. Habe gesucht, gelesen, probiert, weiter gesucht, gelesen, gemacht aber leider keinen Erfolg. Die beiden Dinge kriege ich zusammen nicht ans laufen.

Momentan habe ich es übergangsweise über einen zweiten Asterisk gelöst, der auf meinem Synology NAS läuft. Der ist für die ausgehenden Anrufe zuständig. Es ist natürlich nicht so schön, das NAS dafür immer am Laufen zu haben.

Wäre wirklich schön, wenn mir jemand helfen könnte.
 
Nach langen Basteln habe ich jetzt eine Konfiguration für meine beiden Parallelrufe gefunden die halbwegs zuverlässig funktioniert. Zwischenzeitlich war es nämlich so daß Anrufer mit unterdrückter Nummer nicht durchgestellt wurden.

Eine Frage hätte ich aber, und trotz stundenlanger Lektüre diverser Asterisk-Bücher und Wikis fand ich das bisher noch nicht heraus: Der Befehl Set(CALLERID(num)=49${CALLERID(num):1}) schneidet nach meinem Verständnis stur die führende Null der Anrufernummer ab und ersetzt sie mit 49. Für Anrufer aus Deutschland ist das ok, aber wie bekomme ich es hin daß bei Anrufern aus dem Ausland nur die beiden führenden Nullen abgeschnitten werden? Das heißt wie sortiere ich die Anrufe nicht nur nach angerufener Nummer, sondern auch nach deren eigener Nummer um sie dann unterschiedlich zu behandeln? Falls die Antwort zu umfangreich ist wäre ich auch für einen Link sehr dankbar.

Danke an rentier-s für die Hilfe, habe ich gleich eingearbeitet. Trotz Studium diverser Asterisk-Anleitungen habe ich keine if-then Vernüpungen finden können.

Nun kann man die Rufzuordnung wie gewohnt über die Fritzbox einstellen und hat je nach Wunsch Parallelruf oder Umleitung auf eines von zwei Handys verfügbar.

Hier die extensions.conf

Code:
[general]

[incomming]

exten => 622,1,Set(CALLERID(name)= Erik )
exten => 622,2,Set(CALLERID(num)=${IF($[$["${CALLERID(num):0:1}"="0"] & ["${CALLERID(num):1:1}"!="0"]]?0049${CALLERID(num):1}:${CALLERID(num)})})
exten => 622,3,Set(CALLERID(num)=${CALLERID(num):2})
exten => 622,4,Dial(SIP/[email protected],50,or)

exten => 623,1,Set(CALLERID(name)= Tochter )
exten => 623,2,Set(CALLERID(num)=${IF($[$["${CALLERID(num):0:1}"="0"] & ["${CALLERID(num):1:1}"!="0"]]?0049${CALLERID(num):1}:${CALLERID(num)})})
exten => 623,3,Set(CALLERID(num)=${CALLERID(num):2})
exten => 623,4,Dial(SIP/[email protected],50,or)

und die sip.conf

Code:
[general]

language=de
bindport = 5060
bindaddr = 0.0.0.0
realm = meinaccount.no-ip.org
externip = meinaccount.no-ip.org
type=friend
context=incomming
externrefresh=30
nat=yes
srvlookup=yes
transport=udp
localnet=192.168.11.0/255.255.255.0
directmedia=no

register => 622:[email protected]/622
register => 623:[email protected]/623
 
Zuletzt bearbeitet:
Code:
Set(CALLERID(num)=${IF($[$["${CALLERID(num):0:1}"="0"] & ["${CALLERID(num):1:1}"!="0"]]?0049${CALLERID(num):1}:${CALLERID(num)})})

Damit bekommen alle Anrufer mit nur einer führenden 0 erst mal eine 0049 vorne dran (Erklärung hier). Im zweiten Schritt kann man sofern gewünscht mit

Code:
Set(CALLERID(num)=${CALLERID(num):2})

die beiden führenden 0 entfernen. Auf diese Art kommt bei anonymen Anrufern kein "49" oder so raus.
 
Danke, das ist wonach ich gesucht habe.:groesste:
Jetzt muß nur noch einer aus dem Ausland anrufen um zu testen ob Cheapvoip das so akzeptiert.

Wozu dient denn das Fragezeichen vor der 0049?
 
Jetzt muß nur noch einer aus dem Ausland anrufen um zu testen ob Cheapvoip das so akzeptiert.
dazu musst da ja nur selbst die CALLERID(num) komplett entsprechend setzen statt nur an den fuehrenden Ziffern herumzueditieren :)
 
Das stimmt, dann weiß ich aber noch nicht ob die Fritzbox die Nummer auch im korrekten Format ausliefert. Bisher mußte ich schon bei Callcentric mit dem Suffix rumjonglieren um korrekte Anzeigen zu erhalten, da steht bei mir drin: 00*;0*49;0*0;00*00
Zumindest bei Anrufen aus Deutschland klappt das auch mit dem Asterisk :)

Werde aber trotzdem mal testen.
 
Super Anleitung! Ich bin grad dabei, das auch mit dem Asterisk auf der RasPi zu implementieren.

Dabei sind mir folgende Dinge aufgefallen.

1. In meiner aktuellen FBF7390 lief der Asterisk immer auf ein "Registration timed out"

Die Lösung findet sich hier: http://www.ip-phone-forum.de/showthread.php?t=257765
bzw. in der sip-provider-fbf.conf jeweils einfügen:
Code:
qualify=yes
qualifyfreq=600

2. Probleme mit der extensions.conf (erweiterte Konfiguration)
In der Sektion "Eingehend" wird die angerufene Extension geändert (und soll internationalisiert werden). Wieso eigentlich? Die Erklärung leuchtet mir nicht ein. Das Beispiel ist dafür ist auch missverständlich.
Ich erhalte z.B. beim Anruf an die Extension 999100 folgenden Fehler:
Code:
-- Executing [999100@eingehend:1] Set("SIP/999100-00000007", "Anruf=999100") in new stack
-- Executing [999100@eingehend:2] GotoIf("SIP/999100-00000007", "0?20:3") in new stack
-- Goto (eingehend,999100,3)
-- Executing [999100@eingehend:3] GotoIf("SIP/999100-00000007", "0?4:10") in new stack
-- Goto (eingehend,999100,10)
-- Executing [999100@eingehend:10] Set("SIP/999100-00000007", "Anruf=00999100") in new stack
-- Auto fallthrough, channel 'SIP/999100-00000007' status is 'UNKNOWN'
Soll die Extension tatsächlich zu 0049999100 geändert werden? Wenn ja, dann müsste doch in der Sektion "Extensions-Einzelnummern" auch anstelle von
Code:
exten => 999100,1,Dial(SIP/211&Local/ParallelrufgatewayMobil@gateways,50,o)
stehen:
Code:
exten => 0049999100,Dial(SIP/211&Local/ParallelrufgatewayMobil@gateways,50,o)

In der Sektion [gateways] fehlt ein GOTO in Zeile 12. Hier mal der code, der bei mir dann läuft (Asterisk Version 1.18.13.1):
Code:
exten => ParallelrufgatewayMobil,11,set(Anrufer=49${Anrufer:1})
exten => ParallelrufgatewayMobil,12,Goto(20)
exten => ParallelrufgatewayMobil,20,Set(CALLERID(name)=${Anrufer})
Das Kommando
Code:
exten => ParallelrufgatewayMobil,22,GotoIf($[${DB(rufuml/mobile)}=1]?24:23)
läuft bei mir auf die Warnung:
Code:
[Feb 16 12:21:34] WARNING[2260]: ast_expr2.fl:468 ast_yyerror: ast_yyerror():  syntax error: syntax error, unexpected '=', expecting $end; Input:
=1
^
 
Zuletzt bearbeitet:
Das ist ein häufiger Fehler bei If Kriterien. Wenn die Variable nicht existiert oder leer ist, wird die Syntax ungültig.
Anführungszeichen vermeiden das, weil der Ausdruck dann ""="1" ergibt und somit gültig bleibt.

Code:
exten => ParallelrufgatewayMobil,22,GotoIf($[[COLOR="#FF0000"]"[/COLOR]${DB(rufuml/mobile)}[COLOR="#FF0000"]"[/COLOR]=[COLOR="#FF0000"]"[/COLOR]1[COLOR="#FF0000"]"[/COLOR]]?24:23)
 
Was das Problem mit ausgeschaltetem Handy angeht:
Ich mache bei meiner 1&1SIM auch eine RUL bei nicht erreichbar auf eine ansonsten nicht genutzte Rufnummer. Für die Hauptnummer ist AB der FBF nach 30 Sekunden eingerichtet. Wenn jemand direkt aufs Handy anruft, geht natürlich der Provider AB nicht ran. Ergo sollte man die ungenutzte Rufnummer so einrichten, dass hier der FBF-AB etwas später ebenfalls rangeht.
Bei Simquadrat habe ich einen älteren Vertrag, der nicht nur kostenlos ist, sondern auch parallele Registrierung per VoIP erlaubt. Da stellt sich das Problem nicht.
Im Büro begrenze ich das Weiterleiten auf 20 Sekunden, nach 25 ginge es nämlich auf unseren BüroAB bzw. zur Telefonzentrale.

Was mich wundert, ist, dass bisher keiner die CallBackLösung nutzt.
MobileVoIPApp hat ganz massive Nachteile:
- Verbindungsentgelt je Gespräch
- der Angerufene bekommt immer die Nummer angezeigt, auf die man sich zurückrufen lässt.
Das zweite ist für mich K.O.-Kriterium. Egal, von welchem Gerät ich anrufe, ich möchte immer die Festnetznummer übermitteln. Auf die möchte ich ja zurück gerufen werden. Denn nur die Festnetznummer klingelt ja an wirklich allen Geräten.
Mit BoxToGoPro ist die Nutzung dann super bequem. Ich habe einen "Kontakt" "_Callback Konfigurieren" mit 3 "Rufnummern". Rufe ich die erste mittels Wahlhilfe, so stelle ich CB auf die Simquadrat Nummer, die zweite stellt CB aufs Bürotelefon (bequemer als ein Phablet am Ohr) und die dritte auf mein Zweithandy (auch bequemer zum Telephonieren). Immer sieht der Angerufene nur die Festnetznummer...

Weil der AB am Handy ja aus ist (RUL auf ungenutzte Rufnummer - außerdem gebe ich die ja nicht raus), kann ich den AB wahlweise per BoxToGo oder durch Wahlhilfe auf " 600" abrufen.
 
MobileVoIPApp hat ganz massive Nachteile:
- Verbindungsentgelt je Gespräch
Der halbe Cent ist doch nicht der Rede Wert. Oder meinst Du das separate Entgelt einiger Dellmont-Marken? Das gibt es bei Cheap VOIP nicht.
- der Angerufene bekommt immer die Nummer angezeigt, auf die man sich zurückrufen lässt.
Das stimmt nicht. Ich kann in der Software einstellen welche Nummer gesendet werden soll. Und bei jedem Anruf werde ich gefragt wohin mit dem Rückruf. Dafür funktioniert das auch wenn daheim alle Technik streikt und wenn man im Hotel Wlan hat kann man auch direkt damit telefonieren, ohne Rückruf (der in der Türkei z.B. teuer wäre).
Die Symbian-, Android- und Windowsphone-Version der Software unterscheidet sich da auch etwas.
 
Zuletzt bearbeitet:
Fehler gefunden für:
Code:
-- Auto fallthrough, channel 'SIP/999100-00000007' status is 'UNKNOWN'
Es fehlt wieder das Goto:
Code:
exten => _X.,10,set(Anruf=00${Anruf})
[COLOR="#FF0000"]exten => _X.,11,goto(20)[/COLOR]
exten => _X.,20,Goto(eingehend-aufgeloest,${Anruf},1)
 
Ich hatte bisher bei allen Dellmont Marken ein einmaliges Verbindungsentgelt bei Callback(!) mit der MobileVoIPApp. Auch z.B. bei FreeVoIPDeal, was sonst keine Connection Fee hat, werden 3,5 Cent netto je Gesprächsaufbau extra berechnet- und zwar auch, wenn der andere nicht ran geht. CheapVoIP habe ich diesbezüglich nicht getestet, gem. eines anderen Threads sind es dort sogar 5 Cent netto je Callback-Verbindungsaufbau. Das läppert sich, wenn man eine reine Datenflat hat und deshalb alle Ausgehenden Gespräche über Callback führt.
Die Verbindung zu Simquadrat kommt bei mir natürlich noch dazu, da ich die bei der MobileVoipApp ja bezahlen muss, bei Sipgate oder Festnetzflat zu Hause aber nicht.
3,5 bzw. 5 Cent netto je Verbindung läppern sich und machen gerade kurze Gespräche per Callback deutlich teurer. Besonders Ärgerlich, dass die nicht in der Preisliste stehen.

Die Verwendung der eingestellten Absendenummer ging, als ich die eigene Callbacklösung entwickelte, bei der MobileVoIPApp noch nicht zusammen mit Callback, sondern nur bei Callthrough und VoIP. Spätestens seit dem letzten Update der App (vor 3 Tagen...) scheint dieser Bug, den ich vor zwei Jahren reklamiert hatte, allerdings tatsächlich endlich behoben zu sein. Beim Versuch vor Threaderöffnung war der Bug noch drin, egal, was man als Absendenummer setzte, es wurde die Callbacknummer übermittelt. Als Änderung bei der MobileVoIPApp steht denn auch several bugs fixed...

Das bezieht sich auf Android, wie es bei den anderen OS aussieht, weis ich nicht.
 
Zuletzt bearbeitet:
Was das Problem mit ausgeschaltetem Handy angeht:
Musste gerade zu meiner Überraschung feststellen, dass Rufumleitungen kostenpflichtig sind.
Jeder Anruf an meine Festnetznummer kostet mich eine Handy-Minuteneinheit, habe keine Flat.
Für mich ist das ein Ausschlusskriterium für die ansonsten bei mir funktionierende Parallelfunktion mit dem Asterisk.

Der Fritzbox ist es bei der Parallelfunktion egal wie das Handy reagiert, das Festnetztelefon läutet immer.
Die Nummer des Anrufers sehe ich auf meinem Handy dann natürlich nicht. Ich glaube, damit kann/muss ich leben.

Frage an die Asteriskspezialisten:
Kann nicht der Asterisk ein INOP-Handy abfangen und dem Anrufer den Freiton vorspielen?
Das wäre die Lösung!
 
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.