So this is a bit of a "how to" (i did get it to work...yay!) and a "help me" (see the bottom for the help me)
I have a Cisco 7940G IP phone. Love it, its great...all good. I'm not sure if this is the only let alone the best way to do this, but this is how i got mine to work with freephoneline.ca
1. Install atftpd on ubuntu
sudo apt-get install atftpd
2. place the config files for the Cisco 7940G in /srv/tftp/ on the pc running tftp
(this is whats in my /srv/tftp/ directory)
4 -rw-r--r-- 1 root root 65 2011-02-07 21:01 dialplan.xml
4 -rw-r--r-- 1 root root 13 2011-02-07 21:06 OS79XX.txt
4 -rw-r--r-- 1 root root 12 2011-02-07 21:07 RINGLIST.DAT
4 -rw-r--r-- 1 root root 708 2011-02-07 21:04 SIP000CCE3523A9.cnf ** this one is important, its the settings for the specific phone
4 -rw-r--r-- 1 root root 884 2011-02-07 20:57 SIPDefault.cnf
4 -rw-r--r-- 1 root root 455 2011-02-07 21:15 xmlDefault.CNF.XML
you can download a zip file with my config files in it here http://mouseofdoom.com/sip/config.zip . Note you'll have to add your SIP user/password to the SIP000CCE3523A9.cnf file (i removed mine...duh) and also rename this file to SIP<<MAC_ADDRESS_OF_YOUR_PHONE>>.cnf or it wont apply to that device as it boots.
3. Jumped onto the phone, and in the "Network configuration" menu i set the "TFTP server" to the IP of the machine running TFTP.
*** if at this point you're not sure what tftp is (google define it like i did...and) you're like me before step. Its essentially FTP without authentication, you can run IP black lists to offer some protection, but its intended to be run on a trusted network so...yep ***
4. Open a bunch of ports that the phone requires (so its also a good idea to have your phone on a static IP, not DHCP, again with the "network configuration" menu):
1 SIPPROXY UDP 5060
2 SIPSIG UDP 5004
3 VoiceCom UDP 8000 ~ 8019
4 STUN UDP 10000
5 STUN_TCP TCP/UDP 3478
5. Restart the router
6. restart the phone
7. make phone calls
It sounds pretty simple, but it took me 2 hrs to figure it out the first time. Only issue i have now, and im not sure if its free phone line or a setup issue...i cant get inbound calls, but the phone work perfectly for outbound calls. Some (like my father) would call this ideal...however its not what i wanted. So i have a support ticket open with free phone line right now, if it turns out its their end i'll update you...if not...ill also update you