Thanks for the response. I did finally get this working.
Cisco 7960/7961/7940 have a working NAT implementation in their SIP firmware so they can talk directly to Voipo over my NAT. However, the 7970 has a totally screwed up NAT implementation so I had to put Asterisk in between to handle the NAT correctly. I also configured the Cisco 7970 extension (Im running FreePBX/Asterisk in Device mode, not User mode) to check a virtual mailbox setup on Asterisk, and then I told Asterisk to allow the unsolicited SIP MWI packets that Voipo sends out to all its registered SIP connections (the Grandstream device and the Asterisk server). Voipo's server does not support MWI Subscription (there's an RFC for this) so you have to tell Asterisk to allow the unsolicited MWI SIP NOTIFY packets. You also have to tell Asterisk to relax its SIP packet checking constraints since the SIP NOTIFY packet coming from Voipo is not valid and Asterisk simply drops it by default.
I used Asterisk 11.x (latest), running FreePBX (latest at time of writing) and a Cisco 7970 with 8.5.4 firmware (and I tried a *lot* of different firmwares). My firewall in between Asterisk and the internet is pfSense 2.x. Nothing special configured on the firewall (no SIP ALG, no siproxyd etc), just open UDP 5060 to forward to Asterisk server, and UDP RTP ports (I opened a range of 20) to also forward to Asterisk.
Set your trunk register string in Asterisk, the extension mailbox needs to be altered, and then tell Asterisk to allow unsolicited NOTIFY SIP packets and relax its SIP packet checking, and finally tell Asterisk how to link the unsolicited MWI NOTIFY packets to the virtual mailbox that the extension is listening on.
One other aspect - I configured my 7970 with 2 lines (I have two separate Voipo accounts). In order to get the unsolicited MWI notifications to work for two separate lines, you have to register the line 2 trunk within Asterisk to talk to a different host/port combination at Voipo. You can vary either the host and/or port. Fortunately Voipo accepts SIP registrations on UDP port 5061. This is vital since Asterisk uses the remote host/port combination to key off the unsolicited MWI NOTIFY packets (not the internal contents of the SIP packet - there's already a feature request logged to improve this in Asterisk). Once you do that, you can get the MWI light on the 7970 to light up when you have mail in either mailbox (given a suitable phone SEP<MAC Addr>.xml config). I also had to open up UDP port 5061 on my firewall to account for the second line.
PM me for config details if anyone wants to know more - I spent a heck of a lot of time on getting this working but now it works great and the 7970 is a great upgrade from the 7961 and 7960 we were using before.
Bookmarks