Subject: Re: dialpad and ipnat
To: None <zach@xdsl014.serv.net>
From: James Wetterau <jwjr@panix.com>
List: netbsd-help
Date: 06/18/2000 15:11:05
I have the following rules in place and it allows dialpad to work:

#
# To make dialpad work, map certain key UPD and TCP ports:
#
rdr ep0 0/0 port 51200 -> 10.0.0.7 port 51200 udp
rdr ep0 0/0 port 51201 -> 10.0.0.7 port 51201 udp
rdr ep0 0/0 port 51210 -> 10.0.0.7 port 51210 tcp

You'll note that I've hardcoded 10.0.0.7 to be the machine to receive
the remapped ports.   Why?

Dialpad uses a concept that Linux and NT apparently support, called a
"trigger".  The idea is that an outgoing TCP connection on a
particular port (in this case, 7175) should be understood to "trigger"
mapping of particular incoming TCP and UDP connections from the
destination host of the 7175 packets on different port numbers (in
this case tcp on 51210 and udp on 51200 and 51201) to the host that
made the outbound connection.  AFAICT, NetBSD does not support this
type of dynamic rdr rule change.

I also had to edit my ipf.conf to allow these inbound connections to
my network.  I separately listed each of the various IP addresses
enumerated on the Dialpad web site.  These rules look like this:

pass in quick on ep0 proto udp from 4.2.40.0/24 to any port = 51200 
pass in quick on ep0 proto udp from 4.2.40.0/24 to any port = 51201 
pass in quick on ep0 proto tcp from 4.2.40.0/24 to any port = 51210
pass in quick on ep0 proto udp from 4.2.42.0/24 to any port = 51200 
pass in quick on ep0 proto udp from 4.2.42.0/24 to any port = 51201 
pass in quick on ep0 proto tcp from 4.2.42.0/24 to any port = 51210

These handle the dialpad servers on 4.2.40.0/24 and 4.2.42.0/24.
There are several other dialpad servers.  You can find the complete
list on the Dialpad website.

Good luck!
James