NAPALM
Neuer User
- Mitglied seit
- 19 Okt 2005
- Beiträge
- 95
- Punkte für Reaktionen
- 0
- Punkte
- 0
Direct-IP-Calling / 100% registrarloses VoIP mit der Fritzbox 7170 per SIP-URI
Nachdem ich hier und da ein wenig rumgelesen habe, ließ meine Verblüffung über die Möglichkeit der Telefonie Pseudo-Account «--» Pseudo-Account mit der FRITZ!Box dann doch etwas nach - das scheint früher wirklich ohne größere Probleme funktioniert zu haben. Es war also total normal. Zumal: Das ist eigentliches SIP, oder? Dann ärgert es einen aber um so mehr, wenn es nun auf einmal nicht mehr geht bzw. gehen soll...
Daher habe ich noch mal ein wenig rumgefriemelt - und siehe da - direkte Anrufe zwischen 2 FRITZ!Boxen funktionieren immer noch - und zwar entgegen meiner obigen Aussage auch OHNE irgendeinen ECHTEN ACCOUNT auf der Box, "der einen ins Netz bringt" !!! Also muß ich mich jetzt selbst hauen... Um das zu vermeiden, reiche ich die Vorgehensweise wie gefordert nach...
------------
Bislang hatte ich mich bei allen meinen Versuchen nicht am "Zumüllen" meines Ereignis-Logs gestört; insofern hatte ich die hier im Forum viel zitierte Änderung do_not_register = no; --» do_not_register = yes; in der voip.cfg konsequent ignoriert (was ein Fehler ist...). Da die Box aber nun kurz vor dem Kollaps war (evtl. auch durch ein paar Spielereien per SSH), entschied ich mich dazu, das doch zu ändern.
Doch leichter gesagt als getan - es rächte sich wieder einmal, daß ich sowohl in Linux als auch in "Frittux" noch ein ziemlicher DAU bin.
Der Befehl nvi var/flash/voip.cfg führte mich trotz der sicherheitshalber zur Rate gezogenen Anleitung nicht zum gewünschten Ergebnis.
Folgendes dachte ich mir mal so - mit der debug.cfg geht es ja schließlich auch: Für die Variante cat ~/var/flash/voip.cfg > ~/var/tmp/voip.cfg (mit anschließernder Bearbeitung mittels Midnight Commanders) und mit darauf folgendem Zurückbeamen per cp ~/var/tmp/voip.cfg ~/var/flash/voip.cfg erwies ich mich auch irgendwie als "zu blond". Vielleicht habe ich auch einen Reboot zuviel oder zuwenig gemacht - jedenfalls kam die Box irgendwie aus dem Tritt; und aus irgendeinem Grund konnte ich auch die von mir gemachten Änderungen einfach nicht wiederfinden...
Was blieb noch?
Die einfachste Variante: FRITZ!Box Export Editor bzw. FBEditor in der Version 0.5.1 !!!
Dort habe ich mir also die voip.cfg bzw. den entsprechenden Bereich vorgeknöpft und meinen zuvor angelegten Pseudo-Account "gepimpt":
uaX {
enabled = yes;
username = "$$$$...Schnatter...Blablabla";
authname = "";
passwd = "$$$$...Laber...Sülz";
registrar = "S I E H E * U N T E N";
ttl = 30m;
sipping_enabled = no;
sipping_interval = 280s;
name = "81379";
dtmfcfg = dtmfcfg_automatic;
register_failwaitmax = 30m;
stunserver = "";
stunserverport = 3478;
use_internat_calling_numb = no;
is_nat_aware = no;
localip = 0.0.0.0;
ignore_received_header = no;
clirtype = clir_none;
colptype = colp_none;
only_one_dialog = no;
presence_supported = no;
mwi_supported = no;
reg_support = regsupport_auto;
tx_packetsize_in_ms = 30;
reject_refer = yes;
no_register_fetch = no;
do_not_register = yes;
only_call_from_registrar = no;
outboundproxy = "";
outboundproxy_without_route_header = no;
dditype = ddi_none;
ddireception = "";
backup_wanted = no;
use_session_timer = no;
use_rport = yes;
add_rtpmap_for_all_codecs = no;
answer_only_one_codec = no;
without_annexb_no = no;
srtp_supported = no;
use_488_for_no_t38 = no;
g726_via_rfc3551 = no;
}
- X - Nummer des betreffenden Sip-Accounts und letzte Stelle bei *12X# (ua10: X=10 --» X=0)
- username - ergibt sich aus den eingetragenen individuellen Daten
- passwd - ergibt sich aus eingetragenen individuellen Daten, sofern vorhanden
- clirtype - ist hier so eingestellt, weil ich meinen ersten Dummy-Accounts per Webinterface unter Rufnummernunterdrückung (CLIR) "deaktiviert" verpaßt habe - ich habe es so gelassen; keine Ahnung, ob es irgendeinen Einfluß hat
- mwi_supported - macht hier keinen Sinn
- do_not_register - so bleibt das Log sauber (und eigentlich ist das der ausschlaggebende Punkt, damit das Ganze funzt!)
So - es fehlt eigentlich nur noch der Registrar. Ich testete alle möglichen (mir bekannten) Registar-Varianten, da das bisher festgestellte Verhalten ja unterschiedlich war. Dazu habe mir meine Testumgebung etwas ausgebaut. Vier Dummy-/Pseudo-/Fake-Accounts auf einer ansonsten von VoIP-Accounts freien Box. Angeschlossen daran diverse analoge Telefone, ein ISDN-Telefon und eine ISDN-Anlage. So ziemlich jedem Gerät alles zugewiesen.
Zusätzlich zu meinen eigenen SIP-URIs legte ich im Telefonbuch unter 4 weiteren Kurzwahlen folgende externen Testziele an:
[email protected] (Echotest)
[email protected] (Nachrichten)
[email protected] (Londoner Testnummer)
[email protected] (Affengeschrei)
Meine Pseudo-Account-Nummern sind, wie bereits erwähnt, meinen zahlreichen Telefonen zugewiesen. Obwohl ich mich selbst über meine DynDNS-Domain anrufe, nenne ich sie mal interne Testziele.
Dann konnte die VoIP-Orgie beginnen...
Ergebnis (OK/NOK bezieht sich auf die Audioübertragung):
fritz.box - INT/EXT: alles OK
localhost - INT/EXT: alles OK
127.0.0.1 - INT/EXT: alles OK
169.254.1.1 - INT/EXT: alles OK
192.168.178.10 - INT/EXT: alles OK
(Meine Fritte hat die 10 am Ende - so kann ich Kunden-Boxen problemlos im LAN anstöpseln.)
Einziges Manko bei diesen "Registraren": Habe ich einen anderen meiner Pseudo-Accounts angewählt (INT), kam es vor, daß ich manchmal in beiden Richtungen nichts hören konnte. Ich stellte aber fest, daß es 2 x klingeln mußte. Dann war Audio immer ok. (Zufall? Warum auch immer das so ist... Vielleicht hat es was damit zu tun, daß Sender und Empfänger die gleiche öffentliche IP haben? Keine Ahnung... )
Verbindungen zu EXT waren hingegen IMMER sofort i.O.
ACCOUNT.dyndns.org - INT/EXT generell: 1. SIP-URI-Anwahl: NOK; jeder 2. Anruf OK
Kurisoserweise entpuppt sich nun der von mir weiter oben ja ach so viel gepriesene Registrar ACCOUNT.dyndns.org als scheinbar ungeeignet.
Aber man muß unterscheiden: Nutzt man Dummy-/Pseudo-/Fake-Accounts im Sinne meines ersten Posts (also zusätzlich zu einem echten, registrierten VoIP-Account), ist ACCOUNT.dyndns.org durchaus empfehlenswert und zuverlässig.
Spielt man aber (z.B. mit dem FBEditor) an der voip.cfg rum und trägt dort für wirklich 100%ig registrarloses SIP-URInieren do_not_register = yes; ein, sollte man scheinbar fritz.box, localhost oder 127.0.0.1 oder die FRITZ!Box-IP-Adresse als Registrar eintragen.
Mit diesen Einstellungen konnte ich jedenfalls per *12X#**7YZ von einer Box ohne registrierte VoIP-Accounts per SIP-URI telefonieren, wobei X die Sip-Account-Nummer ist (X=10 --» X=0) und YZ samt vorangestelltem **7 für die im Telefonbuch vergebene Kurzwahl steht. Handelt es sich bei einem dieser Pseudo-Accounts um den Default-SIP-Account oder um die Sende-Nummer eines angeschlossenen Telefons, sollte es auch ohne *12X# funktionieren.
Für die Erreichbarkeit eines solchen Accounts ist natürlich nach wie vor eine Adresse wie [email protected] oder [email protected] (siehe 1. Post von mir; je nach Haken bei "Internetrufnummer für die Anmeldung verwenden" im Webinterface bzw. vorhandenem authname = "$$$$...usw...etc...pp..." bei uaX in der voip.cfg) nötig.
FRITZ!Box: 7170 V2
Firmware: 29.04.57
PS: Vielleicht interessiert das alles ja noch den einen oder anderen... Für meine FRITZ!Box freut es mich: 1 Bug weniger - (m)ein ohnehin "geiles" Fritzdingens ist nun noch "geiler"...
PPS: Und Anrufe mit 0190666666 zu tätigen, ist schon irgendwie witzig. So kann man mit einem stundenlangen Gespräch mit dem Herrn des Hauses die Beziehung dieses Bekannten etwas auffrischen; zumindest, wenn sein Weibchen in der FRITZ!Box rumschnökert und noch nichts von 0190--»0900 weiß... (Achtung Joke! Keinen Unsinn machen!)
------------
Aufgrund des nachfolgenden Posts habe ich unwichtige Angaben zum STUN-Server erntfernt, die ich fälschlicherweise für wichtig erachtete.
Nachdem ich hier und da ein wenig rumgelesen habe, ließ meine Verblüffung über die Möglichkeit der Telefonie Pseudo-Account «--» Pseudo-Account mit der FRITZ!Box dann doch etwas nach - das scheint früher wirklich ohne größere Probleme funktioniert zu haben. Es war also total normal. Zumal: Das ist eigentliches SIP, oder? Dann ärgert es einen aber um so mehr, wenn es nun auf einmal nicht mehr geht bzw. gehen soll...
Daher habe ich noch mal ein wenig rumgefriemelt - und siehe da - direkte Anrufe zwischen 2 FRITZ!Boxen funktionieren immer noch - und zwar entgegen meiner obigen Aussage auch OHNE irgendeinen ECHTEN ACCOUNT auf der Box, "der einen ins Netz bringt" !!! Also muß ich mich jetzt selbst hauen... Um das zu vermeiden, reiche ich die Vorgehensweise wie gefordert nach...
------------
Bislang hatte ich mich bei allen meinen Versuchen nicht am "Zumüllen" meines Ereignis-Logs gestört; insofern hatte ich die hier im Forum viel zitierte Änderung do_not_register = no; --» do_not_register = yes; in der voip.cfg konsequent ignoriert (was ein Fehler ist...). Da die Box aber nun kurz vor dem Kollaps war (evtl. auch durch ein paar Spielereien per SSH), entschied ich mich dazu, das doch zu ändern.
Doch leichter gesagt als getan - es rächte sich wieder einmal, daß ich sowohl in Linux als auch in "Frittux" noch ein ziemlicher DAU bin.
Der Befehl nvi var/flash/voip.cfg führte mich trotz der sicherheitshalber zur Rate gezogenen Anleitung nicht zum gewünschten Ergebnis.
Folgendes dachte ich mir mal so - mit der debug.cfg geht es ja schließlich auch: Für die Variante cat ~/var/flash/voip.cfg > ~/var/tmp/voip.cfg (mit anschließernder Bearbeitung mittels Midnight Commanders) und mit darauf folgendem Zurückbeamen per cp ~/var/tmp/voip.cfg ~/var/flash/voip.cfg erwies ich mich auch irgendwie als "zu blond". Vielleicht habe ich auch einen Reboot zuviel oder zuwenig gemacht - jedenfalls kam die Box irgendwie aus dem Tritt; und aus irgendeinem Grund konnte ich auch die von mir gemachten Änderungen einfach nicht wiederfinden...
Was blieb noch?
Die einfachste Variante: FRITZ!Box Export Editor bzw. FBEditor in der Version 0.5.1 !!!
Dort habe ich mir also die voip.cfg bzw. den entsprechenden Bereich vorgeknöpft und meinen zuvor angelegten Pseudo-Account "gepimpt":
uaX {
enabled = yes;
username = "$$$$...Schnatter...Blablabla";
authname = "";
passwd = "$$$$...Laber...Sülz";
registrar = "S I E H E * U N T E N";
ttl = 30m;
sipping_enabled = no;
sipping_interval = 280s;
name = "81379";
dtmfcfg = dtmfcfg_automatic;
register_failwaitmax = 30m;
stunserver = "";
stunserverport = 3478;
use_internat_calling_numb = no;
is_nat_aware = no;
localip = 0.0.0.0;
ignore_received_header = no;
clirtype = clir_none;
colptype = colp_none;
only_one_dialog = no;
presence_supported = no;
mwi_supported = no;
reg_support = regsupport_auto;
tx_packetsize_in_ms = 30;
reject_refer = yes;
no_register_fetch = no;
do_not_register = yes;
only_call_from_registrar = no;
outboundproxy = "";
outboundproxy_without_route_header = no;
dditype = ddi_none;
ddireception = "";
backup_wanted = no;
use_session_timer = no;
use_rport = yes;
add_rtpmap_for_all_codecs = no;
answer_only_one_codec = no;
without_annexb_no = no;
srtp_supported = no;
use_488_for_no_t38 = no;
g726_via_rfc3551 = no;
}
- X - Nummer des betreffenden Sip-Accounts und letzte Stelle bei *12X# (ua10: X=10 --» X=0)
- username - ergibt sich aus den eingetragenen individuellen Daten
- passwd - ergibt sich aus eingetragenen individuellen Daten, sofern vorhanden
- clirtype - ist hier so eingestellt, weil ich meinen ersten Dummy-Accounts per Webinterface unter Rufnummernunterdrückung (CLIR) "deaktiviert" verpaßt habe - ich habe es so gelassen; keine Ahnung, ob es irgendeinen Einfluß hat
- mwi_supported - macht hier keinen Sinn
- do_not_register - so bleibt das Log sauber (und eigentlich ist das der ausschlaggebende Punkt, damit das Ganze funzt!)
So - es fehlt eigentlich nur noch der Registrar. Ich testete alle möglichen (mir bekannten) Registar-Varianten, da das bisher festgestellte Verhalten ja unterschiedlich war. Dazu habe mir meine Testumgebung etwas ausgebaut. Vier Dummy-/Pseudo-/Fake-Accounts auf einer ansonsten von VoIP-Accounts freien Box. Angeschlossen daran diverse analoge Telefone, ein ISDN-Telefon und eine ISDN-Anlage. So ziemlich jedem Gerät alles zugewiesen.
Zusätzlich zu meinen eigenen SIP-URIs legte ich im Telefonbuch unter 4 weiteren Kurzwahlen folgende externen Testziele an:
[email protected] (Echotest)
[email protected] (Nachrichten)
[email protected] (Londoner Testnummer)
[email protected] (Affengeschrei)
Meine Pseudo-Account-Nummern sind, wie bereits erwähnt, meinen zahlreichen Telefonen zugewiesen. Obwohl ich mich selbst über meine DynDNS-Domain anrufe, nenne ich sie mal interne Testziele.
Dann konnte die VoIP-Orgie beginnen...
Ergebnis (OK/NOK bezieht sich auf die Audioübertragung):
fritz.box - INT/EXT: alles OK
localhost - INT/EXT: alles OK
127.0.0.1 - INT/EXT: alles OK
169.254.1.1 - INT/EXT: alles OK
192.168.178.10 - INT/EXT: alles OK
(Meine Fritte hat die 10 am Ende - so kann ich Kunden-Boxen problemlos im LAN anstöpseln.)
Einziges Manko bei diesen "Registraren": Habe ich einen anderen meiner Pseudo-Accounts angewählt (INT), kam es vor, daß ich manchmal in beiden Richtungen nichts hören konnte. Ich stellte aber fest, daß es 2 x klingeln mußte. Dann war Audio immer ok. (Zufall? Warum auch immer das so ist... Vielleicht hat es was damit zu tun, daß Sender und Empfänger die gleiche öffentliche IP haben? Keine Ahnung... )
Verbindungen zu EXT waren hingegen IMMER sofort i.O.
ACCOUNT.dyndns.org - INT/EXT generell: 1. SIP-URI-Anwahl: NOK; jeder 2. Anruf OK
Kurisoserweise entpuppt sich nun der von mir weiter oben ja ach so viel gepriesene Registrar ACCOUNT.dyndns.org als scheinbar ungeeignet.
Aber man muß unterscheiden: Nutzt man Dummy-/Pseudo-/Fake-Accounts im Sinne meines ersten Posts (also zusätzlich zu einem echten, registrierten VoIP-Account), ist ACCOUNT.dyndns.org durchaus empfehlenswert und zuverlässig.
Spielt man aber (z.B. mit dem FBEditor) an der voip.cfg rum und trägt dort für wirklich 100%ig registrarloses SIP-URInieren do_not_register = yes; ein, sollte man scheinbar fritz.box, localhost oder 127.0.0.1 oder die FRITZ!Box-IP-Adresse als Registrar eintragen.
Mit diesen Einstellungen konnte ich jedenfalls per *12X#**7YZ von einer Box ohne registrierte VoIP-Accounts per SIP-URI telefonieren, wobei X die Sip-Account-Nummer ist (X=10 --» X=0) und YZ samt vorangestelltem **7 für die im Telefonbuch vergebene Kurzwahl steht. Handelt es sich bei einem dieser Pseudo-Accounts um den Default-SIP-Account oder um die Sende-Nummer eines angeschlossenen Telefons, sollte es auch ohne *12X# funktionieren.
Für die Erreichbarkeit eines solchen Accounts ist natürlich nach wie vor eine Adresse wie [email protected] oder [email protected] (siehe 1. Post von mir; je nach Haken bei "Internetrufnummer für die Anmeldung verwenden" im Webinterface bzw. vorhandenem authname = "$$$$...usw...etc...pp..." bei uaX in der voip.cfg) nötig.
FRITZ!Box: 7170 V2
Firmware: 29.04.57
PS: Vielleicht interessiert das alles ja noch den einen oder anderen... Für meine FRITZ!Box freut es mich: 1 Bug weniger - (m)ein ohnehin "geiles" Fritzdingens ist nun noch "geiler"...
PPS: Und Anrufe mit 0190666666 zu tätigen, ist schon irgendwie witzig. So kann man mit einem stundenlangen Gespräch mit dem Herrn des Hauses die Beziehung dieses Bekannten etwas auffrischen; zumindest, wenn sein Weibchen in der FRITZ!Box rumschnökert und noch nichts von 0190--»0900 weiß... (Achtung Joke! Keinen Unsinn machen!)
------------
Aufgrund des nachfolgenden Posts habe ich unwichtige Angaben zum STUN-Server erntfernt, die ich fälschlicherweise für wichtig erachtete.
Zuletzt bearbeitet: