Some time ago, I published tds2dbg – a small command line tool that converts Borland debug symbol files (*.tds) to Microsoft debug symbol files (*.dbg). See more on http://tds2dbg.sourceforge.net/
The tool was created while doing consultancy for one of my customers, but the customer was not too keen on maintaining it after I left. We therefore agreed to make it open source.
I’m about to get rid of my old ZyXEL router, so I decided to post my experiences and configurations before I forget all details.
I’ve had a ZyXEL P-2302HWL-P1 wireless router with VoIP support for a couple of years by now. I bought this router because it had the feature set I needed, and my ISP (Cybercity, now Telenor) had already provided me with a ZyXEL ADSL router (P-660R-D1) and I expected that one ZyXEL product would work smoothly with another ZyXEL product.
Sadly, getting VoIP to work against my telephony provide (Unotel) wasn’t all that easy. And in the process of getting it to work, I realized that the closed-source nature of the ZyNOS (ZyXEL OS) made it really difficult to understand what was going on. In comparison to what I’m used to with my Linux based devices, the level of logging provided by the P-2302 was insufficient, and there were few resources on the Internet where I could seek advice.
The best tools to analyze the VoIP problems actually turned out to be open source tools like Ekiga (started up with highest debugging level from a console) and a SIP command line tool (sipsak, I think – it’s a long time ago). So I pretty much gave up on the P-2302HWL and switched to getting Egika to work against Unotel. Once that worked, I had a good basis for getting the P-2302HWL to work against Unotel as well.
The ZyXEL configurations I succeeded with are as follows:
- DHCP enabled with a hard-coded IP address (10.0.0.3) for the ZyXEL P-2302HWL-P1 on the LAN.
- NAT set to full feature with the following address mappings:
- Type 1-1: Local Start IP 10.0.0.3, Local End IP N/A, Global Start IP 0.0.0.0, Global End IP N/A, Server Mapping Set N/A
- Type Server: Local Start IP N/A, Local End IP N/A, Global Start IP 0.0.0.0, Global End IP N/A, Server Mapping Set 2 (Consisting of a default server 10.0.0.3 and no other entries).
Essentially, the above disables any firewall-like behaviour of the ZyXEL P-660R-D1.
- WAN IP Address Asignment: Get automatically from ISP
- Firewall enabled
- SIP Account:
- Number: your Unotel user name (UNOxxxxx)
- SIP Local Port: 5004
- SIP Server Address: sip1.unotel.dk
- SIP Server Port: 5060
- REGISTER Server Address: sip1.unotel.dk
- REGISTER Server Port: 5060
- SIP Service Domain: sip.unotel.dk
- User name: your Unotel user name (UNOxxxxx)
- Password: your Unotel password
- URL Type: SIP
- Expiration duration: 3600
- Register Re-send timer: 100
- Session expires: 300
- Min-SE: 180
- RTP start port: 15000
- RTP end port: 20000
- Primary Compression Type: G.711A
- Seconday Compression Type: G.729
- Third Compression Type: G.711u
- STUN server: stun.ekiga.net
- STUN port: 3478
- Use NAT: No
- Outbound proxy: None
- NAT Keep Alive: Inactive
- MWI: Disabled
- Fax Option: G.711Fax Passthrough
- Caller Ringing: Disabled
- On Hold: Enable
In summary, I’d say that I’m a little disappointed by the ZyXEL devices:
- Investigation of problems is difficult due to insufficient logging.
- Difficult to find answers to problems on the Internet – would have been easier if the router was based on open source software.
- Wired and Wireless links unstable. I often lost my connection – both from Linux and Windows based devices. Reconnecting often helped
- The product is unstable. Sometimes, after loosing my internet connection, I had to restart the P-2302HWL to get connected again.
- I couldn’t get Windows Vista to connect wirelessly at all (although, after upgrading to a LinkSys WRT610N, I have realized that this could have been due to me getting confused by a way too complex interface to network management on the Vista partition of my Lenovo laptop – one of the places where KDE/Linux is far easier to work with)
- VoIP quality at the other end is poor. When listening in the B&O Beocom 4 attached to the P-2302HWL, the quality was good, but persons at the other end of the connection often complained about echos and poor sound quality. Could be a problem with Unotel.
- People trying to call me often complain that they were unable to get through. Could be a problem with Unotel. Also, I’ve never been able to reproduce this myself.
- When powering up the two ZyXEL devices concurrently, the P-2302HWL most often failed to perform a SIP registration with Unotel. Restarting the P-2302HWL always fixed the problem. Seems like a timing issue as the P-2302HWL now fails consistently (at power up – restart of the P-2302HWL still solves the problem) after I’ve inserted my new Linksys router between the two ZyXEL devices. As I had a workaround (restart of the P-2302HWL), I never got around to analyzing the traffic between the two ZyXEL devices to understand the problem further.
- Failed to get DTMF tones and “Show caller number” to work.
The above exemplifies a conclusion that I’ve drawn from similar experiences: Products based on proprietary closed-source software are more likely to disappoint their customers because: 1) It is really difficult to provide a sufficient level of user friendliness to allow for smooth installation, configuration, and problem analysis, and 2) such products tend to have small or non-existing communities of users that can help and guide each other.