Click Here To Visit SIP Broker  

Go Back   Voxalot / SIP Broker Support Forums > ENUM.164 > Support Support Support forum for the ENUM directory

Thread Tools Display Modes
Unread 03-14-2008, 09:08 AM   #1
Senior Member
Join Date: Feb 2006
Posts: 176
Thanks: 0
Thanked 14 Times in 10 Posts
evilbunny is on a distinguished road
Default Updates to service

Of late I've been making some fairly wide ranging changes to and this has caused some code to break and I'm sorry for any inconvience this may have caused anyone.

That said the changes I've been making are supposed to make things better in the long term, I've been making changes to the website to greatly improve distribution of the zone data.

In the begining we were using zone transfers, but this is inefficient and after a while starts churning through CPU and bandwidth.

Then we switched to bind style zone files on HDD and distributing this via rsync over SSL, this too had it's issues with getting the file to the hdd in the first place and/or getting daemons to re-read the files after changes occur and after all that manipulating the flat files on the hdd in an efficient manner.

MySQL replication, and any other SQL/LDAP type backends incur a fair bit of performance penalties, like most other things when you start dealing with really really big zone files, it's not as big as most/some of the ccTLDs, or the gTLDs, but we're getting close to 19M of data in bind style zone files, because these were pre-loaded into memory the DNS servers run really quickly, but take a big hit when the zone file has to be re-read.

So I started hacking some DNS frame works to try and make somethig that suits our needs, I was considering doing our own hash tables, but decided to use memcached once I had a basic but working daemon.

However memcache isn't really designed for this purpose, and it lacks functionality to save to the hdd and to read data from the hdd into memory so I went looking at Tugela cache which was a forked version of memcache however this isn't actively developed so I was wary of going down this path.

So anyways, Tugela actually ripped out a bunch of code and added BDB code to store things that wouldn't all fit in memory to HDD and so I looked futher into this option, and PHP on Ubuntu/Debian was packaged with native support for DB4 support.

The funny thing about utilising a DB4 file, it actually sped up the rate at which information could be returned through the DNS frame work, at a best guess the latency was due to TCP overhead, though I've no idea how to prove that, and I'm guessing the DB4 file is sitting in RAM cache as well, so that would speed things up as well, the 2 storage methods were very similar, so it was pretty trivial to switch from using memcached to DB4.

The only down side is PHP code running on the website can't easily access manipulate data in the DB4 file and be secure on the server, but I got round this by sending update notification from the website in a UDP notify packet and then the DNS server runs update code via an SSL connection grabbing a list of incremental updates and processing them.

This is where website changes come into play, numerous sections of the website had to be altered to capture and store all adds, updates and deletes over a 48 hour period, anything out of sync more then that can just do a complete copy of the data, I haven't really worked that side of things out, but once I'm sure everything implemented so far is working properly I'll extend things further.

One of the features I've wanted for a while it to be able to cope with virtually any TLD or ccTLD. We currently have 5 domains, 3 ccTLDs and 2 gTLDs, which we're planning to setup in a fairly redundent manner once everything else gets sorted out.

The domains we have are:


The system can cope with virtually with any 2nd or 3rd level domain with 'e164' in it, including, so if anyone has an dellegation or looking to get it delegated for your region/country and you have no idea what to do with it, you can soon get the NS records set to our name servers and it will just work.

We are more then happy to discuss anything from methods of authenticating or importing numbers to what ever takes your fancy, our infrastructure won't cost you or your country a cent to make use of, and we have a proven system that just works and soon it will even be better!

Currently have the software running on a single server/IP for testing purposes, for those interested/wanting to play and try to break the code checking for security issues, please feel free, I think/hope I did things as securely/well as possible, but I tend to get out by one errors

# dig +short any @
200 10 "u" "E2U+SIP" "!^\\+1800(.*)$!sip:1800\\!" .
200 10 "u" "E2U+SIP" "!^\\+1800(.*)$!sip:1641641800\\1@sip.tollfree gate!" .

Both UDP and TCP seem to be working correctly:

# dig +short any @ +tcp
200 10 "u" "E2U+SIP" "!^\\+1800(.*)$!sip:1800\\!" .
200 10 "u" "E2U+SIP" "!^\\+1800(.*)$!sip:1641641800\\1@sip.tollfree gate!" .

Currently the code doesn't compress hostnames in queries/responses by using labels etc, and this does cause larger then normal DNS replies, and I'm really tempted to allow larger then 512 byte payloads as most DNS relays I've tested seem to handle this ok, although there is bound to be firewalls setup specifically to block this.

Or maybe people could add/remove their DNS server IPs from a whitelist of IPs that will accept larger then normal DNS packets, although DNSSec kinda does this already to get round needing to fall back to TCP every time a query occurs.
evilbunny is offline   Reply With Quote

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Free DID Numbers, Free Voip Calls, & more Voip Info amroe Voxalot General 54 01-13-2014 09:11 AM
Voxalot and Sipura/ATA Tutorial: A Comprehensive Walkthrough ctylor Voxalot General 5 04-28-2010 12:52 AM
VoIP situation in Japan - how to improve with ENUM and peering. v164 Voxalot General 2 02-02-2008 03:05 PM ITSP API evilbunny Support 0 07-20-2006 02:04 AM
Newbie - but please be nice Mallycat Voxalot Support 21 04-15-2006 07:50 AM

All times are GMT. The time now is 02:03 PM.

Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.