[Geschafft] Analoge Linie der FB einem asterisk verfuegbar machen

cmmehl

Aktives Mitglied
Mitglied seit
15 Jun 2004
Beiträge
812
Punkte für Reaktionen
1
Punkte
0
Liebe Leut,

bitte haut mich nicht, wenn dieses thema schon behandelt ist - ich habe die suche redlich bemueht.

Ich habe (leider immer noch) eine POTS landline, analog (also nix ISDN), die auch ganz brav von meiner Fritzbox integriert wird. Nur wuerde ich diese gerne einem entfernten asterisk zufuehren. Also nicht auf einen asterisk auf der FB selber.

Der grund dafuer ist, dass ich eingehende Festnetzanrufe gern anderswo entgegennehmen moechte. Das kann ich zwar durch eine FB-interne weiterleitung realisieren, aber dann wird mir als ankommende nummer nur die weiterleitende nummer angezeigt, nicht die des anrufers. Und der asterisk hat auch mehr moeglichkeiten, einen anruf zu verwursten ...

Es muss doch irgendwie moeglich sein, ueber landline auf die FB eingehende anrufe an einen asterisk weiterzureichen? Mit einem sipura3000 waere das zumindest kein problem, und die FB ist doch etwas weiter entwickelt. Nur komm ich nicht drauf, wie das anzustellen ist ...

Bitte gebt mir einen hinweis, wie das zu bewerkstelligen waere!

Thx
Chris

(Zur loesung bitte bis zu diesem post (15) scrollen)
 
Zuletzt bearbeitet:
Es gibt drei Möglichkeiten: Asterisk auf der FBF installieren, SIP-Server (orig. AVM-Firmware für 7170er oder 7270er) oder dtmfbox (habs selbst ausprobiert). Entscheid dich für eine davon.
 
Hallo PsychoMantis,

ich hab mir jetzt mal die erste der von dir genannten moeglichkeiten angesehn - die letzte FW fuer die 7270 hat ja den sip server drin. Seitdem plage ich mich damit ab, das irgendwie auf dem asterisk zum laufen zu kriegen.

Nach einigem suchen bin ich dann auch auf diesen thread hier gestossen, in dem du und andere eure versuche mit dem sip server schildert. Leider ist der thread erstens lang, zweitens sehr unuebersichtlich und drittens werden da alle moeglichen probleme diskutiert, vor allem UMTS.

Wenn ich zusammenfasse, was ich da gelesen habe - es geht, aber nur wenn man zum registrieren die aktuelle IP der FritzBox eingibt, mit einer dyndns-adresse geht es nicht. Ist das noch der letzte stand der dinge? Hat sich AVM inzwischen irgendwo zu dieser unregelmaessigkeit geauessert?

Lieber gruss
Chris
 
Ist das doch einfach

melde die per fritzbox 2 am sipserver asterisk auf fritzboxfon

der fritzbox 1 mit einer dyndns weiterleitung an fertich

gruss 1A1
 
Hm, ich hab das nicht richtig verstanden. Sprichst du von 2 Fritzboxen? Ich hab nur eine ...
 
vielleicht ist das ja hier was für dich?
Sollte nach meinem Verständnis auch mit einem externen Asterisk funktionieren.
Zumindest eingehend.
Ausgehend könnte man den externen Asterisk vielleicht am SipServer der Box anmelden.
Oder direkt * auf der FBF installieren
http://www.ip-phone-forum.de/showpost.php?p=810981&postcount=303
 
Zuletzt bearbeitet:
Danke vel_tins fuer den tip! Aber leider hat alles mit Anrufweiterleitung durch die FB zur folge, dass die Anrufernummer nicht mehr angezeigt wird. Ansonsten koennte ich mich ja damit zufriedengeben - aber ich wuesste halt schon gern, wer anruft.

Ich hab jetzt in dem andern tread noch ne frage offen - sollte ich es irgendwann zufriedenstellend zum laufen bringen, schreib ich hier ne zusammenfassung - versprochen!

Chris
 
Danke vel_tins fuer den tip! Aber leider hat alles mit Anrufweiterleitung durch die FB zur folge, dass die Anrufernummer nicht mehr angezeigt wird
Nicht ganz richtig..bei einer internen Weiterleitung wird die Rufnummer übermittelt, nur nach Extern nicht.
Und dieses wäre dann ja eine interne Weiterleitung.
Selbst getestet, ich stand nämlich genau vor der gleichen Problematik. Allerdings wird mit Installation des *@FBF, das Thema Rufumleitung eh überflüssig.
 
Zuletzt bearbeitet:
Vielleicht hab ich ja nen denkfehler - aber fuer mich liest sich das:
Code:
umleiten [B]über Internet[/B]: 772, Zielrufnummer 771#, sofort
nicht wie eine interne weiterleitung.

Das mit den weiterleitungen an den externen asterisk habe ich probiert, sowohl mit einer regulaeren nummer (VoIP of course) als auch mit asterisk-internen. Jedesmal wird halt als Anrufernúmmer die weiterleitende nummer angezeigt - das ist ja das drama.

Cheers
Chris
 
scheinbar habe ich bei meinen ganzen Basteleien was verwechselt..:rolleyes:.
Habs nochmal versucht nachzustellen:
Alle Anrufe umleiten =>über 7703 an 7704
7703=angemeldeter Sip Account FBF
7704=Softphone (Phoner)
Da bekomm ich noch nichtmal das Telefon ans klingeln....
Anscheinend wird der Anruf von der FBF nicht korrekt weitergeleitet.
 
Mit Asterisk geht das zwar (habe es selbst so laufen), aber die Rufnummer geht dabei leider verloren, denn Asterisk nimmt den Ruf schon an, bevor die Nummer übermittelt wird. Siehe Beitrag #6.
(Bei mir geht es übrigens sowohl eingehend, als auch ausgehend und ISDN und auch über POTS. Bei POTS ist die Gesprächsqualität leider bescheiden, man muss viel mit rxgain und txgain experimentieren.)
 
Hier erste ueberlegungen zu Psychomantis' genialem cronjob. Wie einige andere in dem thread schon sagten, habe auch ich hemmungen, in der sip.conf rumzuschreiben, auch wenn es nur einmal taeglich ist. Auslagern waere natuerlich eine loesung.

Aber abgesehen davon koennte man das skript globaler machen, wenn es "nur" die hosts datei modifiziert - das ist der gewiss reiz an gerdshis idee. Bei mir hat sich naemlich bei meinen naechtlichen versuchen die Fritzbox die Nummer 601 ausgesucht, und nicht die 620 (wie bei vorherigen versuchen und offenbar bei allen andern). Nebenbei, dass die nummer immer so aus dem 600-er bereich stammt ist mir persoenlich ziemlich laestig, weil ich den bereich selber in nutzung habe ... weiss jemand, wie man das aendern koennte?

Also waere es imho klasse, wenn man den cronjob so anpassen koennte, dass er die korrekte IP in die /etc/hosts schreibt ... Ich habe das hier schon mal angefragt, schlage aber vor, die diskussion hierzu nunmehr in diesem thread zu fuehren, der uebersichtlichkeit halber.

Leider habe ich selbst ueberhaupt keine ahnung im skripte schreiben.

Gruesse
Chris
 
Also waere es imho klasse, wenn man den cronjob so anpassen koennte, dass er die korrekte IP in die /etc/hosts schreibt

Code:
*/1 * * * * if [ `cat /etc/hosts | grep fritz | egrep -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'` != `ping -c 1 dyndns.ip | grep dyndns.ip | egrep -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'` ]; then cat /etc/hosts | sed s/`cat /etc/hosts | grep fritz | egrep -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'`/`ping -c 1 dyndns.ip | grep dyndns.ip | egrep -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'`/g > /tmp/hosts && cat /tmp/hosts > /etc/hosts && rm /tmp/hosts && /usr/sbin/asterisk -rx "sip reload" ; fi

Und davor noch in der /etc/hosts die Zeile "77.66.55.44 dyndns.ip" einfügen.
 
Hi!

Berichtet mich wenn ich falsch liege odder was übersehe, aber der Cronjob ist falsch.
Und davor noch in der /etc/hosts die Zeile "77.66.55.44 dyndns.ip" einfügen.
Das Ergebnis muss so aussehen (!):
Code:
77.66.55.44   fritz.box
Das Wort fritz.box muss drin stehen. Das ist der Hacken, weil die Box erwartet das im SIP-Packet der Hostname der angesprochen wird - bei uns fritz.box - sonst reagiert die FBF nicht auf dem Packet und verwirft es!!! (Meldet dann der Benutzer ist hier unbekannt.)

Gruss

Edit: Kurz gesagt überall (im Code und in /etct/hosts) muss dyndns.ip mit fritz.box ersetzt werden und... dann geht es ;-)
 
Zuletzt bearbeitet:
Sodele - wie versprochen hier eine zusammenfassung, wie das im threadtitel genannte anliegen zu bewerkstelligen ist. Dies ist das ergebnis von zaehen (und zum teil recht emotionalen) diskussionen in dem bereits erwaehnten furchtbar langen und unuebersichtlichen thread.

Zunaechst einmal wurde das problem der registrierung durch eine andere syntax geloest, bei der die dyndns adresse verwendbar ist und nicht zwingend die aktuelle IP adresse verwendet werden muss.

Der befehl zur registrierung an der Fritzbox muss also so geschrieben werden:
Code:
register => [EMAIL="[email protected]:GaNzGeHeIm:[email protected]"][email protected]:GaNzGeHeIm:[email protected][/EMAIL]
Aber auch danach schaffte ich es lange nicht, einen anruf auf der festnetznummer in den asterisk zu leiten. Der grund hierfuer war, dass meine Fritzbox selber auch an dem asterisk angemeldet war, und dieser kontext hinter dem der 620 stand in der sip.conf, was nicht sein darf.

Ottone, dem ich sehr danke fuer diesen entscheidenden hinweis, hat seinerseits die in den asterisk confs notwendigen eintraege in einem immer wieder aktualisierten post des ellenlangen threads zusammengefasst - der vollstaendigkeit halber sei dieser hier zitiert:
Code:
[B]sip.conf:[/B]

; EDIT: Ein dyndns host funktioniert sofern @fromdomain und authuser gesetzt sind!
; Format: fromuser@fromdomain:password:authuser@host/incoming_extension
register => [EMAIL="[email protected]:GaNzGeHeIm:[email protected]/"][email protected]:GaNzGeHeIm:[email protected]/[/EMAIL]623

; In diesem vereinfachten Format wäre die IP zwingend (kein hostname)
;register => [URL="http://623:[email protected]/623"]623:[email protected]/623[/URL]

[623]
context=eingehend
type=peer
fromuser=623  ; wichtig mit AVM firmware 54.04.70
fromdomain=fritz.box  ; wichtig mit AVM firmware 54.04.70
secret=GaNzGeHeIm
host=myfritzbox.dyndns.org  ; dyndns hostname verlangt fromdomain=
nat=yes  ; wichtig mit AVM firmware 54.04.70
;canreinvite=yes  ; ist ein Risiko: Kein Audio falls neuer Partner die NAT Reparatur nicht beherrscht!
canreinvite=no
qualify=500  ; nicht wirklcih wichtig
call-limit=2
dtmfmode=rfc2833  ; muss mit den Einstellungen der Fritz!Box übereinstimmen
;dtmfmode=info
disallow=all
g726nonstandard=yes  ; zusammen mit g26aal2
allow=g726aal2  ; sofern nicht aktiviert: "Anbieter unterstuetzt G.726 nach RFC 3551"
;allow=g726  ; nur wenn aktiviert: "Anbieter unterstuetzt G.726 nach RFC 3551", geht aber leider für 62x nicht
allow=alaw
allow=ilbc  ; muss explizit im Asterisk installiert werden und klingt mittelmaessig
allow=g722  ; leider laesst sich die Fritz!Box nicht immer dazu zwingen

[B]extensions.conf:[/B]

[ausgehend]
exten => _0XX.,1,Dial(SIP/${EXTEN}@623,40,t)  ; waehle eine beliebige Nummer
exten => _0XX.,n,HangUp
exten => 99999,1,Dial(SIP/030123456@623,40,t)  ; waehle eine Berliner Nummer als Test
exten => 99999,n,HangUp

[eingehend]
; siehe "/incoming_extension" beim register und "context=" unter [623]
exten => 623,1,Dial(SIP/MeinTelefon,25,t)
exten => 623,n,HangUp
Ottone verwendet 623, wo ich 620 benutze - das muss jeder selber an seine gegebenheiten anpassen.

Edit: es hat sich herausgestellt, dass anrufe wohl doch ueber die s-extension reinkommen statt ueber 620 (in meiner konfiguration) - weshalb, weiss ich nicht. Aber jedenfalls braucht es bei mir dann folgendes im [eingehend] - kontext der extensions.conf:
Code:
exten => s,1,Dial(SIP/MeinTelefon,25,t)
exten => s,n,HangUp
Viel freude all denen, die das irgendwie nutzen koennen!
Chris
 
Zuletzt bearbeitet:
Bzgl. deines EDITs meine ich, dass es daran liegt, dass du am Ende der Zeile von register =>... keine "/620" verwendest.

Ansonsten habe ich das ausprobiert (nur ausgehende Anrufe sind für mich wichtig). Ich bekomm nur das:
Code:
    -- Executing [09876543210@default:1] Dial("SIP/dus.net-f6c4c970", "SIP/08003301000@625") in new stack
  == Using SIP RTP CoS mark 5
    -- Called 08003301000@625
    -- SIP/625-f6c20d00 is circuit-busy
  == Everyone is busy/congested at this time (1:0/1/0)
    -- Executing [09876543210@default:2] NoOp("SIP/dus.net-f6c4c970", "CONGESTION") in new stack
 
Geht es denn ausgehend mit dem IP-trick, sei es in der sip.conf oder in /etc/hosts?
 
Natürlich. Der hier beschriebene Trick funktioniert nach wie vor. In der sip.conf reicht dieser Eintrag:
Code:
[meine_trunks](!)                                [625]
insecure=port,invite                             insecure=port,invite
type=peer                                        type=peer
nat=no                                           nat=no
secret=pwd                                       secret=pwd
                               bzw.              username=625
[625](meine_trunks)                              fromuser=625
username=625                                     host=77.66.55.44
fromuser=625
host=77.66.55.44

Funktioniert es etwas bei dir ohne diesen Trick eingehend (für dich waren glaube ich ja nur die eingehenden Gespräche relevant)?
 
Offensichtlich habe ich meinen beitrag nicht deutlich genug formuliert: ja, es funktioniert eingehend mit der dyndns adresse - kein bedarf, die aktuelle IP adresse zu verwenden. Von daher braucht auch weder die sip.conf noch die hosts umgeschrieben zu werden, auch nicht nach IP-wechseln.

Mit ausgehend habe ich mich nicht befasst, mangels bedarf.
 
Hallo,

Wie man die analoge Festnetzleitung an der Fritzbox an einem Asterisk einbindet, steht hier erklärt. Da ich mir aber bei der Einrichtung in der Fritzbox nicht 100% sicher bin, möchte ich kurz nachfragen, ob es gemäss meiner Bilder (nachstehend) korrekt aussieht?

Hintergrund: Eine FritzBox 7270 mit analogem Festnetzanschluss, welchen ich auch ausserhalb über einen Asterisk-Server (Rootserver im Internet) für ein- und ausgehende Gespräche nutzen möchte.

Übrigens, die "verwischte" Rufnummer ist meine Linzer Telefonnummer, daher habe ich nur die Vorwahl stehen lassen...

[ BILDER ]

Im Asterisk habe ich folgende konfiguriert:

sip.conf

Code:
[general]
port=5060
bindaddr=0.0.0.0
language=de

register => [email protected]:PASSWORT:620@MEINE-DYNDNS/620    ; Asterisk an der FritzBox anmelden

[2000]
callerid=Jürgen <2000>
type=friend
context=intern
secret=1234
host=dynamic
nat=yes
canreinvite=no
qualify=yes
mailbox=2000

[2001]
callerid=Brigitte <2001>
type=friend
context=intern
secret=1234
host=dynamic
nat=yes
canreinvite=no
qualify=yes
allowsubscribe=no    ; Damit FritzBox nicht wegen Voicebox fragt und Müll im Log hinterläßt.
mailbox=2001

[2002]
callerid=Softphone <2002>
type=friend
context=intern
secret=1234
host=dynamic
nat=yes
canreinvite=no
qualify=yes
allowsubscribe=no       ; Damit FritzBox nicht wegen Voicebox fragt und Müll im Log hinterläßt.
mailbox=2002

[620]
context=in-pstn
type=friend
fromuser=620            ; Wichtig mit AVM firmware 54.04.70
fromdomain=fritz.box        ; Wichtig mit AVM firmware 54.04.70
secret=PASSWORT
host=MEINE-DYNDNS    ; Dyndns hostname verlangt fromdomain=
nat=yes            ; Wichtig mit AVM firmware 54.04.70
canreinvite=no        ; Risiko: Kein Audio falls neuer Partner die NAT Reparatur nicht beherrscht!
qualify=500
call-limit=2
dtmfmode=rfc2833        ; Muss mit den Einstellungen der Fritz!Box übereinstimmen
disallow=all
g726nonstandard=yes        ; Zusammen mit g26aal2
allow=g726aal2            ; Sofern nicht aktiviert: "Anbieter unterstuetzt G.726 nach RFC 3551"
allow=g726            ; Nur wenn aktiviert: "Anbieter unterstuetzt G.726 nach RFC 3551", geht aber leider für 62x nicht
allow=alaw
allow=ilbc            ; Muss explizit im Asterisk installiert werden und klingt mittelmaessig
allow=g722            ; Leider laesst sich die Fritz!Box nicht immer dazu zwingen
extensions.conf

Code:
[intern]
exten => _200[0-9],1,Dial(SIP/${EXTEN},30)   ; Interne Verbindungen (ohne grosse Funktionen derzeit)
include => out-pstn

[out-pstn]
exten => _0XX.,1,Dial(SIP/${EXTEN}@620,40,t)  ; waehle eine beliebige Nummer
exten => _0XX.,n,HangUp

[in-pstn]
exten => 620,1,Dial(SIP/2002,25,t)
exten => 620,n,HangUp
Wenn ich nun raustelefoniere erhalte ich im Asterisk (Verbose 10):

Code:
  == Using SIP RTP CoS mark 5
    -- Executing [0800100100@intern:1] Dial("SIP/2002-ac45f0b8", "SIP/0800100100@620,40,t") in new stack
  == Using SIP RTP CoS mark 5
    -- Called 0800100100@620
    -- SIP/620-0f832c68 is circuit-busy
  == Everyone is busy/congested at this time (1:0/1/0)
    -- Executing [0800100100@intern:2] Hangup("SIP/2002-ac45f0b8", "") in new stack
  == Spawn extension (intern, 0800100100, 2) exited non-zero on 'SIP/2002-ac45f0b8'
Wenn ich reintelefoniere bekomme ich folgendes:

Code:
  == Using SIP RTP CoS mark 5
    -- Executing [620@in-pstn:1] Dial("SIP/620-0f832c68", "SIP/2002,25,t") in new stack
  == Using SIP RTP CoS mark 5
    -- Called 2002LI>
    -- SIP/2002-0f83f6a8 is ringing
    -- Nobody picked up in 25000 ms
    -- Executing [620@in-pstn:2] Hangup("SIP/620-0f832c68", "") in new stack
  == Spawn extension (in-pstn, 620, 2) exited non-zero on 'SIP/620-0f832c68'
Wieso wird eigentlich nach den 25 Sekunden kurz eine (vergebührte) Verbindung aufgebaut und dann aufgelegt? Dieses Verhalten habe ich mehrfach hintereinander mit dem Handy nachgeprüft. Normal sollte doch einfach ein "Besetzt" kommen, oder nicht?

Nehme ich das Gespräch am SIP-Telefon an, kommt folgendes:

Code:
  == Using SIP RTP CoS mark 5
    -- Executing [620@in-pstn:1] Dial("SIP/620-0f832c68", "SIP/2002,25,t") in new stack
  == Using SIP RTP CoS mark 5
    -- Called 2002LI>
    -- SIP/2002-0f847778 is ringing
    -- SIP/2002-0f847778 answered SIP/620-0f832c68
  == Spawn extension (in-pstn, 620, 1) exited non-zero on 'SIP/620-0f832c68'

Zu gut deutsch: Der Anrufer wird rausgeworden... :( ...wieso nur?
 
Zuletzt bearbeitet von einem Moderator:
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.