Brian West wrote:

Also I must point out that your NAPTR record is a bit wrong:

wrong:(bind9)
"!\\\\+(.*)!iax2:foofone/\\\\1!"

Read again, Brian.
The text clearly states that the shell eats up one of the slashes, so we have to
double-quote.

The only part I would add is the advice to make sure that you have bind 9 on both
master and slave servers, otherwise you propably will file bug reports on the
wrong piece of software...

/Olle ;-)

On Sun, 30 Nov 2003, William Waites wrote:



Ok, so you've read the Wiki and gotten call routing using ENUM to work
(http://www.voip-info.org/tiki-index.php?page=Asterisk%20E164%20Call%20Routing)
with your own ENUM-alike domain, e164.example.com.

But how do you populate it with data? You can do it manually, but that gets
very tedious very quickly. Or you can use the nifty DDNS updating program
that comes with bind9.

The first thing is to set configure your e164.example.com to allow ddns updates.
A very good document describing how to do this (just ignore the DHCP stuff) is
http://ops.ietf.org/dns/dynupd/secure-ddns-howto.html

In a nutshell (I used TSIG keys for simplicity, the procedure is analogous with
SIG(0) asymettric keys) this is how you do it.

On the client computer that will be allowed to update the database do:

% dnssec-keygen -a HMAC-MD5 -b 512 -n HOST client.example.com
Kclient.example.com.+157+13404

This creates the shared key, which will live in a file called
Kclient.example.com.+157+13404.key and .private

% cat Kclient.example.com.+157+13404.private
Private-key-format: v1.2
Algorithm: 157 (HMAC_MD5)
Key: 
I9FvX+F3fcSVLkzlPSVR9THww+oN6o0mj/JgKTu9auzMx0IM7lmBd9RIfk2cbHvoV9drGQVsk+svkrf+AeN0JQ==

Now on the server, let that key update e164.example.com. To do this, change named.conf
to have

key "client.example.com." {
        algorithm HMAC-MD5;
        secret 
"I9FvX+F3fcSVLkzlPSVR9THww+oN6o0mj/JgKTu9auzMx0IM7lmBd9RIfk2cbHvoV9drGQVsk+svkrf+AeN0JQ==";
};

zone "e164.example.com" {
        type master;
        file "dynamic/e164.example.com";
        update-policy {
                grant client.example.com. subdomain e164.example.com. ANY;
        };
};

and restart the nameserver.

That's it for the configuration.

Now, say you have just found a very good IAX2 peer, FooFone that offers /wonderful/ 
rates
to the ficticious country code 666. You can use a script like this, to tell the
asterisk application EnumLookup (see the howto above) to use this peer for that 
country:

#!/bin/sh

TTL=3600
SERVER=nameserver.example.com
SERVER=sparx
ZONE=e164.example.com
KEYFILE=Kclient.example.com.+157+13404.key

nsupdate -v -k ${KEYFILE} << EOF
server ${SERVER}
zone ${ZONE}
update delete *.6.6.6.e164.example.com.
update add *.6.6.6.e164.example.com. ${TTL} NAPTR 100 100 "u" "E2U+IAX2" 
"!\\\\+(.*)!iax2:foofone/\\\\1!" .
update add *.6.6.6.e164.example.com. ${TTL} TXT "greate $0.00/minute rate from 
FooFone!"
show
send
EOF

the first update line deletes any existing records for +666, the second adds the NAPTR
record for ENUM call routing, and the third adds a nice informational message in the 
DNS
which is useful if you want a quick way to find out how much a call will be billed at.

Note the escaped-escaped-escape characters. The first is because the shell will try to
interpret \, so what actually gets sent to nsupdate is \\ which is correct for what 
BIND
wants.

And the second half of the puzzle? Figuring out how to know what to put in the DNS,
calculating the best rates...

Hope someone finds this useful,
-w
--
/~\  The ASCII Ribbon Campaign
\ /    No HTML/RTF in email
X     No Word docs in email
/ \  Respect for open standards
_______________________________________________
Asterisk-Users mailing list
[EMAIL PROTECTED]
http://lists.digium.com/mailman/listinfo/asterisk-users


_______________________________________________ Asterisk-Users mailing list [EMAIL PROTECTED] http://lists.digium.com/mailman/listinfo/asterisk-users



--
*** Olle E. Johansson, [EMAIL PROTECTED]

Mobile +46 70 593 68 51, Edvina AB, http://www.edvina.net
Runbovägen 10, 192 48 Sollentuna, Sweden
Phone: +46 8 594 78 810, Fax: +46 8 594 78 820


_______________________________________________ Asterisk-Users mailing list [EMAIL PROTECTED] http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to