Prefer English? Click here.

Fritz box weetjes

Gebruik nvi in plaats van vi.

Om de .cfg bestanden in de fritz box aan te passen is "vi" geen optie. In plaats daarvan zal "nvi" gebruikt moeten worden. Dit is een script gemaakt door AVM. Het zorgt er voor dat de gegevens uit het betreffende bestand worden ingelezen en na het aanpassen in het juiste formaat worden weggeschreven

Aanpassen van gebruikte codecs in de fritz!box. < tip

Ten eerste schakelen we telnet toegang in door te bellen naar #96*7* Let op: Dit zorgt er wel voor dat de web interface een melding zal geven "The modifications to your FRITZ!Box are not supported by the manufacturer." of in de nieuwere firmware "Changes not supported by manufacturer". Mij stoort het niet ;)

Putty of een dos schermpje zal gebruikt moeten worden om een telnet verbinding naar de fritz!box te maken.

Het bestand dat aangepast moet worden is /var/flash/voip.cfg. Het kan aangepast worden door hetvolgende in te typen op de telnet prompt.
nvi /var/flash/voip.cfg

De regels waar het om gaat zijn:
     use_audiocodecs = no;
     audiocodecs = "PCMA", "PCMU", "G726-32";

Het aanpassen van no naar yes zorgt er voor dat de codecs gebruikt worden in de regel er onder. De standaard instelling is niet de beste keus. G729 moet echt in de lijst staan om ondersteuning te bieden voor partijen die alleen G729 ondersteunen. Zo heb ik het ingesteld:

     use_audiocodecs = yes;
     audiocodecs = "PCMA", "PCMU", "G726-32", "G729";

Verder is na het aanpassen nodig om het voipd proces te herstarten. Dat kan gedaan worden met:

     voipd -s     (om te stoppen)
     voipd        (om te starten)

Wireshark / ethereal

Na de aanpassing ziet een wireshark trace er zo uit (G729 ontbreekt; oude screenshot):


Media Format: ITU-T G.711 PCMA = in het .cfg bestand PCMA
Media Format: ITU-T G.711 PCMU = in het .cfg bestand PCMU
Media Format: 101 = in het .cfg bestand G726-32

Dit is de oude lijst die te zien was met wireshark voor de aanpassing.

Packet trace

De fritz box heeft een ingebrouwde mogelijkheid om IP verkeer te sniffen. Dit zit niet in de standaard web interface maar kan gestart worden met deze link:

http://fritz.box/html/capture.html

Hoe werkt codec sellectie voor VoIP?

In een SIP Invite zit een stukje dat de "media description" genoemd wordt. Hier geeft de partij die de invite verstuurt aan wat zijn voorkeur volgorde van CODEC gebruik is. De ontvangende partij leest de lijst vanaf het begin en kijkt of hij de eerste CODEC ondersteunt. Als dat niet zo is gaat hij naar de volgende. Als hij die ondersteunt zal die gebruikt worden. In de SIP reactie zal een 200 OK volgen waarin de lijst met CODECs zit die door beiden ondersteund wordt. De volgorde van het invite bericht wordt aangehouden.

Dit houdt dan ook in dat voor het ontvangen of opzetten van een gesprek verschillende CODECs gebruikt kunnen worden als de beide partijen de volgorde verschillend hebben staan.

Waarom aanpassen?

Omdat de geluidskwaliteit van de VoIP beter kan. In de standaard webinterface kun je zien wat de gebruikte codec is voor de gevoerde gesprekken. Dit is te vinden door te gaan naar: settings > telephony > internet telephony > voice transmission. Daar kun je zien of je de G.729a codec gebruikt. Dit is een 8Kbit/sec codec terwijl G.711 64Kbit/sec nodig heeft. Deze laatste geeft een beter geluid.

Alleen budgetphone?

Jow. Ik gebruik twee VoIP providers. Voipbuster voor uitgaande en inkomende gesprekken en Budgetphone voor alleen inkomende gesprekken. Alleen bij Budgetphone zag ik de slechtere G.729 codec. Hieronder is te zien hoe dat komt.

Hier zie je twee "media description" stukjes van een "sip invite" die mijn fritz box heeft ontvangen.

Eerst een invite van Budgetphone. G.729 staat op de tweede plek en G.711 staat op de 4e plek. Jammer dat ze dat zo gekozen hebben.

Update Juli 2008: Budgetphone heeft hun instellingen aangepast. PCMA en PCMU staan nu op de eerste twee plekken. Geen idee sinds waneer dat is.

budgetphone

En een invite van voipbuster. G.711 staat op de eerste plek. Dus eerste prio.

Welke codec heeft welke naam?

Media description MIME Type    
8 PCMA = G711 64 Kb/s
0 PCMU = G711 64 Kb/s
18 G729   8 Kb/s
4 G723    

Dit zijn de belangrijkste codecs die ik ben tegengekomen. Er zijn er nog veel meer en de fritzbox kan ook meer dan deze 4 aan. Op deze site vind je een uitgebreide lijst.

De firewall aanpassen in de fritz!box

In het web scherm kun je niets aanpassen qua firewall. Dat lukt wel via het eerder besproken telnet. In /var/flash/ staat het bestand ar7.cfg. Ook dit bestand kan aangapast worden met nvi.

Hieronder heb ik inkomend ICMP verkeer vanaf een bepaalde host geblokkeerd.

dsldpconfig {
security = dpsec_firewall;
lowinput {
policy = "permit";
accesslist =
"deny ip any 242.0.0.0 255.0.0.0",
"deny ip any host 255.255.255.255",
"deny udp any any eq 135",
"deny tcp any any eq 135",
"deny udp any any range 137 139",
"deny tcp any any range 137 139",
"deny udp any any range 161 162",
"deny udp any any eq 520",
"deny udp any any eq 111",
"deny udp any any eq 22289",
"deny udp any any eq 1710",
"deny udp any any eq 1048",
"deny udp any any eq 158",
"deny icmp host 81.207.240.17 any",
"deny udp any any eq 515";

ar7cfgchanged is het commando dat je na de aanpassing moet geven om de aanpassing actief te maken.