fbf: firmware for prioritizing g.729 over g.726?

maleas

Neuer User
Mitglied seit
23 Jun 2006
Beiträge
41
Punkte für Reaktionen
0
Punkte
0
Hello everybody!

This is my first post here and apologies for it being in English, unfortunately I do not speak German. I believe I am in the right forum, if not I'd be grateful if a moderator could move this thread to its proper place.

I live at Greece and have a fritz box fon, with English firmware 06.04.02. Trying to cut down expenses I installed SIPDiscount as a VoIP provider, since it offers cheap (read: free) calls to Greek and EU destinations.

Unfortunately I have a problem:
- SIPDiscount offers both G.726 and G.729 as codecs, which is not a problem by itselft
- Fritz supports both G.726 and G.729 codecs, which is also not a problem by itself

When I connect via SIPDiscount, calls are made using G.726. The problem is that DSL connections in Greece have a ton of problems... Sound with G.726 is garmbled, with huge delays to the point that I can not communicate with the other party :/

I've contacted AVM and asked whether there was some way to prioritize G.729 over G.726 (because I've tested G.729 with a sipura spa-3000 ATA and SIPDiscount sounded perfect). Unfortunately, AVM informed me that this was not possible.

So I'm turning to you guys! Has anyone modified a firmware to have G.729 prioritized higher than G.726? If such a modification existed, I'd be grateful if you could provide a download link or something. A modded English 06.04.02 would be perfect of course, but a German modded version of the latest firmware would be just fine as well.

Unless of course this _can_ be done, without any programming at all. I do have telnet access to the box (if that's needed).

I can see in your forum that instructions do exist to create modified firmware files, but I'm afraid that I'm not competent in that area :( Any help will be hugely appreciated!
 
Hi!

Waht Vesion of FBf do you have?
Only the ATA Version and only a very old Firmware have a g729 Support.
All other FBF doesn't support g729 Codec and so you can not prioritize something that not exist.

If you have really the ATA (without DSL-Modem) and you still use the old firmware and don't will make update soon, you must eidt only the file /var/flash/voip.cfg with the Editor 'nvi' (wrapper Script arround 'vi') and set on the line with all the other codecs g729 on the left end of the line.
Thats it.

I hope you understand me, because my english is... very broken. I'm sorry.

Bye
 
gerdshi schrieb:
Waht Vesion of FBf do you have?
Only the ATA Version and only a very old Firmware have a g729 Support.
All other FBF doesn't support g729 Codec and so you can not prioritize something that not exist.
I have a Fritz!Box Fon (not the ATA version, the router/modem+ATA one). The strange thing is that it does seem to have G.729 enabled!! Look below from my telnet session:
Code:
Jun 23 15:46:48 voipd[378]: >>>udp Request: INVITE sip:[email protected]
Jun 23 15:46:48 voipd[378]: <<<udp Status: 407 Proxy Authentication Required
Jun 23 15:46:48 voipd[378]: >>>udp Request: ACK sip:[email protected]
Jun 23 15:46:48 voipd[378]: allowed bandwidth 144000 for sip:[email protected]
Jun 23 15:46:48 voipd[378]: [email protected]: bandwidth left 144000
Jun 23 15:46:48 voipd[378]: >>>udp Request: INVITE sip:[email protected]
Jun 23 15:46:49 voipd[378]: <<<udp Status: 100 trying -- your call is important to us
Jun 23 15:46:49 voipd[378]: <<<udp Status: 183 Session Progress
Jun 23 15:46:49 voipd[378]: allowed bandwidth 144000 for sip:[email protected]
Jun 23 15:46:49 voipd[378]: [email protected]: bandwidth left 144000
Jun 23 15:46:49 voipd[378]: audio: 18 (18 G729/8000)
Jun 23 15:46:49 voipd[378]: audio: 18 (18 G729/8000) => (18 (18 G729/8000))
Jun 23 15:46:49 voipd[378]: audio: 0 (0 PCMU/8000)
Jun 23 15:46:49 voipd[378]: audio: 0 (0 PCMU/8000) => (0 (0 PCMU/8000))
Jun 23 15:46:49 voipd[378]: audio: 3 (3 GSM/8000)
Jun 23 15:46:49 voipd[378]: audio: 3 (3 GSM/8000) => NOT SUPPORTED
Jun 23 15:46:49 voipd[378]: audio: 4 (4 G723/8000)
Jun 23 15:46:49 voipd[378]: audio: 4 (4 G723/8000) => NOT SUPPORTED
Jun 23 15:46:49 voipd[378]: audio: 97 (97 iLBC/8000)
Jun 23 15:46:49 voipd[378]: audio: 97 (97 iLBC/8000) => (97 (97 iLBC/8000))
Jun 23 15:46:49 voipd[378]: audio: 101 (101 telephone-event/8000)
Jun 23 15:46:49 voipd[378]: audio: 101 (101 telephone-event/8000) => (101 (101 telephone-event/8000))
Jun 23 15:46:49 voipd[378]: XXX.XXX.XXX.XXX 16718 - 7078 audio 18(G729)
Jun 23 15:46:49 voipd[378]: capienabledrop 1
Jun 23 15:46:49 voipd[378]: Codec G729 (18) - audio 42400 hold=none (none) (by local)

If you have really the ATA (without DSL-Modem) and you still use the old firmware and don't will make update soon, you must eidt only the file /var/flash/voip.cfg with the Editor 'nvi' (wrapper Script arround 'vi') and set on the line with all the other codecs g729 on the left end of the line.
Thats it.
I don't have the ATA-only version and I have the latest firmware (06.04.02 English). But if G.729 is supported, then perhaps I can edit the file to have G.729? Could you help me a bit? For which line am I looking for? For the record, this is what my voip.cfg looks like:
Code:
/*
 * /var/flash/voip.cfg
 * Thu Jun  1 00:07:30 2006
 */

voipcfg {
        dnsport = 7077;
        rtpport_start = 7078;
        ua1 {
                enabled = yes;
                username = "XXXXXX"
                authname = "";
                passwd = "YYYYYY"
                registrar = "sip1.sipdiscount.com";
                ttl = 30m;
                sipping_enabled = no;
                sipping_interval = 280s;
                name = "10000000";
                authenticatemode = authenticate_mode_none;
                infodtmfnotsupported = no;
                register_failwaitmax = 30m;
                stunserver = "stun.sipdiscount.com";
                stunserverport = 3478;
                is_nat_aware = no;
                clirtype = clir_displayname;
                only_one_dialog = no;
                presence_supported = no;
                mwi_supported = yes;
                tx_packetsize_in_ms = 20;
                reject_refer = yes;
                no_register_fetch = no;
                do_not_register = no;
                outboundproxy = "sip1.sipdiscount.com";
                is_ddi = no;
        }
        use_audiocodecs = no;
        audiocodecs = "PCMA", "PCMU", "G726-32";
        verbose = no;
        sip_prio = 0;
        rtp_prio = 0;
        dyn_codecs = yes;
        prio_low_codec = yes;
        send_ringtone = no;
        blacklist = no;
        enum_support_enabled = no;
        enumdomains = "e164.arpa", "e164.org";
        rtpstream {
                voice_activity_detection {
                        enabled = no;
                        vad_threshold = 10000;
                }
                generate_noise {
                        on_capi_underrun = yes;
                }
                jitter {
                        auto_on = yes;
                        in_ms = 50;
                        in_packets = 0;
                }
        }
        voip_assi_enabled = yes;
}

I hope you understand me, because my english is... very broken. I'm sorry.
No worries, your English sound just fine to me :) And thx for your help so far:)
 
Hi!

Wow, it seems that not only the export ATA-Version has the g729 onBoard.
Cool! Be Happy! :)

Then you need only to modify the following lines:
from
Code:
audiocodecs = "PCMA", "PCMU", "G726-32";
to
Code:
 audiocodecs = "G729", G726-32", "iLBC", "PCMA", "PCMU";
I added from me, the Codec G726-32 and iLBC with Priority 2 and 3, because they are from Quality very good (better than g729 in my opinion)
And for fallback leaved with lowest priority the G711 a- and u-Law (PCMA, PCMU) Codecs.

And:
Code:
use_audiocodecs = no;
to Yes

It is important that
Code:
prio_low_codec = yes;
stay so (set to Yes)!

After the editing you should become that what you need. ;-)

Bye

P.S. Did you need this really?
Code:
stunserver = "stun.sipdiscount.com";
Normally if the Box is working not as ATA, is this not necessary.
 
gandalf94305 schrieb:
To change the order in which audio codecs are considered, check this site: http://www.the-construct.com to generate a pseudo-firmware image to introduce a custom order.
Amazing!!!!!!! Is it safe to flash my _English_ fbf with this file (thinking because I have the English Fritz version...)?

If I want to install the "normal" (unmodded) firmware file can I just flash it over?

One last question: in this site I am prompted for codec order. Should I select all codecs in these boxes, or only some (say G.729 and iLBC only)?

First, let me say that your support is amazing guys!!!!

gerdshi schrieb:
Hi!

Wow, it seems that not only the export ATA-Version has the g729 onBoard.
Cool! Be Happy! :)
I am I am (now) :)

Then you need only to modify the following lines:
from
Code:
audiocodecs = "PCMA", "PCMU", "G726-32";
to
Code:
 audiocodecs = "G729", G726-32", "iLBC", "PCMA", "PCMU";
Will try this asap!

I added from me, the Codec G726-32 and iLBC with Priority 2 and 3, because they are from Quality very good (better than g729 in my opinion)
And for fallback leaved with lowest priority the G711 a- and u-Law (PCMA, PCMU) Codecs.
Indd! Especially iLBC, seems to work wonders on our crappy lines!
And:
Code:
use_audiocodecs = no;
to Yes

It is important that
Code:
prio_low_codec = yes;
stay so (set to Yes)!

After the editing you should become that what you need. ;-)
Should I reboot afterwards?

P.S. Did you need this really?
Code:
stunserver = "stun.sipdiscount.com";
Normally if the Box is working not as ATA, is this not necessary.
It is working as an ATA-only behind my USR 9106 adsl modem/router ;)

@gerdshi: I did edit /var/flash/voip.cfg, but unfortunately calls over SIPDiscount insist on using G726-32 :( I changed the following parts of voip.cfg to:
Code:
use_audiocodecs = yes;
audiocodecs = "G729", "iLBC", "PCMA", "PCMU", "G726-32";
and then I rebooted fbf. Perhaps I should reset fbf to _factory_ defaults?

If this doesn't work, I'll try the auto-patcher from the-construct site.

maleas schrieb:
If this doesn't work, I'll try the auto-patcher from the-construct site.
Created a patch in which I ordered G.729 to have the highest priority, followed by iLBC etc. Flashed fbf and then rebooted. Same result :( I am 100% certain now that I'm doing something wrong here, but what?

BTW, sipdiscount does offer G.729, doesn't it?

Ok, I have managed to change preferred codecs. However, I still have not managed to make any G.729 calls, using SIPDiscount. With another VoIP provider I have setup on fbf, I can make G.729 calls just fine, so that shouldn't be a problem.

Any ideas of what I am doing wrong? Does fbf work with G.729 on SIPDiscount from your part?
 
Zuletzt bearbeitet von einem Moderator:
Hi.
When you restart voipd you should see some Output...
Code:
/ # voipd -s
/ # voipd -f
voipd: csock: using poll
voipd: Couldn't load shared library  libavmssl.so - File not found - Success (0)
voipd: startup (AVM FRITZ!Box Fon WLAN 08.04.07 AVM SIP v5.01.37 Jun  1 2006 07:21:43)
voipd: using capi controller 4
voipd: using b1 protocol 1
voipd: tel: supported
voipd: ENUM NOT enabled
voipd: enumdomain: e164.arpa
voipd: enumdomain: e164.org
voipd: VoIP led value = 0
voipd: 0: [email protected] configured
voipd: 1: [email protected]
voipd: 2 useragents configured
voipd: INFO led: off (value=0)
voipd: priority is -20
voipd: encaplen 32
voipd: brutto speed 1184000/160000 voip speed 144000
voipd: connstatus 0 -> 5
voipd: second - running (voip=0)
voipd: 0: connected    vcc 1/32/PPPoE/32 stay online 1
voipd: 0: ip 84.166.128.66/217.0.46.51 mtu 1492 dns 217.237.148.17/217.237.138.49
voipd: REGISTER starting
voipd: dns: 1und1.de: query
voipd: dns: sipgate.de: query
voipd: PCMU: 98933 bits/second (encaplen=32,30ms)
voipd: PCMA: 98933 bits/second (encaplen=32,30ms)
voipd: G726-32: 70666 bits/second (encaplen=32,30ms)
voipd: PCMU: 106000 bits/second (encaplen=32,20ms)
voipd: PCMA: 106000 bits/second (encaplen=32,20ms)
voipd: G726-32: 84800 bits/second (encaplen=32,20ms)
voipd: Signal: interrupt
Code:
voip.cfg
        use_audiocodecs = yes;
        audiocodecs = "PCMU", "PCMA", "G726-32";
        verbose = yes;
        sip_prio = 0;
        rtp_prio = 0;
        dyn_codecs = no;
        prio_low_codec = no;
To restart voipd after changes you have to execute "voipcfgchanged".

Greets, Oliver

edit: SipDiscount should offer G.729
Codecs
G.711 (64 kbps)
G.726 (32 kbps)
G.729 (8 kbps)
G.723 (5.3 & 6.3 kbps)
 
Thx olistudent. I followed your advice to avail though. I also experimented with various settings for audiocodecs. In all cases end result was that G.729 could not be selected for SIPDiscount, whereas for another VoIP provider as you can see in my post above it did work...

Can someone test with either voipbuster or sipdiscount (they behave the same) whether it is possible to make calls using G.729?

To test this, make the following changes to /var/flash/voip.cfg:
Code:
/var/flash/voip.cfg
        use_audiocodecs = yes;
        audiocodecs = "G729", "iLBC";
        verbose = yes;
        sip_prio = 0;
        rtp_prio = 0;
        dyn_codecs = no;
        prio_low_codec = no;

I'm pretty much interested here, especially since fbf is supposed to be "voipbuster certified".
 
Zuletzt bearbeitet:
Hi!

Yes, i use g729 with my own Asterisk Server and it works. Of course the Sound is not so good like whe i'm usind the others Codec but it works.

And yes you should reboot your Box after changing voip.cfg, but may be is it like olistudent say, enough to start voipcfgchanged - it's new for me. ;-)

I don't have any clue why it doesn't (will to) work with g729 - i'm sorry.

Greetings

P.S. I think that prio_low_codec must always be set to yes. Without it, the Box will ignore (IMHO) the Codec priority.
 
gerdshi schrieb:
Yes, i use g729 with my own Asterisk Server and it works.
Sorry, but I'm not sure here: do you mean that over SIPDiscount you _can_ make G.729 calls with Fritz? Or do you mean you can do G.729 calls to SIPDiscount, but using Asterisk instead?

Of course the Sound is not so good like whe i'm usind the others Codec but it works.
Indd, if you have a fast/good Internet connection, nothing beats the quality of G.711 (PCMA/PCMU). But for problematic lines, iLBC, G.729 and G.723 seem to be kings ;)
 
Hi!

So far i know (theory) the Asterisk Version of g729 is the same g729 like in the Box (if you have the luck to have one).
I have the german Version from the 7050 Box and there is no g729 codec binary inside and i can not Test if both implementation of g729 are really the same. :-(
Of course there are different g729 Version - 'a', 'b', 'ab' and without letter (i think).
What of them uses Sipdiscount and Asterisk and what is implemented in the Box - i don't know.

Greetings
 
gerdshi schrieb:
Hi!

So far i know (theory) the Asterisk Version of g729 is the same g729 like in the Box (if you have the luck to have one).
I have the german Version from the 7050 Box and there is no g729 codec binary inside and i can not Test if both implementation of g729 are really the same. :-(
Of course there are different g729 Version - 'a', 'b', 'ab' and without letter (i think).
What of them uses Sipdiscount and Asterisk and what is implemented in the Box - i don't know.

Greetings
I see, thanx for the info gershi!
 
I'm now off-topic here, so discussion is continued [thread=107206]here[/thread].
 
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.