ViaTalk and Trixbox

There is a couple of places that have good information on setting up Trixbox with ViaTalk, but I didn’t find all of it to be up to date. Even ViaTalk’s pages about Asterisk seems to be out of date. So, it took be about two weeks to fine tune my set up and get everything working well. I am using this for my home phone line and my wife likes to use it, a sure sign of success.

Here’s my setup:

  • Comcast HSI with a WRT54G with dd-wrt on it
  • D-Link DIR-655
  • One FreeBSD box running Bind, Postfix and Dovecot IMAP
  • One FreeBSD box running bind and ipcheck.py
  • OneTrixbox box
  • Cisco 7960 IP Phone
  • Unlocked PAP2
  • One WinXP Pro desktop (with multiple users)
  • G4 Powerbook

The FreeBSD box running ipcheck is really old and I plan on retiring is and run bind on the trixbox machine. So, I am running a mail server that relays through my provider’s SMTP server, internal DNS, and an IMAPS server. I also have a domain I registered and use DynDNS.org for DNS service. I should also mention that I am using QoS on the WRT54G giving the MAC address for the Trixbox server “Premium” service.

All users on the WinXP box and on the Powerbook are running softphones and I have an unlocked PAP2 that all register with the Trixbox server. That was the easy part and it all works well. I didn’t have to do anything special and there are plenty of online resources to help you get up to speed. However if you need help, I’ll gladly share my configs. Here’s the softphone I am using. I did register it and I got five licenses with my free registration; so far, no spam!

SjLabs

The skins are decent and the DTMF work well with the IVR’s I’ve had to call. I just need to push the keys slowly.

Now for the Trixbox/Asterisk settings!

Trunk


Maximum Channels = 4
Dial Rules: 1+NXXNXXXXXX
Trunk Name = ViaTalk
Peer Details:
allow=ulaw
authuser=1XXXXXXXXXX
canreinvite=yes
context=from-trunk
dtmf=auto
dtmfmode=inband
fromdomain=neptune.vtnoc.net
fromuser=1XXXXXXXXXX
host=neptune.vtnoc.net
insecure=very
nat=yes
qualify=yes
secret=XXXXXXXXX
type=peer
username=1XXXXXXXXXX

Registration String: 1XXXXXXXXXX:PASSWORD@neptune.vtnoc.net/1XXXXXXXXXX

Everything not mentioned is BLANK!
That was the hardest part. It works really good. I found conflicting information that said nat=(yes|no) and I have mine set to “yes” as you can see. In my case, if I set it to “no” I could not hear anything if I was making the incoming call, but outbound calls were fine.

The other part that eluded me was I could register and make outgoing calls, but incoming calls would fail. Since I was running this on my internal/private lan, I had to also make the following changes:

[root@voip2 asterisk]# cat /etc/asterisk/sip_nat.conf
externip=mydomain.net
localnet=192.168.0.99/255.255.255.0
[root@voip2 asterisk]#

Now, I see this in the logs and incoming and outgoing work perfectly:

Mar 2 08:00:40 DEBUG[2693] acl.c: ##### Testing 192.168.0.5 with 192.168.0.0
Mar 2 08:00:51 DEBUG[2693] acl.c: ##### Testing 64.118.82.164 with 192.168.0.0
Mar 2 08:00:51 DEBUG[2693] chan_sip.c: Target address 64.118.82.164 is not local, substituting externip

The PAP2 was easy enough to set up.Here is the links that got me 99% of the way there. They should be very helpful for you to set things up initially.

And here are some additional tips I have come up with: